Jul 19, 2011 - Supply chain (SC): network of facilities and distribution options for the procurement of materials; ..... u ⥠0. The original LP has a feasible solution iff the auxiliary LP has an optimal solution ...... Information flow: master â slave.
Mixedinteger programming methods for supply chain optimization C h r i s t o s T. M a r a v e l i a s Chemical and Biological Engineering University of Wisconsin, Madison, WI 53706, USA
July 19-29, 2011, Angra dos Reis, RJ, Brazil
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Outline 1. Supply Chain Management 2. Linear Programming 3. Basic Mixedinteger Linear Programming 4. Advanced Mixedinteger Linear Programming 5. Software Overview 6. Combinatorial Optimization 7. Chemical Production Scheduling 8. Integration of Production Planning and Scheduling Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
The Chemical Supply Chain Supply chain (SC):
network of facilities and distribution options for the procurement of materials; transformation of materials into intermediate and finished products; and distribution of these finished products to customers.
Suppliers Manufacturing Facilities Warehouses/ dist. centers Retailers
Customers
Traditional PSE is concerned with the development of methods for the design, operation, and control of chemical systems.
Chemical industry changes: New products ⇒ multiproduct (and batch?) processes Holistic view of operations
Tayur ‐ FOCAPO 2003: Inventories in SCs: ~ $10 trillion (10% of US GDP) Same customer satisfaction levels with 50% inventory
The goal in supply chain management is to coordinate materials, information and financial flows to fulfill customer demands while improving competitiveness of the supply chain as a whole; in coordinating these flows various decisions have to be made. Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Supply Chain Planning Matrix (Meyr et al., 2002) procurement
Short‐term
distribution
sales
Strategic Planning
Long‐term Medium‐term
production
Master Planning Purchasing & Material
Production Planning
Distribution Planning
Requirements Planning
Scheduling
Transport Planning
Demand Planning Demand Fulfillment
Power Utilities
Integration across time scales and functions Many new interesting problems Power – industrial gases – steel SC Oil – industrial gases – chemicals SC under power constraints
Refinery
Industrial Gases
Chemicals
Customers
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Supply Chain Planning Matrix (Meyr et al., 2002) procurement
Short‐term
distribution
sales
Strategic Planning
Long‐term Medium‐term
production
Master Planning Purchasing & Material
Production Planning
Distribution Planning
Requirements Planning
Scheduling
Transport Planning
Integration across time scales and functions
Corn
Corn Grain
Demand Planning Demand Fulfillment
C4
Hydrolysis
Fermentation
Many new interesting problems Power – industrial gases – steel SC Oil – industrial gases – chemicals SC under power constraints Biomass to fuels and chemicals
Succinic acid Fumaric acid
Sugarcane
Malic acid
Sugars
C5
Bagasse C6 Corn Stover Switch grass Wood Wood waste
Dehydration
Furfural
Dehydration
Levulinic acid FDCA
Fractionation ‐ Catalyst ‐ Steam ‐ Acid ‐ Enzymes
Fast pyrolysis Liquefaction
Bio‐oils (Sugars, Acids) & Lignin
Hydrolysis
Lignin
Demethoxylation Hydrodeoxygenation Zeolite upgrading
BTX Phenols &BTX Aromatics
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Supply Chain Planning Matrix (Meyr et al., 2002) procurement
Short‐term
distribution
sales
Strategic Planning
Long‐term Medium‐term
production
Master Planning Purchasing & Material
Production Planning
Distribution Planning
Requirements Planning
Scheduling
Transport Planning
Demand Planning Demand Fulfillment
Integration across time scales and functions Many new interesting problems Power – industrial gases – steel SC Oil – industrial gases – chemicals SC under power constraints Biomass to fuels and chemicals Integration of production planning and scheduling Exxon Mobil:
2% reduction in operating costs, 20% inventory reduction (Shobrys & White, 2002)
DuPont:
Capital tied up in inventory reduced from $165 to $90 million (Shobrys & White, 2002) Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Outline 1. Supply Chain Management 2. Linear Programming 3. Basic Mixedinteger Linear Programming 4. Advanced Mixedinteger Linear Programming 5. Software Overview 6. Combinatorial Optimization 7. Chemical Production Scheduling 8. Integration of Production Planning and Scheduling Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Linear Programming Standard optimization problem: max f(x) s.t. g(x) = 0 h(x) ≤ 0 x∈X
n - number of variables m - number of equality constraints l – number of inequalities
m n, then it may be easier to solve the dual (LP-D)
Furthermore, the dual solution provides us with sensitivity information The dual variable corresponding to a primal constraint, indicates whether this constraint is active; and by how much Dual values = shadow prices = marginal values
Sign of dual variables Why equality constraints, have unrestricted dual variables? What does the sign say about the RHS? Nonnegative variables in (LP-P) result in ≤ inequalities in max problems ≥ inequalities in min problems
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Duality IV Re-optimization Let assume that we have solved to optimality (LP-P) to obtain z* = cT x* = bT y* What happens if we add a new constraint am+1 x = bm+1 to (LP-P)? ⇒ (LP-P) may become infeasible. What happens to (LP-D)? We add a variable; if we set ym+1= 0, we still have a feasible solution ⇒ We can use the existing basis to continue.
Dual Simplex Method In general, a feasible non-optimal point of (LP-P) corresponds to an infeasible point of (LP-D) [Why???]. In the simplex algorithm, we try to reduce infeasibility of the dual problem. Dual simplex method
Commercial solvers use there three powerful LP algorithms: Primal Simplex Dual Simplex Barrier method
Different methods perform better in different problems Commercial solvers detect certain problem structures & automatically choose appropriate method If we know the structure we can also choose the method Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Outline 1. Supply Chain Management 2. Linear Programming 3. Basic Mixedinteger Linear Programming 4. Advanced Mixedinteger Linear Programming 5. Software Overview 6. Combinatorial Optimization 7. Chemical Production Scheduling 8. Integration of Production Planning and Scheduling Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
MIP in Chemical Engineering Many decisions are discrete in nature: Process Design: 9 Selection of equipment units (e.g. distillation vs. extraction) ‐ Superstructure Optimization 9 Selection of equipment sizes 9 Matching in heat exchanger networks (hot ↔ cold pairs) Process operations: 9 Decision to expand/retrofit a process 9 Split of customer orders to batches 9 Assignment of batches to equipment units 9 Sequencing of batches in the same unit Process Control: 9 Selection of linearized model for MPC 9 On/off control action Applications: Systems Biology 9 Gene addition and/or knock‐out
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Discrete Decisions in Process Design Example: What is the best way to produce Vinyl Chloride Monomer?
Turkay & Grossmann, 1998
Chlorine Direct Chlorination
Low P
Purge
Ethylene Oxychlorination
Flash
High P
Air Water
Hydrogen Chloride
Oxygen
Hydrogen Chloride
Ethylene Dichloride
Reactions: Direct chlorination C2H4 + Cl2→ C2H4Cl2 Oxychlorination C2H4 + 2HCl + 1/2O2 → C2H4Cl2 + H2O Pyrolisis C2H4Cl2 → C2H3Cl + HCl
Separation: HCl/C2H3Cl/C2H4Cl2 mixture 1. Separate HCl/C2H3Cl – C2H4Cl2 2. Separate HCl – C2H3Cl
Vinyl Chloride
1. Separate HCl – C2H3Cl/C2H4Cl2 2. Separate C2H3Cl – C2H4Cl2 Ethylene Dichloride
Optimization Decisions: Distillation sequence (discrete), sizing (discrete or continuous), operating conditions (continuous) Discrete variables are also used to: Represent logic conditions Enforce set of constraints (often including only continuous variables) Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Discrete Decisions in Process Operations Example: Scheduling of a multi-product, multi-stage plant Products (Batches)
1st stage Reaction
2nd stage Separation1
3rd stage Separation2
Optimization Decisions: Number of batches Assignment of batches to units Sequencing of batches in a unit Starting time (continuous)
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Basic Integer Programming Problems Knapsack Problem
We are given n items to be packed in a knapsack Each item i∈{1, 2, …n} has a value pi and a weight wi The capacity of the knapsack is W The goal is to choose the items that fit in the knapsack with the max value We define: Xi = 1 if item i is chosen
Objective:
Items 1
Knapsack
2 . . . n
max z = ∑ pi X i
(K.1)
i, j
∑w X i
i
(K.2)
≤W
Capacity constraint
i
X i ∈ {0,1} ∀i If we had multiple resources j∈{1, 2, ..m} (e.g. weight, volume, etc.) with capacities Wj we would replace (K.2) with (K.3):
∑w X ij
i
≤ Wj
∀j
(K.3)
i
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Basic Integer Programming Problems Assignment Problem
We are given n jobs and n machines (classes/instructors, routes/buses) Each job i∈{1, 2, …n} has to be assigned to a machine j∈{1, 2, … n} The cost of assignment is cij The objective is to find the assignment with the minimum total cost
We define: Xij = 1 if job i is assigned to machine j Objective:
min z = ∑ cij X ij i, j
Jobs
Machines
1
1
2
2 . . .
n
. . . n
(A.1)
∑X
ij
= 1 ∀i
(A.2)
Every job is assigned
∑X
ij
= 1 ∀j
(A.3)
Exactly one job per machine
j
i
X ij ∈ {0,1} ∀i, j
If solved as LP, there is always an optimal solution with integral values Studied by Carl Gustav Jacobi (1890) Solved effectively by the Hungarian method (Kuhn, 1955) Improved by Munkres (1957)
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Basic Integer Programming Problems Traveling Salesman Problem There are n cities to be visited exactly once by a traveling salesman The distance/cost from city i to city j is cij The objective is to find the sequence of cities that yield the minimum total distance/cost
Cities
We define: Xij = 1 if we visit city j after city i Objective:
min z = ∑ cij X ij i, j
(TSP.1)
∑X
ij
= 1 ∀j
(TSP.2) There is an incoming arc for every city j
∑X
ij
= 1 ∀i
(TSP.3) There is an outgoing arc for every city i
i
j
X ij ∈ {0,1} ∀i, j
Exercise Are constraints (TSP.2) & (TSP.3) enough? What type of solution can we get? How can we improve our model? Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Basic Integer Programming Problems Set Covering Problem
We are given n tasks to be covered by m ZU) Open (Zi < ZU)
Exercise
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Variable Selection Rules We want balanced branching and tight bounds: choose j∈NI that yields:
{
max min{Z j
x j =0
,Z
x j =1
}
}
Example Current best (ZU) Closed (infeas or Zi > ZU) Open (Zi < ZU) ZU=14
(0,…,0.1, 0.4, 0.95,...1)
ZU=15
ZU=14.5
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Variable Selection Rules We want balanced branching and tight bounds: choose j∈NI that yields:
{
max min{Z j
x j =0
,Z
x j =1
}
}
Example Current best (ZU) Closed (infeas or Zi > ZU) Open (Zi < ZU) ZU=14
(0,…,0.1, 0.4, 0.95,...1) y=0
ZU=15
ZU=14.5
y=1
ZU=14.1 ZU=16
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Variable Selection Rules We want balanced branching and tight bounds: choose j∈NI that yields:
{
max min{Z j
x j =0
,Z
x j =1
}
}
Example Current best (ZU) Closed (infeas or Zi > ZU) Open (Zi < ZU) ZU=14
(0,…,0.1, 0.4, 0.95,...1)
ZU=15
ZU=14.5
y=0
y=1
ZU=15
ZU=15.2
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Node Selection Rules Depth-first Search: Always choose one of the new subproblems just generated; typically the one with the best lower bound Backtrack when node is discarded 0 1
2
12.5
12.8
3
4
12.85
5
z=12
13.3
6
13.2
12.95
7
8
13.4
9
Advantages: 13.5
10
Can potentially find a (good) solution fast Re-optimization involves the addition of a single constraint (???) Requires modest storage
Disadvantages: “Hidden” good solutions difficult to find Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Node Selection Rules Breadth-first Search: Expand all nodes at each level before go to the next level 0
z=12
1
2
12.5
12.8
3
4
12.85
5 13.3
7
8
13.2
12.95
9 13.4
13.2
10 11 13.3
6
13.4
13
12
13
13.5
13.5
14 13.1
Disadvantages: Examine many non-promising nodes Feasible solutions are found late Create very large tree (memory requirements)
Not used in practice Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Node Selection Rules Best-first Search: Always choose the subproblem with the best lower bound 0
z =12
1
2
12.5
12.8
3
4
7
5 13.3
12.85
8
12.95
13.2
6
13.2
13
11
12
13.5
9 13.4
13.1
10 13.5
Advantages: Examines potentially good nodes Uniformly tighten bounds
Disadvantages: Re-optimization is more expensive Tree tends to be larger
Modern commercial solvers use a combination of depth-first and best-first.
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Special Branching Schemes Special Ordered Sets 1 (SOS1): AND x1 + x2 + x3 + x4 + x5 = 1 AND only one non-zero, xi ≥ 0 (0, 0.5, 0.5, 0, 0) INFEASIBLE x 1 + x2 = 1
x 3 + x4 + x5 = 1
or
(0, 0.5, 0.5, 0, 0) INFEASIBLE x1 = 1 x2 = 1
x3 = 1
x4 = 1
x5 = 1
Special Ordered Sets 2 (SOS2): xi ≥ 0 AND x1 + x2 + x3 + x4 + x5 = 1 AND at most two non-zeros AND consecutive (0, 0.5, 0, 0.5, 0) INFEASIBLE x1=0, x2=0
x3=0, x4=0
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Preprocessing Preprocessing applies simple logic to reformulate and tighten the LP relaxation For MIP problems is better to spend extra time initially to reduce the possibility of long runs Probing Temporarily set a 0-1 variable to 0 or 1 and then redo the logical testing. 5x1 + 3x2 ≥ 4 becomes infeasible when x1=0 ⇒ x1=1 in every feasible solution 5x1 + 4x2 + x3 ≤ 8 If x1=1 then x2=0 and vice versa ⇒ x1 + x2 ≤ 1
(0.8, 0) (1, 0.75, 0)
2x1 + x2 + x3 ≥ 1 becomes strictly redundant when x1=1. ⇒ Can be replaced by x1 + x2 + x3 ≥ 1
(0.5, 0, 0)
Generate Bounds e.g., If the upper bound of a 0-1 variable is less than 1, then it can be fixed to 0. Detect Infeasibilities and Redundant Constraints If Li ≤ Axi ≤ Ui (for l ≤ x ≤ u) then Axi ≤ bi is redundant if Ui ≤ bi and is infeasible for Li < bi.
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Preprocessing In summary preprocessing:
Improves bounds Identifies infeasibility and redundant constraints Fixes variables Generates new valid inequalities Tightens existing inequalities (coefficient improvement)
Not possible to perform all operations and save all information
Computational Effort for preprocessing: 1. Techniques applied to one row ⇒ Always worth doing 2. Saving and preprocessing implication and clique tables 3. Full probing on the matrix
Common strategy: 1. Generate clique and implication inequalities 2. Store them in separate tables 3. Add them to the linear program only when they are violated by the current LP solution Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Heuristics Solution Time proportional to tree size Tree is large when there are many active nodes; i.e. nodes with zi < zbest = ZU How do we keep the size of the tree small? Try to reduce zi as fast as possible ⇒ Variable Selection Rule Try to find large zbest as fast as possible ⇒ Heuristics
Also for large scale instances: “good feasible solutions may be all we can hope for” If we know the structure of the problem: Use any known heuristic to provide an initial zbest e.g. use Lin-Kernigham heuristic to get a usually very good solution for the TSP If we do not know a heuristic: Use LP-based heuristics: Enumerate 0-1 vectors in the neighborhood of the current LP solution and check feasibility OCTANE heuristic (Balas et al., 2002) Successive rounding heuristics Fractional variables sequentially rounded until an integral solution or infeasibility is detected Equivalent to “diving” in the b&b tree: branching on a variable and examine only one child
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Motivation for BranchandCut LP Relaxation Feasible Region
IP Feasible Region X x2
max 3x1 + 4x2 (M) 4x1+3x2 ≤ 10 x1∈{0,1,2,3}, x2∈{0,1}
max 3x1 + 4x2 (M) 4x1+3x2 ≤ 10 x1∈{0,1,2,3}, x2∈{0,1}
x2
1
1
0 0
1
2
3
0
x1
0
1
2
3
x1
Convex Hull of IP Feasible Region (M) max 3x1 + 4x2 4x1+3x2 ≤ 10 x1∈{0,1,2,3}, x2∈{0,1}
x2
1
0 0
1
2
3
x1 Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Valid Inequalities and Cutting Planes LP Relaxation Feasible Region If we have CH(X) we solve just one LP
x2
We need facet defining inequalities Has been done for some problems
1
Valid Inequality 0 0
1
2
3
Facet
In general very difficult Try to approximate instead Find cutting planes
x1 Cutting Plane
4x1 + 3x2 ≤ 10 ⇒ x1 ≤ 2 x2
1
0 0
1
2
3
x1 Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
GomoryChvatal Inequalities Original inequality (ith row):
Σj aij xj ≤ bi
(1)
If all the variables in (1) are non-negative integers then the GC inequality is given by:
Σj ⎣aij⎦ xj ≤ ⎣bi⎦
(2)
A GC inequality can be derived by the LP optimal simplex table from a row with a fractional variable Pure IP’s can be solved by successively adding GC inequalities to the optimal LP solution
Examples: x1 + x2
≤ 1.5
x1 + 0.75x2 ≤ 2.5 1.5x1 + x2
≤2
⇒ x1 + x2 ≤ 1
Cuts-off (0.75, 0.75)
⇒ x1 ≤ 2.5
Cuts-off (2.5, 0)
⇒ x1 + x2 ≤ 2
Not tighter
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Cover Inequalities Original knapsack inequality:
Σj∈J aj xj ≤ b,
xj∈{0,1} (1)
Let C be a subset of J such that Σj∈C aj > b. Then a valid cover inequality is given by:
Σj∈C xj ≤ |C| - 1
xj∈{0,1} (2)
We have to separate cover inequalities Cover inequalities can be made tighter by lifting; i.e. including coefficients for j∉C.
Example: 5x1 + 5x2 + 4x3 ≤ 8
⇒ x1 + x2 ≤ 1 ⇒ x2 + x3 ≤ 1 ⇒ x1 + x2 + x3 ≤ 1
Cuts-off (1, 0.5, 0), (0.5, 1, 0) Cuts-off (0, 1, 0.5), (0, 0.5, 1) Lifted tighter inequality: Gives the Convex Hull
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Example Revisited x2 max 3x1 + 4x2 4x1+3x2 ≤ 10 x1∈{0,1,2,3}, x2∈{0,1}
1
0 0
1
2
3
4x1+3x2 ≤ 10 0 ≤ x1 ≤ 3 0 ≤ x2 ≤ 1
⇒
x1
Gomory-Chvatal Inequality:
Cover Inequalities:
4x1 + 3x2 ≤ 10 x1 + 0.75x2 ≤ 2.5 x1 + ⎣0.75⎦ x2 ≤ ⎣2.5⎦
4x1 + 3x2 ≤ 10
x1 ≤ 2 x1 + x2 ≤ 2
Three units of x1 is a cover: Lifted cover inequality:
⇒ x1 ≤ 2 x2
x2
1
1
0 0
1
2
3
x1
0 0
1
2
3
x1
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
BranchandCut Algorithm
zLP(2) zLP(1) Root Node zLP(3)
(1) (2)
CP(2)
CP(1)
(3)
CP(3)
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
BranchandCut Algorithm Root Node (1)
zLP(4)
(2) (3)
(5)
(4) x1≥2 (6)
(7)
(8)
x1≤1
zLP(5) zLP(6) zLP(7) zLP(8)
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
MIP Computational History: 1950 1998
1954: Dantzig, Fulkerson, S. Johnson: 42 city TSP Solved to optimality using cutting planes and LP
1957: Gomory Cutting plane algorithm: A complete solution
1960: Land, Doig; 1965 Dakin Branch-and-bound (B&B)
1971: MPSX/370, Benichou et al.
1972: UMPIRE, Forrest, Hirst, Tomlin
1972 – 1998: Good B&B remained the state-of-the-art in commercial codes, in spite of • 1973 Padberg • 1974 Balas (disjunctive programming) • 1983 Crowder, Johnson, Padberg: PIPX, pure 0/1 MIP • 1987 Van Roy and Wolsey: MPSARX, mixed 0/1 MIP • Grötschel, Padberg, Rinaldi …TSP (120, 666, 2392 city models solved)
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
MIP Computational History: 1998 Date Linear programming • Stable, robust dual simplex
Variable/node selection • Influenced by traveling salesman problem
Primal heuristics • 8 different tried at root node; retried based upon success • Construction & improvement heuristics • Relaxation-induced neighbor search
Node pre-solve • Fast, incremental bound strengthening (very similar to Constraint Programming)
Presolve – numerous small ideas • Probing in constraints: ∑ xj ≤ (∑ uj) y, y = 0/1 Î xj ≤ ujy (for all j)
Cutting planes • Cliques, disjunctive, flow covers, Gomory, GUB covers, knapsack covers, implied bounds, mix-integer rounding, path cuts, etc. • Aggregation • … Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Computational Progress • Algorithms Primal simplex in 1988 versus best(primal,dual,barrier) today 2,360x • Machines 800x • Net: Algorithm * Machine ~ 1,900,000x
*
Bixby, Fenelon, Gu, Rothberg, Wunderling. A New Generation of MIP Codes, IP Conference in Honor of Egon Balas, June 3-5 2002, Carnegie Mellon University, Pittsburgh, PA Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Computational Progress California Unit Commitment – 7 Day Model UNITCAL_7: 48939 cons, 25755 vars (2856 binary) Previous attempts (by model formulator): 2 Day model: 8 hours, no progress 7 Day model: 1 hour to solve initial LP CPLEX 8.0 on 2.0 GHz Pentium 4 Running defaults ... Reduced MIP has 38872 rows, 19989 columns, and 105612 nonzeros. MIP emphasis: balance optimality and feasibility Root relaxation solution time = 6.70 sec. Node 0
* * * * * *
Nodes Left 0
0+ 150+ 150+ 850+ 930+ 1550+
0 43 43 294 143 278
Objective 1.9396e+07 1.9472e+07 1.9529e+07 1.9559e+07 1.9566e+07 1.9570e+07
IInf 781 354 358 345 399 363 0 0 0 0 0 0
Best Integer
2.0669e+07 1.9648e+07 1.9646e+07 1.9645e+07 1.9638e+07 1.9636e+07
Cuts/ Best Node 1.9396e+07 Cuts: 1220 Cuts: 1260 Cuts: 555 Cuts: 313 Cuts: 266 1.9570e+07 1.9591e+07 1.9591e+07 1.9618e+07 1.9618e+07 1.9627e+07
ItCnt 19505 21719 25122 27311 28751 30151 30151 47897 47897 98212 102700 127050
Gap
5.32% 0.29% 0.28% 0.14% 0.10% 0.04%
GUB cover cuts applied: 2 Clique cuts applied: 27 Cover cuts applied: 4 Implied bound cuts applied: 1038 Flow cuts applied: 1019 Flow path cuts applied: 5 Gomory fractional cuts applied: 152 Integer optimal, tolerance (0.0001/1e-06) : Objective = 1.9635572051e+07 Current MIP best bound = 1.9633624784e+07 (gap = 1947.27, 0.01%) Solution time = 724.41 sec. Iterations = 174362 Nodes = 3575 (1104)
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Computational Progress A customer model:
44 cons, 51 vars, 167 nzs, maximization 51 general integer variables (and no bounds)
Branch-and-cut:
Initial integer solution -2186.0 Initial upper bound -1379.4 …after 1.4 days, 32,000,000 B&C nodes, 5.5 Gig tree Integer solution and bound: UNCHANGED
What’s wrong?
Free vars chase each other off to infinity.
Maximize x + y + z Subject To 2 x + 2 y ≤ 1 z = 0 x free y free x,y integer
This problem can be solved in several ways Euclidean reduction on the constraint [Presolve] Removing z=0, objective is integral [Presolve] Locally valid cuts at the nodes However: Branch-and-bound cannot solve!!!
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Outline 1. Supply Chain Management 2. Linear Programming 3. Basic Mixedinteger Linear Programming 4. Advanced Mixedinteger Linear Programming 5. Software Overview 6. Combinatorial Optimization 7. Chemical Production Scheduling 8. Integration of Production Planning and Scheduling Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
How Can We Solve Hard Problems? Traditional Approaches Better models Better solvers Customized methods • Decomposition algorithms • Problem‐specific algorithms
New and emerging trend Exploiting computational power – parallel computing
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Better Models I The “Pigeon Hole” problem: There are n+1 pigeons and n holes. We want to place all pigeons in the holes but in such way that no pair of pigeons is in the same hole.
Infeasible, but how is the branch and bound tree ? Let xij=1 if pigeon i is in hole j. Assignment of every pigeon in a hole: No pair of pigeons in the same hole:
Σj xij = 1
xij + xkj ≤ 1
∀i ∀j, ∀i,k | i n − τ i
kn '
Integrated Formulation
≤ 1 ∀j , ∀n
βkMINWkn ≤ Bkn ≤ βkMAX Wkn
∀k , ∀n
S in = S i , n −1 + ∑ ρik Bk ,n − τi + ∑ ρik Bkn ≤ ζ iMAX k∈Pi
(
∀k , ∀n
Scheduling
k∈Ci
Cpt = ∑∑ γkWkn + εk Bkn k
Optimization
Planning
)
n
Pkt , I kt ≥ 0, Win ∈ {0,1}, Bin , S kt ≥ 0
Planning time grid (big-bucket Ht) Weeks-months
Scheduling time grid (small-bucket hn) Hours-days
t=0
1 H1
n=0
1
2
…
hn
2
Pi ,1
Pi , 2
Si , N
Si , 2 N
N N+1
…
2N
Planning
Scheduling
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Challenges in Chemical Production Planning Modeling Different production environments Wide range of processing constraints Integration with multiple planning functions ⇒ Develop general modeling framework
Theory Discrete decisions lead to mixed‐integer programming models Existing hardware and software insufficient ⇒ Develop fundamental optimization theory ⇒ Use underlying theory to develop better solution methods
Solution Methods Applications: optimize over long horizon optimize multiple systems simultaneously Intractable large‐scale models ⇒ Develop general & computationally effective methods Projectionbased strategy
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
The Modeling Challenge Batch processing No batch mixing Cleaning‐in‐place between batches Cooling utilities Yeast requirements Release time for media
Continuous processing
Semi‐continuous processing
Litro 500 BPM
FERMENTACIÓN ¼ STD 700 BPM
D. W.
DILUTION TANQUES DE GOBIERNO I
½ STD 600 BPM
½ PREMIER 600 BPM
TANQUES DE GOBIERNO II
½ T.A., ¼ BOH. 750 BPM
Products grouped in families Changeover times & costs between families Orders at due dates Inventory constraints Unit‐product compatibility Storage constraints
Litro 350 BPM
REPOSO
LATA 1200 LPM
TANQUES DE GOBIERNO
½ T.A EXP 750 BPM
TANQUE REPOSO
Fermentation
Filtering
Storage
Bottling
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Modeling Schools of Thought Sequential processing Orders (batches)
1st stage J1
2nd stage J2
...
...
Kth stage JK
...
Operations follow a defined sequence The same batch/lot processed in all stages Finished Orders
...
No batch mixing (blending) or splitting allowed Common in biotech, specialty chemical, and pharmaceutical industries Batchbased methods
Network processing 40%
RM1
40%
A 60%
Int3 ImB
60%
Int2
10%
Batch splitting/mixing allowed Recycle streams, utility requirements
80%
90%
RM2
B 20%
Common in bulk chemicals & oil industries Materialbased methods
Int1 RM3
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Implications of Modeling Diversity Network
R1
M Feed1
Feed 3
Material‐based
60%
T1
40%
Separator U6/U7
S3
70% 30%
T2
P3 (5 orders)
S2 P4
Intermediate 2
Separator U6/U7
(7 orders)
Batch‐based
S4 S5
U4
U6
S6
U5
U7
Stage 1
Stage 2
{U2, U3} {U2, U3}
S2
T3
S1
Intermediate 1
Reactor U4/U5
Reactor U3
{U1}
Reactor U4/U5
P2
Feed 2
S1
S1
R4
R2
40%
Mixer U1
Traditional process representation
P1 Reactor U2
intermediate
Sequential
70%
30%
60%
R3
{U1} 60% T1
S4 S3
30%
70%
S5
T2
{U4,U5} T4
S7
{U6,U7}
S8
Network task Network state Hybrid state
S10
Sequential task Sequential state
T5
{U2, U3}
40% S2
{U2, U3} T3
Sundaramoorthy & Maravelias, 2011
S6
{U4,U5} T6
S9
{U6,U7} T7
Mixed-integer programming methods for supply chain optimization 11 Christos Maravelias, University of Wisconsin - Madison
Industrial Application Processing Stages: Fermentation → Filtering → Storage → Bottling Production Type: Batch, continuous, and semi‐continuous Planning Horizon: 6 weeks Production Environment: Fermentation Bottling Filtering
Storage
Litro 500 BPM
FERMENTACIÓN ¼ STD 700 BPM
D. W.
DILUTION TANQUES DE GOBIERNO I
½ STD 600 BPM
½ PREMIER 600 BPM
TANQUES DE GOBIERNO II
½ T.A., ¼ BOH. 750 BPM
Litro 350 BPM
REPOSO
8 processing units (lines) 22 products families 25 product subfamilies 162 products
LATA 1200 LPM
TANQUES DE GOBIERNO
½ T.A EXP 750 BPM
TANQUE REPOSO
Product families:
Products (for bottling) are grouped into families Changeover costs/times between families; setup costs/times between products Products belong to subfamilies major changeover Product family
Product (item)
Product family minor changeover (sequence independent)
Kopanos et al.,, 2011 Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Industrial Application: Executed Schedule
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Industrial Application: Executed Schedule
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Industrial Application: Integrated Appoach No “memory” across planning periods
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Industrial Application: Integrated Approach No “memory” across planning periods Minimize setup time & costs
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Industrial Application: Results Executed Schedule
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Industrial Application: Results Schedule Found Using Integrated Framework
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Industrial Application: Results Comparison with Implemented Solution
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Challenges in Chemical Production Planning Modeling
Litro 500 BPM
FERMENTACIÓN ¼ STD 700 BPM
D. W.
DILUTION
Different production environments
TANQUES DE GOBIERNO I
½ STD 600 BPM
½ PREMIER 600 BPM
Wide range of processing constraints
TANQUES DE GOBIERNO II
Integration with multiple planning functions
½ T.A., ¼ BOH. 750 BPM
Litro 350 BPM
REPOSO
LATA 1200 LPM
⇒ Develop general modeling framework
TANQUES DE GOBIERNO
½ T.A EXP TANQUE REPOSO
750 BPM
Theory Discrete decisions lead to mixed‐integer programming models Existing hardware and software insufficient ⇒ Develop fundamental optimization theory ⇒ Use underlying theory to develop better solution methods
Solution Methods Applications: optimize over long horizon optimize multiple systems simultaneously Intractable large‐scale models ⇒ Develop general & computationally effective methods Projectionbased strategy
Mixed-integer programming methods for supply chain optimization Christos Maravelias, University of Wisconsin - Madison
Polyhedral Background Summary Definition 1. A polyhedron P is the solution set of a finite system of linear inequalities, i.e. P = {x: Ax ≤ b}. Definition 2. A polyhedron P is a polytope (i.e. a bounded polyhedron) if there exist l, u ∈ Rn: l ≤ x ≤ u; i.e. P = {x: Ax ≤ b, l ≤ x ≤ u for l, u ∈ Rn}. Remark 1: A set of inequalities Ax ≤ b can be converted into a set of equalities Ax + Is = b, s ≥ 0. A polytope can be described by as P = {x: Ax = b, l ≤ x ≤ u}. Remark 2: A vector v of a polyhedron is a vertex (extreme point) if and only if it cannot be written as a linear combination of points in P\{v}. A polytope P is the convex hull of its vertices. Definition 3. A nonempty polyhedron is integral if its vertices are integral. Definition 4. An integral matrix A is totally unimodular (TU) if the determinant of each square submatrix of A is equal to 0, 1, or ‐1. Theorem 1. If A is TU and vectors b, b’, d and d’ are integral, then P(b, b’, d, d’) = {x∈: b’ ≤ Ax ≤ b, d’≤ x ≤ d} is integral if it is not empty (Hoffman & Kruskal, 1956). Theorem 2. If a {0, ±1} matrix has no more than two non zero coefficients in each column, and Σl alm = 0 if column m has two coefficients, then A is TU (Ghouila‐Houri, 1962). Theorem 3. A {0, 1} matrix is an interval matrix (or has the consecutive 1’s property) if for all rows with alm = al’m = 1, l