Recap: Integer Programming Flashcards
Classification of MIPs
Continuous and integer decision variable
Linear objective function and constraints
Special case: only integer decision variables —> integer (linear) program (IP)
Knapsack Problem model assumptions
Choice between N items (n = 1,…,N) each with known profit v_n and weight w_n
Maximum overall weight b for all items
Binary variable: gamma_n is 1, if item n is chosen, 0 else
Combinatorial optimization
Solutions via combination of elements
Practical problems have typically a combinatorial character
Number of (theoretically) possible solutions of the Knapsack Problem
2^N
Basic problem of combinatorial optimization
Number of possible solutions exponentially increases with increasing problem size (e.g., number of items)
Solution approaches
Exact methods
- – terminates with an optimal solution
- – computational effort (usually) very high
heuristic approaches
- – optimality of solution not provable
- – “good” solution with reasonable computational effort
- – solution quality not assessable
Exact methods examples
1) Decision tree methods:
- - complete enumeration
- - incomplete enumeration (e.g., branch-and-bound methods)
- - dynamic programming
2) cutting plane methods
3) combinations of (1) and (2) (e.g., branch-and-cut methods)
General idea of constructive heuristics
Generating a new solution from scratch
Adding new components to an empty (partial) solution
Examples of constructive heuristics
Nearest Neighbor Heuristic for TSP
Insertion Heuristics for TSP
Saving Heuristic for VRP
Truncated exact methods (e.g., branch-and-bound with a given time limit)
Fix&Relax heuristic
the different types of constructive heuristics
uninformed heuristics:
- without consideration of objective function
greedy-heuristics:
- try to achieve maximum improvement in each step
- often myopic (kurzsichtig), as future effects are not considered
‘forward-looking’ heuristics:
-try to estimate the impact of the next step on the solution
Description of improvement heuristics
Start with a (set of) feasible initial solution(s)
- local search approaches
- population-based approaches
improvement of actual best solution
- deterministic approaches
- stochastic approaches
examples of improvement heuristics
2-opt for TSP
Tabu Search
Simulated Annealing
Genetic Algorithms
Fix&Optimize Heuristic
What is the standard technique for solving MIPs exactly, that is integrated in commercial software for solving MIPs?
Branch-and-Bound method
What is the idea of approach of the B&B-method?
Systematic search in set of feasible solutions —> optimal solution will be among them
Using bounds to exclude suboptimal solution early during enumeration
Basic principles of B&B
BRANCHING:
Decomposing problems into several subproblems –> enumeration tree with subproblems as nodes
BOUNDING:
Limitation of branching process by determining bounds of the objective function value –> discarding subproblems