e-companion ONLY AVAILABLE IN ELECTRONIC FORM

Size: px
Start display at page:

Download "e-companion ONLY AVAILABLE IN ELECTRONIC FORM"

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) 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 information

The Optimization Services Solver Interface

The 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 information

Optimization Services: A Framework For Distributed Optimization

Optimization 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 information

Optimization Services hookup Language (OShL) Jun Ma. -- API for invoking Remote Solver Service

Optimization 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 information

The Optimization Services Project on COIN-OR

The 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 information

Optimization Services (OS) Today: open Interface for Hooking Solvers to Modeling Systems

Optimization 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 information

Optimization 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. 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 information

Using the CoinAll Binaries

Using 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 information

Solver Communications: Options and Results

Solver 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 information

An 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 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 information

CoinEasy. 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 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 information

Optimization Services and Nonlinear Programming

Optimization 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 information

An XML-Based Standard for Representing Linear Programming Problem Instances

An 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 information

Cloud Pioneers: NEOS and Optimization Services

Cloud 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 information

Optimization Services (OS)

Optimization 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 information

LPFML: 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 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 information

Modeling Systems and Optimization Services

Modeling 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 information

Optimization Services (OS) Jun Ma. -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS

Optimization 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 information

Source Code Not Required: Using the COIN-OR Binaries

Source 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 information

Project Summary. Next-Generation Servers for Optimization as an Internet Resource

Project 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 information

Optimization Services Modeling Language (OSmL)

Optimization 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 information

Optimization Via the Internet: NEOS 5 and Beyond

Optimization 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 information

On why C# s type system needs an extension

On 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 information

Optimization Services (OS) Jun Ma. -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS

Optimization 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 information

Comparison of Some High-Performance MINLP Solvers

Comparison 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 information

AMPL 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 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 information

Modeling with COIN-OR Tools

Modeling 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 information

MAT 343 Laboratory 1 Matrix and Vector Computations in MATLAB

MAT 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 information

1. NUMBER SYSTEMS USED IN COMPUTING: THE BINARY NUMBER SYSTEM

1. 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 information

Kinds of Information. tjleone.com. Wonder. Create. Grow.

Kinds 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 information

Integer Programming Chapter 9

Integer 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 information

Fundamentals 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 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 information

A Nonlinear Presolve Algorithm in AIMMS

A 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 information

Coopr User Manual: Getting Started with the Pyomo Modeling Language

Coopr 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 information

HTML 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

HTML 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 information

Performance Evaluation of an Interior Point Filter Line Search Method for Constrained Optimization

Performance 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 information

9. Elementary Algebraic and Transcendental Scalar Functions

9. 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 information

Schema schema-for-json.xsd

Schema 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 information

V. Solving Integer Linear Programs

V. 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 information

Java EE 7: Back-end Server Application Development 4-2

Java 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 information

Writing.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 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 information

Metaheuristic Optimization with Evolver, Genocop and OptQuest

Metaheuristic 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 information

Winning Positions in Simplicial Nim

Winning 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 information

Review Questions 26 CHAPTER 1. SCIENTIFIC COMPUTING

Review 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 information

Modeling and Solving Nontraditional Optimization Problems Session 4a: Solver Interfaces

Modeling 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 information

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. Numbers & Number Systems

SCHOOL 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 information

A General and Unified Design and Framework for Distributed Optimization

A 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]: 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 information

Chapter 2. Data Representation in Computer Systems

Chapter 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 information

REGULAR GRAPHS OF GIVEN GIRTH. Contents

REGULAR 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 information

3. Replace any row by the sum of that row and a constant multiple of any other row.

3. 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 information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No 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 information

Floating Point Considerations

Floating 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 information

Bits, Words, and Integers

Bits, 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 information

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

Introduction 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 information

JMASM35: A Percentile-Based Power Method: Simulating Multivariate Non-normal Continuous Distributions (SAS)

JMASM35: 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 information

No Trade Secrets. Microsoft does not claim any trade secret rights in this documentation.

No 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 information

Scientific Computing: An Introductory Survey

Scientific 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 information

MS Office for Engineers

MS 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]: 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 information

XDS An Extensible Structure for Trustworthy Document Content Verification Simon Wiseman CTO Deep- Secure 3 rd June 2013

XDS 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 information

INTERIOR-POINT LINEAR PROGRAMMING SOLVERS

INTERIOR-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 information

Announcements. 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 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 information

Towards Intelligent Summarising and Browsing of Mathematical Expressions

Towards 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 information

Treewidth and graph minors

Treewidth 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]: 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 information

lecture 10: B-Splines

lecture 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 information

NEOS.jl (and other things)

NEOS.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 information

Oracle Enterprise Data Quality

Oracle 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 information

Why do we need an interpreter? SICP Interpretation part 1. Role of each part of the interpreter. 1. Arithmetic calculator.

Why 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 information

PRINCIPLES OF COMPILER DESIGN UNIT I INTRODUCTION TO COMPILERS

PRINCIPLES 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 information

X3D Unit Specification Updates Myeong Won Lee The University of Suwon

X3D 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 information

Bitwise Operations Related to a Combinatorial Problem on Binary Matrices

Bitwise 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 information

D-Cinema Packaging Caption and Closed Subtitle

D-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 information

12 Abstract Data Types

12 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 information

Most nonzero floating-point numbers are normalized. This means they can be expressed as. x = ±(1 + f) 2 e. 0 f < 1

Most 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 information

Compilers Project 3: Semantic Analyzer

Compilers 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 information

An Intelligent Tutoring System Prototype for Learning to Program Java TM

An 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 information

ECE 244 Programming Fundamentals Fall Lab Assignment #5: Binary Search Trees

ECE 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 information

Oracle Utilities Opower Energy Efficiency Web Portal - Classic Single Sign-On

Oracle 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 information

9 Using Equation Networks

9 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 information

CCSSM Curriculum Analysis Project Tool 1 Interpreting Functions in Grades 9-12

CCSSM 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 information

Polymath 6. Overview

Polymath 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 information

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Basic 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 information

Python Programming: An Introduction to Computer Science

Python 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 information

Tools 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 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 information

For example, the system. 22 may be represented by the augmented matrix

For 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 information

Specification of contineo s REST Interface

Specification 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 information

Institute 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, 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 information

DATA 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 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 information

Hava Language Technical Reference

Hava 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 information

4 Operations On Data 4.1. Foundations of Computer Science Cengage Learning

4 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 information

Build a Talent Profile

Build 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 information

Module -7. Karnaugh Maps

Module -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 information

Web Services. The Pervasive Internet

Web 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 information

THE LOGIC OF COMPOUND STATEMENTS

THE 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 information

Applied Calculus. Lab 1: An Introduction to R

Applied 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 information

CSC 8301 Design and Analysis of Algorithms: Exhaustive Search

CSC 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 information

correlated to the Michigan High School Mathematics Content Expectations

correlated 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 information

Recursive Functions. 6.1 Primitive Recursive Functions

Recursive 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