dual separation in LP and column generationwits.gist.ac.kr/uploads/Main/netwrok optimization - parts... · · 2011-11-22MichałPióro 1 dual separation in LP and column generation
Post on 16-May-2018
213 Views
Preview:
Transcript
Michał Pióro 1
dual separation in LP and column generation
In many problems most of potential variables are not used in theprimal problem formulation.
Constraints correspond to primal variables that are used. It can happen that we are able to produce one (or more) new dual
constraints (corresponding to primal variables that are not considered in the problem) violated by current optimal dual solution ππππ*.
Then by adding these new constraints we are potentially able to decrease the optimal dual solution (since we are add constraints).
If we decrease the dual maximum then we decrease the primal minimum as W* = F*.
Besides, if we are not able to eliminate current ππππ* then the current primal solution is optimal in the general sense (with all potential primal variables included).
Michał Pióro 2
example - path generation:
flow allocation problem – LP formulation
variables xdp flow realizing demand d on path p
constraints Σp xdp = hd d=1,2,…,D Σd Σp δedpxdp ≤ ce e=1,2,…,E flow variables are continuous and non-negative
D+E non-zero flows at most depending on the number of saturated links if all links unsaturated: D flows only!
How to define the proper lists of paths? By path generation.
Michał Pióro 3
flow allocation problem
– adjusted formulation
variables xdp flow realizing demand d on path p z auxiliary variable
objective minimize z
constraints Σp xdp = hd d=1,2,…,D (λd - unconstrained) Σd Σp δedpxdp ≤ ce+ z e=1,2,…,E (πe ≥ 0) flow variables are continuous and non-negative, z is continuous
Michał Pióro 4
dual
L(x,z; ππππ,λλλλ) = z + Σd λd(hd - Σp xdp) + Σe πe(Σd Σp δedpxdp - ce- z) xdp ≥ 0 for all (d,p)
W(ππππ,λλλλ) = minx≥0,z L(x,z; ππππ,λλλλ)
Dual maximize W(ππππ,λλλλ) = Σd λdhd - Σe πece
subject to Σe πe = 1 λd ≤ Σe δedpπe d=1,2,…,D p=1,2,...,Pd
πe ≥ 0 e=1,2,...,E
Michał Pióro 5
path generation - the reason
Dual maximize Σd λdhd - Σe πece
subject to Σe πe = 1 λd ≤ Σe δedpπe d=1,2,…,D p=1,2,...,Pd
πe ≥ 0 e=1,2,...,E
if we can find a path shorter than ΣΣΣΣe δδδδedpππππe* then we will get a more constrained dual problem and hence have a chance to improve (decrease) the optimal dual value
shortest path algorithm can be used for finding shortest paths withrespect to ππππ*
Michał Pióro 6
path generation - how it works
We can start with only one single path on the list for each demand (Pd = 1 for all d).
Then we solve the extended problem and add one shortest path foreach demand d (if such a path, i.e., a path shorter than all the paths on the current list for demand d, exists).
This process will terminate typically (although not always) after onlyseveral steps.
Cycling may occur, so it is better not to remove paths.
Section 5.4.2
Michał Pióro 7
path generation
note that in the link-path formulation the lists of candidate paths arepredefined
using of full lists is not realistic (exponential number of paths)
optimal dual multipliers πe assocoated with capacity constraints areused to generate new shortest paths
the paths can be generated using Dijkstra (or some other shortest pathalgorithm), e.g., with limited number of hops
Michał Pióro 8
Benders’ decomposition:
projecting out some variables
LP:
maximize z = cysubject to Ax + Dy ≤ b, x, y ≥ 0
The problem has the feasible polyhedron P in (x,y)-space. The idea is to get an equivalent problem only in variables y in
polyhedron Q in the y-space. Q is the projection of P onto the y-space.
LP:
maximize z = cysubject to Ey ≤ g, y ≥ 0
Lasdon, Minoux
Michał Pióro 9
Benders’ decomposition:
dimensioning problem (LP or MIP)
variables xdp flow realizing demand d on path p (continuous) ye link capacities, continuous (LP) or integer (MIP)
objective minimize Σe ξeye
constraints Σp xdp = hd d=1,2,…,D Σd Σp δedpxdp ≤ ye e=1,2,…,E
Michał Pióro 10
Benders’ decomposition
iterative process
eliminate flow variables x introduce new constraints on y
Section 5.4.3
Michał Pióro 11
BD scheme
Step 0 ΩΩΩΩ := ye ≥ 0 : e=1,2,...,E (set of inequality constraints on y)
Step 1: solve master problem (y*) minimize Σe ξeye
subject to ΩΩΩΩ Step 2: perform the feasibility test ( ππππ*,λλλλ*)
maximize W(ππππ,λλλλ) = Σd λdhd - Σe πeye* subject to
Σe πe = 1 λd ≤ Σe δedpπe d=1,2,…,D p=1,2,...,Pd
πe ≥ 0 e=1,2,...,Eif W(ππππ*,λλλλ*) > 0 then add inequality Σd λd*hd - Σe πe* ye ≤ 0 to ΩΩΩΩ
Step 3: if new inequality is added then go to Step 1, otherwise STOP
Michał Pióro 12
BD scheme - remarks
In MP there are no flow variables FT is a dual to the flow allocation problem:
objective minimize z constraints
Σp xdp = hd d=1,2,…,D (λd - unconstrained) Σd Σp δedpxdp ≤ ye*+ z e=1,2,…,E (πe ≥ 0) flow variables are continuous and non-negative, z is
continuous Problem: too many constraints Can be much effective than the direct approach for the MIP
version
Michał Pióro 13
IPs and MIPs
Integer Program (IP)
maximize z = cxsubject to Ax ≤ b, x ≥ 0 (linear constraints)
x integer (integrality constraint)
Mixed Integer Program (MIP)
maximize z = cx + dysubject to Ax + Dy ≤ b, x, y ≥ 0 (linear constraints)
x integer (integrality constraint)
Michał Pióro 14
IP and MIP: example
IP MIP
maximize z = 5x1 + 5x2 maximize z = 2x1 - 2y1
subject to 2x1 + x2 ≤ 10 subject to -2x1 – y1 ≤ -3x1 + 2x2 ≤ 10 5x1 – 2y1 ≤ 17
x1 ≥ 0, x2 ≥ 0 and integer – 2y1 ≤ -1
x1 ≥ 0 and integery1 ≥ 0
7
6
5
4
3
2
1
6 754321
7
6
5
4
3
2
1
6 754321
max 5x 1 + 5x2
max 2x 1 – 2y1
x1
x2 y1
x1
Michał Pióro 15
MIP and its linear relaxation
Linear Relaxation (MIP LP)
maximize z = cx (zLPMIP)
subject to Ax ≤ b, x ≥ 0 (linear constraints)
Mixed Integer Program (MIP)
maximize z = cx + dy (zMIP)
subject to Ax + Dy ≤ b, x, y ≥ 0 (linear constraints)x integer (integrality constraint)
Assume rational data. Then: zMIP ≤ zLP
MIP
If MIPLP infeasible (zLPMIP = -∞) then MIP ineasible (zMIP = -∞)
If MIPLP unboubed (zLPMIP = +∞) then MIP either ineasible or unbounded (zMIP = +∞).
If optimal solution to MIPLP happens to be integer in x then it is an optimal solution to MIP.
Michał Pióro 16
optimization methods for MIP and IP
no hope for efficient (polynomial time) exact general methods main stream for achieving exact solutions:
branch-and-bound branch-and-cut
based on using LP can be enhanced with Lagrangean relaxation
dynamic programming
stochastic heuristics evolutionary algorithms, simulated annenaling, etc.
Michał Pióro 17
general B&B algorithim for the pure binary case
Problem P minimize z = cx subject to Ax ≤ b
xi ∈ 0,1, i=1,2,...,n
NU, N0, N1 ⊆ 1,2,...,n partition of N = 1,2,...,n
P(NU,N0,N1) – relaxed problem in continuous variables xi, i ∈ NU
0 ≤ xi ≤ 1, i ∈ NU
xi = 0, i ∈ N0
xi = 1, i ∈ N1
zbest = +∞ upper bound (or the best known feasible solution of problem P)
Michał Pióro 18
B&B for the pure binary case - algorithm
procedure BBB(NU,N0,N1)
beginsolution(NU,N0,N1,x,z); solve P(NU,N0,N1)
if NU = ∅ or for all i ∈ NU xi are binary thenif z < zbest then begin zbest := z; xbest := x end
elseif z ≥ zbest then
return bounding else
begin branching
choose i ∈ NU such that xi is fractional;BBB(NU \ i ,N0∪ i ,N1); BBB(NU \ i ,N0,N1∪ i )
endend procedure
Michał Pióro 19
original problem:(IP) maximise cx
subject to Ax ≤ bx ≥ 0 and integer
linear relaxation:(LR) maximise cx
subject to Ax ≤ bx ≥ 0
B&B - example
• The optimal objective value for (LR) is greater than or equal to
the optimal objective for (IP).• If (LR) is infeasible then so is (IP).
• If (LR) is optimised by integer variables, then that solution
is feasible and optimal for (IP).• If the cost coefficients c are integer, then the optimal objective for (IP)
is less than or equal to the “round down” of the optimal objective for (LR).
Michał Pióro 20
B&B - knapsack problem
maximise 8x1 + 11x2 + 6x3+ 4x4
subject to 5x1 + 7x2 + 4x3 + 3x4 ≤ 14xj ∈ 0,1 , j=1,2,3,4
(LR) solution: x1 = 1, x2 = 1, x3 = 0.5, x4 = 0, z = 22 no integer solution will have value greater than 22
Fractional
z = 22
x3 = 0
Fractional
z = 21.65
x3 = 1
Fractional
z = 21.85
add the constraint to (LR)
x1 = 1, x2 = 1, x3 = 0, x4 = 0.667 x1 = 1, x2 = 0.714, x3 = 1, x4 = 0
Michał Pióro 21
• we know that the optimal integer solution is not greater than 21.85 (21 in fact)
• we will take a subproblem and branch on one of its variables
- we choose an active subproblem (here: not chosen before)- we choose a subproblem with highest solution value
B&B example cntd.Fractional
z = 22
x3 = 0
Fractional
z = 21.65
x3 = 1
Fractional
z = 21.85
x1 = 1, x2 = 0, x3 = 1, x4 = 1x1 = 0.6, x2 = 1, x3 = 1, x4 = 0
x3 = 1, x2 = 0
Integer
z = 18
INTEGER
x3 = 1, x2 = 1
Fractional
z = 21.8
no further branching, not active
Michał Pióro 22
B&B example cntd.Fractional
z = 22
x3 = 0
Fractional
z = 21.65
x3 = 1
Fractional
z = 21.85
x1 = 0, x2 = 1, x3 = 1, x4 = 1 x1 = 1, x2 = 1, x3 = 1, x4 = ?
x3 = 1, x2 = 0
Integer
z = 18
INTEGER
x3 = 1, x2 = 1
Fractional
z = 21.8
x3 = 1, x2 = 1, x1 = 0
Integer
z = 21
INTEGER
x3 = 1, x2 = 1, x1 = 1
Infeasible
INFEASIBLE
there is no better solution
than 21: fathom
optimal
Michał Pióro 23
B&B example - summary
Solve the linear relaxation of the problem. If the solution is integer, then we are done. Otherwise create two new subproblems by branching on a fractional variable.
A subproblem is not active when any of the following occurs:
you have already used the subproblem to branch on
all variables in the solution are integer the subproblem is infeasible
you can fathom the subproblem by a bounding argument.
Choose an active subproblem and branch on a fractional variable. Repeat until there are no active subproblems.
Remarks If x is restricted to integer (but not necessarily to 0 or 1), then if x = 4.27 you would
branch with the constraints x ≤ 4 and x ≥ 5. If some variables are not restricted to integer you do not branch on them.
Michał Pióro 24
single-path allocation problem – IP formulation
variables udp binary flow realizing demand d on path p
constraints Σp udp = 1 d=1,2,…,D Σd Σp δedphdudp ≤ ce e=1,2,…,E
???
Michał Pióro 25
single-path allocation problem – modified IP formulation
variables udp binary flow realizing demand d on path p
minimize z
constraints Σp udp = 1 d=1,2,…,D Σd Σp δedphdudp ≤ ce + z e=1,2,…,E
Michał Pióro 26
B&B for the binary case - example
c=0
c=4
c=9
h1=10h2=4
all relaxed
z = 0.33
u11=0.033, u12=0.933, u13=0.033u21=0, u22=0, u23=1
u11=0
z = 0.33u11=1
z = 10
u11=0, u12=0z = 6 (integer)
u11=0, u12=1
z = 1 (int. opt.)
u11=0, u12=0, u13=1u21=0, u22=1, u23=0
u11=0, u12=1, u13=0u21=0, u22=0, u23=1
Michał Pióro 27
General B&B algorithim for the mixed binary case
Problem P minimize z = cx subject to Ax ≤ b
xi ∈ 0,1, i=1,2,...,k
xi ≥ 0, i=k+1,k+2,...,n
NU, N0, N1 ⊆ 1,2,...,k partition of 1,2,...,k P(NU,N0,N1) – relaxed problem in continuous variables xi,
i ∈ NU∪k+1,k+2,...,n
0 ≤ xi ≤ 1, i ∈ NU
xi ≥ 0, i=k+1,k+2,...,n xi = 0, i ∈ N0
xi = 1, i ∈ N1
zbest = +∞ upper bound (or the best known feasible solution of problem P)
Michał Pióro 28
B&B for the mixed binary case - algorithm
procedure BBB(NU,N0,N1)
beginsolution(NU,N0,N1,x,z); solve P(NU,N0,N1)
if NU = ∅ or for all i ∈ NU xi are binary thenif z < zbest then begin zbest := z; xbest := x end
elseif z ≥ zbest then
return bounding else
begin branching
choose i ∈ NU such that xi is fractional;BBB(NU \ i ,N0∪ i ,N1); BBB(NU \ i ,N0,N1∪ i )
endend procedure
Michał Pióro 29
General B&B algorithim for the integer case
Problem P minimize z = cx subject to Ax ≤ b
xj non-negative integer, j=1,2,...,k
xj ≥ 0, continuous, j=k+1,k+2,...,n
Direct BB procedure: Set of inequalities Ω = node of the BB tree:
0 ≤ dj(Ω) ≤ xj ≤ gj(Ω) ≤ Mj, j=1,2,...,k
Problem P(Ω) minimize z = cx (z(Ω))
subject to Ax ≤ b dj(Ω) ≤ xj ≤ gj(Ω), j=1,2,...,k (x’(Ω)) xj ≥ 0, continuous, j=k+1,k+2,...,n (x”(Ω))
Michał Pióro 30
B&B for the integer case - algorithm
procedure BBI(Ω) begin
solution(Ω,z(Ω),x’(Ω),x”(Ω)); solve P(Ω)
if integer(x’(Ω)) thenif z(Ω) < zbest then begin zbest := z; xbest := (x’(Ω),x”(Ω)) end
else x’ contains non-integer componenets
if z(Ω) ≥ zbest thenreturn bounding
elsebegin branching
choose index j of one of the non-integer components of x’(Ω);
BBI(Ω \ dj(Ω) ≤ xj ≤ gj(Ω) ∪ dj(Ω) ≤ xj ≤ xj(Ω) );
BBI(Ω \ dj(Ω) ≤ xj ≤ gj(Ω) ∪ xj(Ω) ≤ xj ≤ gj(Ω) );end
end procedure
Michał Pióro 31
B&B algorithim - comments
Also, integer MIP can always be converted into binary MIPtransformation: xj = 20uj0 + 21uj1 + ... + 2qujq (xj ≤ 2q+1 -1)
Lagrangean relaxation can also be used for finding lower bounds (instead of linear relaxation).
Branch-and-Cut (B&C ) combination of B&B with the cutting plane method the most effective exact approach to NP-complete MIPs idea: add „valid inequalities” which define the facets of the integer
polyhedron the valid inequalities generation is problem dependent, and not based on
general „formulas”as for the cutting plane method (e.g., Gomory fractional cuts)
Michał Pióro 32
cutting plane method for MIPs (Gomory)
Definitions
P(A,D,b) = (x,y) ∈Rn+p: Ax + Dy ≤ b, x ≥ 0, y ≥ 0 – MIPLP domain
DM = (x,y) ∈Zn×Rp: Ax + Dy ≤ b, x ≥ 0, y ≥ 0 – MIP domain
An inequality fx + gy ≤ f0 is called a valid inequality for MIP if
fx + gy ≤ f0 for all (x,y) ∈ DM A valid inequality for MIP is a cut (or cutting plane) if
P(A,D,b) ∩ (x,y) ∈Rn+p: fx + gy ≤ f0 ⊂ P(A,D,b) where the containment is proper
Note that MIP is equivalent to LP: max cx + dy: (x,y) ∈∈∈∈ Conv(DM)
In a tutorial by Manfred Padberg: „Cutting Plane Methods for Mixed-Integer Programming”
Michał Pióro 33
conv(DM)
IP MIP
maximize z = 5x1 + 5x2 maximize z = 2x1 - 2y1
subject to 2x1 + x2 ≤ 10 subject to -2x1 – y1 ≤ -3x1 + 2x2 ≤ 10 5x1 – 2y1 ≤ 17
x1 ≥ 0, x2 ≥ 0 and integer – 2y1 ≤ -1
x1 ≥ 0 and integery1 ≥ 0
7
6
5
4
3
2
1
6 754321
7
6
5
4
3
2
1
6 754321x1
x2 y1
x1
Michał Pióro 34
cutting plane method - continued
Let P0 = P(A,D,b) = (x,y) ∈Rn+p: Ax + Dy ≤ b, x ≥ 0, y ≥ 0 and z0 = cx 0 + dy0 = max cx + dy : (x,y) ∈P0
If x0 ∈ Zn or z0 ∈ -∞,+∞ then STOP.
Otherwise, let F be a family of cuts for MIP, such that fx 0 + gy0 > f0for all (f,g,f0) ∈ F.Let P1 = P0 ∩ (x,y) ∈Rn+p: fx + gy ≤ f0 for all (f,g,f0) ∈ F ⊂ P0
and z1 = cx 1 + dy1 = max cx + dy : (x,y) ∈P1 .
Michał Pióro 35
cutting plane method - continued
Note that DM ⊆ P1 ⊂ P0 and we can iterate, generating a sequence of polyhedra
P0 ⊃ P1 ⊃ ... ⊃ Pk ⊃ Pk+1 ⊃ ... ⊇ conv(DM) ⊇ DM
such that
zk+1 = cx k+1 + dy k+1 ≤ zk = cx k + dyk
where zk = cx k + dy k = max cx + dy : (x,y) ∈Pk .
We stop when xk ∈ Zn or zk = -∞ (i.e., when Pk = ∅).
Michał Pióro 36
illustration
IP MIP
maximize z = 5x1 + 5x2 maximize z = 2x1 - 2y1
subject to 2x1 + x2 ≤ 10 subject to -2x1 – y1 ≤ -3x1 + 2x2 ≤ 10 5x1 – 2y1 ≤ 17
x1 ≥ 0, x2 ≥ 0 and integer – 2y1 ≤ -1
x1 ≥ 0 and integery1 ≥ 0
7
6
5
4
3
2
1
6 754321
7
6
5
4
3
2
1
6 754321
max 5x 1 + 5x2
max 2x 1 – 2y1
x1
x2 y1
x1
Cut: x 1 + x2 ≤ 6 Cut: 2x 1 - 2x2 ≤ 5
Michał Pióro 37
Chvátal-Gomory valid inequalities
For the set X = x ∈ Rn+ : Ax ≤ b ∩ Zn ( A is m x n, aj is its j-th column)
and any u ∈ Rn+ the following are valid inequalities:
Σj=1,2,...,n ua j xj ≤ ub ( because u ≥ 0 )
Σj=1,2,...,n ua j xj ≤ bu ( because x ≥ 0 )
Σj=1,2,...,n ua j xj ≤ bu ( because the left hand side is integer )
Theorem:
Every valid inequality for X can be obtained by applying the Chvátal-Gomory procedure a finite number of times.
Michał Pióro 38
Gomory cutting plane method – details for IP
Wolsey – Integer Programming
Integer Program (IP)
maximize z = cx (zIP)
subject to Ax = b, x ≥ 0 (linear constraints)x integer (integrality constraint)
Idea solve the associated LP relaxation
find optimal basis choose a basic variable that is not integer
generate the Chvátal-Gomory inequality using the constraint associated with this basic variable to cut-off the current relaxed solution
Michał Pióro 39
the inequalityfrom the final simplex tableau:
max c + Σj∈NB cj xj
xu + Σj∈NB auj xj = bu for u=1,2,...,mx ≥ 0
(where cj ≤ 0 for j ∈NB, bu ≥ 0 for u=1,2,...,m)
take u with fractional bu and add the cut:
xu + Σj∈NB auj xj ≤ bu
this inequality cuts off the current fractional solution x*
Note that the new slack variable
s = - f0 + Σj∈NB fj xj
is a non-negative integer.
Equivalently, by eliminating xu:
Σj∈NB (auj - auj ) xj ≥ bu- bu
or Σj∈NB fj xj ≥ f0where fj = auj - auj for j ∈ NB, f0 = bu - bu
Michał Pióro 40
the inequality for MIP – Gomory mixed integer cut
xu + Σj∈NB1 auj xj + Σj∈NB2 auj yj = bu for some u=1,2,...,m, bu ≥ 0 and fractional
fj = auj - auj for j ∈ NB1 ∪ NB2, f0 = bu - bu
Σfj ≤ f0 xj fj + Σfj > f0 xj (f0(1 - fj))/(1 - f0) + Σauj > 0 yj auj + Σauj < 0 yj auj f0/(1 - f0) ≥ f0
this inequality cuts off the current fractional solution (x*,y*)
Mixed Integer Program (MIP)maximize z = cx + dy (zMIP)
subject to Ax + Dy = b, x, y ≥ 0 (linear constraints)x integer (integrality constraint)
Michał Pióro 41
cutting plane method - discussion
Is it always possible to find a cut that cuts off the LP optimum?
YES – the previous methods.
Does there exist a cut generation mechanism which guarantees the finite number of steps?
NO, only for IP (certainly, the number of iterations is in general exponential).
For mixed binary programs this is an open question. For MIPs finite converge is guaranteed if the objective function is integer valued.
Michał Pióro 42
lifted cover inequalities
knapsack inequality: Σi ai xi ≤ b xi ∈ 0,1
cover inequality: Σi ∈C xi ≤ |C| - 1 C ⊆ 1,2,...,n lifted cover inequality: Σi ∈C xi + Σi ∈N\C αixi ≤ |C| - 1 0 ≤ αi ≤ |C| - 1
K.Kaparis& A.N.Letchford
[x1,x2,x3]
x4
x5
Step 0: find a minimal cover
KI: x1 + x2 + 2x3 + 2x4+ 3x5 ≤ 3CI: x1 + x2 + x3 ≤ 2
Step 1: assume x4 = 1
max Σi=13 xi : x1+ x2+ 2x3 + 2 ≤ 3 = 1; α4= 2 – 1 = 1
LCI: x1+ x2 + x3 + x4 ≤ 2
Step 2: assume x5 = 1
max Σi=14 xi : x1+ x2+ 2x3 + 2x4 + 3 ≤ 3 = 0;
α5 = 2 - 0 = 2LCI: x1+ x2 + x3 + x4 + 2x5 ≤ 2
Michał Pióro 43
problem-dependent generation of cuts (separators)
Let P = Conv DM = polyhedron for MIP
Let SP = set of all valid inequalities for P
= (f,g,f0) ∈ Rn+p+1 : P ⊆ (x,y) ∈Rn+p : fx + gy ≤ f0
Ideally:minimize G(f,g,f0) over all (f,g,f0) ∈ SPwhere
G(f,g,f0) = max z = cx + dy : (x,y) ∈ Pk ∩ (x,y)∈Rn+p : fx + gy ≤ f0 (we want to a separator that drives the objective function down as fast as possible)
Too difficult: In practice we try to find a most violated separator :maximize fxk + gyk - f0
over all (f,g,f0) ∈ SP such that f+ g = 1
10100 facets, two suffice (outer cone)
Michał Pióro 44
separation theorem
The polyhedral separation problem for P:
Given (x,y) ∈Rn+p either
(i) conclude that (x,y) ∈ P(ii) find a most violated separator (cut) (f,g,f0) ∈ SP
(such that f+ g = 1) for (x,y) and P.
TheoremMIP is solvable in polynomial time if and only if
the polyhedral separation problem is solvable in polynomial time.
Still, even though generating cuts is in general difficult for difficult MIPs, there is a chance to effectively generate good cuts.
Michał Pióro 45
B&B algorithims - comments
A priori addition of cuts at the root of the B&B tree – only a limited number
Branch-and-Cut (B&C ) combination of B&B with the cutting plane method the most effective exact approach to MIPs idea: add „valid inequalities” which define the facets of the integer
polyhedron generation of valid inequalities can be problem dependent, and not
necessarily based on general „formulas”as for the cutting plane method(e.g., Gomory fractional cuts)
Branch-and-Price (B&P) combination of B&B and column generation
B&C&P as well
Michał Pióro 46
IP (and MIP) is NP-hard
SATISFIABILTY PROBLEM (SAT) can be expressed as IP even as a binary program (all integer variables are binary)
Every real-life problem can be modeled(with a sufficient accuracy) as a MIP!
Michał Pióro 47
X - set of vectors x = (x1,x2,...,xn)
x ∈ X iff Ax ≤ b and x are integers
Decision problem:Instance: given n, A, b, C, and linear function f(x).
Question: is there x ∈ X such that f(x) ≤ C?
The SAT problem is directly reducible to a binary IP problem. assign binary variables xi and xi with each Boolean variables ui and ui
an inequality for each clause of the instance of SAT (x1 + x2 + x4 ≥ 1) add inequalities: xi + xi = 1, i=1,2,...,n
Integer Programming is NP-hard
Michał Pióro 48
Why LPs, MIPs, and IPs are so important?
in practice only LP guarantees efficient solutions
decomposition methods are available for LPs
all real-life problems can be expressed as MIPs!
MIPs and IPs can be solved by general solvers by the branch-
and-cut method, based on LP
CPLEX, XPRESS
sometimes very efficiently
otherwise, we have to use (frequently) unreliable stochastic
meta-heuristics (sometimes specialized heuristics)
top related