Download presentation
Presentation is loading. Please wait.
1
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
2
Integer Programming Master
๐ง= max ๐=1 ๐พ ๐ ๐ ๐ฆ ๐ + ๐ ๐ ๐ค ๐ : ๐=1 ๐พ ๐ฆ ๐ โค๐, ๐ฆ ๐ , ๐ค ๐ โ ๐ ๐ for ๐=1,โฆ,๐พ . Integer Programming Master ๐ง= max ๐=1 ๐พ ๐ก=1 ๐ ๐ ( ๐ ๐ ๐ฆ ๐,๐ก + ๐ ๐ ๐ค ๐,๐ก ) ๐ ๐,๐ก ๐=1 ๐พ ๐ก: ๐ฆ ๐ ๐,๐ก =1 ๐ ๐,๐ก =1 for ๐โ๐ ๐ก=1 ๐ ๐ ๐ ๐,๐ก โค for ๐=1,โฆ,๐พ ๐ ๐,๐ก โ{0,1} for ๐ก=1,โฆ, ๐ ๐ and ๐=1,โฆ,๐พ Integer Programming 2017
3
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
4
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
5
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
6
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 ๐ ๐ก = for ๐โ๐ ๐ก=1 ๐ ๐ ๐ก โค๐พ ๐โ ๐ต ๐ Subproblem is ๐= max { ๐โ๐ ๐ฆ+๐๐คโ๐:(๐ฆ,๐ค)โ๐} Integer Programming 2017
7
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
8
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
9
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.