Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even...
Transcript of Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even...
![Page 1: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/1.jpg)
1
Algorithms for Decision Support
Integer linear programming models
![Page 2: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/2.jpg)
2
http://www.schiphol.nl/Travellers/AtSchiphol/InformationForPassengersWithReducedMobility.htm
People with reduced mobility (PRM) require assistancewhen travelling through the airport
ADS, Integer Linear Programming
![Page 3: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/3.jpg)
3
PRMs: Possible techniques for decisionsupport
1. Management considers to change the locations of thelounges and to extend the number of lounges
2. Management want to find good strategies for assigningPRMs to employees1. Define a few different options2. Imitate the process of supervising PRMs in the computer3. Run each option and compute the performance4. Compare the performance to the currrent situation and select
the best option
Discrete-event simulation
ADS, Integer Linear Programming
![Page 4: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/4.jpg)
4
PRMs: Possible techniques for decisionsupport (2)
1. Management wants to find the best locations of thelounges
2. Management wants to determine the assignment of PRM’sto employees such the waiting time for the PRM’s outsidethe lounges is minimal.
Combinatorial optimization
ADS, Integer Linear Programming
![Page 5: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/5.jpg)
5
Combinatorial optimization
Define variables x representing a schedule Express waiting time 𝑤 𝑥 in terms of these variables Formulate constraints in terms of these variables: 𝑥 ∈ 𝐶 C contains a finite but very large number of element Optimize:
ADS, Integer Linear Programming
![Page 6: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/6.jpg)
6
Integer linear programming
Mainstream optimization method in scientific research Extremely important optimization algorithm in practice Used by Tennet to analyse the system adequacy
(leveringszekerheid) of the Dutch electricity network Used by U-OV to determine the sequence of trips for each
of their buses Record for solving Travelling Salesman Problem
10/10/2019
![Page 7: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/7.jpg)
7
Contents
We forget stochastics for a while We move to discrete (or combinatorial) optimization Integer linear programming is well-known modelling and
solution technique First, linear programming Modelling integer linear programming problems Solving integer linear programming problems by branch-
and-bound. Branch-and-cut
ADS, Integer Linear Programming
![Page 8: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/8.jpg)
8 ADS, Integer Linear Programming
Example: Ajax
Three types of computers: Alpha, Beta, and Gamma. Net profit: $350,- per Alpha, $470,- per Beta, and
$610,- per Gamma. Every computer can be sold at the given profit. Testing: Alpha and Beta computers on the A-line,
Gamma computers on the C-line. Testing takes 1 hour per computer. Capacity A-line: 120 hours; capacity C-line: 80
hours. Required labor: 10 hours per Alpha, 15 hours per
Beta, and 20 hours per Gamma. Total amount of labor available: 2000 hours.
![Page 9: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/9.jpg)
9 ADS, Integer Linear Programming
Example: Ajax
)labor( 2000)lineC( 48
line)(A 120
0MC,MB,MAMC20MB15MA10
MCMBMAsubject to
MC610 MB470 MA350 Z max
Decision variables: MA number of alpha’s produced, etc
Objective function
Constraints
![Page 10: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/10.jpg)
10
Linear programming
Min cTxs.t. Ax ≤ b
x ≥ 0
With 𝑥 ∈ ℝ , 𝑐 ∈ ℚ , A ∈ ℚ , and 𝑏 ∈ ℚ
ADS, Integer Linear Programming
![Page 11: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/11.jpg)
11ADS, Integer Linear Programming
LP:Geometric
121 xx
0x2 21max xx 2
321 xx
2
1
3
1 2 3
0x1
![Page 12: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/12.jpg)
12
The simplex method
Example dictionaries
ADS, Integer Linear Programming
![Page 13: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/13.jpg)
13 ADS, Integer Linear Programming
![Page 14: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/14.jpg)
14 ADS, Integer Linear Programming
![Page 15: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/15.jpg)
15 ADS, Integer Linear Programming
![Page 16: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/16.jpg)
16 ADS, Integer Linear Programming
![Page 17: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/17.jpg)
17 ADS, Integer Linear Programming
![Page 18: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/18.jpg)
18 ADS, Integer Linear Programming
![Page 19: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/19.jpg)
19 ADS, Integer Linear Programming
![Page 20: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/20.jpg)
20
Solution options
A linear programming problem can
be infeasible Example:
max 6𝑥 4𝑥 𝑥 𝑥 3, 2𝑥 2𝑥 8, 𝑥 , 𝑥 0
be unbounded Example:
max 6𝑥 4𝑥 𝑥 𝑥 3, 2𝑥 2𝑥 8, 𝑥 , 𝑥 0for any 𝜆 2 we have that 𝑥 𝜆, 𝑥 𝜆 is feasible
have a bounded optimum
ADS, Integer Linear Programming
![Page 21: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/21.jpg)
21 ADS, Integer Linear Programming
![Page 22: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/22.jpg)
22
Agenda Tue 8-10
Last week: Example of solving LP by Simplex method This is to help you understand MIP Execution of Simplex method will not be asked at exam
Today Introduction MIP Solving MIP by branch-and-bound Modelling
ADS, Integer Linear Programming
![Page 23: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/23.jpg)
23
Linear programming
Min cTxs.t. Ax ≤ b
x ≥ 0
With 𝑥 ∈ ℝ , 𝑐 ∈ ℚ , A ∈ ℚ , and 𝑏 ∈ ℚ
ADS, Integer Linear Programming
![Page 24: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/24.jpg)
24
Solution method for linear programming
Simplex method Slower than polynomial Practical
Ellipsoid method Polynomial (Khachian, 1979) Not practical
Interior points methods Polynomial (Karmakar, 1984) Outperforms Simplex for very large instances
PLPADS, Integer Linear Programming
Seems not too hard to implement. But, for largerproblems you run intonumerical problems. Use a standard solver (Gurobi, CPLEX, GLPK)
![Page 25: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/25.jpg)
25
Knapsack problem
Item 1:paper 2:book 3:bread 4:smart-phone
5:water
Utility 8 12 7 15 12Volume 4 8 5 2 6
Knapsack with volume 15What should you take with you to maximize utility?
ADS, Integer Linear Programming
![Page 26: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/26.jpg)
26
Knapsack problem (2)
max z= 8 x1 + 12 x2 + 7 x3 + 15 x4 + 12 x5
subject to4 x1 + 8 x2 + 5 x3 + 2 x4 + 6 x5 ≤ 15x1, x2, x3 , x4 , x5 Є {0,1}
x1 = 1 if item 1 is selected, 0 otherwise, x2, ……
ADS, Integer Linear Programming
![Page 27: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/27.jpg)
27
Knapsack problem (3)
n items, knapsack volume b Item j has
Utility (revenue) cj
Volume (weight) aj
MIP formulation Decision variables: 𝑥 1 if item j is selected and 𝑥 0
otherwise
𝐦𝐚𝐱 ∑ 𝒄𝒋𝒙𝒋𝒏𝒋 𝟏
s.t.∑ 𝒂𝒋𝒙𝒋 𝒃𝒏
𝒋 𝟏
𝒙𝒋 ∈ 𝟎, 𝟏 𝒋 𝟏, … , 𝒏
ADS, Integer Linear Programming
![Page 28: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/28.jpg)
28
(Mixed) Integer linearProgramming (MIP)
Min cTx + dT ys.t. Ax + By ≤ b
x,y ≥ 0x integral (or binary)
Extension of LP:Good news: more possibilities for modellingMany problems from transportation, logistics,
rostering, health care planning etc Bad news: larger solution times
ADS, Integer Linear Programming
Success factor!
![Page 29: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/29.jpg)
29
(Mixed) Integer linearprogramMin cTxs.t. Ax + By ≤ b
x,y ≥ 0x integral(or binary)
LP-relaxationMin cTxs.t. Ax + By ≤ b
x,y ≥ 0
Lower bound (or upperbound in case of maximization)
ADS, Integer Linear Programming
![Page 30: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/30.jpg)
30 ADS, Integer Linear Programming
![Page 31: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/31.jpg)
31
Knapsack problem
n items, knapsack volume b Item j has
Utility (revenue) cj
Volume (weight) aj
MIP formulation Decision variables: 𝑥 1 if item j is selected and 𝑥 0
otherwise
𝐦𝐚𝐱 ∑ 𝒄𝒋𝒙𝒋𝒏𝒋 𝟏
s.t.∑ 𝒂𝒋𝒙𝒋 𝒃𝒏
𝒋 𝟏
𝒙𝒋 ∈ 𝟎, 𝟏 𝒋 𝟏, … , 𝒏
ADS, Integer Linear Programming
![Page 32: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/32.jpg)
32
Knapsack problem: LP-relaxation
LP-relaxation: Greedy algorithm
Feasible solution: rounding down
Step 0. Order variables such that ca
ca . . .
ca
Step 1. 𝑥 ← 0 ∀ ; restcapacity 𝑏 𝑏; 𝑖 1
Step 2. If 𝑎 𝑏, then 𝑥 ← 1, else 𝑥 ←𝑏𝑎 . Set 𝑏 ← 𝑏 𝑎 𝑥 ; 𝑗
← 𝑗 1Step 3. If 𝑏 0, go to Step 2.
ADS, Integer Linear Programming
![Page 33: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/33.jpg)
33
How to solve an Integer Linear Program
First solve the LP-relaxation You may have learned how to do this by the Simplex method
in the bachelor course Optimization In this course, we got an idea how to do this from previous
lecture There is excellent software for this (even Excel can solve a
(not too large) LP)
If LP-relaxation has integral solution: finished Otherwise, proceed by branch-and-bound
ADS, Integer Linear Programming
![Page 34: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/34.jpg)
34
Solving MIP by branch-and-bound: informally (for maximization)
Split into sub problems, e.g. by fixing a variable to 0 or 1. This is branching, you get nodes of a tree.Select a node to evaluate. You can compute: upper bound by solving LP-relaxation a feasible solution (e.g. by rounding heuristic)
4 options:1. Infeasible: do not search further from this node2. LP-relaxation upper bound less than or equal to the best
known feasible solution: hopeless node, do not search further here (bounding)
3. LP-relaxation has integral solution: this node is completely solved.
4. LP-relaxation upper bound larger than heuristic solution. Search further by splitting (branching)
ADS, Integer Linear Programming
![Page 35: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/35.jpg)
35
Solving MIP by branch-and-bound
Let x* be the best known feasible solution and let v(x*) be its objective value.
1. Select an active sub problem Fi (unevaluated node)2. Solve LP-relaxation of Fi. If Fi is infeasible: delete node
and go to 1 3. Consider upper bound ZLP (Fi ) from LP-relaxation and
compute feasible solution xf ( e.g. by rounding)1. If ZLP (Fi ) ≤ v(x)* delete node2. If v(xf ) > v(x*): update x*3. If solution xLP to LP-relaxation is integral, then node finished,
otherwise split node into two new active sub problems
4. Go to step 1OptionalThis if for maximization problem.
ADS, Integer Linear Programming
![Page 36: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/36.jpg)
36
Modeling
Decision variables Objective function Constraints
ADS, Integer Linear Programming
![Page 37: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/37.jpg)
37
Assignment problem
n persons, n jobs. Each person can do at most one job Each job has to be executed Cij cost if person i performs job j We want to minimize cost
ADS, Integer Linear Programming
![Page 38: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/38.jpg)
38
Maximum independent set
Given a graph G=(V,E) V: nodes E: edges An independent set I is a set of nodes, such that every
edge has at most one nodes in I, i.e., no pair of nodes in Iis connected.
What is the maximum number of nodes in an independent set?
ADS, Integer Linear Programming
![Page 39: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/39.jpg)
39
Facility location
Possible locations: n
Customers:m
ADS, Integer Linear Programming
![Page 40: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/40.jpg)
40
Capacitated facility location
Data:m customers, Customer demand: Di
n possible locations of depots (facilities) cij cost per unit product transported from depot j to
customer i Capacity depot: Cj
Fixed cost for opening depot DC: Fj
Which depots are opened and which customer is served bywhich depot?
ADS, Integer Linear Programming
![Page 41: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/41.jpg)
41
Capacitated facility location:
Our example shows modelling possibilities with binaryvariables
Our model uses binary variables for fixed cost Our model uses binary variables forcing constraints:
depot can only be used when it is open.
![Page 42: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/42.jpg)
42
Uncapacitated facility location
Data:m customers, n possible locations of depot Each customer is assigned to one depot dij cost of serving customer i by depot j Fixed cost for opening depot DC: Fj
Which depots are opened and which customer is served by whichdepot?
ADS, Integer Linear Programming
![Page 43: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/43.jpg)
43
Uncapacitated facility location
Two models FL and AFL Let the polyhedron 𝑃 (𝑃 ) be the set of feasible
solutions for LP-relaxation of FL (AFL) FL and AFL have the same optimal value ZIP for the integer
formulation But
𝑃 ⊆ 𝑃 Now, the set of optimal values satisfy:
𝑍 𝑍 𝑍
The LP-relaxation of FL gives a stronger bound A stronger bound reduces the number of nodes in the
branch-and-bound algorithm
![Page 44: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/44.jpg)
44
Just to show you the idea
ADS, Integer Linear Programming
LP hull PFL
![Page 45: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/45.jpg)
45
Treasure island
Diamonds are buried on an island
Numbers give number of diamonds in neighboring positions (include diagonal)
At most one diamond per position
No diamond at position with number
We now have a feasibility problem
ADS, Integer Linear Programming
![Page 46: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/46.jpg)
46
Challenge: Treasure island with pitfall
Like treasure island but exactly one given number is incorrect.
ADS, Integer Linear Programming
![Page 47: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/47.jpg)
47 ADS, Integer Linear Programming
![Page 48: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/48.jpg)
48
Agenda Thu 10-10
Last lectures: Example of solving LP by Simplex method This is to help you understand MIP Execution of Simplex method will not be asked at exam Introduction MIP Solving MIP by branch-and-bound Modelling
Today More modelling: minimum spanning tree, Unit Commitment Cutting planes Branch-and-cut MIP solvers
ADS, Integer Linear Programming
![Page 49: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/49.jpg)
49
(Mixed) Integer linearprogramMin cTxs.t. Ax + By ≤ b
x,y ≥ 0x integral(or binary)
LP-relaxationMin cTxs.t. Ax + By ≤ b
x,y ≥ 0
Lower bound (or upperbound in case of maximization)
ADS, Integer Linear Programming
![Page 50: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/50.jpg)
50
Minimum spanning tree
G=(N,E) N set of n nodes E set of m edges Ce cost of edge e Tree is a subgraph without cycles Spanning tree is a tree containing all nodes Find a spanning tree with minimum cost
ADS, Integer Linear Programming
![Page 51: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/51.jpg)
51
Minimum spanning tree
Two models: Sub and Cut For LP formulation F, PF is defined as the feasible set of
solutions of F
Theorem: 𝑃 ⊆ 𝑃 and 𝑃 contains fractional solutions
ADS, Integer Linear Programming
![Page 52: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/52.jpg)
52
Modelling choice matters: Strength (quality) of an MIP formulation
T set of feasible integral solutions For LP formulation F, PF is defined as the feasible set of
solutions of F Ideal situation: PF is the convex hull of T Formulation A is stronger than formulation B if
Hence, the bound from model A is stronger Most likely, solving the MIP by branch-and-bound will be
faster
BA PP
ADS, Integer Linear Programming
![Page 53: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/53.jpg)
53
Modelling choice matters !!!
ADS, Integer Linear Programming
LP hull A
![Page 54: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/54.jpg)
54
Modelling choice matters:
If you have a MIP formulation and it solves very slow This may not be the final answer You might try an alternative formulation
ADS, Integer Linear Programming
![Page 55: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/55.jpg)
55
Example Energy Management: Unit Commitment
See separate pdf-file
ADS, Integer Linear Programming
![Page 56: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/56.jpg)
56
Cutting plane algorithm
ADS, Integer Linear Programming
![Page 57: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/57.jpg)
57
Cutting plane algorithm
1. Solve the LP-relaxation. Let x* be an optimal solution.2. If x* is integral, stop x* optimal solution to the integer
linear programming problem.3. If not, add a valid inequality that is not satisfied by x*and go to Step 1. To find such an inequality you have to solve
separation problem.
Valid inequality: linear constraint that is satisfied by all integral solutions.
ADS, Integer Linear Programming
![Page 58: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/58.jpg)
58
Valid inequalities
General Gomory cuts
Problem specific
ADS, Integer Linear Programming
![Page 59: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/59.jpg)
59
Solving LP-relaxation
The Simplex method gives two types of variables: 𝑥 ∈ 𝐵 : basic variables, one for each constraint, can be non-
zero (left-side in Dictionary) 𝑥 ∈ 𝑁: non-basic variables, are zero (right-side in Dictionary) during the algorithm B changes step by step
When running the Simplex method you find the followingtype of equations (are rows of the dictionary) for each 𝑥 ∈ 𝐵 :
iojNj iji
jNj ijioi
axax
xaax
ADS, Integer Linear Programming
![Page 60: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/60.jpg)
60
Example
max 2𝑥 𝑥 subject to 𝑥 𝑥 1
2 𝑥 2𝑥 7𝑥 , 𝑥 0
⟺
max 2𝑥 𝑥 subject to 𝑥 𝑥 𝑥 12 𝑥 2𝑥 𝑥 7
𝑥 , 𝑥 , 𝑥 , 𝑥 0
Final dictionary:
𝑧 5 34
12 𝑥
34 𝑥
𝑥 214
12 𝑥
14 𝑥
𝑥54
12 𝑥
14 𝑥
ADS, Integer Linear Programming
![Page 61: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/61.jpg)
61
Example
𝑥 𝑥 𝑥
𝑥 𝑥
For integral solutions 𝑥 𝑥 1, hence 𝑥 1 𝑥 𝑥 1 ⇔ x 2
ADS, Integer Linear Programming
![Page 62: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/62.jpg)
62ADS, Integer Linear Programming
Example
5x2
121 xx
0x1 0x2
21max xx 2
722 21 xx
2
1
3
1 2 3
(2 ¼, 5/4)
Gomory cut x1 ≤ 2
![Page 63: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/63.jpg)
63
Gomory cuts
If solution is fractional, then at least one of the 𝑎 is fractional
Take row from final dictionary corresponding to fractional basic variable
Gomory cut
fractional with ioiojNj iji aaxax
iojNj iji axax
ADS, Integer Linear Programming
![Page 64: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/64.jpg)
64
Problem-specific valid inequalities
Usually classes of inequalities Class of inequalities: set of inequalities of a specific form
Weighted independent set Cover inequalities for knapsack problems
Finding valid inequalities is a combinatorial challenge
ADS, Integer Linear Programming
![Page 65: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/65.jpg)
65
Branch-and-cut
Combination of cutting planes and MIP solving by branch-and-bound
Applied in well-known MIP-solvers: CPLEX GUROBI GNU Linear Programming Kit (GLPK) COIN-OR
World-record exact TSP solving CONCORDE:
http://www.math.uwaterloo.ca/tsp/concorde/index.html
ADS, Integer Linear Programming
![Page 66: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/66.jpg)
66
Solving MIP by branch-and-bound or branch-and-cut
Let x* be the best known feasible solution
1. Select an active sub problem Fi (unevaluated node)2. If Fi is infeasible: delete node 3. Compute upper bound ZLP (Fi ) by solving LP-relaxation
and adding cutting planes. Find feasible solution xf (e.g. by rounding)If ZLP (Fi ) ≤ value x* delete node (bounding)If xf is better than x*: update x*If solution xLP to LP-relaxation is integral,
then If xLP is better than x*: update x* and node finished,otherwise split node into two new subproblems (branching)
4. Go to step 1
OptionalThis if for maximization problem, the book uses a
minimization problem.
Search strategy
How many cuts? Which classes?
Primal heuristic
Branching strategy
ADS, Integer Linear Programming
![Page 67: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/67.jpg)
67
Branch-and-cut: choices
Search strategy: x=1 before x=0, other the other way around Depth first Breadth first Best bound: for maximization go to the node with the largest
LP-bound
Cut generation: As many cuts as possible All cuts in root node, nothing in the remainder of the tree All cuts in root node, only a subset from the classes in the
remainder of the tree
ADS, Integer Linear Programming
![Page 68: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/68.jpg)
68
Branch-and-cut: choices (2)
Primal heuristic, usually based on rounding LP solution
Branching strategy: Branch on fractional variables closest to ½ Branch on fractional variables closest to 1 Branch on important variable (ratio in knapsack) SOS-branching:
• Special Ordered Sets (SOS): a set of variables, at most one of which can take a non-zero value
• Let S be a Special Ordered Set. • Nodes ∑ 𝑥 1∈ and ∑ 𝑥 0∈
ADS, Integer Linear Programming
![Page 69: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/69.jpg)
69
Branch-and-cut is a frameworkalgorithm!!
Last century, tailoring to your own problem was necessary in most cases and a huge amount of research has been undertaken in doing this:
Pre-processing Classes of valid inequalities How many cuts in each node? Search strategy Branching strategy Primal heuristics Reduced cost fixing
Well-known MIP solvers like CPLEX and Gurobi successfully (and secretly) apply a lot of the above techniques.
Tailoring of branch-and-cut sometimes successful, especially valid inequalities in case of a weak LP-relaxations
ADS, Integer Linear Programming
![Page 70: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/70.jpg)
70
MIP solvers
CPLEX GUROBI GNU Linear Programming Kit (GLPK) COIN-OR
GLPK and COIN-OR are open source, CPLEX and GUROBI are commercial but free for academic
purposes GUROBI recommended
ADS, Integer Linear Programming
![Page 71: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/71.jpg)
71 ADS, Integer Linear Programming
from http://www.lnmb.nl/conferences/2015/programlnmbconference/LNMB-NGB_Bixby.pdf
![Page 72: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/72.jpg)
72
Still we are talking about combinatorialoptimization
We have many, many, many variables
Still large computation times
Decomposition approaches often help
Algorithmic challenges: you need clever algorithms thatevery now and then use LP-solvers as a component
More in Scheduling and timetabling
ADS, Integer Linear Programming
![Page 73: Algorithms for Decision Support - Universiteit UtrechtThere is excellent software for this (even Excel can solve a (not too large) LP) If LP-relaxation has integral solution: finished](https://reader034.fdocuments.us/reader034/viewer/2022043018/5f3af0ae888fe530960ffa93/html5/thumbnails/73.jpg)
73
After the lectures on MIP
You have an idea of the simplex method You can model a combinatorial optimization problem as
MIP: exercises (see course website) are stronglyrecommended
You know how to solve MIP branch-and-bound You understand the strength of an LP-relaxation You know some valid inequalites (cutting planes) You understand branch-and-cut Additional challenge?: slides on polyhedral combinatorics
are available on the website
ADS, Integer Linear Programming