Theory and Methodology
The cutting stock problem with mixed objectives: Two heuristics based on dynamic programming

https://doi.org/10.1016/S0377-2217(98)00163-5Get rights and content

Abstract

The purpose of this paper is to provide efficient methods for solving a large spectrum of industrial cutting stock problems. We propose two methods. Both are based on dynamic programming. In both methods, we reduce the computation burden by keeping, at each stage of the dynamic programming process, only the states which seem to be the most promising in terms of cost. One of the methods favours the computation time at the expense of the quality of the solution; this method is used in the sale department, where the goal is to propose a “good” solution in less than one minute. The second method favours the quality of the solution. Industrial applications are proposed.

Introduction

Cutting problems are NP-hard (see 5, 7, 8). Thus, only small size problems can be solved optimally. These problems are solved using either integer linear programming (see 6, 9) or dynamic programming, or branch-and-bound, depending on the type of problem.

But most of the cutting problems use heuristic algorithms. The next fit (NF) heuristic (see 1, 2) consists in selecting the stored bars in a random order and of assigning the ordered bars also in a random order. If the next ordered bar cannot be assigned to the stored bar under consideration, a new ordered bar is selected and the unused part of the previous ordered bar is considered as scrap. The first fit (FF) heuristic (see 1, 2, 3) is similar to NF, except that the unused part of a stored bar is considered as a stored bar and can be used later. The first fit decreasing (FFD) algorithm (see 1, 2) is the heuristic NF in which the ordered bars are selected in the decreasing order of their length. Numerous other heuristic algorithms are available as, for instance, best fit (BF) (see 1, 2, 3), worst fit (WF) (see 1, 2, 3), almost worst fit (AWF) (see 1, 2) to quote only a few. All these approaches are similar, except in the choice of the stored and ordered bars, and in the way the unused parts of the stored bars are processed.

The heuristic algorithms presented hereafter are based on a dynamic programming approach in which, at each step of the process, only some of the states are kept for further computations. Each of these states is supposed to be among the most promising (in terms of cost). The smaller the number of states kept for further consideration, the faster the computation, but the more likely is the solution obtained far from the optimal one.

Two algorithms are proposed. The first one, called Heuristic Constraining the Utilisation of the Stored Bars (HCUS) aims at reducing as much as possible the computation time while reaching a reasonable cost. It is used by the salesmen to respond in “real time” to the customers' demands. The second one, called Heuristic Constraining the Utilisation of Stored and Ordered bars (HCUSO) aims at reaching a near-optimal solution: reducing the computation burden is no more the main goal in this case, since the computation is performed during the night to prepare the production of the next day.

In Section 2, we present the dynamic programming formulation and introduce the notations. Section 3is devoted to HCUS and Section 4to HCUSO. Section 5proposes comparative results extracted from an industrial application. Section 6is the conclusion.

Section snippets

Problem formulation and dynamic programming approach

The problem at hand consists in cutting bars to smaller bars in order to meet the customers' requirements. We denote by stored bars (SBs for short) the bars kept in stock from which the required bars are cut, and by ordered bars (OBs for short) the bars required by the customers.

Let L1,L2,…,LM be the lengths of the SBs and Ni the number of available SBs of length Li (i=1,2,…,M). We denote by S the M-components row vector whose ith component is Ni.

Similarly, li and ni are respectively the length

HCUS formulation

We denote by (p, x, S, O) the set of cutting activities which consists in cutting ordered bars belonging to the set of bars represented by vector O using all the bars of a subset of x bars of S grouped in p faggots. Note that a necessary (but not sufficient) condition to have a solution to a cutting activity belonging to this set is that p be greater than or equal to the number of different lengths of bars in the subset of x bars under consideration, and lower than or equal to x. If a cutting

HCUSO formulation

We denote by (p, x, y, S, O) the set of cutting activities which consist in cutting y ordered bars belonging to the set of ordered bars represented by O out of x stored bars belonging to S grouped in p faggots. Note that, in this problem, all the y OBs represented must be cut out of all the x SBs grouped into p faggots. The difference between a cutting activity belonging to (p, x, S, O) and a cutting activity belonging to (p, x, y, S, O) introduced in Section 3.1is that the number of OBs to be cut is

Industrial application

Algorithms HCUS and HCUSO have been used for about three years in a partner company which belongs to a French subcontractor of a Belgian steel consortium. In Table 1, we present 24 examples which are considered as the most difficult ones by our partner.

Column “No. SB” gives the number of stored bars, while column “No. OB” displays the number of ordered bars which have to be cut. All the costs included in this table are expressed in terms of their equivalent working times expressed in minutes.

Conclusions

When a dynamic programming approach leads to an excessive computation burden, it is desirable to remove some states at each stage of the process and to pursue the computation with the remaining states. The set of remaining states is supposed to contain at least a state belonging to the critical path. The process used to define this set depends on the problem at hand. For instance, it is often possible to simulate the system starting from each of the state to evaluate their potentialities, and

For further reading

[4]

Acknowledgements

The authors wish to thank the reviewers for their valuable comments. The help provided by one of the reviewers led to fundamental changes in the notations and, consequently, in the presentation of the paper.

References (9)

There are more references available in the full text version of this article.

Cited by (0)

View full text