Primal Heuristics in SCIP

Size: px
Start display at page:

Download "Primal Heuristics in SCIP"

Transcription

1 Primal Heuristics in SCIP Timo Berthold Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 10/11/2007

2 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 2 / 34

3 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 3 / 34

4 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 4 / 34

5 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics 5 / 34

6 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics 5 / 34

7 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics 5 / 34

8 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics 5 / 34

9 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics Often find good solutions 5 / 34

10 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics Often find good solutions in a reasonable time 5 / 34

11 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics Often find good solutions in a reasonable time without any warranty! 5 / 34

12 How Do We Solve MIPs? Exact methods Branch-And-Bound Cutting planes Branch-And-Cut Heuristics Often find good solutions in a reasonable time without any warranty! Integrate into exact solver 5 / 34

13 Primal Heuristics Why use heuristics inside an exact solver? Able to prove feasibility of the model Often nearly optimal solution suffices in practice Feasible solutions guide remaining search process Characteristics 6 / 34

14 Primal Heuristics Why use heuristics inside an exact solver? Able to prove feasibility of the model Often nearly optimal solution suffices in practice Feasible solutions guide remaining search process Characteristics Highest priority to feasibility Keep control of effort! Use as much information as you can get 6 / 34

15 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 7 / 34

16 Adding A Primal Heuristic SCIPincludeHeur( scip, // scip "Christofides", // HEUR_NAME "Start heuristic for TSP", // HEUR_DESC X, // HEUR_DISPCHAR , // HEUR_PRIORITY 0, // HEUR_FREQ 0, // HEUR_FREQOFS 0, // HEUR_MAXDEPTH SCIP_HEURTIMING_BEFORENODE // HEUR_TIMING ); 9 / 34

17 Heuristic Timings LP Solving Domain Propagation Solve LP Pricing Separation Constraint Enforcement Domain Propagation Primal Heuristics 10 / 34

18 Heuristic Timings LP Solving Domain Propagation Solve LP Pricing Separation Constraint Enforcement Domain Propagation Primal Heuristics #define HEUR_TIMING SCIP_HEURTIMING_AFTERNODE 10 / 34

19 Heuristic Timings Primal Heuristics Domain Propagation LP Solving Solve LP Pricing Separation Constraint Enforcement Domain Propagation Primal Heuristics #define HEUR_TIMING SCIP_HEURTIMING_BEFORENODE 10 / 34

20 Heuristic Timings Primal Heuristics Domain Propagation LP Solving Solve LP Pricing Heurs Separation Constraint Enforcement Domain Propagation Primal Heuristics #define HEUR_TIMING SCIP_HEURTIMING_DURINGLPLOOP 10 / 34

21 Categories Two main categories Start heuristics Often already at root node Mostly start from LP optimum Improvement heuristics Require feasible solution Normally at most once for each incumbent 11 / 34

22 Categories Two main categories Start heuristics Often already at root node Mostly start from LP optimum Improvement heuristics Require feasible solution Normally at most once for each incumbent #define HEUR_FREQOFS 0 11 / 34

23 Categories Two main categories Start heuristics Often already at root node Mostly start from LP optimum Improvement heuristics Require feasible solution Normally at most once for each incumbent if( SCIPgetLPSolstat(scip)!= SCIP_LPSOLSTAT_OPTIMAL ) return SCIP_OKAY; 11 / 34

24 Categories Two main categories Start heuristics Often already at root node Mostly start from LP optimum Improvement heuristics Require feasible solution Normally at most once for each incumbent if( SCIPgetNSols(scip) <= 0 ) return SCIP_OKAY; 11 / 34

25 Categories Two main categories Start heuristics Often already at root node Mostly start from LP optimum Improvement heuristics Require feasible solution Normally at most once for each incumbent struct SCIP_HeurData { SCIP_SOL* lastsol; } 11 / 34

26 Approaches Five main approaches Rounding assign integer values to fractional variables Diving: DFS in the Branch-And-Bound-tree Objective diving: manipulate objective function LargeNeighborhoodSearch: solve some submip Pivoting: manipulate simplex algorithm 12 / 34

27 Approaches Five main approaches Rounding assign integer values to fractional variables Diving: DFS in the Branch-And-Bound-tree Objective diving: manipulate objective function LargeNeighborhoodSearch: solve some submip Pivoting: manipulate simplex algorithm 12 / 34

28 Overview Implemented into SCIP 5 Rounding heuristics 8 Diving heuristics 3 Objective divers 4 LNS improvement heuristics 3 Others 13 / 34

29 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions 14 / 34

30 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions 14 / 34

31 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions 14 / 34

32 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions int nlocks = SCIPvarGetNLocksUp(var); 14 / 34

33 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions int nlocks = SCIPvarGetNLocksDown(var); 14 / 34

34 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions int nlocks = SCIPvarGetNLocksDown(var); 14 / 34

35 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions int nlocks = SCIPvarGetNLocksUp(var); 14 / 34

36 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions 14 / 34

37 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions 14 / 34

38 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions 14 / 34

39 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Real pscost = SCIPgetVarPseudocost(scip, var, delta); 14 / 34

40 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Real pscost = SCIPgetVarPseudocost(scip, var, delta); 14 / 34

41 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Real pscost = SCIPgetVarPseudocost(scip, var, delta); 14 / 34

42 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Real pscost = SCIPgetVarPseudocost(scip, var, delta); 14 / 34

43 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions 14 / 34

44 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Real rootsolval = SCIPvarGetRootSol(var); 14 / 34

45 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Real solval = SCIPgetSolVal(scip, NULL, var); 14 / 34

46 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Sol* bestsol = SCIPgetBestSol(scip); SCIP_Real solval = SCIPgetSolVal(scip, bestsol, var); 14 / 34

47 Useful Information Statistics & points Variables locking numbers: Potentially violated rows Variables pseudocosts: Average objective change Special points: LP optimum at root node Current LP solution Current best solution Other known solutions SCIP_Sol** sols = SCIPgetSols(scip); SCIP_Real solval = SCIPgetSolVal(scip, sols[i], var); 14 / 34

48 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 15 / 34

49 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 16 / 34

50 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

51 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

52 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

53 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

54 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

55 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

56 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

57 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

58 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

59 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

60 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

61 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

62 Rounding Heuristics Guideline: Stay feasible! Features Simple Rounding always stays feasible, Rounding may violate constraints, Shifting may unfix integers, Integer Shifting finally solves an LP. 17 / 34

63 Rens: An LNS Rounding Heuristic Algorithm 1. x LP optimum; 2. Fix all integral variables: x i := x i i : x i ; 3. Reduce domain of fractional variables: x i { x i ; x i }; 4. Solve the resulting submip 18 / 34

64 Rens: An LNS Rounding Heuristic Algorithm 1. x LP optimum; 2. Fix all integral variables: x i := x i i : x i ; 3. Reduce domain of fractional variables: x i { x i ; x i }; 4. Solve the resulting submip 18 / 34

65 Rens: An LNS Rounding Heuristic Algorithm 1. x LP optimum; 2. Fix all integral variables: x i := x i i : x i ; 3. Reduce domain of fractional variables: x i { x i ; x i }; 4. Solve the resulting submip 18 / 34

66 Rens: An LNS Rounding Heuristic Algorithm 1. x LP optimum; 2. Fix all integral variables: x i := x i i : x i ; 3. Reduce domain of fractional variables: x i { x i ; x i }; 4. Solve the resulting submip 18 / 34

67 Rens: An LNS Rounding Heuristic Algorithm 1. x LP optimum; 2. Fix all integral variables: x i := x i i : x i ; 3. Reduce domain of fractional variables: x i { x i ; x i }; 4. Solve the resulting submip 18 / 34

68 Rens: An LNS Rounding Heuristic Observations Solutions found by Rens are roundings of x Yields best possible rounding Yields certificate, if no rounding exists Results 19 / 34

69 Rens: An LNS Rounding Heuristic Observations Solutions found by Rens are roundings of x Yields best possible rounding Yields certificate, if no rounding exists Results 82 of 129 test instances are roundable Rens finds a global optimum for 23 instances! Dominates all other rounding heuristics 19 / 34

70 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 20 / 34

71 Diving Heuristics I Idea Alternately solve the LP and round a variable Simulates DFS in Branch-And-Bound-tree Complementary target for branching Backtracking possible 21 / 34

72 Diving Heuristics II Applied branching rules Fractional Diving: lowest fractionality Coefficient Diving: lowest locking number Linesearch Diving: highest increase since root Guided Diving: lowest difference to best known solution Pseudocost Diving: highest ratio of pseudocosts Vectorlength Diving: lowest ratio of objective change and number of rows containing the variable 22 / 34

73 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; 23 / 34

74 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; 23 / 34

75 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; 23 / 34

76 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; 23 / 34

77 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; (x, x) = x j x j 23 / 34

78 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; (x, x) = x j x j 23 / 34

79 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; (x, x) = x j x j 23 / 34

80 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; 23 / 34

81 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; 23 / 34

82 The Feasibility Pump (Fischetti, Lodi et al.) Algorithm 1. Solve LP; 2. Round LP optimum; 3. If feasible: 4. Stop! 5. Else: 6. Change objective; 7. Go to 1; 23 / 34

83 Objective Feasibility Pump (Achterberg & B.) Improvements Objective c T x regarded at each step: := (1 α) (x) + αc T x, with α [0, 1] Algorithm able to resolve from cycling Quality of solutions much better Results 24 / 34

84 Objective Feasibility Pump (Achterberg & B.) Improvements Objective c T x regarded at each step: := (1 α) (x) + αc T x, with α [0, 1] Algorithm able to resolve from cycling Quality of solutions much better Results Finds a solution for 74% of the test instances On average 5.5 seconds running time Optimality gap decreased from 107% to 38% 24 / 34

85 Other Objective Divers Other objective divers Objective Pseudocost Diving analogon to Pseudocost Diving Punishment by high objective coefficients Rootsolution Diving analogon to Linesearch Diving Objective function faded out 25 / 34

86 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 26 / 34

87 LNS heuristics Idea: Create submip by fixing variables or adding constraints Approaches Rins: fix variables equal in LP optimum and incumbent Crossover: fix variables equal in different feasible solutions Mutation: fix variables randomly Local Branching: add distance constraint wrt. incumbent 27 / 34

88 Other Heuristics Combinatorial heuristics 1-Opt Shifts value of integer variable Solves LP afterwards 28 / 34

89 Other Heuristics Combinatorial heuristics 1-Opt Shifts value of integer variable Solves LP afterwards Octane Duality of cube and octahedron Ray shooting algorithm 28 / 34

90 Other Heuristics Combinatorial heuristics 1-Opt Shifts value of integer variable Solves LP afterwards Octane Duality of cube and octahedron Ray shooting algorithm 28 / 34

91 Other Heuristics Combinatorial heuristics 1-Opt Shifts value of integer variable Solves LP afterwards Octane Duality of cube and octahedron Ray shooting algorithm 28 / 34

92 Other Heuristics Combinatorial heuristics 1-Opt Shifts value of integer variable Solves LP afterwards Octane Duality of cube and octahedron Ray shooting algorithm 28 / 34

93 Other Heuristics Combinatorial heuristics 1-Opt Shifts value of integer variable Solves LP afterwards Octane Duality of cube and octahedron Ray shooting algorithm 28 / 34

94 Outline 1 Introduction Basics Integration Into SCIP 2 Available Heuristics Rounding Heuristics (Objective) Diving LNS & Others 3 Remarks & Results 29 / 34

95 Implementation Details Some tips and tricks Use limits which respect the problem size LNS: stalling node limit Diving: try simple rounding on the fly Favor binaries over general integers Avoid cycling without randomness 30 / 34

96 Implementation Details Some tips and tricks Use limits which respect the problem size LNS: stalling node limit Diving: try simple rounding on the fly Favor binaries over general integers Avoid cycling without randomness int nlpiterations = SCIPgetNNodeLPIterations(scip); int maxlpiterations = heurdata maxlpiterquot * nlpiterations; 30 / 34

97 Implementation Details Some tips and tricks Use limits which respect the problem size LNS: stalling node limit Diving: try simple rounding on the fly Favor binaries over general integers Avoid cycling without randomness SCIP_CALL( ); SCIPsetLongintParam(subscip,"limits/stallnodes",nstallnodes) 30 / 34

98 Optimal Objective Primal Bound With Heuristics Dual Bound With Heuristics Primal Bound Without Heuristics Dual Bound Without Heuristics Solution Found By: Relaxation Feaspump Crossover Rens An Example 1300 bound time (seconds) 31 / 34

99 Remarks & Conclusions Single heuristics Deactivating a single heuristic yields 1%-6% degradation No heuristic dominates the others Coordination important Overall effect (SCIP 0.82b) 32 / 34

100 Remarks & Conclusions Single heuristics Deactivating a single heuristic yields 1%-6% degradation No heuristic dominates the others Coordination important Overall effect (SCIP 0.82b) Better pruning, earlier fixing 7% less instances without any solution 5% more instances solved within one hour only half of the branch-and-bound-nodes only half of the solving time 32 / 34

101 Remarks & Conclusions Single heuristics Deactivating a single heuristic yields 1%-6% degradation No heuristic dominates the others Coordination important Overall effect (SCIP 0.82b) Better pruning, earlier fixing 7% less instances without any solution 5% more instances solved within one hour only half of the branch-and-bound-nodes Not this much only half of the solving time in SCIP / 34

102 Perspective & Further Research To be implemented DINS heuristic k-opt for k > 1 probing heuristics Known problems Coordination could be strengthened Often poor for pure combinatorial problems 33 / 34

103 Primal Heuristics in SCIP Timo Berthold Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 10/11/2007

The MIP-Solving-Framework SCIP

The MIP-Solving-Framework SCIP The MIP-Solving-Framework SCIP Timo Berthold Zuse Institut Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 23.05.2007 What Is A MIP? Definition MIP The optimization problem

More information

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX) Andrea Tramontani CPLEX Optimization, IBM CWI, Amsterdam, June 12, 2018 Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX) Agenda CPLEX Branch-and-Bound (B&B) Primal heuristics in CPLEX

More information

Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014

Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014 Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014 Timo Berthold Xpress Optimization Team Gerald Gamrath Zuse Institute Berlin Domenico Salvagnin Universita degli Studi di Padova This presentation

More information

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School

Heuristics in MILP. Group 1 D. Assouline, N. Molyneaux, B. Morén. Supervisors: Michel Bierlaire, Andrea Lodi. Zinal 2017 Winter School Heuristics in MILP Group 1 D. Assouline, N. Molyneaux, B. Morén Supervisors: Michel Bierlaire, Andrea Lodi Zinal 2017 Winter School 0 / 23 Primal heuristics Original paper: Fischetti, M. and Lodi, A. (2011).

More information

Column Generation Based Primal Heuristics

Column Generation Based Primal Heuristics Column Generation Based Primal Heuristics C. Joncour, S. Michel, R. Sadykov, D. Sverdlov, F. Vanderbeck University Bordeaux 1 & INRIA team RealOpt Outline 1 Context Generic Primal Heuristics The Branch-and-Price

More information

RENS. The optimal rounding. Timo Berthold

RENS. The optimal rounding. Timo Berthold Math. Prog. Comp. (2014) 6:33 54 DOI 10.1007/s12532-013-0060-9 FULL LENGTH PAPER RENS The optimal rounding Timo Berthold Received: 25 April 2012 / Accepted: 2 October 2013 / Published online: 1 November

More information

Exploiting Degeneracy in MIP

Exploiting Degeneracy in MIP Exploiting Degeneracy in MIP Tobias Achterberg 9 January 2018 Aussois Performance Impact in Gurobi 7.5+ 35% 32.0% 30% 25% 20% 15% 14.6% 10% 5.7% 7.9% 6.6% 5% 0% 2.9% 1.2% 0.1% 2.6% 2.6% Time limit: 10000

More information

Basic Concepts of Constraint Integer Programming

Basic Concepts of Constraint Integer Programming Basic Concepts of Constraint Integer Programming Ambros Gleixner Zuse Institute Berlin September 30, 2015 Outline SCIP Solving Constraint Integer Programs 4 methodologies in optimization An integrated

More information

Applied Mixed Integer Programming: Beyond 'The Optimum'

Applied Mixed Integer Programming: Beyond 'The Optimum' Applied Mixed Integer Programming: Beyond 'The Optimum' 14 Nov 2016, Simons Institute, Berkeley Pawel Lichocki Operations Research Team, Google https://developers.google.com/optimization/ Applied Mixed

More information

Exact solutions to mixed-integer linear programming problems

Exact solutions to mixed-integer linear programming problems Exact solutions to mixed-integer linear programming problems Dan Steffy Zuse Institute Berlin and Oakland University Joint work with Bill Cook, Thorsten Koch and Kati Wolter November 18, 2011 Mixed-Integer

More information

The Gurobi Optimizer. Bob Bixby

The Gurobi Optimizer. Bob Bixby The Gurobi Optimizer Bob Bixby Outline Gurobi Introduction Company Products Benchmarks Gurobi Technology Rethinking MIP MIP as a bag of tricks 8-Jul-11 2010 Gurobi Optimization 2 Gurobi Optimization Incorporated

More information

Motivation for Heuristics

Motivation for Heuristics MIP Heuristics 1 Motivation for Heuristics Why not wait for branching? Produce feasible solutions as quickly as possible Often satisfies user demands Avoid exploring unproductive sub trees Better reduced

More information

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

SCIP Workshop 2014, Berlin, September 30, Introduction to SCIP

SCIP Workshop 2014, Berlin, September 30, Introduction to SCIP SCIP Workshop 2014, Berlin, September 30, 2014 Introduction to SCIP ZIB: Fast Algorithms Fast Computers Konrad-Zuse-Zentrum für Informationstechnik Berlin non-university research institute of the state

More information

How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy

How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy How to use your favorite MIP Solver: modeling, solving, cannibalizing Andrea Lodi University of Bologna, Italy andrea.lodi@unibo.it January-February, 2012 @ Universität Wien A. Lodi, How to use your favorite

More information

Algorithms II MIP Details

Algorithms II MIP Details Algorithms II MIP Details What s Inside Gurobi Optimizer Algorithms for continuous optimization Algorithms for discrete optimization Automatic presolve for both LP and MIP Algorithms to analyze infeasible

More information

Restrict-and-relax search for 0-1 mixed-integer programs

Restrict-and-relax search for 0-1 mixed-integer programs EURO J Comput Optim (23) :2 28 DOI.7/s3675-3-7-y ORIGINAL PAPER Restrict-and-relax search for - mixed-integer programs Menal Guzelsoy George Nemhauser Martin Savelsbergh Received: 2 September 22 / Accepted:

More information

Pure Cutting Plane Methods for ILP: a computational perspective

Pure Cutting Plane Methods for ILP: a computational perspective Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University of Padova Rorschach test for OR disorders: can you see the tree? 1 Outline 1. Pure cutting plane methods

More information

On Mixed-Integer (Linear) Programming and its connection with Data Science

On Mixed-Integer (Linear) Programming and its connection with Data Science On Mixed-Integer (Linear) Programming and its connection with Data Science Andrea Lodi Canada Excellence Research Chair École Polytechnique de Montréal, Québec, Canada andrea.lodi@polymtl.ca January 16-20,

More information

Primal Heuristics for Mixed Integer Programs with a Staircase Structure

Primal Heuristics for Mixed Integer Programs with a Staircase Structure Primal Heuristics for Mixed Integer Programs with a Staircase Structure Marco E. Lübbecke and Christian Puchert Chair of Operations Research, RWTH Aachen University, Kackertstr. 7, 52072 Aachen, Germany

More information

Rounding and Propagation Heuristics for Mixed Integer Programming

Rounding and Propagation Heuristics for Mixed Integer Programming Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-9 Berlin-Dahlem Germany TOBIAS ACHTERBERG TIMO BERTHOLD GREGOR HENDEL Rounding and Propagation Heuristics for Mixed Integer Programming

More information

Primal Heuristics for Branch-and-Price Algorithms

Primal Heuristics for Branch-and-Price Algorithms Primal Heuristics for Branch-and-Price Algorithms Marco Lübbecke and Christian Puchert Abstract In this paper, we present several primal heuristics which we implemented in the branch-and-price solver GCG

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

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

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2018 04 24 Lecture 9 Linear and integer optimization with applications

More information

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:

More information

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

Addressing degeneracy in the dual simplex algorithm using a decompositon approach Addressing degeneracy in the dual simplex algorithm using a decompositon approach Ambros Gleixner, Stephen J Maher, Matthias Miltenberger Zuse Institute Berlin Berlin, Germany 16th July 2015 @sj_maher

More information

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC Pivot and Gomory Cut A MIP Feasibility Heuristic Shubhashis Ghosh Ryan Hayward shubhashis@randomknowledge.net hayward@cs.ualberta.ca NSERC CGGT 2007 Kyoto Jun 11-15 page 1 problem given a MIP, find a feasible

More information

Experiments On General Disjunctions

Experiments On General Disjunctions Experiments On General Disjunctions Some Dumb Ideas We Tried That Didn t Work* and Others We Haven t Tried Yet *But that may provide some insight Ted Ralphs, Serdar Yildiz COR@L Lab, Department of Industrial

More information

Implementing Constraint Handlers in SCIP

Implementing Constraint Handlers in SCIP Implementing Constraint Handlers in SCIP Gregor Hendel Ambros Gleixner, Felipe Serrano September 30 Outline Why use constraints? Motivation Callback: Default Constraint Handlers of SCIP Implementation

More information

Gurobi Guidelines for Numerical Issues February 2017

Gurobi Guidelines for Numerical Issues February 2017 Gurobi Guidelines for Numerical Issues February 2017 Background Models with numerical issues can lead to undesirable results: slow performance, wrong answers or inconsistent behavior. When solving a model

More information

Optimization Methods in Management Science

Optimization Methods in Management Science Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 6, Due: Thursday April 11th, 2013 1. Each student should hand in an individual problem set. 2. Discussing

More information

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL

The Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL The Heuristic (Dark) Side of MIP Solvers Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL 1 Table of content [Lodi], The Heuristic (Dark) Side of MIP Solvers, Hybrid Metaheuristics, 273-284,

More information

Improved Gomory Cuts for Primal Cutting Plane Algorithms

Improved Gomory Cuts for Primal Cutting Plane Algorithms Improved Gomory Cuts for Primal Cutting Plane Algorithms S. Dey J-P. Richard Industrial Engineering Purdue University INFORMS, 2005 Outline 1 Motivation The Basic Idea Set up the Lifting Problem How to

More information

Selected Topics in Column Generation

Selected Topics in Column Generation Selected Topics in Column Generation February 1, 2007 Choosing a solver for the Master Solve in the dual space(kelly s method) by applying a cutting plane algorithm In the bundle method(lemarechal), a

More information

Solving a Challenging Quadratic 3D Assignment Problem

Solving a Challenging Quadratic 3D Assignment Problem Solving a Challenging Quadratic 3D Assignment Problem Hans Mittelmann Arizona State University Domenico Salvagnin DEI - University of Padova Quadratic 3D Assignment Problem Quadratic 3D Assignment Problem

More information

George Reloaded. M. Monaci (University of Padova, Italy) joint work with M. Fischetti. MIP Workshop, July 2010

George Reloaded. M. Monaci (University of Padova, Italy) joint work with M. Fischetti. MIP Workshop, July 2010 George Reloaded M. Monaci (University of Padova, Italy) joint work with M. Fischetti MIP Workshop, July 2010 Why George? Because of Karzan, Nemhauser, Savelsbergh Information-based branching schemes for

More information

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Solving lexicographic multiobjective MIPs with Branch-Cut-Price Solving lexicographic multiobjective MIPs with Branch-Cut-Price Marta Eso (The Hotchkiss School) Laszlo Ladanyi (IBM T.J. Watson Research Center) David Jensen (IBM T.J. Watson Research Center) McMaster

More information

Advanced Use of GAMS Solver Links

Advanced Use of GAMS Solver Links Advanced Use of GAMS Solver Links Michael Bussieck, Steven Dirkse, Stefan Vigerske GAMS Development 8th January 2013, ICS Conference, Santa Fe Standard GAMS solve Solve william minimizing cost using mip;

More information

Integer Programming as Projection

Integer Programming as Projection Integer Programming as Projection H. P. Williams London School of Economics John Hooker Carnegie Mellon University INFORMS 2015, Philadelphia USA A Different Perspective on IP Projection of an IP onto

More information

Fundamentals of Integer Programming

Fundamentals of Integer Programming Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer

More information

Integer Programming Chapter 9

Integer Programming Chapter 9 1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies

More information

Introduction to SCIP. Gregor Hendel, SCIP Introduction Day September 26, rd IMI-ISM-ZIB MODAL Workshop

Introduction to SCIP. Gregor Hendel, SCIP Introduction Day September 26, rd IMI-ISM-ZIB MODAL Workshop Introduction to SCIP Gregor Hendel, hendel@zib.de SCIP Introduction Day September 26, 2018 3rd IMI-ISM-ZIB MODAL Workshop What is SCIP? SCIP (Solving Constraint Integer Programs)... provides a full-scale

More information

5.3 Cutting plane methods and Gomory fractional cuts

5.3 Cutting plane methods and Gomory fractional cuts 5.3 Cutting plane methods and Gomory fractional cuts (ILP) min c T x s.t. Ax b x 0integer feasible region X Assumption: a ij, c j and b i integer. Observation: The feasible region of an ILP can be described

More information

Unit.9 Integer Programming

Unit.9 Integer Programming Unit.9 Integer Programming Xiaoxi Li EMS & IAS, Wuhan University Dec. 22-29, 2016 (revised) Operations Research (Li, X.) Unit.9 Integer Programming Dec. 22-29, 2016 (revised) 1 / 58 Organization of this

More information

Two-layer Network Design by Branch-and-Cut featuring MIP-based Heuristics

Two-layer Network Design by Branch-and-Cut featuring MIP-based Heuristics Two-layer Network Design by Branch-and-Cut featuring MIP-based Heuristics Sebastian Orlowski, Zuse Institute Berlin, Takustr. 7, D-14195 Berlin, orlowski@zib.de Arie M.C.A. Koster, Zuse Institute Berlin,

More information

State-of-the-Optimization using Xpress-MP v2006

State-of-the-Optimization using Xpress-MP v2006 State-of-the-Optimization using Xpress-MP v2006 INFORMS Annual Meeting Pittsburgh, USA November 5 8, 2006 by Alkis Vazacopoulos Outline LP benchmarks Xpress performance on MIPLIB 2003 Conclusions 3 Barrier

More information

Exact Algorithms for Mixed-Integer Bilevel Linear Programming

Exact Algorithms for Mixed-Integer Bilevel Linear Programming Exact Algorithms for Mixed-Integer Bilevel Linear Programming Matteo Fischetti, University of Padova (based on joint work with I. Ljubic, M. Monaci, and M. Sinnl) Lunteren Conference on the Mathematics

More information

Linear Programming Duality and Algorithms

Linear Programming Duality and Algorithms COMPSCI 330: Design and Analysis of Algorithms 4/5/2016 and 4/7/2016 Linear Programming Duality and Algorithms Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we will cover

More information

SCIP Workshop Visit scip.zib.de/workshop2018 for all information. Tomorrow and on Thursday: Scientific Talks

SCIP Workshop Visit scip.zib.de/workshop2018 for all information. Tomorrow and on Thursday: Scientific Talks SCIP Workshop 2018 Structure of the SCIP Introduction Day 9:30 11:00 Introduction to SCIP 11:00 11:30 Coffee Break 11:30 12:30 Installation of SCIP and GCG 12:30 14:00 Lunch 14:00 17:30 Programming Exercises

More information

The Gurobi Solver V1.0

The Gurobi Solver V1.0 The Gurobi Solver V1.0 Robert E. Bixby Gurobi Optimization & Rice University Ed Rothberg, Zonghao Gu Gurobi Optimization 1 1 Oct 09 Overview Background Rethinking the MIP solver Introduction Tree of Trees

More information

Practice Final Exam 2: Solutions

Practice Final Exam 2: Solutions lgorithm Design Techniques Practice Final Exam 2: Solutions 1. The Simplex lgorithm. (a) Take the LP max x 1 + 2x 2 s.t. 2x 1 + x 2 3 x 1 x 2 2 x 1, x 2 0 and write it in dictionary form. Pivot: add x

More information

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

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs Integer Programming ISE 418 Lecture 7 Dr. Ted Ralphs ISE 418 Lecture 7 1 Reading for This Lecture Nemhauser and Wolsey Sections II.3.1, II.3.6, II.4.1, II.4.2, II.5.4 Wolsey Chapter 7 CCZ Chapter 1 Constraint

More information

Assessing Performance of Parallel MILP Solvers

Assessing Performance of Parallel MILP Solvers Assessing Performance of Parallel MILP Solvers How Are We Doing, Really? Ted Ralphs 1 Stephen J. Maher 2, Yuji Shinano 3 1 COR@L Lab, Lehigh University, Bethlehem, PA USA 2 Lancaster University, Lancaster,

More information

SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany

SCIP. 1 Introduction. 2 Model requirements. Contents. Stefan Vigerske, Humboldt University Berlin, Germany SCIP Stefan Vigerske, Humboldt University Berlin, Germany Contents 1 Introduction.................................................. 673 2 Model requirements..............................................

More information

Welcome to the Webinar. What s New in Gurobi 7.5

Welcome to the Webinar. What s New in Gurobi 7.5 Welcome to the Webinar What s New in Gurobi 7.5 Speaker Introduction Dr. Tobias Achterberg Director of R&D at Gurobi Optimization Formerly a developer at ILOG, where he worked on CPLEX 11.0 to 12.6 Obtained

More information

Conflict Analysis in Mixed Integer Programming

Conflict Analysis in Mixed Integer Programming Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany TOBIAS ACHTERBERG Conflict Analysis in Mixed Integer Programming URL: http://www.zib.de/projects/integer-optimization/mip

More information

Modelling of LP-problems (2WO09)

Modelling of LP-problems (2WO09) Modelling of LP-problems (2WO09) assignor: Judith Keijsper room: HG 9.31 email: J.C.M.Keijsper@tue.nl course info : http://www.win.tue.nl/ jkeijspe Technische Universiteit Eindhoven meeting 1 J.Keijsper

More information

A List Heuristic for Vertex Cover

A List Heuristic for Vertex Cover A List Heuristic for Vertex Cover Happy Birthday Vasek! David Avis McGill University Tomokazu Imamura Kyoto University Operations Research Letters (to appear) Online: http://cgm.cs.mcgill.ca/ avis revised:

More information

Solving Resource Allocation/Scheduling Problems with Constraint Integer Programming

Solving Resource Allocation/Scheduling Problems with Constraint Integer Programming Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany STEFAN HEINZ J. CHRISTOPHER BECK Solving Resource Allocation/Scheduling Problems with Constraint Integer Programming

More information

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 Part A: Answer any four of the five problems. (15 points each) 1. Transportation problem 2. Integer LP Model Formulation

More information

Implementing a B&C algorithm for Mixed-Integer Bilevel Linear Programming

Implementing a B&C algorithm for Mixed-Integer Bilevel Linear Programming Implementing a B&C algorithm for Mixed-Integer Bilevel Linear Programming Matteo Fischetti, University of Padova 8th Cargese-Porquerolles Workshop on Combinatorial Optimization, August 2017 1 Bilevel Optimization

More information

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER By Qun Chen A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy (Industrial Engineering) at the

More information

Bayesian network model selection using integer programming

Bayesian network model selection using integer programming Bayesian network model selection using integer programming James Cussens Leeds, 2013-10-04 James Cussens IP for BNs Leeds, 2013-10-04 1 / 23 Linear programming The Belgian diet problem Fat Sugar Salt Cost

More information

Column Generation Method for an Agent Scheduling Problem

Column Generation Method for an Agent Scheduling Problem Column Generation Method for an Agent Scheduling Problem Balázs Dezső Alpár Jüttner Péter Kovács Dept. of Algorithms and Their Applications, and Dept. of Operations Research Eötvös Loránd University, Budapest,

More information

Alternating Criteria Search: A Parallel Large Neighborhood Search Algorithm for Mixed Integer Programs

Alternating Criteria Search: A Parallel Large Neighborhood Search Algorithm for Mixed Integer Programs Alternating Criteria Search: A Parallel Large Neighborhood Search Algorithm for Mixed Integer Programs Lluís-Miquel Munguía 1, Shabbir Ahmed 2, David A. Bader 1, George L. Nemhauser 2, and Yufen Shao 3

More information

Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs

Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs To appear in Mathematical Programming (2006) The original article is available at http://www.springerlink.com Active-Constraint Variable Ordering for Faster Feasibility of Mixed Integer Linear Programs

More information

Integer Programming! Using linear programming to solve discrete problems

Integer Programming! Using linear programming to solve discrete problems Integer Programming! Using linear programming to solve discrete problems Solving Discrete Problems Linear programming solves continuous problem! problems over the reai numbers.! For the remainder of the

More information

Progress in Linear Programming-Based Algorithms for Integer Programming: An Exposition

Progress in Linear Programming-Based Algorithms for Integer Programming: An Exposition 2 INFORMS Journal on Computing 0899-1499 100 1201-0002 $05.00 Vol. 12, No. 1, Winter 2000 2000 INFORMS Progress in Linear Programming-Based Algorithms for Integer Programming: An Exposition ELLIS L. JOHNSON,

More information

A Feasibility Pump heuristic for general Mixed-Integer Problems

A Feasibility Pump heuristic for general Mixed-Integer Problems A Feasibility Pump heuristic for general Mixed-Integer Problems Livio Bertacco, Matteo Fischetti, Andrea Lodi Department of Pure & Applied Mathematics, University of Padova, via Belzoni 7-35131 Padova

More information

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

February 19, Integer programming. Outline. Problem formulation. Branch-andbound Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland February 19,

More information

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods

15.083J Integer Programming and Combinatorial Optimization Fall Enumerative Methods 5.8J Integer Programming and Combinatorial Optimization Fall 9 A knapsack problem Enumerative Methods Let s focus on maximization integer linear programs with only binary variables For example: a knapsack

More information

The Three Phases of MIP Solving

The Three Phases of MIP Solving Zuse Institute Berlin Takustrasse 7 D-14195 Berlin-Dahlem Germany TIMO BERTHOLD, GREGOR HENDEL, AND THORSTEN KOCH The Three Phases of MIP Solving The work for this article has been conducted within the

More information

Modern Benders (in a nutshell)

Modern Benders (in a nutshell) Modern Benders (in a nutshell) Matteo Fischetti, University of Padova (based on joint work with Ivana Ljubic and Markus Sinnl) Lunteren Conference on the Mathematics of Operations Research, January 17,

More information

Integer Optimization: Mathematics, Algorithms, and Applications

Integer Optimization: Mathematics, Algorithms, and Applications Integer Optimization: Mathematics, Algorithms, and Applications Sommerschool Jacobs University, July 2007 DFG Research Center Matheon Mathematics for key technologies Thorsten Koch Zuse Institute Berlin

More information

lpsymphony - Integer Linear Programming in R

lpsymphony - Integer Linear Programming in R lpsymphony - Integer Linear Programming in R Vladislav Kim October 30, 2017 Contents 1 Introduction 2 2 lpsymphony: Quick Start 2 3 Integer Linear Programming 5 31 Equivalent and Dual Formulations 5 32

More information

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps Björn Geißler, Antonio Morsi, Lars Schewe, Martin Schmidt FAU Erlangen-Nürnberg, Discrete Optimization

More information

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem L. De Giovanni M. Di Summa The Traveling Salesman Problem (TSP) is an optimization problem on a directed

More information

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING ASIAN JOURNAL OF MATHEMATICS AND APPLICATIONS Volume 2014, Article ID ama0156, 11 pages ISSN 2307-7743 http://scienceasia.asia SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING

More information

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs Computational Integer Programming Lecture 12: Branch and Cut Dr. Ted Ralphs Computational MILP Lecture 12 1 Reading for This Lecture Wolsey Section 9.6 Nemhauser and Wolsey Section II.6 Martin Computational

More information

M2 ORO: Advanced Integer Programming. Part IV. Solving MILP (1) easy IP. Outline. Sophie Demassey. October 10, 2011

M2 ORO: Advanced Integer Programming. Part IV. Solving MILP (1) easy IP. Outline. Sophie Demassey. October 10, 2011 M2 ORO: Advanced Integer Programming Sophie Demassey Part IV Solving MILP (1) Mines Nantes - TASC - INRIA/LINA CNRS UMR 6241 sophie.demassey@mines-nantes.fr October 10, 2011 Université de Nantes / M2 ORO

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

Solving a Challenging Quadratic 3D Assignment Problem

Solving a Challenging Quadratic 3D Assignment Problem Solving a Challenging Quadratic 3D Assignment Problem Hans Mittelmann Arizona State University Domenico Salvagnin DEI - University of Padova Quadratic 3D Assignment Problem Quadratic 3D Assignment Problem

More information

Combinatorial Optimization - Lecture 14 - TSP EPFL

Combinatorial Optimization - Lecture 14 - TSP EPFL Combinatorial Optimization - Lecture 14 - TSP EPFL 2012 Plan Simple heuristics Alternative approaches Best heuristics: local search Lower bounds from LP Moats Simple Heuristics Nearest Neighbor (NN) Greedy

More information

Linear Programming. Course review MS-E2140. v. 1.1

Linear Programming. Course review MS-E2140. v. 1.1 Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer

More information

On the selection of Benders cuts

On the selection of Benders cuts Mathematical Programming manuscript No. (will be inserted by the editor) On the selection of Benders cuts Matteo Fischetti Domenico Salvagnin Arrigo Zanette Received: date / Revised 23 February 2010 /Accepted:

More information

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING

SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING Bulletin of Mathematics Vol. 06, No. 0 (20), pp.. SUBSTITUTING GOMORY CUTTING PLANE METHOD TOWARDS BALAS ALGORITHM FOR SOLVING BINARY LINEAR PROGRAMMING Eddy Roflin, Sisca Octarina, Putra B. J Bangun,

More information

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,

More information

Experience with CGL in the PICO Mixed- Integer Programming Solver

Experience with CGL in the PICO Mixed- Integer Programming Solver Experience with CGL in the PICO Mixed- Integer Programming Solver Cynthia A. Phillips, Sandia National Laboratories Joint work with Jonathan Eckstein, Rutgers William Hart, Sandia Sandia is a multiprogram

More information

Homework 2: Multi-unit combinatorial auctions (due Nov. 7 before class)

Homework 2: Multi-unit combinatorial auctions (due Nov. 7 before class) CPS 590.1 - Linear and integer programming Homework 2: Multi-unit combinatorial auctions (due Nov. 7 before class) Please read the rules for assignments on the course web page. Contact Vince (conitzer@cs.duke.edu)

More information

Benders in a nutshell Matteo Fischetti, University of Padova

Benders in a nutshell Matteo Fischetti, University of Padova Benders in a nutshell Matteo Fischetti, University of Padova ODS 2017, Sorrento, September 2017 1 Benders decomposition The original Benders decomposition from the 1960s uses two distinct ingredients for

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem Presented by: Ted Ralphs Joint work with: Leo Kopman Les Trotter Bill Pulleyblank 1 Outline of Talk Introduction Description

More information

Assignment 3b: The traveling salesman problem

Assignment 3b: The traveling salesman problem Chalmers University of Technology MVE165 University of Gothenburg MMG631 Mathematical Sciences Linear and integer optimization Optimization with applications Emil Gustavsson Assignment information Ann-Brith

More information

Size of a problem instance: Bigger instances take

Size of a problem instance: Bigger instances take 2.1 Integer Programming and Combinatorial Optimization Slide set 2: Computational Complexity Katta G. Murty Lecture slides Aim: To study efficiency of various algo. for solving problems, and to classify

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Frédéric Giroire FG Simplex 1/11 Motivation Goal: Find good solutions for difficult problems (NP-hard). Be able to quantify the goodness of the given solution. Presentation of

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 36 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

AM 121: Intro to Optimization Models and Methods Fall 2017

AM 121: Intro to Optimization Models and Methods Fall 2017 AM 121: Intro to Optimization Models and Methods Fall 2017 Lecture 10: Dual Simplex Yiling Chen SEAS Lesson Plan Interpret primal simplex in terms of pivots on the corresponding dual tableau Dictionaries

More information

Topics. Introduction. Specific tuning/troubleshooting topics "It crashed" Gurobi parameters The tuning tool. LP tuning. MIP tuning

Topics. Introduction. Specific tuning/troubleshooting topics It crashed Gurobi parameters The tuning tool. LP tuning. MIP tuning Tuning II Topics Introduction Gurobi parameters The tuning tool Specific tuning/troubleshooting topics "It crashed" The importance of being specific LP tuning The importance of scaling MIP tuning Performance

More information

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

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer

More information