1 / 30

On-line Bin Covering Algorithms

On-line Bin Covering Algorithms. Páll Jensson, Univ. of Iceland

tcrabtree
Download Presentation

On-line Bin Covering Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. On-line Bin Covering Algorithms Páll Jensson, Univ. of Iceland In food processing items of irregular sizes are frequently collected and packed into portions of a specified minimal size, i.e. a target weight. The purpose of this study is to develop algorithms to assign the items, usually arriving fast on a conveyor belt, to bins, in order to minimize the overweight. Bin packing and dual bin packing, also called bin covering, are known in the literature as NP-hard problems. Our problem is on-line as the items must be processed in the order they arrive. We discuss several different approaches, among which are knapsack optimization and heuristic methods, and present a new algorithm which has been patented and proved itself in food processing equipment sold worldwide. Numerical results will be given.

  2. Agenda • Problem background and definition • Literature, related problems • The new algorithm (LVP) • Numerical results • Other approaches (BFD, MKP, GA) • Algorithm Comparison • Future research

  3. Portioning Equipment in Food Processing • Serial, conveyor (Marel), 1 known, M bins, empirical item weight distribution known • Flow scale moved away from discharging => N items known, M bins • Circular discharging, N known, 1 bin (SKP) • Parallel discharging, N known, 1 bin (SKP)

  4. Problem Definition for (off-line) Bin Covering For a given list L = (a1, ... an) of items, with aj(0,1], j  {1,...n}, the goal is to pack the items into a maximum number of bins of size 1, such that each bin is at least filled to 1. Our Problem is on-line and k-bounded-space (only k partially filled bins active at any time)

  5. Related Problems Dual Bin Packing (off-line): Not necessary to pack all items, fixed number of bins, the goal is to minimize number of items used. Cutting Stock (trim loss) Container (Vehicle, Pallet) Loading Knapsack Problems

  6. Literature until 1980 • Kantorovich 1939: First Bin P. (Prod. Plan) • Brooks 1940: 2-dim. Cutting Stock • Elion & Christophides 1971: Loading Probl. • Johnson 1974: “Bin Packing”, NF, BFD,... • Litton 1977: Carpet Cutting in UK • Coffman et al. 1978: Min Makespan • Coffman et al. 1980: NF as Markov chain

  7. Literature after 1980 • Hoffman 1980: FOLD pairing method • Lee & Lee 1985: Harmonic-algorithms • Assmann et al. 1984: Dual Bin Packing • Csirik & Totik 1988: Worst Case Bounds • Martello & Toth 1990: MTP B&B method • MÞJ, PJ & TPR 1996: GA for Bin Covering • Coffman, Garey & Johnson 1997: Survey

  8. Problem Variants/Categories • Bin Packing – Cutting Stock • Bin Covering – Dual Bin Packing • K-bounded-space – Unbounded • On-line (dynamic) – Off-line • No reject – Reject allowed • N = 1 known items – N>>1 known (distribution known – not known) • Bounds on number and/or type of items

  9. LVP Example • One: P(70) • Two: P(20)*P(50) + P(30)*P(40) + • P(40)*P(30) + P(50)*P(20) • Three: P(20)*P(20)*P(30)*3 • P(“Good fill”) = Sum(One + Two + Three) • Note: One bin only! • Unimodal, symmetric: Best prospect if shortage • ~ n*mean, n = 1, 2, 3, ....

  10. Prospect Function Pf, one bin • w =shortage, z =zone, f(w) = pmf (fmin,fmax) • Pf(w,z) = P(Bin w fills with overfill < z) • Pf(w,z) = 0 if w < – z, = 1 if –z < w < 0, • = i Pf(w+i) if 0 < w, i = 0...z • Pf(w) = 0 if w < 0, = 1 if w = 0, • = c f(c)(w) if w > 0, c = fmin...fmax • (pmf convoluted with it self c times)

  11. Recursive Convolution • Pf(w) = 0 if w < 0, =1 if w = 0, • = i f(i)Pf(w-i) if w > 0, • i = fmin...min(w,fmax) • Prospect function is true probability for one bin and for the Next Fit algorithm • Examples: N(100,15) and U(75,125)

  12. Prospect Function, many bins • M bins, w = (w1,...,wM), next item weight=a • Max i Pf(wi – xia,z) • i xi = 1, xi binary • PR: max Pf(wi – xia,z) / Pf(wi,z) => bin i • Max i Pf(wi – xia,z) => • PD: max Pf(wi – xia,z) – Pf(wi,z) => bin i

  13. LVP Prospect Algorithm • Test fit next item into all active bins • Assign item to bin with max PR (or PD), i.e. maximal prospect improvement • If bin fills then close it and activate new • Check “age” of partially filled bins • Update empirical distribution as needed • Behaviour: “Surfing the Prospect peaks”!

  14. Best Fit Decreasing with Backtracking • Test fit first item into each bin, calculate shortages, and then for each test fit: • Sort next N items descending, largest first • Sort bins ascending, least shortage first • Put next item into first bin into which it fits • If item is too big for all, try next item etc • If all items are too big, backtrack, i.e. find smaller next last item.

  15. Generating Imaginary Items • Used when N=1 is known or N is small and distribution is known • Generate N2 dummy items and add to list • Three generation methods: • 1. Retrospective (use the last N2 items) • 2. Simulation (from the empirical distribution) • 3. Scenario (construct N2 items such that their histogram ~ empirical distribution)

  16. Knapsack Models for Bin Covering • SKP: min z = kakxk (min overweight) kakxk >= W (target weight) xk = 0/1 MKP: min z = kakixik kakxik >=Wii (fill all active bins) ixik <=1k (use items <= once) xik = 0/1 (assign item k to bin i)

  17. Knapsack solved for N>1 known • SKP for circular/parallel discharge (M=1) • MKP/B&B for N>1 and M>1 (if flow scale is moved away): • 1. Upper Bound: Fill one bin at a time with SKP (start with least shortage) • 2. Lower Bound: Same as 1. but using items more than once => infeasibility (Also: Fill one sum-of-all-bin with SKP) • Branch on items assigned to > 1 bin

  18. MKP compared with LVP • Imaginary items used in MKP if N=1 or if N is small • LVP better if N < 3 • MKP better if N > 8 • More work needed

  19. Genetic Algorithm(Eva Hlín Dereksdóttir) • Coding: Items numbered with bin numbers • No. of generations adaptive (initially 50) • Uniform Crossover (40%) • P(mutation) = 1/N, N=no. of known items • Population = 1.5*N • Tournament Selection • Evaluation Function: Min Ave. Overweight

  20. GA Results • No better to know more items N than M bins can take • Choice of Evalution Function important • Reject would help (20% of bins => 75% of total overfill) • Adaptive no of generations => speed • Also assign >1 in each round => speed

  21. Future Research • Modify LVP to solve other problems (more than one type of items, Bin Packing) • Markov Decision Process Modeling of Bin Covering • Perfect Packing with LVP? • More work on Knapsack • More work on GA

More Related