SLIDE 1 Hands-on Tutorial on Optimization
- F. Eberle, R. Hoeksma, and N. Megow
September 23, 2019
Introduction
SLIDE 2 Welcome
CSLog: Combinatorial Optimization, Discrete Algorithms and Logistics Franziska Eberle
- Dr. Ruben Hoeksma
- Prof. Nicole Megow
SLIDE 3 Your background?
◮ Math, CS, others?
SLIDE 4 Your background?
◮ Math, CS, others? ◮ Bachelor, master, working?
SLIDE 5 Your background?
◮ Math, CS, others? ◮ Bachelor, master, working? ◮ Do you know what an (integer) linear program is?
SLIDE 6 Your background?
◮ Math, CS, others? ◮ Bachelor, master, working? ◮ Do you know what an (integer) linear program is? ◮ Have you modeled/solved (I)LPs?
SLIDE 7 Organization
Tutorial week
◮ Mon-Fri 9:00-17:00 ◮ Wednesday special: guest tutorial FICO XPRESS ◮ Each day: theory and practice
SLIDE 8 Organization
Tutorial week
◮ Mon-Fri 9:00-17:00 ◮ Wednesday special: guest tutorial FICO XPRESS ◮ Each day: theory and practice
Interactive!!!
SLIDE 9 Organization
Tutorial week
◮ Mon-Fri 9:00-17:00 ◮ Wednesday special: guest tutorial FICO XPRESS ◮ Each day: theory and practice
Interactive!!!
Practical assignment
◮ Homework in groups (modeling, problem solving, report) ◮ Details on Friday
◮ Duration approx. 2 weeks ◮ Report and short code presentation
SLIDE 10
Some examples of discrete optimization problems
(precise definition later)
SLIDE 11 Example 1: Port logistics
◮ How to stack containers? (weight, order of arrival/removal) ◮ How to schedule crane operations and truck/train un/loading? ◮ Typical goals: minimize total time or maximize throughput
SLIDE 12 Example 2: Production planning
◮ Temporal planning of steel flow ◮ Constraints: timing, resource capacity ◮ Min number strand interruptions
SLIDE 13 Example 3: Timetabling
◮ How to find a (periodic) timetable for tram, bus, trains? ◮ Collision-free routing respecting many timing constraints ◮ Minimize waiting time (for passenger and/or vehicles) or number
- f required trains/vehicles
SLIDE 14 Example 4: Location planning
◮ Selecting the placement of facilities such as factories, warehouses,
ATMs, supermarkets, cell phone towers, etc.
◮ Guarantee coverage or other service quality ◮ Minimize total weighted distances from suppliers to customers ◮ Minimize total cost (opening facility plus service cost)
SLIDE 15 Example 5: Network design and routing
◮ Add resources such as links, routers and switches into the network ◮ Establish connectivity or find paths/tours ◮ Reliability: robust against edge failure ◮ Minimize total cost of a tour or for creating a network
SLIDE 16 Content and goals
Recognize problems
Classical discrete or linear
Modeling Solve problems Some theory background
geometry of LPs, du- ality theory, solution methods: branch & bound, cutting planes, column generation
SLIDE 17
Mathematical Optimization
Optimization problem
Given a set X of feasible solutions and an objective function f : X → R, find a solution x∗ ∈ X with maximal (min.) objective function value, i.e. for all x ∈ X holds: f (x∗) ≥ f (x) (f (x∗) ≤ f (x)).
SLIDE 18
Mathematical Optimization
Optimization problem
Given a set X of feasible solutions and an objective function f : X → R, find a solution x∗ ∈ X with maximal (min.) objective function value, i.e. for all x ∈ X holds: f (x∗) ≥ f (x) (f (x∗) ≤ f (x)). In short: max f (x) s.t. x ∈ X
SLIDE 19
Mathematical Optimization
Optimization problem
Given a set X of feasible solutions and an objective function f : X → R, find a solution x∗ ∈ X with maximal (min.) objective function value, i.e. for all x ∈ X holds: f (x∗) ≥ f (x) (f (x∗) ≤ f (x)). In short: max f (x) s.t. x ∈ X Or simply: max{f (x) | x ∈ X}
SLIDE 20 Mathematical Optimization
Optimization problem
Given a set X of feasible solutions and an objective function f : X → R, find a solution x∗ ∈ X with maximal (min.) objective function value, i.e. for all x ∈ X holds: f (x∗) ≥ f (x) (f (x∗) ≤ f (x)). In short: max f (x) s.t. x ∈ X Or simply: max{f (x) | x ∈ X}
◮ x∗ is called optimal solution
SLIDE 21 Mathematical Optimization
Optimization problem
Given a set X of feasible solutions and an objective function f : X → R, find a solution x∗ ∈ X with maximal (min.) objective function value, i.e. for all x ∈ X holds: f (x∗) ≥ f (x) (f (x∗) ≤ f (x)). In short: max f (x) s.t. x ∈ X Or simply: max{f (x) | x ∈ X}
◮ x∗ is called optimal solution
Too general to say anything meaningful!
SLIDE 22 Linear Optimization
◮ Objective function is a linear function
f (x) = x1 − 3x2 + 2x3 where x1, x2, x3 are variables f (x) = 2x1 + a b x2 and a, b are parameters
SLIDE 23 Linear Optimization
◮ Objective function is a linear function
f (x) = x1 − 3x2 + 2x3 where x1, x2, x3 are variables f (x) = 2x1 + a b x2 and a, b are parameters
◮ X is described by finitely many linear inequalities (constraints)
x1 − 3x2 ≤ 3 ax1 + 5x2 ≤ 12
SLIDE 24 Linear Optimization
◮ Objective function is a linear function
f (x) = x1 − 3x2 + 2x3 where x1, x2, x3 are variables f (x) = 2x1 + a b x2 and a, b are parameters
◮ X is described by finitely many linear inequalities (constraints)
x1 − 3x2 ≤ 3 ax1 + 5x2 ≤ 12
◮ Sometimes x ∈ Z required (integer linear program, ILP)
SLIDE 25 Linear Optimization
◮ Objective function is a linear function
f (x) = x1 − 3x2 + 2x3 where x1, x2, x3 are variables f (x) = 2x1 + a b x2 and a, b are parameters
◮ X is described by finitely many linear inequalities (constraints)
x1 − 3x2 ≤ 3 ax1 + 5x2 ≤ 12
◮ Sometimes x ∈ Z required (integer linear program, ILP)
Now: small teaser example – detailed modeling intro follows.
SLIDE 26
Example: Pizza and Lasagne
Ingredients: Pizza Lasagne available Tomatoes 2 3 18 Cheese 4 3 24
SLIDE 27
Example: Pizza and Lasagne
Ingredients: Pizza Lasagne available Tomatoes 2 3 18 Cheese 4 3 24 Profit: Pizza 8 , Lasagne 7
SLIDE 28
Example: Pizza and Lasagne
Ingredients: Pizza Lasagne available Tomatoes 2 3 18 Cheese 4 3 24 Profit: Pizza 8 , Lasagne 7 Task: Determine optimal producible number of pizza and lasagne to maximize total profit.
SLIDE 29
Example: Pizza and Lasagne
Ingredients: Pizza Lasagne available Tomatoes 2 3 18 Cheese 4 3 24 Profit: Pizza 8 , Lasagne 7 Task: Determine optimal producible number of pizza and lasagne to maximize total profit. → Modeling and graphical solution at the board
SLIDE 30
Example: Pizza and Lasagne
LP Model x = number of produced pizzas y = number of produced lasagne max 8x1 + 7x2 (profit) s.t. 2x1 + 3x2 ≤ 18 (tomato) 4x1 + 3x2 ≤ 24 (cheese) x1, x2 ≥ 0 Graphical representation and solution