Feasibility Pump Heuristics for Column Generation Approaches Ruslan - - PowerPoint PPT Presentation

feasibility pump heuristics for column generation
SMART_READER_LITE
LIVE PREVIEW

Feasibility Pump Heuristics for Column Generation Approaches Ruslan - - PowerPoint PPT Presentation

Feasibility Pump Heuristics for Column Generation Approaches Ruslan Sadykov 2 Pierre Pesneau 1 , 2 Francois Vanderbeck 1 , 2 1 University Bordeaux I 2 INRIA Bordeaux Sud-Ouest SEA 2012 Bordeaux, France, June 9, 2012 1 / 29 Outline Generic


slide-1
SLIDE 1

Feasibility Pump Heuristics for Column Generation Approaches

Ruslan Sadykov2 Pierre Pesneau1,2 Francois Vanderbeck1,2

1University Bordeaux I 2INRIA Bordeaux — Sud-Ouest

SEA 2012 Bordeaux, France, June 9, 2012

1 / 29

slide-2
SLIDE 2

Outline

Generic Primal Heuristics Generic Primal Heuristics for Branch-and-Price Column Generation based Feasibility Pump heuristic Numerical tests Conclusion

2 / 29

slide-3
SLIDE 3

Generic Primal Heuristics for MIPs

“good” feasible solutions using the tools of exact optimization

3 / 29

slide-4
SLIDE 4

Generic Primal Heuristics for MIPs

“good” feasible solutions using the tools of exact optimization

◮ Truncating an exact method ◮ Building from the relaxation used for the exact approach ◮ Defining a target based on the relaxation ◮ Using dual information to price choices in greedy heuristics ◮ Exact approach used to explore a neighborhood

4 / 29

slide-5
SLIDE 5

Generic Primal Heuristics for MIPs

“good” feasible solutions using the tools of exact optimization

◮ Truncating an exact method ◮ Building from the relaxation used for the exact approach ◮ Defining a target based on the relaxation ◮ Using dual information to price choices in greedy heuristics ◮ Exact approach used to explore a neighborhood

Examples: [Berthold’06]

  • 1. Large Scale Neighborhood Search [Ahuja al’02]
  • 2. Relaxation Induced Neighborhood Search [Dana al’05]
  • 3. Local Branching [Fischetti al’03]
  • 4. Feasibility Pump [Fischetti al’05]

5 / 29

slide-6
SLIDE 6

Generic LP based heuristics

min{

j cjxj : j aijxj ≥ bi ∀i, lj ≤ xj ≤ uj ∀j}

6 / 29

slide-7
SLIDE 7

Generic LP based heuristics

min{

j cjxj : j aijxj ≥ bi ∀i, lj ≤ xj ≤ uj ∀j} ◮ Rounding: Iteratively select a var xj and bound/fix it

◮ least fractional: argminj{min{xj − ⌊xj⌋, ⌈xj⌉ − xj}} ◮ guided search: argminj{|xj − xinc

j

|}

7 / 29

slide-8
SLIDE 8

Generic LP based heuristics

min{

j cjxj : j aijxj ≥ bi ∀i, lj ≤ xj ≤ uj ∀j} ◮ Rounding: Iteratively select a var xj and bound/fix it

◮ least fractional: argminj{min{xj − ⌊xj⌋, ⌈xj⌉ − xj}} ◮ guided search: argminj{|xj − xinc

j

|}

◮ Diving: rounding + LP resolve + reiterate

heuristic depth search in branch-and-bound tree branching rule = that of exact branch-and-bound

8 / 29

slide-9
SLIDE 9

Generic LP based heuristics

min{

j cjxj : j aijxj ≥ bi ∀i, lj ≤ xj ≤ uj ∀j} ◮ Rounding: Iteratively select a var xj and bound/fix it

◮ least fractional: argminj{min{xj − ⌊xj⌋, ⌈xj⌉ − xj}} ◮ guided search: argminj{|xj − xinc

j

|}

◮ Diving: rounding + LP resolve + reiterate

heuristic depth search in branch-and-bound tree branching rule = that of exact branch-and-bound

◮ sub-MIPing: rounding/diving + MIP sol of the residual prob.

9 / 29

slide-10
SLIDE 10

Heuristic search in branch-and-bound tree

Diving sub-MIPing

10 / 29

slide-11
SLIDE 11

Feasibility Pump heuristic

Target solution ˜ x is obtained by rounding LP solution xLP to the closest integer solution. If ˜ x is not feasible, the problem is modified:

◮ 0 − 1 integer program

min

  • c x +ǫ

j: ˜ xj=0

xj +

  • j: ˜

xj=1

(1−xj)

  • : A x ≥ a, x ∈ [0, 1]n

◮ general integer program (lj ≤ xj ≤ uj)

min

  • c x + ǫ

j:˜ xj=lj

(xj − lj) +

  • j:˜

xj=uj

(uj − xj) +

  • j:lj<˜

xj<uj

dj

  • : A x ≥ a,

dj − ˜ xj ≤ xj ≤ dj + ˜ xj ∀j, x ∈ Rn

11 / 29

slide-12
SLIDE 12

The Branch-and-Price Approach

min c1x1 + c2 x2 + . . . + cK xK D x1 + D x2 + . . . + D xK ≥ d B x1 ≥ b B x2 ≥ b ... ≥ . . . B xK ≥ b x1 ∈ Nn, x2 ∈ Nn, . . . xK ∈ Nn.

12 / 29

slide-13
SLIDE 13

The Branch-and-Price Approach

min c1x1 + c2 x2 + . . . + cK xK D x1 + D x2 + . . . + D xK ≥ d B x1 ≥ b B x2 ≥ b ... ≥ . . . B xK ≥ b x1 ∈ Nn, x2 ∈ Nn, . . . xK ∈ Nn.

Relax Dx ≥ d = ≻ decomposition: subproblem {B x ≥ b, x ∈ Nn} and a reformulation solved by Branch-and-Price:

min

g∈G cxg λg

  • g∈G Dxg λg

≥ d

  • g∈G λg

= K λ ∈ N|G|

Pricing Problem Solve Master LP Solve Master LP Solve Master LP Pricing Problem Pricing Problem

13 / 29

slide-14
SLIDE 14

The Branch-and-Price Approach

min c1x1 + c2 x2 + . . . + cK xK D x1 + D x2 + . . . + D xK ≥ d B x1 ≥ b B x2 ≥ b ... ≥ . . . B xK ≥ b x1 ∈ Nn, x2 ∈ Nn, . . . xK ∈ Nn.

Relax Dx ≥ d = ≻ decomposition: subproblem {B x ≥ b, x ∈ Nn} and a reformulation solved by Branch-and-Price:

min

g∈G cxg λg

  • g∈G Dxg λg

≥ d

  • g∈G λg

= K λ ∈ N|G| y :=

  • k

xk =

  • g∈G

xg λg

Pricing Problem Solve Master LP Solve Master LP Solve Master LP Pricing Problem Pricing Problem

14 / 29

slide-15
SLIDE 15

Difficulties in a B-a-P context for generic heuristics

Heuristic paradigm in original space or the reformulation?

15 / 29

slide-16
SLIDE 16

Difficulties in a B-a-P context for generic heuristics

Heuristic paradigm in original space or the reformulation? On master variables: λ (aggregated decisions)

◮ Cannot fix bounds (as in rounding) ◮ Cannot modify costs (as in feasibility pump)

16 / 29

slide-17
SLIDE 17

Difficulties in a B-a-P context for generic heuristics

Heuristic paradigm in original space or the reformulation? On master variables: λ (aggregated decisions)

◮ Cannot fix bounds (as in rounding) ◮ Cannot modify costs (as in feasibility pump)

On original variables: x (disaggregated decisions)

◮ Cannot grasp individual SP var. after aggregation in the

common case of identical SPs

◮ Cannot modify the SP structure required by the oracle

17 / 29

slide-18
SLIDE 18

Difficulties in a B-a-P context for generic heuristics

Heuristic paradigm in original space or the reformulation? On master variables: λ (aggregated decisions)

◮ Cannot fix bounds (as in rounding) ◮ Cannot modify costs (as in feasibility pump)

On original variables: x (disaggregated decisions)

◮ Cannot grasp individual SP var. after aggregation in the

common case of identical SPs

◮ Cannot modify the SP structure required by the oracle

Differences

◮ Acting on master λ variables results in a more

macroscopic decision.

◮ Faster progress to an integer solution, but you can quickly

“paint yourself in a corner”

18 / 29

slide-19
SLIDE 19

Generic modifications of the master

◮ Setting a lower bound of a column: λg ≥ lg ◮ Decreasing cost cg of a column λg

19 / 29

slide-20
SLIDE 20

Generic modifications of the master

◮ Setting a lower bound of a column: λg ≥ lg ◮ Decreasing cost cg of a column λg

In both cases, pricing oracle overestimates the reduced cost of column λg already included in the master.

20 / 29

slide-21
SLIDE 21

Generic modifications of the master

◮ Setting a lower bound of a column: λg ≥ lg ◮ Decreasing cost cg of a column λg

In both cases, pricing oracle overestimates the reduced cost of column λg already included in the master.

Preprocessing

◮ Lower bound setting is done by fixing a partial

(“rounded-down”) solution

◮ After that, the residual master problem is defined by

preprocessing:

◮ updating RHS of the master; ◮ updating bounds for subproblem variables. 21 / 29

slide-22
SLIDE 22

Pure Diving Heuristic

Depth-First Search

◮ select least fractional col: λs ← ⌈¯

λs⌋

◮ update master and SP ◮ apply preprocessing

22 / 29

slide-23
SLIDE 23

Generic Feasibility Pump algorithm I

◮ Solution ˜

λ is defined by rounding the LP solution λLP.

◮ If ˜

λ is feasible, stop. Otherwise, we use ˜ λ as a target point.

◮ We decrease the cost of rounded-up columns and increase

the cost of rounded-down ones (but not beyond the original cost).

23 / 29

slide-24
SLIDE 24

Generic Feasibility Pump algorithm I

◮ Solution ˜

λ is defined by rounding the LP solution λLP.

◮ If ˜

λ is feasible, stop. Otherwise, we use ˜ λ as a target point.

◮ We decrease the cost of rounded-up columns and increase

the cost of rounded-down ones (but not beyond the original cost).

Cost modification factor functions

λ f 1(λ, α) 0.1 −0.1 α 1 f 1(λ, α) =

  • 0.1

λ α

if λ ≤ α −0.1

(1−λ) (1−α)

if λ > α λ f 2(λ, α) −0.1 1 0.1 1 α f 2(λ, α) =

  • 0.1

(1 − λ

α)

if λ ≤ α −0.1

(λ−α) (1−α)

if λ > α

24 / 29

slide-25
SLIDE 25

Embedding Feasibility Pump in a Diving heuristic

◮ At iteration t, the modified master becomes

min

g∈Gt

ct

gλg :

  • g∈Gt

(Axg)λg ≥ at;

  • g∈Gt

λg = K t; λg ∈ N ∀g ∈ G

◮ Before defining target solution ˜

λt, the “rounded-down” integer part of λt

LP is fixed and removed: λt g ← λt g − ⌊λt g⌋

(this way the residual master is close to a 0 − 1 problem).

◮ Cycling can occur if no columns are rounded up in ˜

λt. In this case, we decrease fractionality threshold parameter α (initially α ← 0.5).

25 / 29

slide-26
SLIDE 26

Cutting Stock Problem

n = 50, 100 di ∈ [1, 50] W = 10000 wi ∈ [500, 2500] 50 instances for each n n function found

  • pt

gap time 50 Pure Div. 50/50 43/50 0.07 1.17 50 f 1 50/50 45/50 0.05 6.14 50 f 2 50/50 41/50 0.09 4.82 100 Pure Div. 50/50 35/50 0.08 4.08 100 f 1 50/50 43/50 0.04 23.93 100 f 2 50/50 40/50 0.05 17.98

26 / 29

slide-27
SLIDE 27

Generalized Assignment

c

  • s

t cost cost cost cost

Tasks Machines

assignment

Instances from OR-Library (type D) 50 instances for each (n, m) m n function found gap time 10 50 Pur Div. 34/50 1.00% 0.37 10 50 f 1 36/50 0.98% 1.81 10 50 f 2 48/50 1.14% 0.81 20 100 Pur Div. 35/50 0.65% 2.46 20 100 f 1 36/50 0.55% 14.56 20 100 f 2 42/50 0.75% 5.92

27 / 29

slide-28
SLIDE 28

Conclusions

Summary

◮ Feasibility Pump heuristic can be extended to the column

generation context

◮ The key is to restrict problem modifications to setting lower

bound and cost reduction.

◮ Compared with the generic diving heuristic, feasibility

pump heuristic produced more feasible primal solutions without loosing on the quality.

28 / 29

slide-29
SLIDE 29

Conclusions

Summary

◮ Feasibility Pump heuristic can be extended to the column

generation context

◮ The key is to restrict problem modifications to setting lower

bound and cost reduction.

◮ Compared with the generic diving heuristic, feasibility

pump heuristic produced more feasible primal solutions without loosing on the quality.

Future work

◮ Adaptation of diversification mechanisms for the Feasibility

Pump heuristic

◮ Numerical tests on a larger scope of applications ◮ Compare Feasibility Pump heuristic on aggregated

variables λ versus Feasibility Pump in the space of original variables x.

29 / 29