Presentation is loading. Please wait.

Presentation is loading. Please wait.

Integer Programming (정수계획법)

Similar presentations


Presentation on theme: "Integer Programming (정수계획법)"— Presentation transcript:

1 Integer Programming (정수계획법)
Formulations Plane scheduling, Crew scheduling leg: one flight taking off from somewhere and landing somewhere else. route: a set of flights that an airplane can serve and return home. Let OR

2 This formulations is a set partitioning type formulation
Plane scheduling m : total number of legs, n : total number of possible routes (big number). Each route should satisfy timing and regulatory constraints. Assume we already generated enough routes This formulations is a set partitioning type formulation Crew scheduling Crews may ride some airplanes (legs) as passengers. Set covering type formulation. Note that the routes and costs can be different from the plane scheduling case. OR

3 Set partitioning : { S1, S5 }, { S4, S7 }, …
Set partitioning, set covering, set packing : ex) N = { 1, 2, 3, 4, 5 } S1 = {1, 2}, S2 = {1, 3, 4}, S3 = {3, 4}, S4 = { 1, 4, 5}, S5 = {3, 4, 5}, S6 = {1, 2, 3}, S7 = {2, 3} Set partitioning : { S1, S5 }, { S4, S7 }, … Set covering : { S1, S2, S4 }, { S4, S6 }, … Set packing : { S1, S3 }, { S5 }, … OR

4 Traveling salesman problem
(Formulation in the handout considers the directed case. It is correct, but not a strong formulation. We will consider a different formulation for undirected case. Similar idea can be used for directed case too.) Fixed cost charge problem (Note that y = 1, x = 0 cannot be an optimal solution since K > 0.) OR

5 ci : slope f(x) c4 c2 c3 c1 K x L1 L2 L3 (x1) (x2) (x3)
Nonlinear Objective functions May approximate a nonlinear objective function by a continuous piecewise linear objective function. f(x) ci : slope c4 c2 c3 c1 K x L1 L2 L3 (x1) (x2) (x3) OR

6 Want to express x as x = L1 + L2 + … + Lt-1 + xt
and objective value as f(x) = K + c1L1 + c2L2 + … + ct-1Lt-1 + ctxt . Formulation: Ljwj  xj  Ljwj-1 j = 1, 2, … , k w0 = 1 wj  {0, 1} j = 1, 2, … , k xj  0 j = 1, 2, … , k note that we have wj  wj-1 for j = 1, 2, … , k. If wj = 0 for some j  wk = 0 for k  j+1 If wj = wj-1 = 1  xj = Lj If wj = wj-1 = 0  xj = 0 If wj = 0, wj-1 = 1  0  xj  Lj Write the piecewise linear function as K + c1x1 + c2x2 + … + ckxk . OR

7 (general knapsack, binary knapsack problem)
either-or constraints If x satisfies at least one of the two constraints, x is feasible. ex) one machine job scheduling problem. M: large value OR

8 Functions with N possible values
OR

9 ex) quadratic knapsack problem
Quadratic 0-1 function ex) quadratic knapsack problem max  i  j cijxixj +  djxj Ax  b x binary  max  i  j cijyij +  djxj yij  xi , yij  xj xi + xj – 1  yij for all i, j x, y binary Express xixj by yij and add constraints that ensure yij = 1 if xi = xj = 1, and yij = 0 otherwise. ( If xi = xj = 1  yij = 1, Else (at least one of xi , xj = 0)  yij = 0) ( xi = xj =  yij = 1 ) OR

10 Models with many constraints
Traveling salesman problem (undirected case) Undirected graph G = (N, E), edge cost ce , e  E N: set of nodes, E: set of edges (edge e = (i, j), i, j  N) Find a minimum cost tour that visits each node exactly once and return home Cutset formulation minimize e  E ce xe subject to e   ({i}) xe = 2 , i  N e  (S) xe  2 , S  N, S  , N, xe  { 0, 1 }, where (S) = { e = ( i, j )  E : i  S, j  S} (called a cut defined by S, set of edges with one end node in S and the other end node not in S) OR

11 Subtour elimination formulation minimize e  E ce xe
subject to e   ({i}) xe = 2 , i  N e  E(S) xe  |S| - 1 , S  N, S  , N, xe  { 0, 1 }, where E(S) = { e = ( i, j )  E : i  S, j  S} (set of edges with both end nodes in S) Both formulations are correct and LP relaxations of both formulations give the same solution set. But there are enormous number of constraints. We will consider how to solve the formulation later. Although the formulation given in the handout is not a good one, it may be used if we want to solve small TSPs using a generic IP software, not the sophisticated algorithm that can handle the cutset or subtour elimination constraints. OR

12 Integer programming significantly increases the modeling capability, but usually takes much more time to solve than linear programming. Theoretically, it is generally believed that there does not exist a polynomial time algorithm to solve general integer programming problems. However, recent advances in theory and software, combined with powerful computers makes it possible to solve many real world problems using integer programming. OR


Download ppt "Integer Programming (정수계획법)"

Similar presentations


Ads by Google