SlideShare a Scribd company logo
industrIALgorithms


                          IMPRESS
  Industrial Modeling & Presolving System


    Are you ready to get IMPRESSed?



 Brenno, December, 2012

12/10/2012
Commercial Scheduling Tools

                                                                                          industrIALgorithms



 Simulation based         Simulation based    Simulation based    Optimization based      Optimization based

                            Suite of tools      Suite of tools
Suite of tools (PIMS,                                             Suite of tools (RPMS,
                            (SIMTO Sched,            (Flower,                                Suite of tools
       APS, MBO,                                                         PS, BLEND,
                             MBlend, Dock           Compass,                                   (IMPRESS)
          IMOS)                                                             SAND)
                                   Sol)             Optimix)

 Scheduling Blend:       Scheduling Blend:    Scheduling Blend:    Scheduling Blend:      Scheduling Blend:
         MBO             SIMTO M-Blend              Optimix              BLEND               CBS, PBS-IMF

  Easy interface           Easy interface                            Interface less
                                               Installed in the
  Installed in the         Installed in the                             interactive       No User-Interface
                                                     machine
        machine                  machine                           Access by intranet

Integration by Data      Integration by Web                                               Integration by File,
                                                                  Integration by XML
          Base                   Service                                                        Excel, API’s

        BP
                             VALERO                                 PETROCHINA
     CONOCO
                            CHEVRON                                  INDIAN OIL
      SHELL
Types of Optimization & Estimation
   IMPRESS is designed both for industrial decision-
    making & data-mining problems deployed off-line,
    in-line & on-line such as:
       Planning & Scheduling Optimization (active).
       Data Reconciliation & Regression Estimation (passive).
       Real-Time Control & Optimization (active).
       Monitoring, Tracking & Tracing (passive).
           The terms active & passive imply the "degree of causality".
            Active models must be "causal" (cause & effect amongst
            variables) & passive models may or may not be causal (no
            cause & effect required) also known as "observational".
Advanced Modeling System: IMPRESS
   Problems are configured either interfacing with a
    flat-file language (IML = Industrial Modeling
    Language) or interactively using a programming
    language such as Python, Java, C#, C++, C or
    Fortran (IPL = Industrial Programming Language).

   Currently have bindings to several linear and
    nonlinear programming solvers such as COINMP,
    GLPK, LPSOLVE, SCIP, XPRESS, XPRESS-SLP,
    CONOPT, IPOPT, KNITRO, NOVA & SLPQPE, etc.
System Architecture: SIIMPL
   SIIMPL = Server, Interfacer, Interacter, Modeler,
                  Presolver Libraries.
   There are five DLL components in IMPRESS:
       Server = data modeling & presolving routines.
       Interfacer = parsing for the language.
       Interacter = inserting, updating & viewing routines
                      for the interchange.
       Modeler = formulating of the variables, constraints,
                   derivatives & expressions including
                  "dependent" sets, lists & parameters.
       Presolver = bindings for 3rd-party solving-systems.
Types of Variables (Phenomena)
                     Q=quantity, L=logic, q=quality


                                        Q=flow
                                        L=setup, startup, switchover, shutdown
        “unit-operation”
                        “out-port”     “out-port-to-in-port” stream, path, etc.
 “in-port”

                              Q=flow (rate, yield, holdup)
                              q=densities, components, properties, conditions
                                     rate = flow / (time-period-duration)
                                     yield = (port-flow) / (unit-operation-flow)
                                     holdup = flow[t] – flow[t-1]
    Q=flow (rate, holdup)
    q=conditions
    L=setup, startup, switchover, shutdown
Time Model
• Logistics (Quantity*Logic (proy’d-quality), MILP):
   – “discrete-time” where each time-period has the same duration.
   – Time-periods may be “small-buckets” (un-ary) or “big-buckets”
     (N-ary):
      • If un-ary then only one activity per time-period (scheduling) but if N-ary
    Planuling = Planning + Scheduling
        then multiple activities per time-period where a “time-portion” variable
        for each operation is applied (planning).

• Quality (Quantity*quality (fixed-logic), NLP):
   – “distributed-time” where each time-period may have a different
     duration (global/common time-grid).
   – Same as logistics.

• All input data is entered in “continuous-time” (begin, end-
  times) and digitized i.e., discretized or distributed
  accordingly.
Scheduling
      without the blender scheduling details


                planning
                                       crude




Solution: duration of each blender grade
with time-period


    Scheduling only for the blender:

    Including setup, startup,
    switchover, shutdown
Prod A     Prod A

                                                                   Prod B     Prod B

                                                                   Prod C     Prod C

                                                                   Prod D     Prod D
Crude A
                                                                   Prod E     Prod E
Crude B
                                                                   Prod F     Prod F
Crude C                                                            Prod G     Prod G
Crude D                                                            Prod H     Prod H


Crude Recipe           Refining Units                 Products Recipes      Products
                       Operational Modes                                    Scheduling
Crude Scheduling                                      Products Planning
                                                    resulting targets to
Including setup, startup, switchover, shutdown
                                                 blender Scheduling/RTO


                          1st Planuling (big-buckets)               2nd Scheduling
                                                                    (small-buckets)
User/Adhoc Linear Constraints
• There are 2 ways to add user, adhoc or custom
  linear/logistics constraints or formulations:

  – Inside IML/IPL using special frames with access to UOPSS
    flow, holdup, setup, startup, etc. variables i.e.,
     • UOLConstraint-&sUnit,&sOperation,&sName,&iBegin,&iEnd,@sType,@rValue,@rWeight


  – Import a “foreign” LP (CPLEX) file generated by GAMS,
    AMPL, MOSEL, etc.
     • Variables are referenced as “Xnnn” and constraints by
       “Fmmm” where if “nnn” corresponds to an IMPRESS generated
       variable index number then the IMPRESS variable will be used
       instead. All “mmm” constraint index numbers correspond to
       new constraint instances (or cuts/valid inequalities).
User/Adhoc Nonlinear Constraints
• There are 3 ways to add user, adhoc or custom
  nonlinear/quality constraints or formulations:

  – Single-value formula using conditions on “black-box”
    subtype unit-operations to calculate port flows, rates,
    yields, densities, components, etc.

  – Single-value functions for “coefficients” as functions of
    conditions on “black-box” subtype unit-operations and
    written in C, C++ or Fortran i.e., useful for physical-
    properties such as enthalpy, entropy, fugacity, etc.

  – Multi-value functions on “black-blox” subtype unit-
    operations written in C, C++ or Fortran.
User/Adhoc Nonlinear Constraints
 Multi-value functions on “black-blox” subtype unit-operations written in C,
 C++ or Fortran.

            function UOfunction(numtpp, numtpf,
              &           durtpp, durtpf,
              &           numip, numop,
              &           numdns, numcmp, numprp, numcnd,
              &           varipf, varopf,
              &           varipdns, varopdns,
              &           varipcmp, varopcmp,
              &           varipprp, varopprp,
              &           varipcnd, varopcnd,
              &           varuof, varuocnd,
              &           numcon, typcon,
              &           numnzder, rownder, colnzder,
              &           valipf, valopf,
              &           valipdns, valopdns,
              &           valipcmp, valopcmp,
              &           valipprp, valopprp,
              &           valipcnd, valopcnd,
              &           valuof, valuocnd,
              &           valcon,
              &           flag)
Formula Intrinsic/Extrinsic Functions
• Unary intrinsic functions supported are:
   – ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, DEG, RAD, INT,
     ROUND, FLOOR, CEILING, FACT, IF, NOT and URN, NRN
     (uniform and normal random numbers).

• Binary and N-ary intrinsic functions are:
   – EQ, NE, LE, LT, GE, GT, MIN, MAX and
   – MNL, MXL, KIP, LIP, SIP, KIP2, LIP2, SIP2 (monotonic spline
     using piecewise Hermite polynomials).

• Extrinsic unary, binary and N-ary functions are:
   – XFU1, XFU2, XFU3, XFB1, XFB2, XFB3 & XFN1, XFN2, XFN3
Solving via SLPQPE (not SQP, SLQP, SQLP)
• What is SLPQPE?
 – It is identical to SLP (Zhang et. al., 1985) except that at each major iteration of the
   nonlinear program a QP is called instead of the LP if there are quadratic terms in the
   objective function.
           J. Zhang, et. al., “An Improved Successive Linear Programming Algorithm”,
           Management Science, 1985.
• Where is it useful?
 – When the objective function is a mix of linear (1-norm) and quadratic (2-norm) terms such
   as found in industrial planning, scheduling, control & reconciliation problems, then SLPQPE
   has been found to be extremely effective in practice.

• Where is it usually not useful?
 – When the objective function has an indefinite Hessian (+/- eigenvalues) i.e., +/- diagonal
   quadratic terms.

 – However, industrial optimization & estimation problems do not usually have an indefinite
   objective function Hessian although the Hessian of the Lagrangian most likely will be.
Other Techniques found in IMPRESS
   Differentiation Engine:
       All 1st-order partial derivatives are either supplied
        analytically or computed numerically of analytical quality
        using complex-step differencing & graph-colouring. *
        The modeler or user is not responsible for providing
        derivatives.

   Diagnostic Engine (Work-in-Progress ...):
      Experience says that over 95% of IOP's have infeasibilities
       that occur in the linear part of the model where these can
       be quickly identified in LP primal presolve. The rest
       require artificial or what we call excursion variables in
       both the integer and nonlinear parts of the model and are
       generated automatically.
IMPRESS.EXE (Console)
• impress.exe -feed=“yourmodelhere.iml"
             -form=sparsic/symbolic
             -fit=discrete/distribute
             -filter=quantity/logistics/quality
             -foreign=*.ilp
             -focus=optimization/estimation
             -factor=1
             -factorizer=y12m/ysmp/nspiv/pardiso
             -fork=lpsolve/xpress/ipopt/slpqpe/secqpe_sorve
             -flashback=flatfile
             -fanfare=1073741823
IMPRESS Components
• IMPRSserver.dll, IMPRSinteracter.dll,
  IMPRSinterfacer.dll, IMPRSmodeler.dll,
  IMPRSpresolver.dll, IMPRESS.EXE
• Microsoft Visual Studio 10 and Intel
  Fortran/MKL Redistributables (free).
• IAConstructer.py (2.3) (Flowsheet),
  UOPSS.sheet, unit_perimeter.shape, etc.
• IAViewer.py (2.7) (Gantt/Trend Charts)
• Python 2.3 and Python 2.7 (coexist)
• Dia 0.97.2 (Gnome)
IMPRESS Presentation Carnegie Mellon University
IMPRESS Presentation Carnegie Mellon University

More Related Content

Viewers also liked

Marc and akaki’s quiz
Marc and akaki’s quizMarc and akaki’s quiz
Marc and akaki’s quiz
eso1113enricborras
 
活動攝影的失與得
活動攝影的失與得活動攝影的失與得
活動攝影的失與得小華 黃
 
Latihan bab4 blog cikgugeog
Latihan bab4 blog cikgugeogLatihan bab4 blog cikgugeog
Latihan bab4 blog cikgugeogKila Shakila
 
Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"
Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"
Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"
08600 Vasilkov
 
Tutorial Menukar Ayat sonsang
Tutorial Menukar Ayat sonsangTutorial Menukar Ayat sonsang
Tutorial Menukar Ayat sonsangroslinah2u
 
School counselors prove valuable partners in understanding student needs
School counselors prove valuable partners in understanding student needsSchool counselors prove valuable partners in understanding student needs
School counselors prove valuable partners in understanding student needs
Learning Forward
 
Wwii
WwiiWwii
Wwii
lorbe
 
จากเรื่อง Tense
จากเรื่อง Tenseจากเรื่อง Tense
จากเรื่อง Tense
Suky Naka
 
Presentación1
Presentación1Presentación1
Presentación1
Susan Galindo
 
Practica 1
Practica 1Practica 1
Practica 1
Marlon Rojas
 
M.O. 0255
M.O. 0255M.O. 0255
March2015Newsletter -
March2015Newsletter -March2015Newsletter -
March2015Newsletter -
Contractor Lighting & Supply
 
realted arts talent 21
realted arts talent 21realted arts talent 21
realted arts talent 21
rodriquezv
 
2012 03 21_horarios_hk
2012 03 21_horarios_hk2012 03 21_horarios_hk
2012 03 21_horarios_hk
ferugby
 

Viewers also liked (20)

植物生理学第13回
植物生理学第13回植物生理学第13回
植物生理学第13回
 
Marc and akaki’s quiz
Marc and akaki’s quizMarc and akaki’s quiz
Marc and akaki’s quiz
 
制度資金
制度資金制度資金
制度資金
 
Elbaile de las letras
Elbaile de las letrasElbaile de las letras
Elbaile de las letras
 
活動攝影的失與得
活動攝影的失與得活動攝影的失與得
活動攝影的失與得
 
Latihan bab4 blog cikgugeog
Latihan bab4 blog cikgugeogLatihan bab4 blog cikgugeog
Latihan bab4 blog cikgugeog
 
Care opret ydelse
Care opret ydelseCare opret ydelse
Care opret ydelse
 
Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"
Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"
Презентация Васильківської ЗОШ І-ІІІ ст№9 "Вулиця Бурки"
 
Tutorial Menukar Ayat sonsang
Tutorial Menukar Ayat sonsangTutorial Menukar Ayat sonsang
Tutorial Menukar Ayat sonsang
 
Jocs de falda
Jocs de faldaJocs de falda
Jocs de falda
 
School counselors prove valuable partners in understanding student needs
School counselors prove valuable partners in understanding student needsSchool counselors prove valuable partners in understanding student needs
School counselors prove valuable partners in understanding student needs
 
Wwii
WwiiWwii
Wwii
 
จากเรื่อง Tense
จากเรื่อง Tenseจากเรื่อง Tense
จากเรื่อง Tense
 
Presentación1
Presentación1Presentación1
Presentación1
 
Practica 1
Practica 1Practica 1
Practica 1
 
M.O. 0255
M.O. 0255M.O. 0255
M.O. 0255
 
March2015Newsletter -
March2015Newsletter -March2015Newsletter -
March2015Newsletter -
 
10 анги
10 анги10 анги
10 анги
 
realted arts talent 21
realted arts talent 21realted arts talent 21
realted arts talent 21
 
2012 03 21_horarios_hk
2012 03 21_horarios_hk2012 03 21_horarios_hk
2012 03 21_horarios_hk
 

Similar to IMPRESS Presentation Carnegie Mellon University

Ab initio training Ab-initio Architecture
Ab initio training Ab-initio ArchitectureAb initio training Ab-initio Architecture
Ab initio training Ab-initio Architecture
Sandeep Sharma IIMK Smart City,IoT,Bigdata,Cloud,BI,DW
 
Software Variability Management
Software Variability ManagementSoftware Variability Management
Software Variability Management
XavierDevroey
 
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Susan Yoskin
 
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Alkis Vazacopoulos
 
Problem Determination Tools
Problem Determination ToolsProblem Determination Tools
Problem Determination Tools
CICS ROADSHOW
 
Behavior Driven GUI Testing
Behavior Driven GUI TestingBehavior Driven GUI Testing
Behavior Driven GUI Testing
Reginald Stadlbauer
 
SUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAIN
SUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAINSUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAIN
SUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAIN
Alkis Vazacopoulos
 
RSI GmbH - Intro
RSI GmbH - IntroRSI GmbH - Intro
RSI GmbH - Intro
Jeevan Mathew
 
Dreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesDreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_Cases
Narayan Bharadwaj
 
Sap overview
Sap overviewSap overview
Sap overview
Prashant Wagh
 
Sap overview
Sap overviewSap overview
Sap overview
87sayandas
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
Kris Buytaert
 
Running Cognos on Hadoop
Running Cognos on HadoopRunning Cognos on Hadoop
Running Cognos on Hadoop
Senturus
 
Step by-step-lsmw-tutorial-101208040548-phpapp02
Step by-step-lsmw-tutorial-101208040548-phpapp02Step by-step-lsmw-tutorial-101208040548-phpapp02
Step by-step-lsmw-tutorial-101208040548-phpapp02
johnbryan26
 
Mainframe migration
Mainframe migrationMainframe migration
Mainframe migration
Ginfo Intl
 
Advanced Modeling of Industrial Optimization Problems
Advanced Modeling of Industrial Optimization ProblemsAdvanced Modeling of Industrial Optimization Problems
Advanced Modeling of Industrial Optimization Problems
Alkis Vazacopoulos
 
jBPM Migration - generating your process future
jBPM Migration - generating your process futurejBPM Migration - generating your process future
jBPM Migration - generating your process future
Eric D. Schabell
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
Philippe Laborie
 
When traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needsWhen traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needs
Kris Buytaert
 
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
Pin-Ying Tu
 

Similar to IMPRESS Presentation Carnegie Mellon University (20)

Ab initio training Ab-initio Architecture
Ab initio training Ab-initio ArchitectureAb initio training Ab-initio Architecture
Ab initio training Ab-initio Architecture
 
Software Variability Management
Software Variability ManagementSoftware Variability Management
Software Variability Management
 
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
Recover 30% of your day with IBM Development Tools (Smarter Mainframe Develop...
 
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
Building Cogeneration Planning Scheduling Systems using IBM ILOG ODME, CPLEX ...
 
Problem Determination Tools
Problem Determination ToolsProblem Determination Tools
Problem Determination Tools
 
Behavior Driven GUI Testing
Behavior Driven GUI TestingBehavior Driven GUI Testing
Behavior Driven GUI Testing
 
SUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAIN
SUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAINSUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAIN
SUPPLY CHAIN OPTIMIZATIONL: JET FUEL SUPPLY CHAIN
 
RSI GmbH - Intro
RSI GmbH - IntroRSI GmbH - Intro
RSI GmbH - Intro
 
Dreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_CasesDreamforce_2012_Hadoop_Use_Cases
Dreamforce_2012_Hadoop_Use_Cases
 
Sap overview
Sap overviewSap overview
Sap overview
 
Sap overview
Sap overviewSap overview
Sap overview
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Running Cognos on Hadoop
Running Cognos on HadoopRunning Cognos on Hadoop
Running Cognos on Hadoop
 
Step by-step-lsmw-tutorial-101208040548-phpapp02
Step by-step-lsmw-tutorial-101208040548-phpapp02Step by-step-lsmw-tutorial-101208040548-phpapp02
Step by-step-lsmw-tutorial-101208040548-phpapp02
 
Mainframe migration
Mainframe migrationMainframe migration
Mainframe migration
 
Advanced Modeling of Industrial Optimization Problems
Advanced Modeling of Industrial Optimization ProblemsAdvanced Modeling of Industrial Optimization Problems
Advanced Modeling of Industrial Optimization Problems
 
jBPM Migration - generating your process future
jBPM Migration - generating your process futurejBPM Migration - generating your process future
jBPM Migration - generating your process future
 
Accelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer ModelsAccelerating the Development of Efficient CP Optimizer Models
Accelerating the Development of Efficient CP Optimizer Models
 
When traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needsWhen traditional configuration management is to slow for your needs
When traditional configuration management is to slow for your needs
 
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
 

More from Alkis Vazacopoulos

Automatic Fine-tuning Xpress-MP to Solve MIP
Automatic Fine-tuning Xpress-MP to Solve MIPAutomatic Fine-tuning Xpress-MP to Solve MIP
Automatic Fine-tuning Xpress-MP to Solve MIP
Alkis Vazacopoulos
 
Data mining 2004
Data mining 2004Data mining 2004
Data mining 2004
Alkis Vazacopoulos
 
Amazing results with ODH|CPLEX
Amazing results with ODH|CPLEXAmazing results with ODH|CPLEX
Amazing results with ODH|CPLEX
Alkis Vazacopoulos
 
Bia project poster fantasy football
Bia project poster  fantasy football Bia project poster  fantasy football
Bia project poster fantasy football
Alkis Vazacopoulos
 
NFL Game schedule optimization
NFL Game schedule optimization NFL Game schedule optimization
NFL Game schedule optimization
Alkis Vazacopoulos
 
2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...
2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...
2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...
Alkis Vazacopoulos
 
Posters 2017
Posters 2017Posters 2017
Posters 2017
Alkis Vazacopoulos
 
Very largeoptimizationparallel
Very largeoptimizationparallelVery largeoptimizationparallel
Very largeoptimizationparallel
Alkis Vazacopoulos
 
Retail Pricing Optimization
Retail Pricing Optimization Retail Pricing Optimization
Retail Pricing Optimization
Alkis Vazacopoulos
 
Optimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesOptimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studies
Alkis Vazacopoulos
 
Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Alkis Vazacopoulos
 
ODHeuristics
ODHeuristicsODHeuristics
ODHeuristics
Alkis Vazacopoulos
 
Missing-Value Handling in Dynamic Model Estimation using IMPL
Missing-Value Handling in Dynamic Model Estimation using IMPL Missing-Value Handling in Dynamic Model Estimation using IMPL
Missing-Value Handling in Dynamic Model Estimation using IMPL
Alkis Vazacopoulos
 
Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...
Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...
Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...
Alkis Vazacopoulos
 
Industrial Modeling Service (IMS-IMPL)
Industrial Modeling Service (IMS-IMPL)Industrial Modeling Service (IMS-IMPL)
Industrial Modeling Service (IMS-IMPL)
Alkis Vazacopoulos
 
Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...
Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...
Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...
Alkis Vazacopoulos
 
Xmr im
Xmr imXmr im
Distillation Curve Optimization Using Monotonic Interpolation
Distillation Curve Optimization Using Monotonic InterpolationDistillation Curve Optimization Using Monotonic Interpolation
Distillation Curve Optimization Using Monotonic Interpolation
Alkis Vazacopoulos
 
Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...
Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...
Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...
Alkis Vazacopoulos
 
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...
Alkis Vazacopoulos
 

More from Alkis Vazacopoulos (20)

Automatic Fine-tuning Xpress-MP to Solve MIP
Automatic Fine-tuning Xpress-MP to Solve MIPAutomatic Fine-tuning Xpress-MP to Solve MIP
Automatic Fine-tuning Xpress-MP to Solve MIP
 
Data mining 2004
Data mining 2004Data mining 2004
Data mining 2004
 
Amazing results with ODH|CPLEX
Amazing results with ODH|CPLEXAmazing results with ODH|CPLEX
Amazing results with ODH|CPLEX
 
Bia project poster fantasy football
Bia project poster  fantasy football Bia project poster  fantasy football
Bia project poster fantasy football
 
NFL Game schedule optimization
NFL Game schedule optimization NFL Game schedule optimization
NFL Game schedule optimization
 
2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...
2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...
2017 Business Intelligence & Analytics Corporate Event Stevens Institute of T...
 
Posters 2017
Posters 2017Posters 2017
Posters 2017
 
Very largeoptimizationparallel
Very largeoptimizationparallelVery largeoptimizationparallel
Very largeoptimizationparallel
 
Retail Pricing Optimization
Retail Pricing Optimization Retail Pricing Optimization
Retail Pricing Optimization
 
Optimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studiesOptimization Direct: Introduction and recent case studies
Optimization Direct: Introduction and recent case studies
 
Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX Informs 2016 Solving Planning and Scheduling Problems with CPLEX
Informs 2016 Solving Planning and Scheduling Problems with CPLEX
 
ODHeuristics
ODHeuristicsODHeuristics
ODHeuristics
 
Missing-Value Handling in Dynamic Model Estimation using IMPL
Missing-Value Handling in Dynamic Model Estimation using IMPL Missing-Value Handling in Dynamic Model Estimation using IMPL
Missing-Value Handling in Dynamic Model Estimation using IMPL
 
Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...
Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...
Finite Impulse Response Estimation of Gas Furnace Data in IMPL Industrial Mod...
 
Industrial Modeling Service (IMS-IMPL)
Industrial Modeling Service (IMS-IMPL)Industrial Modeling Service (IMS-IMPL)
Industrial Modeling Service (IMS-IMPL)
 
Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...
Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...
Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Mod...
 
Xmr im
Xmr imXmr im
Xmr im
 
Distillation Curve Optimization Using Monotonic Interpolation
Distillation Curve Optimization Using Monotonic InterpolationDistillation Curve Optimization Using Monotonic Interpolation
Distillation Curve Optimization Using Monotonic Interpolation
 
Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...
Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...
Multi-Utility Scheduling Optimization (MUSO) Industrial Modeling Framework (M...
 
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB)  Indust...
Advanced Parameter Estimation (APE) for Motor Gasoline Blending (MGB) Indust...
 

IMPRESS Presentation Carnegie Mellon University

  • 1. industrIALgorithms IMPRESS Industrial Modeling & Presolving System Are you ready to get IMPRESSed? Brenno, December, 2012 12/10/2012
  • 2. Commercial Scheduling Tools industrIALgorithms Simulation based Simulation based Simulation based Optimization based Optimization based Suite of tools Suite of tools Suite of tools (PIMS, Suite of tools (RPMS, (SIMTO Sched, (Flower, Suite of tools APS, MBO, PS, BLEND, MBlend, Dock Compass, (IMPRESS) IMOS) SAND) Sol) Optimix) Scheduling Blend: Scheduling Blend: Scheduling Blend: Scheduling Blend: Scheduling Blend: MBO SIMTO M-Blend Optimix BLEND CBS, PBS-IMF Easy interface Easy interface Interface less Installed in the Installed in the Installed in the interactive No User-Interface machine machine machine Access by intranet Integration by Data Integration by Web Integration by File, Integration by XML Base Service Excel, API’s BP VALERO PETROCHINA CONOCO CHEVRON INDIAN OIL SHELL
  • 3. Types of Optimization & Estimation  IMPRESS is designed both for industrial decision- making & data-mining problems deployed off-line, in-line & on-line such as:  Planning & Scheduling Optimization (active).  Data Reconciliation & Regression Estimation (passive).  Real-Time Control & Optimization (active).  Monitoring, Tracking & Tracing (passive).  The terms active & passive imply the "degree of causality". Active models must be "causal" (cause & effect amongst variables) & passive models may or may not be causal (no cause & effect required) also known as "observational".
  • 4.
  • 5.
  • 6.
  • 7. Advanced Modeling System: IMPRESS  Problems are configured either interfacing with a flat-file language (IML = Industrial Modeling Language) or interactively using a programming language such as Python, Java, C#, C++, C or Fortran (IPL = Industrial Programming Language).  Currently have bindings to several linear and nonlinear programming solvers such as COINMP, GLPK, LPSOLVE, SCIP, XPRESS, XPRESS-SLP, CONOPT, IPOPT, KNITRO, NOVA & SLPQPE, etc.
  • 8. System Architecture: SIIMPL  SIIMPL = Server, Interfacer, Interacter, Modeler, Presolver Libraries.  There are five DLL components in IMPRESS:  Server = data modeling & presolving routines.  Interfacer = parsing for the language.  Interacter = inserting, updating & viewing routines for the interchange.  Modeler = formulating of the variables, constraints, derivatives & expressions including "dependent" sets, lists & parameters.  Presolver = bindings for 3rd-party solving-systems.
  • 9. Types of Variables (Phenomena) Q=quantity, L=logic, q=quality Q=flow L=setup, startup, switchover, shutdown “unit-operation” “out-port” “out-port-to-in-port” stream, path, etc. “in-port” Q=flow (rate, yield, holdup) q=densities, components, properties, conditions rate = flow / (time-period-duration) yield = (port-flow) / (unit-operation-flow) holdup = flow[t] – flow[t-1] Q=flow (rate, holdup) q=conditions L=setup, startup, switchover, shutdown
  • 10. Time Model • Logistics (Quantity*Logic (proy’d-quality), MILP): – “discrete-time” where each time-period has the same duration. – Time-periods may be “small-buckets” (un-ary) or “big-buckets” (N-ary): • If un-ary then only one activity per time-period (scheduling) but if N-ary Planuling = Planning + Scheduling then multiple activities per time-period where a “time-portion” variable for each operation is applied (planning). • Quality (Quantity*quality (fixed-logic), NLP): – “distributed-time” where each time-period may have a different duration (global/common time-grid). – Same as logistics. • All input data is entered in “continuous-time” (begin, end- times) and digitized i.e., discretized or distributed accordingly.
  • 11. Scheduling without the blender scheduling details planning crude Solution: duration of each blender grade with time-period Scheduling only for the blender: Including setup, startup, switchover, shutdown
  • 12. Prod A Prod A Prod B Prod B Prod C Prod C Prod D Prod D Crude A Prod E Prod E Crude B Prod F Prod F Crude C Prod G Prod G Crude D Prod H Prod H Crude Recipe Refining Units Products Recipes Products Operational Modes Scheduling Crude Scheduling Products Planning resulting targets to Including setup, startup, switchover, shutdown blender Scheduling/RTO 1st Planuling (big-buckets) 2nd Scheduling (small-buckets)
  • 13. User/Adhoc Linear Constraints • There are 2 ways to add user, adhoc or custom linear/logistics constraints or formulations: – Inside IML/IPL using special frames with access to UOPSS flow, holdup, setup, startup, etc. variables i.e., • UOLConstraint-&sUnit,&sOperation,&sName,&iBegin,&iEnd,@sType,@rValue,@rWeight – Import a “foreign” LP (CPLEX) file generated by GAMS, AMPL, MOSEL, etc. • Variables are referenced as “Xnnn” and constraints by “Fmmm” where if “nnn” corresponds to an IMPRESS generated variable index number then the IMPRESS variable will be used instead. All “mmm” constraint index numbers correspond to new constraint instances (or cuts/valid inequalities).
  • 14. User/Adhoc Nonlinear Constraints • There are 3 ways to add user, adhoc or custom nonlinear/quality constraints or formulations: – Single-value formula using conditions on “black-box” subtype unit-operations to calculate port flows, rates, yields, densities, components, etc. – Single-value functions for “coefficients” as functions of conditions on “black-box” subtype unit-operations and written in C, C++ or Fortran i.e., useful for physical- properties such as enthalpy, entropy, fugacity, etc. – Multi-value functions on “black-blox” subtype unit- operations written in C, C++ or Fortran.
  • 15. User/Adhoc Nonlinear Constraints Multi-value functions on “black-blox” subtype unit-operations written in C, C++ or Fortran. function UOfunction(numtpp, numtpf, & durtpp, durtpf, & numip, numop, & numdns, numcmp, numprp, numcnd, & varipf, varopf, & varipdns, varopdns, & varipcmp, varopcmp, & varipprp, varopprp, & varipcnd, varopcnd, & varuof, varuocnd, & numcon, typcon, & numnzder, rownder, colnzder, & valipf, valopf, & valipdns, valopdns, & valipcmp, valopcmp, & valipprp, valopprp, & valipcnd, valopcnd, & valuof, valuocnd, & valcon, & flag)
  • 16. Formula Intrinsic/Extrinsic Functions • Unary intrinsic functions supported are: – ABS, SQRT, LN, LOG, EXP, SIN, COS, TAN, DEG, RAD, INT, ROUND, FLOOR, CEILING, FACT, IF, NOT and URN, NRN (uniform and normal random numbers). • Binary and N-ary intrinsic functions are: – EQ, NE, LE, LT, GE, GT, MIN, MAX and – MNL, MXL, KIP, LIP, SIP, KIP2, LIP2, SIP2 (monotonic spline using piecewise Hermite polynomials). • Extrinsic unary, binary and N-ary functions are: – XFU1, XFU2, XFU3, XFB1, XFB2, XFB3 & XFN1, XFN2, XFN3
  • 17. Solving via SLPQPE (not SQP, SLQP, SQLP) • What is SLPQPE? – It is identical to SLP (Zhang et. al., 1985) except that at each major iteration of the nonlinear program a QP is called instead of the LP if there are quadratic terms in the objective function. J. Zhang, et. al., “An Improved Successive Linear Programming Algorithm”, Management Science, 1985. • Where is it useful? – When the objective function is a mix of linear (1-norm) and quadratic (2-norm) terms such as found in industrial planning, scheduling, control & reconciliation problems, then SLPQPE has been found to be extremely effective in practice. • Where is it usually not useful? – When the objective function has an indefinite Hessian (+/- eigenvalues) i.e., +/- diagonal quadratic terms. – However, industrial optimization & estimation problems do not usually have an indefinite objective function Hessian although the Hessian of the Lagrangian most likely will be.
  • 18. Other Techniques found in IMPRESS  Differentiation Engine:  All 1st-order partial derivatives are either supplied analytically or computed numerically of analytical quality using complex-step differencing & graph-colouring. * The modeler or user is not responsible for providing derivatives.  Diagnostic Engine (Work-in-Progress ...):  Experience says that over 95% of IOP's have infeasibilities that occur in the linear part of the model where these can be quickly identified in LP primal presolve. The rest require artificial or what we call excursion variables in both the integer and nonlinear parts of the model and are generated automatically.
  • 19. IMPRESS.EXE (Console) • impress.exe -feed=“yourmodelhere.iml" -form=sparsic/symbolic -fit=discrete/distribute -filter=quantity/logistics/quality -foreign=*.ilp -focus=optimization/estimation -factor=1 -factorizer=y12m/ysmp/nspiv/pardiso -fork=lpsolve/xpress/ipopt/slpqpe/secqpe_sorve -flashback=flatfile -fanfare=1073741823
  • 20. IMPRESS Components • IMPRSserver.dll, IMPRSinteracter.dll, IMPRSinterfacer.dll, IMPRSmodeler.dll, IMPRSpresolver.dll, IMPRESS.EXE • Microsoft Visual Studio 10 and Intel Fortran/MKL Redistributables (free). • IAConstructer.py (2.3) (Flowsheet), UOPSS.sheet, unit_perimeter.shape, etc. • IAViewer.py (2.7) (Gantt/Trend Charts) • Python 2.3 and Python 2.7 (coexist) • Dia 0.97.2 (Gnome)