column generation theory algorithms and applications l.
Download
Skip this Video
Download Presentation
Column Generation: Theory, Algorithms and Applications

Loading in 2 Seconds...

play fullscreen
1 / 31

Column Generation: Theory, Algorithms and Applications - PowerPoint PPT Presentation


  • 410 Views
  • Uploaded on

Column Generation: Theory, Algorithms and Applications. Dr Natashia Boland Department of Mathematics and Statistics The University of Melbourne. Outline.  Linear and integer programs  A shipping problem: column generation formulation  Column generation and why it works

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Column Generation: Theory, Algorithms and Applications' - fala


Download Now 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
column generation theory algorithms and applications
Column Generation:Theory, Algorithms and Applications

Dr Natashia Boland

Department of Mathematics and Statistics

The University of Melbourne

outline
Outline

Linear and integer programs

 A shipping problem: column generation formulation

 Column generation and why it works

 Successful applications

 Difficulties

 Towards a cure: duality

 A general framework for stabilisation

 Progress in column generation and the future

linear programs

linear objective function

m linear

constraints

Integer

Linear Programs

xi = ith decision variable, i = 1,…,n

minc1x1 + c2x2 +…+ cnxn

s.t.a11x1 + a12x2 +…+ a1nxn  b1

a21x1 + a22x2 +…+ a2nxn  b2

am1x1 + am2x2 +…+ amnxn  bm

xiinteger, i = 1,…,n

a shipping problem
A Shipping Problem*

Operations Research Group Pty Ltd

J. Horton, T. Surendonk, E. Jago

 Delivering product to customers around the world

Shipping contracts entered into for next 12 months

 Contract specifies ship s can be used at most once in any ms consecutive months – the spread

 Contract specifies min and max limits on number of times ship used over year

* See Boland and Surendonk, 2001

exercising a shipping contract
Exercising a Shipping Contract

Spread = 3 months

Spread = 4 months

Jan Feb Mar Apr May Jun Jul Aug Sep

CUSTOMER DEMAND

exercising a shipping contract6
Exercising a Shipping Contract

Spread = 3 months

Spread = 4 months

1

X

2

Jan Feb Mar Apr May Jun Jul Aug Sep

CUSTOMER DEMAND

an integer programming model

capacitysxist demand of customer i in period t

s

An Integer Programming Model

xist = 1, if ship s delivers to customer i in period t

0, otherwise

mincostisxist

i,s,t

s.t.

contract constraints

 (xist + xis(t+1) + … + xis(t+ms-1) )  1

i

Contract Constraints

For each ship s

mins xist maxs

i, t

spread of ms periods

for all t=1,…

outcomes
Outcomes

 Implemented using top-grade commercial integer programming solver (ILOG Cplex)

 16 customers, about 30 ships

 Ran for many hours – out of memory

 Best solution found might be as bad as 16% from optimal

WHAT’S GOING WRONG?

integrality gap
Integrality Gap

Linear programming

relaxation

min cx

s.t.Ax  b

0 x  1

Integer program

min cx

s.t.Ax  b

x  {0,1}n

Value of integer program >> Value of relaxation

re formulation ship combinations

capacitysxist demand of customer i in period t

s

Re-formulation: Ship Combinations

Which combination of ships should be

used to meet customer i’s demand in

period t?

Jan Feb Mar Apr May Jun Jul Aug Sep

a column generation model

For customeri, period t

Kit =

set of all combinations of ships that can

meet customer’s demand in that period

A Column Generation Model

yikt = 1, if combination k used for

customer i in period t

0, otherwise

For k Kit

the model

mins yikt maxs

i,t,k: s k

The Model

min(costis)yikt

i,t,kKit

sk

s.t.

yikt= 1

customer i demand met in period t

k Kit

contract constraints

for ship s

 (yikt + yik(t+1) + … + yik(t+ms-1) )  1

for all t=1,…

i,k: s k

issues
Issues

There are a very large number of variables - how can we solve even the linear programming relaxation?

 Why will this reformulation help?

ANSWERS:

Column generation

The linear program better approximates

the integer program

- WHY?

column generation
Column Generation

1. Select a small number of variables and solve the linear program using only these.

2. Find an unused variable which, if included, would most improve the objective value, or determine that there is none - the linear program has been solved: stop.

3. Include the variable in the linear program, re-solve it, and go to step 2.

 Model this as an optimization problem

Solve the column generation subproblem

the shipping subproblem

dual variables from linear program

capacitysvs demand of customer i in period t

s

The Shipping Subproblem

For each customer i and period t, find a combination of ships that will most improve the objective:

vs = 1, if ship s used in combination

0, otherwise

min f(costis,s)vs

s.t.

shipping column generation
Shipping Column Generation

1. Select a small number of combinations for each customer and period. Solve the linear program using only these.

2. For each customer and period, solve the shipping subproblem: if its value <cut-off include the optimal combination in the linear program.

3. If no new combinations included in step 2, the linear program has been solved: stop.

4. Re-solve the linear program and go to step 2.

outcomes18
Outcomes

 Implemented using ILOG Cplex (and AMPL)

 Solved in less than 2 minutes

 Step 2 performed 34 times

 1700 combinations generated

 Solution to linear program was integer optimal

WHAT’S GOING RIGHT?!

dantzig wolfe decomposition

D-W Decomposition

min cx

s.t. Ax  b

Linear relaxation

contract

demand

x conv Dy  g

y  {0,1}n

0 x  1

Dantzig-Wolfe Decomposition

Integer program

min cx

s.t. Ax  b

Dx  g

x  {0,1}n

Value integer program >> Value linear relaxation

Value integer program  Value D-W decomposition

slide20

contract

linear

relaxation

demand

D-W relax.

Geometry

successful applications a brief history
Successful Applications: A Brief History

1960

Cutting stock problems

Air crew scheduling

Aircraft fleeting and routing

Crew rostering

Vehicle routing

Global shipping

Multi-item lot-sizing

Optical telecommunications network design

Cancer radiation treatment using IMRT

1980

1990

2000

difficulties with column generation
Difficulties with Column Generation

Tailing off – slow convergence

 Getting integrality – column generation within branch-and-bound and in combination with cutting planes

 Columns with set-up costs

difficulties with column generation23
Difficulties with Column Generation

Tailing off – slow convergence

 Getting integrality – column generation within branch-and-bound and in combination with cutting planes

 Columns with set-up costs

a dual approach

= z()

A Dual Approach

Lagrangian Relaxation

min cx

s.t. x  Y

Integer program

min cx

s.t. Ax = b

Dx  g

x  {0,1}n

+ (b – Ax)

Y

For all:

Value integer program  Value Lagrangian relaxation

properties of the lagrangian relaxation
Properties of the Lagrangian Relaxation

z() is a piecewise affine concave function

 To find the best lower bound, solve

Lagrangian Dual

max z()

s.t.   m

 To find a subgradient of z(), solve the Lagrangian relaxation

nonsmooth methods
Nonsmooth Methods

= column generation!

 Kelley’s cutting plane

Subgradient optimisation (Held & Karp)

 Projection methods (Conn & Cornuejols)

 Method of analytic centres (Goffin et al.)

 Box-step method (Marsten)

 Bundle methods (Lemarechal, Kiwiel)

 Linear-norm bundle methods (Kim et al.)

 Penalty-step method (du Merle, Desrosiers et al.)

Partial-step method (Neame)

a common framework

stabilisation function

A Common Framework

Joint work with Danny Ralph & Phil Neame

Iteratively solve

max ( min {cx + (b – Ax): x  Yi} )

s.t.   m

+ si()

where YiY

stabilisation functions
Stabilisation Functions

Box-step

Bundle – 1-norm

du Merle et al.

Bundle

better theory and algorithms
Better Theory and Algorithms

An algorithm for general stabilisation functions

 General conditions on stabilisation functions under which the algorithm will

- Converge

- Terminate finitely

 Termination of earlier methods: special cases

  • These imply conditions on the parameters defining the stabilisation functions
  • New (hybrid) stabilisation functions
numerical improvements
Numerical Improvements

Binary cutting stock problem

 Average results over 20 problems drawn at random from 3 problem classes

progress in column generation

FUTURE

Progress in Column Generation

Tailing off – slow convergence

 Getting integrality – column generation within branch-and-bound and in combination with cutting planes*

 Columns with set-up costs**

* See Barnhart, Boland et al. 1998 & Boland et al. 2000

** See Vanderbeck 2000