is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)

Size: px
Start display at page:

Download "is called an integer programming (IP) problem. model is called a mixed integer programming (MIP)"

Transcription

1 INTEGER PROGRAMMING

2 Integer Programming g In many problems the decision variables must have integer values. Example: assign people, machines, and vehicles to activities in integer quantities. If this is the only deviation from linear programming, it is called an integer programming (IP) problem. If only some variables ibl are required to be integer, the model is called a mixed integer programming (MIP) San Francisco Police Dep. problem is an IP problem. Wyndor Glass Co. problem could be an IP problem; how? João Miguel da Costa Sousa / Alexandra Moutinho 261

3 Integer Programming g In integer programming the divisibility assumption must be dropped. Another area of application relates to problems involving yes or no decisions, which have binary variables. These IP problems are ecalled binary integer programming (BIP) problems. A small example of a typical BIP problem is given in the following. João Miguel da Costa Sousa / Alexandra Moutinho 262

4 Prototype example California Manufacturing Company is considering expansion, building a factory in Los Angeles, San Francisco or in both cities. One new warehouse can also be considered in a city where a new factory is being built. Maximum $10 million to invest. Objective: find feasible combination of alternatives that maximizes the total net present value. Decision Yes or no question Decision Net present Capital number variable value required 1 Build factory in Los Angeles? x 1 $9 million $6 million 2 Build factory in San Francisco? x 2 $5 million $3 million 3 Build warehouse in Los Angeles? x 3 $6 million $5 million 4 Build warehouse in San Francisco? x 4 $4 million $2 million João Miguel da Costa Sousa / Alexandra Moutinho 263

5 BIP model All decision variables have the binary form: x j 1 if decision j is yes, = j= 1,2,3,4 0 if decision j is no, Z = total net present value of these decisions. Maximize Z = 9x 1 + 5x 2 + 6x 3 + 4x 4. Constraints: 6x 1 + 3x 2 + 5x 3 + 2x 4 10 x 3 + x 4 1 x 3 x 1 and x 4 x 2 x j is binary, for j = 1,2,3,4.,3,4 Mutually exclusive alternatives Contingent decisions João Miguel da Costa Sousa / Alexandra Moutinho 264

6 BIP models Groups p of yes or no decisions often constitute groups of mutually exclusive alternatives: only one decision in the group can be yes. Occasionally, decisions of the yes or no type are contingent decisions: decision that depends upon previous ones. Software options for solving BIP, IP or MIP models: Excel MatLab LINGO/LINDO MPL/CPLEX João Miguel da Costa Sousa / Alexandra Moutinho 265

7 BIP applications Investment analysis, such as the California Man. Co. Site selection, of factories, warehouses, etc. Designing a production and distribution network, or more generally the entire global supply chain. Dispatching shipments, scheduling routes, vehicles and time period for departure and arrivals. Airline applications, as e.g. fleet assignment and crew scheduling. Scheduling interrelated activities, asset divestures, etc. João Miguel da Costa Sousa / Alexandra Moutinho 266

8 Formulation examples Example 1: making choices when decision variables are continuous. R&D Division of Good Products Co. has developed three possible new products. Requirement 1: from the three, at most two can be chosen to be produced. Each product can be produced in either of two plants. However, management has imposed another restriction: Requirement 2: just one of the two plants can be chosen as the producer of the new products. João Miguel da Costa Sousa / Alexandra Moutinho 267

9 Example 1 Production time used for each unit produced Product 1 Product 2 Product 3 Production time available per week Plant 1 3 hours 4 hours 2 hours 30 hours Plant 2 4 hours 6 hours 2 hours 40 hours Unit profit (10 3 $) Sales (units per potential week) Objectives: choose the products, the plant and the production rates of the chosen products to maximize total profit. João Miguel da Costa Sousa / Alexandra Moutinho 268

10 Formulation of the problem Similar to a standard product mix problem,, such as the Wyndor Glass Co. if we drop the two restrictions and require each product to use production hours in both plants. Let x 1, x 2, x 3 be the production rates of the respective products: Maximize Z= 5x + 7x + 3x subject to 3x + 4x + 2x x + 6x + 2x x1 7 x2 5 x3 9 x, x, x João Miguel da Costa Sousa / Alexandra Moutinho 269

11 Formulation of the problem For real problem, restriction 1 adds the constraint: Number of strictly positive variables (x 1, x 2, x 3 ) must be 2 This must be converted to an IP problem. It needs the introduction of auxiliary binary variables. Restriction 2 requires replacing the first two functional constraints by: Either 3x + 4x + 2x or 4x + 6x + 2x 40 must hold. od This again requires an auxiliary binary variable. João Miguel da Costa Sousa / Alexandra Moutinho 270

12 Auxiliary binary variables For requirement 1, three auxiliary binary variables (y 1, y 2, y 3 )are 3 introduced: y j 1 if xj > 0 can hold (can produce product j) = 0 if xj = 0 must hold (cannot produce product j) This is introduced in the model with the help of an extremely large positive number M, adding the constraints: x My 1 1 x2 My2 x3 My3 y1+ y2+ y3 2 y is binary, for j= 1,2, j João Miguel da Costa Sousa / Alexandra Moutinho 271

13 Auxiliary binary variables For requirement 2, another auxiliary binary variable y 4 is introduced: y 4 1 if 4 x1 + 6 x2 + 2 x3 40 must hold (choose Plant 2) = 0 if 3x1+ 4x2+ 2x3 30 must hold (choose Plant 1) This adds the constraints: 3x + 4x + 2x 30+ My x + 6x + 2x 40 + M(1 y ) y is binary João Miguel da Costa Sousa / Alexandra Moutinho 272

14 Complete model (MIP) Maximize Z= 5x1 + 7x2+ 3x3 subject to x1 7 x2 5 x3 9 x1 My1 0 x2 My2 0 x3 My3 0 y1 + y2 + y3 2 3x1 + 4x2+ 2x3 My4 30 4x + 6x + 2x + My 40+ M and xi 0, for i= 1,2,3 y is binary, for j = 1,2,3,4 j João Miguel da Costa Sousa / Alexandra Moutinho 273

15 Solution MIP problem with 3 continuous and four binary variables. Optimal solution: y 1 = 1, y 2 = 0, y 3 = 1, y 4 = 1, x 1 = 5.5, x 2 = 0, x 3 = 9. That is, produce products 1 and 3 with production rates 5.55 units per week and 9 units per week respectively, and choose Plant 2 for production. Resulting total profit is $54, per week. João Miguel da Costa Sousa / Alexandra Moutinho 274

16 Example: Southwestern Airways Southwestern Airways needs to assign three crews to cover all the upcoming flights. Table shows the flights in the first column. Other 12 columns show the 12 feasible sequences of flights for a crew. Numbers in each column indicate the order of the flights. Exactly three sequences must be chosen (one per crew). More than one crew can be assigned to a flight, but it must be paid as if it was working. Last row shows the cost of assigning a crew to a particular sequence of flights. João Miguel da Costa Sousa / Alexandra Moutinho 275

17 Data for Southwestern Airways Feasible sequence of flights Flight San Francisco to Los Angeles San Francisco to Denver San Francisco to Seattle Los Angeles to Chicago Los Angeles to San Francisco Chicago to Denver Chicago to Seattle Denver to San Francisco Denver to Chicago Seattle to San Francisco Seattle to Los Angeles Cost (1000 ) João Miguel da Costa Sousa / Alexandra Moutinho 276

18 Formulation of the problem Objective: minimize the total cost for the three crew assignments that cover all flights. 12 feasible sequences of flights: 12 yes or no decisions: Should sequence j be assigned to a crew? The 12 binary variables to represent the decisions are: 1 if sequence j is assigned to a crew x j = 0 otherwise João Miguel da Costa Sousa / Alexandra Moutinho 277

19 Formulation of the problem Minimize Z= 2x + 3x + 4x + 6x + 7x + 5x + 7x + 8x + 9x + 9x10 + 8x11 + 9x12 subject to x + x + x + x (SF to LA) x2+ x5+ x8+ x11 1 x3+ x6+ x9+ x12 1 x4 + x7 + x 9 + x10 + x12 1 x and x j is binary, 1 x6 x10 x11 1 x4+ x5+ x9 1 for j = 1,2,,12 x7 + x8 + x10 + x11 + x12 1 x2+ x4+ x5+ x9 1 x 5+ x 8+ x 11 1 x3+ x7 + x8+ x12 1 x + x + x + x + x x j j= 1 = 3 (assign three crews) João Miguel da Costa Sousa / Alexandra Moutinho 278

20 Solution One optimal solution is: x 3 = 1 (assign sequence 3 to a crew) x 4 = 1 (assign sequence 4 to a crew) x 11 = 1 (assign sequence 11 to a crew) And all other x j = 0. Total cost is $18,000. Another optimal solution is: x 1 = x 5 = x 12 = 1. João Miguel da Costa Sousa / Alexandra Moutinho 279

21 Discussion This example belongs to a class called set covering problems,, with a number of potential activities (e.g. flight sequences) and characteristics (e.g. flights). Objective: determine the least costly combination of activities that collectively possess each characteristic at least once. S i is the set of all activities that possess characteristic i. A constraint is included for each characteristic i: j S 1 In set partitioning i problems the constraint t is i j S j x x j j = 1 João Miguel da Costa Sousa / Alexandra Moutinho 280

22 Solving IP problems Are integer problems easy to solve? Difference to LP is that IP have far fewer solutions. IP problems have a finite number of feasible solutions. However: Finite it numbers can be astronomically large! With n variables a BIP problem has 2 n solutions, having exponential growth. LP assures that a CPF solution can be optimal, guaranteeing gthe remarkable efficiency of the simplex method. LP problems are much easier to solve than IP problems! João Miguel da Costa Sousa / Alexandra Moutinho 281

23 Solving IP problems Consequently, most IP algorithms incorporate the simplex method. This is called the LP relaxation. Sometimes, the solution of the LP problem is the solution of the IP problem, such as : Minimum cost flow problem, including transportation problem, assignment problem, shortest path problem and maximum flow problem. Special structures (see examples 2 and 3): mutually exclusive alternatives, contingent decisions or setcovering constraints can also simplify the problem. João Miguel da Costa Sousa / Alexandra Moutinho 282

24 Solving IP problems Primary determinants of computational complexity: 1. number of integer variables, 2. these variables are binary or general integer variables, 3. any special structure in the problem. This is in contrast to LP, where number of constraints is much more important than the number of variables. As IP problems are much more difficult than LP, we could apply LP and round the obtained solution... Yes? João Miguel da Costa Sousa / Alexandra Moutinho 283

25 Example 1 Minimize Z= x 2 subject to x1+ x2 0.5 x1 + x2 3.5 and x1, x2 0, x, x integers. 1 2 João Miguel da Costa Sousa / Alexandra Moutinho 284

26 Example 2 Minimize Z= x 1+ 5x 2 subject to x 1+ 10x 2 20 x1 2 and x, x 0, integers. 1 2 João Miguel da Costa Sousa / Alexandra Moutinho 285

27 Solving IP problems Thus, a better approach to deal with IP problems that are too large to be solved exactly are heuristic algorithms. Heuristics and metaheuristics are extremely efficient for very large problems, but do not guarantee to find an optimal solution. These algorithms will be discussed later. Most popular traditional method for solving IP problems is the branch and bound technique. João Miguel da Costa Sousa / Alexandra Moutinho 286

28 Branch and bound applied to BIP Pure IP problems can consider some type of enumeration procedure. This should be done in a clever way such that only a tiny fraction of the feasible solutions is examined. Branch and bound with a divide to conquer technique can be used. dividing (branching) the problem into smaller and smaller subproblems until it can be conquered conquering (fathoming) by bounding how good the best solution can be. If no optimal solution in subset: discard it. João Miguel da Costa Sousa / Alexandra Moutinho 287

29 Example: California Manuf, Co. Recall prototype example: Maximize Z = 9x 1 + 5x 2 + 6x 3 + 4x 4 subject to and (1) 6x 1 + 3x 2 + 5x 3 + 2x 4 10 (2) x 3 + x 4 1 (3) x 1 + x 3 0 (4) x 2 + x 4 0 (5) x j is binary, for j = 1, 2, 3, 4. João Miguel da Costa Sousa / Alexandra Moutinho 288

30 Branching Most straightforward way to divide the problem: fix the value of a variable: e.g. x 1 = 0 for one subset and x 1 = 1 for another subset. Subproblemp 1 (fix x 1 =0): Subproblem 2 (fix x 1 = 1): Maximize Z =5x 2 +6x 3 +4x 4 Maximize Z =9+5x 2 +6x 3 +4x 4 subject to subject to (1) 3x 2 +5x 3 +2x 4 10 (1) 3x 2 +5x 3 +2x 4 4 (2) x 3 + x 4 1 (2) x 3 + x 4 1 (3) x 3 0 (3) x 3 1 (4) x 2 + x 4 0 (4) x 2 + x 4 0 (5) x j is binary, for j = 2, 3, 4. (5) x j is binary, for j = 2, 3,4. João Miguel da Costa Sousa / Alexandra Moutinho 289

31 Branching Dividing (branching) into suproblems creates a tree with branches (arcs) for the All node. This is the solution tree or enumeration tree. Branching variable is the one used for branching. The branching continues or not after evaluating the subproblem. Other IP problems usually creates as many branches as needed. João Miguel da Costa Sousa / Alexandra Moutinho 290

32 Bounding A bound is needed for the best feasible solution of each of the subproblems. Standard way is to perform a relaxation of the problem, e.g. by deleting one set of constraints that makes the problem difficult to solve. Most common o is to require e integer variables, ab es,soso LP relaxation is the most widely used. João Miguel da Costa Sousa / Alexandra Moutinho 291

33 Bounding in example Example: for the whole problem, (5) is replaced by x j 1 and x j 0 for j=1,2,3,4. Using simplex: (x 1, x 2, x 3, x 4 ) = (5/6, 1, 0, 1), with Z = 16.5 Thus, Z 16.5 for all feasible solutions for BIP problem. Can be rounded to Z 16 (why?) LP relaxation for subproblem 1 (x 1 =0): (x 1, x 2, x 3, x 4 ) = (0, 1, 0, 1), with Z = 9 LP relaxation for subproblem 2 (x 1 =1): (x 1, x 2, x 3, x 4 ) = (1, 4/5, 0, 4/5), with Z = 16.5 João Miguel da Costa Sousa / Alexandra Moutinho 292

34 Fathoming A subproblem can be conquered (fathomed, i.e. search tree is pruned) in three ways: 1. When the optimal solution for the LP relaxation of a subproblem is integer, it must be optimal. Example: for x 1 =0, (x 1, x 2, x 3, x 4 ) = (0, 1, 0, 1), is integer. It must be stored as first incumbent (best feasible solution found so far) for the whole problem, along with value of Z: In the example Z * = 9. Z * = value of Z for first incumbent Subproblem 1 is solved, so it is fathomed (dismissed). João Miguel da Costa Sousa / Alexandra Moutinho 293

35 Fathoming 2. As Z * = 9, we should not consider subproblems with bound 9. Thus, a problem is fathomed when Bound Z * In Subproblem 2 that does not occur, the bound of 16 is larger than 9. However, it can occur for descendants. As new incumbents with larger values of Z * are found, it becomes easier to fathom in this way. 3. If the simplex method finds that a subproblem s LP relaxation has no feasible solution, the subproblem has no feasible solution and can be dismissed. João Miguel da Costa Sousa / Alexandra Moutinho 294

36 Summary of fathoming tests A subproblem is fathomed (dismissed) if Test 1: Its bound Z * or Test 2: Its LP relaxation has no feasible solutions or Test 3: Optimal solution for its LP relaxation is integer. If better, this solution becomes new incumbent, and Test 1 is reapplied for all unfathomed subproblems. João Miguel da Costa Sousa / Alexandra Moutinho 295

37 Fathoming in example Result of applying the three tests is in figure below. Subproblem 1 is fathomed by test 3. João Miguel da Costa Sousa / Alexandra Moutinho 296

38 BIP branch and bound algorithm Initialization: Set Z * =. Apply bounding, fathoming and optimization steps described below to the whole problem. If not fathomed, perform iteration. Steps for each iteration: 1. Branching: Among the remaining subproblems, select the one created most recently. Branch from this node by fixing the next variable as either 0 or Bounding: For each new subproblem, obtain its bound by applying its LP relaxation. Round down Z for resulting optimal solution. João Miguel da Costa Sousa / Alexandra Moutinho 297

39 BIP branch and bound algorithm 3. Fathoming: For each new subproblem, apply the three fathoming tests, and discard subproblems that are fathomed by the tests. Optimality test: Stop when there are no remaining subproblems. The current incumbent is optimal. Otherwise, perform another iteration. João Miguel da Costa Sousa / Alexandra Moutinho 298

40 Completing example Iteration 2. Remaining subproblems are for x 1 = 1. Subproblem 3 (fix x 1 = 1, x 2 = 0): Subproblem 4 (fix x 1 = 1, x 2 = 1): Maximize Z = 9 + 6x 3 + 4x 4 Maximize Z = x 3 + 4x 4 subject to subject to (1) 5x 3 + 2x 4 4 (2) x 3 + x 4 1 (1) 5x 3 + 2x 4 1 (2) x 3 + x 4 1 (3) x 3 1 (3) x 3 1 (4) x 4 0 (4) x 4 1 (5) x j is binary, for j = 3, 4. (5) x j is binary, for j = 3, 4. João Miguel da Costa Sousa / Alexandra Moutinho 299

41 Example LP relaxation is obtained by replacing (5) by 0 x j 1 j = 3, 4. Optimal solutions are: LP relaxation for subproblem 3: (x 1, x 2, x 3, x 4 ) = (1, 0, 0.8, 0), with Z = 13.8 LP relaxation for subproblem 4: (x 1, x 2, x 3, x 4 ) = (1, 1, 0, 0.5), with Z = 16 Resulting bounds: Bound for subproblem 3: Z 13 Bound for subproblem 4: Z 16 João Miguel da Costa Sousa / Alexandra Moutinho 300

42 Example All three fathoming tests fail, so both are unfathomed. João Miguel da Costa Sousa / Alexandra Moutinho 301

43 Iteration 3 Subproblem 4 has the larger bound, so next branching is done from (x 1, x 2 ) = (1, 1). Subproblem 5 Subproblem 6 (fix x 1 = 1, x 2 = 1, x 3 = 0): Maximize Z = x 4 subject to (1) 5x 3 + 2x 4 1 (fix x 1 = 1, x 2 = 1, x 3 = 1): Maximize Z = x 4 subject to (1) 2x 4 4 (2), (4) x 4 1 (2) x 4 0 (5) x 4 is binary (4) x 4 1 (5) x 4 is binary João Miguel da Costa Sousa / Alexandra Moutinho 302

44 Iteration 3 (cont.) LP relaxation: replace (5) by 0 x 4 1. Optimal solutions are: LP relaxation for subproblem bl 5: (x 1, x 2, x 3, x 4 ) = (1, 1, 0, 0.5), Z = 16 LP relaxation for subproblem 6: No feasible solutions. Bound for subproblem 5: Z 16 Subproblem 6 is fathomed by test 2, but not subproblem 5. João Miguel da Costa Sousa / Alexandra Moutinho 303

45 Iteration 3 (concl.) João Miguel da Costa Sousa / Alexandra Moutinho 304

46 Iteration 4 Node created most recently is selected for branching: x 4 = 0: (x 1, x 2, x 3, x 4 ) = (1, 1, 0, 0) is feasible, with Z = 14, x 4 = 1: (x 1, x 2, x 3, x 4 ) = (1, 1, 0, 1) is infeasible. ibl First solution passes test 3 (integer solution) and second passes test 2 (infeasible) for fathoming. First solution is better than incumbent, so it becomes new incumbent, with Z * = 14 Reapplying fathoming test 1 (bound) to remaining branch of Subproblem 3: Bound = 13 Z * = 14 (fathomed). João Miguel da Costa Sousa / Alexandra Moutinho 305

47 Solution tree after Iteration 4 João Miguel da Costa Sousa / Alexandra Moutinho 306

48 Other options in Branch and Bound Branching can be done e.g. from the best bound rather than from the most recently created subproblem. Bounding is done by solving a relaxation. Another possible one is e.g. the Lagrangian g relaxation. Fathoming criteria can be generally stated as: Crit. 1: feasible solutions of subproblem must have Z Z *, Crit. 2: the subproblem has no feasible solutions, or Crit. 3: an optimal solution of subproblem has been found. Some adjustments necessary for Branch and bound to find multiple optimal solutions. João Miguel da Costa Sousa / Alexandra Moutinho 307

49 Branch and bound for MIP General form of the problem: Maximize Z cjxj n j= 1 n = j= 1 subject to ax b, for i= 1,2,, m, and ij j i x 0, for j= 1,2,, n j x is integer, for j= 1,2,, I; I n. j João Miguel da Costa Sousa / Alexandra Moutinho 308

50 Branch and bound for MIP Similar to BIP algorithm. Solving LP relaxations are the basis for bounding and fathoming. 4 changes are needed: 1. Choice of branching variable. Only integer variables that have a noninteger value in the optimal solution for the LP relaxation can be chosen. João Miguel da Costa Sousa / Alexandra Moutinho 309

51 Branch and bound for MIP 2. As integer variables can have a large number of possible values, create just two new subproblems: x * j* : noninteger value of optimal solution for LP relaxation. [x j* ] = greatest integer x j*. Range of variables for two new subproblems: bl x j* [x j* ] and x j* [x j* ] + 1. Each inequality becomes an additional constraint. Example: x j* = 3.5, then: x j* 3 and x j* 4. When changes 1. and 2. are combined a recurring branching variable can occur, see figure. João Miguel da Costa Sousa / Alexandra Moutinho 310

52 Recurring branching variable João Miguel da Costa Sousa / Alexandra Moutinho 311

53 Branch and bound for MIP Changes needed: 3. Bounding step: value of Z was rounded down in BIP algorithm. Now some variables are not integerrestricted so bound is value of Z without rounding. 4. Fathoming test 3: optimal solution for the subproblem s s LP relaxation at must only ybe integer for integer restricted variables. João Miguel da Costa Sousa / Alexandra Moutinho 312

54 MIP branch and bound algorithm Initialization: Set Z * =. Apply bounding, fathoming and optimization steps described below to the whole problem. If not fathomed, perform iteration. Steps for each iteration: 1. Branching: Among the remaining subproblems, bl select the one created most recently. From integer variables that have a noninteger value in the optimal solution for the LP relaxation choose the first one. Let x * j be this variable and x j its value. Branch from this creating two subproblems by adding the respective constraints: x * * * * j [x j ] and x j [x j ] + 1. João Miguel da Costa Sousa / Alexandra Moutinho 313

55 MIP branch and bound algorithm 2. Bounding: For each new subproblem, obtain its bound by applying its LP relaxation. Use Z without rounding for resulting optimal solution. 3. Fathoming: For each new subproblem, apply the three fathoming tests, and discard subproblems that are fathomed by the tests. Test 1: Its bound Z *, where Z * is value of Z for current incumbent. Test 2: Its LP relaxation has no feasible solutions. João Miguel da Costa Sousa / Alexandra Moutinho 314

56 MIP branch and bound algorithm 3. Fathoming (cont.): Test 3: Optimal solution for its LP relaxation has integer values for integer restrictedrestricted variables. (If this solution is better it becomes new incumbent, and test 1 is reapplied for all unfathomed subproblems). Optimality test: Stop when there are no remaining subproblems. The current incumbent is optimal. Otherwise, perform another iteration. See MIP examples in PL#7 and in page 518 of Hillier s book. João Miguel da Costa Sousa / Alexandra Moutinho 315

57 Branch and cut approach to BIP Branch and bound was develop and refined in the 60 s and early 70 s. Can solve problems up to 100 variables. Branch and cut approach was introduced in the mid 80 s, and can solve problems with thousands of variables. Only solve large problems if they are sparse (less than 5 or even 1% of nonzero values in functional constraints). Uses a combination of automatic problem processing, generation of cutting planes and B&B techniques. João Miguel da Costa Sousa / Alexandra Moutinho 316

58 Automatic problem processing for BIP Computer inspection of IP formulation to spot reformulations that make the problem quicker to solve: Fixing variables: identify variables that can be fixed at 0 or 1, because other value cannot lead to feasible and optimal solution. Eliminating redundant constraints: identify and eliminate constraints that are automatically satisfied by solutions that satisfy all other constraints. Tightening constraints: tighten constraints in a way that reduces feasible region of LP relaxation without eliminating any feasible solutions for the BIP problem. João Miguel da Costa Sousa / Alexandra Moutinho 317

59 Tightening gconstraints LP relaxation including LP relaxation after tightening feasible region. constraint. João Miguel da Costa Sousa / Alexandra Moutinho 318

60 Generating cutting planes for BIP Cutting plane (or cut) is a new functional constraint that reduces feasible region for LP relaxation without eliminating any feasible solutions of IP problem. Procedure for generating cutting planes: 1. Consider functional constraint in form with only nonnegative coefficients. 2. Find a group of N variables such that a) Constraint is violated if every variable in group = 1 and all other variables = 0. b) It is satisfied if value of any variables ibl changes from 1 to Resulting cutting plane: sum of variables ibl in group N 1. João Miguel da Costa Sousa / Alexandra Moutinho 319

61 Constraint Programming g Combination of artificial intelligence with computer programming languages in the mid 80 s. Flexibility in stating (nonlinear) constraints: 1. Mathematical constraints, e.g., x + y < z. 2. Disjunctive constraints, e.g., times of certain tasks cannot overlap. 3. Relational constraints, e.g., at least three tasks should be assigned to a certain ti machine. João Miguel da Costa Sousa / Alexandra Moutinho 320

62 Stating constraints 4. Explicit constraints, e.g., x and y have same domain {1,2,3,4,5}, but (x, y) must be (1, 1), (2, 3) or (4, 5). 5. Unary constraints, e.g. z is integer between 5 and Logical constraints, t e.g., if x = 5, then y [6, 8]. Allows use of standard logical functions such as IF, AND, OR, NOT. Constraint programming gapplies domain reduction and constraint propagation. The process creates a tree search. João Miguel da Costa Sousa / Alexandra Moutinho 321

63 Example Consider: x 1 {1,2}, x 2 {1,2}, x 3 {1,2,3}, x 4 {1,2,3,4,5} Constraints: 1. All variables must have different values; 2. x 1 +x 3 = 4 Apply domain reduction and constraint propagation to obtain feasible solutions: x 1 {1}, x 2 {2}, x 3 {3}, x 4 {4,5}. João Miguel da Costa Sousa / Alexandra Moutinho 322

64 Constraint Programming g Steps in Constraint Programming: 1. Formulate a compact model for the problem by using a variety it of constraint t types (most not of IP type). 2. Efficiently find feasible solutions that satisfy all these constraints. 3. Search among feasible solutions for an optimal one. Strength of constraint programming gis in first two steps, whereas the main strength of IP is in step 3. Current research: integrate CP and IP! João Miguel da Costa Sousa / Alexandra Moutinho 323

INTEGER PROGRAMMING. In many problems the decision variables must have integer values.

INTEGER PROGRAMMING. In many problems the decision variables must have integer values. INTEGER PROGRAMMING Integer Programming In many problems the decision variables must have integer values. Example:assign people, machines, and vehicles to activities in integer quantities. If this is the

More information

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini

Network Flows. 6. Lagrangian Relaxation. Programming. Fall 2010 Instructor: Dr. Masoud Yaghini In the name of God Network Flows 6. Lagrangian Relaxation 6.3 Lagrangian Relaxation and Integer Programming Fall 2010 Instructor: Dr. Masoud Yaghini Integer Programming Outline Branch-and-Bound Technique

More information

Integer Programming and Branch and Bound

Integer Programming and Branch and Bound Courtesy of Sommer Gentry. Used with permission. Integer Programming and Branch and Bound Sommer Gentry November 4 th, 003 Adapted from slides by Eric Feron and Brian Williams, 6.40, 00. Integer Programming

More information

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009

Lecture 23 Branch-and-Bound Algorithm. November 3, 2009 Branch-and-Bound Algorithm November 3, 2009 Outline Lecture 23 Modeling aspect: Either-Or requirement Special ILPs: Totally unimodular matrices Branch-and-Bound Algorithm Underlying idea Terminology Formal

More information

NONLINEAR. (Hillier & Lieberman Introduction to Operations Research, 8 th edition)

NONLINEAR. (Hillier & Lieberman Introduction to Operations Research, 8 th edition) NONLINEAR PROGRAMMING (Hillier & Lieberman Introduction to Operations Research, 8 th edition) Nonlinear Programming g Linear programming has a fundamental role in OR. In linear programming all its functions

More information

Introduction. Very efficient solution procedure: simplex method.

Introduction. Very efficient solution procedure: simplex method. LINEAR PROGRAMMING Introduction Development of linear programming was among the most important scientific advances of mid 20th cent. Most common type of applications: allocate limited resources to competing

More information

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting

to work with) can be solved by solving their LP relaxations with the Simplex method I Cutting plane algorithms, e.g., Gomory s fractional cutting Summary so far z =max{c T x : Ax apple b, x 2 Z n +} I Modeling with IP (and MIP, and BIP) problems I Formulation for a discrete set that is a feasible region of an IP I Alternative formulations for the

More information

Decision Procedures An Algorithmic Point of View

Decision Procedures An Algorithmic Point of View An Algorithmic Point of View ILP References: Integer Programming / Laurence Wolsey Deciding ILPs with Branch & Bound Intro. To mathematical programming / Hillier, Lieberman Daniel Kroening and Ofer Strichman

More information

where X is the feasible region, i.e., the set of the feasible solutions.

where X is the feasible region, i.e., the set of the feasible solutions. 3.5 Branch and Bound Consider a generic Discrete Optimization problem (P) z = max{c(x) : x X }, where X is the feasible region, i.e., the set of the feasible solutions. Branch and Bound is a general semi-enumerative

More information

Introduction to optimization and operations research

Introduction to optimization and operations research Introduction to optimization and operations research David Pisinger, Fall 2002 1 Smoked ham (Chvatal 1.6, adapted from Greene et al. (1957)) A meat packing plant produces 480 hams, 400 pork bellies, and

More information

IS703: Decision Support and Optimization. Week 5: Mathematical Programming. Lau Hoong Chuin School of Information Systems

IS703: Decision Support and Optimization. Week 5: Mathematical Programming. Lau Hoong Chuin School of Information Systems IS703: Decision Support and Optimization Week 5: Mathematical Programming Lau Hoong Chuin School of Information Systems 1 Mathematical Programming - Scope Linear Programming Integer Programming Network

More information

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1

5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 5 Integer Linear Programming (ILP) E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Definition: An Integer Linear Programming problem is an optimization problem of the form (ILP) min

More information

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs

Computational Integer Programming. Lecture 2: Modeling and Formulation. Dr. Ted Ralphs Computational Integer Programming Lecture 2: Modeling and Formulation Dr. Ted Ralphs Computational MILP Lecture 2 1 Reading for This Lecture N&W Sections I.1.1-I.1.6 Wolsey Chapter 1 CCZ Chapter 2 Computational

More information

Operations Research Lecture 6: Integer Programming

Operations Research Lecture 6: Integer Programming Operations Research Lecture 6: Integer Programming Notes taken by Kaiquan Xu@Business School, Nanjing University May 12th 2016 1 Integer programming (IP) formulations The integer programming (IP) is the

More information

Linear programming I João Carlos Lourenço

Linear programming I João Carlos Lourenço Decision Support Models Linear programming I João Carlos Lourenço joao.lourenco@ist.utl.pt Academic year 2012/2013 Readings: Hillier, F.S., Lieberman, G.J., 2010. Introduction to Operations Research, 9th

More information

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA

Gestion de la production. Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA Gestion de la production Book: Linear Programming, Vasek Chvatal, McGill University, W.H. Freeman and Company, New York, USA 1 Contents 1 Integer Linear Programming 3 1.1 Definitions and notations......................................

More information

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs

Integer Programming ISE 418. Lecture 8. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 8 Dr. Ted Ralphs ISE 418 Lecture 8 1 Reading for This Lecture Wolsey Chapter 2 Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Duality for Mixed-Integer

More information

Integer Programming. Wolfram Wiesemann. December 6, 2007

Integer Programming. Wolfram Wiesemann. December 6, 2007 Integer Programming Wolfram Wiesemann December 6, 2007 Contents of this Lecture Revision: Mixed Integer Programming Problems Branch & Bound Algorithms: The Big Picture Solving MIP s: Complete Enumeration

More information

Final. Formulate the optimization problem of assigning the crews. You are not to solve this problem.

Final. Formulate the optimization problem of assigning the crews. You are not to solve this problem. CE152: Civil and Environmental Engineering Systems Analysis Final Prof. Madanat and Sengupta Fall 04 Problem 1 (5 points) CalAirways has a San Francisco hub. It has three crews based in San Francisco.

More information

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018

Section Notes 9. Midterm 2 Review. Applied Math / Engineering Sciences 121. Week of December 3, 2018 Section Notes 9 Midterm 2 Review Applied Math / Engineering Sciences 121 Week of December 3, 2018 The following list of topics is an overview of the material that was covered in the lectures and sections

More information

Integer Programming Part II

Integer Programming Part II Be the first in your neighborhood to master this delightful little algorithm. Integer Programming Part II The Branch and Bound Algorithm learn about fathoming, bounding, branching, pruning, and much more!

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making (discrete optimization) problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock,

More information

3.10 Column generation method

3.10 Column generation method 3.10 Column generation method Many relevant decision-making problems can be formulated as ILP problems with a very large (exponential) number of variables. Examples: cutting stock, crew scheduling, vehicle

More information

Introduction to integer programming II

Introduction to integer programming II Introduction to integer programming II Martin Branda Charles University in Prague Faculty of Mathematics and Physics Department of Probability and Mathematical Statistics Computational Aspects of Optimization

More information

Integer Linear Programming

Integer Linear Programming Integer Linear Programming Solution : cutting planes and Branch and Bound Hugues Talbot Laboratoire CVN April 13, 2018 IP Resolution Gomory s cutting planes Solution branch-and-bound General method Resolution

More information

Section #2: Linear and Integer Programming

Section #2: Linear and Integer Programming Section #2: Linear and Integer Programming Prof. Dr. Sven Seuken 8.3.2012 (with most slides borrowed from David Parkes) Housekeeping Game Theory homework submitted? HW-00 and HW-01 returned Feedback on

More information

Integer Linear Programming Modeling

Integer Linear Programming Modeling DM554/DM545 Linear and Lecture 9 Integer Linear Programming Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. Assignment Problem Knapsack Problem

More information

The CPLEX Library: Mixed Integer Programming

The CPLEX Library: Mixed Integer Programming The CPLEX Library: Mixed Programming Ed Rothberg, ILOG, Inc. 1 The Diet Problem Revisited Nutritional values Bob considered the following foods: Food Serving Size Energy (kcal) Protein (g) Calcium (mg)

More information

Introduction to Operations Research. Linear Programming

Introduction to Operations Research. Linear Programming Introduction to Operations Research Linear Programming Solving Optimization Problems Linear Problems Non-Linear Problems Combinatorial Problems Linear Problems Special form of mathematical programming

More information

Introduction to Integer Linear Programming

Introduction to Integer Linear Programming Lecture 7/12/2006 p. 1/30 Introduction to Integer Linear Programming Leo Liberti, Ruslan Sadykov LIX, École Polytechnique liberti@lix.polytechnique.fr sadykov@lix.polytechnique.fr Lecture 7/12/2006 p.

More information

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 21. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 21 Dr. Ted Ralphs IE406 Lecture 21 1 Reading for This Lecture Bertsimas Sections 10.2, 10.3, 11.1, 11.2 IE406 Lecture 21 2 Branch and Bound Branch

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective Vehicle routing problem 1 / 33 Cutting stock

More information

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2

maxz = 3x 1 +4x 2 2x 1 +x 2 6 2x 1 +3x 2 9 x 1,x 2 ex-5.-5. Foundations of Operations Research Prof. E. Amaldi 5. Branch-and-Bound Given the integer linear program maxz = x +x x +x 6 x +x 9 x,x integer solve it via the Branch-and-Bound method (solving

More information

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010

Section Notes 9. IP: Cutting Planes. Applied Math 121. Week of April 12, 2010 Section Notes 9 IP: Cutting Planes Applied Math 121 Week of April 12, 2010 Goals for the week understand what a strong formulations is. be familiar with the cutting planes algorithm and the types of cuts

More information

Introduction to Operations Research

Introduction to Operations Research Introduction to Operations Research Linear Programming Solving Optimization Problems Linear Problems Non-Linear Problems Combinatorial Problems Linear Problems Special form of mathematical programming

More information

Linear and Integer Programming - ideas

Linear and Integer Programming - ideas Linear and Integer Programming - ideas Paweł Zieliński Institute of Mathematics and Computer Science, Wrocław University of Technology, Poland http://www.im.pwr.wroc.pl/ pziel/ Toulouse, France 2012 Literature

More information

IV. Violations of Linear Programming Assumptions

IV. Violations of Linear Programming Assumptions IV. Violations of Linear Programming Assumptions Some types of Mathematical Programming problems violate at least one condition of strict Linearity - Deterministic Nature - Additivity - Direct Proportionality

More information

Integer programming: an introduction. Alessandro Astolfi

Integer programming: an introduction. Alessandro Astolfi Integer programming: an introduction Alessandro Astolfi Outline Introduction Examples Methods for solving ILP Optimization on graphs LP problems with integer solutions Summary Introduction Integer programming

More information

Integer Programming. The focus of this chapter is on solution techniques for integer programming models.

Integer Programming. The focus of this chapter is on solution techniques for integer programming models. Integer Programming Introduction The general linear programming model depends on the assumption of divisibility. In other words, the decision variables are allowed to take non-negative integer as well

More information

IE418 Integer Programming

IE418 Integer Programming IE418: Integer Programming Department of Industrial and Systems Engineering Lehigh University 2nd February 2005 Boring Stuff Extra Linux Class: 8AM 11AM, Wednesday February 9. Room??? Accounts and Passwords

More information

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0.

min3x 1 + 4x 2 + 5x 3 2x 1 + 2x 2 + x 3 6 x 1 + 2x 2 + 3x 3 5 x 1, x 2, x 3 0. ex-.-. Foundations of Operations Research Prof. E. Amaldi. Dual simplex algorithm Given the linear program minx + x + x x + x + x 6 x + x + x x, x, x. solve it via the dual simplex algorithm. Describe

More information

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints.

Section Notes 8. Integer Programming II. Applied Math 121. Week of April 5, expand your knowledge of big M s and logical constraints. Section Notes 8 Integer Programming II Applied Math 121 Week of April 5, 2010 Goals for the week understand IP relaxations be able to determine the relative strength of formulations understand the branch

More information

Part 4. Decomposition Algorithms

Part 4. Decomposition Algorithms In the name of God Part 4. 4.4. Column Generation for the Constrained Shortest Path Problem Spring 2010 Instructor: Dr. Masoud Yaghini Constrained Shortest Path Problem Constrained Shortest Path Problem

More information

Integer Linear Programming (ILP)

Integer Linear Programming (ILP) Integer Linear Programming (ILP) Zdeněk Hanzálek, Přemysl Šůcha hanzalek@fel.cvut.cz CTU in Prague March 8, 2017 Z. Hanzálek (CTU) Integer Linear Programming (ILP) March 8, 2017 1 / 43 Table of contents

More information

Travelling Salesman Problem

Travelling Salesman Problem Travelling Salesman Problem Fabio Furini November 10th, 2014 Travelling Salesman Problem 1 Outline 1 Traveling Salesman Problem Separation Travelling Salesman Problem 2 (Asymmetric) Traveling Salesman

More information

Inference of A Minimum Size Boolean Function by Using A New Efficient Branch-and-Bound Approach From Examples

Inference of A Minimum Size Boolean Function by Using A New Efficient Branch-and-Bound Approach From Examples Published in: Journal of Global Optimization, 5, pp. 69-9, 199. Inference of A Minimum Size Boolean Function by Using A New Efficient Branch-and-Bound Approach From Examples Evangelos Triantaphyllou Assistant

More information

Introduction to Integer Programming

Introduction to Integer Programming Lecture 3/3/2006 p. /27 Introduction to Integer Programming Leo Liberti LIX, École Polytechnique liberti@lix.polytechnique.fr Lecture 3/3/2006 p. 2/27 Contents IP formulations and examples Total unimodularity

More information

Chapter 5 Integer Programming

Chapter 5 Integer Programming Chapter 5 Integer Programming Chapter Topics Integer Programming (IP) Models Integer Programming Graphical Solution Computer Solution of Integer Programming Problems With Excel 2 1 Integer Programming

More information

Structured Problems and Algorithms

Structured Problems and Algorithms Integer and quadratic optimization problems Dept. of Engg. and Comp. Sci., Univ. of Cal., Davis Aug. 13, 2010 Table of contents Outline 1 2 3 Benefits of Structured Problems Optimization problems may become

More information

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation

Outline. Relaxation. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Lagrangian Relaxation. Lecture 12 Single Machine Models, Column Generation Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lagrangian Relaxation Lecture 12 Single Machine Models, Column Generation 2. Dantzig-Wolfe Decomposition Dantzig-Wolfe Decomposition Delayed Column

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 8 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2017 04 07 Lecture 8 Linear and integer optimization with applications

More information

AM 121: Intro to Optimization! Models and Methods! Fall 2018!

AM 121: Intro to Optimization! Models and Methods! Fall 2018! AM 121: Intro to Optimization Models and Methods Fall 2018 Lecture 13: Branch and Bound (I) Yiling Chen SEAS Example: max 5x 1 + 8x 2 s.t. x 1 + x 2 6 5x 1 + 9x 2 45 x 1, x 2 0, integer 1 x 2 6 5 x 1 +x

More information

Computational Integer Programming Universidad de los Andes. Lecture 1. Dr. Ted Ralphs

Computational Integer Programming Universidad de los Andes. Lecture 1. Dr. Ted Ralphs Computational Integer Programming Universidad de los Andes Lecture 1 Dr. Ted Ralphs MIP Lecture 1 1 Quick Introduction Bio Course web site Course structure http://coral.ie.lehigh.edu/ ted/teaching/mip

More information

Operations Research: Introduction. Concept of a Model

Operations Research: Introduction. Concept of a Model Origin and Development Features Operations Research: Introduction Term or coined in 1940 by Meclosky & Trefthan in U.K. came into existence during World War II for military projects for solving strategic

More information

PART 4 INTEGER PROGRAMMING

PART 4 INTEGER PROGRAMMING PART 4 INTEGER PROGRAMMING 102 Read Chapters 11 and 12 in textbook 103 A capital budgeting problem We want to invest $19 000 Four investment opportunities which cannot be split (take it or leave it) 1.

More information

21. Set cover and TSP

21. Set cover and TSP CS/ECE/ISyE 524 Introduction to Optimization Spring 2017 18 21. Set cover and TSP ˆ Set covering ˆ Cutting problems and column generation ˆ Traveling salesman problem Laurent Lessard (www.laurentlessard.com)

More information

2. Network flows. Balance of flow: At each node, demand plus total shipments out must equal supply plus total shipments in. Reno. Denver.

2. Network flows. Balance of flow: At each node, demand plus total shipments out must equal supply plus total shipments in. Reno. Denver. . Network flows A network consists of a collection of locations along with connections between them. The locations, called the nodes of the network, can correspond to places of various kinds such as factories,

More information

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling.

Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Workforce Scheduling. 1. Workforce Scheduling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING Lecture 17 Workforce Scheduling 2. Crew Scheduling and Roering Marco Chiarandini DM87 Scheduling, Timetabling and Routing 2 Outline Workforce Scheduling

More information

CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming

CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming Integer Programming, Goal Programming, and Nonlinear Programming CHAPTER 11 253 CHAPTER 11 Integer Programming, Goal Programming, and Nonlinear Programming TRUE/FALSE 11.1 If conditions require that all

More information

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre

Multivalued Decision Diagrams. Postoptimality Analysis Using. J. N. Hooker. Tarik Hadzic. Cork Constraint Computation Centre Postoptimality Analysis Using Multivalued Decision Diagrams Tarik Hadzic Cork Constraint Computation Centre J. N. Hooker Carnegie Mellon University London School of Economics June 2008 Postoptimality Analysis

More information

21 Markov Decision Processes

21 Markov Decision Processes 2 Markov Decision Processes Chapter 6 introduced Markov chains and their analysis. Most of the chapter was devoted to discrete time Markov chains, i.e., Markov chains that are observed only at discrete

More information

Integer Programming. Chapter Copyright 2010 Pearson Education, Inc. Publishing as Prentice Hall

Integer Programming. Chapter Copyright 2010 Pearson Education, Inc. Publishing as Prentice Hall Integer Programming Chapter 5 5-1 Chapter Topics Integer Programming (IP) Models Integer Programming Graphical Solution Computer Solution of Integer Programming Problems With Excel and QM for Windows 0-1

More information

CHAPTER 3: INTEGER PROGRAMMING

CHAPTER 3: INTEGER PROGRAMMING CHAPTER 3: INTEGER PROGRAMMING Overview To this point, we have considered optimization problems with continuous design variables. That is, the design variables can take any value within a continuous feasible

More information

Welcome to CPSC 4850/ OR Algorithms

Welcome to CPSC 4850/ OR Algorithms Welcome to CPSC 4850/5850 - OR Algorithms 1 Course Outline 2 Operations Research definition 3 Modeling Problems Product mix Transportation 4 Using mathematical programming Course Outline Instructor: Robert

More information

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA

Alternative Methods for Obtaining. Optimization Bounds. AFOSR Program Review, April Carnegie Mellon University. Grant FA Alternative Methods for Obtaining Optimization Bounds J. N. Hooker Carnegie Mellon University AFOSR Program Review, April 2012 Grant FA9550-11-1-0180 Integrating OR and CP/AI Early support by AFOSR First

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Sito web: http://home.deib.polimi.it/amaldi/ott-13-14.shtml A.A. 2013-14 Edoardo

More information

The Separation Problem for Binary Decision Diagrams

The Separation Problem for Binary Decision Diagrams The Separation Problem for Binary Decision Diagrams J. N. Hooker Joint work with André Ciré Carnegie Mellon University ISAIM 2014 Separation Problem in Optimization Given a relaxation of an optimization

More information

Decision Diagrams: Tutorial

Decision Diagrams: Tutorial Decision Diagrams: Tutorial John Hooker Carnegie Mellon University CP Summer School Cork, Ireland, June 2016 Decision Diagrams Used in computer science and AI for decades Logic circuit design Product configuration

More information

Stochastic Integer Programming

Stochastic Integer Programming IE 495 Lecture 20 Stochastic Integer Programming Prof. Jeff Linderoth April 14, 2003 April 14, 2002 Stochastic Programming Lecture 20 Slide 1 Outline Stochastic Integer Programming Integer LShaped Method

More information

Decomposition-based Methods for Large-scale Discrete Optimization p.1

Decomposition-based Methods for Large-scale Discrete Optimization p.1 Decomposition-based Methods for Large-scale Discrete Optimization Matthew V Galati Ted K Ralphs Department of Industrial and Systems Engineering Lehigh University, Bethlehem, PA, USA Départment de Mathématiques

More information

Chapter 3: Discrete Optimization Integer Programming

Chapter 3: Discrete Optimization Integer Programming Chapter 3: Discrete Optimization Integer Programming Edoardo Amaldi DEIB Politecnico di Milano edoardo.amaldi@polimi.it Website: http://home.deib.polimi.it/amaldi/opt-16-17.shtml Academic year 2016-17

More information

3.10 Lagrangian relaxation

3.10 Lagrangian relaxation 3.10 Lagrangian relaxation Consider a generic ILP problem min {c t x : Ax b, Dx d, x Z n } with integer coefficients. Suppose Dx d are the complicating constraints. Often the linear relaxation and the

More information

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano

Preprocessing. Complements of Operations Research. Giovanni Righini. Università degli Studi di Milano Preprocessing Complements of Operations Research Giovanni Righini Università degli Studi di Milano Preprocessing Computational complexity theory classifies problems. However, when we run algorithms, this

More information

Linear Programming. H. R. Alvarez A., Ph. D. 1

Linear Programming. H. R. Alvarez A., Ph. D. 1 Linear Programming H. R. Alvarez A., Ph. D. 1 Introduction It is a mathematical technique that allows the selection of the best course of action defining a program of feasible actions. The objective of

More information

Discrete (and Continuous) Optimization WI4 131

Discrete (and Continuous) Optimization WI4 131 Discrete (and Continuous) Optimization WI4 131 Kees Roos Technische Universiteit Delft Faculteit Electrotechniek, Wiskunde en Informatica Afdeling Informatie, Systemen en Algoritmiek e-mail: C.Roos@ewi.tudelft.nl

More information

Deterministic Operations Research, ME 366Q and ORI 391 Chapter 2: Homework #2 Solutions

Deterministic Operations Research, ME 366Q and ORI 391 Chapter 2: Homework #2 Solutions Deterministic Operations Research, ME 366Q and ORI 391 Chapter 2: Homework #2 Solutions 11. Consider the following linear program. Maximize z = 6x 1 + 3x 2 subject to x 1 + 2x 2 2x 1 + x 2 20 x 1 x 2 x

More information

Projection in Logic, CP, and Optimization

Projection in Logic, CP, and Optimization Projection in Logic, CP, and Optimization John Hooker Carnegie Mellon University Workshop on Logic and Search Melbourne, 2017 Projection as a Unifying Concept Projection is a fundamental concept in logic,

More information

LINEAR PROGRAMMING. Introduction

LINEAR PROGRAMMING. Introduction LINEAR PROGRAMMING Introduction Development of linear programming was among the most important scientific advances of mid-20th cent. Most common type of applications: allocate limited resources to competing

More information

DRAFT Formulation and Analysis of Linear Programs

DRAFT Formulation and Analysis of Linear Programs DRAFT Formulation and Analysis of Linear Programs Benjamin Van Roy and Kahn Mason c Benjamin Van Roy and Kahn Mason September 26, 2005 1 2 Contents 1 Introduction 7 1.1 Linear Algebra..........................

More information

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 6 Integer linear programming: models and applications; complexity. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming: models and applications; complexity Ann-Brith Strömberg 2011 04 01 Modelling with integer variables (Ch. 13.1) Variables Linear programming (LP) uses continuous

More information

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t.

What is an integer program? Modelling with Integer Variables. Mixed Integer Program. Let us start with a linear program: max cx s.t. Modelling with Integer Variables jesla@mandtudk Department of Management Engineering Technical University of Denmark What is an integer program? Let us start with a linear program: st Ax b x 0 where A

More information

Operations Scheduling for the LSST

Operations Scheduling for the LSST Operations Scheduling for the LSST Robert J. Vanderbei 2015 March 18 http://www.princeton.edu/ rvdb LSST Scheduler Workshop Tucson AZ Simple Optimization Problem Unconstrained max x R n f(x) The function

More information

Disconnecting Networks via Node Deletions

Disconnecting Networks via Node Deletions 1 / 27 Disconnecting Networks via Node Deletions Exact Interdiction Models and Algorithms Siqian Shen 1 J. Cole Smith 2 R. Goli 2 1 IOE, University of Michigan 2 ISE, University of Florida 2012 INFORMS

More information

Notes on Dantzig-Wolfe decomposition and column generation

Notes on Dantzig-Wolfe decomposition and column generation Notes on Dantzig-Wolfe decomposition and column generation Mette Gamst November 11, 2010 1 Introduction This note introduces an exact solution method for mathematical programming problems. The method is

More information

Lecture 8: Column Generation

Lecture 8: Column Generation Lecture 8: Column Generation (3 units) Outline Cutting stock problem Classical IP formulation Set covering formulation Column generation A dual perspective 1 / 24 Cutting stock problem 2 / 24 Problem description

More information

Logic, Optimization and Data Analytics

Logic, Optimization and Data Analytics Logic, Optimization and Data Analytics John Hooker Carnegie Mellon University United Technologies Research Center, Cork, Ireland August 2015 Thesis Logic and optimization have an underlying unity. Ideas

More information

R u t c o r Research R e p o r t. The Branch and Bound Method

R u t c o r Research R e p o r t. The Branch and Bound Method R u t c o r Research R e p o r t The Branch and Bound Method Béla Vizvári a RRR 26-2010, December 2010 RUTCOR Rutgers Center for Operations Research Rutgers University 640 Bartholomew Road Piscataway,

More information

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique.

IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, You wish to solve the IP below with a cutting plane technique. IP Cut Homework from J and B Chapter 9: 14, 15, 16, 23, 24, 31 14. You wish to solve the IP below with a cutting plane technique. Maximize 4x 1 + 2x 2 + x 3 subject to 14x 1 + 10x 2 + 11x 3 32 10x 1 +

More information

arxiv: v1 [cs.cc] 5 Dec 2018

arxiv: v1 [cs.cc] 5 Dec 2018 Consistency for 0 1 Programming Danial Davarnia 1 and J. N. Hooker 2 1 Iowa state University davarnia@iastate.edu 2 Carnegie Mellon University jh38@andrew.cmu.edu arxiv:1812.02215v1 [cs.cc] 5 Dec 2018

More information

Simplex Method for LP (II)

Simplex Method for LP (II) Simplex Method for LP (II) Xiaoxi Li Wuhan University Sept. 27, 2017 (week 4) Operations Research (Li, X.) Simplex Method for LP (II) Sept. 27, 2017 (week 4) 1 / 31 Organization of this lecture Contents:

More information

Integer Programming Chapter 15

Integer Programming Chapter 15 Integer Programming Chapter 15 University of Chicago Booth School of Business Kipp Martin November 9, 2016 1 / 101 Outline Key Concepts Problem Formulation Quality Solver Options Epsilon Optimality Preprocessing

More information

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE MULTIPLE CHOICE QUESTIONS DECISION SCIENCE 1. Decision Science approach is a. Multi-disciplinary b. Scientific c. Intuitive 2. For analyzing a problem, decision-makers should study a. Its qualitative aspects

More information

Math 273a: Optimization

Math 273a: Optimization Math 273a: Optimization Instructor: Wotao Yin Department of Mathematics, UCLA Fall 2015 online discussions on piazza.com What is mathematical optimization? Optimization models the goal of solving a problem

More information

A Hub Location Problem with Fully Interconnected Backbone and Access Networks

A Hub Location Problem with Fully Interconnected Backbone and Access Networks A Hub Location Problem with Fully Interconnected Backbone and Access Networks Tommy Thomadsen Informatics and Mathematical Modelling Technical University of Denmark 2800 Kgs. Lyngby Denmark tt@imm.dtu.dk

More information

with Binary Decision Diagrams Integer Programming J. N. Hooker Tarik Hadzic IT University of Copenhagen Carnegie Mellon University ICS 2007, January

with Binary Decision Diagrams Integer Programming J. N. Hooker Tarik Hadzic IT University of Copenhagen Carnegie Mellon University ICS 2007, January Integer Programming with Binary Decision Diagrams Tarik Hadzic IT University of Copenhagen J. N. Hooker Carnegie Mellon University ICS 2007, January Integer Programming with BDDs Goal: Use binary decision

More information

3.7 Cutting plane methods

3.7 Cutting plane methods 3.7 Cutting plane methods Generic ILP problem min{ c t x : x X = {x Z n + : Ax b} } with m n matrix A and n 1 vector b of rationals. According to Meyer s theorem: There exists an ideal formulation: conv(x

More information

Optimisation. 3/10/2010 Tibor Illés Optimisation

Optimisation. 3/10/2010 Tibor Illés Optimisation Optimisation Lectures 3 & 4: Linear Programming Problem Formulation Different forms of problems, elements of the simplex algorithm and sensitivity analysis Lecturer: Tibor Illés tibor.illes@strath.ac.uk

More information

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of

Column Generation. MTech Seminar Report. Soumitra Pal Roll No: under the guidance of Column Generation MTech Seminar Report by Soumitra Pal Roll No: 05305015 under the guidance of Prof. A. G. Ranade Computer Science and Engineering IIT-Bombay a Department of Computer Science and Engineering

More information

Applications. Stephen J. Stoyan, Maged M. Dessouky*, and Xiaoqing Wang

Applications. Stephen J. Stoyan, Maged M. Dessouky*, and Xiaoqing Wang Introduction to Large-Scale Linear Programming and Applications Stephen J. Stoyan, Maged M. Dessouky*, and Xiaoqing Wang Daniel J. Epstein Department of Industrial and Systems Engineering, University of

More information