Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1. Formulations 1. Integer Programming 2011 2  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +

Similar presentations


Presentation on theme: "Chapter 1. Formulations 1. Integer Programming 2011 2  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +"— Presentation transcript:

1 Chapter 1. Formulations 1

2 Integer Programming 2011 2  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax + By = b (or Ax + By  b) x  Z + n, y  R + k, where A  Z m  n, B  Z m  k, b  Z m, c  Z n, d  Z k  Integer Optimization Problem (IP) min c’x Ax = b x  Z + n  Binary (or zero-one) Integer Optimization Problem (BIP) min c’x Ax = b x  {0, 1} n ( or x  B n )

3 Integer Programming 2011 3  Combinatorial Optimization Problem Given a finite set N = { 1, …, n }, weights c j for each j  N, and a set F of feasible subsets of N. Want to find a minimum (or maximum) weight feasible subset in F. (COP)min S  N {  j  S c j : S  F }  Almost all COPs can be formulated as IP or BIP  Knapsack problem, Traveling Salesman Problem, Min/Max cut of graph, Stable set, Steiner Tree, …

4 Integer Programming 2011 4 Applications  Numerous applications  Transportation (train scheduling)  Airline crew scheduling, plane scheduling  Production planning, distribution, SCM, logistics  Energy, Eletricity generation planning  Telecommunicaton network design, operation  Buses for the handicapped  Ground holding of aircraft  Cutting problems  ….  Too many to list.  Provides very strong modeling capabilities (much better than LP alone), but usually difficult to solve (The solution set is not convex) linear  nonlinear, convex  non-convex  Recent advances in theory and software makes IP a practical option.

5 Integer Programming 2011 5 1.1 Modeling Techniques  Steps  Define necessary variables  Define (construct) constraints so that feasible points correspond to the feasible solutions of the problem  Define objective function  May exist many correct, but different formulations. Needs creativity.  Which formulation is better?  Frequently, use incidence vectors to denote sets  S  N, incidence vector of S is n-dimensional vector x S such that x S j = 1 if j  S and x S j = 0 otherwise.

6 Binary choice  The 0-1 knapsack problem n items w j is the weight of item j, and c j is its value Bound b on the weight that can be carried in a knapsack Select items to be put in the knapsack so that the total value is maximum. x j = 1 if item j is selected, and x j = 0 otherwise The capacity bound cannot be exceeded:  j =1,..,n a j x j  b Variables are 0-1: x j  {0, 1} for j = 1,.., n Total value is maximized: max  j c j x j Integer Programming 2011 6

7  Variations  Integer knapsack problem  Precedence constrained knapsack problem Partial orders on projects project i must be done to perform project j ( i -> j ) ( can be represented as directed graph, use x i  x j in constraints (x: binary)) ex) repair kit selection, selecting tools for FMS tool magazine, open pit mining, …  Quadratic knapsack problem: Objective is quadratic function Integer Programming 2011 7

8  Boolean Quadratic Function max f(x) =  i = 1 n d i x i +  i, j, i  j c ij x i x j, x i  {0, 1} for all i ( use additional variables y ij, such that y ij = x i x j for binary x. Extended formulation.)  max  i = 1 n d i x i +  i, j, i  j c ij y ij x i + x j – y ij  1 -x i + y ij  0 -x j + y ij  0 for all i, j, i  j x i, y ij  {0, 1} for all i, j  constraints ensure that x i = x j = 1  y ij = 1  The technique will be used in lift and project Integer Programming 2011 8

9  Ex: quadratic knapsack problem, max cut of a graph Def: Given a graph G = (V, E), and subset S  V of vertices, the set of edges with exactly one endpoint in S is called a cut (relative to S).  Given G = (V, E), and edge weights c ij, e = (i, j)  E, find a maximum weight cut of G. max  (i, j)  E c ij ( x i (1-x j ) + (1-x i )x j ) x i  {0, 1} for all i (may add constraint x 1 = 1 )  Note: max cut problem is difficult to solve (NP-hard), but min cut problem is easy (max-flow min-cut theorem). Integer Programming 2011 9

10 Forcing constraints  Decision A (x=1) can be made only if decision B (y=1) also has been made. x  y  Uncapacitated Facility Location (UFL) Given potential depots N = { 1, …, n}, and a set M = { 1, …, m} of clients. Fixed cost c j to open depot j, and transportation cost d ij if all of client i’s order is delivered from depot j. Determine which depots to open, and which depot serves each client so as to minimize the total cost. Define y j = 1 if depot j is open, and y j = 0 otherwise x ij is fraction of the demand of client i satisfied from depot j. Satisfaction of demand of client i :  j =1 n x ij = 1 for i = 1,.., m Integer Programming 2011 10

11 if depot j not opened, then x ij = 0. => x ij  y j for i  M, y j  {0, 1} min  j  N c j y j +  i  M  j  N d ij x ij  j =1 n x ij = 1 for i  M x ij  y j for i  M, j  N 0  x ij  1 for i  M, j  N, y j  {0, 1} for j  N  Note that there exists an optimal solution with x ij = 0 or 1. Capacitated version? Integer Programming 2011 11

12 Relation between variables  j =1 n x ij  (=) 1 : Generalized upper bound (GUB) constraint Integer Programming 2011 12

13 Disjunctive constraints  Assume x  0 a’x  b, c’x  d,a, c  0 at least one of the two constraints needs to be satisfied  a’x  yb, c’x  (1-y)d, y  {0, 1}  General form: a i ’x  b i, i = 1, …, m( a i  0 for all i) (at least k of m needs to be satisfied)   i = 1 m y i  k, a i ’x  b i y i, y i  {0, 1}, i = 1, …, m.  Ex) machine scheduling: two jobs must be processed on the same machine and cannot be processed simultaneously. p i : processing time of job i, t i : start time of job i,  either t 2  t 1 + p 1 or t 1  t 2 + p 2 should hold. (need a different formulation from above, using big M) Note that the feasible solution set is not convex. Integer Programming 2011 13

14 Restricted range of values  Want to restrict a variable x to take values in a set {a 1, …, a m }.  x =  j=1 m a j y j,  j=1 m y j = 1, y j  {0, 1} Integer Programming 2011 14

15 Arbitrary piecewise linear cost functions  Piecewise linear, not necessarily convex, cost function (separable piecewise linear convex cost function can be modeled as LP (min problem, but non-convex (or non-concave) function cannot be modeled as LP) Integer Programming 2011 15 a1a1 a2a2 a3a3 a4a4 f(x) x 1 2 3 4 y1y1 y2y2 y3y3 x =  i=1 k i a i, f(x) =  i=1 k i f(a i ),  i=1 k i = 1, 1, …, k  0

16  min  i=1 k i f(a i ) s. t. 1  y 1, k  y k-1 i  y i-1 + y i, i = 2, …, k-1,  i=1 k i = 1,  i=1 k-1 y i = 1 i  0, y i  {0, 1} Integer Programming 2011 16

17  Alternative formulation Integer Programming 2011 17 w0w0 w1w1 w2w2 w3w3 f(x) x L j w j  x j  L j w j-1 j = 1, 2, …, k w 0 = 1 w j  {0, 1} j = 1, 2, …, k x j  0 j = 1, 2, …, k f = K+c 1 x 1 + c 2 x 2 + … +c k x k K L1L1 L2L2 L3L3

18 Set covering, set packing, set partitioning  M = { 1, …, m}, N = { 1, …, n} M 1, M 2, …, M n are collection of subsets of M. cost c j for each subset M j  F  N is a cover of M if  j  F M j = M F is a packing of M if M j  M j =  for all j, k  F, j  k F is a partition of M if it is both a cover and a packing of M. weight of a subset F of N is defined as  j  F c j  Let A: m  n with a ij = 1, if i  M j, = 0, otherwise  Ax  e, Ax  e, Ax = e Integer Programming 2011 18

19 Sequencing problem with setup times  One machine, m operations operation j requires unique tool j capacity of tool magazine is B < m loading or unloading tool j into the magazine requires s j units of setup time n jobs need to be performed by the machine and each job i requires multiple operations J i, |J i |  B (setup time required prior to each job is sequence dependent)  Determine the optimal job sequence that minimizes total setup time. Assume the magazine is empty initially. Integer Programming 2011 19

20  Let x ir = 1, if job i is the rth job processed = 0, otherwise y jr = 1, if tool j is on the magazine while the rth job is processed = 0, otherwise  y j0 = 0, for all j. (or may use initial magazine setting)  r = 1 n x ir = 1, for all i.  i = 1 n x ir = 1, for all r. x ir  y jr, for all j  J i, for all r, i.  j = 1 m y jr  B, for all r. Integer Programming 2011 20

21 minimize  j = 1 m  r = 1 n s j | y jr - y j,r-1 |  minimize  j = 1 m  r = 1 n s j z jr z jr  y jr - y j,r-1, for all j, r, z jr  y jr-1 - y j,r,for all j, r.  minimize  j = 1 m  r = 1 n s j z jr z jr  y jr - y j,r-1, for all j, r, z jr  y jr-1 - y j,r,for all j, r,  r = 1 n x ir = 1, for all i.  i = 1 n x ir = 1, for all r. x ir  y jr, for all j  J i, for all r, i.  j = 1 m y jr  B, for all r. Integer Programming 2011 21

22 Uncapacitated lot sizing (ULS) (NW)  Production plan for an T-period horizon for a single product. c t is the fixed cost (set-up) of producing in period t. p t is the unit production cost in period t. h t is the unit storage cost in period t. d t is the demand in period t. Variables: y t is the amount produced in period t. s t is the stock at the end of period t. x t = 1 if production occurs in t, and x t = 0 otherwise. Integer Programming 2011 22

23  Formulation: min  t = 1 T (p t y t + h t s t + c t x t ) y 1 = d 1 + s 1 s t-1 + y t = d t + s t for t = 2, …, T y t   x t for t = 1, …, T s T = 0 s, y  R + T, x  B T, where  =  t=1 T d t is an upper bound on y t for all t. Integer Programming 2011 23

24  Alternative formulation: Define q it as the quantity produced in period i to satisfy demand in period t  i. min  t = 1 T  i=1 t (p i + h i + h i+1 … + h t-1 )q it +  t=1 T c t x t  i=1 t q it = d t for t = 1, …, T q it  d t x t for i = 1, …, T and t =i, …, T q  R + T(T+1)/2, x  B T,  If we replace x  B T, by 0  x t  1 for all t, then the LP has an optimal solution with x  B T. Hence this is a stronger formulation.  The formulation is a special case of the uncapacitated facility location problem. Substitute y it = q it /d t for all i and t  i.  Extensions: capacitated lot sizing, multiple item lot sizing, … Integer Programming 2011 24


Download ppt "Chapter 1. Formulations 1. Integer Programming 2011 2  Mixed Integer Optimization Problem (or (Linear) Mixed Integer Program, MIP) min c’x + d’y Ax +"

Similar presentations


Ads by Google