jun ma, optimization services, may 18, 2005 optimization services (os) jun ma industrial engineering...

50
Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo System Inc. 05/18/2005 -- A Framework for Optimization Soft -- A Computational Infrastructure -- The Next Generation NEOS -- The OR Internet

Upload: lydia-lynch

Post on 21-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

Jun Ma, Optimization Services, May 18, 2005

Optimization Services (OS)

Jun Ma

Industrial Engineering and Management SciencesNorthwestern University

Lindo System Inc. 05/18/2005

-- A Framework for Optimization Software

-- A Computational Infrastructure

-- The Next Generation NEOS

-- The OR Internet

Page 2: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

2

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 3: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

3

Jun Ma, Optimization Services, May 18, 2005

MotivationFuture of Computing

Page 4: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

4

Jun Ma, Optimization Services, May 18, 2005

MotivationBut how… with so many type of components

1. Modeling Language Environment (MLE) (AIMMS, AMPL, GAMS, LINGO, LPL, MOSEL, MPL, OPL, OSmL )

2. Solver(Too many, e.g. Lindo)

3. Analyzer/Preprocessor(Analyzer, MProbe, Dr. AMPL)

4. Simulation(Software that does heavy computation, deterministic or stochastic)

5. Server/Registry(NEOS, BARON, HIRON, NIMBUS, LPL, AMPL, etc.)

6. Interface/Communication Agent(Lindo Black-Box Interface, COIN-OSI, CPLEX-Concert, AMPL/GAMS-Kestrel, etc.)

7. Low Level Instance Representation(Lindo’s Instruction List, and others on next page)

)

Page 5: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

5

Jun Ma, Optimization Services, May 18, 2005

Motivation

But how… with so many optimization types and representation formats

Linear Programming Quadratic ProgrammingMixed Integer Linear Programming

MPS, xMPS, LP, CPLEX, GMP, GLP, PuLP, LPFML, MLE instances

Nonlinearly Constrained OptimizationBounded Constrained OptimizationMixed Integer Nonlinearly Constrained OptimizationComplementarity ProblemsNondifferentiable OptimizationGlobal Optimization

MLE instancesSIF (only for Lancelot solver)

Semidefinite & Second Order Cone Programming

Sparse SDPA, SDPLR

Linear Network Optimization NETGEN, NETFLO, DIMACS, RELAX4

Stochastic Linear Programming sMPS

Stochastic Nonlinear Programming None

Combinatorial Optimization None (except for TSP input, only intended for solving Traveling Sales Person problems.

Constraint and Logic Programming None

Optimization with Distributed Data None

Optimization via Simulation None

OSiL

Page 6: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

6

Jun Ma, Optimization Services, May 18, 2005

MotivationLook at the NEOS server Web site

M X N drivers M + N drivers

Page 7: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

7

Jun Ma, Optimization Services, May 18, 2005

MotivationAs if it’s not bad enough …

1. Tightly-coupled implementation (OOP? Why not!)

2. Various operating systems

3. Various communication/interfacing mechanisms

4. Various programming languages

5. Various benchmarking standards

Page 8: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

8

Jun Ma, Optimization Services, May 18, 2005

MotivationNow…

• The key issue is communication, not solution!

• … and Optimization Services is intended to solve all the above issues.

Page 9: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

9

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 10: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

10

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 11: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

11

Jun Ma, Optimization Services, May 18, 2005

Optimization Services (OS)What is happening behind?

Modeler

Model/Data Agent Solver

AMPL

OSmL

Parse to OSiL

XML-based standard

OS

Server

OS Server

location

Registry

OS Server

Simulation

Solver

Solver

Max f(x) :objective x :variabless.t. lb1 <= g1(x) <= ub2 :constraints lb2 <= g2(x) <= ub2

f(x) can be sin(x(1))+x(x(2))g1(x) can be if(x(1)>0) then x(2) else cost(x(2))g2(x) can be a metric from a finite element simulation (non-closed form black box function evaluator)

Analyzer

Raw Data

browser

Web page

Google

Web Server

CGIsocket

Data in HTML Form

http/html

OSP -- OShL(OSiL)

Database/ App Service

HTML Checker

Web address

html form

OS Server

Page 12: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

12

Jun Ma, Optimization Services, May 18, 2005

Optimization ServicesWhat is it? – A framework for optimization software

Page 13: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

13

Jun Ma, Optimization Services, May 18, 2005

Optimization ServicesWhat is it? – A computational infrastructure

Page 14: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

14

Jun Ma, Optimization Services, May 18, 2005

Optimization ServicesWhat is it? – The next generation NEOS

•The NEOS server and its connected solvers uses the OS framework.•NEOS accepts the OSiL and other related OSP for problem submissions•NEOS becomes an OS compatible meta-solver on the OS network •NEOS hosts the OS registry

Page 15: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

15

Jun Ma, Optimization Services, May 18, 2005

Optimization ServicesWhat is it? – The OR Internet

Page 16: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

16

Jun Ma, Optimization Services, May 18, 2005

Optimization Services Protocol (OSP) What is it? – Application level networking protocol

– Interdisciplinary protocol between CS and OR

Page 17: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

17

Jun Ma, Optimization Services, May 18, 2005

Optimization Services Protocol (OSP) What does the protocol involve? – 20+ OSxL languages

Page 18: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

18

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 19: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

19

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background What does an optimization system look like?

0x

tosubject

minimize

bAx

cxx

users

modelers

developers

Page 20: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

20

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background What is the difference between a model and an instance?

0x

tosubject

minimize

bAx

cxx

model high-level, user-friendly

symbolic, general,

concise, understandable

AMPL

instance

MPS

OSiL

Low-level, computer-friendly

explicit, specific,

redundant, convenient

compile

Page 21: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

21

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background What’s the difference between local interfacing and communication agent

Page 22: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

22

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background Why is analyzer important?

Page 23: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

23

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background What’s the difference between a server and a registry

Page 24: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

24

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background What’s a simulation?

0,0x

932tosubject

2 minimize

21

21

22

21

x

xx

xxx

Page 25: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

25

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background AMPL, NEOS and Kestrel

ampl: option optimizationservices on

Page 26: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

26

Jun Ma, Optimization Services, May 18, 2005

Optimization System Background Motorola Optimization System

Page 27: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

27

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 28: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

28

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background What we used in our implementation

1. Java, Open Source Libraries, Object-oriented Programming (OS library)

2. Networking Protocols: HTTP, SOAP, OSP (OS server: Tomcat, Axis, OS library)

3. Eclipse IDE for JAVA development

4. XML Spy for XML Schema design

Page 29: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

29

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background XML and XML Dialect (e.g. MathML, OSiL)

MathML

OSiL

Page 30: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

30

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background XML Schema

Page 31: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

31

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background Other XML Technologies

1. Parsing: SAX and DOM models

2. Transformation: XSL style sheet

3. Lookup: XPath and XQuery

Page 32: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

32

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background Web services

•Platform and implementation independent components

•Described using a service description language (WSDL)

•Published to a registry of services (UDDI, OS Registry)

•Discovered through a standard mechanism (UDDI, OS Registry)

•Invoked through a declared API (SOAP)

•Composed with other services (SOAP)

Service-oriented Architecture (SOA)

Page 33: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

33

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background Web services and SOAP

Protocol ViewArchitecture View

Page 34: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

34

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background Web services and WSDL

Page 35: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

35

Jun Ma, Optimization Services, May 18, 2005

Computing and Distributed Background Web services and WSDL

Page 36: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

36

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 37: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

37

Jun Ma, Optimization Services, May 18, 2005

Optimization Services RepresentationWho else did this before?

•Many “standards”

•All limited to problem input

•Highly fragmented and no general format

• Fourer, Lopes, and Martin’s LPFML (OSlL)

•Kristjánsson’s OptML

•Bradley’s NaGML

•We are the first in designing

- Systematic representation of major optimization types

- All major instance types (result, analysis, input, query, etc.)

-Web services (SOAP) based communication standards

-Optimization registry

-A universal framework

Page 38: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

38

Jun Ma, Optimization Services, May 18, 2005

Optimization Services RepresentationOptimization Services general Language (OSgL)

General data structures; Included in other schemas

Optimization Services instance Language (OSiL)

All major optimization types

Optimization Services nonlinear Language (OSnL)

Provides 200+ function/operator/operand nodes for OSiL

arithmetic, elementary function, statistic/probability, constants, optimization, terminals, trigonometric, logic/relational, special

Optimization Services result Language (OSrL)

Multiple solutions; built-in standard results, solver-specific, analysis result

Optimization Services option Language (OSoL)

Few built-in standard options; well-scalable design structure for specific options

Optimization Services simulation Language (OSsL)

Both simulation input and output; supports values and links

Optimization Services transformation Language (OStL)

XSL transformation style sheet;

Page 39: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

39

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 40: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

40

Jun Ma, Optimization Services, May 18, 2005

Optimization Services CommunicationOptimization Services hookup Language (OShL)

Hookup to solvers, and analyzers

Optimization Services instance Language (OScL)

Call simulations

Optimization Services flow Language (OSfL)

Orchestrate flow logics;

Page 41: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

41

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 42: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

42

Jun Ma, Optimization Services, May 18, 2005

Optimization Services Registryregistration

Optimization Services entity Language (OSeL, representation)

Static service entity information

Optimization Services process Language (OSpL, , representation)

Dynamic service process information

Optimization Services benchmark Language (OSbL, , representation)

Score based benchmarks?

Optimization Services yellow-page Language (OSyL, , representation)

OS registry database; native XML; A sequence of [OSeL, OSpL, OSbL] triplets

Optimization Services join Language (OSjL, communication)

Join the OS registry (manual and automatic process) with entity (OSeL) information.

Optimization Services knock Language (OSkL, communication)

“Knock” at the services for run time dynamitic process (OSpL) information

Page 43: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

43

Jun Ma, Optimization Services, May 18, 2005

Optimization Services Registrydiscovery

Optimization Services query Language (OSqL, representation)

Like SQL for relational database; can use XQuery, OSaL (analysis), predefined

Optimization Services discover Language (OSdL, communication)

send the query to the OS registry to discover services

Optimization Services uri Language (OSuL, representation)

A sequence of uri (url) addresses for service locations with degree of fitness

Optimization Services validate Language (OSvL, validate)

A validation service provided by the OS registry that validates all OSxL instances

Page 44: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

44

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 45: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

45

Jun Ma, Optimization Services, May 18, 2005

Optimization Services modeling Language(OSmL)

A derived research

Open source and general purposeStandard based (XQuery input; OSiL output)Suitable for distributed optimization

XML data is ubiquitous

Page 46: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

46

Jun Ma, Optimization Services, May 18, 2005

Optimization Services modeling Language

#set, parameter, and variable constructionsparam T;set PROD;set LINKS = {PROD, 1..T};param HC {PROD} ;param FXC {PROD} ;param CAP {1..T} ;param DEM {LINKS};param PCOST {PROD, 1..T} ;

#VARIABLE DECLARATIONvar x {PROD, 1..T} >= 0;var I {PROD, 0..T} >=0;var y {PROD, 1..T}binary;

#OBJECTIVE CONSTRUCTIONminimize Total_Cost: sum {i in PROD} I[i, 0] + sum {i in PROD, t in 1..T} (PCOST[i, t]*x[i, t] + HC[i]*I[i, t] + FXC[i]*y[i, t]);

# INITIAL INVENTORY CONSTRAINTSsubject to Init_Inv {i in PROD}: I[i, 0] = 0.0;

# DEMAND CONSTRAINTSsubject to Balance {i in PROD, t in 1..T}: x[i, t] + I[i, t - 1] - I[i, t] = DEM[i, t];

# FIXED CHARGE CONSTRAINTSsubject to Fixed_Charge {i in PROD, t in 1..T}: x[i, t] <= CAP[ t]*y[i, t];

# CAPACITY CONSTRAINTS subject to Capacity {t in 1..T}: sum {i in PROD} x[i, t] <= CAP[ t];

(: set and parameter constructions:)let $capacity := doc("./lotsizeData.xml")/lotSizeData/periodCapacity/capacitylet $products := doc("./xml/ds800m.xml")/lotSizeData/productlet $N := count($products)let $T := count($capacity[periodID])let $FXC := data($products/@fixedCost)let $HC := data($products/@holdCost)let $PCOST := data($products/@prodCost)let $CAP := data($capacity/text())let $DEM := $products/period/demandlet $PROD := (1 to $N)return <mathProgram> (: VARIABLE DECLARATION :)<variables>{ for $i in (1 to $N), $t in (1 to $T) return (<var name="X[{$i},{$t}]"/>, <var name="I[{$i},{$t}]"/>, <var name="Y[{$i},{$t}]" type="B" />) }</variables>

(: OBJECTIVE FUNCTION :)<obj maxOrMin="min" name="Total_Cost">SUM(for $i in (1 to $N), $t in (1 to $T) return{$PCOST[$i]}*X[{$i},{$t}] + {$FXC[$i]}*Y[{$i},{$t}] + {$HC[$i]}*I[{$i},{$t}])</obj>

<constraints>(: INITIAL INVENTORY CONSTRAINTS :){for $i in $PROD return <con name="inventory[{$i}]"> I[{$i},0] = 0 </con> }

(: DEMAND CONSTRAINTS :){for $i in $PROD, $t in (1 to $T)let $demand := ($products[$i]/period[@periodID=$t]/demand/text()) return<con name="demand[{$i},{$t }]"> X[{$i},{$t}] + I[{$i},{$t - 1}] - I[{$i},{$t}] = {$demand} </con> }

(: FIXED CHARGE CONSTRAINTS :){for $t in (1 to $T), $i in (1 to $N) return<con name="fixed_charge[{$i},{$t }]" > X[{$i},{$t}]-{$CAP[$t]}*Y[{$i},{$t}] <= 0</con> }

(: CAPACITY CONSTRAINTS :){for $t in (1 to $T) return <con name="capacity[{$t}]"> SUM(for $i in (1 to $N) return X[{$i},{$t}])<= {$CAP[$t]} </con>}</constraints> </mathProgram>

AMPLOSmL

Page 47: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

47

Jun Ma, Optimization Services, May 18, 2005

Optimization Services modeling Language4 ways of combining XML with optimization

1. Use XML to represent the instance of a mathematical program

2. Develop an XML modeling language dialect

3. Enhance modeling languages with XML features such as XPath

4. Use XML technologies to transform XML data into a problem instance

Page 48: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

48

Jun Ma, Optimization Services, May 18, 2005

OUTLINE

2. Demonstration

3. Optimization Services and Optimization Services Protocol

6. Optimization Services Protocol - Representation

10. Future and Derived Research

1. Motivations

7. Optimization Services Protocol - Communication

8. Optimization Services Protocol - Registry

5. Computing and Distributed Background

9. Optimization Services modeling Language (OSmL)

4. Optimization System Background

Page 49: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

49

Jun Ma, Optimization Services, May 18, 2005

Derived Research and Business Models• The Optimization Services project• Standardization • Problem repository building • OS server software, library enhancement• Derived research in distributed systems (coordination, scheduling and congestion control)• Derived research in decentralized systems (registration,

discovery, analysis, control)• Derived research in local systems (OSI? OSiI, OSrI, OSoI?)• Derived research in optimization servers (NEOS)• Derived research in computational software

(AMPL, Knitro, Lindo/Lingo, IMPACT, OSmL, MProbe, Dr. AMPL, etc. )• Derived research in computational algorithm

Parallel computing

Optimization via simulation

Optimization job scheduling

Analyzing optimization instances according to the needs of the OS registry.

Modeling and compilation

Efficient OSxL instance parsing and preprocessing algorithms.

Effective Optimization Services process orchestration.

Promote areas where lack of progress are partly due to lack of representation schemes• Derived business model

Modeling language developers, solver developers, and analyzer developers

Library developers, registry/server developers, and other auxiliary developers

Computing on demand and “result on demand”

Page 50: Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo

50

Jun Ma, Optimization Services, May 18, 2005

End

http://www.optimizationservices.org (.net)