Modelling. Christina Burt, Stephen J. Maher, Jakob Witzig. 29th September Zuse Institute Berlin Berlin, Germany
|
|
- Leslie Cobb
- 5 years ago
- Views:
Transcription
1 Modelling Christina Burt, Stephen J. Maher, Jakob Witzig Zuse Institute Berlin Berlin, Germany 29th September 2015
2 Modelling Languages Jakob Witzig Burt, Maher, Witzig Modelling 1 / 22
3 Modelling Languages: What are they? Algebraic Modelling Languages are high-level computer programming languages. They provide a concise, readable way to express/formulate a mathematical problem, do not solve the problems directly, but rather, call external solvers, generally contain a mix of declarative and procedural elements. Examples of modelling languages include Xpress-Mosel, ZIMPL, AIMMS, AMPL, GAMS and OPL. Burt, Maher, Witzig Modelling 2 / 22
4 Modelling Languages: Pros and Cons The benefits of using a modelling language to implement a model include: can be a fast way to implement a model, easy to learn due to few basic language elements; short learning curve to achieve high expressivity, syntax is usually very similar to mathematical notation, making it intuitive, simplified expression of some elements of math programming models, such as sets and logical expressions. Burt, Maher, Witzig Modelling 3 / 22
5 Modelling Languages: Pros and Cons ZIMPL: set Warehouses := {1,2,3,4}; set Plants := {1,2}; var transport[warehouses * Plants] integer; Gurobi: Warehouses = [1,2,3,4] Plants = [1,2] transport = [] for w in warehouses: transport.append([]) for p in plants: transport[w].append( m.addvar( obj=transcosts[w][p], name="trans%d.%d" % (p, w) )) Burt, Maher, Witzig Modelling 4 / 22
6 Modelling Languages: Pros and Cons The drawbacks of using a modelling language include: access to solver features, such as callbacks, is often difficult (or not possible) the solving is decoupled from the modelling process to some extent the user still must understand how to model well for the target algorithm, the language interpreter may perform inefficient conversions compared to what a reformulation may achieve. Burt, Maher, Witzig Modelling 5 / 22
7 Modelling Languages: Pros and Cons Today we will do a modelling exercise that will illustrate: how quickly you can learn a modelling language, how quickly you can implement a model and obtain a solution from an installed solver. Burt, Maher, Witzig Modelling 6 / 22
8 Some Modelling Languages ZIMPL: for writing down a model quickly and output a format for LP, MIP and MINLP that can be read into any LP/MIP solver (and SCIP for MINLP); GAMS: contains procedural elements for modifying the data and model during the procedure, can switch between solvers, has an IDE with tree-view and model debugging; AIMMS: contains procedural elements and tools for deployment, e.g. it is possible to write a GUI for a model-application for partners who do not want to see the model itself AMPL: integrates a modelling language, command language (for debugging and analysing), and a scripting language for modifying the data and model during the procedure. Burt, Maher, Witzig Modelling 7 / 22
9 Getting Started with ZIMPL Jakob Witzig Burt, Maher, Witzig Modelling 8 / 22
10 What is ZIMPL? Zuse Institute Mathematical Programming Language Free software, first release 2001 Burt, Maher, Witzig Modelling 9 / 22
11 What is ZIMPL? Zuse Institute Mathematical Programming Language Free software, first release 2001 Language to translate mathematical models into (mixed) integer programs. Burt, Maher, Witzig Modelling 9 / 22
12 What is ZIMPL? Zuse Institute Mathematical Programming Language Free software, first release 2001 Language to translate mathematical models into (mixed) integer programs. ZIMPL is part of the SCIP Optimization Suite ( User Guide: Burt, Maher, Witzig Modelling 9 / 22
13 ZIMPL Format & Functions Each line ends with a semicolon Burt, Maher, Witzig Modelling 10 / 22
14 ZIMPL Format & Functions Each line ends with a semicolon 6 different statements: Sets, Parameters, Variables, Objective, Constraints, Function definition, and print commands. Burt, Maher, Witzig Modelling 10 / 22
15 ZIMPL Format & Functions Each line ends with a semicolon 6 different statements: Sets, Parameters, Variables, Objective, Constraints, Function definition, and print commands. Rational arithmetic functions (e.g., modulo, factorial, min/max of a set, rounding,... ) Burt, Maher, Witzig Modelling 10 / 22
16 ZIMPL Format & Functions Each line ends with a semicolon 6 different statements: Sets, Parameters, Variables, Objective, Constraints, Function definition, and print commands. Rational arithmetic functions (e.g., modulo, factorial, min/max of a set, rounding,... ) Double precision functions: square root, logarithm, exponential function Burt, Maher, Witzig Modelling 10 / 22
17 ZIMPL Format & Functions Each line ends with a semicolon 6 different statements: Sets, Parameters, Variables, Objective, Constraints, Function definition, and print commands. Rational arithmetic functions (e.g., modulo, factorial, min/max of a set, rounding,... ) Double precision functions: square root, logarithm, exponential function Set related functions (e.g., cross product, union, argmin,... ) Burt, Maher, Witzig Modelling 10 / 22
18 ZIMPL Format & Functions Each line ends with a semicolon 6 different statements: Sets, Parameters, Variables, Objective, Constraints, Function definition, and print commands. Rational arithmetic functions (e.g., modulo, factorial, min/max of a set, rounding,... ) Double precision functions: square root, logarithm, exponential function Set related functions (e.g., cross product, union, argmin,... ) Input stream to read in data files Burt, Maher, Witzig Modelling 10 / 22
19 Executing ZIMPL To get an LP file of example.zpl zimpl example.zpl Use SCIP to read in directly and solve scip -f example.zpl Burt, Maher, Witzig Modelling 11 / 22
20 Sets Set Definitions: s e t A := {1.. 4 } ; s e t B := {1 to 3 } ; s e t D[B] := <1>{ a, b }, <2>{ c }, <3>{ c, e, f } ; s e t E := { monkey, g i r a f f e, e l e p h a n t } ; Set Operations: s e t C := A c r o s s C ; s e t P [ ] := p o w e r s e t (D) ; s e t I := i n d e x s e t (P ) ; s e t S [ ] := s u b s e t s ( I, 2 ) ; s e t U := union <i > i n I : D[ i ] ; Burt, Maher, Witzig Modelling 12 / 22
21 Parameters Indexsets: s e t I := {1.. 10}; s e t J := { a, b, c, x, y, z, } ; Parameters: param h [ I J ] := a, c, x, z 1 12, 17, 99, , 3, 17, /3,.4, 3, abs ( 4) 9 1, 2, 0, 3 d e f a u l t 99; param g [ I I I ] := 1, 2, 3 1, 3 0, 0, 1 2, 1 1, 0, 1 ; param k [ I I ] := <4,7> 89, <4,8> 67, <4,9> 55, <5,7> 12, <5,8> 13, <5,9> 14, <1,2> 17, <3,4> 99; Burt, Maher, Witzig Modelling 13 / 22
22 Reading Sets and Parameters Input file data.txt: 1 2 ab con1 2 3 bc con2 4 5 de con3 Read Sets: s e t Q := { read data. t x t as <4s> } ; Read Parameter: param c o s t [Q] := read data. t x t as 2n 1n ; Burt, Maher, Witzig Modelling 14 / 22
23 Variables Types: binary, integer, and real Implicit bounds are [0, ] Declare binary/integer variables as implicit Example: v a r x1 ; v a r x2 b i n a r y ; v a r x3 i n t e g e r >= i n f i n i t y ; v a r y [A] r e a l >= 2 <= 1 8 ; v a r z[<a, b> i n C ] i n t e g e r >= a 10 <= i f b <= 3 then p [ b ] e l s e i n f i n i t y end ; v a r w i m p l i c i t b i n a r y ; Burt, Maher, Witzig Modelling 15 / 22
24 Objective Functions Syntax: sense name : term; Can be minimize or maximize Must be at most one objective function Example: minimize obj : 3 x1 1 x2 ; minimize c o s t : sum <i, j > i n E with i < j : c [ i, j ] x [ i, j ] ; maximize p r o f i t : sum <i > i n I : p [ i ] x [ i ] ; Burt, Maher, Witzig Modelling 16 / 22
25 Constraints Syntax: subto name : term sense term; Sense can be, ==, and subto c1 : sum <i, j> i n E with i < j and j!= 1 : x [ i, j ] == 1 ; Burt, Maher, Witzig Modelling 17 / 22
26 Constraints Syntax: subto name : term sense term; Sense can be, ==, and subto c1 : sum <i, j> i n E with i < j and j!= 1 : x [ i, j ] == 1 ; Can be combined with if-conditions subto c2 : f o r a l l <i > i n I do i f i <= 5 then 3 y [ i ] >= 1 e l s e 2 y [ i ] <= 0 end ; Burt, Maher, Witzig Modelling 17 / 22
27 Constraints Syntax: subto name : term sense term; Sense can be, ==, and subto c1 : sum <i, j> i n E with i < j and j!= 1 : x [ i, j ] == 1 ; Can be combined with if-conditions subto c2 : f o r a l l <i > i n I do i f i <= 5 then 3 y [ i ] >= 1 e l s e 2 y [ i ] <= 0 end ; Combining with and subto c3 : f o r a l l <i, j > i n E do i f i < j then sum <k> i n K : y [ k, i, j ] == 1 and x [ i, j ] == 2 e l s e sum <k> i n K : y [ k, i, j ] == 0 end ; Burt, Maher, Witzig Modelling 17 / 22
28 Function Definition and Print Commands Functions Definition: Syntax: def* name(input) := term; * = numb, strg, bool, and set Example: defnumb d i s t ( a, b ) := s q r t ( a a + b b ) ; d e f b o o l smal ( a, b ) := a < b ; d e f s e t b i g g ( i ) := { <j > i n K with j > i } ; Burt, Maher, Witzig Modelling 18 / 22
29 Function Definition and Print Commands Functions Definition: Syntax: def* name(input) := term; * = numb, strg, bool, and set Example: defnumb d i s t ( a, b ) := s q r t ( a a + b b ) ; d e f b o o l smal ( a, b ) := a < b ; d e f s e t b i g g ( i ) := { <j > i n K with j > i } ; Print Commands: Print Sets: s e t I := {1.. 10}; do p r i n t I ; do p r i n t C a r d i n a l i t y o f I :, card ( I ) ; Print Supersets: do f o r a l l <i > i n I with i >= 4 do p r i n t s q r t ( i ) ; Burt, Maher, Witzig Modelling 18 / 22
30 Exercise: ZIMPL The SCIP Team Burt, Maher, Witzig Modelling 19 / 22
31 Exercise: ZIMPL Implement the model of the equitable coach problem you have created before in ZIMPL. Use the code skeleton: /home/exercise/modelling/exercise ECP.zpl The ZIMPL user guide is located at: /home/exercise/modelling/ Burt, Maher, Witzig Modelling 20 / 22
32 The Code Skeleton You can execute the *.zpl file with: zimpl Exercise ECP.zpl -D FILE= test data You have to complete the reading of parameters and sets... define a function... define your own variables... define the model itself (objective function, constraints, etc.) Burt, Maher, Witzig Modelling 21 / 22
33 Exercise: ZIMPL Implement the model of the equitable coach problem you have created before in ZIMPL. Use the code skeleton: /home/exercise/modelling/exercise ECP.zpl The ZIMPL user guide is located at: /home/exercise/modelling/ Burt, Maher, Witzig Modelling 22 / 22
ZIMPL User Guide. Konrad-Zuse-Zentrum für Informationstechnik Berlin THORSTEN KOCH. ZIB-Report (August 2001)
Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany THORSTEN KOCH ZIMPL User Guide ZIB-Report 01-20 (August 2001) (Zuse Institute Mathematical Programming Language)
More informationMathematics for Decision Making: An Introduction. Lecture 4
Mathematics for Decision Making: An Introduction Lecture 4 Matthias Köppe UC Davis, Mathematics January 15, 2009 4 1 Modeling the TSP as a standard optimization problem, I A key observation is that every
More informationLP SCIP NEOS URL. example1.lp 2.1 LP 1. minimize. subject to, bounds, free, general, binary, end. .lp 1 2.2
c LP SCIP LP SCIP NEOS 1. URL 2. 2.1 LP 1 LP LP.lp 1 184 8588 2 24 16 1 minimize 3x +4.5y 2z 1 + f subject to g 1,1 + g 1,2 5, 3g 1,1 7g 1,2 + z 2 10, 2f g 1,1 =6, x +0.5y = 4.6, f 0, y 0, g 1,2 0, g 1,1
More informationAddressing degeneracy in the dual simplex algorithm using a decompositon approach
Addressing degeneracy in the dual simplex algorithm using a decompositon approach Ambros Gleixner, Stephen J Maher, Matthias Miltenberger Zuse Institute Berlin Berlin, Germany 16th July 2015 @sj_maher
More informationAgenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions!
Modeling 2 Agenda Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions! Part 1: Overview of selected modeling techniques Background Range constraints
More informationTools for Modeling Optimization Problems A Short Course. Algebraic Modeling Systems. Dr. Ted Ralphs
Tools for Modeling Optimization Problems A Short Course Algebraic Modeling Systems Dr. Ted Ralphs Algebraic Modeling Systems 1 The Modeling Process Generally speaking, we follow a four-step process in
More informationDesign Principles that Make the Difference
Design Principles that Make the Difference Franz Nelissen: FNelissen@gams.com GAMS Development Corp. GAMS Software GmbH www.gams.com Company Background Roots: World Bank, 1976 GAMS Development Corporation
More informationHandling first-order linear constraints with SCIP
Handling first-order linear constraints with SCIP James Cussens, University of York KU Leuven, 2015-02-16 James Cussens, University of York FO with SCIP KU Leuven, 2015-02-16 1 / 18 MIP Mixed integer programs
More informationFundamentals of Integer Programming
Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer
More informationModelling of LP-problems (2WO09)
Modelling of LP-problems (2WO09) assignor: Judith Keijsper room: HG 9.31 email: J.C.M.Keijsper@tue.nl course info : http://www.win.tue.nl/ jkeijspe Technische Universiteit Eindhoven meeting 1 J.Keijsper
More informationIntroduction to Mathematical Programming IE406. Lecture 9. Dr. Ted Ralphs
Introduction to Mathematical Programming IE406 Lecture 9 Dr. Ted Ralphs IE406 Lecture 9 1 Reading for This Lecture AMPL Book: Chapter 1 AMPL: A Mathematical Programming Language GMPL User s Guide ZIMPL
More information3. Pyomo Fundamentals
3. Pyomo Fundamentals John D. Siirola Discrete Math & Optimization (1464) Center for Computing Research Sandia National Laboratories Albuquerque, NM USA Sandia National Laboratories is a
More informationCloud Branching MIP workshop, Ohio State University, 23/Jul/2014
Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014 Timo Berthold Xpress Optimization Team Gerald Gamrath Zuse Institute Berlin Domenico Salvagnin Universita degli Studi di Padova This presentation
More informationMathematical Tools for Engineering and Management
Mathematical Tools for Engineering and Management Lecture 1 20 Oct 2010 Overview Introduction Organisational issues Lectures Exercises Computers Book Exam Topics Why mathematics? Models and Data Sets Two
More informationNotes on AMPL for and (Adapted from notes by Sommer Gentry)
Notes on AMPL for 16.410 and 16.413 (Adapted from notes by Sommer Gentry) User Guides for MS-Dos and UNIX: http://www.ampl.com/refs/index.html#os_links About AMPL/CPLEX AMPL stands for A Mathematical Programming
More informationME1107 Computing Y Yan.
ME1107 Computing 1 2008-2009 Y Yan http://www.staff.city.ac.uk/~ensyy About Fortran Fortran Formula Translation High level computer language Basic, Fortran, C, C++, Java, C#, (Matlab) What do we learn?
More informationGAMS. General Algebraic Modeling System. EURO 2009 Bonn. Michael Bussieck Jan-Hendrik Jagla
GAMS General Algebraic Modeling System Michael Bussieck mbussieck@gams.com Jan-Hendrik Jagla jhjagla@gams.com GAMS Software GmbH www.gams.de GAMS Development Corporation www.gams.com EURO 2009 Bonn GAMS
More informationPrepared by: Shraddha Modi
Prepared by: Shraddha Modi Introduction Operator: An operator is a symbol that tells the Computer to perform certain mathematical or logical manipulations. Expression: An expression is a sequence of operands
More informationOutline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises
Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING 1. Lecture 5 Mixed Integer Programming and Exercises Marco Chiarandini 2. 3. 2 Outline Modeling 1. Min cost flow Shortest path 2. Max flow Assignment
More informationChoice of C++ as Language
EECS 281: Data Structures and Algorithms Principles of Algorithm Analysis Choice of C++ as Language All algorithms implemented in this book are in C++, but principles are language independent That is,
More informationConstraint Modeling. with MiniZinc. Jakub Bulín. Department of CU Prague
Constraint Modeling with MiniZinc Jakub Bulín Department of Algebra @ CU Prague Table of contents 1. Intro & the theory part 2. An overview of MinZinc 3. Examples of constraint models 4. Learn more 1 In
More informationOperators and Expressions in C & C++ Mahesh Jangid Assistant Professor Manipal University, Jaipur
Operators and Expressions in C & C++ Mahesh Jangid Assistant Professor Manipal University, Jaipur Operators and Expressions 8/24/2012 Dept of CS&E 2 Arithmetic operators Relational operators Logical operators
More informationGAMS READER Introduction For what type of problems can GAMS be used? 1.3. GAMS Statement Formats
GAMS READER 1.1. Introduction GAMS is a software package to solve systems of equations. GAMS stands for General Algebraic Modelling System and is constructed by the GAMS Development Corporation. GAMS contains
More informationExact solutions to mixed-integer linear programming problems
Exact solutions to mixed-integer linear programming problems Dan Steffy Zuse Institute Berlin and Oakland University Joint work with Bill Cook, Thorsten Koch and Kati Wolter November 18, 2011 Mixed-Integer
More informationIntegrating Optimization Modeling with General-Purpose Programming for Efficient and Reliable Application Deployment
Integrating Optimization Modeling with General-Purpose Programming for Efficient and Reliable Application Deployment Robert Fourer, Filipe Brandão AMPL Optimization {4er,fdabrandao}@ampl.com Christian
More informationCOMP9334: Capacity Planning of Computer Systems and Networks
COMP9334: Capacity Planning of Computer Systems and Networks Week 10: Optimisation (1) A/Prof Chun Tung Chou CSE, UNSW COMP9334, Chun Tung Chou, 2016 Three Weeks of Optimisation The lectures for these
More informationA.1 Numbers, Sets and Arithmetic
522 APPENDIX A. MATHEMATICS FOUNDATIONS A.1 Numbers, Sets and Arithmetic Numbers started as a conceptual way to quantify count objects. Later, numbers were used to measure quantities that were extensive,
More informationOur Strategy for Learning Fortran 90
Our Strategy for Learning Fortran 90 We want to consider some computational problems which build in complexity. evaluating an integral solving nonlinear equations vector/matrix operations fitting data
More informationComputer Laboratories: Mathematical Formulation and Implementation in GAMS. S. Vitali Charles University. 3/15/2017 Copyright 2017 S.
Computer Laboratories: Mathematical Formulation and Implementation in GAMS 1 S. Vitali Charles University 3/15/2017 Copyright 2017 S. Vitali 1 3/15/2017 1.2 GAMS General Algebraic Modeling System: language
More informationMixed Integer Programming Class Library (MIPCL)
Mixed Integer Programming Class Library (MIPCL) Nicolai N. Pisaruk Belarus State University, Faculty of Economy, Nezavisimosty Av., 4, 220088 Minsk, Belarus April 20, 2016 Abstract The Mixed Integer Programming
More informationOperators and Expressions:
Operators and Expressions: Operators and expression using numeric and relational operators, mixed operands, type conversion, logical operators, bit operations, assignment operator, operator precedence
More informationSolving Scenarios in the Cloud
Solving Scenarios in the Cloud Franz Nelißen FNelissen@gams.com GAMS Development Corp. GAMS Software GmbH www.gams.com GAMS - History Roots: World Bank, 1976 Alex Meerausfounded GAMS Development Corp.
More informationAIMMS Function Reference - Error Handling Related Identifiers
AIMMS Function Reference - Error Handling Related Identifiers This file contains only one chapter of the book. For a free download of the complete book in pdf format, please visit www.aimms.com Aimms 3.13
More informationIntroduction. Problem Solving on Computer. Data Structures (collection of data and relationships) Algorithms
Introduction Problem Solving on Computer Data Structures (collection of data and relationships) Algorithms 1 Objective of Data Structures Two Goals: 1) Identify and develop useful high-level data types
More informationDefinition. A Taylor series of a function f is said to represent function f, iff the error term converges to 0 for n going to infinity.
Definition A Taylor series of a function f is said to represent function f, iff the error term converges to 0 for n going to infinity. 120202: ESM4A - Numerical Methods 32 f(x) = e x at point c = 0. Taylor
More informationCOMP1730/COMP6730 Programming for Scientists. Data: Values, types and expressions.
COMP1730/COMP6730 Programming for Scientists Data: Values, types and expressions. Lecture outline * Data and data types. * Expressions: computing values. * Variables: remembering values. What is data?
More informationWelcome to the Webinar. What s New in Gurobi 7.5
Welcome to the Webinar What s New in Gurobi 7.5 Speaker Introduction Dr. Tobias Achterberg Director of R&D at Gurobi Optimization Formerly a developer at ILOG, where he worked on CPLEX 11.0 to 12.6 Obtained
More informationSCIP Workshop 2014, Berlin, September 30, Introduction to SCIP
SCIP Workshop 2014, Berlin, September 30, 2014 Introduction to SCIP ZIB: Fast Algorithms Fast Computers Konrad-Zuse-Zentrum für Informationstechnik Berlin non-university research institute of the state
More informationVisual Basic for Applications
Visual Basic for Applications Programming Damiano SOMENZI School of Economics and Management Advanced Computer Skills damiano.somenzi@unibz.it Week 1 Outline 1 Visual Basic for Applications Programming
More informationChapter 1 Introduction to MATLAB
Chapter 1 Introduction to MATLAB 1.1 What is MATLAB? MATLAB = MATrix LABoratory, the language of technical computing, modeling and simulation, data analysis and processing, visualization and graphics,
More informationNEOS.jl (and other things)
NEOS.jl (and other things) Oscar Dowson Department of Engineering Science, University of Auckland, New Zealand. o.dowson@auckland.ac.nz Overview 1. The NEOS Server 2. NEOS.jl interface with MPB 3. File
More informationAdvanced Use of GAMS Solver Links
Advanced Use of GAMS Solver Links Michael Bussieck, Steven Dirkse, Stefan Vigerske GAMS Development 8th January 2013, ICS Conference, Santa Fe Standard GAMS solve Solve william minimizing cost using mip;
More informationENGINEERING 1020 Introduction to Computer Programming M A Y 2 6, R E Z A S H A H I D I
ENGINEERING 1020 Introduction to Computer Programming M A Y 2 6, 2 0 1 0 R E Z A S H A H I D I Today s class Constants Assignment statement Parameters and calling functions Expressions Mixed precision
More informationANSI C Programming Simple Programs
ANSI C Programming Simple Programs /* This program computes the distance between two points */ #include #include #include main() { /* Declare and initialize variables */ double
More informationData types for mcrl2
Data types for mcrl2 Aad Mathijssen April 5, 2018 We provide a syntax for the standard data types of the mcrl2 language. This syntax is intended to be a practical mix between standard mathematical notation
More informationScaLP: A Light-Weighted (MI)LP Library
ScaLP: A Light-Weighted (MI)LP Library Patrick Sittel University of Kassel sittel@uni-kassel.de Martin Kumm University of Kassel kumm@uni-kassel.de Thomas Schönwälder University of Kassel thomas.schoenwaelder@student.uni-kassel.de
More informationNOTATION AND TERMINOLOGY
15.053x, Optimization Methods in Business Analytics Fall, 2016 October 4, 2016 A glossary of notation and terms used in 15.053x Weeks 1, 2, 3, 4 and 5. (The most recent week's terms are in blue). NOTATION
More informationTwo Approaches to Algorithms An Example (1) Iteration (2) Recursion
2. Recursion Algorithm Two Approaches to Algorithms (1) Iteration It exploits while-loop, for-loop, repeat-until etc. Classical, conventional, and general approach (2) Recursion Self-function call It exploits
More informationAdvanced Operations Research Techniques IE316. Lecture 10. Dr. Ted Ralphs
Advanced Operations Research Techniques IE316 Lecture 10 Dr. Ted Ralphs IE316 Lecture 10 1 Reading for This Lecture AMPL Book: Chapter 1 AMPL: A Mathematical Programming Language IE316 Lecture 10 2 Software
More informationTutorial on CPLEX Linear Programming
Tutorial on CPLEX Linear Programming Combinatorial Problem Solving (CPS) Enric Rodríguez-Carbonell June 8, 2018 LP with CPLEX Among other things, CPLEX allows one to deal with: Real linear progs (all vars
More informationMATLAB INTRODUCTION. Risk analysis lab Ceffer Attila. PhD student BUTE Department Of Networked Systems and Services
MATLAB INTRODUCTION Risk analysis lab 2018 2018. szeptember 10., Budapest Ceffer Attila PhD student BUTE Department Of Networked Systems and Services ceffer@hit.bme.hu Előadó képe MATLAB Introduction 2
More informationC++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 6: User-Defined Functions I
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 6: User-Defined Functions I In this chapter, you will: Objectives Learn about standard (predefined) functions and discover
More informationROPI. A Robust Optimization Programming Interface Version 0.1.0
ROPI A Robust Optimization Programming Interface Version 0.1.0 Written by Marc Goerigk Institute for Numerical and Applied Mathematics University of Göttingen, Germany m.goerigk@math.uni-goettingen.de
More informationLesson 10: Representing, Naming, and Evaluating Functions
: Representing, Naming, and Evaluation Functions Classwork Opening Exercise Study the 4 representations of a function below. How are these representations alike? How are they different? TABLE: Input 0
More informationFree modelling languages for linear and integer programming
Alistair Clark Free modelling languages for linear and integer programming Alistair Clark Faculty of Computing, Engineering and Mathematical Sciences University of the West of England alistair.clark@uwe.ac.uk
More informationA Fast Review of C Essentials Part I
A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types
More informationLaGO - A solver for mixed integer nonlinear programming
LaGO - A solver for mixed integer nonlinear programming Ivo Nowak June 1 2005 Problem formulation MINLP: min f(x, y) s.t. g(x, y) 0 h(x, y) = 0 x [x, x] y [y, y] integer MINLP: - n
More informationRecent enhancements in. GAMS Development Corporation
Recent enhancements in Jan-H. Jagla jhjagla@gams.com GAMS Software GmbH GAMS Development Corporation www.gams.de www.gams.com GAMS at a Glance General Algebraic Modeling System Roots: World Bank, 1976
More informationAIMMS Function Reference - GMPInstance Procedures and Functions
AIMMS Function Reference - Instance Procedures and Functions This file contains only one chapter of the book. For a free download of the complete book in pdf format, please visit www.aimms.com Aimms 3.13
More informationCSCE 120: Learning To Code
CSCE 120: Learning To Code Manipulating Data I Introduction This module is designed to get you started working with data by understanding and using variables and data types in JavaScript. It will also
More informationSTEPHEN WOLFRAM MATHEMATICADO. Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS
STEPHEN WOLFRAM MATHEMATICADO OO Fourth Edition WOLFRAM MEDIA CAMBRIDGE UNIVERSITY PRESS Table of Contents XXI a section new for Version 3 a section new for Version 4 a section substantially modified for
More informationGAMS. Stefan Vigerske October 2nd, 2015, Berlin
GAMS Stefan Vigerske stefan@gams.com October 2nd, 2015, CO@Work, Berlin Prologue Material to this lecture: http://co-at-work.zib.de/files/gams/ CO@Work virtual machines: GAMS is installed (run gams) Download
More informationThe SCIP Optimization Suite 3.2
The SCIP Optimization Suite 3.2 Gerald Gamrath 1, Tobias Fischer 2, Tristan Gally 2, Ambros M. Gleixner 1, Gregor Hendel 1, Thorsten Koch 1, Stephen J. Maher 1, Matthias Miltenberger 1, Benjamin Müller
More informationCSI31 Lecture 5. Topics: 3.1 Numeric Data Types 3.2 Using the Math Library 3.3 Accumulating Results: Factorial
CSI31 Lecture 5 Topics: 3.1 Numeric Data Types 3.2 Using the Math Library 3.3 Accumulating Results: Factorial 1 3.1 Numberic Data Types When computers were first developed, they were seen primarily as
More informationMAS212 Assignment #1 (2018): Rational approximations
MAS212 Assignment #1 (2018): Rational approximations Dr Sam Dolan (sdolan@sheffieldacuk) In this assignment you will use Python to find rational approximations to real numbers such as π, 2 and the golden
More informationIntroduction to Engineering gii
25.108 Introduction to Engineering gii Dr. Jay Weitzen Lecture Notes I: Introduction to Matlab from Gilat Book MATLAB - Lecture # 1 Starting with MATLAB / Chapter 1 Topics Covered: 1. Introduction. 2.
More informationKS3 Progression Map: Number
KS3 Progression Map: Number This progression map expands upon the statements of subject content in the DfE document Mathematics programmes of study: Key Stage 3 published September 2013. Suggested allocation
More informationMaths. Formative Assessment/key piece of work prior to end of unit: Term Autumn 1
Term Autumn 1 3 weeks Negative numbers Multiples and factors Common factors Prime numbers Ordering decimal numbers Rounding Square numbers and square roots Prime factor decomposition LCM and HCF Square
More informationGraph Optimization - Lab 1
Graph Optimization - Lab 1 ORLAB - Operations Research Laboratory Stefano Gualandi October 24, 2011 What you do during lab sessions Data Math Model Algorithms Solver Solution(s) Modeling Interpretation
More informationCounting shapes 1.4.6
GRADE R_TERM 1 WEEK TOPIC CONTENT CAMI KEYSTROKE CAMI Program Count in ones 1.1.1.1; 1.1.1.2; 1.1.1.3 1.1.1.4 Cami Math Count pictures 1.1.3.1; 1.1.3.2; 1 & 2 Counting 1.1.3.3; 1.1.3.4; Counting in units
More informationIntroduction to Mosel and Xpress
ORLAB - Operations Research Laboratory Politecnico di Milano, Italy April 15, 2011 From Modeling to Strategies Model Algorithms Solution(s) Problem Modeling Interpretation Strategy From Modeling to Strategies
More informationConstraint Programming 101
Constraint Programming 101 Jacob Feldman, Ph.D. Founder & CTO OpenRules Inc. Shock Troops for Enterprise Decision Management I have concluded that decision making and the techniques and technologies to
More informationScientific Computing
Scientific Computing Martin Lotz School of Mathematics The University of Manchester Lecture 1, September 22, 2014 Outline Course Overview Programming Basics The C++ Programming Language Outline Course
More informationMath Content
2013-2014 Math Content PATHWAY TO ALGEBRA I Hundreds and Tens Tens and Ones Comparing Whole Numbers Adding and Subtracting 10 and 100 Ten More, Ten Less Adding with Tens and Ones Subtracting with Tens
More informationMath Glossary Numbers and Arithmetic
Math Glossary Numbers and Arithmetic Version 0.1.1 September 1, 200 Next release: On or before September 0, 200. E-mail edu@ezlink.com for the latest version. Copyright 200 by Brad Jolly All Rights Reserved
More informationThe following information is for reviewing the material since Exam 3:
Outcomes List for Math 121 Calculus I Fall 2010-2011 General Information: The purpose of this Outcomes List is to give you a concrete summary of the material you should know, and the skills you should
More informationElementary maths for GMT. Algorithm analysis Part I
Elementary maths for GMT Algorithm analysis Part I Algorithms An algorithm is a step-by-step procedure for solving a problem in a finite amount of time Most algorithms transform input objects into output
More informationABE Math TABE Modules 1-10
MODULE COMPETENCIES CW/HW Competencies M1 1. TABE Score Copy DAY 2. Data Form ONE PRETEST 3. First Exam (Pretest E/M/D/A) 4. Orientation M2 5. The Number System Whole Reviewing Place Value Naming Large
More information2 Introduction to GAMS
2 Introduction to GAMS 2.1. Introduction GAMS stands for General Algebraic Modeling System. It is a software package for: - Designing and - Solving various types of models. Originally developed by a group
More informationThe Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach
The Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach Andreas Lundell a, Jan Kronqvist b, and Tapio Westerlund
More informationSAMS Programming A/B. Lecture #1 Introductions July 3, Mark Stehlik
SAMS Programming A/B Lecture #1 Introductions July 3, 2017 Mark Stehlik Outline for Today Overview of Course A Python intro to be continued in lab on Wednesday (group A) and Thursday (group B) 7/3/2017
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationENGI Introduction to Computer Programming M A Y 2 8, R E Z A S H A H I D I
ENGI 1020 - Introduction to Computer Programming M A Y 2 8, 2 0 1 0 R E Z A S H A H I D I Last class Last class we talked about the following topics: Constants Assignment statements Parameters and calling
More informationSolving Difficult MIP Problems using GAMS and Condor
Solving Difficult MIP Problems using GAMS and Condor Michael R. Bussieck MBussieck@gams.com GAMS Software GmbH http://www.gams.de Michael C. Ferris Ferris@cs.wisc.edu University of Wisconsin-Madison http://www.cs.wisc.edu/~ferris/
More informationThe SCIP Optimization Suite 4.0
Zuse Institute Berlin Takustrasse 7 D-14195 Berlin-Dahlem Germany STEPHEN J. MAHER, TOBIAS FISCHER, TRISTAN GALLY, GERALD GAMRATH, AMBROS GLEIXNER, ROBERT LION GOTTWALD, GREGOR HENDEL, THORSTEN KOCH, MARCO
More informationSharp EL-9900 Graphing Calculator
Sharp EL-9900 Graphing Calculator Basic Keyboard Activities General Mathematics Algebra Programming Advanced Keyboard Activities Algebra Calculus Statistics Trigonometry Programming Sharp EL-9900 Graphing
More informationDeveloping Optimization Applications Quickly and Effectively with Algebraic Modeling in AMPL
Developing Optimization Applications Quickly and Effectively with Algebraic Modeling in AMPL Robert Fourer 4er@ampl.com AMPL Optimization Inc. www.ampl.com +1 773-336-AMPL INFORMS Annual Meeting Houston
More informationReals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.
Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be
More informationWorking with JavaScript
Working with JavaScript Creating a Programmable Web Page for North Pole Novelties 1 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page 2 Objectives
More informationSolving Large-Scale Energy System Models
Solving Large-Scale Energy System Models Frederik Fiand Operations Research Analyst GAMS Software GmbH GAMS Development Corp. GAMS Software GmbH www.gams.com Agenda 1. GAMS System Overview 2. BEAM-ME Background
More informationCOMS W4115. Programming Languages and Translators. ASML: White Paper
COMS W4115 Programming Languages and Translators ASML: White Paper 09/23/2003 Davidov, Olga olga.davidov@riag.com ASML: ARRAY SORTING AND MANIPULATION LANGUAGE Introduction ASML is designed to be a simple,
More informationGetting Started. Office Hours. CSE 231, Rich Enbody. After class By appointment send an . Michigan State University CSE 231, Fall 2013
CSE 231, Rich Enbody Office Hours After class By appointment send an email 2 1 Project 1 Python arithmetic Do with pencil, paper and calculator first Idle Handin Help room 3 What is a Computer Program?
More informationRapid Application Development & Grid Computing Using GAMS. Software Demonstration INFORMS San Francisco 2005
Rapid Application Development & Grid Computing Using GAMS Software Demonstration INFORMS San Francisco 2005 1 Demo Objectives Basics / Algebraic Modeling Data Exchange / Charting Tying things together
More informationThe MIP-Solving-Framework SCIP
The MIP-Solving-Framework SCIP Timo Berthold Zuse Institut Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 23.05.2007 What Is A MIP? Definition MIP The optimization problem
More informationObjectives. In this chapter, you will:
Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates arithmetic expressions Learn about
More informationJava Programming Unit 3: Variables and Arithmetic Operations
Java Programming Unit 3: Variables and Arithmetic Operations Bensalem Township School District Standards Link: PA State Standards for Business Education: http://www.pdesas.org/standard/views#114,115,116,117
More informationTopic 3: MiniZinc (Version of 10th November 2015)
Topic 3: (Version of 10th November 2015) Jean-Noël Monette ASTRA Research Group on Combinatorial Optimisation Uppsala University Sweden Course 1DL449: for Combinatorial Optimisation Outline 1 2 3 4 5 Course
More informationData Types. (with Examples In Haskell) COMP 524: Programming Languages Srinivas Krishnan March 22, 2011
Data Types (with Examples In Haskell) COMP 524: Programming Languages Srinivas Krishnan March 22, 2011 Based in part on slides and notes by Bjoern 1 Brandenburg, S. Olivier and A. Block. 1 Data Types Hardware-level:
More informationLecture 13: (Integer Multiplication and Division) FLOATING POINT NUMBERS
Lecture 13: (Integer Multiplication and Division) FLOATING POINT NUMBERS Lecture 13 Floating Point I (1) Fall 2005 Integer Multiplication (1/3) Paper and pencil example (unsigned): Multiplicand 1000 8
More informationObjectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program
Objectives Chapter 2: Basic Elements of C++ In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates
More information