SlideShare a Scribd company logo
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Robert Fourer, Filipe Brandão, Martin Laskowski
AMPL Optimization Inc.
{4er,fdabrandao,martin}@ampl.com
INFORMS Conference on Business Analytics and Operations Research
Baltimore, April 15-17, 2018
Track 10 — Technology Tutorials — Monday, 3:40-4:30 pm
AMPL in the Cloud
Using Online Services to Develop and Deploy
Optimization Applications through Algebraic Modeling
1
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
AMPL in the Cloud
Using Online Services to Develop and Deploy
Optimization Applications through Algebraic Modeling
Cloud services promising “optimization on demand” have become
steadily more numerous and more powerful in recent years. This
presentation offers a user-oriented survey, with a focus on the role of the
AMPL modeling language in streamlining development and deployment
of optimization models using online tools. Starting with the pioneering
free NEOS Server, we compare more recent commercial offerings such as
Gurobi Instant Cloud and the Satalia SolveEngine; the benefits of these
solver services are enhanced through their use with AMPL’s algebraic
modeling facilities. We conclude by introducing QuanDec, which turns
AMPL models into web-based collaborative decision-making tools.
2
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Outline
AMPL Introduction
 Concept of a modeling language
 Example in the AMPL language
AMPL in the cloud
 Optimization on demand
 NEOS Server
 Satalia SolveEngine
 IBM Decision Optimization on Cloud
 Optimization to order
 Gurobi Instant Cloud
 Collaborative optimization
 QuanDec
4
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
The Optimization Modeling Cycle
Steps
 Communicate with problem owner
 Build model
 Prepare data
 Generate optimization problem
 Submit problem to solver
 Gurobi, Knitro, CPLEX, Xpress, CONOPT, MINOS, . . .
 Report & analyze results
 Repeat until you get it right!
Goals for optimization software
 Do this quickly and reliably
 Get results before client loses interest
 Deploy for application
5
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Optimization Modeling Languages
Two forms of an optimization problem
 Modeler’s form
 Mathematical description, easy for people to work with
 Solver’s form
 Explicit data structure, easy for solvers to compute with
Idea of a modeling language
 A computer-readable modeler’s form
 You write optimization problems in a modeling language
 Computers translate to algorithm’s form for solution
Advantages of a modeling language
 Faster modeling cycles
 More reliable modeling
 More maintainable applications
6
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Algebraic Modeling Languages
Formulation concept
 Define data in terms of sets & parameters
 Analogous to database keys & records
 Define decision variables
 Minimize or maximize a function of decision variables
 Subject to equations or inequalities
that constrain the values of the variables
Advantages
 Familiar
 Powerful
 Proven
7
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Features
 Algebraic modeling language
 Built specially for optimization
 Designed to support many solvers
Design goals
 Powerful, general expressions
 Natural, easy-to-learn modeling principles
 Efficient processing that scales well with problem size
Many ways to use . . .
9
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Many Ways to Use AMPL
Command language
 Browse results & debug model interactively
 Make changes and re-run
Scripting language
 Bring the programmer to the modeling language
Programming interface (API)
 Bring the modeling language to the programmer
Deployment tool
 Turn models into collaboration environments
10
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Multicommodity transportation . . .
 Products available at factories
 Products needed at stores
 Plan shipments at lowest cost
11
Example (1st cycle)
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Given
𝑂 Set of origins (factories)
𝐷 Set of destinations (stores)
𝑃 Set of products
and
𝑎 Amount available, for each 𝑖 ∈ 𝑂 and 𝑝 ∈ 𝑃
𝑏 Amount required, for each 𝑗 ∈ 𝐷 and 𝑝 ∈ 𝑃
𝑙𝑖𝑗 Limit on total shipments, for each 𝑖 ∈ 𝑂 and 𝑗 ∈ 𝐷
𝑐𝑖𝑗𝑝 Shipping cost per unit, for each 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃
12
Mathematical Formulation
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Determine
𝑋𝑖𝑗𝑝 Amount of each product 𝑝 ∈ 𝑃
to be shipped from origin 𝑖 ∈ 𝑂 to destination 𝑗 ∈ 𝐷
to minimize
∑ ∑ ∑ 𝑐∈∈ 𝑋∈
Total shipping cost
13
Mathematical Formulation
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Subject to
∑ 𝑋∈ 𝑎 for all 𝑖 ∈ 𝑂, 𝑝 ∈ 𝑃
Total shipments of product 𝑝 out of origin 𝑖
must not exceed availability
∑ 𝑋∈ 𝑏 for all 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃
Total shipments of product 𝑝 into destination 𝑗
must satisfy requirements
∑ 𝑋∈ 𝑙 for all 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷
Total shipments from origin 𝑖 to destination 𝑗
must not exceed the limit
14
Mathematical Formulation
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
15
AMPL Formulation
Symbolic data
set ORIG; # origins
set DEST; # destinations
set PROD; # products
param supply {ORIG,PROD} >= 0; # availabilities at origins
param demand {DEST,PROD} >= 0; # requirements at destinations
param limit {ORIG,DEST} >= 0; # capacities of links
param cost {ORIG,DEST,PROD} >= 0; # shipment cost
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
16
AMPL Formulation
Symbolic model: variables and objective
var Trans {ORIG,DEST,PROD} >= 0; # actual units to be shipped
minimize Total_Cost:
sum {i in ORIG, j in DEST, p in PROD} cost[i,j,p] * Trans[i,j,p];
Multicommodity Transportation
∑ ∑ ∑ 𝑐∈∈ 𝑋∈
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
17
AMPL Formulation
Symbolic model: constraint
subject to Supply {i in ORIG, p in PROD}:
sum {j in DEST} Trans[i,j,p] <= supply[i,p];
Multicommodity Transportation
∑ 𝑋∈ 𝑎 , for all 𝑖 ∈ 𝑂, 𝑝 ∈ 𝑃
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
18
AMPL Formulation
Symbolic model: constraints
subject to Supply {i in ORIG, p in PROD}:
sum {j in DEST} Trans[i,j,p] <= supply[i,p];
subject to Demand {j in DEST, p in PROD}:
sum {i in ORIG} Trans[i,j,p] = demand[j,p];
subject to Multi {i in ORIG, j in DEST}:
sum {p in PROD} Trans[i,j,p] <= limit[i,j];
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
19
AMPL Formulation
Explicit data independent of symbolic model
set ORIG := GARY CLEV PITT ;
set DEST := FRA DET LAN WIN STL FRE LAF ;
set PROD := bands coils plate ;
param supply (tr): GARY CLEV PITT :=
bands 400 700 800
coils 800 1600 1800
plate 200 300 300 ;
param demand (tr):
FRA DET LAN WIN STL FRE LAF :=
bands 300 300 100 75 650 225 250
coils 500 750 400 250 950 850 500
plate 100 100 0 50 200 100 250 ;
param limit default 625 ;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
20
AMPL Formulation
Explicit data (continued)
param cost :=
[*,*,bands]: FRA DET LAN WIN STL FRE LAF :=
GARY 30 10 8 10 11 71 6
CLEV 22 7 10 7 21 82 13
PITT 19 11 12 10 25 83 15
[*,*,coils]: FRA DET LAN WIN STL FRE LAF :=
GARY 39 14 11 14 16 82 8
CLEV 27 9 12 9 26 95 17
PITT 24 14 17 13 28 99 20
[*,*,plate]: FRA DET LAN WIN STL FRE LAF :=
GARY 41 15 12 16 17 86 8
CLEV 29 9 13 9 28 99 18
PITT 26 14 17 13 31 104 20 ;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
21
AMPL Solution
Model + data = problem instance to be solved
ampl: model multi.mod;
ampl: data multi.dat;
ampl: option solver minos;
ampl: solve;
MINOS 5.51: optimal solution found.
53 iterations, objective 199500
ampl: display Trans;
Trans [CLEV,*,*] (tr)
: DET FRA FRE LAF LAN STL WIN :=
bands 0 225 0 150 0 250 75
coils 525 0 225 75 400 300 75
plate 100 50 100 0 0 0 50
...
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
22
AMPL Solution
Solver choice independent of model and data
ampl: model multi.mod;
ampl: data multi.dat;
ampl: option solver snopt;
ampl: solve;
SNOPT 7.5-1.2 : Optimal solution found.
60 iterations, objective 199500
ampl: display Trans;
Trans [CLEV,*,*] (tr)
: DET FRA FRE LAF LAN STL WIN :=
bands 150 225 0 0 0 250 75
coils 375 0 225 225 400 300 75
plate 100 50 100 0 0 0 50
...
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Multicommodity transportation . . .
 Products available at factories
 Products needed at stores
 Plan shipments at lowest cost
. . . revised in light of practical considerations
 Using an origin-destination pair incurs some fixed cost
 Shipments cannot be too small
 Factories cannot serve too many stores
23
Example (4th cycle)
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Given
𝑂 Set of origins (factories)
𝐷 Set of destinations (stores)
𝑃 Set of products
and
𝑎 Amount available, for each 𝑖 ∈ 𝑂 and 𝑝 ∈ 𝑃
𝑏 Amount required, for each 𝑗 ∈ 𝐷 and 𝑝 ∈ 𝑃
𝑙𝑖𝑗 Limit on total shipments, for each 𝑖 ∈ 𝑂 and 𝑗 ∈ 𝐷
𝑐𝑖𝑗𝑝 Shipping cost per unit, for each 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃
𝑑𝑖𝑗 Fixed cost for shipping any amount from 𝑖 ∈ 𝑂 to 𝑗 ∈ 𝐷
𝑠 Minimum total size of any shipment
𝑛 Maximum number of destinations served by any origin
24
Mathematical Formulation
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Determine
𝑋𝑖𝑗𝑝 Amount of each 𝑝 ∈ 𝑃 to be shipped from 𝑖 ∈ 𝑂 to 𝑗 ∈ 𝐷
𝑌𝑖𝑗 1 if any product is shipped from 𝑖 ∈ 𝑂 to 𝑗 ∈ 𝐷
0 otherwise
to minimize
∑ ∑ ∑ 𝑐∈∈ 𝑋∈ ∑ ∑ 𝑑∈ 𝑌∈
Total variable cost plus total fixed cost
25
Mathematical Formulation
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Subject to
∑ 𝑋∈ 𝑎 for all 𝑖 ∈ 𝑂, 𝑝 ∈ 𝑃
Total shipments of product 𝑝 out of origin 𝑖
must not exceed availability
∑ 𝑋∈ 𝑏 for all 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃
Total shipments of product 𝑝 into destination 𝑗
must satisfy requirements
∑ 𝑋∈ 𝑙 𝑌 for all 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷
When there are shipments from origin 𝑖 to destination 𝑗,
the total may not exceed the limit, and 𝑌 must be 1
26
Mathematical Formulation
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Subject to
∑ 𝑋∈ 𝑠𝑌 for all 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷
When there are shipments from origin 𝑖 to destination 𝑗,
the total amount of shipments must be at least 𝑠
∑ 𝑌∈ 𝑛 for all 𝑖 ∈ 𝑂
Number of destinations served by origin 𝑖
must be as most 𝑛
27
Mathematical Formulation
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
28
AMPL Formulation
Symbolic data
set ORIG; # origins
set DEST; # destinations
set PROD; # products
param supply {ORIG,PROD} >= 0; # availabilities at origins
param demand {DEST,PROD} >= 0; # requirements at destinations
param limit {ORIG,DEST} >= 0; # capacities of links
param vcost {ORIG,DEST,PROD} >= 0; # variable shipment cost
param fcost {ORIG,DEST} > 0; # fixed usage cost
param minload >= 0; # minimum shipment size
param maxserve integer > 0; # maximum destinations served
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
29
AMPL Formulation
Symbolic model: variables and objective
var Trans {ORIG,DEST,PROD} >= 0; # actual units to be shipped
var Use {ORIG, DEST} binary; # 1 if link used, 0 otherwise
minimize Total_Cost:
sum {i in ORIG, j in DEST, p in PROD} vcost[i,j,p] * Trans[i,j,p]
+ sum {i in ORIG, j in DEST} fcost[i,j] * Use[i,j];
Multicommodity Transportation
∑ ∑ ∑ 𝑐∈∈ 𝑋∈ ∑ ∑ 𝑑∈ 𝑌∈
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
30
AMPL Formulation
Symbolic model: constraints
subject to Supply {i in ORIG, p in PROD}:
sum {j in DEST} Trans[i,j,p] <= supply[i,p];
subject to Demand {j in DEST, p in PROD}:
sum {i in ORIG} Trans[i,j,p] = demand[j,p];
subject to Multi {i in ORIG, j in DEST}:
sum {p in PROD} Trans[i,j,p] <= limit[i,j] * Use[i,j];
subject to Min_Ship {i in ORIG, j in DEST}:
sum {p in PROD} Trans[i,j,p] >= minload * Use[i,j];
subject to Max_Serve {i in ORIG}:
sum {j in DEST} Use[i,j] <= maxserve;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
31
AMPL Formulation
Explicit data independent of symbolic model
set ORIG := GARY CLEV PITT ;
set DEST := FRA DET LAN WIN STL FRE LAF ;
set PROD := bands coils plate ;
param supply (tr): GARY CLEV PITT :=
bands 400 700 800
coils 800 1600 1800
plate 200 300 300 ;
param demand (tr):
FRA DET LAN WIN STL FRE LAF :=
bands 300 300 100 75 650 225 250
coils 500 750 400 250 950 850 500
plate 100 100 0 50 200 100 250 ;
param limit default 625 ;
param minload := 375 ;
param maxserve := 5 ;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
32
AMPL Formulation
Explicit data (continued)
param vcost :=
[*,*,bands]: FRA DET LAN WIN STL FRE LAF :=
GARY 30 10 8 10 11 71 6
CLEV 22 7 10 7 21 82 13
PITT 19 11 12 10 25 83 15
[*,*,coils]: FRA DET LAN WIN STL FRE LAF :=
GARY 39 14 11 14 16 82 8
CLEV 27 9 12 9 26 95 17
PITT 24 14 17 13 28 99 20
[*,*,plate]: FRA DET LAN WIN STL FRE LAF :=
GARY 41 15 12 16 17 86 8
CLEV 29 9 13 9 28 99 18
PITT 26 14 17 13 31 104 20 ;
param fcost: FRA DET LAN WIN STL FRE LAF :=
GARY 3000 1200 1200 1200 2500 3500 2500
CLEV 2000 1000 1500 1200 2500 3000 2200
PITT 2000 1200 1500 1500 2500 3500 2200 ;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
33
AMPL Solution
Model + data = problem instance to be solved
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver gurobi;
ampl: solve;
Gurobi 7.0.0: optimal solution; objective 235625
332 simplex iterations
23 branch-and-cut nodes
ampl: display Use;
Use [*,*]
: DET FRA FRE LAF LAN STL WIN :=
CLEV 1 1 1 0 1 1 0
GARY 0 0 0 1 0 1 1
PITT 1 1 1 1 0 1 0
;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
34
AMPL Solution
Solver choice independent of model and data
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver cplex;
ampl: solve;
CPLEX 12.7.0.0: optimal integer solution; objective 235625
135 MIP simplex iterations
0 branch-and-bound nodes
ampl: display Use;
Use [*,*]
: DET FRA FRE LAF LAN STL WIN :=
CLEV 1 1 1 0 1 1 0
GARY 0 0 0 1 0 1 1
PITT 1 1 1 1 0 1 0
;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
35
AMPL Solution
Solver choice independent of model and data
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver xpress;
ampl: solve;
XPRESS 29.01: Global search complete
Best integer solution found 235625
4 integer solutions have been found, 7 branch and bound nodes
ampl: display Use;
Use [*,*]
: DET FRA FRE LAF LAN STL WIN :=
CLEV 1 1 1 0 1 1 0
GARY 0 0 0 1 0 1 1
PITT 1 1 1 1 0 1 0
;
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
36
AMPL Solution
Examine results
ampl: display {i in ORIG, j in DEST}
ampl? sum {p in PROD} Trans[i,j,p] / limit[i,j];
: DET FRA FRE LAF LAN STL WIN :=
CLEV 1 0.6 0.88 0 0.8 0.88 0
GARY 0 0 0 0.64 0 1 0.6
PITT 0.84 0.84 1 0.96 0 1 0
;
ampl: display Max_Serve.body;
CLEV 5
GARY 3
PITT 5
;
ampl: display TotalCost,
ampl? sum {i in ORIG, j in DEST} fcost[i,j] * Use[i,j];
TotalCost = 235625
sum {i in ORIG, j in DEST} fcost[i,j]*Use[i,j] = 27600
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
37
AMPL IDE
Multicommodity Transportation
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Extend modeling language syntax . . .
 Algebraic expressions
 Set indexing expressions
 Interactive commands
. . . with programming concepts
 Loops of various kinds
 If-then and If-then-else conditionals
 Assignments
40
Scripting
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Run AMPL from your programs
 Transfer data to and from AMPL
 Execute AMPL commands within your application
 Access all available solvers
Use popular programming languages
 C++, C#, Java, MATLAB, Python, R
 Use Python dictionaries, R dataframes, MATLAB matrices, etc.
41
APIs
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
43
Optimization in the Cloud
Optimization on demand
 NEOS Server
 Satalia SolveEngine
 IBM Decision Optimization on Cloud
Optimization to order
 Gurobi Instant Cloud
Collaborative optimization
 QuanDec
^
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
44
NEOS Server www.neos-server.org
Network Enabled Optimization System
 Originated 1995 at Argonne National Laboratory
and Northwestern University
 U.S. Department of Energy
 National Science Foundation
 Since 2011 at University of Wisconsin, Madison
 Wisconsin Institutes for Discovery
Free “optimization on demand”
 Over 40 solvers
 Several optimization modeling languages
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
46
Architecture
Distributed workstations
 Offer varied inputs & solvers
 Process submissions on demand
 Contributed by varied organizations
Central scheduler
 Receives and queues submissions
 Sends submissions to appropriate workstations
 Returns results
Minimal hands-on management
 Distributed: Install NEOS software on workstations
 Central: Update server database
of workstation locations and abilities
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
47
Original Facilities
Local submission clients
 Email
 Website
 NEOS submission tool
Problem description formats
 Linear: MPS and other solver files
 Nonlinear: Fortran or C programs
 automatic differentiation of programs
W. Gropp and J.J. Moré, 1997. Optimization Environments and the
NEOS Server. Approximation Theory and Optimization, M. D. Buhmann and A.
Iserles, eds., Cambridge University Press, 167-182.
J. Czyzyk, M.P. Mesnier and J.J. Moré, 1998. The NEOS Server.
IEEE Journal on Computational Science and Engineering 5(3), 68-75.
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
48
Impact: Total Submissions
Monthly rates since 1999
NEOS Server
45000/month  one per minute
Peak day: 29 Sep 2013
144890  100 per minute
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
49
Impact: Recent Submissions
Monthly rates for past two years
NEOS Server
45000/month  one per minute
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
50
Assessment
Strengths
 Free
 Choice of solvers
 Every popular solver available
 Easy to use
 No account setup
 No advance scheduling
Weaknesses
 Stand-alone focus: submission of “solve jobs”
 Non-profit management
 Limited support & development
 No guarantee of confidentiality
 No guarantee of performance
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
52
Modeling Languages in NEOS
Modeling language inputs
 AMPL model, data, commands files
 GAMS model, options, gdx files
Modeling language operation
 User chooses a solver and a language
 NEOS scheduler finds a compatible workstation
 NEOS workstation invokes
modeling language system with given inputs
 Modeling language system invokes solver
E.D. Dolan, R. Fourer, J.J. Moré and T.S. Munson,
Optimization on the NEOS Server. SIAM News 35:6
(July/August 2002) 4, 8–9. www.siam.org/pdf/news/457.pdf
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
53
Impact: Modeling Languages
NEOS Server
Monthly rates since 2011
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Solver & Language Listing
NEOS Server
54
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Input Page for CPLEX using AMPL
NEOS Server
55
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Input Page (cont’d)
NEOS Server
56
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Queue Page
NEOS Server
57
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Output Page
NEOS Server
58
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
Output Page (cont’d)
NEOS Server
59
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
61
APIs
Application programming interfaces
 Access NEOS from a local program
Implementations
 Version 1: XML-RPC remote procedure call
 Version 5: full Python API
Uses
 NEOS submission tool
 NEOS option in Solver Studio for Excel
 NEOS as a “solver” for modeling systems
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
62
Modeling Systems as NEOS Clients
New “solvers”
 Kestrel for AMPL
 Kestrel for GAMS
Familiar operation
 Choose Kestrel as the local “solver”
 Set an option to choose a real solver on NEOS
 Initiate a solve and wait for results
E.D. Dolan, R. Fourer, J.-P. Goux, T.S. Munson and J. Sarich,
Kestrel: An Interface from Optimization Modeling Systems
to the NEOS Server. INFORMS Journal on Computing 20
(2008) 525–538. dx.doi.org/10.1287/ijoc.1080.0264
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
63
AMPL Interactive Session
NEOS Server
ampl: model sched1.mod;
ampl: data sched.dat;
ampl: let least_assign := 16;
ampl: option solver kestrel;
ampl: option kestrel_options 'solver=cplex';
ampl: solve;
Connecting to: neos‐server.org:3332
Job 4679195 submitted to NEOS, password='JMNRQoTD'
Check the following URL for progress report :
http://neos‐server.org/neos/cgi‐bin/nph‐neos‐
solver.cgi?admin=results&jobnumber=4679195&pass=JMNRQoTD
Job 4679195 dispatched
password: JMNRQoTD
‐‐‐‐‐‐‐‐‐‐ Begin Solver Output ‐‐‐‐‐‐‐‐‐‐‐
Job submitted to NEOS HTCondor pool.
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
64
AMPL Interactive Session
NEOS Server
‐‐‐‐‐‐‐‐‐‐ Begin Solver Output ‐‐‐‐‐‐‐‐‐‐‐
Job submitted to NEOS HTCondor pool.
CPLEX 12.6.2.0: optimal integer solution; objective 265.9999999999943
135348 MIP simplex iterations
17430 branch‐and‐bound nodes
ampl: option omit_zero_rows 1, display_1col 0;
ampl: display Work;
Work [*] :=
1 16    11 16    36 19    72 20    82 20   106 16   114 20   125 20
3 16    29 16    66 17    79 19   104 19   112 16   121 16
;
ampl:
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
65
Kestrel Impact
NEOS Server
Intensive use in short bursts
 Peaks of 10,000-60,000 per day
Modest use on average
 Average of 3,570 per month over past year
 Mostly AMPL/CPLEX
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
66
Kestrel Assessment
Strengths
 Powerful local client for modeling
 NEOS facilities for solving
Weaknesses
 Not all NEOS solvers available
 Local solver software is strong competition . . .
 Bundled with modeling languages
 Free for trial use
 Free for course and academic use
 Limited support & development
 Solver logs not currently returned
. . . we provide support for Kestrel/AMPL
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
67
Recent Developments
Intensified support
 Shift to HTCondor “high-throughput” platforms
 Updated Kestrel client
 Updated solver offerings
User accounts
 Higher priority for job scheduling
 “My Jobs” tab listing recent jobs & links to results
NEOS Server
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
68
A Commercial NEOS?
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
69
Satalia SolveEngine
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
70
Satalia SolveEngine
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
71
Satalia SolveEngine
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
72
A Solver-Specific NEOS?
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
73
IBM Decision Optimization on Cloud
DOcplexcloud API
 Analogous to NEOS Python API
DropSolve service
 Similar to NEOS web services
 Matrix formats: LP, SAV, and MPS files
 OPL modeling language: MOD and DAT files
 Python programs using the API
IBM solvers
 CPLEX
 CP optimizer
See also FICO Analytic Cloud for Xpress solver
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
75
Gurobi Instant Cloud cloud.gurobi.com
Client side
 Standard Gurobi installation
 Cloud license
Server side
 Compute server for Gurobi solver
 Single-machine solves
 Distributed MIP solves
 Distributed tuning
 Server pools with load balancing
. . . hosted on Amazon Web Services
“Cloud computing technology is changing quickly.
Please check these documents periodically to ensure
you have the latest instructions for the Gurobi Cloud.”
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
76
Gurobi Instant Cloud for AMPL
Client side
 AMPL installation (command-line or IDE)
 Standard Gurobi-for-AMPL installation
Server side
 Gurobi compute server
 Gurobi optimizer
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
77
cloud.gurobi.com
Gurobi Instant Cloud
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
78
cloud.gurobi.com
Gurobi Instant Cloud
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
79
www.gurobi.com
Gurobi Instant Cloud
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
80
View Available Licenses
Gurobi Instant Cloud
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
81
Get Gurobi License File
Gurobi Instant Cloud
# This is a license file created by the Gurobi Instant Cloud
# Created on Mon, 17 Oct 2016 20:46:26 GMT
# License Id: 142032
# Place this file in your home directory or one of the following
# locations where XXX is the Gurobi Optimizer version you are using: 
#    * C:gurobi or C:gurobiXXX on Windows
#    * /opt/gurobi/ or /opt/gurobiXXX/ on Linux
#    * /Library/gurobi/ or /Library/gurobiXXX/ on Mac OS X
# Or set environment variable GRB_LICENSE_FILE to point to this file
# Do not share this license file because it contains your secret key
CLOUDACCESSID=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6
CLOUDKEY=0v9XdWrDQLiE3EiAAEKtFw
CLOUDHOST=ngcloud.gurobi.com
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
82
Use with AMPL: Setup
Gurobi Instant Cloud
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver gurobi;
ampl: option gurobi_options
ampl?   'cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 
ampl?    cloudkey=0v9XdWrDQLiE3EiAAEKtFw';
ampl:
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
83
Use with AMPL: Startup
Gurobi Instant Cloud
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver gurobi;
ampl: option gurobi_options
ampl?   'cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 
ampl?    cloudkey=0v9XdWrDQLiE3EiAAEKtFw';
ampl: solve;
Gurobi 7.0.0: cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6
cloudkey=0v9XdWrDQLiE3EiAAEKtFw
Waiting for cloud server to start..........
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
84
Use with AMPL: Solve
Gurobi Instant Cloud
ampl: model multmip3.mod;
ampl: data multmip3.dat;
ampl: option solver gurobi;
ampl: option gurobi_options
ampl?   'cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 
ampl?    cloudkey=0v9XdWrDQLiE3EiAAEKtFw';
ampl: solve;
Gurobi 7.0.0: cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6
cloudkey=0v9XdWrDQLiE3EiAAEKtFw
Waiting for cloud server to start.............
Capacity available on 'default' cloud pool ‐ connecting...
Established 256‐bit AES encrypted connection
Gurobi 7.0.0: optimal solution; objective 235625
289 simplex iterations
25 branch‐and‐cut nodes
plus 35 simplex iterations for intbasis
ampl:
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
85
Use with AMPL: Continue
Gurobi Instant Cloud
ampl: display {i in ORIG, j in DEST} sum {p in PROD} Trans[i,j,p];
:      DET   FRA   FRE   LAF   LAN   STL   WIN    :=
CLEV   625   375   550     0   500   550     0
GARY     0     0     0   400     0   625   375
PITT   525   525   625   600     0   625     0
;
ampl: reset data;
ampl: data multmip3a.dat;
ampl: solve;
Gurobi 7.0.0: cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6
cloudkey=0v9XdWrDQLiE3EiAAEKtFw
Capacity available on 'default' cloud pool ‐ connecting...
Established 256‐bit AES encrypted connection
Gurobi 7.0.0: optimal solution; objective 238450
163 simplex iterations
plus 33 simplex iterations for intbasis
ampl:
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
87
Manage Server Configuration
Gurobi Instant Cloud
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
88
Check Costs
Gurobi Instant Cloud
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
89
Gurobi Cloud Costs
Commercial plans
 Annual subscription fee, plus
 Hourly rates for use:
 Gurobi rate for compute servers
 Amazon rate for distributed workers
Trials, academic use, special grants
 Amazon rate only
. . . set up through sales rep
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
90
Gurobi Cloud for AMPL: Assessment
Strengths
 Security
 Reliability (via Amazon)
 Support for multi-server and/or multi-worker pools
 Support for local modeling clients
Drawbacks (compared to NEOS)
 Not free
 Budgeting can be complicated
 Solver-specific
 Not quite “optimization on demand”
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
91
QuanDec
Server side
 AMPL model and data
 Standard AMPL-solver installations
Client side
 Interactive tool for collaboration & decision-making
 Runs on any recent web browser
 Java-based implementation
 AMPL API for Java
 Eclipse Remote Application Platform
. . . developed / supported by Cassotis Consulting
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
92
Initialization
Prepare the model and data
 Add reporting variables to the model
 Select initial data in AMPL .dat format
Import to QuanDec
 Install on a server
 Read zipfile of model and data
 Create new application and first master problem
Configure displays
 Create data tables
 Adjust views
. . . mostly done automatically
QuanDec
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
The web-based graphical interface that
turns optimization models written in
AMPL into decision-making tools
93
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
scenario #1
scenario #2
scenario #3
scenario #4
#2 #3
reports import / 
export   to 
Excel® comparison
sensitivity 
analysis
pre‐defined 
analysis
Server application
Centralized data
Several apps on a single 
instance
Web‐based
Multi‐users
Concurrent access
Secure access
Scenario‐based
Sharing between users
Sharing rights                
(edit / comment/ view)
And much more…
regression
Features
94
Getting started
Your 
AMPL model
Configure how you want to display 
your parameters and variables 
(many options of tables and charts)
Zip and upload configuration 
and AMPL model files into         . 
Quantify your decisions!
95
Workbench
96
A
B
C
D
Regression tool
Add potential predictors
Collect data
Import data into QuanDec
Clean the data
Select the best regression
The regression is included 
in the optimization model 
as an equation
.CSV
.CSV
step 1
step 2
step 3
step 4
step 5
step 6




A    B   C    D
B
r2 A    B   C    D





X = 2.1 + 1.5 B ‐ 0.3 C + 4.9 D
.MOD
97
Quandec’s value proposition
Intuitive &
user-friendly
Benefit from all AMPL
language features
Recurrent decisions based
on the result of analyses
(scripts)
Run optimization in
various conditions
(scenarios)
No need of knowledge
in Operations Research
to be an end userGUI creation in less
than 2 days, without
any programming
No proprietary
format: use your
preferred editor
and use any good
versioning system
98
Standalone Quandec Version
Available in 2018 Q3
scenario #1
scenario #2
scenario #3 scenario #4
#2 #3
reports
comparison
sensitivity 
analysis
pre‐defined 
analysis
Several apps on               
a single instance
Scenario‐based
And much more…
regression import / 
export   to 
Excel®
99
Fourer, Brandão, Laskowski, AMPL in the Cloud
INFORMS Analytics, Baltimore, 15-17 April 2017
QuanDec Availability
Contact sales@ampl.com
 Free trials available
 Pricing keyed to number of models & users
First year’s support included
 Tailored setup support from Cassotis Consulting
 Customizations possible
100

More Related Content

Similar to AMPL in the Cloud

CORE final workshop introduction
CORE final workshop introductionCORE final workshop introduction
CORE final workshop introduction
Carlo Vaccari
 
apidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloré
apidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloréapidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloré
apidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloré
apidays
 
Python time series analysis and visualization for self-driving cars
Python time series analysis and visualization for self-driving carsPython time series analysis and visualization for self-driving cars
Python time series analysis and visualization for self-driving cars
Andreas Pawlik
 
CPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use CasesCPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use Cases
Stephan Haller
 
Walkalytics - Reachability Analysis for your business
Walkalytics - Reachability Analysis for your businessWalkalytics - Reachability Analysis for your business
Walkalytics - Reachability Analysis for your business
Stephan Heuel
 
TYPifier: Inferring the Type Semantics of Structured Data (icde2013)
TYPifier: Inferring the Type Semantics of Structured Data (icde2013)TYPifier: Inferring the Type Semantics of Structured Data (icde2013)
TYPifier: Inferring the Type Semantics of Structured Data (icde2013)
Thanh Tran
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Bob Fourer
 
SOME_IP_29408.pdf
SOME_IP_29408.pdfSOME_IP_29408.pdf
SOME_IP_29408.pdf
RaghuKiran29
 
Budapest icc 2013_presentation
Budapest icc 2013_presentationBudapest icc 2013_presentation
Budapest icc 2013_presentation
Jose Saldana
 
Parametric Estimation for Reliable Project Estimates
Parametric Estimation for Reliable Project EstimatesParametric Estimation for Reliable Project Estimates
Parametric Estimation for Reliable Project Estimates
Frank Vogelezang
 
Getting The Most Out Of Your ERP System
Getting The Most Out Of Your ERP SystemGetting The Most Out Of Your ERP System
Getting The Most Out Of Your ERP System
jaysrinivasan
 
SBCV
SBCVSBCV
APIs and Services for Fleet Management - Talks given @ APIDays Berlin and Ba...
APIs and Services for  Fleet Management - Talks given @ APIDays Berlin and Ba...APIs and Services for  Fleet Management - Talks given @ APIDays Berlin and Ba...
APIs and Services for Fleet Management - Talks given @ APIDays Berlin and Ba...
Toralf Richter
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...
Data Con LA
 
Placements Dec09
Placements Dec09Placements Dec09
Placements Dec09
Deepak Rayapudi
 
Masterslides Trafiklabmeetup 6 dec
Masterslides Trafiklabmeetup 6 decMasterslides Trafiklabmeetup 6 dec
Masterslides Trafiklabmeetup 6 dec
Emma Skille
 
Slide: Formal Verification of Probabilistic Systems in ASMETA
Slide: Formal Verification of Probabilistic Systems in ASMETASlide: Formal Verification of Probabilistic Systems in ASMETA
Slide: Formal Verification of Probabilistic Systems in ASMETA
Riccardo Melioli
 
Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-Making
Bob Fourer
 
What's new in Spark 2.0?
What's new in Spark 2.0?What's new in Spark 2.0?
What's new in Spark 2.0?
rerngvit yanggratoke
 
OpsRamp Summer 2019 Platform Update
OpsRamp Summer 2019 Platform UpdateOpsRamp Summer 2019 Platform Update
OpsRamp Summer 2019 Platform Update
OpsRamp
 

Similar to AMPL in the Cloud (20)

CORE final workshop introduction
CORE final workshop introductionCORE final workshop introduction
CORE final workshop introduction
 
apidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloré
apidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloréapidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloré
apidays Paris 2022 - The New API Challenges, Pierre-Raymond Pouligny, Bolloré
 
Python time series analysis and visualization for self-driving cars
Python time series analysis and visualization for self-driving carsPython time series analysis and visualization for self-driving cars
Python time series analysis and visualization for self-driving cars
 
CPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use CasesCPaaS.io Y1 Review Meeting - Use Cases
CPaaS.io Y1 Review Meeting - Use Cases
 
Walkalytics - Reachability Analysis for your business
Walkalytics - Reachability Analysis for your businessWalkalytics - Reachability Analysis for your business
Walkalytics - Reachability Analysis for your business
 
TYPifier: Inferring the Type Semantics of Structured Data (icde2013)
TYPifier: Inferring the Type Semantics of Structured Data (icde2013)TYPifier: Inferring the Type Semantics of Structured Data (icde2013)
TYPifier: Inferring the Type Semantics of Structured Data (icde2013)
 
Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...Developing Optimization Applications Quickly and Effectively with Algebraic M...
Developing Optimization Applications Quickly and Effectively with Algebraic M...
 
SOME_IP_29408.pdf
SOME_IP_29408.pdfSOME_IP_29408.pdf
SOME_IP_29408.pdf
 
Budapest icc 2013_presentation
Budapest icc 2013_presentationBudapest icc 2013_presentation
Budapest icc 2013_presentation
 
Parametric Estimation for Reliable Project Estimates
Parametric Estimation for Reliable Project EstimatesParametric Estimation for Reliable Project Estimates
Parametric Estimation for Reliable Project Estimates
 
Getting The Most Out Of Your ERP System
Getting The Most Out Of Your ERP SystemGetting The Most Out Of Your ERP System
Getting The Most Out Of Your ERP System
 
SBCV
SBCVSBCV
SBCV
 
APIs and Services for Fleet Management - Talks given @ APIDays Berlin and Ba...
APIs and Services for  Fleet Management - Talks given @ APIDays Berlin and Ba...APIs and Services for  Fleet Management - Talks given @ APIDays Berlin and Ba...
APIs and Services for Fleet Management - Talks given @ APIDays Berlin and Ba...
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Real-time Aggregations, Ap...
 
Placements Dec09
Placements Dec09Placements Dec09
Placements Dec09
 
Masterslides Trafiklabmeetup 6 dec
Masterslides Trafiklabmeetup 6 decMasterslides Trafiklabmeetup 6 dec
Masterslides Trafiklabmeetup 6 dec
 
Slide: Formal Verification of Probabilistic Systems in ASMETA
Slide: Formal Verification of Probabilistic Systems in ASMETASlide: Formal Verification of Probabilistic Systems in ASMETA
Slide: Formal Verification of Probabilistic Systems in ASMETA
 
Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-Making
 
What's new in Spark 2.0?
What's new in Spark 2.0?What's new in Spark 2.0?
What's new in Spark 2.0?
 
OpsRamp Summer 2019 Platform Update
OpsRamp Summer 2019 Platform UpdateOpsRamp Summer 2019 Platform Update
OpsRamp Summer 2019 Platform Update
 

More from Bob Fourer

Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018
Bob Fourer
 
Model-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS InternationalModel-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS International
Bob Fourer
 
AMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and SimpleAMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
Bob Fourer
 
AMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to DeploymentAMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to Deployment
Bob Fourer
 
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer ProgramsIdentifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Bob Fourer
 
The Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric ViewThe Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric View
Bob Fourer
 
The Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear ProgrammingThe Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear Programming
Bob Fourer
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...
Bob Fourer
 

More from Bob Fourer (8)

Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018Model-Based Optimization / CP 2018
Model-Based Optimization / CP 2018
 
Model-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS InternationalModel-Based Optimization / INFORMS International
Model-Based Optimization / INFORMS International
 
AMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and SimpleAMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
AMPL Workshop, part 1: Model-Based Optimization, Plain and Simple
 
AMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to DeploymentAMPL Workshop, part 2: From Formulation to Deployment
AMPL Workshop, part 2: From Formulation to Deployment
 
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer ProgramsIdentifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
Identifying Good Near-Optimal Formulations for Hard Mixed-Integer Programs
 
The Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric ViewThe Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric View
 
The Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear ProgrammingThe Evolution of Computationally Practical Linear Programming
The Evolution of Computationally Practical Linear Programming
 
Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...Optimization Software and Systems for Operations Research: Best Practices and...
Optimization Software and Systems for Operations Research: Best Practices and...
 

Recently uploaded

一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
zsjl4mimo
 
Natural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptxNatural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptx
fkyes25
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
nyfuhyz
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
kuntobimo2016
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
nuttdpt
 
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
mzpolocfi
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
Sachin Paul
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
Bill641377
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
AndrzejJarynowski
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Kiwi Creative
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
ahzuo
 
Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
roli9797
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
v3tuleee
 
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
74nqk8xf
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
Social Samosa
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
apvysm8
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
dwreak4tg
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
sameer shah
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
javier ramirez
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
74nqk8xf
 

Recently uploaded (20)

一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
一比一原版(Harvard毕业证书)哈佛大学毕业证如何办理
 
Natural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptxNatural Language Processing (NLP), RAG and its applications .pptx
Natural Language Processing (NLP), RAG and its applications .pptx
 
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
一比一原版(UMN文凭证书)明尼苏达大学毕业证如何办理
 
State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023State of Artificial intelligence Report 2023
State of Artificial intelligence Report 2023
 
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
一比一原版(UCSF文凭证书)旧金山分校毕业证如何办理
 
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
一比一原版(Dalhousie毕业证书)达尔豪斯大学毕业证如何办理
 
Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......Palo Alto Cortex XDR presentation .......
Palo Alto Cortex XDR presentation .......
 
Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...Population Growth in Bataan: The effects of population growth around rural pl...
Population Growth in Bataan: The effects of population growth around rural pl...
 
Intelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicineIntelligence supported media monitoring in veterinary medicine
Intelligence supported media monitoring in veterinary medicine
 
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging DataPredictably Improve Your B2B Tech Company's Performance by Leveraging Data
Predictably Improve Your B2B Tech Company's Performance by Leveraging Data
 
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
一比一原版(CBU毕业证)卡普顿大学毕业证如何办理
 
Analysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performanceAnalysis insight about a Flyball dog competition team's performance
Analysis insight about a Flyball dog competition team's performance
 
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理一比一原版(UofS毕业证书)萨省大学毕业证如何办理
一比一原版(UofS毕业证书)萨省大学毕业证如何办理
 
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
一比一原版(Coventry毕业证书)考文垂大学毕业证如何办理
 
The Ipsos - AI - Monitor 2024 Report.pdf
The  Ipsos - AI - Monitor 2024 Report.pdfThe  Ipsos - AI - Monitor 2024 Report.pdf
The Ipsos - AI - Monitor 2024 Report.pdf
 
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
办(uts毕业证书)悉尼科技大学毕业证学历证书原版一模一样
 
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
一比一原版(BCU毕业证书)伯明翰城市大学毕业证如何办理
 
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...
 
The Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series DatabaseThe Building Blocks of QuestDB, a Time Series Database
The Building Blocks of QuestDB, a Time Series Database
 
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
一比一原版(Chester毕业证书)切斯特大学毕业证如何办理
 

AMPL in the Cloud

  • 1. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Robert Fourer, Filipe Brandão, Martin Laskowski AMPL Optimization Inc. {4er,fdabrandao,martin}@ampl.com INFORMS Conference on Business Analytics and Operations Research Baltimore, April 15-17, 2018 Track 10 — Technology Tutorials — Monday, 3:40-4:30 pm AMPL in the Cloud Using Online Services to Develop and Deploy Optimization Applications through Algebraic Modeling 1
  • 2. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 AMPL in the Cloud Using Online Services to Develop and Deploy Optimization Applications through Algebraic Modeling Cloud services promising “optimization on demand” have become steadily more numerous and more powerful in recent years. This presentation offers a user-oriented survey, with a focus on the role of the AMPL modeling language in streamlining development and deployment of optimization models using online tools. Starting with the pioneering free NEOS Server, we compare more recent commercial offerings such as Gurobi Instant Cloud and the Satalia SolveEngine; the benefits of these solver services are enhanced through their use with AMPL’s algebraic modeling facilities. We conclude by introducing QuanDec, which turns AMPL models into web-based collaborative decision-making tools. 2
  • 3. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Outline AMPL Introduction  Concept of a modeling language  Example in the AMPL language AMPL in the cloud  Optimization on demand  NEOS Server  Satalia SolveEngine  IBM Decision Optimization on Cloud  Optimization to order  Gurobi Instant Cloud  Collaborative optimization  QuanDec 4
  • 4. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 The Optimization Modeling Cycle Steps  Communicate with problem owner  Build model  Prepare data  Generate optimization problem  Submit problem to solver  Gurobi, Knitro, CPLEX, Xpress, CONOPT, MINOS, . . .  Report & analyze results  Repeat until you get it right! Goals for optimization software  Do this quickly and reliably  Get results before client loses interest  Deploy for application 5
  • 5. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Optimization Modeling Languages Two forms of an optimization problem  Modeler’s form  Mathematical description, easy for people to work with  Solver’s form  Explicit data structure, easy for solvers to compute with Idea of a modeling language  A computer-readable modeler’s form  You write optimization problems in a modeling language  Computers translate to algorithm’s form for solution Advantages of a modeling language  Faster modeling cycles  More reliable modeling  More maintainable applications 6
  • 6. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Algebraic Modeling Languages Formulation concept  Define data in terms of sets & parameters  Analogous to database keys & records  Define decision variables  Minimize or maximize a function of decision variables  Subject to equations or inequalities that constrain the values of the variables Advantages  Familiar  Powerful  Proven 7
  • 7. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Features  Algebraic modeling language  Built specially for optimization  Designed to support many solvers Design goals  Powerful, general expressions  Natural, easy-to-learn modeling principles  Efficient processing that scales well with problem size Many ways to use . . . 9
  • 8. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Many Ways to Use AMPL Command language  Browse results & debug model interactively  Make changes and re-run Scripting language  Bring the programmer to the modeling language Programming interface (API)  Bring the modeling language to the programmer Deployment tool  Turn models into collaboration environments 10
  • 9. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Multicommodity transportation . . .  Products available at factories  Products needed at stores  Plan shipments at lowest cost 11 Example (1st cycle)
  • 10. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Given 𝑂 Set of origins (factories) 𝐷 Set of destinations (stores) 𝑃 Set of products and 𝑎 Amount available, for each 𝑖 ∈ 𝑂 and 𝑝 ∈ 𝑃 𝑏 Amount required, for each 𝑗 ∈ 𝐷 and 𝑝 ∈ 𝑃 𝑙𝑖𝑗 Limit on total shipments, for each 𝑖 ∈ 𝑂 and 𝑗 ∈ 𝐷 𝑐𝑖𝑗𝑝 Shipping cost per unit, for each 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃 12 Mathematical Formulation Multicommodity Transportation
  • 11. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Determine 𝑋𝑖𝑗𝑝 Amount of each product 𝑝 ∈ 𝑃 to be shipped from origin 𝑖 ∈ 𝑂 to destination 𝑗 ∈ 𝐷 to minimize ∑ ∑ ∑ 𝑐∈∈ 𝑋∈ Total shipping cost 13 Mathematical Formulation Multicommodity Transportation
  • 12. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Subject to ∑ 𝑋∈ 𝑎 for all 𝑖 ∈ 𝑂, 𝑝 ∈ 𝑃 Total shipments of product 𝑝 out of origin 𝑖 must not exceed availability ∑ 𝑋∈ 𝑏 for all 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃 Total shipments of product 𝑝 into destination 𝑗 must satisfy requirements ∑ 𝑋∈ 𝑙 for all 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷 Total shipments from origin 𝑖 to destination 𝑗 must not exceed the limit 14 Mathematical Formulation Multicommodity Transportation
  • 13. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 15 AMPL Formulation Symbolic data set ORIG; # origins set DEST; # destinations set PROD; # products param supply {ORIG,PROD} >= 0; # availabilities at origins param demand {DEST,PROD} >= 0; # requirements at destinations param limit {ORIG,DEST} >= 0; # capacities of links param cost {ORIG,DEST,PROD} >= 0; # shipment cost Multicommodity Transportation
  • 14. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 16 AMPL Formulation Symbolic model: variables and objective var Trans {ORIG,DEST,PROD} >= 0; # actual units to be shipped minimize Total_Cost: sum {i in ORIG, j in DEST, p in PROD} cost[i,j,p] * Trans[i,j,p]; Multicommodity Transportation ∑ ∑ ∑ 𝑐∈∈ 𝑋∈
  • 15. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 17 AMPL Formulation Symbolic model: constraint subject to Supply {i in ORIG, p in PROD}: sum {j in DEST} Trans[i,j,p] <= supply[i,p]; Multicommodity Transportation ∑ 𝑋∈ 𝑎 , for all 𝑖 ∈ 𝑂, 𝑝 ∈ 𝑃
  • 16. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 18 AMPL Formulation Symbolic model: constraints subject to Supply {i in ORIG, p in PROD}: sum {j in DEST} Trans[i,j,p] <= supply[i,p]; subject to Demand {j in DEST, p in PROD}: sum {i in ORIG} Trans[i,j,p] = demand[j,p]; subject to Multi {i in ORIG, j in DEST}: sum {p in PROD} Trans[i,j,p] <= limit[i,j]; Multicommodity Transportation
  • 17. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 19 AMPL Formulation Explicit data independent of symbolic model set ORIG := GARY CLEV PITT ; set DEST := FRA DET LAN WIN STL FRE LAF ; set PROD := bands coils plate ; param supply (tr): GARY CLEV PITT := bands 400 700 800 coils 800 1600 1800 plate 200 300 300 ; param demand (tr): FRA DET LAN WIN STL FRE LAF := bands 300 300 100 75 650 225 250 coils 500 750 400 250 950 850 500 plate 100 100 0 50 200 100 250 ; param limit default 625 ; Multicommodity Transportation
  • 18. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 20 AMPL Formulation Explicit data (continued) param cost := [*,*,bands]: FRA DET LAN WIN STL FRE LAF := GARY 30 10 8 10 11 71 6 CLEV 22 7 10 7 21 82 13 PITT 19 11 12 10 25 83 15 [*,*,coils]: FRA DET LAN WIN STL FRE LAF := GARY 39 14 11 14 16 82 8 CLEV 27 9 12 9 26 95 17 PITT 24 14 17 13 28 99 20 [*,*,plate]: FRA DET LAN WIN STL FRE LAF := GARY 41 15 12 16 17 86 8 CLEV 29 9 13 9 28 99 18 PITT 26 14 17 13 31 104 20 ; Multicommodity Transportation
  • 19. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 21 AMPL Solution Model + data = problem instance to be solved ampl: model multi.mod; ampl: data multi.dat; ampl: option solver minos; ampl: solve; MINOS 5.51: optimal solution found. 53 iterations, objective 199500 ampl: display Trans; Trans [CLEV,*,*] (tr) : DET FRA FRE LAF LAN STL WIN := bands 0 225 0 150 0 250 75 coils 525 0 225 75 400 300 75 plate 100 50 100 0 0 0 50 ... Multicommodity Transportation
  • 20. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 22 AMPL Solution Solver choice independent of model and data ampl: model multi.mod; ampl: data multi.dat; ampl: option solver snopt; ampl: solve; SNOPT 7.5-1.2 : Optimal solution found. 60 iterations, objective 199500 ampl: display Trans; Trans [CLEV,*,*] (tr) : DET FRA FRE LAF LAN STL WIN := bands 150 225 0 0 0 250 75 coils 375 0 225 225 400 300 75 plate 100 50 100 0 0 0 50 ... Multicommodity Transportation
  • 21. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Multicommodity transportation . . .  Products available at factories  Products needed at stores  Plan shipments at lowest cost . . . revised in light of practical considerations  Using an origin-destination pair incurs some fixed cost  Shipments cannot be too small  Factories cannot serve too many stores 23 Example (4th cycle)
  • 22. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Given 𝑂 Set of origins (factories) 𝐷 Set of destinations (stores) 𝑃 Set of products and 𝑎 Amount available, for each 𝑖 ∈ 𝑂 and 𝑝 ∈ 𝑃 𝑏 Amount required, for each 𝑗 ∈ 𝐷 and 𝑝 ∈ 𝑃 𝑙𝑖𝑗 Limit on total shipments, for each 𝑖 ∈ 𝑂 and 𝑗 ∈ 𝐷 𝑐𝑖𝑗𝑝 Shipping cost per unit, for each 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃 𝑑𝑖𝑗 Fixed cost for shipping any amount from 𝑖 ∈ 𝑂 to 𝑗 ∈ 𝐷 𝑠 Minimum total size of any shipment 𝑛 Maximum number of destinations served by any origin 24 Mathematical Formulation Multicommodity Transportation
  • 23. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Determine 𝑋𝑖𝑗𝑝 Amount of each 𝑝 ∈ 𝑃 to be shipped from 𝑖 ∈ 𝑂 to 𝑗 ∈ 𝐷 𝑌𝑖𝑗 1 if any product is shipped from 𝑖 ∈ 𝑂 to 𝑗 ∈ 𝐷 0 otherwise to minimize ∑ ∑ ∑ 𝑐∈∈ 𝑋∈ ∑ ∑ 𝑑∈ 𝑌∈ Total variable cost plus total fixed cost 25 Mathematical Formulation Multicommodity Transportation
  • 24. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Subject to ∑ 𝑋∈ 𝑎 for all 𝑖 ∈ 𝑂, 𝑝 ∈ 𝑃 Total shipments of product 𝑝 out of origin 𝑖 must not exceed availability ∑ 𝑋∈ 𝑏 for all 𝑗 ∈ 𝐷, 𝑝 ∈ 𝑃 Total shipments of product 𝑝 into destination 𝑗 must satisfy requirements ∑ 𝑋∈ 𝑙 𝑌 for all 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷 When there are shipments from origin 𝑖 to destination 𝑗, the total may not exceed the limit, and 𝑌 must be 1 26 Mathematical Formulation Multicommodity Transportation
  • 25. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Subject to ∑ 𝑋∈ 𝑠𝑌 for all 𝑖 ∈ 𝑂, 𝑗 ∈ 𝐷 When there are shipments from origin 𝑖 to destination 𝑗, the total amount of shipments must be at least 𝑠 ∑ 𝑌∈ 𝑛 for all 𝑖 ∈ 𝑂 Number of destinations served by origin 𝑖 must be as most 𝑛 27 Mathematical Formulation Multicommodity Transportation
  • 26. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 28 AMPL Formulation Symbolic data set ORIG; # origins set DEST; # destinations set PROD; # products param supply {ORIG,PROD} >= 0; # availabilities at origins param demand {DEST,PROD} >= 0; # requirements at destinations param limit {ORIG,DEST} >= 0; # capacities of links param vcost {ORIG,DEST,PROD} >= 0; # variable shipment cost param fcost {ORIG,DEST} > 0; # fixed usage cost param minload >= 0; # minimum shipment size param maxserve integer > 0; # maximum destinations served Multicommodity Transportation
  • 27. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 29 AMPL Formulation Symbolic model: variables and objective var Trans {ORIG,DEST,PROD} >= 0; # actual units to be shipped var Use {ORIG, DEST} binary; # 1 if link used, 0 otherwise minimize Total_Cost: sum {i in ORIG, j in DEST, p in PROD} vcost[i,j,p] * Trans[i,j,p] + sum {i in ORIG, j in DEST} fcost[i,j] * Use[i,j]; Multicommodity Transportation ∑ ∑ ∑ 𝑐∈∈ 𝑋∈ ∑ ∑ 𝑑∈ 𝑌∈
  • 28. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 30 AMPL Formulation Symbolic model: constraints subject to Supply {i in ORIG, p in PROD}: sum {j in DEST} Trans[i,j,p] <= supply[i,p]; subject to Demand {j in DEST, p in PROD}: sum {i in ORIG} Trans[i,j,p] = demand[j,p]; subject to Multi {i in ORIG, j in DEST}: sum {p in PROD} Trans[i,j,p] <= limit[i,j] * Use[i,j]; subject to Min_Ship {i in ORIG, j in DEST}: sum {p in PROD} Trans[i,j,p] >= minload * Use[i,j]; subject to Max_Serve {i in ORIG}: sum {j in DEST} Use[i,j] <= maxserve; Multicommodity Transportation
  • 29. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 31 AMPL Formulation Explicit data independent of symbolic model set ORIG := GARY CLEV PITT ; set DEST := FRA DET LAN WIN STL FRE LAF ; set PROD := bands coils plate ; param supply (tr): GARY CLEV PITT := bands 400 700 800 coils 800 1600 1800 plate 200 300 300 ; param demand (tr): FRA DET LAN WIN STL FRE LAF := bands 300 300 100 75 650 225 250 coils 500 750 400 250 950 850 500 plate 100 100 0 50 200 100 250 ; param limit default 625 ; param minload := 375 ; param maxserve := 5 ; Multicommodity Transportation
  • 30. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 32 AMPL Formulation Explicit data (continued) param vcost := [*,*,bands]: FRA DET LAN WIN STL FRE LAF := GARY 30 10 8 10 11 71 6 CLEV 22 7 10 7 21 82 13 PITT 19 11 12 10 25 83 15 [*,*,coils]: FRA DET LAN WIN STL FRE LAF := GARY 39 14 11 14 16 82 8 CLEV 27 9 12 9 26 95 17 PITT 24 14 17 13 28 99 20 [*,*,plate]: FRA DET LAN WIN STL FRE LAF := GARY 41 15 12 16 17 86 8 CLEV 29 9 13 9 28 99 18 PITT 26 14 17 13 31 104 20 ; param fcost: FRA DET LAN WIN STL FRE LAF := GARY 3000 1200 1200 1200 2500 3500 2500 CLEV 2000 1000 1500 1200 2500 3000 2200 PITT 2000 1200 1500 1500 2500 3500 2200 ; Multicommodity Transportation
  • 31. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 33 AMPL Solution Model + data = problem instance to be solved ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver gurobi; ampl: solve; Gurobi 7.0.0: optimal solution; objective 235625 332 simplex iterations 23 branch-and-cut nodes ampl: display Use; Use [*,*] : DET FRA FRE LAF LAN STL WIN := CLEV 1 1 1 0 1 1 0 GARY 0 0 0 1 0 1 1 PITT 1 1 1 1 0 1 0 ; Multicommodity Transportation
  • 32. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 34 AMPL Solution Solver choice independent of model and data ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver cplex; ampl: solve; CPLEX 12.7.0.0: optimal integer solution; objective 235625 135 MIP simplex iterations 0 branch-and-bound nodes ampl: display Use; Use [*,*] : DET FRA FRE LAF LAN STL WIN := CLEV 1 1 1 0 1 1 0 GARY 0 0 0 1 0 1 1 PITT 1 1 1 1 0 1 0 ; Multicommodity Transportation
  • 33. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 35 AMPL Solution Solver choice independent of model and data ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver xpress; ampl: solve; XPRESS 29.01: Global search complete Best integer solution found 235625 4 integer solutions have been found, 7 branch and bound nodes ampl: display Use; Use [*,*] : DET FRA FRE LAF LAN STL WIN := CLEV 1 1 1 0 1 1 0 GARY 0 0 0 1 0 1 1 PITT 1 1 1 1 0 1 0 ; Multicommodity Transportation
  • 34. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 36 AMPL Solution Examine results ampl: display {i in ORIG, j in DEST} ampl? sum {p in PROD} Trans[i,j,p] / limit[i,j]; : DET FRA FRE LAF LAN STL WIN := CLEV 1 0.6 0.88 0 0.8 0.88 0 GARY 0 0 0 0.64 0 1 0.6 PITT 0.84 0.84 1 0.96 0 1 0 ; ampl: display Max_Serve.body; CLEV 5 GARY 3 PITT 5 ; ampl: display TotalCost, ampl? sum {i in ORIG, j in DEST} fcost[i,j] * Use[i,j]; TotalCost = 235625 sum {i in ORIG, j in DEST} fcost[i,j]*Use[i,j] = 27600 Multicommodity Transportation
  • 35. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 37 AMPL IDE Multicommodity Transportation
  • 36. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Extend modeling language syntax . . .  Algebraic expressions  Set indexing expressions  Interactive commands . . . with programming concepts  Loops of various kinds  If-then and If-then-else conditionals  Assignments 40 Scripting
  • 37. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Run AMPL from your programs  Transfer data to and from AMPL  Execute AMPL commands within your application  Access all available solvers Use popular programming languages  C++, C#, Java, MATLAB, Python, R  Use Python dictionaries, R dataframes, MATLAB matrices, etc. 41 APIs
  • 38. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 43 Optimization in the Cloud Optimization on demand  NEOS Server  Satalia SolveEngine  IBM Decision Optimization on Cloud Optimization to order  Gurobi Instant Cloud Collaborative optimization  QuanDec ^
  • 39. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 44 NEOS Server www.neos-server.org Network Enabled Optimization System  Originated 1995 at Argonne National Laboratory and Northwestern University  U.S. Department of Energy  National Science Foundation  Since 2011 at University of Wisconsin, Madison  Wisconsin Institutes for Discovery Free “optimization on demand”  Over 40 solvers  Several optimization modeling languages
  • 40. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 46 Architecture Distributed workstations  Offer varied inputs & solvers  Process submissions on demand  Contributed by varied organizations Central scheduler  Receives and queues submissions  Sends submissions to appropriate workstations  Returns results Minimal hands-on management  Distributed: Install NEOS software on workstations  Central: Update server database of workstation locations and abilities NEOS Server
  • 41. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 47 Original Facilities Local submission clients  Email  Website  NEOS submission tool Problem description formats  Linear: MPS and other solver files  Nonlinear: Fortran or C programs  automatic differentiation of programs W. Gropp and J.J. Moré, 1997. Optimization Environments and the NEOS Server. Approximation Theory and Optimization, M. D. Buhmann and A. Iserles, eds., Cambridge University Press, 167-182. J. Czyzyk, M.P. Mesnier and J.J. Moré, 1998. The NEOS Server. IEEE Journal on Computational Science and Engineering 5(3), 68-75. NEOS Server
  • 42. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 48 Impact: Total Submissions Monthly rates since 1999 NEOS Server 45000/month  one per minute Peak day: 29 Sep 2013 144890  100 per minute
  • 43. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 49 Impact: Recent Submissions Monthly rates for past two years NEOS Server 45000/month  one per minute
  • 44. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 50 Assessment Strengths  Free  Choice of solvers  Every popular solver available  Easy to use  No account setup  No advance scheduling Weaknesses  Stand-alone focus: submission of “solve jobs”  Non-profit management  Limited support & development  No guarantee of confidentiality  No guarantee of performance NEOS Server
  • 45. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 52 Modeling Languages in NEOS Modeling language inputs  AMPL model, data, commands files  GAMS model, options, gdx files Modeling language operation  User chooses a solver and a language  NEOS scheduler finds a compatible workstation  NEOS workstation invokes modeling language system with given inputs  Modeling language system invokes solver E.D. Dolan, R. Fourer, J.J. Moré and T.S. Munson, Optimization on the NEOS Server. SIAM News 35:6 (July/August 2002) 4, 8–9. www.siam.org/pdf/news/457.pdf NEOS Server
  • 46. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 53 Impact: Modeling Languages NEOS Server Monthly rates since 2011
  • 47. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Solver & Language Listing NEOS Server 54
  • 48. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Input Page for CPLEX using AMPL NEOS Server 55
  • 49. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Input Page (cont’d) NEOS Server 56
  • 50. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Queue Page NEOS Server 57
  • 51. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Output Page NEOS Server 58
  • 52. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 Output Page (cont’d) NEOS Server 59
  • 53. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 61 APIs Application programming interfaces  Access NEOS from a local program Implementations  Version 1: XML-RPC remote procedure call  Version 5: full Python API Uses  NEOS submission tool  NEOS option in Solver Studio for Excel  NEOS as a “solver” for modeling systems NEOS Server
  • 54. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 62 Modeling Systems as NEOS Clients New “solvers”  Kestrel for AMPL  Kestrel for GAMS Familiar operation  Choose Kestrel as the local “solver”  Set an option to choose a real solver on NEOS  Initiate a solve and wait for results E.D. Dolan, R. Fourer, J.-P. Goux, T.S. Munson and J. Sarich, Kestrel: An Interface from Optimization Modeling Systems to the NEOS Server. INFORMS Journal on Computing 20 (2008) 525–538. dx.doi.org/10.1287/ijoc.1080.0264 NEOS Server
  • 55. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 63 AMPL Interactive Session NEOS Server ampl: model sched1.mod; ampl: data sched.dat; ampl: let least_assign := 16; ampl: option solver kestrel; ampl: option kestrel_options 'solver=cplex'; ampl: solve; Connecting to: neos‐server.org:3332 Job 4679195 submitted to NEOS, password='JMNRQoTD' Check the following URL for progress report : http://neos‐server.org/neos/cgi‐bin/nph‐neos‐ solver.cgi?admin=results&jobnumber=4679195&pass=JMNRQoTD Job 4679195 dispatched password: JMNRQoTD ‐‐‐‐‐‐‐‐‐‐ Begin Solver Output ‐‐‐‐‐‐‐‐‐‐‐ Job submitted to NEOS HTCondor pool.
  • 56. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 64 AMPL Interactive Session NEOS Server ‐‐‐‐‐‐‐‐‐‐ Begin Solver Output ‐‐‐‐‐‐‐‐‐‐‐ Job submitted to NEOS HTCondor pool. CPLEX 12.6.2.0: optimal integer solution; objective 265.9999999999943 135348 MIP simplex iterations 17430 branch‐and‐bound nodes ampl: option omit_zero_rows 1, display_1col 0; ampl: display Work; Work [*] := 1 16    11 16    36 19    72 20    82 20   106 16   114 20   125 20 3 16    29 16    66 17    79 19   104 19   112 16   121 16 ; ampl:
  • 57. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 65 Kestrel Impact NEOS Server Intensive use in short bursts  Peaks of 10,000-60,000 per day Modest use on average  Average of 3,570 per month over past year  Mostly AMPL/CPLEX
  • 58. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 66 Kestrel Assessment Strengths  Powerful local client for modeling  NEOS facilities for solving Weaknesses  Not all NEOS solvers available  Local solver software is strong competition . . .  Bundled with modeling languages  Free for trial use  Free for course and academic use  Limited support & development  Solver logs not currently returned . . . we provide support for Kestrel/AMPL NEOS Server
  • 59. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 67 Recent Developments Intensified support  Shift to HTCondor “high-throughput” platforms  Updated Kestrel client  Updated solver offerings User accounts  Higher priority for job scheduling  “My Jobs” tab listing recent jobs & links to results NEOS Server
  • 60. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 68 A Commercial NEOS?
  • 61. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 69 Satalia SolveEngine
  • 62. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 70 Satalia SolveEngine
  • 63. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 71 Satalia SolveEngine
  • 64. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 72 A Solver-Specific NEOS?
  • 65. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 73 IBM Decision Optimization on Cloud DOcplexcloud API  Analogous to NEOS Python API DropSolve service  Similar to NEOS web services  Matrix formats: LP, SAV, and MPS files  OPL modeling language: MOD and DAT files  Python programs using the API IBM solvers  CPLEX  CP optimizer See also FICO Analytic Cloud for Xpress solver
  • 66. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 75 Gurobi Instant Cloud cloud.gurobi.com Client side  Standard Gurobi installation  Cloud license Server side  Compute server for Gurobi solver  Single-machine solves  Distributed MIP solves  Distributed tuning  Server pools with load balancing . . . hosted on Amazon Web Services “Cloud computing technology is changing quickly. Please check these documents periodically to ensure you have the latest instructions for the Gurobi Cloud.”
  • 67. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 76 Gurobi Instant Cloud for AMPL Client side  AMPL installation (command-line or IDE)  Standard Gurobi-for-AMPL installation Server side  Gurobi compute server  Gurobi optimizer
  • 68. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 77 cloud.gurobi.com Gurobi Instant Cloud
  • 69. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 78 cloud.gurobi.com Gurobi Instant Cloud
  • 70. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 79 www.gurobi.com Gurobi Instant Cloud
  • 71. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 80 View Available Licenses Gurobi Instant Cloud
  • 72. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 81 Get Gurobi License File Gurobi Instant Cloud # This is a license file created by the Gurobi Instant Cloud # Created on Mon, 17 Oct 2016 20:46:26 GMT # License Id: 142032 # Place this file in your home directory or one of the following # locations where XXX is the Gurobi Optimizer version you are using:  #    * C:gurobi or C:gurobiXXX on Windows #    * /opt/gurobi/ or /opt/gurobiXXX/ on Linux #    * /Library/gurobi/ or /Library/gurobiXXX/ on Mac OS X # Or set environment variable GRB_LICENSE_FILE to point to this file # Do not share this license file because it contains your secret key CLOUDACCESSID=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 CLOUDKEY=0v9XdWrDQLiE3EiAAEKtFw CLOUDHOST=ngcloud.gurobi.com
  • 73. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 82 Use with AMPL: Setup Gurobi Instant Cloud ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver gurobi; ampl: option gurobi_options ampl?   'cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 ampl?    cloudkey=0v9XdWrDQLiE3EiAAEKtFw'; ampl:
  • 74. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 83 Use with AMPL: Startup Gurobi Instant Cloud ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver gurobi; ampl: option gurobi_options ampl?   'cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 ampl?    cloudkey=0v9XdWrDQLiE3EiAAEKtFw'; ampl: solve; Gurobi 7.0.0: cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 cloudkey=0v9XdWrDQLiE3EiAAEKtFw Waiting for cloud server to start..........
  • 75. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 84 Use with AMPL: Solve Gurobi Instant Cloud ampl: model multmip3.mod; ampl: data multmip3.dat; ampl: option solver gurobi; ampl: option gurobi_options ampl?   'cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 ampl?    cloudkey=0v9XdWrDQLiE3EiAAEKtFw'; ampl: solve; Gurobi 7.0.0: cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 cloudkey=0v9XdWrDQLiE3EiAAEKtFw Waiting for cloud server to start............. Capacity available on 'default' cloud pool ‐ connecting... Established 256‐bit AES encrypted connection Gurobi 7.0.0: optimal solution; objective 235625 289 simplex iterations 25 branch‐and‐cut nodes plus 35 simplex iterations for intbasis ampl:
  • 76. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 85 Use with AMPL: Continue Gurobi Instant Cloud ampl: display {i in ORIG, j in DEST} sum {p in PROD} Trans[i,j,p]; :      DET   FRA   FRE   LAF   LAN   STL   WIN    := CLEV   625   375   550     0   500   550     0 GARY     0     0     0   400     0   625   375 PITT   525   525   625   600     0   625     0 ; ampl: reset data; ampl: data multmip3a.dat; ampl: solve; Gurobi 7.0.0: cloudid=fedf3901‐04f1‐44d7‐9725‐e36c1c3f70f6 cloudkey=0v9XdWrDQLiE3EiAAEKtFw Capacity available on 'default' cloud pool ‐ connecting... Established 256‐bit AES encrypted connection Gurobi 7.0.0: optimal solution; objective 238450 163 simplex iterations plus 33 simplex iterations for intbasis ampl:
  • 77. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 87 Manage Server Configuration Gurobi Instant Cloud
  • 78. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 88 Check Costs Gurobi Instant Cloud
  • 79. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 89 Gurobi Cloud Costs Commercial plans  Annual subscription fee, plus  Hourly rates for use:  Gurobi rate for compute servers  Amazon rate for distributed workers Trials, academic use, special grants  Amazon rate only . . . set up through sales rep
  • 80. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 90 Gurobi Cloud for AMPL: Assessment Strengths  Security  Reliability (via Amazon)  Support for multi-server and/or multi-worker pools  Support for local modeling clients Drawbacks (compared to NEOS)  Not free  Budgeting can be complicated  Solver-specific  Not quite “optimization on demand”
  • 81. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 91 QuanDec Server side  AMPL model and data  Standard AMPL-solver installations Client side  Interactive tool for collaboration & decision-making  Runs on any recent web browser  Java-based implementation  AMPL API for Java  Eclipse Remote Application Platform . . . developed / supported by Cassotis Consulting
  • 82. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 92 Initialization Prepare the model and data  Add reporting variables to the model  Select initial data in AMPL .dat format Import to QuanDec  Install on a server  Read zipfile of model and data  Create new application and first master problem Configure displays  Create data tables  Adjust views . . . mostly done automatically QuanDec
  • 83. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 The web-based graphical interface that turns optimization models written in AMPL into decision-making tools 93
  • 84. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 scenario #1 scenario #2 scenario #3 scenario #4 #2 #3 reports import /  export   to  Excel® comparison sensitivity  analysis pre‐defined  analysis Server application Centralized data Several apps on a single  instance Web‐based Multi‐users Concurrent access Secure access Scenario‐based Sharing between users Sharing rights                 (edit / comment/ view) And much more… regression Features 94
  • 88. Quandec’s value proposition Intuitive & user-friendly Benefit from all AMPL language features Recurrent decisions based on the result of analyses (scripts) Run optimization in various conditions (scenarios) No need of knowledge in Operations Research to be an end userGUI creation in less than 2 days, without any programming No proprietary format: use your preferred editor and use any good versioning system 98
  • 89. Standalone Quandec Version Available in 2018 Q3 scenario #1 scenario #2 scenario #3 scenario #4 #2 #3 reports comparison sensitivity  analysis pre‐defined  analysis Several apps on                a single instance Scenario‐based And much more… regression import /  export   to  Excel® 99
  • 90. Fourer, Brandão, Laskowski, AMPL in the Cloud INFORMS Analytics, Baltimore, 15-17 April 2017 QuanDec Availability Contact sales@ampl.com  Free trials available  Pricing keyed to number of models & users First year’s support included  Tailored setup support from Cassotis Consulting  Customizations possible 100