Practical Set Partitioning and Column Generation

Practical Set Partitioning and Column Generation

PRACTICAL SET PARTITIONING AND COLUMN GENERATION Andrew Mason [email protected], www.esc.auckland.ac.nz/Mason Linkoping 1999, Auckland 2000, Auckland 2001 Set Partitioning Problems Given a set of objects (with index set I), find a minimal cost partition of I into mutually disjoint subsets. Example: Copying 2 CD’s onto C60 tapes. ENIGMA MCMXC Mins ENIGMA the CROSS of Mins 1 The Voice of Enigma 2.13 changes 2 Sadeness 4.25 1 Second Chapter 2.27 3 Find Love 4.82 2 The Eyes of Truth 7.22 4 Sadeness (Reprise) 2.80 3 Return to Innocence 4.28 5 Callas Went Away 4.48 4 I Love You… I'll Kill You 8.85 6 Mea Culpa 4.87 5 Silent Warrior 6.17 7 The Voice & The Snake 1.75 6 The Dream of the Dolphin 2.78 8 Knocking on Forbidden 4.45 7 Age of Loneliness 5.37 Doors 8 Out from the Deep 4.88 9 Way to Eternity 2.30 9 The CROSS of changes 2.38 10 Hallelujah 4.25 Total: 44.20 11 The Rivers of Belief 3.52 12 Sadeness II 2.72 13 Mea Culpa II 6.07 14 Principles of Lust 4.83 15 The Rivers of Belief II 7.07 Total: 60.30 Set of objects: Possible Subsets: Cost of Subsets (assuming minimisation objective): This particular problem is known as: (c) A. Mason www.esc.auckland.ac.nz/Mason/ 1+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Formal Set Partitioning Definition: Given: 1/ I={1…m} 2/ a collection of subsets P={P1, P2, …, Pn}, where each PjÍP 3/ a cost function c(Pj) then JÌ{1, …, n} defines a partition of I if and only if: 1/ (all elements in a subset) 2/ We seek a minimum cost partition: min sum_j in J c(Pj) st J partitioning I Integer Programming (IP) Formulation of Set Partitioning: · Rows correspond to elements of I · Columns are elements of P · aij=1 if element I is in Pj, aij=0 otherwise · cj=cost of Pj · xj=1 if Pj is in the partition · all items must be included in soln Variables: Matrix Coefficients: Right hand side: Constraints: LP Dual Variables: Note: X integer => will be Binary to satisfy constraints Set Partitioning Example 1: Airline Planning (Pairings, Tours of Duty) Problem Partition ……………..….………………..… into …….. (These tours will later be allocated to people.) (c) A. Mason www.esc.auckland.ac.nz/Mason/ 2+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Mon Tue Wed Mon 00 06 00 00 0000 0600 1200 1800 0000 0600 1200 1800 0000 0600 1200 1800 AKL AKL CHC CHC WLG WLG HNL HNL LAX LAX MEL MEL SYD SYD SIN SIN LHR LHR BNE BNE CNS CNS DPS DPS FKF FKF Example and Picture from Air New Zealand Costs include: Rules for building columns include: Integer Programming Formulation: min x st x Set Partitioning Example 2: Political Districting (Images stolen from http://www.elections.org.nz/elections/general/electorates/index.html) (c) A. Mason www.esc.auckland.ac.nz/Mason/ 3+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Partition ……….…census area units…………………….into ……………electorates…… Costs: Shape of electorate, natural unit (eg not split by rivers), deviation from desired populationsize! Possible Additional Constraint: Must have 61 electorates Other Set Partitioning Examples: Vehicle Routing - columns are routes, rows are deliveries to make Bin Packing Set Packing Problems Variables: Integer (0/1) Matrix Coefficients: Binary Right hand side: Binary Constraints: LP Dual Variables: Set Packing Example: Cutting of Boards 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 6 7 8 9 10 6 7 8 9 10 6 7 8 9 10 11 12 13 14 15 11 12 13 14 15 11 12 13 14 15 11 12 13 14 15 max x st 1 2 3 4 5 x 6 7 8 9 10 11 12 13 14 15 (c) A. Mason www.esc.auckland.ac.nz/Mason/ 4+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Set Covering Problems Variables: Integer (0/1) Matrix Coefficients: Binary Right hand side: Binary Constraints: LP Dual Variables: Set Covering Example: Mail Deliveries · Must walk along each street in town to deliver mail for that street. · Each person starts at 5am, must be finished by 7am. · If two people walk a street, only 1 does the deliveries (hence ‘covering’) Columns: Cost: Set Covering vs Set Packing If changing any 1 in a column into a 0 gives a valid no more expensive column, then the set covering and set packing solutions are the same. Set Partitioning/Covering/Packing Generalisations: Different Possibilities: Right Hand Side: Binary or Integer (or Real) Variables: Binary or Integer A-Matrix coefficients: Binary or Integer (or Real) Constraints: Mix of <, =, > (c) A. Mason www.esc.auckland.ac.nz/Mason/ 5+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Generalised Set Covering Example: Single-Day Shift Generation Columns are: Costs: 1 1 1 1 b1 1 1 1 1 1 1 1 1 b2 1 1 1 1 1 1 1 1 1 1 1 1 b3 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b4 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b5 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b6 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b7 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b8 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b9 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b10 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b11 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b12 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … b13 1 … 1 1 1 … 1 1 1 … 1 1 1 … b14 1 1 1 … 1 1 1 … 1 1 1 … b15 1 1 1 … 1 1 1 … 1 1 1 … 1 1 … 1 1 1 … 1 1 1 … 1 … 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … 1 1 1 … 1 1 … 1 1 1 … A= 1 … 1 1 1 … 1 1 1 … b= : : : 1 1 1 … 1 1 1 … : 1 1 1 … 1 1 1 … 1 1 1 … 1 1 … 1 … . bm-6 . bm-5 bm-4 bm-3 1 : : 1 : : 1 : : 1 : : bm-2 1 1 1 1 1 1 1 1 bm-1 3 hour shifts 1 4 hour shifts 1 5 hour shifts 1 8 hour shifts 1 bm Variables: Matrix Coefficients: Right hand side: Constraints: NS+Mon-Min Part time 25 Full time Smoothed Workload 20 Arrivals Departures 15 10 Officers on Duty 5 0 500 600 700 800 900 1000 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 Generalised Set Covering: Example from NZ Customs (c) A. Mason www.esc.auckland.ac.nz/Mason/ 6+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Generalised Set Covering Example: Personalised Single-Day Shift Generation Note: The Gx=e constraints are known as…GUB (generalised upper bnd) OR convexity min x st x x Variables: Matrix Coefficients: Right hand side: Constraints: (c) A. Mason www.esc.auckland.ac.nz/Mason/ 7+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Set Partitioning Example: ToD Allocation to Crew (“Rostering”) The problem here is take the optimal Tours of Duty (ToDs) produced earlier, and allocate them to staff, eg cabin crew. We assume that each ToD requires 4 cabin crew. ToDs Week 1 Week 2 Week 3 Week 4 ToDs Week 1 Week 2 1 1 W 2 2 k 3 3 W 4 4 k 5 5 6 6 W 7 7 k 8 8 9 9 10 10 W k 11 11 12 12 W T F S S M W T F S S M W T F S S M W T F S S M W T F S S M W T F S S M T T T T min x st x 1 2 3 4 5 x 6 7 8 9 10 11 12 Variables: Matrix Coefficients: Right hand side: Constraints: (c) A. Mason www.esc.auckland.ac.nz/Mason/ 8+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Generalised Set Covering Example: Group Single-Day Shift Generation Building shifts with couples who prefer to work together. min x st x x Variables: Matrix Coefficients: Right hand side: Constraints: Fractional matrix coefficients can arise, eg… (c) A. Mason www.esc.auckland.ac.nz/Mason/ 9+ This material is not to be distrubted; contact the author for the latest version and permission to distribute. Elastic Constraints Eg for generalised set partitioning: Introduce costed slack and surplus variables Min (c | cslack | csurplus) (x xslack xsurplus ) St. (A | I | -I) (x xslack xsurplus ) = b min c_slack c_surplus min st 1 -1 st 1 -1 1 -1 1 -1 1 -1 Notes: don’t normally enforce integrality of slack/surplus variables (happens naturally) can put bounds on u and s, and/or piecewise linear costs This problem is more stable in the sense that the LP Dual Variables are now….

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    56 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us