Optimization Services (OS)

Slides:



Advertisements
Similar presentations
REST Vs. SOAP.
Advertisements

31242/32549 Advanced Internet Programming Advanced Java Programming
A Prototype Implementation of a Framework for Organising Virtual Exhibitions over the Web Ali Elbekai, Nick Rossiter School of Computing, Engineering and.
Optimization Services Robert Fourer, Jun Ma, Kipp Martin Optimization Services OS Server and OS Libraries Jun Ma Industrial Engineering.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Solver and modelling support for stochastic programming H.I. Gassmann, Dalhousie University Happy Birthday András, November 2009.
Bookshelf.EXE - BX A dynamic version of Bookshelf –Automatic submission of algorithm implementations, data and benchmarks into database Distributed computing.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
XML Technologies and Applications Rajshekhar Sunderraman Department of Computer Science Georgia State University Atlanta, GA 30302
Jun Peng Stanford University – Department of Civil and Environmental Engineering Nov 17, 2000 DISSERTATION PROPOSAL A Software Framework for Collaborative.
Optimization Services (OS) Framework and OSP Protocols (OSxL) “Combining Operations Research with Computing Technology” Jun Ma 10/24/2004.
Robert Fourer, Jun Ma, Kipp Martin, Optimization Services, January 18, 2005 Optimization Services (OS) Jun Ma Motorola, Schaumburg 01/18/2005 Robert Fourer.
Robert Fourer, Jun Ma, Kipp Martin Optimization Services Instance Language (OSiL), Solvers, and Modeling Languages Kipp Martin University of Chicago
Quantitative Methods of Management
A General and Unified Design and Framework for Distributed Optimization Robert Fourer Jun Ma 12/12/2003 Industrial Engineering and Management Sciences.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Optimization Services Robert Fourer, Jun Ma, Kipp Martin Setting Up and Hosting Your Solver as Web Services via Optimization Services (OS) Jun Ma
Recent Changes to the Optimization Services Project H.I. Gassmann, Faculty of Management J. Ma, Northwestern University R.K. Martin, The University of.
DISTRIBUTED COMPUTING
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
Outline  Enterprise System Integration: Key for Business Success  Key Challenges to Enterprise System Integration  Service-Oriented Architecture (SOA)
Extensions to the OSiL schema: Matrix and cone programming Horand I. Gassmann, Dalhousie University Jun Ma, Kipp Martin, Imre Polik.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
Jun Ma, Optimization Services, July 19, 2006 Optimization Services (OS) Today: open Interface for Hooking Solvers to Modeling Systems Jun Ma Northwestern.
Robert Fourer, Jun Ma, Kipp Martin Optimization Services and the Stylized “OS” Logo are registered in the US Patent & Trademark Office. All other product.
Jun Ma, Optimization Services, June 23, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University T.J.
Fourer, Ma, Martin, An Open Interface for Hooking Solvers to Modeling Systems INFORMS International, Puerto Rico, July 8-11, INFORMS International.
Robert Fourer, Jun Ma, Kipp Martin, Optimization Services, May 06, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences.
Diego Klabjan, Jun Ma, Robert Fourer – Northwestern University.
Jun Ma, Optimization Services, March 06, 2006 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University.
An XML-based schema for stochastic programs H.I. Gassmann, R. Fourer, J. Ma, R.K. Martin EURO XXI, June 2006, Reykjavik.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 Optimization Services hookup Language (OShL) Jun Ma INFORMS, Pittsburgh 11/08/2006 Jun Ma Robert Fourer.
FATCOP: A Mixed Integer Program Solver Michael FerrisQun Chen Department of Computer Sciences University of Wisconsin-Madison Jeff Linderoth, Argonne.
Jun Ma, Optimization Services, May 18, 2005 Optimization Services (OS) Jun Ma Industrial Engineering and Management Sciences Northwestern University Lindo.
Optimization Services Framework and OSxL Protocols Jun Ma Northwestern University 09/14/04.
Martin Kruliš by Martin Kruliš (v1.1)1.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
OSiL: An XML-based schema for stochastic programs H.I. Gassmann, R. Fourer, J. Ma, R.K. Martin SP XI Vienna, August 2007.
Jun Ma, Sanjay Mehrotra and Huanyuan Sheng Impact Solver for Optimization Services, November 8, 2006 On Implementing a Parallel Integer Solver Using Optimization.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2005 Optimization Services (OS) Jun Ma Annapolis, 01/07/2005 Robert Fourer Jun Ma Northwestern University.
1 LM 6 Database Applications Dr. Lei Li. Learning Objectives Explain three components of a client-server system Describe differences between a 2-tiered.
Huanyuan Sheng, Sanjay Mehrotra and Jun Ma Impact Solver for Optimization Services, November 15, 2005 IMPACT Solver for Optimization Services Huanyuan(Wayne)
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Example of a Problem Statement: Introduction into ARENA
Solver & Optimization Problems
Introduction to Web Services
Some Basics of Globus Web Services
CHAPTER 3 Architectures for Distributed Systems
XML in Web Technologies
Hierarchical Architecture
Cloud Computing By P.Mahesh
Example of a Problem Statement: Introduction into ARENA
Optimization via Simulation under Optimization Services (OS)
Chapter 27 WWW and HTTP.
Optimization Services Instance Language (OSiL)
Chapter 9 Web Services: JAX-RPC, WSDL, XML Schema, and SOAP
The future of distributed systems architecture
Example of a Problem Statement: Introduction into ARENA
Lecture 1: Multi-tier Architecture Overview
Huanyuan(Wayne) Sheng
A more complex LP problem
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
[Robert W. Sebesta, “Programming the World Wide Web
Presentation transcript:

Optimization Services (OS) -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS -- The OR Internet Jun Ma Industrial Engineering and Management Sciences Northwestern University T.J. Watson Lab, IBM, 06/23/2005

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 2

Motivation Future of Computing 3

Motivation But how… with so many type of components 1. Modeling Language Environment (MLE) (AIMMS, AMPL, GAMS, LINGO, LPL, MOSEL, MPL, OPL, OSmL, POAMS, PuLP, spreadsheets, GUIs ) 2. Solver (Too many) 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 (COIN-OSI, CPLEX-Concert, AMPL/GAMS-Kestrel, etc.) 7. Low Level Instance Representation (Next page) 4

Motivation But how… with so many optimization types and representation formats Linear Programming Quadratic Programming Mixed Integer Linear Programming MPS, xMPS, LP, CPLEX, GMP, GLP, PuLP, LPFML, MLE instances Nonlinearly Constrained Optimization Bounded Constrained Optimization Mixed Integer Nonlinearly Constrained Optimization Complementarity Problems Nondifferentiable Optimization Global Optimization MLE instances SIF (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 Optimization with Distributed Data Optimization via Simulation OSiL 5

Motivation Look at the NEOS server Web site M X N drivers M + N drivers 6

Motivation As 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 7

The key issue is communication, not solution! Motivation Now… The key issue is communication, not solution! … and Optimization Services is intended to solve all the above issues. 8

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 9

Demonstration 10

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 11

Optimization Services (OS) What is happening behind? XML-based standard Web address browser html form http/html location Web page socket OS Server CGI OSP -- OShL(OSiL) Parse to OSiL Web Server OS Server OS Server HTML Checker Database/ App Service Google Data in HTML Form OS Server 12

Optimization Services What is it Optimization Services What is it? – A framework for optimization software 13

Optimization Services What is it? – A computational infrastructure 14

Optimization Services What 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 15

Optimization Services What is it? – The OR Internet 16

Optimization Services Protocol (OSP) What is it Optimization Services Protocol (OSP) What is it? – Application level networking protocol – Interdisciplinary protocol between CS and OR 17

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

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 19

Optimization System Background What does an optimization system look like? users developers modelers 20

Optimization System Background What is the difference between a model and an instance? compile Low-level, computer-friendly explicit, specific, redundant, convenient model high-level, user-friendly symbolic, general, concise, understandable instance MPS AMPL OSiL 21

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

Optimization System Background More on local interface 23

Optimization System Background Why is analyzer important? 24

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

Optimization System Background What’s a simulation? 26

Optimization System Background AMPL, NEOS and Kestrel ampl: option optimizationservices on 27

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 28

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 29

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

Computing and Distributed Background XML Schema 31

Computing and Distributed Background Other XML Technologies 1. Parsing: SAX and DOM models 2. Transformation: XSL style sheet 3. Lookup: XPath and XQuery 4. Communication: SOAP, WSDL, UDDI 32

Computing and Distributed Background Web services and SOAP Architecture View Protocol View 33

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 34

Optimization Services Representation Optimization 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; 35

OSiL and OSrL 36

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 37

Optimization Services Communication Optimization Services hookup Language (OShL) Hookup to solvers, and analyzers Optimization Services instance Language (OScL) Call simulations Optimization Services flow Language (OSfL) Orchestrate flow logics; 38

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 39

Optimization Services Registry registration 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 40

Optimization Services Registry discovery 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 41

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 42

Optimization Services modeling Language (OSmL) A derived research Open source and general purpose Standard based (XQuery input; OSiL output) Suitable for distributed optimization XML data is ubiquitous 43

Optimization Services modeling Language (: set and parameter constructions:) let $capacity := doc("./lotsizeData.xml")/lotSizeData/periodCapacity/capacity let $products := doc("./xml/ds800m.xml")/lotSizeData/product let $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/demand let $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> #set, parameter, and variable constructions param 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 DECLARATION var x {PROD, 1..T} >= 0; var I {PROD, 0..T} >=0; var y {PROD, 1..T}binary; #OBJECTIVE CONSTRUCTION minimize 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 CONSTRAINTS subject to Init_Inv {i in PROD}: I[i, 0] = 0.0; # DEMAND CONSTRAINTS subject to Balance {i in PROD, t in 1..T}: x[i, t] + I[i, t - 1] - I[i, t] = DEM[i, t]; # FIXED CHARGE CONSTRAINTS subject 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]; AMPL OSmL 44

Optimization Services modeling Language 4 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 45

OUTLINE 1. Motivations 2. Demonstration 3. Optimization Services and Optimization Services Protocol 4. Optimization System Background 5. Computing and Distributed Background 6. Optimization Services Protocol - Representation 7. Optimization Services Protocol - Communication 8. Optimization Services Protocol - Registry 9. Optimization Services modeling Language (OSmL) 10. Future and Derived Research 46

Future and Derived Research 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” 47

http://www.optimizationservices.org (.net) Acknowledgement Robert Fourer (advisor) Kipp Martin (co-advisor) Tom Tirpak, Motorola Advanced Technology Center Professor Mehrotra’s group NEOS/OTC team at Argonne National Lab Professor John Birge Professor Horand Gassmann Jorge Nocedal & Richard Waltz, Knitro/Ziena Professors at Northwestern IEMS (Mark Daskin, Wally Hopp, Barry Nelson) Professor Gordon Bradley Bjarni Kristjansson, MPL Linus Schrage, Lindo http://www.optimizationservices.org (.net) INFORMS New Orleans Cluster: Optimization Services and Open Source Software 48