Jcbc: Calsim and Callite Solver

Total Page:16

File Type:pdf, Size:1020Kb

Jcbc: Calsim and Callite Solver jCbc an open source LP/MILP solver for CalSim/CalLite* ZHAOJUN BAI WITH B. MOAZZEZ, M. GHAMKHARI, M. KOEPPE (UC DAVIS) J. AS-SALEK (USBR), AND T. KADIR, K. KAO, P. SANDHU. S. SENEVIRATNE (DWR) * SUPPORTED BY USBR GRANT R13AC20028 Outline I. Introduction II. jCbc III. Performance analysis IV. Recap and additional info I. Introduction Mixed Integer Linear Programming (MILP) min 푐푇푥 푆. 푡. 퐴푥 ⋚ 푏 푙 ≤ 푥 ≤ 푢 푥푖 ∈ ℤ 푓표푟 푖 ∈ 퐼 where 퐼 is a subset of variable indices and 푙 and 푢 can be ±∞. I. Introduction 1) jCbc is a Java Native Interface for COIN OR solvers Cbc for MILP and Clp for LP, with modifications and new capabilities added. 2) jCbc is open source with LGPL license. 3) jCbc is developed for CalSim and CalLite applications, but can also be used independently I. Introduction .Cbc (Coin-or branch and cut): an open-source MILP solver, and is written in C++. .Coin OR = Computational Infrastructure for Operations Research: including tools for linear programming, nonlinear programming, integer programming, algebraic modeling languages and more. .COIN-OR is run by an educational non-profit foundation. II. jCbc .jCbc is Java Native Interface (JNI) for Coin OR Cbc .jCbc is currently available for download https://github.com/JNICbc/jCbc .jCbc version 1.0 is scheduled in the summer of 2017. II. jCbc Contents of jCbC package: 1. manual.pdf 2. jCbc.dll : the library that should be loaded into the Java code (jCbc.so for Lunux) 3. jCbc.i : SWIG input file 4. jCbc.cpp: source file 5. jCbc-wrap.cxx : object file for swig 6. /src : source file folder 7. /example : exemples in Java 8. /include : Header files 9. make : make file to compile jCb II. jCbc Supported platforms: .Windows 64 bit with MinGW 64 bit compiler, MSYS, SWIG .Linux 64 bit with GNU g++ compiler, SWIG To be supported platforms: .Windows 32 bit with Intel and MinGW 32 bit compilers, MSYS, SWIG .Windows 64 bit with Intel compiler II. jCbc Extended Functionalities ◦ Solve_whs: when a warm start solution is provided. Uses ClpPresolve ◦ Solve_2: if no warm start solution is provided. Uses CglPreprocessing ◦ Solve_3: uses ClpPresolve ◦ Solve_unified ◦ Par_solve II. jCbc Synergistic effort : .Calsim models are serial: construction of model each model depends Warm on the solution from a start Solve_whs Optimal? previous model plus solution some data from user and/or database. Solve_2 Optimal? .Warm start made it a lot faster Solve_2 Optimal? primalT 1e-4 II. jCbc Warm Start solver Stop, report infeasible Stop, report infeasible warm start solution No No Yes Make a LP Yes Branch and Bound + cutting Feasible? warm start Successful? planes on pre-solved model Model pre-solve solution with warm start Initial Solution Yes Stop Optimal? (Integer) No Apply another solver II. jCbc Optimal tuning ◦ CglPreprocessing or ClpPresolve ◦ Cutting planes in all nodes or only at root ◦ Which heuristics to use Optimal tolerances ◦ integerT = 1e-9 ◦ primalT = 1e-9 or 1e-8, depending on the solve function III. Performance analysis jCbc is ready to use as a substitute of XA. Case studies: Scenarios 1_DCR2015_Base 2_DCR2015_ELT 3_DCR2015_ECHO 4_DCR2015_ECLO 5_DCR2015_Alt4_H3 test_02_CalLite_3.0Final_20141023_default test_03_CS3A2010Existing test_05_CS3LOD2010_R374SG2 III. Performance analysis CalSim/CalLite running time is divided into three categories: ◦ WRIMS processes time ◦ Model construction time ◦ Solve time III. Performance analysis Case I: LP time comparison Configuration WRIMS Initial processes (sec) Solve time (sec) XA JNI r215 56 1296 CBC JNI solve_2 r236 52 1293 III. Performance analysis Case II: MILP time comparison -- construction time jCbc vs XA model construction time 1921-1930 jCbc vs XA model construction time 1921-2003 III. Performance analysis Case II: MILP time comparison -- solve time Scenario WRIMS XA jCbc XA total jCbc ratio time + solve solve time total constr. time time time 2_DCR2015_ELT 20 4 9 24 29 1.2 3_DCR2015_ECHO 21 4 10 25 31 1.24 4_DCR2015_ECLO 21 4 10 25 31 1.24 5_DCR2015_Alt4_H3 20 7 12 27 32 1.18 test_03_CS3A2010Existing 55 13 26 68 81 1.19 test_06_CS3_Existing_v3120 59 14 38 73 97 1.32 III. Performance analysis 64 bit WRIMS: jCbc is faster than XA (preliminary data) total time (sec) XA 3200 jCbc 2900 III. Performance analysis jCbc has shown two major benefits over XA. 1. There are studies where XA returns suboptimal solutions Model name Gurobi jCbc XA test_06_045_HadGEM2-ES_r3 -1.2077986245487712E11 -1.2077986245488326E11 -1.7039344157572023E10 i1p1_rcp85+2000_03_c07 test_06_045_HadGEM2- -1.2077777688889745E11 -1.2077777688890361E11 -1.7039344157572023E10 ES_r3i1p1_rcp85+2000_03_c08 test_06_045_HadGEM2- -1.2076934346746957E11 -1.2076934346747577E11 -1.7039344157572023E10 ES_r3i1p1_rcp85+2000_03_c11 test_06_045_HadGEM2- -1.2076827030808171E11 -1.2076827030808788E11 -1.535608722178062E10 ES_r3i1p1_rcp85+2000_03_c13 More in Mahdi’s talk III. Performance analysis 2. XA is not capable of solving any of ``MIPLIB 2003 and 2013’’ instances, but jCbc solves them successfully. 1 thread CBC CPLEX GUROBI SCIPC SCIPS XPRESS MATLAB MIPCL unscal 1925 86 74 416 642 93 3416 641 scaled 26 1.16 1 5.63 8.68 1.25 46.2 8.68 solved 48 86 86 75 70 86 25 65 4 threads CBC CPLEX FSCIPC FSCIPS GUROBI XPRESS MIPCL unscal 1053 46 339 641 39 49 396 scaled 27.4 1.19 8.82 17 1 1.28 10.3 solved 61 86 75 69 87 86 74 12 threads CBC CPLEX FSCIPC FSCIPS GUROBI XPRESS MIPCL unscal 615 41 327 511 37 44 336 scaled 17 1.11 8.85 14 1 1.2 8.85 solved 69 87 74 70 87 86 76 Recap 1. jCbc is an open-source LP/MILP solver 2. https://github.com/JNICbc/jCbc 3. jCbc has more tuning options 4. Coin OR Cbc is an active project 5. Additional info, Mahdi’s talk Thank You Additional Info Outline for additional info 1. Water Resource Allocation in CalSim- MILP Modeling Aspects 2. Mixed Integer Linear Programming- Mathematics Aspects 3. Solvers for MILP – Essential Components 4. Why We Choose Cbc as the underlying solver 5. Programming Challenges in Developing jCbc for CalSim Water Resource Allocation in CalSim The CalSim model represents water resource systems, consisting of reservoirs and channels as a network of nodes and arcs. Water Resource Allocation in CalSim Nodes in the network may represent reservoirs, groundwater basins, junction points of two or more flows, or simply a point of interest on a channel. Arcs represent water flows between nodes, or out of the system, and may be inflows, channel flows, return flows, or diversions. The mathematical formulation used in the CalSim model consists of a linear objective function and a set of linear constraints. constraint set describes the physical and operational limitations toward achieving the objective. CalSim maximizes the objective function in each time period to obtain an optimal solution that satisfies all constraints. Priority weights assigned to variables in the objective function describe the relative importance of particular variables in the system operation. Decision and State Variables Decision variables represent the choices available to the LP modelers for storing water in or routing water through arcs. Weights on the decision variables encourage or discourage the router to allocate water to the specified variables State variables in CalSim describe the state of the system at the beginning of any time period. State variables have known constant values for the upcoming period and can be thought of as the information available to planner/operator prior to any system operation. Constraints To insure that mass balance is maintained at each node, continuity equations serve as constraints at these locations. In general, inflow minus outflow must equal change in storage. 푡 푡−1 퐼 + 퐷 + 퐶 + 푅 − 퐷 + 퐶 + 퐸 + 퐹 = 푆푖 − 푆푖 푖푛 표푢푡 Storage zones are specified for each reservoir or ground water basin representing volumes between physical and operational levels. The zones are weighted and dynamically bounded to insure proper filling of the reservoir, meeting target storage levels, and minimizing encroachment in the flood pool. In general the zones are bounded as 0 ≤ 푆푖푗 ≤ 푆푖푙푒푣푒푙푗 − 푆푖푙푒푣푒푙푗−1 Constraints: Storage Zones Storage zones are specified for each reservoir or ground water basin representing volumes between physical and operational levels. 0 ≤ 푆푖푗 ≤ 푆푖푙푒푣푒푙푗 − 푆푖푙푒푣푒푙푗−1. The total storage must be the sum of the individual zones, 푛푧표푛푒푠 푆푖 = 푆푖푗 . 푗=1 Constraints: Channel Capacity Constraints Channel constraints represent the physical maximum carrying capacity of the channel and the absolute minimum channel flow. 퐶푖푚푖푛 ≤ 퐶푖 ≤ 퐶푖푚푎푥 A minimum instream flow is formulated in CalSim by splitting the channel arc into zones and weighting and bounding one zone to the minimum flow target 0 ≤ 퐶푖푗 ≤ 푚푖푛 푓푙표푤푖 sum of all zones must be equal to the total arc 푛푧표푛푒푧 퐶푖 = 푆푖푗 . 푗=1 Soft Constraints Some operational and institutional constraints may be best modeled as a goal minimizing the deviation between a decision variable and its’ target value. Balancing storage in two parallel reservoirs is a good example of this goal programming technique. Each reservoir must meet the immediate downstream demands, but there may be demands and minimum flows further downstream that could be satisfied by either reservoir. The constraint can be stated as “Given the choice between releases from Reservoir A or from Reservoir B to meet the shared Demand C, establish releases such that the resulting storages in A and B are the same”. Constraints such as these are termed “soft constraints” because they may be violated when other system constraints do not allow the goal to be achieved. These constraints are internally reformulated by CalSim by the introduction of auxiliary variables. Soft Constraints vs Hard Constraints A “hard” constraint forcing the two decision variables equal may be: 푆퐴 − 푆퐵 = 0 Reformulating the constraint to allow for potential violation (both positive and negative violation) would result in − + 푆퐴 − 푆퐵 + 푥 − 푥 = 0. Two new positive auxiliary variables have been Introduced to relax the constraint.
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]
  • 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]
  • Notes 1: Introduction to Optimization Models
    Notes 1: Introduction to Optimization Models IND E 599 September 29, 2010 IND E 599 Notes 1 Slide 1 Course Objectives I Survey of optimization models and formulations, with focus on modeling, not on algorithms I Include a variety of applications, such as, industrial, mechanical, civil and electrical engineering, financial optimization models, health care systems, environmental ecology, and forestry I Include many types of optimization models, such as, linear programming, integer programming, quadratic assignment problem, nonlinear convex problems and black-box models I Include many common formulations, such as, facility location, vehicle routing, job shop scheduling, flow shop scheduling, production scheduling (min make span, min max lateness), knapsack/multi-knapsack, traveling salesman, capacitated assignment problem, set covering/packing, network flow, shortest path, and max flow. IND E 599 Notes 1 Slide 2 Tentative Topics Each topic is an introduction to what could be a complete course: 1. basic linear models (LP) with sensitivity analysis 2. integer models (IP), such as the assignment problem, knapsack problem and the traveling salesman problem 3. mixed integer formulations 4. quadratic assignment problems 5. include uncertainty with chance-constraints, stochastic programming scenario-based formulations, and robust optimization 6. multi-objective formulations 7. nonlinear formulations, as often found in engineering design 8. brief introduction to constraint logic programming 9. brief introduction to dynamic programming IND E 599 Notes 1 Slide 3 Computer Software I Catalyst Tools (https://catalyst.uw.edu/) I AIMMS - optimization software (http://www.aimms.com/) Ming Fang - AIMMS software consultant IND E 599 Notes 1 Slide 4 What is Mathematical Programming? Mathematical programming refers to \programming" as a \planning" activity: as in I linear programming (LP) I integer programming (IP) I mixed integer linear programming (MILP) I non-linear programming (NLP) \Optimization" is becoming more common, e.g.
    [Show full text]
  • Treball (1.484Mb)
    Treball Final de Màster MÀSTER EN ENGINYERIA INFORMÀTICA Escola Politècnica Superior Universitat de Lleida Mòdul d’Optimització per a Recursos del Transport Adrià Vall-llaura Salas Tutors: Antonio Llubes, Josep Lluís Lérida Data: Juny 2017 Pròleg Aquest projecte s’ha desenvolupat per donar solució a un problema de l’ordre del dia d’una empresa de transports. Es basa en el disseny i implementació d’un model matemàtic que ha de permetre optimitzar i automatitzar el sistema de planificació de viatges de l’empresa. Per tal de poder implementar l’algoritme s’han hagut de crear diversos mòduls que extreuen les dades del sistema ERP, les tracten, les envien a un servei web (REST) i aquest retorna un emparellament òptim entre els vehicles de l’empresa i les ordres dels clients. La primera fase del projecte, la teòrica, ha estat llarga en comparació amb les altres. En aquesta fase s’ha estudiat l’estat de l’art en la matèria i s’han repassat molts dels models més importants relacionats amb el transport per comprendre’n les seves particularitats. Amb els conceptes ben estudiats, s’ha procedit a desenvolupar un nou model matemàtic adaptat a les necessitats de la lògica de negoci de l’empresa de transports objecte d’aquest treball. Posteriorment s’ha passat a la fase d’implementació dels mòduls. En aquesta fase m’he trobat amb diferents limitacions tecnològiques degudes a l’antiguitat de l’ERP i a l’ús del sistema operatiu Windows. També han sorgit diferents problemes de rendiment que m’han fet redissenyar l’extracció de dades de l’ERP, el càlcul de distàncies i el mòdul d’optimització.
    [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]
  • Introduction to Economics
    Introduction to CPLEX 1.0 Overview There are a number of commercial grade LP solvers available. Wikipedia gives a decent summary at https://en.wikipedia.org/wiki/List_of_optimization_software. Some very convenient solvers for many students include those with Excel and Matlab. The standard one that comes with Excel uses a basic implementation of the primal Simplex method; however, it is limited to 200 decision variables. To use it, the Solver add-in must be included (not installed by default). To add this facility you need to carry out the following steps: 1. Select the menu option File Options 2. Click “Add-ins” and then in the Manage box, select “Solver add-in” and then click “OK” On clicking OK, you will then be able to access the Solver option from the Analysis group of the Data tab. If you want to see how to use it, using the LP example we have been working on, click on http://www.economicsnetwork.ac.uk/cheer/ch9_3/ch9_3p07.htm. You can also buy commercial add-ons that significantly improve the power of Excel as an LP solver. For example, see http://www.solver.com/. 1 Matlab also has a very easy to use solver. And there is an add-on for Matlab, called Tomlab, which significantly increases the solver’s capabilities, and we have it at ISU if you want to use it. See http://tomopt.com/tomlab/about/ for more details about Tomlab. There are various commercial solvers today, including, for example, CPLEX, Gurobi, XPRESS, MOSEK, and LINDO. There are some lesser-known solvers that provide particularly effective means of decomposition, including ADMM and DSP.
    [Show full text]