SlideShare a Scribd company logo
INFORMS Phoenix 2012




Achieving Optimal Solution Performance
for Your Optimization Modeling Project

                      Presented by

             Sandip Pindoria
           Maximal Software, Inc.




      Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                    1
Presentation Overview


Many Different Factors can Affect the Overall Best
  Solution Performance for Optimization Projects

   Modeling
       • Modeling Languages
       • Model Formulation
   Data
       • Data Management
       • Data Sources
   Solvers
       • Solver Performance
       • Solver Tuning
   Machine Hardware (CPU)

              Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                            2
Achieving Optimal Solution Performance


Speed is not everything…
   Connectivity
   Flexibility
   Scalability
   Productivity


but can still be quite important!
   Data Management
   Large-scale models
   Real-time optimization
   Applications for end-users



                  Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                                3
Achieving Optimal Solution Performance


Modeling Languages
  Independent Languages (GAMS, AMPL, AIMMS, MPL)
  Solver Based Languages (OPL, MOSEL, LINGO)
  Modeling Languages vs. Callable Libraries
  Memory based vs. File based
  Parsing speed
  Memory Management

Model Formulation
   Index sets (numeric vs. named)
   Compound sets (set of sets)
   Data computations
   Modeling pitfalls
               Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                             4
Achieving Optimal Solution Performance


Formulating Compound Sets

Using IN Statements

   PalCapRoute[route,truck IN ExistTrckRt]:

        SUM(cust IN setDeliveryShip: Pal* XCust)
   <=
        CapTruck * XTruck;
Using WHERE Statements

   PalCapRoutes[route,truck] WHERE dtExistTrckRt:

        SUM(cust: Pal* XCust WHERE dtsetDeliveryShip)
   <=
        CapTruck * XTruck;


                 Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                               5
Achieving Optimal Solution Performance


Data Management
  Importing vs. Exporting Data
  Local vs. Network
  ODBC vs. Native Drivers
  Flexibility vs. Speed

Data Sources
   Text Files
   Binary Files
   Spreadsheets
   Databases
   ERP Systems
   XML Files

           Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                         6
Achieving Optimal Solution Performance


Importing Data (50K)


    0.6

    0.5

    0.4

    0.3
                                                                                      50K
    0.2

    0.1

     0
          Text            Access                 Access                   Excel
                                                No Trans                  ODBC
                 Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                                  7
Achieving Optimal Solution Performance


Exporting Data


200


150

                                                                                   30K
100
                                                                                   300K
                                                                                   3000K
  50


   0
          Text                     Access                          No Trans

                 Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                               8
Achieving Optimal Solution Performance


Solver Categories
   High-end Solvers
   Mid-range Solvers
   Open Source Solvers
   Nonlinear Solvers

Solver Performance
   Newest Release
   Algorithms (Primal/Dual vs. Barrier)
   Parallel Solvers
   Local Machine vs. Server
   Grid Computing



                  Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                                9
Achieving Optimal Solution Performance


Solver Tuning (specifically CPLEX MIP)
   Cuts (Automatic vs. Aggressive)
   Variable Selection (Pseudo Cost vs. Strong)
   Probing/Heuristics
   Emphasis (Feasibility vs. Optimality)
   Tolerance Gaps
   Automatic Tuning




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              10
Achieving Optimal Solution Performance


No single tuning parameter gives always the best results

                    harp2        mas74        mzzv11       10teams       aflow30a          air04    air05   TOTAL
Defaults            124.2         284.7          120.3          4.75        13.531         9.016    9.203    565.8
Prob1                81.0         280.4          122.6         5.172        12.641        10.531   10.781    523.1
Prob2               106.4         284.2           36.2         5.328        12.688         10.25   10.765    465.8
Prob3               102.3         278.9          104.1         5.234        12.641        87.093   88.172    678.5
PsuedoCost          126.7         279.5          120.4         6.266        13.422            9     8.906    564.2
StrongBranch        126.8         279.9          120.4         5.985        13.406         8.984    8.719    564.2
PsuedoRedCost       126.4         277.6          120.1          5.25        13.391            9     9.078    560.8
Optimality          135.1         311.3          215.5        34.937        13.922        22.891   23.078    756.7
AggressiveCut       126.8         279.5          120.3         5.188        13.328         8.906    8.954    563.0
NoCuts              207.4         271.2          166.2        30.188        125.39        17.297   18.657    836.3
Combination         126.9         280.1          120.2         5.218         13.39          8.86    8.953    563.6
AVERAGE             126.4         282.5          124.2          10.3          13.2          11.5     11.7    596.3
MAX                 207.4         311.3          215.5          34.9         125.4          87.1     88.2    836.3
MIN                  81.0         271.2           36.2           4.8          12.6           8.9      8.7    465.8
DIFF                126.4          40.1          179.3          30.2         112.7          78.2     79.5    370.6



                            Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                                                   11
Achieving Optimal Solution Performance


Model Formulation improvements
   Usually MIP models can improved by tinkering with the
      formulation
   Modeling Presolve
   Strategic vs. Detailed decisions
   Identifying Global cuts
   Tightening constraints/bounds
   Reformulating constraints




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              12
Presolve


Principal aim of Presolve is:
• Reduce the scope of the problem
   • Eliminate constraints and variables
   • Tighten Bounds, RHS values
   • Modify matrix coefficients to tighten constraints

• High end solvers have very good Presolvers but:
   • Computationally expensive
   • Not always comprehensive




               Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                             13
Presolve


Eliminating binary/integer variables
SWITCHMINMAXE[plant,modes2,t]:
  SUM(modes: BIN_SWITCH[modes:=modes2,modes2:=modes])
+ SUM(modes IN m_plant_mode: BIN_SWITCHEX[modes,modes2])
=
  BIN_SWITCH_MIN + BIN_SWITCH_MAX;

Can change the type of variable to continuous for
  BIN_SWITCH_MIN or BIN_SWITCH_MAX




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              14
Tightening the formulation


Try to get the formulation as close as possible to the convex
   hull of the integer feasible solutions




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              15
Big M


BigM Reduction
• Reduce the size of the Big M value in logical constraints.
• Seeing formulations with arbitrary Big M is still common:

SUM(stream: Prod_Reservere) <= 99999 * Bin_UseReserve;


BigM often linked to a data parameter which will be much smaller:
SUM(stream: Prod_Reservere) <= limitInput_reserves *
   Bin_UseReserve;




                 Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                               16
Cuts


These are essentially redundant constraints that cut off part
  of the LP relaxed solution
• Tightens the formulation
• Increases model size
Cuts can be either:
• Local
• Global
Formulation stand point aim is to identify global cuts




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              17
Clique Cuts


A good global cut to seek out are clique cuts
Set of pairwise incompatible variables
 BIN_OVERMODE + BIN_UNDERMODE <= 1;
 BIN_OVERMODE + BIN_SWITCHMODE <= 1;
 BIN_SWITCHMODE + BIN_UNDERMODE <= 1;

From the above one can imply the following cut:
 BIN_OVERMODE + BIN_UNDERMODE + BIN_SWITCHMODE <= 1;




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              18
Reformulation


Constraint or a set of constraints that are stated to do a
  function in the model can be re done that may aid the
  solving process
DICE_EQ2[plant,mode,mode2,t,t2]:
   BIN_SWITCH <= BIN_INSTANTAITE;

VARIABLES
   BIN_SWITCH[plant,mode,mode2,t,t2];
   BIN_INSTANTAITE[plant,mode,t];




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              19
Reformulation


Due to the indexing difference, reformulated by:
DICE_EQ2[plant,mode,t]:
   SUM(mode2,t2: BIN_SWITCH)
<= DATSWITCH * BIN_INSTANTAITE;

Where DATSWITCH is a data scalar
DATA
   DATSWITCH = COUNT(mode2) * COUNT(t2);
• Formulation becomes less tighter
• Reduces the number of constraints




                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              20
Achieving Optimal Solution Performance


Hardware
  PC vs. Unix
  Windows vs. Linux
  Intel vs. AMD
  Duo Core vs. Quad Core
  CPU Speed (GHz)
  Overclocking
  Level2 Cache
  Random Memory




             Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                           21
Achieving Optimal Solution Performance


Which Factors Can Best Help Achieve the
 Overall Optimal Solution Performance?
  Model Formulation
     • Fast modeling language
     • Use compound indexes
  Data Sources
      • Store data locally
      • Binary or text files
  Solving
      • Newest version of fast, high-end solver
      • Aggressive solver tuning
  Machine Hardware
     • Fastest/newest multi-core CPU
                Copyright © 2012 Maximal Software, Inc. All rights reserved
                                                                              22

More Related Content

Similar to Maximal: Achieving Optimal Solution Performance for your Optimization Modeling Project - Oct 2012

Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Romeo Kienzler
 
Intro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latencyIntro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latency
Dongpyo Lee
 
Stefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningStefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine Learning
Neotys_Partner
 
Emc sql server 2012 overview
Emc sql server 2012 overviewEmc sql server 2012 overview
Emc sql server 2012 overview
solarisyougood
 
DDN Accelerating-Decisions-Through-Enterprise-Hadoop-final
DDN Accelerating-Decisions-Through-Enterprise-Hadoop-finalDDN Accelerating-Decisions-Through-Enterprise-Hadoop-final
DDN Accelerating-Decisions-Through-Enterprise-Hadoop-final
IntelHealthcare
 
Jmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidcloneJmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidclone
Mlx Le
 
Dell EMC Ready Solutions for Big Data
Dell EMC Ready Solutions for Big DataDell EMC Ready Solutions for Big Data
Dell EMC Ready Solutions for Big Data
BlueData, Inc.
 
From Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise EditionFrom Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise Edition
郁萍 王
 
Hadoop & Greenplum: Why Do Such a Thing?
Hadoop & Greenplum: Why Do Such a Thing?Hadoop & Greenplum: Why Do Such a Thing?
Hadoop & Greenplum: Why Do Such a Thing?
Ed Kohlwey
 
What is new in MySQL? (Lars Thalmann)
What is new in MySQL? (Lars Thalmann)What is new in MySQL? (Lars Thalmann)
What is new in MySQL? (Lars Thalmann)
Ontico
 
Faster, Cheaper, Better - Replacing Oracle with Hadoop & Solr
Faster, Cheaper, Better - Replacing Oracle with Hadoop & SolrFaster, Cheaper, Better - Replacing Oracle with Hadoop & Solr
Faster, Cheaper, Better - Replacing Oracle with Hadoop & Solr
Ken Krugler
 
Faster Cheaper Better-Replacing Oracle with Hadoop & Solr
Faster Cheaper Better-Replacing Oracle with Hadoop & SolrFaster Cheaper Better-Replacing Oracle with Hadoop & Solr
Faster Cheaper Better-Replacing Oracle with Hadoop & Solr
DataWorks Summit
 
Fast track to the 9s via the cloud
Fast track to the 9s via the cloudFast track to the 9s via the cloud
Fast track to the 9s via the cloud
Velocity Technology Solutions
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
d0nn9n
 
My sql vivo_5.5_product_update_pt
My sql  vivo_5.5_product_update_ptMy sql  vivo_5.5_product_update_pt
My sql vivo_5.5_product_update_pt
MySQL Brasil
 
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
Insight Technology, Inc.
 
A perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsA perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applications
George Milliken
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?
Datical
 
Ebs performance tune_con9030_pdf_9030_0001
Ebs performance tune_con9030_pdf_9030_0001Ebs performance tune_con9030_pdf_9030_0001
Ebs performance tune_con9030_pdf_9030_0001
jucaab
 
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
pycontw
 

Similar to Maximal: Achieving Optimal Solution Performance for your Optimization Modeling Project - Oct 2012 (20)

Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
Information Retrieval, Applied Statistics and Mathematics onBigData - German ...
 
Intro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latencyIntro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latency
 
Stefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine LearningStefano Doni - Achieve Superhuman Performance with Machine Learning
Stefano Doni - Achieve Superhuman Performance with Machine Learning
 
Emc sql server 2012 overview
Emc sql server 2012 overviewEmc sql server 2012 overview
Emc sql server 2012 overview
 
DDN Accelerating-Decisions-Through-Enterprise-Hadoop-final
DDN Accelerating-Decisions-Through-Enterprise-Hadoop-finalDDN Accelerating-Decisions-Through-Enterprise-Hadoop-final
DDN Accelerating-Decisions-Through-Enterprise-Hadoop-final
 
Jmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidcloneJmorrow rtv den_auto_config_rapidclone
Jmorrow rtv den_auto_config_rapidclone
 
Dell EMC Ready Solutions for Big Data
Dell EMC Ready Solutions for Big DataDell EMC Ready Solutions for Big Data
Dell EMC Ready Solutions for Big Data
 
From Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise EditionFrom Nice to Have to Mission Critical: MySQL Enterprise Edition
From Nice to Have to Mission Critical: MySQL Enterprise Edition
 
Hadoop & Greenplum: Why Do Such a Thing?
Hadoop & Greenplum: Why Do Such a Thing?Hadoop & Greenplum: Why Do Such a Thing?
Hadoop & Greenplum: Why Do Such a Thing?
 
What is new in MySQL? (Lars Thalmann)
What is new in MySQL? (Lars Thalmann)What is new in MySQL? (Lars Thalmann)
What is new in MySQL? (Lars Thalmann)
 
Faster, Cheaper, Better - Replacing Oracle with Hadoop & Solr
Faster, Cheaper, Better - Replacing Oracle with Hadoop & SolrFaster, Cheaper, Better - Replacing Oracle with Hadoop & Solr
Faster, Cheaper, Better - Replacing Oracle with Hadoop & Solr
 
Faster Cheaper Better-Replacing Oracle with Hadoop & Solr
Faster Cheaper Better-Replacing Oracle with Hadoop & SolrFaster Cheaper Better-Replacing Oracle with Hadoop & Solr
Faster Cheaper Better-Replacing Oracle with Hadoop & Solr
 
Fast track to the 9s via the cloud
Fast track to the 9s via the cloudFast track to the 9s via the cloud
Fast track to the 9s via the cloud
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
 
My sql vivo_5.5_product_update_pt
My sql  vivo_5.5_product_update_ptMy sql  vivo_5.5_product_update_pt
My sql vivo_5.5_product_update_pt
 
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
[B34] MySQL最新ロードマップ – MySQL 5.7とその先へ by Ryusuke Kajiyama
 
A perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applicationsA perspective on cloud computing and enterprise saa s applications
A perspective on cloud computing and enterprise saa s applications
 
What Is Slowing My Application Releases?
What Is Slowing My Application Releases?What Is Slowing My Application Releases?
What Is Slowing My Application Releases?
 
Ebs performance tune_con9030_pdf_9030_0001
Ebs performance tune_con9030_pdf_9030_0001Ebs performance tune_con9030_pdf_9030_0001
Ebs performance tune_con9030_pdf_9030_0001
 
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
STAF 在自動化測試上的延伸應用 -- TMSTAF (TrendMicro STAF)
 

More from Bjarni Kristjánsson

Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...
Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...
Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...
Bjarni Kristjánsson
 
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Bjarni Kristjánsson
 
Seminar: New Stochastic Programming Features for MPL - Nov 2011
Seminar: New Stochastic Programming Features for MPL - Nov 2011Seminar: 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 2011Seminar: 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 2012Seminar: Data Modeling for Optimization with MPL - Oct 2012
Seminar: Data Modeling for Optimization with MPL - 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 2012Seminar: 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
 
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 2011OR 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 2011INFORMS: 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 2011INFORMS: IT Committee Report - August 2011
INFORMS: IT Committee Report - August 2011
Bjarni Kristjánsson
 

More from Bjarni Kristjánsson (9)

Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...
Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...
Maximal: Deploying Optimization Models on Servers and Mobile Platforms - Oct ...
 
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
Maximal: MPL Software Demo - INFORMS Phoenix Oct 2012
 
Seminar: New Stochastic Programming Features for MPL - Nov 2011
Seminar: New Stochastic Programming Features for MPL - Nov 2011Seminar: 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 2011Seminar: 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 2012Seminar: Data Modeling for Optimization with MPL - Oct 2012
Seminar: Data Modeling for Optimization with MPL - 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 2012Seminar: New Pricing Programs and Free Software Offers by Maximal - Oct 2012
Seminar: New Pricing Programs and Free Software Offers by Maximal - 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 2011OR 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 2011INFORMS: IT Board Report - April 2011
INFORMS: IT Board Report - April 2011
 
INFORMS: IT Committee Report - August 2011
INFORMS: IT Committee Report - August 2011INFORMS: IT Committee Report - August 2011
INFORMS: IT Committee Report - August 2011
 

Recently uploaded

"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 

Recently uploaded (20)

"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 

Maximal: Achieving Optimal Solution Performance for your Optimization Modeling Project - Oct 2012

  • 1. INFORMS Phoenix 2012 Achieving Optimal Solution Performance for Your Optimization Modeling Project Presented by Sandip Pindoria Maximal Software, Inc. Copyright © 2012 Maximal Software, Inc. All rights reserved 1
  • 2. Presentation Overview Many Different Factors can Affect the Overall Best Solution Performance for Optimization Projects Modeling • Modeling Languages • Model Formulation Data • Data Management • Data Sources Solvers • Solver Performance • Solver Tuning Machine Hardware (CPU) Copyright © 2012 Maximal Software, Inc. All rights reserved 2
  • 3. Achieving Optimal Solution Performance Speed is not everything… Connectivity Flexibility Scalability Productivity but can still be quite important! Data Management Large-scale models Real-time optimization Applications for end-users Copyright © 2012 Maximal Software, Inc. All rights reserved 3
  • 4. Achieving Optimal Solution Performance Modeling Languages Independent Languages (GAMS, AMPL, AIMMS, MPL) Solver Based Languages (OPL, MOSEL, LINGO) Modeling Languages vs. Callable Libraries Memory based vs. File based Parsing speed Memory Management Model Formulation Index sets (numeric vs. named) Compound sets (set of sets) Data computations Modeling pitfalls Copyright © 2012 Maximal Software, Inc. All rights reserved 4
  • 5. Achieving Optimal Solution Performance Formulating Compound Sets Using IN Statements PalCapRoute[route,truck IN ExistTrckRt]: SUM(cust IN setDeliveryShip: Pal* XCust) <= CapTruck * XTruck; Using WHERE Statements PalCapRoutes[route,truck] WHERE dtExistTrckRt: SUM(cust: Pal* XCust WHERE dtsetDeliveryShip) <= CapTruck * XTruck; Copyright © 2012 Maximal Software, Inc. All rights reserved 5
  • 6. Achieving Optimal Solution Performance Data Management Importing vs. Exporting Data Local vs. Network ODBC vs. Native Drivers Flexibility vs. Speed Data Sources Text Files Binary Files Spreadsheets Databases ERP Systems XML Files Copyright © 2012 Maximal Software, Inc. All rights reserved 6
  • 7. Achieving Optimal Solution Performance Importing Data (50K) 0.6 0.5 0.4 0.3 50K 0.2 0.1 0 Text Access Access Excel No Trans ODBC Copyright © 2012 Maximal Software, Inc. All rights reserved 7
  • 8. Achieving Optimal Solution Performance Exporting Data 200 150 30K 100 300K 3000K 50 0 Text Access No Trans Copyright © 2012 Maximal Software, Inc. All rights reserved 8
  • 9. Achieving Optimal Solution Performance Solver Categories High-end Solvers Mid-range Solvers Open Source Solvers Nonlinear Solvers Solver Performance Newest Release Algorithms (Primal/Dual vs. Barrier) Parallel Solvers Local Machine vs. Server Grid Computing Copyright © 2012 Maximal Software, Inc. All rights reserved 9
  • 10. Achieving Optimal Solution Performance Solver Tuning (specifically CPLEX MIP) Cuts (Automatic vs. Aggressive) Variable Selection (Pseudo Cost vs. Strong) Probing/Heuristics Emphasis (Feasibility vs. Optimality) Tolerance Gaps Automatic Tuning Copyright © 2012 Maximal Software, Inc. All rights reserved 10
  • 11. Achieving Optimal Solution Performance No single tuning parameter gives always the best results harp2 mas74 mzzv11 10teams aflow30a air04 air05 TOTAL Defaults 124.2 284.7 120.3 4.75 13.531 9.016 9.203 565.8 Prob1 81.0 280.4 122.6 5.172 12.641 10.531 10.781 523.1 Prob2 106.4 284.2 36.2 5.328 12.688 10.25 10.765 465.8 Prob3 102.3 278.9 104.1 5.234 12.641 87.093 88.172 678.5 PsuedoCost 126.7 279.5 120.4 6.266 13.422 9 8.906 564.2 StrongBranch 126.8 279.9 120.4 5.985 13.406 8.984 8.719 564.2 PsuedoRedCost 126.4 277.6 120.1 5.25 13.391 9 9.078 560.8 Optimality 135.1 311.3 215.5 34.937 13.922 22.891 23.078 756.7 AggressiveCut 126.8 279.5 120.3 5.188 13.328 8.906 8.954 563.0 NoCuts 207.4 271.2 166.2 30.188 125.39 17.297 18.657 836.3 Combination 126.9 280.1 120.2 5.218 13.39 8.86 8.953 563.6 AVERAGE 126.4 282.5 124.2 10.3 13.2 11.5 11.7 596.3 MAX 207.4 311.3 215.5 34.9 125.4 87.1 88.2 836.3 MIN 81.0 271.2 36.2 4.8 12.6 8.9 8.7 465.8 DIFF 126.4 40.1 179.3 30.2 112.7 78.2 79.5 370.6 Copyright © 2012 Maximal Software, Inc. All rights reserved 11
  • 12. Achieving Optimal Solution Performance Model Formulation improvements Usually MIP models can improved by tinkering with the formulation Modeling Presolve Strategic vs. Detailed decisions Identifying Global cuts Tightening constraints/bounds Reformulating constraints Copyright © 2012 Maximal Software, Inc. All rights reserved 12
  • 13. Presolve Principal aim of Presolve is: • Reduce the scope of the problem • Eliminate constraints and variables • Tighten Bounds, RHS values • Modify matrix coefficients to tighten constraints • High end solvers have very good Presolvers but: • Computationally expensive • Not always comprehensive Copyright © 2012 Maximal Software, Inc. All rights reserved 13
  • 14. Presolve Eliminating binary/integer variables SWITCHMINMAXE[plant,modes2,t]: SUM(modes: BIN_SWITCH[modes:=modes2,modes2:=modes]) + SUM(modes IN m_plant_mode: BIN_SWITCHEX[modes,modes2]) = BIN_SWITCH_MIN + BIN_SWITCH_MAX; Can change the type of variable to continuous for BIN_SWITCH_MIN or BIN_SWITCH_MAX Copyright © 2012 Maximal Software, Inc. All rights reserved 14
  • 15. Tightening the formulation Try to get the formulation as close as possible to the convex hull of the integer feasible solutions Copyright © 2012 Maximal Software, Inc. All rights reserved 15
  • 16. Big M BigM Reduction • Reduce the size of the Big M value in logical constraints. • Seeing formulations with arbitrary Big M is still common: SUM(stream: Prod_Reservere) <= 99999 * Bin_UseReserve; BigM often linked to a data parameter which will be much smaller: SUM(stream: Prod_Reservere) <= limitInput_reserves * Bin_UseReserve; Copyright © 2012 Maximal Software, Inc. All rights reserved 16
  • 17. Cuts These are essentially redundant constraints that cut off part of the LP relaxed solution • Tightens the formulation • Increases model size Cuts can be either: • Local • Global Formulation stand point aim is to identify global cuts Copyright © 2012 Maximal Software, Inc. All rights reserved 17
  • 18. Clique Cuts A good global cut to seek out are clique cuts Set of pairwise incompatible variables BIN_OVERMODE + BIN_UNDERMODE <= 1; BIN_OVERMODE + BIN_SWITCHMODE <= 1; BIN_SWITCHMODE + BIN_UNDERMODE <= 1; From the above one can imply the following cut: BIN_OVERMODE + BIN_UNDERMODE + BIN_SWITCHMODE <= 1; Copyright © 2012 Maximal Software, Inc. All rights reserved 18
  • 19. Reformulation Constraint or a set of constraints that are stated to do a function in the model can be re done that may aid the solving process DICE_EQ2[plant,mode,mode2,t,t2]: BIN_SWITCH <= BIN_INSTANTAITE; VARIABLES BIN_SWITCH[plant,mode,mode2,t,t2]; BIN_INSTANTAITE[plant,mode,t]; Copyright © 2012 Maximal Software, Inc. All rights reserved 19
  • 20. Reformulation Due to the indexing difference, reformulated by: DICE_EQ2[plant,mode,t]: SUM(mode2,t2: BIN_SWITCH) <= DATSWITCH * BIN_INSTANTAITE; Where DATSWITCH is a data scalar DATA DATSWITCH = COUNT(mode2) * COUNT(t2); • Formulation becomes less tighter • Reduces the number of constraints Copyright © 2012 Maximal Software, Inc. All rights reserved 20
  • 21. Achieving Optimal Solution Performance Hardware PC vs. Unix Windows vs. Linux Intel vs. AMD Duo Core vs. Quad Core CPU Speed (GHz) Overclocking Level2 Cache Random Memory Copyright © 2012 Maximal Software, Inc. All rights reserved 21
  • 22. Achieving Optimal Solution Performance Which Factors Can Best Help Achieve the Overall Optimal Solution Performance? Model Formulation • Fast modeling language • Use compound indexes Data Sources • Store data locally • Binary or text files Solving • Newest version of fast, high-end solver • Aggressive solver tuning Machine Hardware • Fastest/newest multi-core CPU Copyright © 2012 Maximal Software, Inc. All rights reserved 22