CBC Command Line Interface

Total Page:16

File Type:pdf, Size:1020Kb

CBC Command Line Interface CBC : COIN-OR Branch-and-Cut A Short Guide to the CBC Command Line Interface Prof. Haroldo Gambini Santos www.decom.ufop.br/haroldo/ Uni ersidade !ederal de Ouro Preto !ebruar# $%&' Contents & . Before we start........................................................................................................................... $ $ . Quic) start................................................................................................................................. * * . +erminal Output........................................................................................................................ , , . +unnin-...................................................................................................................................... ,.& Pre/processin- and root node................................................................................................. ,.$ Linear Pro-rammin- 0ela1ation...........................................................................................' ,.* Branch/and/bound................................................................................................................' ,., Cut Generation.....................................................................................................................2 ,.3 Heuristics............................................................................................................................&% ,.. Limits and +olerances.........................................................................................................&$ 3 . 0eferences................................................................................................................................. &, & 1 . Before we start +his -uide is intend to show the basic usa-e and tunin- of CBC4 the COI5/"0 Branch/and/cut standalone e1ecutable which is called b# the command line. If #ou do not ha e it installed in #our computer #ou -rab its sources accessin- the pro6ect pa-e4 https4//pro6ects.coin/or.or-/Cbc/ or7 more easil#7 installin- one of the pre/built pac)a-es a ailable for #our computin- platform at: http4//www.coin/or.or-/download/binar#/CoinAll/ in a pac)a-e includin- se eral other COI5 components. Althou-h a basic )nowled-e of Inte-er Pro-rammin- is assumed7 concepts are brie8# e1plained whene er it is possible. C09:ITS4 a lar-e part of the content of this -uide was obtained from the CBC ad anced command line help which #ou can access b# t#pin- ;verbose 15” followed b# ;<=> in the CBC interacti e mode. +han)s also to the nice fol)s at cbc?list.coin/or.or-. $ 2 . Quic) start If #ou installed CBC7 #ou can open a shell& and t#pe4 cbc air03.lp solve solu sol.txt to load problem air%*.lp$7 sol e it and sa e the best solution in a @le named sol.txt. An e1ample of a customiAed CBC e1ecution is -i en bellow. In this case7 the parameter cuts recei es alue Off and the parameter passF recei es alue 100 before the be-innin- of the solution process4 cbc air04.lp cuts off passF 100 solve solu sol.txt B# callin- onl# CBC without parameters #ou will enter in interacti e mode. Welcome to the CBC MILP Solver Version: 2.9.8 Build Date: May 6 2016 Revision Number: 2277 CoinSolver takes input from arguments ( - switches to stdin) Enter ? for list of commands or help Coin: +o sol e air%,.lp as we did before in interacti e mode #ou can enter the followin- commands4 Coin: import air03.lp Coin: solve Coin: solu sol.txt & +erminal in Linu17 Command Prompt in Windows $ Can be downloaded from http4//-oo.-l/d lCnD * 3 . +erminal Output +o sol e #our problem cbc uses a ;ba- of tric)s=. It has to d#namicall# decide how much processin- power will be used in different al-orithms/search strate-ies. +o )eep #ou informed of the successes (or failuresG of these attempts it continuall# prints messa-es containin- details about the current search status. Understandin- these messa-es is a )e# step to pinpoint which are the main diHculties in sol in- #our problem. Once #ou ha e this information in #our hands #ou can start to tune cbc so that it will perform better considerin- the t#pe of problem #ou are wor)in- on. Welcome to the CBC MILP Solver Version: 2.9.8 command line - cbc air03.lp solve solu sol.txt (default strategy 1) 1 Continuous objective value is 338864 - 0.05 seconds Cgl0003I 0 fixed, 0 tightened bounds, 0 strengthened rows, 4 substitutions 2 Cgl0004I processed model has 120 rows, 8456 columns (8456 integer) and 71651 elements Cutoff increment increased from 1e-05 to 1.9999 3 Cbc0038I Pass 1: suminf. 8.33333 (22) obj. 341524 iterations 106 Cbc0038I Pass 2: suminf. 8.33333 (22) obj. 341524 iterations 3 Cbc0038I Pass 3: suminf. 8.33333 (22) obj. 341524 iterations 70 Cbc0038I Pass 4: suminf. 7.20000 (20) obj. 342390 iterations 75 Cbc0038I Pass 5: suminf. 1.50000 (3) obj. 343697 iterations 45 Cbc0038I Pass 6: suminf. 1.50000 (3) obj. 343697 iterations 55 ... Cbc0038I Pass 12: suminf. 0.00000 (0) obj. 362176 iterations 144 Cbc0038I Solution found of 362176 ... Iessa-e & indicates that CBC successfull# sol ed the linear pro-rammin- rela1ation of #our problem. +he ob6ecti e alue of this solution pro ides a dual bound F338864G7 which is an optimistic estimate for the optimal solution cost. Iessa-e $ informs that pre/processin- has @nished. Ideall#7 after that step #ou will ha e a smaller problem with a better formulation. Iessa-e * and all messa-es startin- with Cbc0038I7 indicate that cbc is searchin- for an initial inte-er feasible solution usin- the !easibilit# Pump FI. !ischetti7 Glo er7 J Lodi7 $%%3G method. After twel e passes7 it has found a solution with cost 362176. Be now ha e a alid solution for the problem and alid bounds for the optimal solution alue4 [338864,362176]. +he performance of CBC will alwa#s depend on how close are these bounds. A special attention should be -i en to messa-es indicatin- the pro-resses in ti-htenin- these bounds7 which will be discussed in the ne1t para-raphs. ... Cbc0038I Full problem 120 rows 8456 columns, reduced to 0 rows 0 columns 4 Cbc0012I Integer solution of 340160 found by DiveCoefficient after 14 iterations and 0 n odes (0.97 seconds) ... Cbc0031I 5 added rows had average density of 390.8 5 Cbc0013I At root node, 5 cuts changed objective from 338864.25 to 340160 in 2 passes , Cbc0014I Cut generator 0 (Probing) - 0 row cuts average 0.0 elements, 160 column cuts (160 active) in 0.840 seconds - new frequency is 1 Cbc0014I Cut generator 1 (Gomory) - 4 row cuts average 1257.2 elements, 0 column cuts (3 active) in 0.020 seconds - new frequency is -100 Cbc0014I Cut generator 2 (Knapsack) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.020 seconds - new frequency is -100 Cbc0014I Cut generator 3 (Clique) - 10 row cuts average 3.7 elements, 0 column cuts (0 active) in 0.000 seconds - new frequency is 1 Cbc0014I Cut generator 6 (TwoMirCuts) - 0 row cuts average 0.0 elements, 0 column cuts (0 active) in 0.030 seconds - new frequency is -100 ... 6 Result - Finished objective 340160 after 0 nodes and 11 iterations - took 4.75 seconds (total time 5.06) Total time 5.14 Iessa-e , indicates the success of the DiveCoefficient heuristic in @ndin- a better feasible solution. Be now ha e ti-hter bounds4 [338864,340160]. Iessa-es startin- at 3 contain details of the pro-ress achie ed in impro in- the dual bound b# -eneratin- a series of cuts remo in- fractional solutions. In this case * cuts suHce to close the -ap and produce the best possible dual bound4 *,%&.%. Be>re now sure that the pre iousl# found solution is the optimal one. Last messa-es of this lo- inform how each one of the acti e cbc cut -enerators performed. B# these messa-es we can obser e that onl# CliKue and Gomor#(Gomory, 1958) cuts where useful. Gomor# cuts7 as usual7 produced cuts which are much denser. !inall#7 Iessa-e . announces the end of the search7 which too) onl# 3 seconds. In this problem7 cbc performed noticeabl# well4 a -ood feasible solution and a -ood dual bound were obtained at the root node7 so that no further e1ploration in the branch/and/bound tree was needed. ... 7 Cbc0010I After 200 nodes, 46 on tree, 56212 best solution, best possible 55800.3 (148.79 seconds) Cbc0016I Integer solution of 56174 found by strong branching after 116654 iterations and 263 nodes (152.34 seconds) Cbc0038I Full problem 615 rows 7673 columns, reduced to 109 rows 110 columns 8 Cbc0012I Integer solution of 56138 found by RINS after 124176 iterations and 300 nodes (156.76 seconds) Cbc0038I Full problem 615 rows 7673 columns, reduced to 1 rows 2 columns Cbc0010I After 300 nodes, 43 on tree, 56138 best solution, best possible 55805.8 (156.94 seconds) Cbc0038I Full problem 615 rows 7673 columns, reduced to 142 rows 143 columns Cbc0010I After 400 nodes, 55 on tree, 56138 best solution, best possible 55863.5 (166.19 seconds) ... Iessa-e ' shows the resolution of a harder problem. !or this problem (air%,G7 the search ad anced in the Branch/and/bound tree. !reKuent messa-es indicate how man# nodes were e1plored and how man# nodes still open and need to be e1plored. Bhene er a new inte-er solution is found FIessa-e 2G7 information about its cost and which method found it is printed. 3 4 . +unnin- +o modif# cbc default settin-s7 we can specif# options before @nall# call the sol e command. A command line can include as man# options as #ou want, in the format: cbc air04.lp ... option1 parameter 1 option2 ... solve solu sol.txt 5e1t subsection will brie8# present some of the most inportant cbc options and parameters which can impact the search process. Options are presented in the followin- wa#4 ShortName : DataType : DefaultValue : LongName where ShortName indicates the abbre iation necessar# to specif# the optionL :ata+#pe indicates if the parameter is an inte-er7 double or strin- parameterL default alue indicates the alue which is automaticall# selected on cbc startup and @nall#7 Lon-5ame indicates the full parameter name. ,.& Pre-processin- and root node Presolve : String : On : Presolve Presol e tries to remo e redundant constraints and to detect ti-hter bounds for ariables to ma)e the problem simpler. Pret : Integer : 1e-8 : PreToleran e Use lar-er alues Fe.-. &e/') if #our problem is feasible but presol e is declarin- it infeasible.
Recommended publications
  • 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]
  • Solving Mixed Integer Linear and Nonlinear Problems Using the SCIP Optimization Suite
    Takustraße 7 Konrad-Zuse-Zentrum D-14195 Berlin-Dahlem fur¨ Informationstechnik Berlin Germany TIMO BERTHOLD GERALD GAMRATH AMBROS M. GLEIXNER STEFAN HEINZ THORSTEN KOCH YUJI SHINANO Solving mixed integer linear and nonlinear problems using the SCIP Optimization Suite Supported by the DFG Research Center MATHEON Mathematics for key technologies in Berlin. ZIB-Report 12-27 (July 2012) Herausgegeben vom Konrad-Zuse-Zentrum f¨urInformationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Telefon: 030-84185-0 Telefax: 030-84185-125 e-mail: [email protected] URL: http://www.zib.de ZIB-Report (Print) ISSN 1438-0064 ZIB-Report (Internet) ISSN 2192-7782 Solving mixed integer linear and nonlinear problems using the SCIP Optimization Suite∗ Timo Berthold Gerald Gamrath Ambros M. Gleixner Stefan Heinz Thorsten Koch Yuji Shinano Zuse Institute Berlin, Takustr. 7, 14195 Berlin, Germany, fberthold,gamrath,gleixner,heinz,koch,[email protected] July 31, 2012 Abstract This paper introduces the SCIP Optimization Suite and discusses the ca- pabilities of its three components: the modeling language Zimpl, the linear programming solver SoPlex, and the constraint integer programming frame- work SCIP. We explain how these can be used in concert to model and solve challenging mixed integer linear and nonlinear optimization problems. SCIP is currently one of the fastest non-commercial MIP and MINLP solvers. We demonstrate the usage of Zimpl, SCIP, and SoPlex by selected examples, give an overview of available interfaces, and outline plans for future development. ∗A Japanese translation of this paper will be published in the Proceedings of the 24th RAMP Symposium held at Tohoku University, Miyagi, Japan, 27{28 September 2012, see http://orsj.or.
    [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]
  • Using COIN-OR to Solve the Uncapacitated Facility Location Problem
    The Uncapacitated Facility Location Problem Developing a Solver Additional Resources Using COIN-OR to Solve the Uncapacitated Facility Location Problem Ted Ralphs1 Matthew Saltzman 2 Matthew Galati 3 1COR@L Lab Department of Industrial and Systems Engineering Lehigh University 2Department of Mathematical Sciences Clemson University 3Analytical Solutions SAS Institute EURO XXI, July 4, 2006 Ted Ralphs, Matthew Saltzman , Matthew Galati Using COIN-OR to Solve the Uncapacitated Facility Location Problem The Uncapacitated Facility Location Problem Developing a Solver Additional Resources Outline 1 The Uncapacitated Facility Location Problem UFL Formulation Cutting Planes 2 Developing a Solver The ufl Class COIN Tools Putting It All Together 3 Additional Resources Ted Ralphs, Matthew Saltzman , Matthew Galati Using COIN-OR to Solve the Uncapacitated Facility Location Problem The Uncapacitated Facility Location Problem UFL Formulation Developing a Solver Cutting Planes Additional Resources Input Data The following are the input data needed to describe an instance of the uncapacitated facility location problem (UFL): Data a set of depots N = {1, ..., n}, a set of clients M = {1, ..., m}, the unit transportation cost cij to service client i from depot j, the fixed cost fj for using depot j Variables xij is the amount of the demand for client i satisfied from depot j yj is 1 if the depot is used, 0 otherwise Ted Ralphs, Matthew Saltzman , Matthew Galati Using COIN-OR to Solve the Uncapacitated Facility Location Problem The Uncapacitated Facility
    [Show full text]
  • Simulation and Application of GPOPS for Trajectory Optimization and Mission Planning Tool Danielle E
    Air Force Institute of Technology AFIT Scholar Theses and Dissertations Student Graduate Works 3-10-2010 Simulation and Application of GPOPS for Trajectory Optimization and Mission Planning Tool Danielle E. Yaple Follow this and additional works at: https://scholar.afit.edu/etd Part of the Systems Engineering and Multidisciplinary Design Optimization Commons Recommended Citation Yaple, Danielle E., "Simulation and Application of GPOPS for Trajectory Optimization and Mission Planning Tool" (2010). Theses and Dissertations. 2060. https://scholar.afit.edu/etd/2060 This Thesis is brought to you for free and open access by the Student Graduate Works at AFIT Scholar. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of AFIT Scholar. For more information, please contact [email protected]. SIMULATION AND APPLICATION OF GPOPS FOR A TRAJECTORY OPTIMIZATION AND MISSION PLANNING TOOL THESIS Danielle E. Yaple, 2nd Lieutenant, USAF AFIT/GAE/ENY/10-M29 DEPARTMENT OF THE AIR FORCE AIR UNIVERSITY AIR FORCE INSTITUTE OF TECHNOLOGY Wright-Patterson Air Force Base, Ohio APPROVED FOR PUBLIC RELEASE; DISTRIBUTION UNLIMITED The views expressed in this thesis are those of the author and do not reflect the official policy or position of the United States Air Force, Department of Defense, or the United States Government. This material is declared a work of the U.S. Government and is not subject to copyright protection in the United States. AFIT/GAE/ENY/10-M29 SIMULATION AND APPLICATION OF GPOPS FOR A TRAJECTORY OPTIMIZATION AND MISSION PLANNING TOOL THESIS Presented to the Faculty Department of Aeronautics and Astronautics Graduate School of Engineering and Management Air Force Institute of Technology Air University Air Education and Training Command In Partial Fulfillment of the Requirements for the Degree of Master of Science in Aeronautical Engineering Danielle E.
    [Show full text]
  • ILOG AMPL CPLEX System Version 9.0 User's Guide
    ILOG AMPL CPLEX System Version 9.0 User’s Guide Standard (Command-line) Version Including CPLEX Directives September 2003 Copyright © 1987-2003, by ILOG S.A. All rights reserved. ILOG, the ILOG design, CPLEX, and all other logos and product and service names of ILOG are registered trademarks or trademarks of ILOG in France, the U.S. and/or other countries. JavaTM and all Java-based marks are either trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. Microsoft, Windows, and Windows NT are either trademarks or registered trademarks of Microsoft Corporation in the U.S. and other countries. All other brand, product and company names are trademarks or registered trademarks of their respective holders. AMPL is a registered trademark of AMPL Optimization LLC and is distributed under license by ILOG.. CPLEX is a registered trademark of ILOG.. Printed in France. CO N T E N T S Table of Contents Chapter 1 Introduction . 1 Welcome to AMPL . .1 Using this Guide. .1 Installing AMPL . .2 Requirements. .2 Unix Installation . .3 Windows Installation . .3 AMPL and Parallel CPLEX. 4 Licensing . .4 Usage Notes . .4 Installed Files . .5 Chapter 2 Using AMPL. 7 Running AMPL . .7 Using a Text Editor . .7 Running AMPL in Batch Mode . .8 Chapter 3 AMPL-Solver Interaction . 11 Choosing a Solver . .11 Specifying Solver Options . .12 Initial Variable Values and Solvers. .13 ILOG AMPL CPLEX SYSTEM 9.0 — USER’ S GUIDE v Problem and Solution Files. .13 Saving temporary files . .14 Creating Auxiliary Files . .15 Running Solvers Outside AMPL. .16 Using MPS File Format .
    [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]
  • User's Guide for SNOPT Version 7: Software for Large-Scale Nonlinear
    User’s Guide for SNOPT Version 7: Software for Large-Scale Nonlinear Programming∗ Philip E. GILL Department of Mathematics University of California, San Diego, La Jolla, CA 92093-0112, USA Walter MURRAY and Michael A. SAUNDERS Systems Optimization Laboratory Department of Management Science and Engineering Stanford University, Stanford, CA 94305-4026, USA June 16, 2008 Abstract SNOPT is a general-purpose system for constrained optimization. It minimizes a linear or nonlinear function subject to bounds on the variables and sparse linear or nonlinear constraints. It is suitable for large-scale linear and quadratic programming and for linearly constrained optimization, as well as for general nonlinear programs. SNOPT finds solutions that are locally optimal, and ideally any nonlinear functions should be smooth and users should provide gradients. It is often more widely useful. For example, local optima are often global solutions, and discontinuities in the function gradients can often be tolerated if they are not too close to an optimum. Unknown gradients are estimated by finite differences. SNOPT uses a sequential quadratic programming (SQP) algorithm. Search di- rections are obtained from QP subproblems that minimize a quadratic model of the Lagrangian function subject to linearized constraints. An augmented Lagrangian merit function is reduced along each search direction to ensure convergence from any starting point. On large problems, SNOPT is most efficient if only some of the variables enter nonlinearly, or there are relatively few degrees of freedom at a solution (i.e., many constraints are active). SNOPT requires relatively few evaluations of the problem functions. Hence it is especially effective if the objective or constraint functions (and their gradients) are expensive to evaluate.
    [Show full text]
  • Optimal Control for Constrained Hybrid System Computational Libraries and Applications
    FINAL REPORT: FEUP2013.LTPAIVA.01 Optimal Control for Constrained Hybrid System Computational Libraries and Applications L.T. Paiva 1 1 Department of Electrical and Computer Engineering University of Porto, Faculty of Engineering - Rua Dr. Roberto Frias, s/n, 4200–465 Porto, Portugal ) [email protected] % 22 508 1450 February 28, 2013 Abstract This final report briefly describes the work carried out under the project PTDC/EEA- CRO/116014/2009 – “Optimal Control for Constrained Hybrid System”. The aim was to build and maintain a software platform to test an illustrate the use of the conceptual tools developed during the overall project: not only in academic examples but also in case studies in the areas of robotics, medicine and exploitation of renewable resources. The grand holder developed a critical hands–on knowledge of the available optimal control solvers as well as package based on non–linear programming solvers. 1 2 Contents 1 OC & NLP Interfaces 7 1.1 Introduction . .7 1.2 AMPL . .7 1.3 ACADO – Automatic Control And Dynamic Optimization . .8 1.4 BOCOP – The optimal control solver . .9 1.5 DIDO – Automatic Control And Dynamic Optimization . 10 1.6 ICLOCS – Imperial College London Optimal Control Software . 12 1.7 TACO – Toolkit for AMPL Control Optimization . 12 1.8 Pseudospectral Methods in Optimal Control . 13 2 NLP Solvers 17 2.1 Introduction . 17 2.2 IPOPT – Interior Point OPTimizer . 17 2.3 KNITRO . 25 2.4 WORHP – WORHP Optimises Really Huge Problems . 31 2.5 Other Commercial Packages . 33 3 Project webpage 35 4 Optimal Control Toolbox 37 5 Applications 39 5.1 Car–Like .
    [Show full text]
  • PSO-Based Soft Lunar Landing with Hazard Avoidance: Analysis and Experimentation
    aerospace Article PSO-Based Soft Lunar Landing with Hazard Avoidance: Analysis and Experimentation Andrea D’Ambrosio 1,* , Andrea Carbone 1 , Dario Spiller 2 and Fabio Curti 1 1 School of Aerospace Engineering, Sapienza University of Rome, Via Salaria 851, 00138 Rome, Italy; [email protected] (A.C.); [email protected] (F.C.) 2 Italian Space Agency, Via del Politecnico snc, 00133 Rome, Italy; [email protected] * Correspondence: [email protected] Abstract: The problem of real-time optimal guidance is extremely important for successful au- tonomous missions. In this paper, the last phases of autonomous lunar landing trajectories are addressed. The proposed guidance is based on the Particle Swarm Optimization, and the differ- ential flatness approach, which is a subclass of the inverse dynamics technique. The trajectory is approximated by polynomials and the control policy is obtained in an analytical closed form solution, where boundary and dynamical constraints are a priori satisfied. Although this procedure leads to sub-optimal solutions, it results in beng fast and thus potentially suitable to be used for real-time purposes. Moreover, the presence of craters on the lunar terrain is considered; therefore, hazard detection and avoidance are also carried out. The proposed guidance is tested by Monte Carlo simulations to evaluate its performances and a robust procedure, made up of safe additional maneuvers, is introduced to counteract optimization failures and achieve soft landing. Finally, the whole procedure is tested through an experimental facility, consisting of a robotic manipulator, equipped with a camera, and a simulated lunar terrain. The results show the efficiency and reliability Citation: D’Ambrosio, A.; Carbone, of the proposed guidance and its possible use for real-time sub-optimal trajectory generation within A.; Spiller, D.; Curti, F.
    [Show full text]
  • CME 338 Large-Scale Numerical Optimization Notes 2
    Stanford University, ICME CME 338 Large-Scale Numerical Optimization Instructor: Michael Saunders Spring 2019 Notes 2: Overview of Optimization Software 1 Optimization problems We study optimization problems involving linear and nonlinear constraints: NP minimize φ(x) n x2R 0 x 1 subject to ` ≤ @ Ax A ≤ u; c(x) where φ(x) is a linear or nonlinear objective function, A is a sparse matrix, c(x) is a vector of nonlinear constraint functions ci(x), and ` and u are vectors of lower and upper bounds. We assume the functions φ(x) and ci(x) are smooth: they are continuous and have continuous first derivatives (gradients). Sometimes gradients are not available (or too expensive) and we use finite difference approximations. Sometimes we need second derivatives. We study algorithms that find a local optimum for problem NP. Some examples follow. If there are many local optima, the starting point is important. x LP Linear Programming min cTx subject to ` ≤ ≤ u Ax MINOS, SNOPT, SQOPT LSSOL, QPOPT, NPSOL (dense) CPLEX, Gurobi, LOQO, HOPDM, MOSEK, XPRESS CLP, lp solve, SoPlex (open source solvers [7, 34, 57]) x QP Quadratic Programming min cTx + 1 xTHx subject to ` ≤ ≤ u 2 Ax MINOS, SQOPT, SNOPT, QPBLUR LSSOL (H = BTB, least squares), QPOPT (H indefinite) CLP, CPLEX, Gurobi, LANCELOT, LOQO, MOSEK BC Bound Constraints min φ(x) subject to ` ≤ x ≤ u MINOS, SNOPT LANCELOT, L-BFGS-B x LC Linear Constraints min φ(x) subject to ` ≤ ≤ u Ax MINOS, SNOPT, NPSOL 0 x 1 NC Nonlinear Constraints min φ(x) subject to ` ≤ @ Ax A ≤ u MINOS, SNOPT, NPSOL c(x) CONOPT, LANCELOT Filter, KNITRO, LOQO (second derivatives) IPOPT (open source solver [30]) Algorithms for finding local optima are used to construct algorithms for more complex optimization problems: stochastic, nonsmooth, global, mixed integer.
    [Show full text]
  • Lab Information 1 Information About GLPK/Glpsol
    Linköping Institute of Technology 2018–09–10 Department of Mathematics/Division of Optimization Kaj Holmberg Lab Information 1 Information about GLPK/glpsol 1.1 Introduction to GLPK The GLPK (GNU Linear Programming Kit) package is intended for solving large-scale linear programming (LP) and mixed integer programming (MIP). GLPK supports GMPL (GNU MathProg Language), which is a modeling language (almost identical to AMPL). The GLPK package containts the following main components: * Revised simplex method. * Primal-dual interior point method. * Branch-and-bound method. * Translator for GNU MathProg. * API (Application program interface) * Stand-alone LP/MIP solver, glpsol. The main idea of glpsol and the GNU MathProg language is to ease modeling of opti- mization problems. The model is written on a file, and data for the problem is written on another file. 1.2 Solving models with the solver glpsol The glpsol code is run in a terminal window, and solves a problem written in the modeling language GMPL. The problem file and the data file are given by command line parameters. Example: Read model file myprob.mod, data file myprob.dat, solve the problem and write the solution to file myprob.sol. glpsol -m myprob.mod -d myprob.dat -o myprob.sol Examples of parameters which could be used: -m filename Read model (and possibly data) from file filename. -d filename Read data from file filename. -o filename Write solution to file filename as standard text. - -ranges filename Write result of sensibility analysis to file filename. - -wglp filename Write problem to filename in GLPK format. - -log filename Write a copy of log information on the screen to file filename.
    [Show full text]