11.5 Implicit Partitioning/Packing Problems Given 𝑀= 1,…,𝑚 , 𝐾 implicitly described sets of feasible subsets of 𝑀. Find a maximum value packing or partition of 𝑀 consisting of certain of these subsets. In terms of original IP (11.5), 𝑧= max 𝑘=1 𝐾 𝑐 𝑘 𝑥 𝑘 : 𝑘=1 𝐾 𝐴 𝑘 𝑥 𝑘 =𝑏, 𝑥 𝑘 ∈ 𝑋 𝑘 for 𝑘=1,…,𝐾 max 𝑘=1 𝐾 𝑐 𝑘 𝑥 𝑘 : 𝑘=1 𝐾 𝐴 𝑘 𝑥 𝑘 =𝑏, 𝑥 𝑘 ∈ 𝑋 𝑘 for 𝑘=1,…,𝐾 , we set 𝑥 𝑘 =( 𝑦 𝑘 , 𝑤 𝑘 ) with 𝑦 𝑘 ∈ 0,1 𝑚 being the incidence vector of subset 𝑘 of 𝑀, 𝑐 𝑘 = 𝑒 𝑘 , 𝑓 𝑘 , 𝐴 𝑘 =(𝐼,0) and 𝑏=1. Here, 𝑤 𝑘 are auxiliary variables needed to define whether the subset with incidence vector 𝑦 𝑘 is feasible, and to define the possibly nonlinear objective function value of the corresponding subset. 𝑧= max 𝑘=1 𝐾 𝑒 𝑘 𝑦 𝑘 + 𝑓 𝑘 𝑤 𝑘 : 𝑘=1 𝐾 𝑦 𝑘 ≤𝟏, 𝑦 𝑘 , 𝑤 𝑘 ∈ 𝑋 𝑘 for 𝑘=1,…,𝐾 . Now let ( 𝑦 𝑘,𝑡 , 𝑤 𝑘,𝑡 ) corresponds to the 𝑡 𝑡ℎ feasible solution in the set 𝑋 𝑘 , and 𝜆 𝑘,𝑡 is the corresponding binary variable. Integer Programming 2017
Integer Programming Master 𝑧= max 𝑘=1 𝐾 𝑒 𝑘 𝑦 𝑘 + 𝑓 𝑘 𝑤 𝑘 : 𝑘=1 𝐾 𝑦 𝑘 ≤𝟏, 𝑦 𝑘 , 𝑤 𝑘 ∈ 𝑋 𝑘 for 𝑘=1,…,𝐾 . Integer Programming Master 𝑧= max 𝑘=1 𝐾 𝑡=1 𝑇 𝑘 ( 𝑒 𝑘 𝑦 𝑘,𝑡 + 𝑓 𝑘 𝑤 𝑘,𝑡 ) 𝜆 𝑘,𝑡 𝑘=1 𝐾 𝑡: 𝑦 𝑖 𝑘,𝑡 =1 𝜆 𝑘,𝑡 =1 for 𝑖∈𝑀 𝑡=1 𝑇 𝑘 𝜆 𝑘,𝑡 ≤1 for 𝑘=1,…,𝐾 𝜆 𝑘,𝑡 ∈{0,1} for 𝑡=1,…, 𝑇 𝑘 and 𝑘=1,…,𝐾 Integer Programming 2017
Ex) Multi-Item Lot-Sizing Given demands 𝑑 𝑡 𝑘 for items 𝑘=1,…,𝐾 over a time horizon 𝑡=1,…,𝑇. All items must be produced on a single machine; the machine can produce only one item in each period and has a capacity 𝐶 𝑡 𝑘 if item 𝑘 is produced in period 𝑡. min 𝑘=1 𝐾 𝑡=1 𝑇 ( 𝑝 𝑡 𝑘 𝑥 𝑡 𝑘 + ℎ 𝑡 𝑘 𝑠 𝑡 𝑘 + 𝑓 𝑡 𝑘 𝑦 𝑡 𝑘 ) 𝑘=1 𝐾 𝑦 𝑡 𝑘 ≤1 for 𝑡=1,…,𝑇 (xk, sk, yk) Xk for 𝑘=1,…,𝐾 where 𝑋 𝑘 ={( 𝑥 𝑘 , 𝑠 𝑘 , 𝑦 𝑘 )∈ 𝑅 + 𝑇 × 𝑅 + 𝑇 × 𝐵 𝑇 : 𝑠 𝑡−1 𝑘 + 𝑥 𝑡 𝑘 = 𝑑 𝑡 𝑘 + 𝑠 𝑡 𝑘 , 𝑥 𝑡 𝑘 ≤ 𝐶 𝑡 𝑘 𝑦 𝑡 𝑘 for 𝑡=1,…,𝑇}. Integer Programming 2017
Ex) Clustering (min cut clustering) Given 𝐺= 𝑉,𝐸 , edge costs 𝑐 𝑒 for 𝑒∈𝐸, node weights 𝑑 𝑖 for 𝑖∈𝑉, and a cluster capacity 𝐶, want to split the node set 𝑉 into 𝐾 (possibly empty) clusters such that the sum of the node weights in each cluster does not exceed 𝐶 and the sum of the weights of the edges between clusters is minimized (maximize the sum of weights of edges within clusters). max 𝑘=1 𝐾 𝑒∈𝐸 𝑐 𝑒 𝑤 𝑒 𝑘 𝑘=1 𝐾 𝑦 𝑖 𝑘 ≤1 for 𝑖∈𝑉 ( 𝑤 𝑘 , 𝑦 𝑘 )∈ 𝑋 𝑘 for 𝑘=1,…,𝐾 where 𝑋 𝑘 ={( 𝑤 𝑘 , 𝑦 𝑘 )∈ 𝐵 𝑚 × 𝐵 𝑛 : 𝑤 𝑒 𝑘 ≤ 𝑦 𝑖 𝑘 , 𝑤 𝑒 𝑘 ≤ 𝑦 𝑗 𝑘 , 𝑤 𝑒 𝑘 ≥ 𝑦 𝑖 𝑘 + 𝑦 𝑗 𝑘 −1, for 𝑒=(𝑖,𝑗)∈𝐸, 𝑖∈𝑉 𝑑 𝑖 𝑦 𝑖 𝑘 ≤𝐶} with 𝑦 𝑖 𝑘 =1 if node 𝑖 is in cluster 𝑘 and 𝑤 𝑒 𝑘 =1 if edge 𝑒 has both endpoints in cluster 𝑘. Integer Programming 2017
Ex) Capacitated Vehicle Routing Given 𝐺= 𝑉,𝐸 , a depot node 0, edge costs 𝑐 𝑒 for each 𝑒∈𝐸, 𝐾 identical vehicles of capacity 𝐶, and client orders 𝑑 𝑖 for 𝑖∈𝑉∖ 0 . Want to find a set of subtours (cycles) for each vehicle such that (i) each subtour contains the depot, (ii) together the subtours contain all the nodes, (iii) the subtours are disjoint on the node set V\{0}, and (iv) the total demand on each subtour (the total amount delivered by each vehicle) does not exceed 𝐶. Ex) Generalized Assignment Problem Integer Programming 2017
11.6 Partitioning with Identical Subsets How to avoid symmetry in solutions when subsets are interchangeable (independent of 𝑘) (ex: clustering, vehicle routing) As 𝑋 𝑘 =𝑋, 𝑒 𝑘 , 𝑓 𝑘 =(𝑒,𝑓) and 𝑇 𝑘 =𝑇 for all 𝑘. Set 𝜆 𝑡 = 𝑘=1 𝐾 𝜆 𝑘,𝑡 (IPM) max 𝑡=1 𝑇 (𝑒 𝑦 𝑡 +𝑓 𝑤 𝑡 ) 𝜆 𝑡 𝑡: 𝑦 𝑖 𝑡 =1 𝜆 𝑡 =1 for 𝑖∈𝑀 𝑡=1 𝑇 𝜆 𝑡 ≤𝐾 𝜆∈ 𝐵 𝑇 Subproblem is 𝜁= max { 𝑒−𝜋 𝑦+𝑓𝑤−𝜇:(𝑦,𝑤)∈𝑋} Integer Programming 2017
What if solution 𝜆 is not integral? Branching rules: What if solution 𝜆 is not integral? (i) If 𝑡=1 𝑇 𝜆 𝑡 =𝛼∉𝑍, then form two branches with 𝑡=1 𝑇 𝜆 𝑡 ≤ 𝛼 and 𝑡=1 𝑇 𝜆 𝑡 ≥ 𝛼 respectively. (ii) If 𝜆 ∉ 𝐵 𝑇 , need modifications on the branching rule. Rationale: For every feasible partitioning, any two elements 𝑖 and 𝑗 are either in the same subset or in different subsets. Prop 11.3: (Ryan and Foster(1981)) If 𝜆 ∉ 𝐵 𝑇 , there exist rows 𝑖,𝑗∈𝑀 such that 0< 𝑡: 𝑦 𝑖 𝑡 = 𝑦 𝑗 𝑡 =1 𝜆 𝑡 <1 Pf) Consider fractional variable 𝜆 𝑡 ′ . Let row 𝑖 be any row with 𝑦 𝑖 𝑡 ′ =1. Since 1≤𝑡≤𝑇 𝑦 𝑖𝑡 𝜆 𝑡 =1 and 𝜆 𝑡 ′ is fractional, there must exist some other basic column 𝑡 ′′ with 0< 𝜆 𝑡 ′′ <1 and 𝑦 𝑖 𝑡 ′′ =1. Integer Programming 2017
Pf) (continued) Since there are no duplicate columns in the basis, there must exist a row j such that either 𝑦 𝑗 𝑡 ′ =1 or 𝑦 𝑗 𝑡 ′′ =1 but not both. This leads to the following sequence of relations: 1= 1≤𝑡≤𝑇 𝑦 𝑖𝑡 𝜆 𝑡 = 𝑡: 𝑦 𝑖𝑡 =1 𝜆 𝑡 > 𝑡: 𝑦 𝑖𝑡 =1, 𝑦 𝑗𝑡 =1 𝜆 𝑡 , where the inequality follows from the fact that the last summation includes either 𝜆 𝑡 ′ or 𝜆 𝑡 ′′ , but not both. Integer Programming 2017
Two branching constraints: (1): 𝑡: 𝑦 𝑖 𝑡 = 𝑦 𝑗 𝑡 =1 𝜆 𝑡 =1 : rows 𝑖 and 𝑗 should be covered by same column. All feasible columns must have 𝑦 𝑖 𝑡 = 𝑦 𝑗 𝑡 =0 or 𝑦 𝑖 𝑡 = 𝑦 𝑗 𝑡 =1. Infeasible columns eliminated (or value of corresponding variable 𝜆 set to 0 ) After branch, generate only the subsets such that 𝑖 and 𝑗 are in the same subset. (Add 𝑦 𝑖 = 𝑦 𝑗 to the subproblem) (2): 𝑡: 𝑦 𝑖 𝑡 = 𝑦 𝑗 𝑡 =1 𝜆 𝑡 =0 : rows 𝑖 and 𝑗 should be covered by diff. columns. All feasible columns must have 𝑦 𝑖 𝑡 = 𝑦 𝑗 𝑡 =0 or 𝑦 𝑖 𝑡 =0, 𝑦 𝑗 𝑡 =1 or 𝑦 𝑖 𝑡 =1, 𝑦 𝑗 𝑡 =0. Generate only subsets which include at most one of 𝑖 or 𝑗. (Add 𝑦 𝑖 + 𝑦 𝑗 ≤1 to the subproblem) Integer Programming 2017