Mixed-integer programming methods for supply chain ... - CEPAC

15 downloads 0 Views 2MB Size Report
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.
Mixed­integer 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 Mixed­integer Linear Programming 4. Advanced Mixed­integer 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 Mixed­integer Linear Programming 4. Advanced Mixed­integer 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 Mixed­integer Linear Programming 4. Advanced Mixed­integer 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

Pre­processing ƒ 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

Pre­processing 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 Branch­and­Cut 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

Gomory­Chvatal 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

Branch­and­Cut 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

Branch­and­Cut 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 Mixed­integer Linear Programming 4. Advanced Mixed­integer 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 Projection­based 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 ƒ Batch­based 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 ƒ Material­based 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 Projection­based 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

Suggest Documents