• Aucun résultat trouvé

Dantzig-Wolfe Decomposition

N/A
N/A
Protected

Academic year: 2022

Partager "Dantzig-Wolfe Decomposition"

Copied!
107
0
0

Texte intégral

(1)

Approche décomposition de Dantzig-Wolfe en programmation entière:

apport de l’ optimisation convexe

Universit ´e Bordeaux 1 INRIA - Rhones-Aples Universit ´e de Gen `eve Olivier Briant Claude Lemar ´echal Claude Tadonki

Philippe Meurdesoif Jean-Philippe Vial

Krystel Monneris Cesar Beltran

Sophie Michel Nancy Perrot Franc¸ois Vanderbeck

Funded by Inria New Investigation Grant

“Convex Optimization and Dantzig-Wolfe Decomposition”

http://www.math.u-bordeaux.fr/MAB/ODW/

(2)

PART 1: Background

Dantzig-Wolfe Decomposition

BaPCod: our projet of building a generic

code

(3)

Decomposition: Why

Divide and Conquer

complexity

size

+ + ...

(4)

Decomposition: Why

Divide and Conquer

+ + ...

complexity

size

Exploit the structure

(5)

Decomposition: When

Difficult Constraints

(6)

Decomposition: When

Difficult Constraints

(7)

Decomposition: When

Difficult Constraints Ex: The Travelling Salesman Prob.

(8)

Decomposition: When

Difficult Constraints Linking Constraints

... . .. ...

(9)

Decomposition: When

Difficult Constraints Linking Constraints

Multiple Sub-Systems ( variable splitting)

(10)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm

Lagrangian:

Dual function:

Dual problem:

(11)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm

Lagrangian:

Dual function:

Dual problem:

(12)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

LP

LP

PSfrag replacements

LP

LP

LP

(13)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

Dynamic Cut Generation (Separation Sub-Problem)

LP

LP

PSfrag replacements

LP

LP

(14)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

Dynamic Cut Generation (Separation Sub-Problem)

LP

LP

PSfrag replacements

LP

LP

(15)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

Dynamic Cut Generation (Separation Sub-Problem)

LP

LP

PSfrag replacements

LP

LP

(16)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

Dynamic Cut Generation (Separation Sub-Problem)

Dynamic Column Generation (Optimization Sub-Problem)

Xlp

(17)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

Dynamic Cut Generation (Separation Sub-Problem)

Dynamic Column Generation (Optimization Sub-Problem)

Xlp

(18)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

Dynamic Cut Generation (Separation Sub-Problem)

Dynamic Column Generation (Optimization Sub-Problem)

Xlp

(19)

Decomposition: How

difficult

nice

Lagrangian relaxation, Lagr. Dual, Subgradient Algorithm Reformulation (Variable Redefinition)

Dynamic Cut Generation (Separation Sub-Problem)

Dynamic Column Generation (Optimization Sub-Problem)

Xlp

(20)

Decomposition: Output

difficult

nice

1. A solution method that exploits our hability to “treat” a subproblem

2. A Dual Bound that is typically better than LP bound At best, the Lagrangian Dual Bound:

While the LP relaxation bound is LP

PSfrag replacements

LP

PSfrag replacements

LP

(21)

Decomposition: Output

difficult

nice

1. A solution method that exploits our hability to “treat” a subproblem

2. A Dual Bound that is typically better than LP bound

At best, the Lagrangian Dual Bound:

While the LP relaxation bound is LP

LP

PSfrag replacements

LP

(22)

Decomposition: Output

difficult

nice

1. A solution method that exploits our hability to “treat” a subproblem

2. A Dual Bound that is typically better than LP bound

At best, the Lagrangian Dual Bound:

While the LP relaxation bound is LP

PSfrag replacements

LP

PSfrag replacements

LP

(23)

Dantzig-Wolfe Decomposition/ Reformulation

Apply the change of variables:

Then,

to solve by column generation combined with branch-and-bound:

i.e. by branch-and-price

Resoudre le Maitre Generer une colonne

Resoudre le Maitre Generer une colonne

Resoudre le Maitre Generer une colonne

PSfrag replacements

(24)

Dantzig-Wolfe Decomposition/ Reformulation

Apply the change of variables:

Then,

to solve by column generation combined with branch-and-bound:

i.e. by branch-and-price

Resoudre le Maitre Generer une colonne

Resoudre le Maitre Generer une colonne

Resoudre le Maitre Generer une colonne

PSfrag replacements

(25)

BaPCod : a generic Branch-And-Price Code

The Column Generation approach has proved very successful in practice

However, restricted to experts due to the difficulty of implementing it

‘tool-box” codes : MINTO, ABACUS, BCP, or MAESTRO Our aim is to develop a ‘black-box” implementation (in the same way as Cplex or Xpress provide implementation of Branch-and-Bound)

The user provides a MIP formulation of its problem

The user specifies what constraints make a subproblem The code reformulates the problem for column generation The code solves it with a default branch-and-price

implementation

(26)

BaPCod : a generic Branch-And-Price Code

The Column Generation approach has proved very successful in practice

However, restricted to experts due to the difficulty of implementing it

‘tool-box” codes : MINTO, ABACUS, BCP, or MAESTRO Our aim is to develop a ‘black-box” implementation (in the same way as Cplex or Xpress provide implementation of Branch-and-Bound)

The user provides a MIP formulation of its problem

The user specifies what constraints make a subproblem The code reformulates the problem for column generation The code solves it with a default branch-and-price

implementation

(27)

BaPCod : a generic Branch-And-Price Code

The Column Generation approach has proved very successful in practice

However, restricted to experts due to the difficulty of implementing it

‘tool-box” codes : MINTO, ABACUS, BCP, or MAESTRO Our aim is to develop a ‘black-box” implementation (in the same way as Cplex or Xpress provide implementation of Branch-and-Bound)

The user provides a MIP formulation of its problem

The user specifies what constraints make a subproblem The code reformulates the problem for column generation The code solves it with a default branch-and-price

implementation

(28)

BaPCod : motivations

Practical:

Provides a starting point to try out a column generation approach.

Allows to test different decompositions: just change the subproblem definition.

Research Wise:

Demands to generalize ad-hoc features to turn them into generic tools: initialization, preprocessing, branching, . . . Any algorithmic development is made available for all

applications

Permits to test algorithmic features across applications

Future Outcome:

Paves the way for future integration of column generation techniques in commercial MIP solvers

(29)

BaPCod : motivations

Practical:

Provides a starting point to try out a column generation approach.

Allows to test different decompositions: just change the subproblem definition.

Research Wise:

Demands to generalize ad-hoc features to turn them into generic tools: initialization, preprocessing, branching, . . . Any algorithmic development is made available for all

applications

Permits to test algorithmic features across applications

Future Outcome:

Paves the way for future integration of column generation techniques in commercial MIP solvers

(30)

BaPCod : motivations

Practical:

Provides a starting point to try out a column generation approach.

Allows to test different decompositions: just change the subproblem definition.

Research Wise:

Demands to generalize ad-hoc features to turn them into generic tools: initialization, preprocessing, branching, . . . Any algorithmic development is made available for all

applications

Permits to test algorithmic features across applications

Future Outcome:

Paves the way for future integration of column generation techniques in commercial MIP solvers

(31)

PART 2: Column Generation

Standard Algorithm

Primal/Dual point of view

Stabilization

(32)

Dantzig-Wolfe Reformulation: LP relax. and dual

Original P:

Master IP:

Relaxed P:

Master LP:

Dual Master:

Lagrangian D: with

(33)

Dantzig-Wolfe Reformulation: LP relax. and dual

Original P:

Master IP:

Relaxed P:

Master LP:

Dual Master:

Lagrangian D: with

(34)

Dantzig-Wolfe Reformulation: LP relax. and dual

Original P:

Master IP:

Relaxed P:

Master LP:

Dual Master:

(35)

Standard column generation: primal view

Master Problem

min

s.t.

Restricted Master Problem (iteration ):

min s.t.

Subproblem (Oracle) :

If , add to . Otherwise, STOP.

restricted master Lp values

Master LP value iteration

(36)

Standard column generation: primal view

Master Problem

min

s.t.

Restricted Master Problem (iteration ):

min

s.t.

Subproblem (Oracle) :

If , add to . Otherwise, STOP.

restricted master Lp values

Master LP value iteration

(37)

Standard column generation: primal view

Master Problem

min

s.t.

Restricted Master Problem (iteration ):

min

s.t.

Subproblem (Oracle) :

If , add to . Otherwise, STOP.

restricted master Lp values

Master LP value iteration

(38)

Standard column generation: primal view

Master Problem

min

s.t.

Restricted Master Problem (iteration ):

min

s.t.

Subproblem (Oracle) :

If , add to . Otherwise, STOP.

restricted master Lp values

Master LP value iteration

(39)

Standard column generation: primal view

Master Problem

min

s.t.

Restricted Master Problem (iteration ):

min

s.t.

Subproblem (Oracle) :

If

, add to

. Otherwise, STOP.

restricted master Lp values

Master LP value iteration

(40)

Standard column generation: primal view

Master Problem

min

s.t.

Restricted Master Problem (iteration ):

min

s.t.

Subproblem (Oracle) :

If

, add to

. Otherwise, STOP.

restricted master Lp values

Master LP value iteration

(41)

Standard column generation: dual view

Restricted Master Dual:

Approxim Dual Function : Subproblem (Oracle) :

(42)

Standard column generation: dual view

Restricted Master Dual:

Approxim Dual Function :

Subproblem (Oracle) :

u

PSfrag replacements

(43)

Standard column generation: dual view

Restricted Master Dual:

Approxim Dual Function :

Subproblem (Oracle) :

PSfrag replacements

(44)

Standard column generation: dual view

Restricted Master Dual:

Approxim Dual Function :

Subproblem (Oracle) :

u

PSfrag replacements

(45)

Standard column generation: dual view

Restricted Master Dual:

Approxim Dual Function :

Subproblem (Oracle) :

PSfrag replacements

(46)

Standard column generation: dual view

Restricted Master Dual:

Approxim Dual Function :

Subproblem (Oracle) :

u

(47)

Standard column generation: dual view

Restricted Master Dual:

Approxim Dual Function :

Subproblem (Oracle) :

PSfrag replacements

(48)

Standard column generation: primal/ dual view

At iteration k, one has

A Primal Bound on the master:

A Dual Bound on the master:

PSfrag replacements

restricted master Lp values

intermediate Lagrangian bounds

Master LP value iteration

(49)

Standard column generation: primal/ dual view

At iteration k, one has

A Primal Bound on the master:

A Dual Bound on the master:

restricted master Lp values

Master LP value iteration

(50)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(51)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(52)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(53)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(54)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(55)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(56)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(57)

Slow convergence of Kelley’s algorithm

u

PSfrag replacements

(58)

Instability: observed behaviors

u

PSfrag replacements

restricted master Lp values

intermediate Lagrangian bounds

Master LP value iteration

PSfrag replacements

Tailing-off

(59)

Instability: observed behaviors

PSfrag replacementsu

restricted master Lp values

intermediate Lagrangian bounds

Master LP value iteration

PSfrag replacements

Tailing-off Heading-in

(60)

Instability: observed behaviors

PSfrag replacementsu

restricted master Lp values

intermediate Lagrangian bounds

Master LP value iteration

PSfrag replacements

Tailing-off Heading-in

Degeneracy

(61)

Instability: observed behaviors

u

u0 u1

restricted master Lp values

intermediate Lagrangian bounds

Master LP value iteration

PSfrag replacements

Tailing-off Heading-in

Degeneracy

Bang-Bang Behavior

(62)

Instability: observed behaviors

u

u0 u2 u1

restricted master Lp values

intermediate Lagrangian bounds

Master LP value iteration

PSfrag replacements

Tailing-off Heading-in

Degeneracy

Bang-Bang Behavior

(63)

Instability: observed behaviors

u

u0 u2 u3 u1

restricted master Lp values

intermediate Lagrangian bounds

Master LP value iteration

PSfrag replacements

Tailing-off Heading-in

Degeneracy

Bang-Bang Behavior

Références

Documents relatifs

Consider directed hooked squares tiling f (these are annex-figures and squares of which basic-figures are built). Let d be the westmost among the northmost of them. squares hooked to

A rotation is feasible if it respects the single assignment and succession constraints H1 and H3. Besides, the cost of a self-standing rotation corresponds only to the

For the case of TOPTW where 2 to 4 vehicles are available for the service of customers, we launched our column generation algorithm and we were able to find the optimal solution for

Keywords: Combinatorial MOP, vehicle routing problem, exact method, column generation This paper presents generic exact methods for the bi-objective vehicle routing problems

It must be underlined that, when the column generation procedure terminates, the optimal solution of the linear relaxation of the restricted master problem is equal to the

For general graph G , the LP-relaxation of the master program obtained by applying Dantzig-Wolfe decomposition scheme on all the stable set constraints, cannot be solved in

In this paper, the dual feasible functions will be applied to the knapsack poly- topes associated to different constraints of (8)–(11), namely the demand con- straints (9),

Time preproc., time spent on preprocessing, this includes the time spent tightening time windows (see Section 6.4) and calculating the sets A + i and A − i needed for the