The AIMMS Language Reference

Total Page:16

File Type:pdf, Size:1020Kb

The AIMMS Language Reference AIMMS The Language Reference AIMMS 3.1 May 31, 2000 AIMMS The Language Reference Paragon Decision Technology Johannes Bisschop Marcel Roelofs Copyright c 1999 by Paragon Decision Technology B.V. All rights reserved. Paragon Decision Technology B.V. P.O. Box 3277 2001 DG Haarlem The Netherlands Tel.: +31(0)23-5511512 Fax: +31(0)23-5511517 Email: [email protected] WWW: http://www.aimms.com ISBN 90–801516–3–7 Aimms is a trademark of Paragon Decision Technology B.V. Other brands and their products are trademarks of their respective holders. Windows and MS-dos are registered trademarks of Microsoft Corporation. TEX, LATEX, and AMS-LATEXare trademarks of the American Mathematical Society. Lucida is a registered trademark of Bigelow & Holmes Inc. Acrobat is a registered trademark of Adobe Systems Inc. Information in this document is subject to change without notice and does not represent a commitment on the part of Paragon Decision Technology B.V. The software described in this document is furnished under a license agreement and may only be used and copied in accordance with the terms of the agreement. The documentation may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine-readable form without prior consent, in writing, from Paragon Decision Technology B.V. Paragon Decision Technology B.V. makes no representation or warranty with respect to the adequacy of this documentation or the programs which it describes for any particular purpose or with respect to the adequacy to produce any particular result. In no event shall Paragon Decision Technology B.V., its employees, its contractors or the authors of this documentation be liable for special, direct, indirect or consequential damages, losses, costs, charges, claims, demands, or claims for lost profits, fees or expenses of any nature or kind. In addition to the foregoing, users should recognize that all complex software systems and their doc- umentation contain errors and omissions. The authors, Paragon Decision Technology B.V. and its em- ployees, and its contractors shall not be responsible under any circumstances for providing information or corrections to errors and omissions discovered at any time in this book or the software it describes, whether or not they are aware of the errors or omissions. The authors, Paragon Decision Technology B.V. and its employees, and its contractors do not recommend the use of the software described in this book for applications in which errors or omissions could threaten life, injury or significant loss. This documentation was typeset by Paragon Decision Technology B.V. using LATEXandtheLucida font family. About Paragon During the eighties it became apparent that the available algebraic modeling systems did not meet modern standards for openness and ease-of-use as re- quired by industry and government. There was a clear need for new advanced facilities to generate model-based decision support systems. Against this back- ground, Paragon Decision Technology B.V. was formed. Its goal is to produce general purpose and powerful tools for modelers and decision makers. The founder, Johannes J. Bisschop, was at this time a research mathematician at Shell Research in Amsterdam, and a professor of computational optimiza- tion and modeling at the University of Twente, The Netherlands. Today he combines his part-time position at the University of Twente with managing Paragon Decision Technology B.V. and the continuing development of Aimms. The first commercial Aimms system was introduced onto the market at the end of 1993, since which time Aimms has established itself as a solid professional tool for model-based decision support systems. Several major customers with international reputations have contracted Paragon Decision Technology B.V. to implement important additions to the functionality of Aimms which they felt were important to their particular project requirements. This has resulted in generic improvements adding to the maturity of Aimms as it stands today. As well as customizing Aimms Paragon Decision Technology B.V. also executes projects centered around model building and end-user GUI design. Today, Aimms is used on nearly every continent by companies, government agencies and universities. It is mostly used for scheduling and planning ap- plications in such areas as production, distribution, finance, forestry, and en- ergy. Amongst Aimms users are to be found such household names as Amoco, Heineken and Shell. Contents Preface xii What is in the Aimms documentation ............... xii What is in the Language Reference ................. xiv Acknowledgements .......................... xvii The authors ............................... xvii Contributors to Aimms ........................ xviii List of Modifications xx Part I Preliminaries 1 1 Introduction to the Aimms language 2 1.1 The depot location problem ..................... 2 1.2 Formulation of the mathematical program ............ 5 1.3 Data initialization ........................... 8 1.4 An advanced model extension ................... 10 1.5 General modeling tips ........................ 13 2 Language Preliminaries 16 2.1 Managing your model ......................... 16 2.2 Identifier declarations ........................ 18 2.3 Lexical conventions .......................... 20 2.4 Expressions and statements ..................... 24 2.5 Data initialization ........................... 25 Part II Non-Procedural Language Components 27 3 Set Declaration 28 3.1 Sets and indices ............................ 28 3.2 SET declaration and attributes .................... 30 3.2.1 Simple sets .......................... 30 Contents vii 3.2.2 Integer sets .......................... 34 3.2.3 Compound sets ........................ 35 3.2.4 Indexed sets .......................... 37 3.3 INDEX declaration and attributes .................. 38 4 Parameter Declaration 39 4.1 PARAMETER declaration and attributes ................ 40 5 Set, Set Element and String Expressions 45 5.1 Set expressions ............................. 45 5.1.1 Enumerated sets ....................... 46 5.1.2 Constructed sets ....................... 50 5.1.3 Set operators ......................... 51 5.1.4 Set functions ......................... 52 5.1.5 Iterative set operators ................... 53 5.1.6 Set element expressions as singleton sets ....... 55 5.2 Set element expressions ....................... 56 5.2.1 Element references ..................... 57 5.2.2 Intrinsic functions for sets and set elements ..... 57 5.2.3 Element-valued iterative expressions .......... 59 5.2.4 Lag and lead operators ................... 60 5.3 String expressions ........................... 61 5.3.1 String concatenation, subtraction and repetition ... 62 5.3.2 Formatting strings ...................... 63 5.3.3 String manipulation ..................... 65 5.3.4 Converting strings to set elements ............ 66 6 Numerical and Logical Expressions 69 6.1 Numerical expressions ........................ 69 6.1.1 Real values and arithmetic extensions ......... 70 6.1.2 List expressions ....................... 71 6.1.3 References ........................... 72 6.1.4 Arithmetic functions .................... 74 6.1.5 Numerical operators .................... 74 6.1.6 Numerical iterative operators ............... 76 6.1.7 Statistical functions and operators ............ 77 6.1.8 Financial functions ..................... 80 6.1.9 Conditional expressions .................. 80 6.2 Logical expressions .......................... 82 6.2.1 Logical operator expressions ............... 83 6.2.2 Numerical comparison ................... 84 6.2.3 Set and element comparison ............... 85 6.2.4 String comparison ...................... 87 6.2.5 Logical iterative expressions ................ 87 6.3 Operator precedence ......................... 88 6.4 MACRO declaration and attributes .................. 88 Contents viii 7 Execution of Nonprocedural Components 91 7.1 Dependency structure of definitions ............... 91 7.2 Expressions and statements allowed in definitions ....... 93 7.3 Nonprocedural execution ...................... 96 Part III Procedural Language Components 98 8 Execution Statements 99 8.1 Procedural and nonprocedural execution ............. 99 8.2 Assignment statements ....................... 100 8.3 Flow control statements ....................... 104 8.3.1 The IF-THEN-ELSE statement ................ 105 8.3.2 The WHILE and REPEAT statements ............. 106 8.3.3 Advanced use of WHILE and REPEAT ............ 108 8.3.4 The FOR statement ...................... 109 8.3.5 The SWITCH statement .................... 111 8.3.6 The HALT statement ..................... 113 8.4 The OPTION and PROPERTY statements ................ 114 9 Index Binding 116 9.1 Binding rules .............................. 116 10 Procedures and Functions 120 10.1 Internal procedures .......................... 120 10.2 Internal functions ........................... 125 10.2.1 Derivative computation ................... 127 10.3 Calls to procedures and functions ................. 130 10.3.1 The APPLY operator ..................... 135 11 External Procedures and Functions 138 11.1 Introduction .............................. 138 11.2 Declaration of external procedures and functions ....... 140 11.3 Win32 calling conventions ...................... 148 11.4 External functions in constraints .................. 150 11.5 C versus Fortran conventions ................... 151 Part IV Sparse Execution 154 12 Semantics of Sparse Execution 155
Recommended publications
  • 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]
  • Computing in Operations Research Using Julia
    Computing in Operations Research using Julia Miles Lubin and Iain Dunning MIT Operations Research Center INFORMS 2013 { October 7, 2013 1 / 25 High-level, high-performance, open-source dynamic language for technical computing. Keep productivity of dynamic languages without giving up speed. Familiar syntax Python+PyPy+SciPy+NumPy integrated completely. Latest concepts in programming languages. 2 / 25 Claim: \close-to-C" speeds Within a factor of 2 Performs well on microbenchmarks, but how about real computational problems in OR? Can we stop writing solvers in C++? 3 / 25 Technical advancements in Julia: Fast code generation (JIT via LLVM). Excellent connections to C libraries - BLAS/LAPACK/... Metaprogramming. Optional typing, multiple dispatch. 4 / 25 Write generic code, compile efficient type-specific code C: (fast) int f() { int x = 1, y = 2; return x+y; } Julia: (No type annotations) Python: (slow) function f() def f(): x = 1; y = 2 x = 1; y = 2 return x + y return x+y end 5 / 25 Requires type inference by compiler Difficult to add onto exiting languages Available in MATLAB { limited scope PyPy for Python { incompatible with many libraries Julia designed from the ground up to support type inference efficiently 6 / 25 Simplex algorithm \Bread and butter" of operations research Computationally very challenging to implement efficiently1 Matlab implementations too slow to be used in practice High-quality open-source codes exist in C/C++ Can Julia compete? 1Bixby, Robert E. "Solving Real-World Linear Programs: A Decade and More of Progress", Operations Research, Vol. 50, pp. 3{15, 2002. 7 / 25 Implemented benchmark operations in Julia, C++, MATLAB, Python.
    [Show full text]
  • The TOMLAB NLPLIB Toolbox for Nonlinear Programming 1
    AMO - Advanced Modeling and Optimization Volume 1, Number 1, 1999 The TOMLAB NLPLIB Toolbox 1 for Nonlinear Programming 2 3 Kenneth Holmstrom and Mattias Bjorkman Center for Mathematical Mo deling, Department of Mathematics and Physics Malardalen University, P.O. Box 883, SE-721 23 Vasteras, Sweden Abstract The pap er presents the to olb ox NLPLIB TB 1.0 (NonLinear Programming LIBrary); a set of Matlab solvers, test problems, graphical and computational utilities for unconstrained and constrained optimization, quadratic programming, unconstrained and constrained nonlinear least squares, b ox-b ounded global optimization, global mixed-integer nonlinear programming, and exp onential sum mo del tting. NLPLIB TB, like the to olb ox OPERA TB for linear and discrete optimization, is a part of TOMLAB ; an environment in Matlab for research and teaching in optimization. TOMLAB currently solves small and medium size dense problems. Presently, NLPLIB TB implements more than 25 solver algorithms, and it is p ossible to call solvers in the Matlab Optimization Toolbox. MEX- le interfaces are prepared for seven Fortran and C solvers, and others are easily added using the same typ e of interface routines. Currently, MEX- le interfaces havebeendevelop ed for MINOS, NPSOL, NPOPT, NLSSOL, LPOPT, QPOPT and LSSOL. There are four ways to solve a problem: by a direct call to the solver routine or a call to amulti-solver driver routine, or interactively, using the Graphical User Interface (GUI) or a menu system. The GUI may also be used as a prepro cessor to generate Matlab co de for stand-alone runs. If analytical derivatives are not available, automatic di erentiation is easy using an interface to ADMAT/ADMIT TB.
    [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]
  • Computational Integer Programming Lecture 3
    Computational Integer Programming Lecture 3: Software Dr. Ted Ralphs Computational MILP Lecture 3 1 Introduction to Software (Solvers) • There is a wealth of software available for modeling, formulation, and solution of MILPs. • Commercial solvers { IBM CPLEX { FICO XPress { Gurobi • Open Source and Free for Academic Use { COIN-OR Optimization Suite (Cbc, SYMPHONY, Dip) { SCIP { lp-solve { GLPK { MICLP { Constraint programming systems 1 Computational MILP Lecture 3 2 Introduction to Software (Modeling) • There are two main categories of modeling software. { Algebraic Modeling Languages (AMLs) { Constraint Programming Systems (CPSs) • According to our description of the modeling process, AMLs should probably be called \formulation languages". • AMLs assume the problem will be formulated as a mathematical optimization problem. • Although AMLs make the formulation process more convenient, the user must provide an initial \formulation" and decide on an appropriate solver. • Solvers do some internal reformulation, but this is limited. • Constraint programming systems use a much higher level description of the model itself. • Reformulation is done internally before automatically passing the problem to the most appropriate of a number of solvers. 2 Computational MILP Lecture 3 3 Algebraic Modeling Languages • A key concept is the separation of \model" (formulation, really) from \data." • Generally speaking, we follow a four-step process in modeling with AMLs. { Develop an \abstract model" (more like a formulation). { Populate the formulation with data. { Solve the Formulation. { Analyze the results. • These four steps generally involve different pieces of software working in concert. • For mathematical optimization problems, the modeling is often done with an algebraic modeling system. • Data can be obtained from a wide range of sources, including spreadsheets.
    [Show full text]
  • Abstract Glue for Optimization in Julia
    Abstract glue for optimization in Julia Miles Lubin with Iain Dunning, Joey Huchette, Tony Kelman, Dominique Orban, and Madeleine Udell ISMP – July 13, 2015 Why did we choose Julia? Lubin and Dunning, “Computing in Operations Research using Julia”, IJOC, 2015 ● “I want to model and solve a large LP/MIP within a programming language, but Python is too slow and C++ is too low level” ● “I want to implement optimization algorithms in a fast, high-level language designed for numerical computing” ● “I want to create an end-user-friendly interface for optimization without writing MEX files” And so… We (and many other contributors) developed a new set of tools to help us do our work in Julia. JuliaOpt CoinOptServices.jl AmplNLWriter.jl AmplNLReader.jl Modeling languages in Julia ● JuMP ○ Linear, mixed-integer, conic, and nonlinear optimization ○ Like AMPL, GAMS, Pyomo ● Convex.jl (Udell, Thursday at 10:20am) ○ Disciplined convex programming ○ Like CVX, cvxpy ● Both use the same solver infrastructure MathProgBase ● A standard interface which solver wrappers implement ○ Like COIN-OR/OSI MathProgBase philosophy ● In a small package which wraps the solver’s C API, implement a few additional methods to provide a standardized interface to the solver. ○ Clp.jl, Cbc.jl, Gurobi.jl, ECOS.jl, etc... MathProgBase philosophy ● Make it easy to access low-level features. ○ Don’t get in the user’s way MathProgBase philosophy ● If the solver’s interface doesn’t quite match the abstraction, either: ○ perform some transformations within the solver wrapper, or ○
    [Show full text]
  • Julia Language Documentation Release Development
    Julia Language Documentation Release development Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman, et al. September 08, 2014 Contents 1 The Julia Manual 1 1.1 Introduction...............................................1 1.2 Getting Started..............................................2 1.3 Integers and Floating-Point Numbers..................................6 1.4 Mathematical Operations......................................... 12 1.5 Complex and Rational Numbers..................................... 17 1.6 Strings.................................................. 21 1.7 Functions................................................. 32 1.8 Control Flow............................................... 39 1.9 Variables and Scoping.......................................... 48 1.10 Types................................................... 52 1.11 Methods................................................. 66 1.12 Constructors............................................... 72 1.13 Conversion and Promotion........................................ 79 1.14 Modules................................................. 84 1.15 Metaprogramming............................................ 86 1.16 Arrays.................................................. 93 1.17 Sparse Matrices............................................. 99 1.18 Parallel Computing............................................ 100 1.19 Running External Programs....................................... 105 1.20 Calling C and Fortran Code....................................... 111 1.21 Performance
    [Show full text]
  • The TOMLAB Optimization Environment in Matlab1
    AMO - Advanced Modeling and Optimization Volume 1, Number 1, 1999 The TOMLAB Optimization Environment in Matlab Kenneth Holmstrom Center for Mathematical Mo deling Department of Mathematics and Physics Malardalen University PO Box SE Vasteras Sweden Abstract TOMLAB is a general purp ose op en and integrated Matlab development environment for research and teaching in optimization on Unix and PC systems One motivation for TOMLAB is to simplify research on practical optimization problems giving easy access to all types of solvers at the same time having full access to the p ower of Matlab The design principle is dene your problem once optimize using any suitable solver In this pap er we discuss the design and contents of TOMLAB as well as some applications where TOMLAB has b een successfully applied TOMLAB is based on NLPLIB TB a Matlab to olb ox for nonlinear programming and pa rameter estimation and OPERA TB a Matlab to olb ox for linear and discrete optimization More than dierent algorithms and graphical utilities are implemented It is p ossible to call solvers in the Matlab Optimization Toolb ox and generalpurp ose solvers implemented in For tran or C using a MEXle interface Currently MEXle interfaces have b een developed for MINOS NPSOL NPOPT NLSSOL LPOPT QPOPT and LSSOL A problem is solved by a direct call to a solver or by a general multisolver driver routine or interactively using a graphical user interface GUI or a menu system If analytical derivatives are not available automatic dierentiation is easy using an interface
    [Show full text]
  • Combined Optimization of Trajectory and Design for Dual Propulsion Spacecraft AE5810 Thesis Space Domas M
    Combined Optimization of Trajectory and Design for Dual Propulsion Spacecraft AE5810 Thesis Space Domas M. Syaifoel Delft University of Technology Combined Optimization of Trajectory and Design for Dual Propulsion Spacecraft AE5810 Thesis Space by Domas M. Syaifoel to obtain the degree of Master of Science at the Delft University of Technology, to be defended publicly on 14 December 2020. Student number: 4436024 Project duration: November 2019 – December 2020 Thesis committee: Dr. A. Cervone, TU Delft, supervisor Dr. J. Guo TU Delft, committee chair ir. R. Noomen TU Delft An electronic version of this thesis is available at http://repository.tudelft.nl/. Abstract Following the trend of miniaturization and standardization of satellite design, as well as recent successes in the use of cubesats in interplanetary missions, a cubesat design capable of reaching another planet fully in- dependently may lead to significant cost reductions for future missions. While efficient low thrust propulsion systems exist, Earth escape using low thrust only leads to significant incident radiation doses when crossing the Van Allen belts. As such, this report aims to present the design of a dual thrust cubesat, i.e. one which employs both high thrust and low thrust propulsion systems, such that the transfer time and the number of van Allen belt crossings is within requirements, while a final orbit around Mars remains attainable. In doing so, this report explores the theory behind low thrust trajectory optimization, and attempts to combine this with a general optimization scheme including both high thrust phases as well as the optimiza- tion of the spacecraft system design.
    [Show full text]
  • A Toolkit for AMPL Control Optimization
    ARGONNE NATIONAL LABORATORY 9700 South Cass Avenue Argonne, Illinois 60439 TACO — A Toolkit for AMPL Control Optimization Christian Kirches and Sven Leyffer Mathematics and Computer Science Division Preprint ANL/MCS-P1948-0911 November 4, 2011 The research leading to these results has received funding from the European Union Seventh Framework Programme FP7/2007-2013 under grant agreement no FP7-ICT-2009-4 248940. The first author acknowledges a travel grant by Heidelberg Graduate Academy, funded by the German Excellence Initiative. We thank Hans Georg Bock, Johannes P. Schlöder, and Sebastian Sager for permission to use the optimal control software package MUSCOD-II and the mixed-integer optimal control algorithm MS-MINTOC. This work was also supported by the Office of Advanced Scientific Computing Research, Office of Science, U.S. Department of Energy, under Contract DE-AC02-06CH11357, and by the Directorate for Computer and Information Science and Engineering of the National Science Foundation under award NSF-CCF-0830035. Contents 1 Introduction...................................................................1 1.1 The AMPL Modeling Language.....................................................3 1.2 Benefits of AMPL Extensions......................................................3 1.3 Related Efforts..............................................................3 1.4 Contributions and Structure........................................................3 2 AMPL Extensions for Optimal Control.....................................................4
    [Show full text]