What’s New in CPLEX Optimization Studio ? …and how to use it

Slides:



Advertisements
Similar presentations
© Imperial College London Eplex: Harnessing Mathematical Programming Solvers for Constraint Logic Programming Kish Shen and Joachim Schimpf IC-Parc.
Advertisements

RTC Agile Planning Component
Computational Methods for Management and Economics Carla Gomes
® IBM Software Group © 2007 IBM Corporation Achieving Harmony IBM's Platform and Methodology for Systems Engineering and Embedded Software Development.
© 2011 IBM Corporation Overview on Modeling RESTful Services August, 2011 Manoj Paul, Software Developer, Rational,
© 2009 IBM Corporation Ian Shave IBM Systems and Technology Group A New Era in Midrange Storage.
Click to add text © 2012 IBM Corporation 1 Streams Toolkit Landscape InfoSphere Streams Version 3.0 Mike Branson Toolkits.
® IBM Software Group © 2012 IBM Corporation OPTIM Data Studio – Jon Sayles, IBM/Rational November, 2012.
© 2014 IBM Corporation The insights to transform the business with speed and conviction Kevin Redmond Head of Information Management Central & Eastern.
© 2009 IBM Corporation ® IBM Lotus Notes and Domino Product Roadmap April 2009.
© 2012 IBM Corporation May 2012 Rational Token Licensing: Licensing Adaptable to Changing User Needs.
© 2009 IBM Corporation Select View/Master/Slide Master to add Session Number Here The Enterprise Architecture Workspace: Your Architecture Blueprint Martin.
Building Cognitive Apps with IBM Watson on Bluemix
June 5–9 Orlando, Florida IBM Innovate 2011 Session Track Template Rainer Ersch Senior Research Scientist Siemens AG ALM-1180.
© 2011 IBM Corporation January 2011 Pam Denny, IBM V7 Reporting.
© 2012 IBM Corporation Introducing IBM Cognos Insight.
FATCOP: A Mixed Integer Program Solver Michael FerrisQun Chen Department of Computer Sciences University of Wisconsin-Madison Jeff Linderoth, Argonne.
IBM Software Group AIM Enterprise Platform Software IBM z/Transaction Processing Facility Enterprise Edition © IBM Corporation 2005 TPF Users Group.
© 2015 IBM Corporation Big Data Journey. © 2015 IBM Corporation 2.
Click to add text © 2012 IBM Corporation 1 InfoSphere Streams Streams Console Applications InfoSphere Streams Version 3.0 Warren Acker InfoSphere Streams.
IBM eServer iSeries © 2003 IBM Corporation ™™ iSeries Solutions for Business Continuity IBM eServerJ iSeriesJ © 2003 IBM Corporation.
© 2012 IBM Corporation IBM Security Systems 1 © 2012 IBM Corporation Cloud Security: Who do you trust? Martin Borrett Director of the IBM Institute for.
Brad Adams IBM Software, Rational 05/13/14
Click to add text © 2012 IBM Corporation 1 Streams Console Application Graph Michael Pfeifer Streams Admin Console.
Domino iSeries Multi-Versioning © 2002 IBM Corporation | Lotus software © 2002 IBM Corporation Domino Multi-Versioning Mike Gordon – IBM Global Services.
© 2013 IBM Corporation IBM UrbanCode Deploy v6.0.1 Support Enablement Training Source Configuration and Database Upgrades Michael Malinowski
IBM Software Group ® Jazz Team Build – Part 1 Overview Jonathan.
IBM Systems Group © 2004 IBM Corporationv 3.04 This presentation is intended for the education of IBM and Business Partner sales personnel. It should not.
© 2013 IBM Corporation IBM Security Systems © 2012 IBM Corporation Offense Magnitude.
IBM Innovate 2012 Title Presenter’s Name Presenter’s Title, Organization Presenter’s Address Session Track Number (if applicable)
Comparison between EPF Composer and Rational Method Composer
© 2013 IBM Corporation IBM UrbanCode Deploy v6.0 Support Enablement Training Jenkins plug-in 1 November 2013.
Work smarter, keep connected with Lotus Software Jon Crouch | Senior Technical Specialist, Lotus Software Matt Newton | Senior Technical Specialist, Lotus.
Lotus Domino Document Manager: Next Steps Jelan Heidelberg, Offering Manager Dave Kajmo, Product Manager
 1- Definition  2- Helpdesk  3- Asset management  4- Analytics  5- Tools.
David Hatten Developer, UrbanCode 17 October 2013
IBM Predictive Analytics Virtual Users’ Group Meeting March 30, 2016
Convergence /6/2018 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Gavin Arthurs PE Sr. Technical Specialist – IBM Rational
How to use the DBStats report to help manage database size.
Kristy Foster – L2 Software Engineer October 16, 2014
The Development Process of Web Applications
Virtualization Engine console Bridge Concepts
Kristy Foster – L2 Software Engineer March 18, 2014
Deploy Plugins Developer 29 October 2013
Installation and database instance essentials
Consumer Cloud Monitoring – Beta Sprint Demo
Denny Hatzenbihler InfoSphere Streams - Runtime
Quickr Domino – Master Class
Test Upgrade Name Title Company 9/18/2018 Microsoft SharePoint
Integrating Data With Cognos
CIS16 Application Development – Programming with Visual Basic
IBM Blockchain An Enterprise Deployment of a Distributed Consensus-based Transaction Log Ben Smith & Kostantinos Christidis 1 ©2016 IBM Corporation.
Implementing Listening Producers in IBM Sterling Filegateway
F# 3.0: data, services, Web, cloud, at your fingertips
Embedded Software (ESW) Engineering Practices Introduction
DAT381 Team Development with SQL Server 2005
A QUICK START TO OPL IBM ILOG OPL V6.3 > Starting Kit >
Building and running HPC apps in Windows Azure
Developing for Windows Azure
Intersection Cuts from Bilinear Disjunctions
Office 365 Development July 2014.
DBOS DecisionBrain Optimization Server
Presentation transcript:

What’s New in CPLEX Optimization Studio 12.6.1? …and how to use it Mary Fenelon Manager, CPLEX Optimization Studio Development What’s New in CPLEX Optimization Studio 12.6.1? …and how to use it

Welcome to our December 2014 Virtual Users’ Group Welcome back to Past Attendees and Welcome to New Clients! Please continue to check out our blog for new information regarding these sessions as well as other interesting articles https://www.ibm.com/developerworks/mydeveloperworks/blogs/sca/?lang=en_us Please write your questions to the Q&A Group via SmartCloud Meeting As we are expecting a lot of participants in today’s session, please send your questions via SmartCloud Meeting Chat: This is the conversation balloon tab in the right hand panel of the meeting center Address the question to the Q&A Group option in the drop down box If you have further questions after the meeting please contact Kitte Knight at kknight@us.ibm.com Our goal is to present topics of common interest in Optimization and create an open forum for our clients to exchange information between us and other clients If you should encounter any problems during the web conference please contact LOTUS LIVE HELP NUMBER: 1-888-376-0105 2

Mary Fenelon Manager of the CPLEX Optimization Studio team Has worked on CPLEX since its early days at CPLEX Optimization, Inc.   Ph.D. in Operations Research from Stanford University

Agenda IBM Decision Optimization portfolio New in CPLEX Optimization Studio Decision Optimization on Cloud beta preview

IBM Decision Optimization Engines and Tools CPLEX Optimization High-performance mathematical/constraint programming solvers and modeling tools Integrated Analytics Decision support solutions for Supply Chain Management SPSS predictive analytics Cognos descriptive analytics Maximo asset management Solution Platform Decision Optimization Center Build and deploy analytical decision support applications based on optimization technology Industry Solutions Optimization Assets Pre-built yet customizable cross-industry applications IBM Workshop @INFORMS 2014

CPLEX Optimization Studio Model Development Tools CPLEX Studio IDE – OPL Modeling Language ILOG Concert Technology (C++, .NET, Java) Optimization Engines Math Programming CPLEX Optimizers (Simplex, Barrier, Mixed Integer) Constraint Programming Constraint-based scheduling CPLEX CP Optimizers CPLEX Optimization Studio CPLEX Enterprise Server Connectors MATLAB Python AMPL Tools & APIs CPLEX Interactive C Callable Library IBM Workshop @INFORMS 2014

CPLEX Optimization Studio License usage tracking Software License Metric Tag Files Consumed by the IBM License Management Tool For development licenses: Authorized User and Floating User Single Session Set CPLEX_STUDIO_ILMT_CONFIG_FILE to location of configuration file to enable tracking Example configuration files in distribution

CPLEX Optimization Studio License usage tracking Configuration File Usage records database slmtag.py CPLEX and CP Optimizers SLMtag file ILMT Usage report ILMT scanner

Model Development Tools CPLEX Studio IDE – OPL Modeling Language Rapid development of optimization models OPL = Optimization Programming Language Algebraic modeling language ILOG Script: a JavaScript implementation Pre- and post-processing Flow control Data sources Flat files Databases Excel SPSS Modeler Java, C++ and C# Concert APIs for OPL model deployment Eclipse-based Interactive Development Environment

Model Development Tools CPLEX Studio IDE – OPL Modeling Language New in OPL and its IDE Additional parameters available from the IDE settings editor Export of external and internal data from APIs and settings editor CPLEX distributed parallel MIP from OPL Debug libraries for Visual Studio

Panel to submit/monitor/control jobs CPLEX Enterprise Server Development: from IDE Panel to submit/monitor/control jobs Results are returned to IDE; same experience as local solve including profiling, engine and scripting logs Deployment: from Java APIs OPL .mod and .dat files are sent to server Data read on server, not client Data can be in .dat file or from a database, flat files, etc.

Common object-oriented technology in OPL Engines CPLEX Opt. Connectors MATLAB Python AMPL Tools & APIs CPLEX Interactive C Callable Library Python 3.4 or above Python 2.6 and/or 2.7 still supported New! Python 3 support

Constraint programming and constraint-based scheduling CPLEX CP Optimizer Constraint programming and constraint-based scheduling Model and run approach Constraint programming Discrete decision variables Constraints are not restricted to linear and quadratic, e.g., AllDiff, Count Algorithms associated with each constraint to characterize solutions Constraint-based scheduling Specifically aimed at modeling and solving very complex scheduling problems with potentially millions of tasks/activities Solve via a search tree with processing at each node Primary technique is propagation: using values in the domains of the constraints to deduce smaller domains Includes genetic algorithms, local search, machine learning, and many other techniques Deterministic shared memory parallel Alternative to IP when relaxations are hard or weak; best results by reformulating with CP constraints

CP Optimizer (CPO) file format CPLEX CP Optimizer Constraint programming and constraint-based scheduling CP Optimizer (CPO) file format Read and write problems to files Variables and constraints Parameter settings Search phases A single model can be contained in one file or span several files with #include Why Send problems to support Debugging Examine the variables and constraints generated with APIs or OPL Export during search with current domains Maintain a model database for in-house test How do these new features benefit our customers? Ease of use for Application Developers/OEM channel. Useful in three cases: Send problems to support Debug applications since one can examine the exact variables and constraints of the model instance, which can be difficult to do from OPL or from APIs Maintain a model database for in-house testing

CP Optimizer (CPO) file format CPLEX CP Optimizer Constraint programming and constraint-based scheduling CP Optimizer (CPO) file format Java example cp.exportModel("mymodel.cpo"); cp.importModel("mymodel.cpo"); cp.dumpModel("debug.cpo"); IDE How do these new features benefit our customers?

Annotated models CPLEX CP Optimizer Constraint programming and constraint-based scheduling Annotated models Associate a file and line number with variables, constraints and expressions Used in error messages and conflicts Used in problem export Why Debugging C++ example IloIntVar Belgium(env, 0, 3, "Belgium"); ILOSETLOCATION(Belgium); ILOADD(model, Belgium != France);

New features in CP Optimizer 12.6.1 CPLEX CP Optimizer Constraint programming and constraint-based scheduling Failure directed search How much time to spend in this search mode Why Increasing it can be helpful on scheduling models Set FailureDirectedSearchEmphasis parameter Auto or value in [0.0 .. 1.0] CP Optimizer observes the actual performance of failure-directed search and decides automatically how much time is invested Once failure-directed search has started, CP Optimizer will spend the given ratio of time in failure-directed search IBM Big Data & Analytics © 2013 IBM Corporation

CP Optimizer performance CPLEX CP Optimizer Constraint programming and constraint-based scheduling Performance 12.6.1 vs. 12.6 on integer problems 1 worker: 25% faster 4 workers: 15% faster

CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Linear and quadratic constraints; continuous and discrete variables Convex quadratic constraints and SOCPs Global solution for convex or non-convex quadratic objectives Barrier and simplex optimizers Continuous decision variables Algorithms use linear algebra solvers specialized to unstructured super-sparse matrices Deterministic and opportunistic shared memory parallel algorithms Mixed integer (MIP) optimizer Continuous and discrete decision variables Relaxation: let discrete variables take continuous values. The relaxation gives a bound on the solution Solve with branch and cut: at search tree node, branch on discrete variables, solve the relaxation and tighten relaxation with cutting planes Many techniques used to generate and improve solutions and prune tree without full search Deterministic and opportunistic shared and distributed memory parallel algorithms

CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers  

Conflict Refiner Algorithm CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Conflict Refiner Algorithm Parameter to set algorithm used by the conflict refiner Why May improve efficiency of the conflict refiner when large numbers of constraints can be remove C++ example cplex.setParam(IloCplex::Param::Conflict::Algorithm, IloCplex::ConflictSolve);

Local Implied Bound Cuts CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Local Implied Bound Cuts Parameter to control application of local implied bound cuts Why Effective on some problems with very large big-M values C++ example cplex.setParam(IloCplex::Param::MIP::Cuts::LocalImplied, 3);

Query source of incumbent in lazy constraint callback CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Query source of incumbent in lazy constraint callback Why Vary processing depending on if solution was found at a node or by a heuristic

Remote Object transport control CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Remote Object transport control Methods to control and query remote object transports Similar to Unix ioctl Options depend on the transprot Why Set or query timeout Query process ID Query MPI rank

CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Distributed MIP Distributed parallel MIP in CPLEX 12.6 A master distributes work to multiple workers Two phases Racing ramp-up Each machine uses different settings, and a winner is selected Exploit performance variability Only incumbent objective values and best bounds are communicated Infinite ramp-up allowed (also called concurrent distributed MIP) Distributed tree Nodes of the tree created by the winner are distributed to workers Workers process nodes they receive as supernodes: presolve, cutting planes, etc. Rebalancing at sync points

CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Distributed MIP Distributed parallel MIP in CPLEX 12.6.1 Ability to set parameters for ramp-up only Why Parameter settings appropriate only for ramp-up, such as aggressive use of heuristics or cuts Example line from VMC file <param name="rampup:CPX_PARAM_NODESEL" value="0"/>

CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers Distributed MIP Distributed parallel MIP in CPLEX 12.6.1 Addition of opportunistic mode Why Faster throughput if deterministic behavior not needed When: same as deterministic Large number of nodes Slow or large relaxations C++ example cplex.setParam(IloCplex::Param::Parallel, IloCplex::Opportunistic);

Distributed Concurrent MIP: Deterministic vs. Opportunistic Time limits: 45 / 40 / 17 / 12 2498 models 1168 models 546 models 232 models Compared solvers: Default: deterministic CPLEX 12.6.1 on one machine Opportunistic: opportunistic CPLEX 12.6.1 on one machine DistDet4: deterministic infinite horizon ramp-up, four workers and four machines DistOpp4: opportunistic infinite horizon ramp-up, four workers and four machines Date: 5 November 2014 Testset: MILP: 2940 models Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads, Timelimit: 10,000 sec

CPLEX Math Programming Optimizers Simplex, Barrier, Mixed Integer Optimizers MIP improvements Cuts Different separation strategies in parallel cut loop Improvements in MIR cut aggregator Local implied bound cuts Presolve Constraint disaggregation Propagation of quadratic objective function and constraints in node presolve Branching Improvements in branching rule tie breaking Improvements in reliability branching General improvements including dynamic search

CPLEX 12.6.0 vs. CPLEX 12.6.1: MIP Performance Improvement Deterministic parallel MILP (12 threads) 1.06x 1.10x 1.16x Time limits: 40 / 28 1975 models 1188 models 619 models Date: 5 November 2014 Testset: MILP: 4134 models Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads, deterministic Timelimit: 10,000 sec

CPLEX 12.6.0 vs. CPLEX 12.6.1: MIP Performance Improvement Deterministic parallel MIQP/MIQCP (12 threads) 1.33x 1.39x 1.67x 123 models 115 models 131 models Problems requiring > 1 second to solve Date: 5 November 2014 Testset: Convex MIQP: 335 models, Convex MIQCP: 190 models, Non Convex QP: 308 models, Non Convex MIQP: 286 models Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads, deterministic Timelimit: 10,000 sec

MILP Performance Evolution in CPLEX  1000 sec  100 sec  10 sec Timeouts: from 1806 to 48 Speedup: 103.12 in [10, 10k}, 168.61 in [100,10k}, 220.31 in [1k,10k} Date: 5 November 2014 Testset: 3147 models (1792 in  10sec, 1554 in  100sec, 1384 in  1000sec) Machine: Intel X5650 @ 2.67GHz, 24 GB RAM, 12 threads (deterministic since CPLEX 11.0) Timelimit: 10,000 sec

Register to be notified of the beta program at: https://ibm.biz/BdEfZB

Q & A

IBM Decision Optimization resources CPLEX Optimization Studio on Academic Initiative https://ibm.biz/BdRqgq CPLEX Optimization Studio Preview Edition developerWorks forums https://ibm.biz/BdEH6Q developerWorks community https://ibm.biz/BdEH6g Presentations giving more detail on many of the 12.6.1 features Virtual User Group Client Success Essentials Fix Central Support portal Request for Enhancements (RFE) CPLEX Optimization Studio Knowledge Center Decision Optimization Center Knowledge Center Version-to-version average solution time ratios 12.3/12.2 12.4/12.3 12.5/12.4 12.5.1/12.5 12.6/12.5.1 Scheduling 1 worker 1.06 1.01 1.29 1.03 1.69 4 workers 1.22 0.97 1.35 1.63 Integer prob. 1.10 0.99 1.05 1.08

Disclaimers The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. 44

IBM Big Data & Analytics © 2013 IBM Corporation