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) approach for IP 3. Branch and Bound (B&B) approach for IP 4. Applications 5. Lagrangian relaxation 2/29 2/29
Divide and Conquer (D&C) approach 3/29 3/29
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Branch and bound (B&B) 18/29 18/29
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
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
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
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
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
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
Branch and Bounds (B&B) : alternative Subproblems are generated by partial solutions. 25/29 25/29
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
B&B for Traveling Salesman Problem (TSP) II 27/29 27/29
Lagrangian relaxation 28/29 28/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
Recommend
More recommend