9
11.3.1 STSP by Column Generation Recall the formulation of STSP (for 1-tree relaxation) minimize eE c e x e subject to e({i}) x e = 2 , i N\{1} e({1}) x e = 2 , eE(S) x e |S| - 1 , S N\{1}, S , N\ {1}, eE(N\{1}) x e = |N| - 2. x e { 0, 1 }. (note that we use N to denote the set of nodes instead of V) min { eE c e x e : e(i) x e = 2 for iN\{1}, xX 1 } where X 1 = { xZ + m : e(1) x e = 2, eE(S) x e |S|-1 for S N\{1}, eE(N\{1}) x e = |N| - 2 } Integer Programming 2011 1

11.3.1 STSP by Column Generation

  • Upload
    arnav

  • View
    129

  • Download
    0

Embed Size (px)

DESCRIPTION

11.3.1 STSP by Column Generation. Recall the formulation of STSP (for 1-tree relaxation) minimize eE c e x e subject to  e({ i }) x e = 2 , i  N\{ 1}  e({1}) x e = 2 ,  eE (S) x e  |S| - 1 ,S  N\{ 1}, S  , N\{ 1},  e E (N\{ 1}) x e = |N| - 2. - PowerPoint PPT Presentation

Citation preview

Page 1: 11.3.1 STSP by Column Generation

11.3.1 STSP by Column Generation Recall the formulation of STSP (for 1-tree relaxation)

minimize eE ce xe

subject to e({i}) xe = 2 , i N\{1}

e({1}) xe = 2 ,

eE(S) xe |S| - 1 , S N\{1}, S , N\{1},

eE(N\{1}) xe = |N| - 2.

xe { 0, 1 }.

(note that we use N to denote the set of nodes instead of V)

min { eE cexe : e(i) xe = 2 for iN\{1}, xX1 }

where X1 = { xZ+m : e(1) xe = 2, eE(S) xe |S|-1 for S N\{1},

eE(N\{1}) xe = |N| - 2 }

is the set of incidence vectors of one-trees.

Integer Programming 20111

Page 2: 11.3.1 STSP by Column Generation

STSP:min { eE cexe : e(i) xe = 2 for iN\{1}, xX1 }

where X1 = { xZ+m : e(1) xe = 2, eE(S) xe |S|-1 for S N\{1},

eE(N\{1}) xe = |N| - 2 }

is the set of incidence vectors of one-trees.

Write xe = t : eE(t) t , t {0, 1}, where Gt = (N, Et) is the tth one-tree.

e(i) xe = e(i) t : eE(t) t = t ditt = 2

(dit is degree of node i in the one-tree Gt.)

(In matrix notation, we have Ax = 2, where A is the node-edge incidence ma-trix (for edges E(N\{1})).

x = T, where each column of T is incidence vector of a one-tree. AT = 2 (each column of AT is ATt ) )

Integer Programming 20112

Page 3: 11.3.1 STSP by Column Generation

min t=1T1 (cxt)t

(DW) t=1T1 di

tt = 2, for i N\{1}

t=1T1 t = 1

B|T1|

LP relaxation is: min t=1

T1 (cxt)t

(LPM) t=1T1 di

tt = 2, for i N\{1}

t=1T1 t = 1

R+T1

Note that the convexity constraint t=1T1 t = 1 (t=1

T1 2t = 2) may be re-garded as d1

t = 2 for node 1. Subproblem: 1= min{eE(ce- ui - uj)xe - : xX1} (e=(i, j)E, i, jN\{1})

( cxt - iN\{1} ditui - = cxt - iN\{1} ui e(i) xe

t - = eE (ce - ui - uj)xet - )

Integer Programming 20113

Page 4: 11.3.1 STSP by Column Generation

Integer Programming 20114

11.3.2 Strength of the LP Master Prop 11.1:

zLPM = max { k=1K ckxk : k=1

K Akxk = b, xk conv(Xk) for k = 1, … , K }Pf) LPM is obtained from IP by substituting xk = t=1

Tk xk, tk, t, t=1

Tk k, t = 1, k, t 0 for t = 1, … , Tk .

This is equivalent to substituting xk conv(Xk).

Prop 11.1 implies that the previous column generation approach for STSP provides the same bound as Lagrangean dual.

Let wLD be the value of the Lagrangian dual when the joint con-straint k=1

K Akxk = b are dualized.Let zCUT be the optimal value obtained when cutting planes are added to the LP relaxation of IP using exact separation algorithm for each of conv(Xk) for k = 1, … , K.

Then Thm 11.2: zLPM = wLD = zCUT

Page 5: 11.3.1 STSP by Column Generation

Integer Programming 20115

Hence column generation approach (if it can be used for the problem) usually provides strong bounds.

It uses the dual variables obtained from LP relaxation as guides compared to simple rule of subgradient method for Lagrangian dual. (Some more discussions on this later.)

Generated columns can be kept for overall optimization. (com-pare to Lagrangian dual)

Consider column generation algorithm for generalized assign-ment problem and its merits compared to Lagrangian dual and cutting plane algorithms.(See Savelsbergh, A Branch and Price Algorithm for the General-ized Assignment Problem, Operations Research, 1997, Vol 45, No 6, p831-841)

Page 6: 11.3.1 STSP by Column Generation

Integer Programming 20116

11.4 IP Column Generation for 0-1 IP Branch-and-price algorithm

How to branch after column generation?

(IP) z = max { k=1K ckxk : k=1

K Akxk = b, Dkxk dk for k = 1, … , K, xk for k = 1, … , K},

reformulationz = max k=1

K t=1Tk ( ckxk, t ) k, t

(IPM) k=1K t=1

Tk ( Akxk, t ) k, t = b t=1

Tk k, t = 1 for k = 1, … ,K

k, t {0, 1} for t = 1, … , Tk and k = 1, … , K

if and only if is integer

Page 7: 11.3.1 STSP by Column Generation

Integer Programming 20117

If LP relaxation of IPM has fractional solution, two choices to branch : (1) on x variable, (2) on variable.(Following are general schemes. Particular implementation may vary and/or even very difficult.)

Consider branch on x variablesIf fractional in LP optimal, there is some and j such that the corresponding 0-1 variable xj

has LP value that is fractional.Split the set S of all feasible solutions into S0 = S { x: xj

= 0} and S1 = S { x: xj

= 1}

Now as xjk = t=1

Tk k, t xj

k, t {0, 1}, xjk = {0, 1} implies that

xjk, t = for all k, t with k, t > 0

Page 8: 11.3.1 STSP by Column Generation

Integer Programming 20118

Hence the Master Problem at node Si = S { x: xj = i} for i = 0, 1 is

z(Si) = max k t ( ckxk, t ) k, t + (IPM(Si)) k t ( Akxk, t ) k, t + = b

t k, t = 1 for k = 1

k, t {0, 1} for t = 1, … , Tk , k = 1, … , K

The columns for k = are affected.Column generation for subproblem and i = 0, 1

(Si) = max { (c - A) x - : x X , xj = i }

Page 9: 11.3.1 STSP by Column Generation

Integer Programming 20119

Branch on variablesIf k, t fractional, fix it to 0 and 1 respectively.If fixed to 1, no problem in column generation.( usually implemented by setting the lower and upper bound on k, t as 1)If fixed to 0 ( set upper bound of k, t to 0), we need a scheme to prevent the generation of the same column again in the column generation procedure.

Also the branching may partition the set of feasible solutions unbalanced.