Suche senden
Hochladen
Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct 2012
•
Als PPT, PDF herunterladen
•
0 gefällt mir
•
598 views
Bjarni Kristjánsson
Folgen
Technologie
Melden
Teilen
Melden
Teilen
1 von 36
Jetzt herunterladen
Empfohlen
[Uruguay] DB2 Web Query for i - Hernando Bedoya
[Uruguay] DB2 Web Query for i - Hernando Bedoya
IBMSSA
End-to-End Deep Learning Deployment with ONNX
End-to-End Deep Learning Deployment with ONNX
Nick Pentreath
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions
[Uruguay] DB2 for i: 7.1 Overview - Hernando Bedoya
[Uruguay] DB2 for i: 7.1 Overview - Hernando Bedoya
IBMSSA
Programr overview2
Programr overview2
_programr
MYZEAL IT Solutions-Offshore Mobile Apps Development Company India
MYZEAL IT Solutions-Offshore Mobile Apps Development Company India
MYZEAL IT Solutions LLC
Things you should know about Scalability!
Things you should know about Scalability!
Robert Mederer
Celebrate Christmas & New Year in style
Celebrate Christmas & New Year in style
Matt Wallace
Empfohlen
[Uruguay] DB2 Web Query for i - Hernando Bedoya
[Uruguay] DB2 Web Query for i - Hernando Bedoya
IBMSSA
End-to-End Deep Learning Deployment with ONNX
End-to-End Deep Learning Deployment with ONNX
Nick Pentreath
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions Product Engineering Featured Projects 2009 11 12
Grameen Solutions
[Uruguay] DB2 for i: 7.1 Overview - Hernando Bedoya
[Uruguay] DB2 for i: 7.1 Overview - Hernando Bedoya
IBMSSA
Programr overview2
Programr overview2
_programr
MYZEAL IT Solutions-Offshore Mobile Apps Development Company India
MYZEAL IT Solutions-Offshore Mobile Apps Development Company India
MYZEAL IT Solutions LLC
Things you should know about Scalability!
Things you should know about Scalability!
Robert Mederer
Celebrate Christmas & New Year in style
Celebrate Christmas & New Year in style
Matt Wallace
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Bjarni Kristjánsson
Seminar: Embedding Optimization in Applications with MPL OptiMax - April 2012
Seminar: Embedding Optimization in Applications with MPL OptiMax - April 2012
Bjarni Kristjánsson
Seminar: Introduction to Maximal Software and the MPL Modeling System - Oct 2012
Seminar: Introduction to Maximal Software and the MPL Modeling System - Oct 2012
Bjarni Kristjánsson
Seminar: New Pricing Programs and Free Software Offers by Maximal - Oct 2012
Seminar: New Pricing Programs and Free Software Offers by Maximal - Oct 2012
Bjarni Kristjánsson
Introducing MongoDB into your Organization
Introducing MongoDB into your Organization
MongoDB
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
Simon Haslam
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
myappconverter
RTView - Monitoring Service for SmartCloud Applications
RTView - Monitoring Service for SmartCloud Applications
SL Corporation
Eclipse Way
Eclipse Way
Tomasz Zarna
Open Source AI - News and examples
Open Source AI - News and examples
Luciano Resende
From open data to API-driven business
From open data to API-driven business
OpenDataSoft
Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric Madiot
EclipseDayParis
Microservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They Matter
Alexander Arda
Deploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNX
Databricks
Proud to be polyglot
Proud to be polyglot
Tugdual Grall
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
EDB
Running Highly Available Postgres Databases in Containers
Running Highly Available Postgres Databases in Containers
EDB
WSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happen
WSO2
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
Ant Phillips
Mobile trends and impressions
Mobile trends and impressions
Shafaq Abdullah
New Release 5.0 of MPL and OptiMax Library - OR Vienna 2015
New Release 5.0 of MPL and OptiMax Library - OR Vienna 2015
Bjarni Kristjánsson
Maximal: Achieving Optimal Solution Performance for your Optimization Modelin...
Maximal: Achieving Optimal Solution Performance for your Optimization Modelin...
Bjarni Kristjánsson
Weitere ähnliche Inhalte
Ähnlich wie Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Bjarni Kristjánsson
Seminar: Embedding Optimization in Applications with MPL OptiMax - April 2012
Seminar: Embedding Optimization in Applications with MPL OptiMax - April 2012
Bjarni Kristjánsson
Seminar: Introduction to Maximal Software and the MPL Modeling System - Oct 2012
Seminar: Introduction to Maximal Software and the MPL Modeling System - Oct 2012
Bjarni Kristjánsson
Seminar: New Pricing Programs and Free Software Offers by Maximal - Oct 2012
Seminar: New Pricing Programs and Free Software Offers by Maximal - Oct 2012
Bjarni Kristjánsson
Introducing MongoDB into your Organization
Introducing MongoDB into your Organization
MongoDB
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
Simon Haslam
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
myappconverter
RTView - Monitoring Service for SmartCloud Applications
RTView - Monitoring Service for SmartCloud Applications
SL Corporation
Eclipse Way
Eclipse Way
Tomasz Zarna
Open Source AI - News and examples
Open Source AI - News and examples
Luciano Resende
From open data to API-driven business
From open data to API-driven business
OpenDataSoft
Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric Madiot
EclipseDayParis
Microservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They Matter
Alexander Arda
Deploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNX
Databricks
Proud to be polyglot
Proud to be polyglot
Tugdual Grall
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
EDB
Running Highly Available Postgres Databases in Containers
Running Highly Available Postgres Databases in Containers
EDB
WSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happen
WSO2
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
Ant Phillips
Mobile trends and impressions
Mobile trends and impressions
Shafaq Abdullah
Ähnlich wie Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct 2012
(20)
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Seminar: Embedding Optimization in Applications with MPL OptiMax - April 2012
Seminar: Embedding Optimization in Applications with MPL OptiMax - April 2012
Seminar: Introduction to Maximal Software and the MPL Modeling System - Oct 2012
Seminar: Introduction to Maximal Software and the MPL Modeling System - Oct 2012
Seminar: New Pricing Programs and Free Software Offers by Maximal - Oct 2012
Seminar: New Pricing Programs and Free Software Offers by Maximal - Oct 2012
Introducing MongoDB into your Organization
Introducing MongoDB into your Organization
Delivering Mobile Apps to the Field with Oracle
Delivering Mobile Apps to the Field with Oracle
MyAppConverter DroidconUK 2014
MyAppConverter DroidconUK 2014
RTView - Monitoring Service for SmartCloud Applications
RTView - Monitoring Service for SmartCloud Applications
Eclipse Way
Eclipse Way
Open Source AI - News and examples
Open Source AI - News and examples
From open data to API-driven business
From open data to API-driven business
Analyze your software assets with Modisco par Frédéric Madiot
Analyze your software assets with Modisco par Frédéric Madiot
Microservices - How Microservices Have Changed and Why They Matter
Microservices - How Microservices Have Changed and Why They Matter
Deploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNX
Proud to be polyglot
Proud to be polyglot
PostgreSQL to Accelerate Innovation
PostgreSQL to Accelerate Innovation
Running Highly Available Postgres Databases in Containers
Running Highly Available Postgres Databases in Containers
WSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happen
Effective Application Development with WebSphere Message Broker
Effective Application Development with WebSphere Message Broker
Mobile trends and impressions
Mobile trends and impressions
Mehr von Bjarni Kristjánsson
New Release 5.0 of MPL and OptiMax Library - OR Vienna 2015
New Release 5.0 of MPL and OptiMax Library - OR Vienna 2015
Bjarni Kristjánsson
Maximal: Achieving Optimal Solution Performance for your Optimization Modelin...
Maximal: Achieving Optimal Solution Performance for your Optimization Modelin...
Bjarni Kristjánsson
Maximal: Comparison of Optimization Modeling Software for Python - Oct 2012
Maximal: Comparison of Optimization Modeling Software for Python - Oct 2012
Bjarni Kristjánsson
Seminar: New Stochastic Programming Features for MPL - Nov 2011
Seminar: New Stochastic Programming Features for MPL - Nov 2011
Bjarni Kristjánsson
Seminar: CoinMP - Open Source Solver - Nov 2011
Seminar: CoinMP - Open Source Solver - Nov 2011
Bjarni Kristjánsson
Seminar: Data Modeling for Optimization with MPL - Oct 2012
Seminar: Data Modeling for Optimization with MPL - Oct 2012
Bjarni Kristjánsson
OR Connect: A New Web 2.0 Online Initiative for O.R. - INFORMS Jan 2011
OR Connect: A New Web 2.0 Online Initiative for O.R. - INFORMS Jan 2011
Bjarni Kristjánsson
INFORMS: IT Board Report - April 2011
INFORMS: IT Board Report - April 2011
Bjarni Kristjánsson
INFORMS: IT Committee Report - August 2011
INFORMS: IT Committee Report - August 2011
Bjarni Kristjánsson
Mehr von Bjarni Kristjánsson
(9)
New Release 5.0 of MPL and OptiMax Library - OR Vienna 2015
New Release 5.0 of MPL and OptiMax Library - OR Vienna 2015
Maximal: Achieving Optimal Solution Performance for your Optimization Modelin...
Maximal: Achieving Optimal Solution Performance for your Optimization Modelin...
Maximal: Comparison of Optimization Modeling Software for Python - Oct 2012
Maximal: Comparison of Optimization Modeling Software for Python - Oct 2012
Seminar: New Stochastic Programming Features for MPL - Nov 2011
Seminar: New Stochastic Programming Features for MPL - Nov 2011
Seminar: CoinMP - Open Source Solver - Nov 2011
Seminar: CoinMP - Open Source Solver - Nov 2011
Seminar: Data Modeling for Optimization with MPL - Oct 2012
Seminar: Data Modeling for Optimization with MPL - Oct 2012
OR Connect: A New Web 2.0 Online Initiative for O.R. - INFORMS Jan 2011
OR Connect: A New Web 2.0 Online Initiative for O.R. - INFORMS Jan 2011
INFORMS: IT Board Report - April 2011
INFORMS: IT Board Report - April 2011
INFORMS: IT Committee Report - August 2011
INFORMS: IT Committee Report - August 2011
Kürzlich hochgeladen
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
Remote DBA Services
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
johnbeverley2021
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
danishmna97
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
Kumar Satyam
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
apidays
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Jeffrey Haguewood
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard37
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
rafiqahmad00786416
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Orbitshub
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
AnitaRaj43
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
apidays
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
Kürzlich hochgeladen
(20)
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
Architecting Cloud Native Applications
Architecting Cloud Native Applications
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct 2012
1.
INFORMS Phoenix –
October 2012 Deploying Optimization Models on Servers and Mobile Platforms Presented by Bjarni Kristjansson Maximal Software, Inc. Copyright © 2012 Maximal Software, Inc. All rights reserved 1
2.
Presentation Overview •
Global IT Trends affecting O.R. • MPL Free Development/Academic Program • Optimization Component Libraries • New version of MPL OptiMax 4.2n • MPL OptiMax code examples (Python / CSharp) • Exception handling in MPL OptiMax • Web API’s and Web Services • Optimization on Mobile/Tablet Computers Copyright © 2012 Maximal Software, Inc. All rights reserved 2
3.
Well-Known Killer Applications What
are the two main differences between the applications on the left column versus the right? • VisiCalc • Firefox • Lotus 1-2-3 • Napster • Word Perfect • Google • Harward Graphics • YouTube • DBase • Skype • Turbo-Pascal • Facebook • PageMaker • Twitter We are Now in the Middle of the Web 2.0 Revolution! Copyright © 2012 Maximal Software, Inc. All rights reserved 3
4.
Global Trends in
IT Globality • 2.3 Billion Internet users in 2011 (+13% Y/Y) • 670M 3G Subscribers (+37% Y/Y, 14% penetration) • Facebook 900M Users (+51% Y/Y) • Tenecent [China] 637M Visitors (+31% Y/Y) Mobile • Mobile Internet (Apple: 120M users, 330K Apps) • Android 59%, iOS 23%, Symbian 7%, RIM 6% (IDC Report) • Mixi Mobile [Japan]: 84% page views vs. 16% Internet Copyright © 2012 Maximal Software, Inc. All rights reserved 4
5.
Current Major Trends
in Online IT 1. Mobile Devices are taking over personal computers 2. Social Media is replacing traditional news distribution 3. Social Networking is changing how people work together 4. Online Collaboration tools are replacing standalone software 5. Cloud computing is replacing traditional file-based documents 6. Online Chatting are replacing emails as effective communication tool 7. Text Messaging is replacing phone calls 8. Online Video services are replacing television viewing 9. Online Publishing: Books and published materials are going online 10. Virtual Education: Education and seminars are going virtual 11. Web sites are now expected to be personalized and engaging 12. Software Development: Servers, Mobile, Remote, Web API, Mashups O.R. needs to adapt to this new changed world and should effectively leverage these new IT technologies Copyright © 2012 Maximal Software, Inc. All rights reserved 5
6.
Free Development Copies
of MPL Maximal is now offering several new special free and subscription programs for MPL: • Free Development Copies of MPL • Free MPL with Solver Purchase • Free MPL for Conference Participants • Free MPL Software for Academics • Pay Maintenance Only • Subscription-based Pricing • Free Open-source Solvers • Affordable Runtime / Floating Licenses • Free Model Conversion to MPL • To apply, please go to and fill out the application form: www.maximalsoftware.com/FreeDev Copyright © 2012 Maximal Software, Inc. All rights reserved 6
7.
Academic Program from
Maximal Academic Program Highlights • Free full-size MPL version for Academic Users • Fully functional time-limited versions of MPL • Distributed with the full-size open source CoinMP (CBC/CLP) solver • Can be used with all other free academic solvers supported by MPL (CPLEX, GUROBI, XPRESS) • Mainly intended for classroom and research purposes: Educational Research Classroom Teaching Student Projects • Includes new Stochastic Programming and Nonlinear extensions • To apply, please go to and fill out the application form: www.maximalsoftware.com/Academic Copyright © 2012 Maximal Software, Inc. All rights reserved 7
8.
MPL OptiMax Applications Phase
I - Development • Model Development Environment • Formulating the Model • Connecting to External Data • Solver Testing and Tuning Phase II - Deployment • End-User Applications • Run-times / Component Libraries • Embedding Optimization into Application • Packaging/Distribution Copyright © 2012 Maximal Software, Inc. All rights reserved 8
9.
Programming vs. Optimization
Modeling Application Programming • Programming Languages (Procedural) • Application/User-Interface • Database Programming • Most programmers tend to know rather little about optimization and formulating models Optimization Modeling • Modeling Languages (Declarative) • Optimization Packages • Most model builders tend to know rather little about application/GUI and database programming Copyright © 2012 Maximal Software, Inc. All rights reserved 9
10.
Optimization Component Library
Program Program OptiMax OptiMax DB DB Application Optimization ModLang ModLang Solver Solver Copyright © 2012 Maximal Software, Inc. All rights reserved 10
11.
OptiMax Component Library
Seamless Integration of Technologies • Modeling Language • Solver/Optimizers • Database/Data Sources • Programming Languages • Visual Basic/VBA • C/C++ • CSharp/VB.Net • Python • Java • Delphi • Web scripting Copyright © 2012 Maximal Software, Inc. All rights reserved 11
12.
MPL/OptiMax Design Overview
VB C++ Delphi Java MPLWIN MPLX OptiMax MPL Library (C++) MPL Modeling Language Solvers Database Copyright © 2012 Maximal Software, Inc. All rights reserved 12
13.
OptiMax Component Library
Object Model Hierarchy OptiMax Solvers (Solver) SolverOptions (SolverOption) MplOptions (MplOption) StatusWindow Models (Model) Matrix Variables (Variable) Constraints (Constraint) Solution Variables (Variable) Constraints (Constraint) Symbols (Symbol) Copyright © 2012 Maximal Software, Inc. All rights reserved 13
14.
OptiMax Component Library
Object Model - Symbols OptiMax Models (Model) Symbols (Symbol) IndexSets (IndexSet) DataConstants (DataConstant) DataVectors (DataVector) Subscripts (Subscript) Macros (Macro) VariableVectors (VariableVector) Subscripts (Subscript) ConstraintVectors (ConstraintVector) Subscripts (Subscript) PlainVariables (Variable) PlainConstraints (Constraint) Copyright © 2012 Maximal Software, Inc. All rights reserved 14
15.
OptiMax Component Library
Application Building Features • General Model Handling • Model Parsing • Model Querying • Modifying Models / Solving Models • Write Standard Output Files • Database Import/Export • Multiple Models in Memory • Multiple Model Runs / Iterations over models • Use Solution Values as Input • Callbacks/User Exits • Access to MPL Internal Indexing Data Structures Copyright © 2012 Maximal Software, Inc. All rights reserved 15
16.
New release of
MPL OptiMax New MPL Release 4.2n: • Multiple new objects, methods, and properties for OptiMax • Full support for both 32-bit and 64-bit platforms MPL OptiMax for .Net (CSharp / VB.Net) MPL OptiMax for Python (PYD files) MPL Connection for Matlab (MEX files) • Seamless integration with native data structures - Add() • Full exception handling with detailed error messages • ToString() / str() implementation for all classes • Lot of new MPL and OptiMax code samples • C-API interface with Mpllib42.dll with over 600 functions • MPL OptiMax server version with full multi-threaded support Copyright © 2012 Maximal Software, Inc. All rights reserved 16
17.
MPL OptiMax 4.2n
for .Net • Supports both CSharp and Visual Basic (VS 2008/2010 - 32/64 bit) • Multiple new objects, methods and properties • Seamless integration with native .Net data structures • Array • ArrayList • Generic List • ICollection • IEnumerable • Iterators for all collection classes to support foreach loops • ToString() implementation for all classes • Exception handling with detailed error messages • Extensive code samples showing the new OptiMax features • Server version with full multi-threaded support Copyright © 2012 Maximal Software, Inc. All rights reserved 17
18.
MPL OptiMax 4.2n
for Python • Supports Python 2.6, 2.7, 3.1, and 3.2 in both 32-bit and 64-bit mode • Distributed as compiled PYD files for increased speed • Multiple new objects, methods and properties • Seamless integration with native python data structures • Lists, List of Lists • Tuples, Tuples of Tuples • Iterators for all collection classes to support for loops • Implementation of magic methods for all classes __init__(), __len__(), __iter__(), __getitem__(), __str__() • Dynamic object attributes for model identifiers • Exception handling with detailed error messages • Extensive code samples showing the new OptiMax features • Server version with full multi-threaded support Copyright © 2012 Maximal Software, Inc. All rights reserved 18
19.
MPL OptiMax 4.2n
for Matlab • Supports MATLAB in both 32-bit and 64-bit mode • Distributed as compiled MEX files • Utilizes the new C-API Mpllib42.dll library • Based on the standard interface of MATLAB Optimization Toolbox • mpl_initlibrary() • mpl_linprog() • mpl_bintprog() • mpl_mintprog() • mpl_freelibrary() • MPL can be kept in memory through the hmpl library handle • Solver can be specified through the solverName argument • Solver options can be set through the option list argument Copyright © 2012 Maximal Software, Inc. All rights reserved 19
20.
MPLLib 4.2n C-API
Library • Full C-API library interface with over 600 functions • Available in both 32-bit and 64-bit versions • Utilized by MPL OptiMax Component Libraries • MPL OptiMax for .Net • MPL OptiMax for Python • MPL OptiMax for Matlab • Supports all functionality of MPL OptiMax from the C language Copyright © 2012 Maximal Software, Inc. All rights reserved 20
21.
Simple MPL OptiMax
Example in Python from mplpy import * def RunModel(modelName): modelFile = mpl.HomeDir + modelName + ".mpl" print("MPL file: " + modelFile) mod.ReadModel(modelFile) print("Variables = " + str(mod.Matrix.Variables.Count)) print("Constraints = " + str(mod.Matrix.Constraints.Count)) print("") print("Solving " + modelName + " with " + mpl.Solver.Name + " solver:") mod.Solve(mpl.coinmp) print("") print(mod.Solution.ResultString) print("ObjectValue = " + str(mod.Solution.ObjectValue)) for var in mod.Solution.Variables: print(var.Name + " = " + str(var.Activity)) Copyright © 2012 Maximal Software, Inc. All rights reserved 21
22.
Planning Example in
CSharp OptiMax mpl = new OptiMax(); mpl.UseExceptions = false; Solver solver = mpl.Solvers.Add("CPLEX"); Model model = mpl.Models.Add("Planning"); string modelFile = mpl.HomeDirectory + modelName + ".mpl"; Console.WriteLine("Reading MPL file: " + modelFile); ResultType result = model.ReadModel(modelFile); if (result != ResultType.Success) { Console.WriteLine(model.Error.ToString()); } Console.WriteLine("Solving " + modelName + " with " + solver.Name + " solver"); result = model.Solve(solver); foreach (Variable var in model.Solution.Nonzeros) { Console.WriteLine(var.Name + " " + var.Activity.ToString()); } Console.WriteLine(model.Solution.ResultString + " ObjectValue = " + model.Solution.ObjectValue); Console.WriteLine("Nonzeros = " + model.Solution.Nonzeros.Count.ToString()); Copyright © 2012 Maximal Software, Inc. All rights reserved 22
23.
Portfolio Example -
Dynamic Attributes from mplpy import mpl from numpy import arange, float32 from matplotlib import pyplot as plot modelFilename = mpl.HomeDir + "Portfolio.mpl" result = mpl.model.SolveModel(modelFilename, mpl.cplex) investVect = mpl.model.Invest investVect.ZeroTol = 0.001 count = investVect.Nonzeros.Count investAmount = arange(count, dtype=float32) stockNames = range(count) for i, var in enumerate(investVect.Nonzeros): investAmount[i] = var.Activity stockNames[i] = investVect.stock.ValueStr print((stockNames[i] + ":").ljust(8) + ("%1.1f%%" % (investAmount[i] * 100.0)).rjust(6)) Copyright © 2012 Maximal Software, Inc. All rights reserved 23
24.
EFrontier Example -
Changing RHS iterCount = 100 deltaPercent = 0.02 CPLEX_OPTIMAL = 1 targetReturnData = model.TargetReturn varianceMacro = model.Variance meetTargetCon = model.MeetTarget TargetArray = arange(iterCount, dtype=float32) VarianceArray = arange(iterCount, dtype=float32) for i in range(iterCount): target = targetReturnData.Value * (1 + i * deltaPercent) meetTargetCon.RHSValue = target model.Solve(mpl.cplex) print(str(i) + ") " + str(target) + ", " + str(varianceMacro.Value)) if model.Solution.ResultCode == CPLEX_OPTIMAL: TargetArray[i] = target VarianceArray[i] = varianceMacro.Value else: solCount = i print(str(solCount + 1) + ") " + model.Solution.ResultString + " (" + str(model.Solution.ResultCode) + ")") break Copyright © 2012 Maximal Software, Inc. All rights reserved 24
25.
CutStock Example –
Add() Statements def LoadModel(self, model, cutNames, patternNames, priceSheet, sheetsAvail, cutDemand, cutsInPattern): try: model.IndexSets.AddNameSet("cuts", cutNames) model.IndexSets.AddNameSet("patterns", patternNames) model.DataConstants.Add("PriceSheet", priceSheet) model.DataConstants.Add("SheetsAvail", sheetsAvail) model.DataVectors.AddDense("CutDemand[cuts]", cutDemand) model.DataVectors.Add("CutsInPattern[patterns, cuts]", cutsInPattern) model.PlainVariables.Add("SheetsCut", "-> T1") model.PlainVariables.Add("TotalCost", "-> TC") model.VariableVectors.Add("PatternCount[patterns]", "-> """) model.VariableVectors.Add("ExcessCuts[cuts]", "-> X") model.Objectives.Add("TotalCost", ObjectSense.Minimize) model.PlainConstraints.Add("TotCost", "TotalCost = PriceSheet*SheetsCut") model.PlainConstraints.Add("RawAvail", "SheetsCut < SheetsAvail") model.PlainConstraints.Add("Sheets", "SheetsCut = SUM(patterns: PatternCount[patterns])") model.ConstraintVectors.Add("CutReq[cuts]", "SUM(patterns: CutsInPattern[patterns, cuts] * PatternCount[patterns]) CutDemand[cuts] + ExcessCuts[cuts]") except Exception as ex: print(str(ex)) result = model.LastResult return result Copyright © 2012 Maximal Software, Inc. All rights reserved 25
26.
Add Statements -
IndexSet / DataVectors Adding IndexSet: cutNames = ['w1', 'w2', 'w3', 'w4', 'w5', 'w6', 'w7', 'w8'] model.IndexSets.AddNameSet("cuts", cutNames) Adding DataVectors: cutDemand = [500, 400, 300, 450, 350, 200, 800, 200] model.DataVectors.AddDense("CutDemand[cuts]", cutDemand) cutsInPattern = ['p1', 'w1', 1, 'p1', 'w8', 1, 'p2', 'w2', 1, 'p2', 'w7', 1, . . . 'p28', 'w8', 5, 'p29', 'w8', 7] model.DataVectors.Add("CutsInPattern[patterns, cuts]", cutsInPattern) Copyright © 2012 Maximal Software, Inc. All rights reserved 26
27.
Exceptions with Detailed
Syntax Error Messages Syntax Error: model.PlainConstraints.Add("TotCost", "TotalCost = PriceSheet */ SheetsCut") Exception Output: The PlainConstraints.Add('TotCost', expr='TotalCost = PriceSheet */ SheetsCut') method returned 'SyntaxError' (2) with the following error message: **** A minor mistake was found in line 1: 6. I expected to see either a number or a variable, but found instead '/'. File: C:MplWin4OptiMaxPythonCutStock Line: (line=1, col=43) SUBJECT TO TotCost: TotalCost = PriceSheet */ SheetsCut; ^ Copyright © 2012 Maximal Software, Inc. All rights reserved 27
28.
Exceptions with Wrong
Data Types Syntax Error: cutNames = ['w1', 'w2', 'w3', 'w4', 'w5', 'w6', 'w7', 'w8'] model.DataConstants.Add("SheetsAvail", cutNames) Exception Output: The argument 'dataValue' for the 'DataConstants.Add('SheetsAvail', dataValue, dataAttr)' method cannot be assigned the value '['w1', 'w2', 'w3', 'w4', 'w5', 'w6', 'w7', 'w8']' of type 'list'. Quick fix: Please enter either a numeric or string value. Copyright © 2012 Maximal Software, Inc. All rights reserved 28
29.
Applications with MPL
OptiMax • Model written in MPL • Data transferred to/from MPL through • Excel Ranges • Database Connection • Text files • End-User Application Building • User-Interface done in VB/CSharp/C-API/C++/Java/Phyton • Process Input from User • Control Solver Runs • Process Output from Model • Display graphs • Model solved with any supported solver No limits on size, speed, or robustness Copyright © 2012 Maximal Software, Inc. All rights reserved 29
30.
MPL OptiMax on
Optimization Servers Full support for multi-threaded applications • Optimization Servers • Web Services (REST / SOAP) • Web API’s • Mobile / Tablet Applications Support for server-side application frameworks • ASP.Net • Python • PHP (not implemented yet) Copyright © 2012 Maximal Software, Inc. All rights reserved 30
31.
Optimization on Mobile
Devices Optimization on the mobile device (thick clients) • Model (device) • Solvers (device) • Data (device / server) Example: TSP Concord on iPad Optimization on the server (thin clients) • Model (server) • Solvers (server) • Data (device / server) Copyright © 2012 Maximal Software, Inc. All rights reserved 31
32.
MPL OptiMax on
Optimization Servers Client-Side Technologies: • AJAX • XMLHttpRequest • XHTML and CSS • Document Object Model (DOM) • JavaScript • XML and XSLT • Mobile / Tablets • iPhone / iPad (Objective-C) • Android (Java) • HTML5 Copyright © 2012 Maximal Software, Inc. All rights reserved 32
33.
Cloud-based Optimization Example:
Large energy company needs to run 2000 model instances, each taking 1-2 hours to solve, within a day • Traditional standalone computer approach • Maintain large number machines • Install optimization and modelling software • Run model instances over the network • Very expensive fixed costs upfront • Cloud-based computing approach • Setup account on Cloud, such as Amazon EC2 • Write script to run the models on cloud • Cost is typically calculated per core, per hour. Copyright © 2012 Maximal Software, Inc. All rights reserved 33
34.
Google Web API
Toolkits • Google Drive (Google Apps) • Google Spreadsheets API • Full control of visibility and who can update • Built-in Javascript • Support SQL types of queries • Google Query API • Google Visualization API • Bar charts, Pie charts, Line charts and many more • Very customizable • Data Tables and Data Views • Google Maps API • Add markers, Polylines and Info Windows Copyright © 2012 Maximal Software, Inc. All rights reserved 34
35.
Google Visualization API
– Portfolio Opt. Copyright © 2012 Maximal Software, Inc. All rights reserved 35
36.
Google Maps API
- Shortest Path Optimization Copyright © 2012 Maximal Software, Inc. All rights reserved 36
Jetzt herunterladen