Switching from Another Solver to Gurobi Speaker Introduction

Total Page:16

File Type:pdf, Size:1020Kb

Switching from Another Solver to Gurobi Speaker Introduction Switching from Another Solver to Gurobi Speaker Introduction • Dr. Sonja Mars • Technical Account Manager at Gurobi Optimization • Ph.D. in Mathematics, FAU Erlangen-Nuremberg • Helping people around the world with Gurobi 2 Copyright 2017, Gurobi Optimization, Inc. Overview • Decision Criteria • Common Scenarios • Switching Examples 3 Copyright 2017, Gurobi Optimization, Inc. Optimization Projects – Decision for a Solver 4 Copyright 2017, Gurobi Optimization, Inc. Solver Overview • Commercial solvers • For example, Gurobi or CPLEX • Open source solvers • For example, lp_solve and GLPK • Modeling languages and frameworks • Commercial • For example, AMPL, GAMS • Open Source • For example, Pyomo, PuLP, JuMP 5 Copyright 2017, Gurobi Optimization, Inc. Decision Criteria Criterion Advantage Budget and licensing Free tools Performance and scalability Commercial tools Professional support Commercial tools Active development Commercial tools & some free tools Deployment Commercial tools Ease of use Commercial solvers & modeling frameworks Complexity of switching later Modeling frameworks 6 Copyright 2017, Gurobi Optimization, Inc. Budget and Licensing • Free tools: • No license fees • No licensing • Possibility to look at the code and change it • Commercial tools: • Budget • Include licensing mechanism • Black box solver • Get started with Gurobi for free: • Free academic licenses • Take Gurobi with you • Evaluation licenses 7 Copyright 2017, Gurobi Optimization, Inc. Performance • Free tools: • Fast for easy problems • Many issues with real-world problems • Sometimes huge setup times for models with large data • Commercial tools: • Optimized for real-world problems • Tuned and parallel algorithms • Light-weight APIs with fast data-handling 8 Copyright 2017, Gurobi Optimization, Inc. Performance – Comparing Solvers • Just a few numbers for runs on 1 thread from MIPLIB 2010 benchmark set (time limit 2 hours): Solver # of Benchmark Problems Solved Relative MIP Performance (out of the 87) GLPK 0 (no models solved) n/a lp_solve 5 too few solved to compare CBC 53 32 SCIP + SoPlex 71 9.32 XPRESS 86 1.51 CPLEX 87 1.42 Gurobi 87 1.0 (fastest) • More numbers can be found here: http://plato.asu.edu/ftp/milpc.html 9 Copyright 2017, Gurobi Optimization, Inc. Performance – Comparing API and Modeling Tools • Build and solve the same model (2500000 variables, 5000 constraints and 500848 nonzeros) API Runtime in seconds Gurobi’s Python API 22 JuMP 40 Pyomo 146 PuLP 203 • Gurobi solve run just takes 3 seconds 10 Copyright 2017, Gurobi Optimization, Inc. Professional Support • Free tools: • Motivated developers but limited support • Commercial tools: • Dedicated team of experts • At Gurobi: • PhD level support • Fast response times guaranteed • Offers 2 hours free consulting • Parameter tuning 11 Copyright 2017, Gurobi Optimization, Inc. Active Development • Commercial tools: • Continual performance improvements • Dedicated team of experts Gurobi Development over time – number of unsolved models 600 538 500 456 400 371 335 286 300 200 200 92 100 46 0 v1.1 v2.0 v3.0 v4.0 v5.0 v6.0 v7.0 v7.5 Time limit: 10000 sec. MIP test set has 3420 models: Intel Xeon CPU E3-1240 v3 @ 3.40GHz - 217 discarded due to inconsistent answers 4 cores, 8 hyper-threads - 788 discarded that none of the versions can solve 32 GB RAM 12 Copyright 2017, Gurobi Optimization, Inc. Deployment • Free solvers: • Support of different operating systems very limited • As source code is available • Can be compiled for a lot of systems • No additional support if issues occur • Modeling frameworks: • Another software that needs to be deployed • Sometimes complicated because file based • Commercial solvers: • Available for a lot of operating systems • Flexible reaction on new situations 13 Copyright 2017, Gurobi Optimization, Inc. Ease of Use • Free solvers: • Sometimes only C or C++ APIs • Complicated usage • Modeling frameworks: • Nice syntax • Easy to learn • Commercial solvers: • APIs in all popular programming languages • At Gurobi: • Additional nice extensions for Python 14 Copyright 2017, Gurobi Optimization, Inc. Complexity of Switching • Free and commercial solvers: • Use their own APIs • Not designed to make switching easy • Modeling frameworks: • Very easy to change solvers 15 Copyright 2017, Gurobi Optimization, Inc. Time to Switch? 16 Copyright 2017, Gurobi Optimization, Inc. Common Scenarios … … we’ve seen from our customers • “Our model is getting larger and takes too long to solve with a free solver.” • “Our model is getting more complex and a competing commercial solver is running into performance issues.” • “The results we are getting are not robust and reliable.” • “We need help on parameter tuning.” 17 Copyright 2017, Gurobi Optimization, Inc. First Test • Export MPS files to check performance • How to export MPS files: http://www.gurobi.com/resources/switching-to-gurobi/exporting-mps-files- from-competing-solvers • Ask for a Gurobi evaluation license • Run MPS File in Gurobi: gurobi_cl TimeLimit=3600 MIPGap=0.01 myModel.mps • Or send the files to [email protected] 18 Copyright 2017, Gurobi Optimization, Inc. Common Scenarios … … when switching to Gurobi is a good idea • Robustness • Scalability • Gurobi Compute Server • Solving speed • Maintenance and support 19 Copyright 2017, Gurobi Optimization, Inc. Switching Examples 20 Copyright 2017, Gurobi Optimization, Inc. The Gurobi Python API – a short Overview m = Model("mip") x = m.addVar(vtype=GRB.BINARY, name="x") y = m.addVar(vtype=GRB.CONTINUOUS, name="y") z = m.addVar(vtype=GRB.INTEGER, name="z") m.setObjective(x + y + 2 * z, GRB.MAXIMIZE) m.addConstr(x + 2 * y + 3 * z <= 4, "c0") m.addConstr(x + y >= 1, "c1") m.optimize() 21 Copyright 2017, Gurobi Optimization, Inc. The Gurobi Python API – a few nice Features • Old: x= {} for i in I: for j in J: x[i,j] = model.addVar(obj=costs[i,j]) for i in I: model.addConstr(sum(x[i,j] for j in J) == d[i]) • New: x = model.addVars(I, J, obj=costs) model.addConstrs(x.sum(i, '*’) == d[i] for i in I) 22 Copyright 2017, Gurobi Optimization, Inc. The Gurobi Python API – a few nice Features • A network flow problem: • Lists commodities, nodes, tuplelist arcs and dictionaries inflow, cost, capacity • Add variables: flow = m.addVars( commodities, arcs, obj=cost, name="flow" ) • Add capacity constraints: m.addConstrs( (flow.sum('*',i,j) <= capacity[i,j] for i,j in arcs), "cap" ) • Add flow conservation constraints: m.addConstrs( (flow.sum(h,'*',j) + inflow[h,j] == flow.sum(h,j,'*') for h in commodities for j in nodes), "node" ) 23 Copyright 2017, Gurobi Optimization, Inc. Switching Solvers inside Modeling Frameworks • Only need to change this line: • PuLP prob.solve( GUROBI_CMD() ) • Pyomo opt = SolverFactory('gurobi') • JuMP m = Model( solver=GurobiSolver() ) • AMPL option solver gurobi_ampl; • GAMS Option MIP = Gurobi; • Adjustment needed for solver parameters 24 Copyright 2017, Gurobi Optimization, Inc. Switching from PuLP • PuLP • Gurobi’s Python API prob = LpProblem( "assignment", LpMinimize ) m = Model( "assignment" ) x = LpVariable.dicts( ”x", (workers, shifts), x = m.addVars( avail, ub=1, name="x" ) 0, 1, LpContinuous ) prob += lpSum( [pay[w] * x[w][s] m.setObjective( quicksum(pay[w]*x[w,s] for w in workers for w,s in avail ), for s in shifts] ), "" GRB.MINIMIZE ) for s in shifts: reqCts = m.addConstrs( prob += lpSum( [avail[w, s] * x[w][s] ( x.sum('*', s) == shiftReq[s] for w in workers for s in shifts ), "_" ) if avail[w, s] != 0] ) == shiftReq[s], "" prob.solve( GUROBI_CMD() ) m.optimize() 25 Copyright 2017, Gurobi Optimization, Inc. More Help • Gurobi website • Documentation • Examples 26 Copyright 2017, Gurobi Optimization, Inc. Getting Started • Get started with Gurobi for free: • Free Academic (site) licenses • Take Gurobi With You (TGWY) Program for your transition into industry • Working with Gurobi consulting partners • Obtain free evaluation licenses • PhD level support • Offers 2 hours free consulting • Parameter tuning • Ask [email protected] for a free Gurobi evaluation license • Run MPS file in Gurobi: gurobi_cl TimeLimit=3600 MIPGap=0.01 myModel.mps or • Send the files to [email protected] 27 Copyright 2017, Gurobi Optimization, Inc..
Recommended publications
  • Multi-Objective Optimization of Unidirectional Non-Isolated Dc/Dcconverters
    MULTI-OBJECTIVE OPTIMIZATION OF UNIDIRECTIONAL NON-ISOLATED DC/DC CONVERTERS by Andrija Stupar A thesis submitted in conformity with the requirements for the degree of Doctor of Philosophy Graduate Department of Edward S. Rogers Department of Electrical and Computer Engineering University of Toronto © Copyright 2017 by Andrija Stupar Abstract Multi-Objective Optimization of Unidirectional Non-Isolated DC/DC Converters Andrija Stupar Doctor of Philosophy Graduate Department of Edward S. Rogers Department of Electrical and Computer Engineering University of Toronto 2017 Engineers have to fulfill multiple requirements and strive towards often competing goals while designing power electronic systems. This can be an analytically complex and computationally intensive task since the relationship between the parameters of a system’s design space is not always obvious. Furthermore, a number of possible solutions to a particular problem may exist. To find an optimal system, many different possible designs must be evaluated. Literature on power electronics optimization focuses on the modeling and design of partic- ular converters, with little thought given to the mathematical formulation of the optimization problem. Therefore, converter optimization has generally been a slow process, with exhaus- tive search, the execution time of which is exponential in the number of design variables, the prevalent approach. In this thesis, geometric programming (GP), a type of convex optimization, the execution time of which is polynomial in the number of design variables, is proposed and demonstrated as an efficient and comprehensive framework for the multi-objective optimization of non-isolated unidirectional DC/DC converters. A GP model of multilevel flying capacitor step-down convert- ers is developed and experimentally verified on a 15-to-3.3 V, 9.9 W discrete prototype, with sets of loss-volume Pareto optimal designs generated in under one minute.
    [Show full text]
  • Julia, My New Friend for Computing and Optimization? Pierre Haessig, Lilian Besson
    Julia, my new friend for computing and optimization? Pierre Haessig, Lilian Besson To cite this version: Pierre Haessig, Lilian Besson. Julia, my new friend for computing and optimization?. Master. France. 2018. cel-01830248 HAL Id: cel-01830248 https://hal.archives-ouvertes.fr/cel-01830248 Submitted on 4 Jul 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. « Julia, my new computing friend? » | 14 June 2018, IETR@Vannes | By: L. Besson & P. Haessig 1 « Julia, my New frieNd for computiNg aNd optimizatioN? » Intro to the Julia programming language, for MATLAB users Date: 14th of June 2018 Who: Lilian Besson & Pierre Haessig (SCEE & AUT team @ IETR / CentraleSupélec campus Rennes) « Julia, my new computing friend? » | 14 June 2018, IETR@Vannes | By: L. Besson & P. Haessig 2 AgeNda for today [30 miN] 1. What is Julia? [5 miN] 2. ComparisoN with MATLAB [5 miN] 3. Two examples of problems solved Julia [5 miN] 4. LoNger ex. oN optimizatioN with JuMP [13miN] 5. LiNks for more iNformatioN ? [2 miN] « Julia, my new computing friend? » | 14 June 2018, IETR@Vannes | By: L. Besson & P. Haessig 3 1. What is Julia ? Open-source and free programming language (MIT license) Developed since 2012 (creators: MIT researchers) Growing popularity worldwide, in research, data science, finance etc… Multi-platform: Windows, Mac OS X, GNU/Linux..
    [Show full text]
  • Numericaloptimization
    Numerical Optimization Alberto Bemporad http://cse.lab.imtlucca.it/~bemporad/teaching/numopt Academic year 2020-2021 Course objectives Solve complex decision problems by using numerical optimization Application domains: • Finance, management science, economics (portfolio optimization, business analytics, investment plans, resource allocation, logistics, ...) • Engineering (engineering design, process optimization, embedded control, ...) • Artificial intelligence (machine learning, data science, autonomous driving, ...) • Myriads of other applications (transportation, smart grids, water networks, sports scheduling, health-care, oil & gas, space, ...) ©2021 A. Bemporad - Numerical Optimization 2/102 Course objectives What this course is about: • How to formulate a decision problem as a numerical optimization problem? (modeling) • Which numerical algorithm is most appropriate to solve the problem? (algorithms) • What’s the theory behind the algorithm? (theory) ©2021 A. Bemporad - Numerical Optimization 3/102 Course contents • Optimization modeling – Linear models – Convex models • Optimization theory – Optimality conditions, sensitivity analysis – Duality • Optimization algorithms – Basics of numerical linear algebra – Convex programming – Nonlinear programming ©2021 A. Bemporad - Numerical Optimization 4/102 References i ©2021 A. Bemporad - Numerical Optimization 5/102 Other references • Stephen Boyd’s “Convex Optimization” courses at Stanford: http://ee364a.stanford.edu http://ee364b.stanford.edu • Lieven Vandenberghe’s courses at UCLA: http://www.seas.ucla.edu/~vandenbe/ • For more tutorials/books see http://plato.asu.edu/sub/tutorials.html ©2021 A. Bemporad - Numerical Optimization 6/102 Optimization modeling What is optimization? • Optimization = assign values to a set of decision variables so to optimize a certain objective function • Example: Which is the best velocity to minimize fuel consumption ? fuel [ℓ/km] velocity [km/h] 0 30 60 90 120 160 ©2021 A.
    [Show full text]
  • TOMLAB –Unique Features for Optimization in MATLAB
    TOMLAB –Unique Features for Optimization in MATLAB Bad Honnef, Germany October 15, 2004 Kenneth Holmström Tomlab Optimization AB Västerås, Sweden [email protected] ´ Professor in Optimization Department of Mathematics and Physics Mälardalen University, Sweden http://tomlab.biz Outline of the talk • The TOMLAB Optimization Environment – Background and history – Technology available • Optimization in TOMLAB • Tests on customer supplied large-scale optimization examples • Customer cases, embedded solutions, consultant work • Business perspective • Box-bounded global non-convex optimization • Summary http://tomlab.biz Background • MATLAB – a high-level language for mathematical calculations, distributed by MathWorks Inc. • Matlab can be extended by Toolboxes that adds to the features in the software, e.g.: finance, statistics, control, and optimization • Why develop the TOMLAB Optimization Environment? – A uniform approach to optimization didn’t exist in MATLAB – Good optimization solvers were missing – Large-scale optimization was non-existent in MATLAB – Other toolboxes needed robust and fast optimization – Technical advantages from the MATLAB languages • Fast algorithm development and modeling of applied optimization problems • Many built in functions (ODE, linear algebra, …) • GUIdevelopmentfast • Interfaceable with C, Fortran, Java code http://tomlab.biz History of Tomlab • President and founder: Professor Kenneth Holmström • The company founded 1986, Development started 1989 • Two toolboxes NLPLIB och OPERA by 1995 • Integrated format for optimization 1996 • TOMLAB introduced, ISMP97 in Lausanne 1997 • TOMLAB v1.0 distributed for free until summer 1999 • TOMLAB v2.0 first commercial version fall 1999 • TOMLAB starting sales from web site March 2000 • TOMLAB v3.0 expanded with external solvers /SOL spring 2001 • Dash Optimization Ltd’s XpressMP added in TOMLAB fall 2001 • Tomlab Optimization Inc.
    [Show full text]
  • Specifying “Logical” Conditions in AMPL Optimization Models
    Specifying “Logical” Conditions in AMPL Optimization Models Robert Fourer AMPL Optimization www.ampl.com — 773-336-AMPL INFORMS Annual Meeting Phoenix, Arizona — 14-17 October 2012 Session SA15, Software Demonstrations Robert Fourer, Logical Conditions in AMPL INFORMS Annual Meeting — 14-17 Oct 2012 — Session SA15, Software Demonstrations 1 New and Forthcoming Developments in the AMPL Modeling Language and System Optimization modelers are often stymied by the complications of converting problem logic into algebraic constraints suitable for solvers. The AMPL modeling language thus allows various logical conditions to be described directly. Additionally a new interface to the ILOG CP solver handles logic in a natural way not requiring conventional transformations. Robert Fourer, Logical Conditions in AMPL INFORMS Annual Meeting — 14-17 Oct 2012 — Session SA15, Software Demonstrations 2 AMPL News Free AMPL book chapters AMPL for Courses Extended function library Extended support for “logical” conditions AMPL driver for CPLEX Opt Studio “Concert” C++ interface Support for ILOG CP constraint programming solver Support for “logical” constraints in CPLEX INFORMS Impact Prize to . Originators of AIMMS, AMPL, GAMS, LINDO, MPL Awards presented Sunday 8:30-9:45, Conv Ctr West 101 Doors close 8:45! Robert Fourer, Logical Conditions in AMPL INFORMS Annual Meeting — 14-17 Oct 2012 — Session SA15, Software Demonstrations 3 AMPL Book Chapters now free for download www.ampl.com/BOOK/download.html Bound copies remain available purchase from usual
    [Show full text]
  • Robert Fourer, David M. Gay INFORMS Annual Meeting
    AMPL New Solver Support in the AMPL Modeling Language Robert Fourer, David M. Gay AMPL Optimization LLC, www.ampl.com Department of Industrial Engineering & Management Sciences, Northwestern University Sandia National Laboratories INFORMS Annual Meeting Pittsburgh, Pennsylvania, November 5-8, 2006 Robert Fourer, New Solver Support in the AMPL Modeling Language INFORMS Annual Meeting, November 5-8, 2006 1 AMPL What it is . A modeling language for optimization A system to support optimization modeling What I’ll cover . Brief examples, briefer history Recent developments . ¾ 64-bit versions ¾ floating license manager ¾ AMPL Studio graphical interface & Windows COM objects Solver support ¾ new KNITRO 5.1 features ¾ new CPLEX 10.1 features Robert Fourer, New Solver Support in the AMPL Modeling Language INFORMS Annual Meeting, November 5-8, 2006 2 Ex 1: Airline Fleet Assignment set FLEETS; set CITIES; set TIMES circular; set FLEET_LEGS within {f in FLEETS, c1 in CITIES, t1 in TIMES, c2 in CITIES, t2 in TIMES: c1 <> c2 and t1 <> t2}; # (f,c1,t1,c2,t2) represents the availability of fleet f # to cover the leg that leaves c1 at t1 and # whose arrival time plus turnaround time at c2 is t2 param leg_cost {FLEET_LEGS} >= 0; param fleet_size {FLEETS} >= 0; Robert Fourer, New Solver Support in the AMPL Modeling Language INFORMS Annual Meeting, November 5-8, 2006 3 Ex 1: Derived Sets set LEGS := setof {(f,c1,t1,c2,t2) in FLEET_LEGS} (c1,t1,c2,t2); # the set of all legs that can be covered by some fleet set SERV_CITIES {f in FLEETS} := union {(f,c1,c2,t1,t2)
    [Show full text]
  • Julia: a Modern Language for Modern ML
    Julia: A modern language for modern ML Dr. Viral Shah and Dr. Simon Byrne www.juliacomputing.com What we do: Modernize Technical Computing Today’s technical computing landscape: • Develop new learning algorithms • Run them in parallel on large datasets • Leverage accelerators like GPUs, Xeon Phis • Embed into intelligent products “Business as usual” will simply not do! General Micro-benchmarks: Julia performs almost as fast as C • 10X faster than Python • 100X faster than R & MATLAB Performance benchmark relative to C. A value of 1 means as fast as C. Lower values are better. A real application: Gillespie simulations in systems biology 745x faster than R • Gillespie simulations are used in the field of drug discovery. • Also used for simulations of epidemiological models to study disease propagation • Julia package (Gillespie.jl) is the state of the art in Gillespie simulations • https://github.com/openjournals/joss- papers/blob/master/joss.00042/10.21105.joss.00042.pdf Implementation Time per simulation (ms) R (GillespieSSA) 894.25 R (handcoded) 1087.94 Rcpp (handcoded) 1.31 Julia (Gillespie.jl) 3.99 Julia (Gillespie.jl, passing object) 1.78 Julia (handcoded) 1.2 Those who convert ideas to products fastest will win Computer Quants develop Scientists prepare algorithms The last 25 years for production (Python, R, SAS, DEPLOY (C++, C#, Java) Matlab) Quants and Computer Compress the Scientists DEPLOY innovation cycle collaborate on one platform - JULIA with Julia Julia offers competitive advantages to its users Julia is poised to become one of the Thank you for Julia. Yo u ' v e k i n d l ed leading tools deployed by developers serious excitement.
    [Show full text]
  • Open Source Tools for Optimization in Python
    Open Source Tools for Optimization in Python Ted Ralphs Sage Days Workshop IMA, Minneapolis, MN, 21 August 2017 T.K. Ralphs (Lehigh University) Open Source Optimization August 21, 2017 Outline 1 Introduction 2 COIN-OR 3 Modeling Software 4 Python-based Modeling Tools PuLP/DipPy CyLP yaposib Pyomo T.K. Ralphs (Lehigh University) Open Source Optimization August 21, 2017 Outline 1 Introduction 2 COIN-OR 3 Modeling Software 4 Python-based Modeling Tools PuLP/DipPy CyLP yaposib Pyomo T.K. Ralphs (Lehigh University) Open Source Optimization August 21, 2017 Caveats and Motivation Caveats I have no idea about the background of the audience. The talk may be either too basic or too advanced. Why am I here? I’m not a Sage developer or user (yet!). I’m hoping this will be a chance to get more involved in Sage development. Please ask lots of questions so as to guide me in what to dive into! T.K. Ralphs (Lehigh University) Open Source Optimization August 21, 2017 Mathematical Optimization Mathematical optimization provides a formal language for describing and analyzing optimization problems. Elements of the model: Decision variables Constraints Objective Function Parameters and Data The general form of a mathematical optimization problem is: min or max f (x) (1) 8 9 < ≤ = s.t. gi(x) = bi (2) : ≥ ; x 2 X (3) where X ⊆ Rn might be a discrete set. T.K. Ralphs (Lehigh University) Open Source Optimization August 21, 2017 Types of Mathematical Optimization Problems The type of a mathematical optimization problem is determined primarily by The form of the objective and the constraints.
    [Show full text]
  • Benchmarks for Current Linear and Mixed Integer Optimization Solvers
    ACTA UNIVERSITATIS AGRICULTURAE ET SILVICULTURAE MENDELIANAE BRUNENSIS Volume 63 207 Number 6, 2015 http://dx.doi.org/10.11118/actaun201563061923 BENCHMARKS FOR CURRENT LINEAR AND MIXED INTEGER OPTIMIZATION SOLVERS Josef Jablonský1 1 Department of Econometrics, Faculty of Informatics and Statistics, University of Economics, Prague, nám. W. Churchilla 4, 130 67 Praha 3, Czech Republic Abstract JABLONSKÝ JOSEF. 2015. Benchmarks for Current Linear and Mixed Integer Optimization Solvers. Acta Universitatis Agriculturae et Silviculturae Mendelianae Brunensis, 63(6): 1923–1928. Linear programming (LP) and mixed integer linear programming (MILP) problems belong among very important class of problems that fi nd their applications in various managerial consequences. The aim of the paper is to discuss computational performance of current optimization packages for solving large scale LP and MILP optimization problems. Current market with LP and MILP solvers is quite extensive. Probably among the most powerful solvers GUROBI 6.0, IBM ILOG CPLEX 12.6.1, and XPRESS Optimizer 27.01 belong. Their attractiveness for academic research is given, except their computational performance, by their free availability for academic purposes. The solvers are tested on the set of selected problems from MIPLIB 2010 library that contains 361 test instances of diff erent hardness (easy, hard, and not solved). Keywords: benchmark, linear programming, mixed integer linear programming, optimization, solver INTRODUCTION with integer variables need not be solved even Solving linear and mixed integer linear in case of a very small size of the given problem. optimization problems (LP and MILP) that Real-world optimization problems have usually belong to one of the most o en modelling tools, many thousands of variables and/or constraints.
    [Show full text]
  • Combining Simulation and Optimization for Improved Decision Support on Energy Efficiency in Industry
    Linköping Studies in Science and Technology, Dissertation No. 1483 Combining simulation and optimization for improved decision support on energy efficiency in industry Nawzad Mardan Division of Energy Systems Department of Management and Engineering Linköping Institute of Technology SE-581 83, Linköping, Sweden Copyright © 2012 Nawzad Mardan ISBN 978-91-7519-757-9 ISSN 0345-7524 Printed in Sweden by LiU-Tryck, Linköping 2012 ii Abstract Industrial production systems in general are very complex and there is a need for decision support regarding management of the daily production as well as regarding investments to increase energy efficiency and to decrease environmental effects and overall costs. Simulation of industrial production as well as energy systems optimization may be used in such complex decision-making situations. The simulation tool is most powerful when used for design and analysis of complex production processes. This tool can give very detailed information about how the system operates, for example, information about the disturbances that occur in the system, such as lack of raw materials, blockages or stoppages on a production line. Furthermore, it can also be used to identify bottlenecks to indicate where work in process, material, and information are being delayed. The energy systems optimization tool can provide the company management additional information for the type of investment studied. The tool is able to obtain more basic data for decision-making and thus also additional information for the production-related investment being studied. The use of the energy systems optimization tool as investment decision support when considering strategic investments for an industry with complex interactions between different production units seems greatly needed.
    [Show full text]
  • Computational Aspects of Infeasibility Analysis in Mixed Integer Programming
    Takustr. 7 Zuse Institute Berlin 14195 Berlin Germany JAKOB WITZIG TIMO BERTHOLD STEFAN HEINZ Computational Aspects of Infeasibility Analysis in Mixed Integer Programming ZIB Report 19-54 (November 2019) Zuse Institute Berlin Takustr. 7 14195 Berlin Germany Telephone: +49 30-84185-0 Telefax: +49 30-84185-125 E-mail: [email protected] URL: http://www.zib.de ZIB-Report (Print) ISSN 1438-0064 ZIB-Report (Internet) ISSN 2192-7782 Computational Aspects of Infeasibility Analysis in Mixed Integer Programming Jakob Witzig,1 Timo Berthold,2 and Stefan Heinz3 1Zuse Institute Berlin, Takustr. 7, 14195 Berlin, Germany [email protected] 2Fair Isaac Germany GmbH, Stubenwald-Allee 19, 64625 Bensheim, Germany [email protected] 3Gurobi GmbH, Ulmenstr. 37–39, 60325 Frankfurt am Main, Germany [email protected] November 6, 2019 Abstract The analysis of infeasible subproblems plays an important role in solv- ing mixed integer programs (MIPs) and is implemented in most major MIP solvers. There are two fundamentally different concepts to gener- ate valid global constraints from infeasible subproblems. The first is to analyze the sequence of implications, obtained by domain propagation, that led to infeasibility. The result of this analysis is one or more sets of contradicting variable bounds from which so-called conflict constraints can be generated. This concept is called conflict graph analysis and has its origin in solving satisfiability problems and is similarly used in con- straint programming. The second concept is to analyze infeasible linear programming (LP) relaxations. Every ray of the dual LP provides a set of multipliers that can be used to generate a single new globally valid linear constraint.
    [Show full text]
  • Optimization of the Algal Biomass to Biodiesel Supply Chain: Case Studies of the State of Oklahoma and the United States
    processes Article Optimization of the Algal Biomass to Biodiesel Supply Chain: Case Studies of the State of Oklahoma and the United States Soumya Yadala 1, Justin D. Smith 1, David Young 2, Daniel W. Crunkleton 1 and Selen Cremaschi 2,* 1 Russell School of Chemical Engineering, The University of Tulsa, Tulsa, OK 74104, USA; [email protected] (S.Y.); [email protected] (J.D.S.); [email protected] (D.W.C.) 2 Department of Chemical Engineering, Auburn University, Auburn, AL 36830, USA; [email protected] * Correspondence: [email protected] Received: 29 February 2020; Accepted: 15 April 2020; Published: 18 April 2020 Abstract: The goal of this work is to design a supply chain network that distributes algae biomass from supply locations to meet biodiesel demand at specified demand locations, given a specified algae species, cultivation (i.e., supply) locations, demand locations, and demand requirements. The final supply chain topology includes the optimum sites to grow biomass, to extract algal oil from the biomass, and to convert the algae oil into biodiesel. The objective is to minimize the overall cost of the supply chain, which includes production, operation, and transportation costs over a planning horizon of ten years. Algae production was modeled both within the U.S. State of Oklahoma, as well as the entire contiguous United States. The biodiesel production cost was estimated at $7.07 per U.S. gallon ($1.87 per liter) for the State of Oklahoma case. For the contiguous United States case, a lower bound on costs of $13.68 per U.S.
    [Show full text]