09_Mixed Integer Programming Flashcards
MUB
Priority Rule
Branch and Bound
Maximum Upper Bound
- choose subproblem with highest objective function
- new upper bound z
Shortcomings of MUB Rule
Branch and Bound
- The objective function value deteriorates as we introduce new constraints
- The search tree tends to grow horizontally (“breadth-first-search”)
- Since we gain information on the objective function values of the subproblems, we may adjust the upper bound z accordingly
LIFO
Priority Rule
When selecting subproblem in Branch and Bound
- Last-In-First-Out
- select deepest subproblem of the tree
- if both subproblems have been introduced simultaneously then choose priority rule such as highest value
Shortcomings of
LIFO
Branch and Bound
- The objective function value deteriorates as we introduce new constraints
- The search tree tends to grow vertically (“depth-first-search”)
- Notice how we made only little progress on the upper bound z
Branching
- explore the solution space with subproblems of the integer program and determine a feasible solution.
Bounding
- Pruning subproblems („branches“) to reduce the solution space using the lower bound.
How to define lower bound when using MUB priority rule
Branch and Bound
- If you cannot find a feasible solution at the beginning, you can assume lower bound is 𝑧 = ∞
- If you can, use it! Here let’s use an arbitrary one
Optimality Gap Delta
Quality of best-found feasible solution → Percentage deviation to best possible solution
∆= |𝐵𝑒𝑠𝑡 𝐵𝑜𝑢𝑛𝑑 − 𝐼𝑛𝑐𝑢𝑚𝑏𝑒𝑛𝑡 𝑂𝑏𝑗𝑒𝑐𝑡𝑖𝑣𝑒|
𝐼𝑛𝑐𝑢𝑚𝑏𝑒𝑛𝑡 𝑂𝑏𝑗𝑒𝑐𝑡𝑖𝑣𝑒
▪ For a maximization problem: Incumbent Objective → Lower Bound (𝑧)(lb)
∆= 𝑧(up)−𝑧(lb) / 𝑧(lb)
▪ For a minimization problem: Incumbent Objective → Upper Bound (𝑧)(ub)
∆= 𝑧(ub) − 𝑧(lb) / 𝑧(ub)