Advanced Use of GAMS Solver Links

Similar documents
Fundamentals of Integer Programming

Recent enhancements in. GAMS Software GmbH GAMS Development Corporation

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

The MIP-Solving-Framework SCIP

Exploiting Degeneracy in MIP

Mixed Integer Programming Class Library (MIPCL)

Linking GAMS to Solvers Using COIN-OSI. Michael Bussieck Steve Dirkse GAMS Development Corporation

GAMS. General Algebraic Modeling System. EURO 2009 Bonn. Michael Bussieck Jan-Hendrik Jagla

Welcome to the Webinar. What s New in Gurobi 7.5

The Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach

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

Applied Mixed Integer Programming: Beyond 'The Optimum'

Algorithms for Decision Support. Integer linear programming models

LaGO - A solver for mixed integer nonlinear programming

Benders in a nutshell Matteo Fischetti, University of Padova

Review of Mixed-Integer Nonlinear and Generalized Disjunctive Programming Methods

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

Interactions between a Modeling System and Advanced Solvers. GAMS Development Corporation

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

RENS. The optimal rounding. Timo Berthold

LaGO. Ivo Nowak and Stefan Vigerske. Humboldt-University Berlin, Department of Mathematics

Pivot and Gomory Cut. A MIP Feasibility Heuristic NSERC

Primal Heuristics in SCIP

Integer Programming Chapter 9

Assessing Performance of Parallel MILP Solvers

Comparison of Some High-Performance MINLP Solvers

The Gurobi Optimizer. Bob Bixby

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

GAMS/DICOPT: A Discrete Continuous Optimization Package

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

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

Modern Benders (in a nutshell)

Using Multiple Machines to Solve Models Faster with Gurobi 6.0

Basic Concepts of Constraint Integer Programming

NEOS.jl (and other things)

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

Gurobi Guidelines for Numerical Issues February 2017

Rounding and Propagation Heuristics for Mixed Integer Programming

LP SCIP NEOS URL. example1.lp 2.1 LP 1. minimize. subject to, bounds, free, general, binary, end. .lp 1 2.2

Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova

Parallel and Distributed Optimization with Gurobi Optimizer

Column Generation Based Primal Heuristics

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

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

A Branch-and-Cut Algorithm for the Single-Commodity, Uncapacitated, Fixed-Charge Network Flow Problem

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

Decomposition Methods for Mathematical Programming Problems. GAMS Software GmbH / GAMS Development Corp.

Implementing Constraint Handlers in SCIP

Exact solutions to mixed-integer linear programming problems

Solving a Challenging Quadratic 3D Assignment Problem

Discrete Optimization with Decision Diagrams

Addressing degeneracy in the dual simplex algorithm using a decompositon approach

What's New In Gurobi 5.0. Dr. Edward Rothberg

Primal Heuristics for Branch-and-Price Algorithms

LocalSolver 4.0: novelties and benchmarks

The SCIP Optimization Suite 4.0

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

GMO: GAMS Next-Generation Model API. GAMS Development Corporation

3 INTEGER LINEAR PROGRAMMING

An extended supporting hyperplane algorithm for convex MINLP problems

Solving Scenarios in the Cloud

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

Handling first-order linear constraints with SCIP

Modelling of LP-problems (2WO09)

GAMS Striving for Innovation and Compatibility

Solving lexicographic multiobjective MIPs with Branch-Cut-Price

Motivation for Heuristics

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

Using COIN-OR to Solve the Uncapacitated Facility Location Problem

Solving a Challenging Quadratic 3D Assignment Problem

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

Recent enhancements in. GAMS Development Corporation

Solving Resource Allocation/Scheduling Problems with Constraint Integer Programming

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

SBB: A New Solver for Mixed Integer Nonlinear Programming

Algorithms II MIP Details

Minimum Weight Constrained Forest Problems. Problem Definition

The AIMMS Outer Approximation Algorithm for MINLP

A Center-Cut Algorithm for Quickly Obtaining Feasible Solutions and Solving Convex MINLP Problems

Solving Difficult MIP Problems using GAMS and Condor

What's New in Gurobi 7.0

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

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

The AIMMS Outer Approximation Algorithm for MINLP

Exact Algorithms for Mixed-Integer Bilevel Linear Programming

An Introduction to Dual Ascent Heuristics

sbb COIN-OR Simple Branch-and-Cut

MVE165/MMG631 Linear and integer optimization with applications Lecture 7 Discrete optimization models and applications; complexity

Improving the heuristic performance of Benders decomposition

Conflict Analysis in Mixed Integer Programming

Improved Gomory Cuts for Primal Cutting Plane Algorithms

Recent enhancements in. GAMS Software GmbH GAMS Development Corporation

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

Integer and Combinatorial Optimization

Lagrangean Relaxation of the Hull-Reformulation of Linear Generalized Disjunctive Programs and its use in Disjunctive Branch and Bound

Comparisons of Commercial MIP Solvers and an Adaptive Memory (Tabu Search) Procedure for a Class of 0-1 Integer Programming Problems

Pseudo-polynomial formulations for bin packing and cutting stock problems

A LARGE SCALE INTEGER AND COMBINATORIAL OPTIMIZER

An open-source stochastic programming solver. H.I. Gassmann, Dalhousie University J. Ma, JTechnologies R.K. Martin, The University of Chicago

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

Transcription:

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; generates - Generating MIP model william - magic.gms(81) 4 Mb - 56 rows 46 columns 181 non-zeroes - 15 discrete-columns - Executing SCIP: elapsed 0:00:00.005... - Restarting execution - magic.gms(81) 2 Mb - Reading solution for model william Advanced Use of GAMS Solver Links 2 / 16

Standard GAMS solve Solve william minimizing cost using mip; generates - Generating MIP model william - magic.gms(81) 4 Mb - 56 rows 46 columns 181 non-zeroes - 15 discrete-columns - Executing SCIP: elapsed 0:00:00.005... - Restarting execution - magic.gms(81) 2 Mb - Reading solution for model william Returned to the user: solving and model status, solve statistics (solve time), objective value, bound on optimal value, primal/dual values for variable and equations with infeasibility markers,... During solve, feedback solely via log output No interaction during solve Advanced Use of GAMS Solver Links 2 / 16

Outline 1 Feasibility Relaxation 2 Solve Tracing facility 3 Retrieving Multiple Solutions 4 Branch-Cut-Heuristic Facility Advanced Use of GAMS Solver Links 3 / 16

Outline 1 Feasibility Relaxation 2 Solve Tracing facility 3 Retrieving Multiple Solutions 4 Branch-Cut-Heuristic Facility Advanced Use of GAMS Solver Links 4 / 16

Log - Executing CPLEX: elapsed 0:00:00.004 Infeasible Models IBM ILOG CPLEX Dec 18, 2012 24.0.1 LEX 37366.37409 LEG x86_64/linux... LP status(3): infeasible Cplex Time: 0.00sec (det. 0.01 ticks) Model has been proven infeasible. Listing S O L V E S U M M A R Y MODEL transport OBJECTIVE z TYPE LP DIRECTION MINIMIZE SOLVER CPLEX FROM LINE 74 **** SOLVER STATUS 1 Normal Completion **** MODEL STATUS 4 Infeasible **** OBJECTIVE VALUE 130.0000 Advanced Use of GAMS Solver Links 5 / 16

Analyzing Infeasible Models: Summary LP/NLP solvers usually compute minimal infeasible points check INFEAS markers in listing file Advanced Use of GAMS Solver Links 6 / 16

Analyzing Infeasible Models: Summary LP/NLP solvers usually compute minimal infeasible points check INFEAS markers in listing file feasopt option: allows to price infeasibility, i.e., minimize infeas. w.r.t a certain norm also available for MIPs available for GAMS/CPLEX and GAMS/Gurobi see feasopt1 in GAMS model library Advanced Use of GAMS Solver Links 6 / 16

Analyzing Infeasible Models: Summary LP/NLP solvers usually compute minimal infeasible points check INFEAS markers in listing file feasopt option: allows to price infeasibility, i.e., minimize infeas. w.r.t a certain norm also available for MIPs available for GAMS/CPLEX and GAMS/Gurobi see feasopt1 in GAMS model library EMP adjustequ option: automatic reformulation of constraints as soft constraint works also with nonlinear models Advanced Use of GAMS Solver Links 6 / 16

Outline 1 Feasibility Relaxation 2 Solve Tracing facility 3 Retrieving Multiple Solutions 4 Branch-Cut-Heuristic Facility Advanced Use of GAMS Solver Links 7 / 16

Tracing Solving progress Running gams sp98ir.gms mip=scip optfile=1 with options file scip.opt gams/solvetrace/file = "SCIP.miptrace" gams/solvetrace/nodefreq = 100 gams/solvetrace/timefreq = 1 Advanced Use of GAMS Solver Links 8 / 16

Tracing Solving progress Running gams sp98ir.gms mip=scip optfile=1 with options file scip.opt gams/solvetrace/file = "SCIP.miptrace" gams/solvetrace/nodefreq = 100 gams/solvetrace/timefreq = 1 generates during solve solve trace file SCIP.miptrace * solvetrace file SCIP.miptrace: ID = SCIP 3.0.1 * fields are linenum, seriesid, node, seconds, bestfound, bestbound 1, S, 1, 0, 260614197.6, 216717059.8 2, T, 3, 1.12054, 260614197.6, 217028062.2... 63, E, 2550, 38.3884, 220249516.8, 217928729.7 * solvetrace file closed common format among all solvers that support this option available with Bonmin, CBC, CPLEX, Couenne, GloMIQO, Gurobi, SBB, SCIP, Xpress Advanced Use of GAMS Solver Links 8 / 16

Benchmarking with GAMS trace files Generate GAMS trace files (not to confuse with solve trace files from previous slide): gams <model> mip=<solver> trace=<solver>.trc traceopt=3 reslim=1800 optcr=0 pf4=0 threads=1 GAMS trace file <solver>.trc * Trace Record Definition * GamsSolve * InputFileName,ModelType,SolverName,OptionFile,Direction,NumberOfEquations, * NumberOfVariables,NumberOfDiscreteVariables,NumberOfNonZeros, * NumberOfNonlinearNonZeros,ModelStatus,SolverStatus,ObjectiveValue, * ObjectiveValueEstimate,SolverTime,ETSolver,NumberOfIterations,NumberOfNodes 30n20b8,MIP,SCIP,1,0,577,18381,11098,109709,0,1,1,302,302,186.8,189.833,464659,466 acc-tight5,mip,scip,1,0,3053,1340,1339,16136,0,1,1,0,0,366.28,367.651,1788064,1971 aflow40b,mip,scip,1,0,1443,2729,1364,8148,0,1,1,1168,1168,1411.99,1425.472,5232401,3 Advanced Use of GAMS Solver Links 9 / 16

Benchmarking with GAMS trace files Generate GAMS trace files (not to confuse with solve trace files from previous slide): gams <model> mip=<solver> trace=<solver>.trc traceopt=3 reslim=1800 optcr=0 pf4=0 threads=1 GAMS trace file <solver>.trc * Trace Record Definition * GamsSolve * InputFileName,ModelType,SolverName,OptionFile,Direction,NumberOfEquations, * NumberOfVariables,NumberOfDiscreteVariables,NumberOfNonZeros, * NumberOfNonlinearNonZeros,ModelStatus,SolverStatus,ObjectiveValue, * ObjectiveValueEstimate,SolverTime,ETSolver,NumberOfIterations,NumberOfNodes 30n20b8,MIP,SCIP,1,0,577,18381,11098,109709,0,1,1,302,302,186.8,189.833,464659,466 acc-tight5,mip,scip,1,0,3053,1340,1339,16136,0,1,1,0,0,366.28,367.651,1788064,1971 aflow40b,mip,scip,1,0,1443,2729,1364,8148,0,1,1,1168,1168,1411.99,1425.472,5232401,3 makes it easy to compare solver runs (checkout GAMS Performance Tools) e.g., 3 different solvers on MIPLIB 2010 benchmark set: C G X mean solve time 138.4s 130.1s 204.7s Advanced Use of GAMS Solver Links 9 / 16

More Benchmarking with Solve Trace Files However, in practice, solver should not only finish fast, but also find good primal solutions early. 1 Rounding and Propagation Heuristics for Mixed Integer Programming, Operations Research Proceedings 2011; ZIB-Report 11-29 Advanced Use of GAMS Solver Links 10 / 16

More Benchmarking with Solve Trace Files However, in practice, solver should not only finish fast, but also find good primal solutions early. To measure the latter, Achterberg, Berthold, and Hendel (2012) 1 suggested to compute the primal integral: P(T ) := T t=0 p(t), 1, if pb(t) = or pb(t) opt < 0, where p(t) = 0, if pb(t) = opt = 0, pb(t) opt else, max( opt, pb(t) ), where pb(t) is primal bound at time t, opt is optimal value. 1 Rounding and Propagation Heuristics for Mixed Integer Programming, Operations Research Proceedings 2011; ZIB-Report 11-29 Advanced Use of GAMS Solver Links 10 / 16

More Benchmarking with Solve Trace Files However, in practice, solver should not only finish fast, but also find good primal solutions early. To measure the latter, Achterberg, Berthold, and Hendel (2012) 1 suggested to compute the primal integral: P(T ) := T t=0 p(t), 1, if pb(t) = or pb(t) opt < 0, where p(t) = 0, if pb(t) = opt = 0, pb(t) opt else, max( opt, pb(t) ), where pb(t) is primal bound at time t, opt is optimal value. small P(T ) good solutions found early in search can use solve trace files to compute P(T )! 1 Rounding and Propagation Heuristics for Mixed Integer Programming, Operations Research Proceedings 2011; ZIB-Report 11-29 Advanced Use of GAMS Solver Links 10 / 16

More Benchmarking with Solve Trace Files However, in practice, solver should not only finish fast, but also find good primal solutions early. To measure the latter, Achterberg, Berthold, and Hendel (2012) 1 suggested to compute the primal integral: P(T ) := T t=0 p(t), 1, if pb(t) = or pb(t) opt < 0, where p(t) = 0, if pb(t) = opt = 0, pb(t) opt else, max( opt, pb(t) ), where pb(t) is primal bound at time t, opt is optimal value. small P(T ) good solutions found early in search can use solve trace files to compute P(T )! C G X mean solve time 138.4s 130.1s 204.7s mean P(1800; )/P(1800; C) 1 1.034 2.099 1 Rounding and Propagation Heuristics for Mixed Integer Programming, Operations Research Proceedings 2011; ZIB-Report 11-29 Advanced Use of GAMS Solver Links 10 / 16

Outline 1 Feasibility Relaxation 2 Solve Tracing facility 3 Retrieving Multiple Solutions 4 Branch-Cut-Heuristic Facility Advanced Use of GAMS Solver Links 11 / 16

Obtaining more than one solution Several solver links can write out alternative solutions as GDX files: AlphaECP, BARON, CBC, CPLEX, GloMIQO, Gurobi, SCIP, Xpress BARON, CPLEX, and Xpress also offer functionality to explicitly search for alternative solutions see GAMS model library model solnpool Advanced Use of GAMS Solver Links 12 / 16

Outline 1 Feasibility Relaxation 2 Solve Tracing facility 3 Retrieving Multiple Solutions 4 Branch-Cut-Heuristic Facility Advanced Use of GAMS Solver Links 13 / 16

Branch-Cut-Heuristic Facility Branch-and-cut solvers can benefit from user supplied cutting planes and integer solutions callback functions Advanced Use of GAMS Solver Links 14 / 16

Branch-Cut-Heuristic Facility Branch-and-cut solvers can benefit from user supplied cutting planes and integer solutions callback functions implementation requires knowledge of programming and solver API solver specific Advanced Use of GAMS Solver Links 14 / 16

Branch-Cut-Heuristic Facility Branch-and-cut solvers can benefit from user supplied cutting planes and integer solutions callback functions implementation requires knowledge of programming and solver API solver specific BCH Facility: pass solver callbacks back into GAMS model space Advanced Use of GAMS Solver Links 14 / 16

Branch-Cut-Heuristic Facility Branch-and-cut solvers can benefit from user supplied cutting planes and integer solutions callback functions implementation requires knowledge of programming and solver API solver specific BCH Facility: pass solver callbacks back into GAMS model space represent cut generator and heuristic in terms of original GAMS formulation independent of specific solver can use any other solvers in GAMS for computations available only for CPLEX and SBB currently Advanced Use of GAMS Solver Links 14 / 16

Single-commodity, uncapacitated, fixed-charge network flow problem: min f ij y ij + c ij x ij s.t. (i,j) A x ij x ij = b i, i V (j,i) δ (i) (i,j) δ + (i) 0 x ij My ij, y ij {0, 1}, (i, j) A Example Reference: F. Ortega, L. Wolsey, A branch-and-cut algorithm for the single-commodity, uncapacitated, fixed-charge network flow problem. Networks 41 (2003), No. 3, 143 158 1 3 2 3 GAMS model library: bchfcnet Advanced Use of GAMS Solver Links 15 / 16 1

Simple Dicut Inequalities Dicut: For S V with b(s) > 0: y ij 1 (i,j) δ (S) 1 3 2 3 1 b(s) = 3 Advanced Use of GAMS Solver Links 16 / 16

Simple Dicut Inequalities Dicut: For S V with b(s) > 0: (i,j) δ (S) y ij 1 Separation problem: find a good set S min ȳ ij z j (1 z i ) (i,j) A s.t. b i z i > 0 i V z i {0, 1}, i V nonconvex quadratic binary program let s use GAMS MIQCP solver 1 3 2 3 1 b(s) = 3 Advanced Use of GAMS Solver Links 16 / 16