Professional Documents
Culture Documents
31 MM34 MH V03 Construction Heuristics
31 MM34 MH V03 Construction Heuristics
31 MM34 MH V03 Construction Heuristics
kevin.tierney@uni-bielefeld.de
Professor for Decision and Operation Technologies
Bielefeld University
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International license.
Outline
Outline
This video:
I Introduction: Construction Heuristics
I Example: Set Covering Problem
I Naive heuristic
I Random heuristic
I Greedy heuristic
I Pseudocode
Review: Heuristics
Definition
Heuristic methods attempt to solve problems without providing guarantees of
optimality or solution quality using tricks or a “rule of thumb”.
Types of heuristics:
I Greedy
I Random
I Naive
Construction heuristics
Basic concepts:
I Step-by-step solution process.
I Split problems into smaller pieces (solution components)
I Build a feasible solution out of the components
It’s easiest to understand how construction heuristics work with an example.
n
X
min ci xi (1)
i=1
n
X
subject to δie xi ≥ 1 ∀e ∈ U (2)
i=1
Example Instance
U = {1, . . . , 6}
i 1 2 3 4 5 6 7 8 9
Si {1,3} {3,5} {1,2,5} {2,6} {1,2} {4} {3,4,6} {5} {4,5,6}
ci 3 4 7 7 8 9 10 10 11
Example Instance
U = {1, . . . , 6}
i 1 2 3 4 5 6 7 8 9
Si {1,3} {3,5} {1,2,5} {2,6} {1,2} {4} {3,4,6} {5} {4,5,6}
ci 3 4 7 7 8 9 10 10 11
Example Instance
U = {1, . . . , 6}
i 1 2 3 4 5 6 7 8 9
Si {1,3} {3,5} {1,2,5} {2,6} {1,2} {4} {3,4,6} {5} {4,5,6}
ci 3 4 7 7 8 9 10 10 11
Example Instance
U = {1, . . . , 6}
i 1 2 3 4 5 6 7 8 9
Si {1,3} {3,5} {1,2,5} {2,6} {1,2} {4} {3,4,6} {5} {4,5,6}
ci 3 4 7 7 8 9 10 10 11
Heuristic:
1. Let C ← ∅ be the current cover.
S
2. If c∈C c 6= U then
2.1 Select i uniformly at random from {1, . . . , n} \ C
2.2 C ← C ∪ {i}
2.3 Go to step 2
Heuristic sketch:
I Add the subset with the lowest costs to the cover such that the number of
uncovered elements that become covered is maximized.
Heuristic pseudocode:
1. Let C ← ∅ be the current cover.
S
2. If c∈C c 6= U then
2.1 D ← {1, . . . , n} \ C
2.2 Remove any element j from D where Sj ∩ C = Sj
2.3 O ← argminj∈D cj
2.4 i ← argmaxo∈O |So \ C |
2.5 C ← C ∪ {i}
I Cover: ∅
I Missing Elements: { 1 2 3 4 5 6 }
I Costs: 0
I Cover: {1 3 }
I Missing Elements: { 2 4 5 6 }
I Costs: 3
I Cover: {1 3 5 }
I Missing Elements: { 2 4 6 }
I Costs: 7
I Cover: {1 2 3 5 6}
I Missing Elements: { 4 }
I Costs: 14
I Cover: {1 2 3 4 5 6}
I Missing Elements: ∅
I Costs: 23
Summary
In this video. . .
I We discussed construction heuristics
I We examined the set covering problem with three different solution heuristics
I We looked at two different ways to describe a heuristic (pseudocode, prose)