6 th ESICUP Meeting Controlling Open Stacks and Flow Time in a Cutting Process C. Arbib, F. Marinelli and F. Pezzella marinelli@diiga.univpm.it Dip. Ingegneria Informatica, Gestionale e dell Automazione Università Politecnica delle Marche Valencia, Spain, March 25 27, 2009 EU Cooperative esearch Project SCOOP (contract n. 02998), coordinated by Università Politecnica delle Marche, Ancona, Italy
Outline Cutting plans, open stacks and flow time of part-types Cutting stock problem with bounded open stacks (LOSP) Flow time conditions A heuristic algorithm for controlling open stacks and flow time Some computational results
The D Cutting Stock Problem CSP: Small objects (parts) must be cut from large objects (stocks) in order to fulfill the requirement of parts and minimize the total trim loss. Input data w = the length of a single stock (a sufficient number of stocks is available) B = the set of part-types forming the production bill ( B = m). (w i, d i ) = the length and the demand of the i-th part-type, i B Output A set K of p distinct cutting patterns a,, a p and relevant activation levels x,, x p The cutting pattern a j = (a j,, a mj ) describes a way to cut parts out of a stock; a ij is the number of parts of type i yielded from a single stock by applying the cutting pattern a j. The activation level x j is the number of applications of the cutting pattern a j
Cutting Plans The cutting machine produces parts from stocks by sequentially applying cutting patterns cutting machine 2 2 22 Piles of finished parts Common practice Cutting Plan: order in which cutting patterns are applied Each cutting pattern is applied once, up to its activation level (cutting pattern changeover requires a time consuming machine set-up) Parts of the same type are in general stacked together. A new stack is open when a new part-type starts processing and is closed when the part-type is consolidated (homogeneous stacks help to minimize handling, breakage, and facilitate identification of part-types)
Open stacks as performance indicator The number of open stacks between cutting pattern i and cutting pattern i + ( i p ) measures the work-in-process MOSP: Minimize the as technological constraint sum of open stacks: is related to the work-in-process and to the flow time of part-types the maximum number of open stacks: indicates the minimum number of required out-buffers Because the cutting machine is equipped with a limited number s of out-buffers, at most s open stacks can be maintained throughout the cutting process LOSP: Minimize the trim loss under a given number s of open stacks
Heuristics drawbacks drawbacks First-cut-then-sequence Algorithms for LOSP CSP and MOSP are solved sequentially (M.G. de la Banda and P.J. Stukey, JoC 2007) The value of a MOSP optimal solution strongly depends from the set of cutting patterns and there are many different CSP optimal set of cutting patterns. Solutions can be infeasible for LOSP and it s not trivial how to make them feasible; Sequential approach A LOSP solution is constructed sequentially, pattern by pattern, controlling and limiting the number of open stacks (G. Belov and G. Scheithauer, JoC 2007) Local search Cutting patterns are built without any consideration on the part-type work-in-process The output sequence of part-type cannot be directly controlled An initial LOSP solution is constructed heuristically and then a local search is performed on the input sequence of part-types (F. Alvelos et al., 2008). Exact Algorithms are not present in the literature
LOSP and flow time of part-types Both performance indicators (trim loss and flow time) and technological constraints (bounded out-buffers) are important issues in a real manufacturing system First-sequence-then-cut approach. An output sequence of part-types is defined, and then 2. a particular cutting problem LOSP( ) is solved. A solution of LOSP( ) is a cutting plan K() that a) produce the sequence with at most s open stacks b) minimize trim loss and limit the flow time of part-types. Let CSP(s) be the cutting stock problem allowing at most s distinct part-type per pattern z z CSP ( s) LOSP LOSP ( ) z by column generation by local search on sequences by column generation and rounding
Step 2: the cutting problem LOSP() For any output sequence of part-types, the set K() of patterns can be partitioned into stages, the i-th stage consisting of the patterns needed to complete the i-th part-type in the sequence. Example s = Cutting patterns in K( ) Stage Stage 2 Stage Output sequence 2 4 5 6 7 8 2 2 4 2 2 4 2 2 2 B ={,,6} B 2 ={2,,5} B ={,4,5} Necessary feasibility condition K() is a feasible solution of LOSP() if no more than s distinct part-types are processed by each pattern and by patterns belonging to the same stage.
LOSP() and flow time of part-types Flow time condition Let (i) be the position of part-type i in the sequence. Only part-types in B t ={i B t (i) t + s } can be produced at stage t, t =,, m s + Example s = Cutting patterns in K( ) Stage Stage 2 Stage Output sequence 2 4 5 6 7 8 2 2 4 2 2 2 2 B ={, 2,} B 2 ={2,,4} B ={,4,5} Each part-type can be produced at most at s consecutive stages
A heuristic for LOSP() Master Problem min ms t kk t x k variable x k indicates the activation level of cutting pattern k ( i) tmax{, ( i) s} kk t a ik x k d i i B The model is solved by column generation x k 0 k K t, t,..., m s The pricing problem is an unbounded integer knapsack, i B i Pricing problem for stage t t ak There is a distinct pricing for each stage but each single pricing is easier because involves few (i.e., s) part-types max ib t a i i ib t w a i i w, a i 0, integer variable a i indicates the number of parts of types i in the cutting pattern
Step : a starting output sequence CSP(s) is a relaxation of LOSP the optimal set K of cutting patterns for the linear relaxation of CSP(s) gives CSP ( s) information on how part-types should be sequenced in order to obtain good LOSP solution satisfying the flow time condition: Part-types in the same pattern should be close to each other. K CSP () 2 4 5 6 2 4 5 6 the linear arrangement of nodes costs 4 4 2 6 5 the linear arrangement of nodes costs 6 4 2 6 5 A good linear arrangement of a graph where nodes are part-types and there is a clique for each cutting pattern of provides a good starting sequence K CSP ( s)
A double local search for LOSP Generate Solve LOSP() local search update the current best solution local search restart output the best solution found. z LOSP z LOSP 2. generate an output sequence of part-types; z =. repeat improved = false = best sequence in the neighborhood N () if z LOSP z LOSP z; ( ) z then 2 = best sequence in the neighborhood N 2 ( ) = 2 ; end if until improved z improved = true z LOSP 4. if then end if 5. goto 2. z z z LOSP ) LOSP ( 2 K LOSP ( ) = rounding( )
Structure of neighborhoods CSP is a relaxation of LOSP( ) part-types in a promising cutting pattern a * for the linear relaxation of CSP should be close to each other in the output sequence Neighborhood N ( ): put part-types of a * consecutively in the sequence and shift the subsequence in all the positions,, m a * + Neighborhood N 2 ( ): 2-swap between part-types in B and those in B, with a * B B Example: = 2 7 5 4 6 and a* = {2 4} N ( ) = 2 4 7 5 6 7 2 4 5 6 7 5 6 2 4 = 7 5 2 4 6 N 2 ( ) = with B a * 2 5 7 4 6 7 2 5 4 6 5 2 7 4 6
Computational results Sample features 2 groups of 20 random instances from G. Belov and G. Scheithauer, JoC 2007 s = 2,,4,6,0 m w w i d i group 20 0000 [00,7000] [,00] group 2 50 0000 [00,7000] [,00] Algorithm configuration Full exploration of 2-swap neighborhood, i.e., B B in N 2 ( ) 20 local search restart 600 seconds of allowed CPU time
Computational results s CSP gap (%) CSP (s ) gap (%) fist-sequence-than-cut vs. sequential #Cols CPU time (sec.) CPU Best Int (sec.) mean mean mean (max) mean mean (# limit ) mean flow time per part-type (#patterns) mean (max) group 2 2.29 0.90 0.9 ( 0.66 ) 62.4 6.6 5.4.87 (.5 ) group 0.9 0.7-0.4 ( -0.06 ) 455.0 22. 22.8 2.46 ( 4.85 ) group 4 0.07 0.07-0.24 ( -. ) 609.0 72.6 29.5.02 ( 6.5 ) group 6 0.00 0.00-0.9 ( -.80 ).8.7.6.7 ( 8.00 ) group 0 0.00 0.00-0.0 ( -0.69 ) 26. 0.2 0.0 4.96 (.0 ) group 2 2 2.65.09 0.5 ( -.4 ) 949.8 664.7 782..90 (.70 ) group 2 0.98 0.97 0. ( -.2 ) 565.8 0.8 ( 4 ) 274.8 2.6 ( 5.05 ) group 2 4 0.6 0.6 0.07 ( -0.48 ) 785.4 2948.6 ( ) 29.2 2.92 ( 6.50 ) group 2 6 0.0 0.0-0.04 ( -.6 ) 9760. 288. ( ) 424.4.92 ( 8.85 ) group 2 0 0.08 0.08-0.05 ( -0. ) 884.9 2597.6 ( ) 64.0 5.66 ( 4.5 ) CSP gap z z LOSP zcsp CSP 00 CSP(s) gap z LOSP z z CSP ( s) CSP ( s) 00
6 th ESICUP Meeting Controlling Open Stacks and Flow Time in a Cutting Process C. Arbib, F. Marinelli and F. Pezzella marinelli@diiga.univpm.it Dip. Ingegneria Informatica, Gestionale e dell Automazione Università Politecnica delle Marche Valencia, Spain, March 25 27, 2009 EU Cooperative esearch Project SCOOP (contract n. 02998), coordinated by Università Politecnica delle Marche, Ancona, Italy