i, t

advertisement
11.5 Implicit Partitioning/Packing Problems
 Given M = {1, … , m}, K implicitly described sets of feasible subsets of M.
Find a maximum value packing or partition of M consisting of certain of
these subsets.
 In terms of original IP, we set xk = (yk, wk) with yk {0, 1}m being the
incidence vector of subset k of M. wk are auxiliary variables needed to
define whether the subset with incidence vector yk is feasible, and to define
the possibly nonlinear objective function value of the corresponding subset.
ck = (ek, fk), Ak = ( I, 0), b = 1.
z = max { k=1K (ekyk + fkwk ): k=1K yk  1, (yk, wk)  Xk for k = 1, … , K}.
Now let (yk,t, wk,t) corresponds to the tth feasible solution in the set Xk , and
k, t is the corresponding variable.
Integer Programming 2011
1
z = max { k=1K (ekyk + fkwk ): k=1K yk  1, (yk, wk)  Xk for k = 1, … , K}.
 Integer Programming Master
z = max k=1K t=1Tk ( ekyk, t + fkwk, t ) k, t
k=1K t: y(i, k, t) =1 k, t = 1
for i  M
t=1Tk k, t  1
for k = 1, … ,K
k, t  {0, 1} for t = 1, … , Tk and k = 1, … , K
Integer Programming 2011
2
 Ex) Multi-Item Lot-Sizing
Given demands dtk for items k = 1, … , K over a time horizon t = 1, … , T.
All items must be produced on a single machine; the machine can produce
only one item in each period and has a capacity Ctk if item k is produced in
period t.

min k=1K t=1T ( ptkxtk + htkstk + ftkytk)
k=1K ytk  1
for t = 1, … , n
(xk, sk, yk)  Xk
for k = 1, … ,K
where Xk = { (xk, sk, yk)  R+n  R+n  Bn : st-1k + xtk = dtk + stk, xtk  Ctkytk
for t = 1, … , T}.
Integer Programming 2011
3
 Ex) Clustering (min cut clustering)
Given G = (V, E), edge costs ce for e  E, node weights di for i  V, and a
cluster capacity C, want to split the node set V into K (possibly empty)
clusters such that the sum of the node weights in each cluster does not exceed
C and the sum of the weights of the edges between clusters is minimized
(maximize the sum of weights of edges within clusters).

max k=1K eE cewek
k=1K yik  1
(wk, yk)  Xk
for i  V
for k = 1, … ,K
where Xk = { (wk, yk)  Bm  Bn : wek  yik , wek  yjk , wek  yik + yjk – 1,
for e = (i, j)  E, iV diyik  C } with yik = 1 if node i is in cluster k and wek
= 1 if edge e has both endpoints in cluster k.
Integer Programming 2011
4
 Ex) Capacitated Vehicle Routing
Given G = (V, E), a depot node 0, edge costs ce for each e  E, K identical
vehicles of capacity C, and client orders di for i  V\{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
C.
 Ex) Generalized Assignment Problem
Integer Programming 2011
5
11.6 Partitioning with Identical Subsets
 How to avoid symmetry in solutions when subsets are interchangeable
(independent of k) (ex: clustering, vehicle routing)
 As Xk = X, (ek, fk) = (e, f) and Tk = T for all k.
Set t = k=1K k, t
(IPM)
max t=1T ( eyt + fwt ) t
t: y(i, t) = 1 t = 1
for i  M
t=1T t  K
for i  M
  BT
 Subproblem is  = max { (e - )y + fw -  : (y, w)  X}
Integer Programming 2011
6
 Branching rules:
What if solution 𝜆 is not integral?
𝑇
𝑡=1 𝜆𝑡
= 𝛼 ∉ 𝑍, then form two branches with
𝑇
𝑡=1 𝜆𝑡 ≥ 𝛼 respectively.
(i) If
𝑇
𝑡=1 𝜆𝑡
≤ 𝛼 and
(ii) If 𝜆  BT, need modifications on the branching rule.
Rationale: For every feasible partitioning, any two elements i and j are either
in the same subset or in different subsets.
 Prop 11.3: (Ryan and Foster(1981))
If 𝜆  BT, there exist rows i, j  M such that
0 <  t : y(i, t) = y(j, t) =1 t < 1
Integer Programming 2011
7
 Two branching constraints:
(1):  t: y(i, t)=1, y(j, t) = 1 t = 1 : rows i and j should be covered by same column.
All feasible columns must have yit = yjt = 0 or yit = yjt = 1. Infeasible
columns eliminated (or value of corresponding variable  set to 0 )
After branch, generate only the subsets such that i and j are in the same
subset. (Add yi = yj to the subproblem)
(2):  t: y(i, t)=1, y(j, t) = 1 t = 0 : rows i and j should be covered by diff. columns.
All feasible columns must have yit= yjt= 0 or yit = 0, yjt = 1 or yit = 1, yjt = 0
Generate only subsets which include at most one of i or j. (Add yi + yj  1
to the subproblem)
Integer Programming 2011
8
Download