Presentation is loading. Please wait.

Presentation is loading. Please wait.

11.5 Implicit Partitioning/Packing Problems

Similar presentations


Presentation on theme: "11.5 Implicit Partitioning/Packing Problems"โ€” Presentation transcript:

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


Download ppt "11.5 Implicit Partitioning/Packing Problems"

Similar presentations


Ads by Google