block angular structure with dw decompositioneaton.math.rpi.edu/faculty/mitchell/courses/matp...2...
TRANSCRIPT
Block Angular Structure with DW Decomposition
John E. Mitchell
Department of Mathematical Sciences
RPI, Troy, NY 12180 USA
February 2018
Mitchell Block Angular Structure 1 / 24
Primal block-angular structure
Outline
1 Primal block-angular structure
The aggregated form
The disaggregated form
2 Other block angular structures
3 If X is too simple
4 Initializing
Mitchell Block Angular Structure 2 / 24
Primal block-angular structure
Introduction
In an LP with primal block angular structure, the structure can be
exploited so that the subproblem separates into several subproblems
with different sets of variables. The linear program has the structure:
minx cT1
x1 + cT2
x2 + . . . + cTp xp
subject to A01x1 + A02x2 + . . . + A0pxp = b0 (P)A1x1 = b1
A2x2 = b2
. . ....
Apxp = bpx1, x2, . . . , xp � 0
Each xi 2 IRni , each Ai 2 IRmi⇥ni , each A0i 2 IRm⇥ni , and each vector
bi 2 IRmi , ci 2 IRni . Let n :=Pp
i=1ni . Note that each xi is a vector.
Mitchell Block Angular Structure 3 / 24
nisi:n÷÷÷!i§
Primal block-angular structure
Introduction
In an LP with primal block angular structure, the structure can be
exploited so that the subproblem separates into several subproblems
with different sets of variables. The linear program has the structure:
minx cT1
x1 + cT2
x2 + . . . + cTp xp
subject to A01x1 + A02x2 + . . . + A0pxp = b0 (P)A1x1 = b1
A2x2 = b2
. . ....
Apxp = bpx1, x2, . . . , xp � 0
Each xi 2 IRni , each Ai 2 IRmi⇥ni , each A0i 2 IRm⇥ni , and each vector
bi 2 IRmi , ci 2 IRni . Let n :=Pp
i=1ni . Note that each xi is a vector.
Mitchell Block Angular Structure 3 / 24
Primal block-angular structure
Introduction
In an LP with primal block angular structure, the structure can be
exploited so that the subproblem separates into several subproblems
with different sets of variables. The linear program has the structure:
minx cT1
x1 + cT2
x2 + . . . + cTp xp
subject to A01x1 + A02x2 + . . . + A0pxp = b0 (P)A1x1 = b1
A2x2 = b2
. . ....
Apxp = bpx1, x2, . . . , xp � 0
Each xi 2 IRni , each Ai 2 IRmi⇥ni , each A0i 2 IRm⇥ni , and each vector
bi 2 IRmi , ci 2 IRni . Let n :=Pp
i=1ni . Note that each xi is a vector.
Mitchell Block Angular Structure 3 / 24
Primal block-angular structure
Separating the blocks
We can exploit the structure by taking
Xi = {xi : Aixi = bi , xi � 0} ✓ IRni
with
X = X1 ⇥ X2 ⇥ . . .⇥ Xp,
the Cartesian product of the individual Xi .
Mitchell Block Angular Structure 4 / 24
n X,:{x,}eRi§¥,×,X i a . " "Il X , 4
% Xp{x,:2Exi4}E 112¥7?" ' " 'Eti
×¥¥÷÷¥
Primal block-angular structure
Writing (P) in terms of X
It follows that the problem can be rewritten as
minx cT1
x1 + cT2
x2 + . . . + cTp xp
subject to A01x1 + A02x2 + . . . + A0pxp = b0 (P)x 2 X
This is in the standard form for Dantzig-Wolfe decomposition, with the
advantage that the subproblem is separable.
The extreme points of X are the Cartesian products of extreme points
of the individual Xi .
The extreme rays of X consist of an extreme ray of one of the Xi in a
Cartesian product with the zero vector from each other Xi .
Mitchell Block Angular Structure 5 / 24
¥t¥÷...
Primal block-angular structure
Extreme points and rays of the blocks
We write the extreme points and rays of each Xi as:
extreme points: {xji 2 IRni : j 2 Ji}, for i = 1, . . . , p,
extreme rays: {dki 2 IRni : k 2 Ki}, for i = 1, . . . , p,
with index sets Ji and Ki for the extreme points and rays of Xi ,
respectively.
Mitchell Block Angular Structure 6 / 24
Primal block-angular structure
Extreme points and rays of the full X
The extreme points of X have the structure
x̄ = (xj11, xj2
2, . . . , xjp
p ) 2 IRn
for some ji 2 Ji for each i = 1, . . . , p.
The extreme rays of X have the structure
d̄ = (0, . . . , 0, dkii , 0, . . . , 0) 2 IRn
for some ki 2 Ki for any one i 2 {1, . . . , p}.
We let {xj : j 2 J} and {dk : k 2 K} denote the sets of extreme points
and rays of X , respectively.
Mitchell Block Angular Structure 7 / 24
Primal block-angular structure
Aggregated or disaggregated
There is a choice in the construction of the Master Problem:
an aggregated form or a disaggregated form.
Mitchell Block Angular Structure 8 / 24
Primal block-angular structure The aggregated form
Outline
1 Primal block-angular structure
The aggregated form
The disaggregated form
2 Other block angular structures
3 If X is too simple
4 Initializing
Mitchell Block Angular Structure 9 / 24
Primal block-angular structure The aggregated form
Master Problem for the aggregated form
The aggregated Master Problem looks exactly like the standard
Dantzig-Wolfe Master Problem. The structure is exploited in the
solution of the subproblem, which is separable. Write
c := (cT1 , . . . , c
Tp )
T 2 IRn, A0 :=⇥A01,A02, . . . ,A0p
⇤2 IRm⇥n.
The Master Problem is
min�,µP
j2J(cT xj)�j +
Pk2K (c
T dk )µk
s.t.P
j2J(A0xj)�j +P
k2K (A0dk )µk = b (MPa)P
j2J �j = 1
�j � 0 8j 2 J, µk � 0 8k 2 K .
Mitchell Block Angular Structure 10 / 24
m i n § c i t is .t . § Aoixi= b
x i C -X i
d k
x i m-
x = (x.,....xp)= Efgt j(xp,...,xpilq.eu/4u(diI...dpY
Primal block-angular structure The aggregated form
Separating the blocks
Given a dual solution ⇡̄ 2 IRm, �̄ 2 IR, the subproblem is
minx2IRn v := (c � AT0⇡̄)T x
subject to x 2 X (SPa(⇡̄))
which can be separated into p problems:
minxi2IRni vi := (ci � AT0i ⇡̄)
T xisubject to xi 2 Xi (SPi(⇡̄))
Mitchell Block Angular Structure 11 / 24
Primal block-angular structure The aggregated form
Updating the Master Problem
If each (SPi(⇡̄)) has a finite optimal value then their extreme point
solutions can be concatenated into an extreme point of X .
If this extreme point has value smaller than �̄ then we have an
additional column for the Master Problem (MPa); else, we can
terminate with optimality.
If any (SPi(⇡̄)) has unbounded optimal value then we can construct an
extreme ray of X and add an additional column to (MPa).
Mitchell Block Angular Structure 12 / 24
Primal block-angular structure The disaggregated form
Outline
1 Primal block-angular structure
The aggregated form
The disaggregated form
2 Other block angular structures
3 If X is too simple
4 Initializing
Mitchell Block Angular Structure 13 / 24
Primal block-angular structure The disaggregated form
Separate � and µ for each Xi
The original primal variables x are expressed as Cartesian products of
points coming from each Xi .
We have
xi =X
j2Ji
�ij xji +
X
k2Ki
µij dki 2 Xi ✓ IRni ,
where X
j2Ji
�ij = 1, �ij � 0 8j 2 Ji , µik � 0 8k 2 Ki .
Then
x = (x1, . . . , xp) 2 X1 ⇥ X2 ⇥ . . .⇥ Xp.
Mitchell Block Angular Structure 14 / 24
Primal block-angular structure The disaggregated form
Separate � and µ for each Xi
The original primal variables x are expressed as Cartesian products of
points coming from each Xi .
We have
xi =X
j2Ji
�ij xji +
X
k2Ki
µij dki 2 Xi ✓ IRni ,
where X
j2Ji
�ij = 1, �ij � 0 8j 2 Ji , µik � 0 8k 2 Ki .
Then
x = (x1, . . . , xp) 2 X1 ⇥ X2 ⇥ . . .⇥ Xp.
Mitchell Block Angular Structure 14 / 24
Primal block-angular structure The disaggregated form
Master Problem for the disaggregated form
Recall original problem:
minx2X1⇥X2⇥...⇥Xp
( pX
i=1
cTi xi :
pX
i=1
A0i xi = b
).
The Master Problem for the disaggregated form is
min�,µPp
i=1
⇣Pji2Ji
(cTi x j
i )�ij +P
ki2Ki(cT
i dki )µik
⌘
s.t.Pp
i=1
⇣Pj2Ji
(A0i xji )�ij +
Pk2Ki
(A0i dki )µik
⌘= b (MPd)
Pj2Ji
�ij = 1,i = 1, . . . , p
�ij � 0 8j 2 Ji , µik � 0 8k 2 Ki .
This problem has p convexity constraints.
Mitchell Block Angular Structure 15 / 24
×i=j%,Ai;Xi'
t Ekey.
Miadi"
Primal block-angular structure The disaggregated form
Dual of disaggregated Master Problem
The dual problem still has a dual variable ⇡ 2 IRm, but now it has a
separate scalar �i dual variable for each i = 1, . . . , p. The dual
problem is:
max⇡2IRm,�2IRp bT⇡ +Pp
i=1�i
subject to (A0i xji )
T⇡ + �i cTi x j j 2 Ji , i = 1, . . . , p
(MDd)
(A0i dki )
T⇡ cTi dk k 2 Ki , i = 1, . . . , p
⇡, � free
Mitchell Block Angular Structure 16 / 24
S o
¥-Ao? a)Tx! z a . V i cJ i
Primal block-angular structure The disaggregated form
Disaggregated vs aggregated
The subproblems are still (SPi(⇡̄))
minxi2IRni vi := (ci � AT0i ⇡̄)
T xisubject to xi 2 Xi (SPi(⇡̄))
In the aggregated formulation, all the subproblems had to be solved to
find a single new extreme point.
That is not necessary in the disaggregated version: the solution to a
single subproblem may give a violated dual constraint, with vi < �̄i .
In the disaggregated version, different combinations of extreme points
are feasible in (MPd): we can take the xj1
from the third iteration with
the xj4
from the seventh iteration, for example;
in (MPa) they are locked together.
Mitchell Block Angular Structure 17 / 24
Primal block-angular structure The disaggregated form
Updating the disaggregated Master Problem
There are three possible outcomes to the subproblems:
1 Optimal value vi of (SPi(⇡̄)) is vi < �̄i for some i : Then we have
found another extreme point of Xi . The dual solution (⇡̄, �̄)violates the constraint in (MDd) corresponding to this extreme
point; the corresponding �j in (MPd) has a negative reduced cost.
2 Optimal value v of (SP(⇡̄)) is vi � �̄i for every i = 1, . . . , p: The
dual solution (⇡̄, �̄) is feasible in (MDd), so we have solved (MPd)and (MDd), and hence (P).
3 Optimal value of (SPi(⇡̄)) is unbounded for some i : Then we have
found another ray di of Xi . The dual solution (⇡̄, �̄) violates the
constraint in (MDd) corresponding to this extreme ray; the
corresponding µk in (MPd) has a negative reduced cost.
In Cases 1 and 3, we update the current subset of columns used in the
Master Problem and iterate; in Case 2 we terminate. Since each Xihas a finite number of extreme points and rays, the algorithm
terminates in a finite number of iterations.
Mitchell Block Angular Structure 18 / 24
Primal block-angular structure The disaggregated form
Updating the disaggregated Master Problem
There are three possible outcomes to the subproblems:
1 Optimal value vi of (SPi(⇡̄)) is vi < �̄i for some i : Then we have
found another extreme point of Xi . The dual solution (⇡̄, �̄)violates the constraint in (MDd) corresponding to this extreme
point; the corresponding �j in (MPd) has a negative reduced cost.
2 Optimal value v of (SP(⇡̄)) is vi � �̄i for every i = 1, . . . , p: The
dual solution (⇡̄, �̄) is feasible in (MDd), so we have solved (MPd)and (MDd), and hence (P).
3 Optimal value of (SPi(⇡̄)) is unbounded for some i : Then we have
found another ray di of Xi . The dual solution (⇡̄, �̄) violates the
constraint in (MDd) corresponding to this extreme ray; the
corresponding µk in (MPd) has a negative reduced cost.
In Cases 1 and 3, we update the current subset of columns used in the
Master Problem and iterate; in Case 2 we terminate. Since each Xihas a finite number of extreme points and rays, the algorithm
terminates in a finite number of iterations.
Mitchell Block Angular Structure 18 / 24
Primal block-angular structure The disaggregated form
Updating the disaggregated Master Problem
There are three possible outcomes to the subproblems:
1 Optimal value vi of (SPi(⇡̄)) is vi < �̄i for some i : Then we have
found another extreme point of Xi . The dual solution (⇡̄, �̄)violates the constraint in (MDd) corresponding to this extreme
point; the corresponding �j in (MPd) has a negative reduced cost.
2 Optimal value v of (SP(⇡̄)) is vi � �̄i for every i = 1, . . . , p: The
dual solution (⇡̄, �̄) is feasible in (MDd), so we have solved (MPd)and (MDd), and hence (P).
3 Optimal value of (SPi(⇡̄)) is unbounded for some i : Then we have
found another ray di of Xi . The dual solution (⇡̄, �̄) violates the
constraint in (MDd) corresponding to this extreme ray; the
corresponding µk in (MPd) has a negative reduced cost.
In Cases 1 and 3, we update the current subset of columns used in the
Master Problem and iterate; in Case 2 we terminate. Since each Xihas a finite number of extreme points and rays, the algorithm
terminates in a finite number of iterations.
Mitchell Block Angular Structure 18 / 24
Other block angular structures
Outline
1 Primal block-angular structure
The aggregated form
The disaggregated form
2 Other block angular structures
3 If X is too simple
4 Initializing
Mitchell Block Angular Structure 19 / 24
Other block angular structures
Other block angular structures
If the transpose of the constraint matrix has a primal block angular
structure then we can apply decomposition to the dual of the problem.
If the constraint matrix has a staircase structure, then a nested
decomposition approach can be used.
Such a structure arises in multiperiod inventory problems:
in each period, we have a variable for stock on hand at the beginning of
the period, a variable for stock consumed and/or produced during the
period, and a variable for the stock on hand at the end of the period.
The stock on hand at the end of one period is the same as the stock on
hand at the beginning of the next.
Mitchell Block Angular Structure 20 / 24
f)"D...,
5I
- . .I t
If X is too simple
Outline
1 Primal block-angular structure
The aggregated form
The disaggregated form
2 Other block angular structures
3 If X is too simple
4 Initializing
Mitchell Block Angular Structure 21 / 24
If X is too simple
If X is too simple
If we take X = IRn+ then X has one extreme point and n extreme rays.
In this case, decomposition reduces to the standard simplex algorithm.
If we take X = [0, 1]n then X has 2n extreme points. The subproblem is
very easy to solve: just examine the sign of each component
of c � AT⇡.
Could disaggregate in this case: get n subproblems each with 2
extreme points, when the Master Problem is again reduced to the
original problem.
Mitchell Block Angular Structure 22 / 24
m i n cTxs-t. A x ebtix.-h
× >o } X E X
m i n E x un i tvector,
s-t. Ax = b
⇒ T X E X = { xe 112̂ :
x-1,0 3
" i i .t o .I
+ Em,eat
x p ,O, E 4=1,µu ?O }
s o ⇐ if:} info:&..- + if;)- (II)
m i [email protected]. O E x ; E l H j
Easy t o solve: look a t signof (c-ATE);.
Xj={x; c .(oil)}={tooth,,l:sa-f:÷:b....,÷÷÷÷÷÷:3
Initializing
Outline
1 Primal block-angular structure
The aggregated form
The disaggregated form
2 Other block angular structures
3 If X is too simple
4 Initializing
Mitchell Block Angular Structure 23 / 24
Initializing
Initializing
Need to first get an extreme point of X .
Can then construct a Phase I problem and solve it using
decomposition.
Mitchell Block Angular Structure 24 / 24