using impl for advanced planning & scheduling (aps) solutions

53
Using IMPL for Advanced Planning & Scheduling (APS) Solutions Industrial Algorithms LLC. 10/17/2013 Copyright, Industrial Algorithms LLC.

Upload: alkis-vazacopoulos

Post on 06-May-2015

347 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Using IMPL for Advanced

Planning & Scheduling (APS)

Solutions

Industrial Algorithms LLC.

10/17/2013 Copyright, Industrial Algorithms LLC.

Page 2: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Agenda

• IAL Introduction

• What is IMPL?

• Advanced Planning & Scheduling (APS)

• APS IMPL Examples

• APM IMPL Demonstration

• Links to Other Systems (IBM’s ODME)

2

Page 3: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Our Mission Statement

• To provide advanced modeling and solving

tools for developing and deploying industrial

applications in important decision-making

and data-mining areas.

• Our targets are:

– Operating companies in the process industries.

– Consulting service providers.

– Application software providers.

3

Page 4: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Our Focus

• IAL develops and markets IMPL, the world’s

leading software for flowsheet optimization in

both off and on-line environments.

• IAL provides in-house training for customers

along with complete software support and

consulting services.

• IAL provides Industrial Modeling Frameworks

(IMF’s) for many problem types which provides

a pre-project or pre-solution advantage.

4

Page 5: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

5

Our Development Directions

Improving Performance

Ease of Use

Types of Problems

Page 6: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

6

Our Development Directions

Ease of Use

Types of Problems

Improving Performance

Page 7: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Our Industrial Modeling Platform

(IMPL)

• IMPL stands for “Industrial Modeling & Programming Language” and is our proprietary platform.

– You can “interface”, “interact”, “model” and “solve” any process-chain, supply-chain, demand-chain and/or value-chain optimization problem.

• IMPL is suitable for:

– Advanced Planning & Scheduling (APS),

– Advanced Production/Process Optimization (APPO) and

– Advanced Performance Management (APM). 7

Page 8: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

• Problems are configured/coded using “sheets”

for each “shape” either by:

– Interfacing with our flat-file Industrial Modeling

Language (IML) or

– Interactively with our Industrial Programming

Language (IPL) embedded in a computer

programming language such as C, C++, C#, Java,

Python, Excel/VBA, etc.

– All data are keyed by UOPSS where the attributes

are specified using the Quantity, Logic & Quality

Phenomena (QLQP) including Time.

How do we configure/code

problems?

8

Page 9: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

How do we configure/code

problems? (cont’d)

9

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

! Constriction Data (Practices/Policies)

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

&sUnit,&sOperation,@rUpTiming_Lower,@rUpTiming_Upper

Blender,Crudeoil,3.0,

&sUnit,&sOperation,@rUpTiming_Lower,@rUpTiming_Upper

&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState,@rUpTiming_Lower,@rUpTiming_Upper

TK3,Crudeoil,o,,Pipestill,Fuels,i,,19.0,

TK4,Crudeoil,o,,Pipestill,Fuels,i,,19.0,

&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState,@rUpTiming_Lower,@rUpTiming_Upper

&sUnit,&sOperation,@rFillDrawDelaying_Lower,@rFillDrawDelaying_Upper

TK1,Light,9.0,

TK2,Heavy,9.0,

TK3,Crudeoil,3.0,

TK4,Crudeoil,3.0,

&sUnit,&sOperation,@rFillDrawDelaying_Lower,@rFillDrawDelaying_Upper

&sUnit,&sOperation,&sPort,&sState,@iMultiUse_Lower,@iMultiUse_Upper

Blender,Crudeoil,o,,1,1

Pipestill,Fuels,i,,1,1

&sUnit,&sOperation,&sPort,&sState,@iMultiUse_Lower,@iMultiUse_Upper

&sUnit,@sZeroDownTiming

Pipestill,on

&sUnit,@sZeroDownTiming

IML Frames (Sheets) in CSV Format

Page 10: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

How do we configure/code

problems? (cont’d)

10

IPL Functions in Python (CTYPES)

rtnstat = interacter.IMPLreceiveUO(uname,oname,utype,usubtype,uuse,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPS(uname,oname,pname,sname,ptype,psubtype,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPSUOPS(uname,oname,pname,sname,uname2,oname2,pname2,sname2,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOOG(uname,oname,ogname,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOGOGO(uname,ogname,ogname2,oname,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOrate(uname,oname,lower,upper,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPSteerate(uname,oname,pname,sname,lower,upper,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPStotalrate(uname,oname,pname,sname,lower,upper,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPSyield(uname,oname,pname,sname,c_double(1.0),c_double(1.0),c_double(0.0),IMPLkeep)

rtnstat = interacter.IMPLreceiveUOuptime(uname,oname,lower,upper,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPSflowweight(uname,oname,pname,sname,c_double(-1.),c_double(0.),c_double(0.),c_double(0.),IMPLkeep)

rtnstat = interacter.IMPLreceiveUOsetupopen(uname,oname,c_double(1.),c_double(-2.),IMPLkeep)

rtnstat = interacter.IMPLreceiveUOsetuporder(uname,oname,lower,upper,begin,end,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPSUOPSsetuporder(uname,oname,pname,sname,uname2,oname2,pname2,sname2,lower,upper,begin,end,IMPLkeep)

rtnstat = interacter.IMPLreceiveUOPSholduporder(uname,oname,pname,sname,lower,upper,target,begin,end,IMPLkeep)

Page 11: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

How do we represent the

flowsheet? Perimeters – Supply/Demand Points or Sources/Sinks

Pools – Inventory or Holdup

Batch-Processes – Variable-Size & Fixed-Time (VSFT) or Fixed-Size & Variable-Time (FSVT)

Continuous-Processes – Blenders, Splitters, Separators, Reactors , Fractionators & Black-Boxes

Parcels – Moveable/Transportable Inventory or Holdup with Round-Trip Travel-Time

Pipelines – Moveable/Transportable Inventory as FIFO (First-In-First-Out)

Port-In – Flows into a Unit (similar to a nozzle).

Port-Out – Flows out of a Unit

Dimensional-Processes – Geometry Transforms (Reels, Rolls, Sheets, Ingots, Logs, etc.)

Pilelines – Stackable Inventory as LIFO (Last-In-First-Out)

11

Page 12: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

• IMPL models the “logistics” (quantity & logic)

and “quality” (quantity & quality) sub-problems

independently but integrated.

– Quantity details include:

– Flows, holdups, yields, etc.

– Logic details include:

– Setups, startups, switchovers, shutdowns and sequence-

dependent switchovers, etc.

– Quality details include:

– Densities, components, properties, conditions and

coefficients i.e., catalyst activity, enthalpy, etc.

How do we formulate the

variables and constraints?

12

* Similar to Cires, Hooker & Yunes (July

2013)’s Meta-Constraints & Semantic

Typing *

Page 13: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

• IMPL has six system architecture components

we call SIIMPLE:

– Server, Interfacer (IML), Interacter (IPL), Modeler,

Presolver DLL’s and an Executable (the

executable can be coded in any computer

programming language that can call DLL’s/SO’s).

– Interfacer, Interacter and Modeler are domain-

specific whereas the Server, Presolver and

Executable are not i.e., they are domain-inspecific

or generic for any type of optimization problem.

What is our system architecture?

13

Page 14: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

14

Our Development Directions

Ease of Use

Types of Problems

Improving Performance

Page 15: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

15

Recent Projects & Applications

• Fuels Pipeline Optimization with DRA.

• Jet Fuel Supply Chain.

• Fast Moving Food Industry Planning and

Scheduling.

• On-line Diesel Blend Scheduling.

• Gasoline Blend Monitoring with ProSensus.

• Data Reconciliation Engine embedded in

STAN2 software from the Technical University

of Vienna (Civil Engineering).

Page 16: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

16

Industrial Modeling Frameworks

(IMF’s)

• Provides a “starting-point” or “head-start” for a

solution using IMPL.

• Enables implementing smaller projects with

larger benefits versus installing a large

program with small benefits.

• Reduces the “modeling-barrier” in terms of

developing and deploying solutions more

quickly and effectively i.e., we are faced with

both modeling and solving bottlenecks.

Page 17: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Advanced Planning & Scheduling

(APS)

• IMPL supports both planning and scheduling

optimization problems handling both logistics

and quality details in a coordinated manner.

• IMPL uses “discrete-time” with “big” (planning)

and “small” (scheduling) time-buckets for

logistics optimization.

• IMPL uses “discrete-time” and “distributed-time”

i.e., continuous-time/event-based using a

common/global time-grid for quality

optimization. 17

Page 18: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Crude-Oil Blend Scheduling

Optimization (CBSO-IMF)

18

Kelly, J.D., Mann, J.L., “Crude-Oil Blend Scheduling Optimization: An Application with Multi-Million Dollar Benefits”,

Hydrocarbon Processing, June/July, 2003.

Page 19: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

• Key logistics details …

– 3-h uptime (run-length) for blend header.

– 19-h uptime for tank-to-pipestill flows.

– 9-h fill-draw-delay (mixing-time) for storage tanks.

– 3-h fill-draw-delay for charge tanks.

– 1 flow-out at-a-time for the blend header.

– 1 flow-in at-a-time for the pipestill.

– 0-h downtime (continuous) for the pipestill.

19

Crude-Oil Blend Scheduling

Optimization (CBSO-IMF)

Page 20: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Crude-Oil Blend Scheduling

Optimization (CBSO-IMF)

20

Page 21: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Product Blend Scheduling

Optimization (PBSO-IMF)

21 Kelly, J.D., “Logistics: The Missing Link in Blend Scheduling Optimization”, Hydrocarbon Processing, June, 2006.

Page 22: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

• Key logistics details …

– 1-norm (abs) flow-smoothing on blend header flow.

– 6 to 8-h uptime for blend header.

– 6 to 8-h uptime for blender-to-tank flows.

– 4-h fill-draw-delay (mixing-time) for product tanks.

– 1 flow-out at-a-time for the blend header.

– 0 holdup on switching-when-empty for multi-product

tanks.

22

Product Blend Scheduling

Optimization (PBSO-IMF)

Page 23: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Product Blend Scheduling

Optimization (PBSO-IMF)

23

Page 24: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Refinery Process Scheduling

Optimization (RPSO-IMF)

24

Pipeline

Coke Drums

Rail

CDU

VDU

DCU

Page 25: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Refinery Process Scheduling

Optimization (RPSO-IMF)

25

Page 26: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Refinery Process Scheduling

Optimization (RPSO-IMF)

26

Page 27: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Refinery Process Scheduling

Optimization (RPSO-IMF)

27

Page 28: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

• Heterogeneous qualities i.e., volume-based flow

with weight-based property.

• Secondary/derived qualities i.e., ROAD =

(RON+MON) / 2, etc.

• Blend-index/transformed qualities i.e., RVPI =

RVP^1.25, etc. (pre/post-optimization)

• Formula/conditioned qualities i.e., Prop(Cond’s)

= a + b*Cond1^1.3 + c*LOG(Cond2) + …

• Assay/extrinsic qualities i.e., crude-oil

fractionation using “pooled” micro-cuts, etc. 28

Key Quality Details …

Page 29: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

29

Key Quality Details … (cont’d) Properties-&sMacro,@sValue

E200,MIN(MAX(KIP(200:T05;5;T95;95);0);100)

E250,MIN(MAX(LIP(250:T05;5;T95;95);0);100)

E350,MIN(MAX(SIP(350:T05;5;T95;95);0);100)

FlashIndex,((1.8*Flash+491.7)/600)^(1/0.045)*10000

FlashInverse,(600*EXP(0.045*LN(Flash/10000))-491.7)/1.8

Properties-&sMacro,@sValue

&sCut,@rInitialPoint_Value,@rFinalPoint_Value

CH4,-161.524,-161.524

C2H5,-88.599,-88.599

C3H8,-42.101,-42.101

IC4H10,-11.729,-11.729

NC4H10,-0.501,-0.501

IC5H12,27.878,27.878

NC5H12,36.059,36.059

CUT40,36.059,45

CUT50,45,55

CUT60,55,65

CUT70,65,75

CUT80,75,85

CUT90,85,95

CUT100,95,105

&sCut,@rInitialPoint_Value,@rFinalPoint_Value

&sComponent,&sCut,&sProperty,@rProperty_Value

C1,CH4,S,0

,C2H5,S,0

,C3H8,S,0

,IC4H10,S,0

,NC4H10,S,0

,IC5H12,S,0

,NC5H12,S,0

,CUT40,S,1.97108E-05

,CUT50,S,8.99859E-05

,CUT60,S,0.000276981

,CUT70,S,0.000453468

,CUT80,S,0.000623969

,CUT90,S,0.000800151

,CUT100,S,0.000842744

&sComponent,&sCut,&sProperty,@rProperty_Value

&sCoefficient,@sType,@sPath_Name,@sLibrary_Name,@sFunction_Name,@iNumber_Conditions,@rPerturb_Size,@sCondition_Names

HOTH,dynamic,c:\IndustrialAlgorithms\PhysProp\Debug\,steam67_H,steam67_H,1,1e-6,HOTT

COLDH,dynamic,c:\IndustrialAlgorithms\PhysProp\Debug\,steam67_H,steam67_H,1,1e-6,COLDT

WARMH,dynamic,c:\IndustrialAlgorithms\PhysProp\Debug\,steam67_H,steam67_H,1,1e-6,WARMT

&sCoefficient,@sType,@sPath_Name,@sLibrary_Name,@sFunction_Name,@iNumber_Conditions,@rPerturb_Size,@sCondition_Names

Page 30: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

• This is a “primal heuristic” which has been used

intuitively and naturally in industry for decades

to find “globally feasible” solutions.

• “Conjunction Values” are time-varying

parameters which “guide” each sub-problem

solution where “cuts” can also be added to

avoid known infeasible and/or inferior areas of

the search-space.

Key Solving Details …

Quality (NLP) Logistics (MILP)

Lower, Upper & Target Bounds on Yields

Lower & Upper Bounds on Setups & Startups

Conjunction Values

30

Page 31: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

31

Key Solving Details … (cont’d)

• For NLP (quality) we have bindings to:

– CONOPT, IPOPT, KNITRO, XPRESS-SLP as well

as our “home-grown” SLPQPE.

– SLPQPE can use all previously mentioned LP’s as

its sub-solver. If the objective function has

quadratic terms then a QP is called at each major

iteration (for nonlinear control, data reconciliation &

parameter estimation problems).

• For MILP (logistics) we have bindings to:

– COINMP, GLPK, LPSOLVE, SCIP, CPLEX,

GUROBI, LINDO & XPRESS.

Page 32: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

32

Our Development Directions

Ease of Use

Types of Problems

Improving Performance

Page 33: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Performance Issues

• Requirement to solve large-scale problems.

• Exploit continuous advancements in LP, QP

and MILP algorithms with parallelism.

• Efficient memory management.

• Include presolving before matrix is transferred.

• Support for various nonlinear global

optimization techniques to find better solutions.

• Allow for ad hoc/customized decomposition

strategies and “polylithic” modeling. 33

Page 34: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

34

Key Conceptual Details …

• “Positioning” i.e., “fix/lock” any unit-operation

and/or stream setup and/or flow in any time-

period – similar to user or rule-based heuristics.

• “Partitioning” i.e., “divide/decompose” the

problem into several sub-problems either

hierarchically, structurally, temporally or

phenomenologically.

• “Planuling” i.e., “plan” faster unit-operations

and “schedule” slower unit-operations.

Page 35: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

35

Key Conceptual Details … (cont’d)

• “Phasing” (product-wheel) i.e., force

“operation-to-operation” sequencing on a unit.

• “Pointing” i.e., add “extra” time-points to

increase the accuracy and articulation of the

solution.

• “Penalting” i.e., add “excursion” variables to

quantity, logic and quality variable bound

constraints to aid in the diagnosis of

infeasibilities and inconsistencies.

Page 36: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

36

Advanced Performance

Management (APM)

• Employs Nonlinear and Dynamic Data

Reconciliation and Regression (NDDRR)

technology also known as “Error-in-Variables

Method” (EVM) & “Moving Horizon Estimation”

(MHE) with sensitivity information.

• APM includes:

– Advanced Production Accounting (APA),

– Advanced Property Tracking/Tracing (APT) and

– Advanced Process Monitoring (APM).

Page 37: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

37

• More accurate and timely diagnostics of “bad”

instrument readings i.e., less type I and II

errors (false negatives and positives).

• More precise estimates of parameters or

unmeasured variables i.e., better vetting of

“unobservable” variables with loose

confidence-intervals spanning zero (0).

• Easier modeling, data integration and system

implementation allowing for more parts of the

plant to be monitored more frequently.

APM Benefits

Page 38: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

38

APM Details • Structured flowsheet modeling i.e., variable

pointer = (position,property,period) tuple.

• Statistical diagnostic information:

– Validation i.e., Observability/Redundancy

– Variance i.e., Square of Standard-Deviation.

– Vetistic i.e., Maximum-Power/Student-t.

– Valuation i.e., 95% Confidence Intervals.

• System architecture SIIMPLE can be used in

both on & off-line environments embedded

into any computer programming language.

Page 39: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

APM in Excel/VBA

39

Page 40: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

40 40

Links to Other Systems (ODM

Enterprise and CPLEX)

Engines and Tools

CPLEX Optimization High-performance mathematical and constraint programming solvers, modeling language, and development environment

Solution Platform

ODM Enterprise Build and deploy analytical decision support applications based on optimization technology

Advanced

Planning & Scheduling

Page 41: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

41

(OR)

(IT)

Embeds all CPLEX Optimization Studio

Reporting

Data Integration

Data Modeling

ODM Enterprise IDE

ODM Enterprise

Optimization Server/Engine

ODM Enterprise

Client & Planner

Optimization Modeling,

Tuning, Debugging

Application UI Configuration (LoB)

Development Deployment

Application UI Customization

Business Use

Custom GUI

Batch process

ODM Enterprise

Data Server

ODME System Architecture

Page 42: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

42

ODME-IMPL-CPLEX Integration

• A domain-specific data model was created in

ODME using the usual master-data and

transactional-data partitions.

• A mapping between IMPL’s data model and

ODME’s data model was established.

• Java code was written to export IMPL’s IML file

(Industrial Modeling Language).

• SWIG Java was used to create a Java Native

Inerface (JNI) to IMPL.

Page 43: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

43

ODME-IMPL-CPLEX Integration

(cont’d)

• Java code was written to call IMPL-CPLEX

using CPLEX’s API’s.

• Java code was written to access the solution(s)

from IMPL-CPLEX and the solution-data was

populated into ODME using IMPL’s IPL

(Industrial Programming Language).

Page 44: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

44

Data-Model in ODME

Page 45: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

45

Master-Data

Page 46: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

46

Transactional-Data

Page 47: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

47

Gantt Chart for Reference

Page 48: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

48

Trend Plots for Reference

Page 49: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

49

Scenario Data w/ Reference

Page 50: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

50

Scenario Data w/ Reference

Page 51: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Implementation & Licensing

Options

• IMF – single application.

• IMF Library (IMFL) – multiple applications.

• IMPL – many diverse applications.

• Enterprise-Wide/Corporate Licensing.

• Third-Party Solver Licenses.

51

Page 52: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Servicing Options

• Customized IMF’s with Consulting.

• Training and Support.

• Application & Site-Specific Servicing.

52

Page 53: Using IMPL for Advanced Planning & Scheduling (APS) Solutions

Thank You!

53