integer programming and intelligent exhaustive search
play

Integer Programming and Intelligent Exhaustive Search : basics - PowerPoint PPT Presentation

Integer Programming and Intelligent Exhaustive Search : basics Rumen Andonov Universit de Rennes 1 et INRIA Rennes Bretagne-Atlantique Contenu du cours 1. Integer linear programming (IP) : problem formulation 2. Divide and Conquer (D&C)


  1. Integer Programming and Intelligent Exhaustive Search : basics Rumen Andonov Université de Rennes 1 et INRIA Rennes Bretagne-Atlantique

  2. Contenu du cours 1. Integer linear programming (IP) : problem formulation 2. Divide and Conquer (D&C) approach for IP 3. Branch and Bound (B&B) approach for IP 4. Applications 5. Lagrangian relaxation 2/29 2/29

  3. Divide and Conquer (D&C) approach 3/29 3/29

  4. Problem formulation An integer linear programming problem : Z IP = max { cx | x ∈ S } , S = { x ∈ Z n + | Ax ≤ b } , (IP) (min can be found by maximizing − cx ). where c , A m × n , b are with integral coefficients. S is a finite set, but too large ⇒ it is difficult to optimize directly on S First idea : Splitting S into smaller subsets ! This leads to Divide and Conquer (D&C) approach. 4/29 4/29

  5. Divide and Conquer (D&C) approach (suite) Proposition 1 ( IP i ) Z i IP = max { cx | x ∈ S i } , where { S i | i = 1 ,..., k } is a division of S . Z IP = max k i = 1 Z i IP . Optimizing IP can be done by : 1. splitting S into { S i | i = 1 ,..., k } . 2. Optimizing each corresponding IP i . 3. And putting the results together. This process is done recursively if IP i cannot be solved directly. 5/29 5/29

  6. D&C : Fathoming In extreme case, splitting leads to totally enumerate S . To be efficient, D&C should avoid splitting S too much. When can we stop splitting ? Proposition 2 Node IP i of the problem tree can be pruned (or fathomed, or killed) if any of these conditions holds 1. Infeasibility : S i does not contain feasible solution. 2. Optimality : An optimal solution Z i IP is known. 6/29 6/29

  7. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 7/29 7/29

  8. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 8/29 8/29

  9. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 9/29 9/29

  10. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 10/29 10/29

  11. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 11/29 11/29

  12. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 12/29 12/29

  13. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 13/29 13/29

  14. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 14/29 14/29

  15. Problem tree D&C can be viewed as an exploration of a problem tree, where : The root is the original IP . Sons of a node IP i , are its subproblems IP i , j . Leafs are subproblems that can be solved directly are infeasible. For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 15/29 15/29

  16. Problem tree IP  S  D&C can be viewed as an 1 , Z IP 2  Z IP = max  Z IP exploration of a problem tree, where : IP 1  S 1  IP 2  S 2  1 = max  Z IP 11 , Z IP 2 = max  Z IP The root is the original IP . Z IP 12  Z IP 21 , Z IP 22  Sons of a node IP i , are its 11 11  12 12  21 21  22 22  IP  S IP  S IP  S IP  S subproblems IP i , j . 21 22 ∅ 121 , Z IP Z IP Z IP 12 = max  Z IP 122  Z IP Leafs are subproblems that can be solved directly IP 121  S 121  IP 122  S 122  are infeasible. 121 122 Z IP Z IP For each node IP i which is not IP is the max of Z i , j a leaf, Z i IP 16/29 16/29

  17. D&C efficiency depends on : The splitting strategy Should avoid redundancy -> partitioning. The ability to solve "big" subproblem. Avoid enumerating S . The ability to prove infeasibility As soon as possible. It does not depend on the exploration strategy. Question : Can we make D&C more intelligent ?. Yes : If we do fathoming more frequently. This leads to implicit enumeration also called Branch and Bound (B&B). 17/29 17/29

  18. Branch and bound (B&B) 18/29 18/29

  19. Branch and Bound (B&B) An integer programming : Z IP = max { cx | x ∈ S } , S = { x ∈ Z n + | Ax ≤ b } , (IP) (min can be found by maximizing − cx ). Idea behind the Branch and bound Split S into smaller subsets but avoid visiting subproblems which cannot contain Z IP by using lower and upper bounds of the objective function. Notation In the following, we will denote : Z IP an upper bound (UB) of Z IP . I.e : Z IP ≥ Z IP . Z IP a lower bound (LB) of Z IP . I.e : Z IP ≤ Z IP . 19/29 19/29

  20. Branch and bound Branch and bound implies 1. A method to divide the search space. 2. A strategy for exploration of the problem tree 3. An algorithm to find an UB. 4. An algorithm to find a LB and the corresponding feasible solution. Branch and bound efficiency depends on : All these elements ! 20/29 20/29

  21. How do we explore the problem tree ? The exploration depends on the way the problems are stored in memory : 1. In a FIFO –> Breadth-First Search (BFS). 2. In a LIFO –> Deep-First Search (DFS). Frequently used heuristic is –> Best First Search ! Problems are stored in the list ordered by their upper bound and the most promising subproblem is selected. This requires priority queue implementation. 21/29 21/29

  22. Proposition 3 A node IP i of the problem tree can be pruned (fathomed, killed) if any of the following conditions holds 1. Infeasibility : Its domain ( S i ) is empty. 2. Optimality : Z i IP = Z i IP 3. Value dominance : Z i IP ≤ Z IP = LB 22/29 22/29

  23. Possible upper bounds generator : relaxation A relaxation of IP is any maximization problem Z R = max { Z R ( x ) | x ∈ S R } , s.t. S ⊆ S R and ( RP ) Z R ( x ) ≥ cx , ∀ x ∈ S . Proposition 4 The node IP i can be pruned if any of the following conditions holds : 1. Infeasibility : RP i is infeasible. R to RP i satisfies x i 2. Optimality : Optimal solution x i R ∈ S i (hence Z i R = cx i ). 3. Value dominance : Z i R ≤ Z IP = LB , where Z IP is the value of some feasible solution of IP . The relaxed problem should be easier to solve than the original ! 23/29 23/29

  24. General Branch and Bound Algorithm I begin List of problems L = { IP } , LB = − ∞ while L � = { / 0 } do Select and delete a problem IP i from L . Find Z i IP and Z i IP if ( Z i IP > LB ) then LB ← Z i IP end if if ( Z i IP ≤ LB ) then Fathom IP i else Divide S i into { S ij } k j = 1 Add { IP ij } k j = 1 to L end if end while x 0 that yielded Z IP = cx 0 is optimal. end 24/29 24/29

  25. Branch and Bounds (B&B) : alternative Subproblems are generated by partial solutions. 25/29 25/29

  26. B&B for Traveling Salesman Problem (TSP) 1 1 F E F E 2 2 1 1 G D G D 1 1 1 1 1 1 1 1 5 C H C H 1 1 1 1 A B A B 2 F IGURE 1: A graph and its optimal traveling salesman tour. Consider a TSP on G = ( V , E ) . A partial solution is a path from a to b ( a � b ). It will be denoted by a tuple [ a , S , b ] where a ∈ S , b ∈ S and S ⊆ V . The corresponding subproblem is to find a completion of the tour, i.e. the shortest complementary path b � a with intermediate nodes V − S . Its cost is at least the sum of the following : the lightest edge from a to V − S . the lightest edge from b to V − S . the minimum spanning tree of V − S . Efficient solvers exist !. 26/29 26/29

  27. B&B for Traveling Salesman Problem (TSP) II 27/29 27/29

  28. Lagrangian relaxation 28/29 28/29

  29. Lagrangian relaxation principle IP problem P : Z P = max cx x ∈ X s . t . — “easy” constraints Ax ≤ b — “complicating” constraints 29/29 29/29

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend