Model-Based Optimization, Plain and Simple
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Using the COIN-OR Server
Using the COIN-OR Server Your CoinEasy Team November 16, 2009 1 1 Overview This document is part of the CoinEasy project. See projects.coin-or.org/CoinEasy. In this document we describe the options available to users of COIN-OR who are interested in solving opti- mization problems but do not wish to compile source code in order to build the COIN-OR projects. In particular, we show how the user can send optimization problems to a COIN-OR server and get the solution result back. The COIN-OR server, webdss.ise.ufl.edu, is 2x Intel(R) Xeon(TM) CPU 3.06GHz 512MiB L2 1024MiB L3, 2GiB DRAM, 4x73GiB scsi disk 2xGigE machine. This server allows the user to directly access the following COIN-OR optimization solvers: • Bonmin { a solver for mixed-integer nonlinear optimization • Cbc { a solver for mixed-integer linear programs • Clp { a linear programming solver • Couenne { a solver for mixed-integer nonlinear optimization problems and is capable of global optiomization • DyLP { a linear programming solver • Ipopt { an interior point nonlinear optimization solver • SYMPHONY { mixed integer linear solver that can be executed in either parallel (dis- tributed or shared memory) or sequential modes • Vol { a linear programming solver All of these solvers on the COIN-OR server may be accessed through either the GAMS or AMPL modeling languages. In Section 2.1 we describe how to use the solvers using the GAMS modeling language. In Section 2.2 we describe how to call the solvers using the AMPL modeling language. In Section 3 we describe how to call the solvers using a command line executable pro- gram OSSolverService.exe (or OSSolverService for Linux/Mac OS X users { in the rest of the document we refer to this executable using a .exe extension). -
Constraint Programming
Constraint Programming Mikael Z. Lagerkvist Tomologic October 2015 Mikael Z. Lagerkvist (Tomologic) Constraint Programming October 2015 1 / 42 [flickr.com/photos/santos/] Who am I? Mikael Zayenz Lagerkvist Basic education at KTH 2000-2005 I Datateknik PhD studies at KTH 2005-2010 I Research in constraint programming systems I One of three core developers for Gecode, fast and well-known Constraint Programming (CP) system. http://www.gecode.org Senior developer R&D at Tomologic I Optimization systems for sheet metal cutting I Constraint programming for some tasks Mikael Z. Lagerkvist (Tomologic) Constraint Programming October 2015 3 / 42 Mikael Z. Lagerkvist (Tomologic) Constraint Programming October 2015 4 / 42 Mikael Z. Lagerkvist (Tomologic) Constraint Programming October 2015 5 / 42 Tomologic Mostly custom algorithms and heuristics Part of system implemented using CP at one point I Laser Cutting Path Planning Using CP Principles and Practice of Constraint Programming 2013 M. Z. Lagerkvist, M. Nordkvist, M. Rattfeldt Some sub-problems solved using CP I Ordering problems with side constraints I Some covering problems Mikael Z. Lagerkvist (Tomologic) Constraint Programming October 2015 6 / 42 1 Introduction 2 Sudoku example 3 Solving Sudoku with CP 4 Constraint programming basics 5 Constraint programming in perspective Constraint programming evaluation Constraint programming alternatives 6 Summary Mikael Z. Lagerkvist (Tomologic) Constraint Programming October 2015 7 / 42 Sudoku - The Rules Each square gets one value between 1 and 9 Each row has all values different Each column has all values different Each square has all values different Mikael Z. Lagerkvist (Tomologic) Constraint Programming October 2015 7 / 42 Sudoku - Example 3 6 1 9 7 5 8 9 2 8 7 4 3 6 1 2 8 9 4 5 1 Mikael Z. -
Polyhedral Outer Approximations in Convex Mixed-Integer Nonlinear
Jan Kronqvist Polyhedral Outer Approximations in Polyhedral Outer Approximations in Convex Mixed-Integer Nonlinear Programming Approximations in Convex Polyhedral Outer Convex Mixed-Integer Nonlinear Programming Jan Kronqvist PhD Thesis in Process Design and Systems Engineering Dissertations published by Process Design and Systems Engineering ISSN 2489-7272 Faculty of Science and Engineering 978-952-12-3734-8 Åbo Akademi University 978-952-12-3735-5 (pdf) Painosalama Oy Åbo 2018 Åbo, Finland 2018 2018 Polyhedral Outer Approximations in Convex Mixed-Integer Nonlinear Programming Jan Kronqvist PhD Thesis in Process Design and Systems Engineering Faculty of Science and Engineering Åbo Akademi University Åbo, Finland 2018 Dissertations published by Process Design and Systems Engineering ISSN 2489-7272 978-952-12-3734-8 978-952-12-3735-5 (pdf) Painosalama Oy Åbo 2018 Preface My time as a PhD student began back in 2014 when I was given a position in the Opti- mization and Systems Engineering (OSE) group at Åbo Akademi University. It has been a great time, and many people have contributed to making these years a wonderful ex- perience. During these years, I was given the opportunity to teach several courses in both environmental engineering and process systems engineering. The opportunity to teach these courses has been a great experience for me. I want to express my greatest gratitude to my supervisors Prof. Tapio Westerlund and Docent Andreas Lundell. Tapio has been a true source of inspiration and a good friend during these years. Thanks to Tapio, I have been able to be a part of an inter- national research environment. -
Performance of Optimization Software - an Update
Performance of Optimization Software - an Update INFORMS Annual 2011 Charlotte, NC 13-18 November 2011 H. D. Mittelmann School of Math and Stat Sciences Arizona State University 1 Services we provide • Guide to Software: "Decision Tree" • http://plato.asu.edu/guide.html • Software Archive • Software Evaluation: "Benchmarks" • Archive of Testproblems • Web-based Solvers (1/3 of NEOS) 2 We maintain the following NEOS solvers (8 categories) Combinatorial Optimization * CONCORDE [TSP Input] Global Optimization * ICOS [AMPL Input] Linear Programming * bpmpd [AMPL Input][LP Input][MPS Input][QPS Input] Mixed Integer Linear Programming * FEASPUMP [AMPL Input][CPLEX Input][MPS Input] * SCIP [AMPL Input][CPLEX Input][MPS Input] [ZIMPL Input] * qsopt_ex [LP Input][MPS Input] [AMPL Input] Nondifferentiable Optimization * condor [AMPL Input] Semi-infinite Optimization * nsips [AMPL Input] Stochastic Linear Programming * bnbs [SMPS Input] * DDSIP [LP Input][MPS Input] 3 We maintain the following NEOS solvers (cont.) Semidefinite (and SOCP) Programming * csdp [MATLAB_BINARY Input][SPARSE_SDPA Input] * penbmi [MATLAB Input][MATLAB_BINARY Input] * pensdp [MATLAB_BINARY Input][SPARSE_SDPA Input] * sdpa [MATLAB_BINARY Input][SPARSE_SDPA Input] * sdplr [MATLAB_BINARY Input][SDPLR Input][SPARSE_SDPA Input] * sdpt3 [MATLAB_BINARY Input][SPARSE_SDPA Input] * sedumi [MATLAB_BINARY Input][SPARSE_SDPA Input] 4 Overview of Talk • Current and Selected(*) Benchmarks { Parallel LP benchmarks { MILP benchmark (MIPLIB2010) { Feasibility/Infeasibility Detection benchmarks -
A Stochastic Continuous Optimization Backend for Minizinc with Applications to Geometrical Placement Problems Thierry Martinez, François Fages, Abder Aggoun
A Stochastic Continuous Optimization Backend for MiniZinc with Applications to Geometrical Placement Problems Thierry Martinez, François Fages, Abder Aggoun To cite this version: Thierry Martinez, François Fages, Abder Aggoun. A Stochastic Continuous Optimization Backend for MiniZinc with Applications to Geometrical Placement Problems. Proceedings of the 13th International Conference on Integration of Artificial Intelligence and Operations Research Techniques in Constraint Programming, CPAIOR’16, May 2016, Banff, Canada. pp.262-278, 10.1007/978-3-319-33954-2_19. hal-01378468 HAL Id: hal-01378468 https://hal.archives-ouvertes.fr/hal-01378468 Submitted on 30 Nov 2016 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. A Stochastic Continuous Optimization Backend for MiniZinc with Applications to Geometrical Placement Problems Thierry Martinez1 and Fran¸cois Fages1 and Abder Aggoun2 1 Inria Paris-Rocquencourt, Team Lifeware, France 2 KLS-Optim, France Abstract. MiniZinc is a solver-independent constraint modeling lan- guage which is increasingly used in the constraint programming com- munity. It can be used to compare different solvers which are currently based on either Constraint Programming, Boolean satisfiability, Mixed Integer Linear Programming, and recently Local Search. In this paper we present a stochastic continuous optimization backend for MiniZinc mod- els over real numbers. -
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. -
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. -
Arxiv:1804.07332V1 [Math.OC] 19 Apr 2018
Juniper: An Open-Source Nonlinear Branch-and-Bound Solver in Julia Ole Kr¨oger,Carleton Coffrin, Hassan Hijazi, Harsha Nagarajan Los Alamos National Laboratory, Los Alamos, New Mexico, USA Abstract. Nonconvex mixed-integer nonlinear programs (MINLPs) rep- resent a challenging class of optimization problems that often arise in engineering and scientific applications. Because of nonconvexities, these programs are typically solved with global optimization algorithms, which have limited scalability. However, nonlinear branch-and-bound has re- cently been shown to be an effective heuristic for quickly finding high- quality solutions to large-scale nonconvex MINLPs, such as those arising in infrastructure network optimization. This work proposes Juniper, a Julia-based open-source solver for nonlinear branch-and-bound. Leverag- ing the high-level Julia programming language makes it easy to modify Juniper's algorithm and explore extensions, such as branching heuris- tics, feasibility pumps, and parallelization. Detailed numerical experi- ments demonstrate that the initial release of Juniper is comparable with other nonlinear branch-and-bound solvers, such as Bonmin, Minotaur, and Knitro, illustrating that Juniper provides a strong foundation for further exploration in utilizing nonlinear branch-and-bound algorithms as heuristics for nonconvex MINLPs. 1 Introduction Many of the optimization problems arising in engineering and scientific disci- plines combine both nonlinear equations and discrete decision variables. Notable examples include the blending/pooling problem [1,2] and the design and opera- tion of power networks [3,4,5] and natural gas networks [6]. All of these problems fall into the class of mixed-integer nonlinear programs (MINLPs), namely, minimize: f(x; y) s.t. -
Introduction to the COIN-OR Optimization Suite
The COIN-OR Optimization Suite: Algegraic Modeling Ted Ralphs COIN fORgery: Developing Open Source Tools for OR Institute for Mathematics and Its Applications, Minneapolis, MN T.K. Ralphs (Lehigh University) COIN-OR October 15, 2018 Outline 1 Introduction 2 Solver Studio 3 Traditional Modeling Environments 4 Python-Based Modeling 5 Comparative Case Studies T.K. Ralphs (Lehigh University) COIN-OR October 15, 2018 Outline 1 Introduction 2 Solver Studio 3 Traditional Modeling Environments 4 Python-Based Modeling 5 Comparative Case Studies T.K. Ralphs (Lehigh University) COIN-OR October 15, 2018 Algebraic Modeling Languages Generally speaking, we follow a four-step process in modeling. Develop an abstract model. Populate the model with data. Solve the model. Analyze the results. These four steps generally involve different pieces of software working in concert. For mathematical programs, the modeling is often done with an algebraic modeling system. Data can be obtained from a wide range of sources, including spreadsheets. Solution of the model is usually relegated to specialized software, depending on the type of model. T.K. Ralphs (Lehigh University) COIN-OR October 15, 2018 Modeling Software Most existing modeling software can be used with COIN solvers. Commercial Systems GAMS MPL AMPL AIMMS Python-based Open Source Modeling Languages and Interfaces Pyomo PuLP/Dippy CyLP (provides API-level interface) yaposib T.K. Ralphs (Lehigh University) COIN-OR October 15, 2018 Modeling Software (cont’d) Other Front Ends (mostly open source) FLOPC++ (algebraic modeling in C++) CMPL MathProg.jl (modeling language built in Julia) GMPL (open-source AMPL clone) ZMPL (stand-alone parser) SolverStudio (spreadsheet plug-in: www.OpenSolver.org) Open Office spreadsheet R (RSymphony Plug-in) Matlab (OPTI) Mathematica T.K. -
Estimating Parallel Runtimes for Randomized Algorithms in Constraint Solving Charlotte Truchet, Alejandro Arbelaez, Florian Richoux, Philippe Codognet
Estimating parallel runtimes for randomized algorithms in constraint solving Charlotte Truchet, Alejandro Arbelaez, Florian Richoux, Philippe Codognet To cite this version: Charlotte Truchet, Alejandro Arbelaez, Florian Richoux, Philippe Codognet. Estimating par- allel runtimes for randomized algorithms in constraint solving. Journal of Heuristics, Springer Verlag, 2015, pp.1-36. <10.1007/s10732-015-9292-3>. <hal-01248168> HAL Id: hal-01248168 https://hal.archives-ouvertes.fr/hal-01248168 Submitted on 24 Dec 2015 HAL is a multi-disciplinary open access L'archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destin´eeau d´ep^otet `ala diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publi´esou non, lished or not. The documents may come from ´emanant des ´etablissements d'enseignement et de teaching and research institutions in France or recherche fran¸caisou ´etrangers,des laboratoires abroad, or from public or private research centers. publics ou priv´es. Journal of Heuristics manuscript No. (will be inserted by the editor) Estimating Parallel Runtimes for Randomized Algorithms in Constraint Solving Charlotte Truchet · Alejandro Arbelaez · Florian Richoux · Philippe Codognet the date of receipt and acceptance should be inserted later Abstract This paper presents a detailed analysis of the scalability and par- allelization of Local Search algorithms for constraint-based and SAT (Boolean satisfiability) solvers. We propose a framework to estimate the parallel perfor- mance of a given algorithm by analyzing the runtime behavior of its sequential version. Indeed, by approximating the runtime distribution of the sequential process with statistical methods, the runtime behavior of the parallel process can be predicted by a model based on order statistics. -
Aggregation and Garbage Collection for Online Optimization⋆
Aggregation and Garbage Collection for Online Optimization? Alexander Ek1;2[0000−0002−8744−4805], Maria Garcia de la Banda1[0000−0002−6666−514X], Andreas Schutt2[0000−0001−5452−4086], Peter J. Stuckey1;2[0000−0003−2186−0459], and Guido Tack1;2[0000−0003−2186−0459] 1 Monash University, Australia fAlexander.Ek,Maria.GarciadelaBanda,Peter.Stuckey,[email protected] 2 Data61, CSIRO, Australia [email protected] Abstract Online optimization approaches are popular for solving op- timization problems where not all data is considered at once, because it is computationally prohibitive, or because new data arrives in an on- going fashion. Online approaches solve the problem iteratively, with the amount of data growing in each iteration. Over time, many problem variables progressively become realized, i.e., their values were fixed in the past iterations and they can no longer affect the solution. If the solv- ing approach does not remove these realized variables and associated data and simplify the corresponding constraints, solving performance will slow down significantly over time. Unfortunately, simply removing realized variables can be incorrect, as they might affect unrealized de- cisions. This is why this complex task is currently performed manually in a problem-specific and time-consuming way. We propose a problem- independent framework to identify realized data and decisions, and re- move them by summarizing their effect on future iterations in a compact way. The result is a substantially improved model performance. 1 Introduction Online optimization tackles the solving of problems that evolve over time. In online optimization problems, in some areas also called dynamic or reactive, the set of input data is only partially known a priori and new data, such as new customers and/or updated travel times in a dynamic vehicle routing problem, continuously or periodically arrive while the current solution is executed. -
Couenne: a User's Manual
couenne: a user’s manual Pietro Belotti⋆ Dept. of Mathematical Sciences, Clemson University Clemson SC 29634. Abstract. This is a short user’s manual for the couenne open-source software for global optimization. It provides downloading and installation instructions, an explanation to all options available in couenne, and suggestions on when to use some of its features. 1 Introduction couenne is an Open Source code for solving Global Optimization problems, i.e., problems of the form (P) min f(x) s.t. gj(x) ≤ 0 ∀j ∈ M l u xi ≤ xi ≤ xi ∀i ∈ N0 Z I xi ∈ ∀i ∈ N0 ⊆ N0, n n where f : R → R and, for all j ∈ M, gj : R → R are multivariate (possibly nonconvex) functions, n = |N0| is the number of variables, and x = (xi)i∈N0 is the n-vector of variables. We assume that f and all gj’s are factorable, i.e., they are expressed as Ph Qk ηhk(x), where all functions ηhk(x) are univariate. couenne is part of the COIN-OR infrastructure for Operations Research software1. It is a reformulation-based spatial branch&bound (sBB) [10,11,12], and it implements: – linearization; – branching; – heuristics to find feasible solutions; – bound reduction. Its main purpose is to provide the Optimization community with an Open- Source tool that can be specialized to handle specific classes of MINLP problems, or improved by adding more efficient linearization, branching, heuristic, and bound reduction techniques. ⋆ Email: [email protected] 1 See http://www.coin-or.org Web resources. The homepage of couenne is on the COIN-OR website: http://www.coin-or.org/Couenne and shows a brief description of couenne and some useful links.