Combined Scheduling and Control
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). -
Click to Edit Master Title Style
Click to edit Master title style MINLP with Combined Interior Point and Active Set Methods Jose L. Mojica Adam D. Lewis John D. Hedengren Brigham Young University INFORM 2013, Minneapolis, MN Presentation Overview NLP Benchmarking Hock-Schittkowski Dynamic optimization Biological models Combining Interior Point and Active Set MINLP Benchmarking MacMINLP MINLP Model Predictive Control Chiller Thermal Energy Storage Unmanned Aerial Systems Future Developments Oct 9, 2013 APMonitor.com APOPT.com Brigham Young University Overview of Benchmark Testing NLP Benchmark Testing 1 1 2 3 3 min J (x, y,u) APOPT , BPOPT , IPOPT , SNOPT , MINOS x Problem characteristics: s.t. 0 f , x, y,u t Hock Schittkowski, Dynamic Opt, SBML 0 g(x, y,u) Nonlinear Programming (NLP) Differential Algebraic Equations (DAEs) 0 h(x, y,u) n m APMonitor Modeling Language x, y u MINLP Benchmark Testing min J (x, y,u, z) 1 1 2 APOPT , BPOPT , BONMIN x s.t. 0 f , x, y,u, z Problem characteristics: t MacMINLP, Industrial Test Set 0 g(x, y,u, z) Mixed Integer Nonlinear Programming (MINLP) 0 h(x, y,u, z) Mixed Integer Differential Algebraic Equations (MIDAEs) x, y n u m z m APMonitor & AMPL Modeling Language 1–APS, LLC 2–EPL, 3–SBS, Inc. Oct 9, 2013 APMonitor.com APOPT.com Brigham Young University NLP Benchmark – Summary (494) 100 90 80 APOPT+BPOPT APOPT 70 1.0 BPOPT 1.0 60 IPOPT 3.10 IPOPT 50 2.3 SNOPT Percentage (%) 6.1 40 Benchmark Results MINOS 494 Problems 5.5 30 20 10 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 Not worse than 2 times slower than -
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 -
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. -
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. -
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ó. -
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. -
GEKKO Documentation Release 1.0.1
GEKKO Documentation Release 1.0.1 Logan Beal, John Hedengren Aug 31, 2021 Contents 1 Overview 1 2 Installation 3 3 Project Support 5 4 Citing GEKKO 7 5 Contents 9 6 Overview of GEKKO 89 Index 91 i ii CHAPTER 1 Overview GEKKO is a Python package for machine learning and optimization of mixed-integer and differential algebraic equa- tions. It is coupled with large-scale solvers for linear, quadratic, nonlinear, and mixed integer programming (LP, QP, NLP, MILP, MINLP). Modes of operation include parameter regression, data reconciliation, real-time optimization, dynamic simulation, and nonlinear predictive control. GEKKO is an object-oriented Python library to facilitate local execution of APMonitor. More of the backend details are available at What does GEKKO do? and in the GEKKO Journal Article. Example applications are available to get started with GEKKO. 1 GEKKO Documentation, Release 1.0.1 2 Chapter 1. Overview CHAPTER 2 Installation A pip package is available: pip install gekko Use the —-user option to install if there is a permission error because Python is installed for all users and the account lacks administrative priviledge. The most recent version is 0.2. You can upgrade from the command line with the upgrade flag: pip install--upgrade gekko Another method is to install in a Jupyter notebook with !pip install gekko or with Python code, although this is not the preferred method: try: from pip import main as pipmain except: from pip._internal import main as pipmain pipmain(['install','gekko']) 3 GEKKO Documentation, Release 1.0.1 4 Chapter 2. Installation CHAPTER 3 Project Support There are GEKKO tutorials and documentation in: • GitHub Repository (examples folder) • Dynamic Optimization Course • APMonitor Documentation • GEKKO Documentation • 18 Example Applications with Videos For project specific help, search in the GEKKO topic tags on StackOverflow. -
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. -
A Case Study to Help You Think About Your Project
Wind Turbine Optimization a case study to help you think about your project Andrew Ning ME 575 Three broad areas of optimization (with some overlap) Convex Gradient-Based Gradient-Free Today we will focus on gradient-based, but for some projects the other areas are more important. In higher dimensional space, analytic gradients become increasingly important #iterations # design vars There is a difference between developing for analysis vs optimization Vy(1 + a0) plane of rotation φ V (1 a) W x − There is a difference between developing for analysis vs optimization Vy(1 + a0) plane of rotation φ V (1 a) W x − 1 a 2 C = − c σ0 CT =4a(1 a) T sin φ n − ✓ ◆ 2 1+a0 2 2 C = c σ0λ CQ =4a0(1 + a0) tan φλ Q cos φ t r r ✓ ◆ There is a difference between developing for analysis vs optimization Vy(1 + a0) plane of rotation φ V (1 a) W x − 1 1 a = 2 a0 = 4sin φ +1 4sinφ cos φ 1 cnσ0 ctσ0 − There is a difference between developing for analysis vs optimization use Parameters y use ProgGen Converg Skew correction use WTP_Data n CALL GetCoefs Declarations reset induction !Converg & Return Initialize induction vars < MaxIter CALL FindZC CALL NewtRaph reset induction Initial guess (AxInd / TanInd) n & y CALL NewtRaph MaxIter ZFound Converg CALL BinSearch < Converg ! y n AxIndLo = AxInd -1 n AxIndHi = AxInd +1 AxIndLo = -0.5 Converg AxIndHi = 0.6 CALL BinSearch y n Skew correction Converg AxIndLo = -1.0 CALL BinSearch AxIndHi = -0.4 y CALL GetCoefs n Converg AxIndLo = 0.59 CALL BinSearch AxIndHi = 2.5 Return y y Converg Skew correction CALL GetCoefs Return n AxIndLo = -1.0 CALL BinSearch AxIndHi = 2.5 y Converg Skew correction CALL GetCoefs Return n Return Sometimes a new solution approach is needed… Vy(1 + a0) plane of rotation φ Vx(1 a) W − sin φ V cos φ (φ)= x =0 R 1 a − V (1 + a ) − y 0 Sometimes a new solution approach is needed… Algorithm Avg.