decision aid methodologies in transportation
play

Decision Aid Methodologies In Transportation Lecture 4: Integer - PowerPoint PPT Presentation

CIVIL-557 Decision Aid Methodologies In Transportation Lecture 4: Integer programming I: Branch and Bound Virginie Lurkin Transport and Mobility Laboratory TRANSP-OR cole Polytechnique Fdrale de Lausanne EPFL On the previous lecture


  1. CIVIL-557 Decision Aid Methodologies In Transportation Lecture 4: Integer programming I: Branch and Bound Virginie Lurkin Transport and Mobility Laboratory TRANSP-OR École Polytechnique Fédérale de Lausanne EPFL

  2. On the previous lecture…  Container Storage Inside a Container Terminal o Two-phase simplex method o Duality theory

  3. Linear programming What if the situation is different… Suppose 2 new containers are expected to arrive for storage in the next planning period of a terminal. Suppose there are only 2 blocks in the terminal, each with 20 storage spaces. For the moment, there are 6 containers in block 1 and 12 containers in block 2. 𝟘 𝟐𝟏 + + 𝑣 1 − + 𝑣 2 + + 𝑣 2 𝑶 = 𝟑 − 𝑁𝑗𝑜𝑗𝑛𝑗𝑨𝑓 𝑣 1 B = 𝟑 𝑡𝑣𝑐𝑘𝑓𝑑𝑢 𝑢𝑝 + + 𝑣 1 − = 0 .5 A = 𝟑𝟏 𝑦 1 −𝑣 1 𝒃 𝟐 = 𝟐𝟏 + + 𝑣 2 − = 1 .5 𝑦 2 −𝑣 2 𝒃 𝟑 = 𝟘 𝑦 1 +𝑦 2 = 2 𝟐𝟏+𝟘+𝟑 − ≥ 0 𝑮 = = 𝟏. 𝟔𝟑𝟔 + , 𝑣 1 − , 𝑣 2 + , 𝑣 2 𝑦 1 , 𝑦 2 , 𝑣 1 𝟑×𝟑𝟏  Optimal solution: (𝟏. 𝟔, 𝟐. 𝟔, 0, 0, 0, 0)  𝑦 1 and 𝑦 2 represent the number of containers to be assigned, respectively, to block 1 and 2 𝑦 1 and 𝑦 2 , in reality, should be integer 

  4. Linear (mixed) integer programming

  5. Linear integer programming Pure integer programming (IP): 𝑛𝑗𝑜 𝑑 𝑈 𝑦 𝑜 𝑦 ∈ subject to 𝐵𝑦 ≤ 𝑐 𝑦 ≥ 0, 𝐵 ∈ ℝ 𝑛×𝑜 , b ∈ ℝ 𝑛 , c ∈ ℝ 𝑜 where  A mixed-integer programming (MIP) problem is one where only some of the decision variables are constrained to be integer values

  6. Linear (mixed) integer programming How to solve integer programming problem?  Intuitive idea : remove the integer constraints from the IP formulation (LP relaxation) o Solve the LP relaxation and round to the nearest integer Objective function Nearest integer (not feasible) Optimum of LP relaxation IP optimum Integer solutions Not the best idea!

  7. Linear (mixed) integer programming How to solve integer programming problem?  There is no optimality conditions for integer programming problem  Explicit enumeration is normally impossible due to the exponentially increasing number of potential solutions  Exact methods can be used to find the optimal solution: o Two main methods: Branch and Bound (B&B) and Cutting planes o Computing a true optimal solution might be very costly  Heuristic methods can be used to find a good solution : o Does not guarantee optimality

  8. Heuristics

  9. Heuristics Algorithms and complexity measures  An algorithm is a finite set of instructions that when executed on an input can produce an output after finitely many steps.  The input encodes an instance of the problem that the algorithm is supposed to solve, and the output encodes a solution for the given problem instance.  The computation of an algorithm on an input is the sequence of steps it performs.  Algorithms do not always terminate; they may perform an infinite computation for some, or any, input.

  10. Heuristics Algorithms and complexity measures  There are problems that can be easily and precisely defined in mathematical terms, yet that provably cannot be solved by any algorithm (undecidable/ uncomputable problems.  In practice, we cannot expect to be able to solve real world problem instances of arbitrary size to optimality.  Depending on the size of an instance or depending on the available CPU time we will often have to be satisfied with computing approximate solutions.

  11. Heuristics Algorithms and complexity measures  The term heuristic is used for algorithms which find solutions among all possible ones ,but they do not guarantee that the best will be found.  A good heuristic algorithm should fulfil the following properties: o A solution can be obtained with reasonable computational effort. o The solution should be near optimal (with high probability). o The likelihood for obtaining a bad solution (far from optimal) should be low. How can we evaluate the performance of an heuristic algorithm ?

  12. Heuristics A concrete example for our container storage problem 1. Rearrange blocks so that 𝑏 𝑗 increases with 𝑗 2. Determine 𝑦 𝑗 in increasing order of 𝑗 using: 𝑦 1 = min{𝑂, max 0, 𝐵 × F − 𝑏 1 } 𝑗−1 𝑦 𝑗 = m𝑗𝑜{max 0, 𝐵 × F − 𝑏 𝑗 , 𝑂 − ෍ 𝑦 𝑠 } ∀𝑗 ≥ 2 𝑠=1

  13. Branch and Bound algorithm

  14. Branch and Bound algorithm General idea  Implicit enumeration of the feasible set, by ruling out large sets of feasible points  How ? o By partitioning the feasible set into smaller subsets o By using bounds to identify subsets that are guaranteed not to contain an optimal solution 𝑻 𝟐 𝑻 𝟐𝟐 𝑻 𝟐𝟑 𝑻 𝑻 𝟑 𝑻 𝟑𝟐 𝑻 𝟑𝟑

  15. Branch and Bound algorithm Theorem 1: 𝑻 𝟐𝟐 𝑻 𝟐𝟑  𝑄 𝑙 is an optimization problem ( minimization ) 𝑻 𝟑𝟐 𝑻 𝟑𝟑  𝑇 is the feasible set of the optimization problem 𝑄  𝑇 is partitioned into 𝐿 subsets: 𝑇 1 ∪ … ∪ S m ∪ S m+1 ∪ … ∪ S K ∗ be an optimal solution of the For each 𝑙 = 1,2, … , 𝐿, let 𝑚𝑓𝑢 𝑦 𝑙 optimization problem 𝑄 𝑙 (minimization). Let 𝑗 be such that: ∗ ≤ 𝑔 𝑦 𝑙 ∗ , 𝑔 𝑦 𝑗 𝑙 = 1, … , 𝐿 ∗ is an optimal solution of the optimization problem 𝑄 Then 𝑦 𝑗

  16. Branch and Bound algorithm Partitioning:  Partitioning the feasible set into smaller subsets  Partitioning the original problem into smaller subproblems Using bounds:  Any feasible solution provides an upper bound on the optimal solution (minimization)  A feasible solution is a solution that satisfies all the constraints  For each feasible subproblem, we will calculate a lower bound ( best possible value)  Lower bounds are obtained by solving relaxations of the original subproblems  Calculate lower bounds is much easier (simplex algorithm can be used)

  17. Branch and Bound algorithm Using bounds:  Some candidates are excluded based on the value of the lower bound 𝑉𝐶 𝑄 If 𝑀𝐶 𝑄 2 ≥ 𝑉𝐶 𝑻 If 𝑀𝐶 𝑄 1 < 𝑉𝐶 𝑀𝐶 𝑄 𝑄 𝑄 2 1 𝑀𝐶 𝑄 2 𝑀𝐶 𝑄 1 𝑻 𝟐 𝑄 𝑄 11 12 𝑻 𝟑  Branching refers to exploring the subtree of an active node  Bounding refers to estimating a lower bound at an active node

  18. Branch and Bound algorithm Theorem 2: ∗ be an optimal solution of 𝑄 𝑙 . For each 𝑙 = 1,2, … , 𝑛, let 𝑚𝑓𝑢 𝑦 𝑙 For each 𝑙 = 𝑛 + 1, … , 𝐿, let 𝑚(𝑄 𝑙 ) be a lower bound on 𝑄 𝑙 : 𝑚 𝑄 𝑙 ≤ 𝑔 𝑦 𝑙 ∀𝑙 ∈ 𝑇 𝑙 Let 𝑗 be such that: ∗ ≤ 𝑔 𝑦 𝑙 ∗ , 𝑙 = 1, … , 𝑛 𝑔 𝑦 𝑗 and ∗ ≤ 𝑚 𝑄 𝑙 , 𝑙 = 𝑛 + 1, … , 𝐿 𝑔 𝑦 𝑗 ∗ is an optimal solution of the optimization problem 𝑄 Then 𝑦 𝑗

  19. Branch and Bound algorithm Branching: 𝑉𝐶 𝑄 𝑀𝐶 𝑄 𝑄 𝑄 2 1 How to branch?  Select a variable 𝑦 𝑘 that has a fractional value: 𝑙 < 𝑦 𝑘 < 𝑙 + 1, with 𝑙 integer  Create two new LP-subproblems: 1. Previous LP-subproblem + constraint 𝑦 𝑘 ≤ 𝑙 ( 𝑙 = 𝑦 𝑘 ) 2. Previous LP-subproblem + constraint 𝑦 𝑘 ≥ 𝑙 + 1 ( 𝑙 + 1 = 𝑦 𝑘 )

  20. Branch and Bound algorithm 𝑣 𝑄 , Upper Bound for 𝑄 Algorithm 𝑄 ≔ 𝑄 0 𝑚 𝑄 𝑙 , Lower Bound for 𝑄 𝑙 𝑣 𝑄 ≔ +∞ yes 𝑄 empty? end no 𝒚 ∗ , 𝒈 ∗ = 𝒗 𝑸 yes Discard 𝑄 𝑙 from 𝑄 Select a problem 𝑄 𝑙 in 𝑄 . 𝑄 𝑙 infeasible? no ∗ the optimal value Solve the relaxation 𝑆 𝑄 𝑙 and denote 𝑦 𝑆 𝑦 ∗ = (𝑦 𝑆 ∗ ) no ∗ ) 𝑚 𝑄 𝑙 ≔ 𝑔(𝑦 𝑆 ∗ 𝑣 𝑄 ≔ 𝑔 𝑦 𝑆 𝑣 𝑄 > 𝑚 𝑄 𝑙 ? no yes yes yes ∗ integer? ∗ < 𝑣(𝑄) ? 𝑔 𝑦 𝑆 𝑦 𝑆 no Select 𝑗 such that (𝑦 𝑆 ∗ ) 𝑗 is not integer 𝑚 by adding the constraint 𝑦 𝑗 ≤ (𝑦 𝑆 Create 𝑄 ∗ ) 𝑗 to 𝑄 𝑙 𝑙 𝑠 by adding the constraint 𝑦 𝑗 ≥ (𝑦 𝑆 Create 𝑄 𝑙 ∗ ) 𝑗 to 𝑄 𝑙 𝑠 \P 𝑚 , 𝑄 𝑙 𝑄 ≔ 𝑄 ∪ 𝑄 𝑙 𝑙

  21. Branch and Bound algorithm Exploration of the search tree: 𝑉𝐶 𝑄 𝑀𝐶 𝑄 If 𝑀𝐶 𝑄 1 < 𝑉𝐶 If 𝑀𝐶 𝑄 2 ≥ 𝑉𝐶 𝑄 𝑄 2 1 𝑀𝐶 𝑄 2 𝑀𝐶 𝑄 1 𝑄 𝑄 11 12 𝑄 𝑄 𝑄 121 122 123 𝑄 𝑄 1231 1232  Depth-first search (DFS): explores as far as possible along each branch before backtracking

  22. Branch and Bound algorithm Exploration of the search tree: 𝑉𝐶 𝑄 𝑀𝐶 𝑄 If 𝑀𝐶 𝑄 1 < 𝑉𝐶 If 𝑀𝐶 𝑄 2 ≥ 𝑉𝐶 𝑄 𝑄 2 1 𝑀𝐶 𝑄 2 𝑀𝐶 𝑄 1 𝑄 𝑄 11 12 𝑄 𝑄 𝑄 121 122 123  Breadth-first search (BFS): explores nodes level by level  Depending on the problem at hand, either DFS or BFS could be advantageous

Recommend


More recommend