e-companion ONLY AVAILABLE IN ELECTRONIC FORM
|
|
- Silvester Burke
- 6 years ago
- Views:
Transcription
1 OPERATIONS RESEARCH doi /opre ec e-companion ONLY AVAILABLE IN ELECTRONIC FORM informs 2010 INFORMS Electronic Companion Optimization Services: A Framework for Distributed Optimization by Robert Fourer, Jun Ma, and Kipp Martin, Operations Research, doi /opre
2 Optimization Services: A Framework for Distributed Optimization Online Supplement Robert Fourer, Jun Ma Department of Industrial Engineering and Management Sciences, Northwestern University, Evanston, Illinois 60208, USA, {4er@iems.northwestern.edu, maj@iems.northwestern.edu} Kipp Martin Graduate School of Business,University of Chicago, 5807 South Woodlawn Avenue, Chicago, Illinois 60637, USA, kmartin@chicagobooth.edu 1. Introduction This is meant to be an online supplement to the paper, Optimization Services: A Framework for Distributed Optimization by Fourer, Ma, and Martin. This supplement contains expanded coverage of how to represent an optimization instance using OSiL plus a detailed example of how to call an Optimization Services (OS) solver over the network. 2. Optimization Services Instance Language To complete the specification of a linear problem (possibly with integer variables), the OSiL schema incorporates the complextype LinearConstraintCoefficients, that defines a <linearconstraintcoefficients> section that contains the nonzero coefficients in the constraints. The coefficients are described by use of a standard three-array sparse matrix storage scheme: an array of nonzero coefficients in a child element <value>, a corresponding array of row indices or column indices in a child element <rowidx> or <colidx>, and in a child element <start> an array that indicates where each row or column begins within the previous two arrays. There are other ways of specifying a constraint coefficient matrix, and we considered designing OSiL to offer a choice of alternatives. In the end we chose to include only the three-array scheme, because it is simple, compact, and easily converted to and from other schemes by auxiliary software. Linear constraints have the general form lb-const linear-expr ub-const, allowing for the special cases lb-const =, ub-const = +, and lb-const = ub-const (an equality 1
3 constraint). The lb-const and ub-const values that aren t infinite are naturally stored in OSiL s <constraints> section. Finally, a decision must be made about the handling of the linear objective coefficients. One or more objectives may be included with the constraints, identified by lb-const and ub-const values that are both infinite. This design is attractive for its simplicity; but the objective coefficients are potentially scattered among the constraint coefficients, and are hard to extract for the purposes of some solvers. Instead, OSiL places the nonzero objective coefficients in the separate <objectives> section. This approach has the further advantage of generalizing cleanly to the nonlinear case. Optimization problems may incorporate expressions that are not linear and a true standard must accommodate these as well. A natural way to represent general expressions in XML is to define an element for each operator or function, with child elements specifying the operands or arguments. Each child may itself be an element for an operator or function, so that the entire graph of the expression is defined recursively in a natural way. As an example, Figure 1 shows the OSiL representation of the term ln(x 0 x 1 ) that appears in Equation (3). These representations are placed in a <nonlinearexpressions> section of the OSiL file, that is defined by a NonlinearExpressions complextype in the OSiL schema. <ln> <times> <variable idx="0"/> <variable idx="1"/> </times> </ln> Figure 1: The OSiL representation of ln(x 0 x 1 ). One of the greatest challenges of our project was to figure out how to define this schema, to permit efficient parsing of the many elements representing operators and functions that can reasonably be considered fundamental to optimization problems. There are over 200 such elements, as shown in Figure 2. In addition to the usual smooth nonlinear functions such as log and cosine, there are comparison and logical operators, statistical functions and distributions, and common spreadsheet operators. The key to writing an efficient schema to encompass all of the potential elements of an expression is to first define a general complextype OSnLNode, and an abstract element of that type, also named OSnLNode, as shown in Figure 3. Then each element corresponding to 2
4 a different node of the expression graph is defined by a complextype that extends OSnLNode and by an element of that complextype. Figure 4 shows as an example the definition of the element <times> from Figure 1, via the complextype <OSnLNodeTimes>. The line <xs:sequence minoccurs="2" maxoccurs="2"> specifies that the element has exactly two children, corresponding to the two operands of any multiplication operator. This arrangement analogous to the use of virtual classes in object-oriented programming languages permits a parser to validate an OSiL file against the schema without a complex conditional or switch statement to find each element among the many possibilities. A detailed explanation of the schema and parser issues is beyond the scope of this paper, but can be found in Fourer, Ma, and Martin (2007). Linear expressions are a special case of nonlinear ones, and so in principle OSiL requires no special features for linear objectives and constraints. It makes sense to handle the linear case specially, however, because there is a particularly efficient way to write linear expressions (in terms of coefficient lists) and because there are many optimization algorithm prepared to take advantage of this efficiency. We considered other cases that could be handled specially, but in the end decided that only quadratic expressions merited special handling in OSiL, because they can also be viewed in a simple way as coefficient lists, and are the target of several specialized algorithms that are widely implemented. OSiL represents each quadratic term by four values in a <quadraticcoefficients> section: an identifying number for the Category Examples Number in Category Arithmetic Plus, Sum, Power 10 Elementary Log, Factorial, Round 22 Trigonometric Cos, Arccos, Cosh 24 Statistics Mean, Percentile, Npv 30 Probability BetaDist, GammaCum, NormalInv 92 Boolean Leq, Or, InSet, AllDiff 26 Variable Variable, RandomVariable 5 Terminal Number, String, Identifier 3 Constant PI, INF, TRUE, NAN 8 Other Quadratic, XPath, Complements 12 Figure 2: Number of element types in OSiL s general expression graphs. 3
5 <xs:complextype name="osnlnode" mixed="false"> </xs:complextype> <xs:element name="osnlnode" type="osnlnode" abstract="true"> </xs:element> Figure 3: Definition of a generic expression-graph node is OSiL. <xs:complextype name="osnlnodetimes"> <xs:complexcontent> <xs:extension base="osnlnode"> <xs:sequence minoccurs="2" maxoccurs="2"> <xs:element ref="osnlnode"/> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> <xs:element name="times" type="osnlnodetimes" substitutiongroup="osnlnode"> </xs:element> Figure 4: Definition of the <times> element in OSiL. objective or constraint in which it lies, indices of its two variables, and a coefficient. An example is given in Fourer, Ma, and Martin (2007). 3. Calling an Optimization Solver The goal of our research is to provide a framework for making optimization a service. The purpose of the COIN-OR OS project is to provide a reference implementation of the framework. Here we illustrate how the reference implementation of the framework is used to solve an optimization model in a distributed environment. In this illustration the client machine has a problem instance rosenbrockmod.osil (see Equations (1)-(4) in the main paper) that is sent to the server for optimization. In each of the steps below the OSSolverService client reads a configure file at the command line and implements the options in the configure file. The reader may wish to refer back to Figure 18 in the main paper while reading the material in this appendix. Step 1: Use the OSSolverService method getjobid() method to get a job ID. In this step, and each of the steps that follow, a configuration file is given to the OSSolverService. The configuration file provides the necessary information for the OSSolverService to perform 4
6 the required task. A call to the OSSolverService is illustrated below. In the call the configuration file is named testremotegetjobid.config: OSSolverService -config../data/configfiles/testremotegetjobid.config The options listed in the configuration file testremotegetjobid.config are as follows: -servicelocation -servicemethod getjobid This configuration file specifies two options. The first option, servicelocation, specifies the location of the server performing the service. The second option, servicemethod, is equal to getjobid and this tells the OSSolverService to request a job ID from the server. The server response to this request is a job ID that is a very long string involving IP numbers, time of day, etc. For illustration purposes, assume the job ID returned is xyz123aug3010am. Step 2: Next, the model instance is submitted using the send() method. Again, a configuration file, testremotesend.config is passed to the OSSolverService: OSSolverService -config../data/configfiles/testremotesend.config The options in testremotesend.config are as follows: -servicelocation -servicemethod send -osil../data/osilfiles/rosenbrockmod.osil -osol../data/osolfiles/sendwithjobid.osol The first line is again the service location of the server that will perform the optimization service. The second option is again the servicemethod and tells the OSSolverService that the send() method should be used. The send() method requires an optimization instance and options for the solver. The third option in the configuration file is osil and this specifies the location of the optimization instance. Similarly the last option, osol, specifies the location of the file that contains the options provided to the solver. The sendwithjobid.osol file is <osol> <general> <jobid>xyz123aug3010am</jobid> <contact transporttype="smtp"> kipp.martin@chicagogsb.edu </contact> <solvertoinvoke>ipopt</solvertoinvoke> </general> </osol> 5
7 The OSoL file provides the Job ID and an address of the sender. The Web Service will send an to this address notifying the sender when the job is complete. There is also an option telling which solver to use, in this case the COIN-OR solver Ipopt. The result returned by server is true if the job is successfully submitted, false otherwise. Step 3: The knock() service method is used to find the status of a job with a specific ID, or other jobs on the server and other summary statistics. Again, a configuration file is given to the OSSolverService on the client machine: OSSolverService -config../data/configfiles/testremoteknock.config The testremoteknock.config file is: -servicelocation -servicemethod knock -osplinput../data/osplfiles/knock.ospl -osol../data/osolfiles/knock.osol The configuration specifies the service location just as before and also specifies that the servicemethod is knock. The knock() service method takes two arguments. The location of the file for the first argument is specified by the osplinput option. This argument provides information on the type of summary statistics that are desired. These options are specified using OSpL (Optimization Service Protocol Language). The OSpL file, knock.ospl, is <ospl> <processheader> <request action="getall"/> </processheader> <processdata/> </ospl> In this example, the key element in the OSpL file is <request action="getall"/>, which tells the server to return information on all of the jobs. The result of this request is very detailed information on all of the jobs solved by the server. This information is in OSpL format. The last option, osol, is the location of the file for the second argument for the knock() service method. For example, the user who wishes to override the <request action="getall"/> request, which can be quite voluminous, can specify a specific jobid in the osol option file and only information on that job is returned: 6
8 <osol> <general> <jobid>xyz123aug3010am</jobid> </general> </osol> A segment of the string that is returned in OSpL format is illustrated below. In this case we can see that the job with jobid xyz123aug3010am has finished. <jobs> <job jobid="xyz123aug3010am"> <state>finished</state> <serviceuri> <submittime> t00:27: :00</submittime> <starttime> t00:27: :00</starttime> <endtime> t00:27: :00</endtime> <duration>2.531</duration> </job> </jobs> Step 4: The last step is to retrieve the solution and display the results in a browser. The configuration file testremoteretrieve.config provides the necessary option values: OSSolverService The testremoteretrieve.config file is: -config../data/configfiles/testremoteretrieve.config -servicelocation -servicemethod retrieve -osol../data/osolfiles/retrieve.osol -osrl./test.osrl -browser /Applications/Firefox.app/Contents/MacOS/firefox The first two options in the configure file are as in the previous steps. They specify the location of the Web service and the service method. In this case the servicemethod is retrieve i.e. get the answer. The third line is the option that specifies the location of the options file. In this example, the options file contains the job ID that was assigned in Step 1, xyz123aug3010am, so that the server knows which job result to return. The file retrieve.osol is actually identical to the file knock.osol illustrated above. The osrl option on the fourth line tells the OSSolverService where to write the result of the optimization. In this case the solution result in the OSrL protocol is written into a file called test.osrl in the directory where the OSSolverService is executing. The last line is the location of the browser on the client machine. The optimal solution displayed in the browser is shown 7
9 in Figure 5. Figure 5: The optimization result displayed in a browser. 4. Using the AMPL and GAMS with Optimization Services Assume that the AMPL executable ampl (or ampl.exe on Windows) obtained from www. ampl.com, the OS OSAmplClient, and the AMPL test problem rbrockmod.mod which is: Minimize (1 x 0 ) (x 1 x 2 0) 2 + 9x 1 (1) Subject to x x x x 0 x 1 25 (2) ln(x 0 x 1 ) + 7.5x x 1 10 (3) x 0, x 1 0 (4) 8
10 are all in the same directory. To solve this problem locally by calling the OSAmplClient from AMPL, using the nonlinear COIN-OR solver Ipopt, first start AMPL and then execute the following commands: # take in modified rosenbrock # assume the problem is in the AMPL directory model rbrockmod.mod; # tell AMPL that the solver is OSAmplClient option solver OSAmplClient; # now tell OSAmplClient to use Ipopt option OSAmplClient options "solver ipopt"; # now solve the problem solve; This will invoke Ipopt locally and the result in OSrL format will be displayed on the screen. In order to call a remote solver service, after the command option OSAmplClient options "solver ipopt"; set the solver service option to the address of the remote solver service: option ipopt options "service In this case it is necessary that the Ipopt solver be part of the OS build on the server. GAMS is used in a similar fashion. Assume that the Rosenbrock model in (1) (4) is expressed in the GAMS modeling language in the file rbrockmod.gams. Then, using the appropriate binaries that can be built from the source code available at the COIN-OR GAMSlinks project (projects.coin-or.org/gamslinks), the model is optimized as follows. gams rbrockmod nlp=os optfile=1 The option optfile=1 tells GAMS to read the file os.opt for additional options. os.opt file is writeosil osil.xml writeosrl osrl.xml service solver ipopt The first line instructs GAMS to output the model instanced to osil.xml. The second line instructs GAMS to write the solver output to osrl.xml. The service option specifies the location of the solver. Finally, the last option solver specifies that the COIN-OR solver Clp is to be used for model solution. The 9
11 5. Protocol Layers In Figure 6 we illustrate in more detail what the user sees in Figure 6 of the main paper. In particular, note the presence of an HTTP Request, an HTTP Header, and an HTTP Body. The body contains a SOAP envelope. Inside the SOAP envelop is the element <retrieve> which is a method specified in the OShL communication protocol. This protocol contains another element <osol> which is a specific instance of the OSoL representation protocol. 10
12 Figure 6: OShL and OSoL protocols inside a SOAP envelope inside an HTTP body. 11
13 References Brooke, A., Kendrick, D., Meeraus, A GAMS, A User s Guide. Scientific Press, Redwood City, CA. Updated at Czyzyk, J., Owen, J.H., Wright, S.J Optimization on the Internet. OR/MS Today 24(5) Czyzyk, J., Mesnier, J., Moré, J.J The NEOS server. IEEE Journal on Computational Science and Engineering Dolan, E.D., Fourer, R., Goux, J.-P., Munson, T.S., Sarich, J Kestrel: An Interface from Optimization Modeling Systems to the NEOS Server. INFORMS Journal on Computing Fourer, R., Gassmann, H.I., Ma, J., Martin, K An XML-Based Schema for Stochastic Programs. Annals of Operations Research Fourer, R., Gay, D.M., Kernighan, B.W AMPL: A Modeling Language for Mathematical Programming, 2nd edition. Brooks/Cole, Cengage Learning, Florence, KY. Fourer, R., Goux, J.-P Optimization as an Internet Resource. Interfaces 31(2) Fourer, R., Ma, J., Martin, K OSiL: An Instance Language for Optimization. Forthcoming in Computational Optimization and Applications published online dx.doi.org/ /s Fourer, R., Ma, J., Martin, K Optimization Services: A Framework for Distributed Optimization. Online Supplement. gsbkip.chicagogsb.edu/optimization ServicesOnline.pdf. Ma, J Optimization services (OS), a General Framework for Optimization Modeling Systems. Ph.D. Dissertation, Department of Industrial Engineering & Management Sciences, Northwestern University, Evanston, IL. publications/thesis2005.pdf. Rosenbrock, H.H An Automatic Method for Finding the Greatest or Least Value of a Function. Computer Journal
14 Skonnard, A., Gudgin, M Essential XML Quick Reference. Pearson Education. 13
Optimization Services Instance Language (OSiL)
Optimization Services Instance Language (OSiL) Robert Fourer Jun Ma Northwestern University Kipp Martin University of Chicago Kipp Martin University of Chicago kipp.martin@chicagogsb.edu Outline 1. Background
More informationThe Optimization Services Solver Interface
1 The Optimization Services Solver Interface Horand Gassmann Dalhousie University Jun Ma Northwestern University Kipp Martin University of Chicago (kmartin@chicagobooth.edu) November 10, 2010 Outline Motivation
More informationOptimization Services: A Framework For Distributed Optimization
1 Optimization Services: A Framework For Distributed Optimization Kipp Martin Booth School of Business University of Chicago November 7, 2010 Outline What is Optimization Services (OS)? Instance and Solver
More informationOptimization Services hookup Language (OShL) Jun Ma. -- API for invoking Remote Solver Service
Optimization Services hookup Language (OShL) -- API for invoking Remote Solver Service -- Think of HTTP/HTML, JDBC/ODBC -- Open Source -- Platform Independent -- Programming Language Independent Jun Ma
More informationThe Optimization Services Project on COIN-OR
The Optimization Services Project on COIN-OR Robert Fourer, Jun Ma Industrial Engineering & Management Sciences Northwestern University [4er,maj]@iems.northwestern.edu Kipp Martin Graduate School of Business
More informationOptimization Services (OS) Today: open Interface for Hooking Solvers to Modeling Systems
Optimization Services (OS) Today: open Interface for Hooking Solvers to Modeling Systems Jun Ma Northwestern University - Next generation distributed optimization (NEOS) - Framework for Optimization Software
More informationOptimization Services Instance Language (OSiL) Part I. Jun Ma. Robert Fourer. Jun Ma. Northwestern University Kipp Martin University of Chicago
Optimization Services Instance Language (OSiL) Part I Robert Fourer Jun Ma Northwestern University Kipp Martin University of Chicago Jun Ma maj@northwestern.edu Industrial Engineering and Management Sciences,
More informationUsing the CoinAll Binaries
Using the CoinAll Binaries Horand Gassmann, Jun Ma, Kipp Martin September 3, 2015 Abstract This document explains how to get up and running quickly with the CoinAll binaries. It is intended for users of
More informationSolver Communications: Options and Results
Noname manuscript No. (will be inserted by the editor) Solver Communications: Options and Results Horand Gassmann Jun Ma Kipp Martin the date of receipt and acceptance should be inserted later Abstract
More informationAn open-source stochastic programming solver. H.I. Gassmann, Dalhousie University J. Ma, JTechnologies R.K. Martin, The University of Chicago
An open-source stochastic programming solver H.I. Gassmann, Dalhousie University J. Ma, JTechnologies R.K. Martin, The University of Chicago ICSP 2013 Overview Open source software COIN-OR Optimization
More informationCoinEasy. Kipp Martin Booth School of Business University of Chicago. November 9, 2010
CoinEasy Kipp Martin Booth School of Business University of Chicago November 9, 2010 IMPORTANT DISCLAIMER! What follows are opinions of this author not official opinions of the COIN-OR Strategic Leadership
More informationOptimization Services and Nonlinear Programming
Optimization Services and Nonlinear Programming Robert Fourer Northwestern University Jun Ma Northwestern University Kipp Martin University of Chicago November 6, 2007 Outline The Context The OS AP Algorithmic
More informationAn XML-Based Standard for Representing Linear Programming Problem Instances
An XML-Based Standard for Representing Linear Programming Problem Instances Robert Fourer Industrial Engineering & Management Sciences Northwestern University, Evanston, IL, USA 4er@iems.northwestern.edu
More informationCloud Pioneers: NEOS and Optimization Services
Cloud Pioneers: NEOS and Optimization Services Robert Fourer Industrial Engineering & Management Sciences Northwestern University, Evanston, IL, USA AMPL Optimization LLC 4er@northwestern.edu 4er@ampl.com
More informationOptimization Services (OS)
Optimization Services (OS) [Summary for Review by the George B. Dantzig Dissertation Award Committee] Jun Ma NORTHWESTERN UNIVERSITY EVANSTON, ILLINOIS JUNE, 2005 A DISSERTATION SUBMITTED TO THE GRADUATE
More informationLPFML: A W3C XML Schema for Linear and Integer Programming. Robert Fourer Northwestern University
LPFML: A W3C XML Schema for Linear and Integer Programming Robert Fourer Northwestern University 4er@iems.northwestern.edu Leonardo Lopes University of Arizona leo@sie.arizona.edu Kipp Martin University
More informationModeling Systems and Optimization Services
Modeling Systems and Optimization Services Preface Part I Modeling Systems Chapter 1. Introduction Chapter 2. Modeling System Components 1. Models and Mathematical Programs 2. Modeling Languages and Environments
More informationOptimization Services (OS) Jun Ma. -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS
Optimization Services (OS) -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS -- The OR Internet Jun Ma Industrial Engineering and Management Sciences
More informationSource Code Not Required: Using the COIN-OR Binaries
Source Code Not Required: Using the COIN-OR Binaries COIN-OR TLC Binary Committee: JP Fasano, IBM Corporation Leo Lopes, University of Arizona Kipp Martin, University of Chicago Ted Ralphs, Lehigh University
More informationProject Summary. Next-Generation Servers for Optimization as an Internet Resource
Project Summary Next-Generation Servers for Optimization as an Internet Resource Large-scale optimization has been a subject of investigation for over 50 years, but the challenge of making it useful in
More informationOptimization Services Modeling Language (OSmL)
Optimization Services Modeling Language (OSmL) Jun Ma Northwestern University Kipp Martin University of Chicago November 15, 2005 Outline ntroduction and Motivation The OSmL Philosophy OSmL Syntax Data
More informationOptimization Via the Internet: NEOS 5 and Beyond
Optimization Via the Internet: NEOS 5 and Beyond Robert Fourer Industrial Engineering & Management Sciences Northwestern University Evanston, Illinois 60208-3119, U.S.A. 4er@iems.northwestern.edu www.iems.northwestern.edu/~4er/
More informationOn why C# s type system needs an extension
On why C# s type system needs an extension Wolfgang Gehring University of Ulm, Faculty of Computer Science, D-89069 Ulm, Germany wgehring@informatik.uni-ulm.de Abstract. XML Schemas (XSD) are the type
More informationOptimization Services (OS) Jun Ma. -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS
Optimization Services (OS) -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS -- The OR Internet Jun Ma Industrial Engineering and Management Sciences
More informationComparison of Some High-Performance MINLP Solvers
Comparison of Some High-Performance MINLP s Toni Lastusilta 1, Michael R. Bussieck 2 and Tapio Westerlund 1,* 1,* Process Design Laboratory, Åbo Akademi University Biskopsgatan 8, FIN-25 ÅBO, Finland 2
More informationAMPL in the Cloud Using Online Services to Develop and Deploy Optimization Applications through Algebraic Modeling
AMPL in the Cloud Using Online Services to Develop and Deploy Optimization Applications through Algebraic Modeling Robert Fourer AMPL Optimization Inc. 4er@ampl.com INFORMS Conference on Business Analytics
More informationModeling with COIN-OR Tools
July 19, 2006 Simplest example: mps or lp file cbc command line Accessing Coin from AMPL GAMS Getting help and reading problems in Simplest example: mps or lp file cbc command line The command line tool
More informationMAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB
MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB MATLAB is a computer software commonly used in both education and industry to solve a wide range of problems. This Laboratory provides a brief
More information1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM
1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM 1.1 Introduction Given that digital logic and memory devices are based on two electrical states (on and off), it is natural to use a number
More informationKinds of Information. tjleone.com. Wonder. Create. Grow.
tjleone.com Wonder. Create. Grow. TJ Leone Phone 847 951 0127 237 Custer Ave Fax 847 733 8812 Evanston, IL 60202 Emal tjleone@chiaravalle.org Kinds of Information TJ Leone January 2009 Introduction Logo
More informationInteger Programming Chapter 9
1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies
More informationFundamentals of Modeling Systems and a System Approach to Simulation Optimization. Jun Ma IEMS, Northwestern University 02/02/2005
Fundamentals of Modeling Systems and a System Approach to Simulation Optimization Jun Ma IEMS, Northwestern University 0/0/005 Jun Ma, Northwestern University, February 0, 005 1. History and Background
More informationA Nonlinear Presolve Algorithm in AIMMS
A Nonlinear Presolve Algorithm in AIMMS By Marcel Hunting marcel.hunting@aimms.com November 2011 This paper describes the AIMMS presolve algorithm for nonlinear problems. This presolve algorithm uses standard
More informationCoopr User Manual: Getting Started with the Pyomo Modeling Language
Coopr User Manual: Getting Started with the Pyomo Modeling Language William E. Hart 1 Jean-Paul Watson 2 David L. Woodruff 3 November 7, 2009 1 Sandia National Laboratories, Discrete Math and Complex Systems
More informationHTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the <mymadeuptag> element and generally do their best
1 2 HTML vs. XML In the case of HTML, browsers have been taught how to ignore invalid HTML such as the element and generally do their best when dealing with badly placed HTML elements. The
More informationPerformance Evaluation of an Interior Point Filter Line Search Method for Constrained Optimization
6th WSEAS International Conference on SYSTEM SCIENCE and SIMULATION in ENGINEERING, Venice, Italy, November 21-23, 2007 18 Performance Evaluation of an Interior Point Filter Line Search Method for Constrained
More information9. Elementary Algebraic and Transcendental Scalar Functions
Scalar Functions Summary. Introduction 2. Constants 2a. Numeric Constants 2b. Character Constants 2c. Symbol Constants 2d. Nested Constants 3. Scalar Functions 4. Arithmetic Scalar Functions 5. Operators
More informationSchema schema-for-json.xsd
Schema schema-for-json.xsd schema location: attributeformdefault: elementformdefault: targetnamespace:..\schema-for-json.xsd qualified http://www.w3.org/2015/exi/json Elements Complex types Simple types
More informationV. Solving Integer Linear Programs
Optimization Methods Draft of August 26, 2005 V. Solving Integer Linear Programs Robert Fourer Department of Industrial Engineering and Management Sciences Northwestern University Evanston, Illinois 60208-3119,
More informationJava EE 7: Back-end Server Application Development 4-2
Java EE 7: Back-end Server Application Development 4-2 XML describes data objects called XML documents that: Are composed of markup language for structuring the document data Support custom tags for data
More informationWriting.nl Files. David M. Gay Optimization and Uncertainty Estimation Sandia National Laboratories Albuquerque, NM November 30, 2005
Writing.nl Files David M. Gay Optimization and Uncertainty Estimation Sandia National Laboratories Albuquerque, NM November 30, 2005 Abstract AMPL r is a language and environment for describing mathematical
More informationMetaheuristic Optimization with Evolver, Genocop and OptQuest
Metaheuristic Optimization with Evolver, Genocop and OptQuest MANUEL LAGUNA Graduate School of Business Administration University of Colorado, Boulder, CO 80309-0419 Manuel.Laguna@Colorado.EDU Last revision:
More informationWinning Positions in Simplicial Nim
Winning Positions in Simplicial Nim David Horrocks Department of Mathematics and Statistics University of Prince Edward Island Charlottetown, Prince Edward Island, Canada, C1A 4P3 dhorrocks@upei.ca Submitted:
More informationReview Questions 26 CHAPTER 1. SCIENTIFIC COMPUTING
26 CHAPTER 1. SCIENTIFIC COMPUTING amples. The IEEE floating-point standard can be found in [131]. A useful tutorial on floating-point arithmetic and the IEEE standard is [97]. Although it is no substitute
More informationModeling and Solving Nontraditional Optimization Problems Session 4a: Solver Interfaces
Modeling and Solving Nontraditional Optimization Problems Session 4a: Solver Interfaces Robert Fourer Industrial Engineering & Management Sciences Northwestern University AMPL Optimization LLC 4er@northwestern.edu
More informationSCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems
SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics Numbers & Number Systems Introduction Numbers and Their Properties Multiples and Factors The Division Algorithm Prime and Composite Numbers Prime Factors
More informationA General and Unified Design and Framework for Distributed Optimization
Industrial Engineering and Management Sciences A General and Unified Design and Framework for Distributed Optimization Ph.D. Proposal by Jun Ma Advisor: Robert Fourer A thesis proposal submitted in partial
More information[MS-MSL]: Mapping Specification Language File Format. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-MSL]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationChapter 2. Data Representation in Computer Systems
Chapter 2 Data Representation in Computer Systems Chapter 2 Objectives Understand the fundamentals of numerical data representation and manipulation in digital computers. Master the skill of converting
More informationREGULAR GRAPHS OF GIVEN GIRTH. Contents
REGULAR GRAPHS OF GIVEN GIRTH BROOKE ULLERY Contents 1. Introduction This paper gives an introduction to the area of graph theory dealing with properties of regular graphs of given girth. A large portion
More information3. Replace any row by the sum of that row and a constant multiple of any other row.
Math Section. Section.: Solving Systems of Linear Equations Using Matrices As you may recall from College Algebra or Section., you can solve a system of linear equations in two variables easily by applying
More informationNo Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.
[MS-MSL]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationFloating Point Considerations
Chapter 6 Floating Point Considerations In the early days of computing, floating point arithmetic capability was found only in mainframes and supercomputers. Although many microprocessors designed in the
More informationBits, Words, and Integers
Computer Science 52 Bits, Words, and Integers Spring Semester, 2017 In this document, we look at how bits are organized into meaningful data. In particular, we will see the details of how integers are
More informationIntroduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML
Introduction Syntax and Usage Databases Java Tutorial November 5, 2008 Introduction Syntax and Usage Databases Java Tutorial Outline 1 Introduction 2 Syntax and Usage Syntax Well Formed and Valid Displaying
More informationJMASM35: A Percentile-Based Power Method: Simulating Multivariate Non-normal Continuous Distributions (SAS)
Journal of Modern Applied Statistical Methods Volume 15 Issue 1 Article 42 5-1-2016 JMASM35: A Percentile-Based Power Method: Simulating Multivariate Non-normal Continuous Distributions (SAS) Jennifer
More informationNo Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.
[MS-OXWOOF]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,
More informationScientific Computing: An Introductory Survey
Scientific Computing: An Introductory Survey Chapter 1 Scientific Computing Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright c 2002. Reproduction
More informationMS Office for Engineers
MS Office for Engineers Lesson 4 Excel 2 Pre-reqs/Technical Skills Basic knowledge of Excel Completion of Excel 1 tutorial Basic computer use Expectations Read lesson material Implement steps in software
More information[MS-OXWOOF]: Out of Office (OOF) Web Service Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-OXWOOF]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationXDS An Extensible Structure for Trustworthy Document Content Verification Simon Wiseman CTO Deep- Secure 3 rd June 2013
Assured and security Deep-Secure XDS An Extensible Structure for Trustworthy Document Content Verification Simon Wiseman CTO Deep- Secure 3 rd June 2013 This technical note describes the extensible Data
More informationINTERIOR-POINT LINEAR PROGRAMMING SOLVERS
INTERIOR-POINT LINEAR PROGRAMMING SOLVERS HANDE Y. BENSON Abstract. We present an overview of available software for solving linear programming problems using interior-point methods. Some of the codes
More informationAnnouncements. Lab Friday, 1-2:30 and 3-4:30 in Boot your laptop and start Forte, if you brought your laptop
Announcements Lab Friday, 1-2:30 and 3-4:30 in 26-152 Boot your laptop and start Forte, if you brought your laptop Create an empty file called Lecture4 and create an empty main() method in a class: 1.00
More informationTowards Intelligent Summarising and Browsing of Mathematical Expressions
Towards Intelligent Summarising and Browsing of Mathematical Expressions Ivelina Stoyanova I.Stoyanova@alumni.bath.ac.uk Department of Computer Science University of Bath, Bath BA2 7AY United Kingdom Abstract.
More informationTreewidth and graph minors
Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under
More information[MS-ASNOTE]: Exchange ActiveSync: Notes Class Protocol. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-ASNOTE]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationlecture 10: B-Splines
9 lecture : -Splines -Splines: a basis for splines Throughout our discussion of standard polynomial interpolation, we viewed P n as a linear space of dimension n +, and then expressed the unique interpolating
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 informationOracle Enterprise Data Quality
Oracle Enterprise Data Quality Automated Loading and Running of Projects Version 9.0 January 2012 Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Oracle Enterprise Data Quality,
More informationWhy do we need an interpreter? SICP Interpretation part 1. Role of each part of the interpreter. 1. Arithmetic calculator.
.00 SICP Interpretation part Parts of an interpreter Arithmetic calculator Names Conditionals and if Store procedures in the environment Environment as explicit parameter Defining new procedures Why do
More informationPRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS
Objective PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS Explain what is meant by compiler. Explain how the compiler works. Describe various analysis of the source program. Describe the
More informationX3D Unit Specification Updates Myeong Won Lee The University of Suwon
X3D Unit Specification Updates Myeong Won Lee The University of Suwon 1 Units Specification ISO_IEC_19775_1_2008_WD3_Am1_2011_04_14 PDAM in ISO progress UNIT statement Defined in Core component UNIT statements
More informationBitwise Operations Related to a Combinatorial Problem on Binary Matrices
I.J.Modern Education and Computer Science, 2013, 4, 19-24 Published Online May 2013 in MECS (http://www.mecs-press.org/) DOI: 10.5815/ijmecs.2013.04.03 Bitwise Operations Related to a Combinatorial Problem
More informationD-Cinema Packaging Caption and Closed Subtitle
SMPTE STANDARD SMPTE 429-12-2008 D-Cinema Packaging Caption and Closed Subtitle Page 1 of 11 pages Table of Contents Page Foreword... 2 Intellectual Property... 2 1 Scope... 3 2 Conformance Notation...
More information12 Abstract Data Types
12 Abstract Data Types 12.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT). Define
More informationMost nonzero floating-point numbers are normalized. This means they can be expressed as. x = ±(1 + f) 2 e. 0 f < 1
Floating-Point Arithmetic Numerical Analysis uses floating-point arithmetic, but it is just one tool in numerical computation. There is an impression that floating point arithmetic is unpredictable and
More informationCompilers Project 3: Semantic Analyzer
Compilers Project 3: Semantic Analyzer CSE 40243 Due April 11, 2006 Updated March 14, 2006 Overview Your compiler is halfway done. It now can both recognize individual elements of the language (scan) and
More informationAn Intelligent Tutoring System Prototype for Learning to Program Java TM
An Intelligent Tutoring System Prototype for Learning to Program Java TM Edward R. Sykes School of Computing and Information Management, Sheridan College 430 Trafalgar Road, Oakville, Ont., Canada, L6H
More informationECE 244 Programming Fundamentals Fall Lab Assignment #5: Binary Search Trees
ECE 244 Programming Fundamentals Fall 2012 1. Objectives Lab Assignment #5: Binary Search Trees The objectives of this assignment are to provide you with more practice on the use of the various C++ concepts/constructs
More informationOracle Utilities Opower Energy Efficiency Web Portal - Classic Single Sign-On
Oracle Utilities Opower Energy Efficiency Web Portal - Classic Single Sign-On Configuration Guide E84772-01 Last Update: Monday, October 09, 2017 Oracle Utilities Opower Energy Efficiency Web Portal -
More information9 Using Equation Networks
9 Using Equation Networks In this chapter Introduction to Equation Networks 244 Equation format 247 Using register address lists 254 Setting up an enable contact 255 Equations displayed within the Network
More informationCCSSM Curriculum Analysis Project Tool 1 Interpreting Functions in Grades 9-12
Tool 1: Standards for Mathematical ent: Interpreting Functions CCSSM Curriculum Analysis Project Tool 1 Interpreting Functions in Grades 9-12 Name of Reviewer School/District Date Name of Curriculum Materials:
More informationPolymath 6. Overview
Polymath 6 Overview Main Polymath Menu LEQ: Linear Equations Solver. Enter (in matrix form) and solve a new system of simultaneous linear equations. NLE: Nonlinear Equations Solver. Enter and solve a new
More informationBasic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition
Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.
More informationPython Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 3 Computing with Numbers Python Programming, 3/e 1 Objectives n To understand the concept of data types. n To be familiar with the basic
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 informationFor example, the system. 22 may be represented by the augmented matrix
Matrix Solutions to Linear Systems A matrix is a rectangular array of elements. o An array is a systematic arrangement of numbers or symbols in rows and columns. Matrices (the plural of matrix) may be
More informationSpecification of contineo s REST Interface
Specification of contineo s REST Interface Sebastian Stein seb.stein@hpfsc.de 2007-02-07, contineo version 2.5 1 Contents 1 Introduction 3 2 General Concept 3 2.1 REST Web Service Interface..................
More informationInstitute on Computational Economics (ICE05) Argonne National Laboratory July 18 22, Problem-Solving Environments for Optimization: NEOS
Institute on Computational Economics (ICE05) Argonne National Laboratory July 18 22, 2005 Problem-Solving Environments for Optimization: NEOS Jorge J. Moré Mathematics and Computer Science Division Argonne
More informationDATA AND ABSTRACTION. Today you will learn : How to work with variables How to break a program down Good program design
DATA AND ABSTRACTION Today you will learn : How to work with variables How to break a program down Good program design VARIABLES Variables are a named memory location Before you use a variable you must
More informationHava Language Technical Reference
Hava Language Technical Reference April 25, 2009 (draft) Steven T. Hackman, Loren K. Platzman H. Milton Stewart School of Industrial and Systems Engineering Georgia Institute of Technology Hava is a numerical
More information4 Operations On Data 4.1. Foundations of Computer Science Cengage Learning
4 Operations On Data 4.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List the three categories of operations performed on data.
More informationBuild a Talent Profile
In your Talent Profile you can share information such as job history, education, skills, certifications and language proficiency. Updating your Talent Profile allows managers and Human Resources to utilize
More informationModule -7. Karnaugh Maps
1 Module -7 Karnaugh Maps 1. Introduction 2. Canonical and Standard forms 2.1 Minterms 2.2 Maxterms 2.3 Canonical Sum of Product or Sum-of-Minterms (SOM) 2.4 Canonical product of sum or Product-of-Maxterms(POM)
More informationWeb Services. The Pervasive Internet
Web Services CPSC 328 Spring 2009 The Pervasive Internet Years ago, computers couldn t talk to each other like they can now Researchers wanted to share information The Internet! Gopher & Veronica (text
More informationTHE LOGIC OF COMPOUND STATEMENTS
CHAPTER 2 THE LOGIC OF COMPOUND STATEMENTS Copyright Cengage Learning. All rights reserved. SECTION 2.5 Application: Number Systems and Circuits for Addition Copyright Cengage Learning. All rights reserved.
More informationApplied Calculus. Lab 1: An Introduction to R
1 Math 131/135/194, Fall 2004 Applied Calculus Profs. Kaplan & Flath Macalester College Lab 1: An Introduction to R Goal of this lab To begin to see how to use R. What is R? R is a computer package for
More informationCSC 8301 Design and Analysis of Algorithms: Exhaustive Search
CSC 8301 Design and Analysis of Algorithms: Exhaustive Search Professor Henry Carter Fall 2016 Recap Brute force is the use of iterative checking or solving a problem by its definition The straightforward
More informationcorrelated to the Michigan High School Mathematics Content Expectations
correlated to the Michigan High School Mathematics Content Expectations McDougal Littell Algebra 1 Geometry Algebra 2 2007 correlated to the STRAND 1: QUANTITATIVE LITERACY AND LOGIC (L) STANDARD L1: REASONING
More informationRecursive Functions. 6.1 Primitive Recursive Functions
6 Recursive Functions The intuitive notion of an effectively computable function is the notion of a function for which there are definite, explicit rules, following which one could in principle compute
More information