SlideShare a Scribd company logo
Constructing the IMPL Flowsheet Using Dia with Python
(IMPL-FlowsheetDiaPy)
i n d u s t r IAL g o r i t h m s LLC. (IAL)
www.industrialgorithms.com
May 2014
Introduction
Presented in this document is a short description on how to construct a flowsheet or
superstructure using the open-source Dia as the drawing tool (similar to Microsoft Visio) and the
open-source Python as the programming language to write out the construction data of the
flowsheet into a UPS file.
The benefit of using a drawing package such as Dia is that it is a graphical or visual
representation of the construction and connectivity data of the industrial optimization problem
(IOP) with respect to its flow network, graph or diagram i.e., nodes and directed arcs. The
alternative is to configure or populate the structures, shapes or objects in a spreadsheet or data
file which can be problematic and difficult to interpret i.e., “a picture is worth a thousand words”.
Flowsheet and UOPSS
A flowsheet is a common term used in chemical engineering to describe the nodes and directed
arcs of a graph, network or superstructure and is widely used in process design simulators. The
IMPL flowsheet is similar but in order to more comprehensively model or construct flowsheets
suitable for advanced planning and scheduling (APS), advanced production/process control
(APC) and advanced production/process monitoring (APM) applications for example, we use the
Unit-Operation-Port-State Superstructure (UOPSS) found in Kelly 2004, 2005, Zyngier and
Kelly, 2009, 2012 and Kelly and Zyngier 2015.
Figure 1. UOPSS Sheet and Shapes in Dia.
Figure 1 provides a list of the various UOPSS shapes available in Dia and these can be
arranged in any arbitrary topological order where the unit-operation shapes can only be
connected to in- and out-port-state shapes and out-port-states (upstream) can only be
connected to in-port-states (downstream) as further described below.
Dia and UOPSS
As shown above in Figure 1, Dia provides the ability to create customized drawing objects or
shapes and to collect them into a sheet similar to a stencil in Microsoft Visio. It provides the
capability to add or configure custom properties or extra attributes assigned to each object and
IMPL uses this to configure the various UOPSS names and types directly within Dia.
Figure 2 shows a simple flowsheet with an inbound “Supply” perimeter and an outbound
“Demand” perimeter (unit) for a “Feed” and a “Product” (operation) respectively. There are two
internal streams from the unit-operations to/from the port-states and one external stream from
the out-port-state “out” to the in-port-state “in”. This is a simple supply-demand chain flowsheet
given that there is no production or transportation value-add i.e., no pools, processes, pipelines,
etc.
Figure 2. Simple Supply-Demand Chain Flowsheet with no Value-Add.
There are certain construction rules or protocols that are now described using this simple
flowsheet as illustration.
Rule #1 - units and ports must have non-blank names. Operation and state names can be left
blank but unit and port names must be populated else a red “NULL” will appear as shown in
Figure 3 if we do not configure the name “Supply” for the first perimeter unit. Essentially we are
ensuring that the “physical” network (unit-ports) is completely configured whereas the
“procedural” network (operation-states) can be partially configured. The cross-product or
combination of the two networks forms what we call the “projectional” superstructure.
Figure 3. Rule #1 Violated.
Rule #2 - port-states must be connected to at least one and only one unit-operation. A port-
state must be connected to a unit-operation else a red “NEGLECTED” will appear as shown in
Figure 4 if we do not connect it to one (and only one) unit-operation shape. Connecting the
same port-state pair shape instance to multiple unit-operation shape instances in the Dia
flowsheet is possible i.e., no warning/error assertion will be raised but this should not be done.
Figure 4. Rule #2 Violated.
Rule #3 - out-port-states may only be connected to in-port-states and must be connected at
both ends (head/tail, from/to and source/destination). An out-port-state must be connected to
an in-port-state at both ends else a red “NEGLECTED” will appear as shown in Figure 5. As
mentioned in Rule #2, a port-state must be connected to only one unit-operation but it does not
necessarily need to be connected to an upstream or downstream port-state i.e., the unit-
operation-port-state tuple has an in- or out-degree of zero (0). This is why only the external
stream is highlighted and not also the in-port-state in Figure 5.
Figure 5. Rule #3 Violated.
There are two other rules for the construction of the flowsheet as follows however these rules
are not strictly enforced in Dia although they will be highlighted by IMPL during the interfacing,
interacting, modeling and presolving stages.
Rule #4 - port-state pairs must be unique locally on a unit-operation, and
Rule #5 - unit-operation pairs must be unique globally in a problem.
IALConstructer.py and Python 2.3
The code behind which cycles or loops through all of the Dia objects and extracts the flowsheet
details or UOPSS structures with the custom attributes and writes out the UPS file (Appendix A)
is called IALConstructer.py where its source code is available as part of the IMPL installation
and is provided “as-is” according to the open-source licensing agreements. Unfortunately the
Dia scripting language is coded in Python 2.3 only where later versions of Python can
fortunately co-exist with the earlier Python 2.3 version.
The IALConstructer.py source code also provides three (3) IML aliases: “ALLPARTS” for unit-
operation pairs or duples, “ALLINPORTS” and “ALLOUTPORTS” for unit-operation-port-state
quadruples (internal streams) and “ALLPATHS” for unit-operation-port-state-unit-operation-port-
state octuples (external streams). These aliases are useful to configure the capacity data and
other model and cycle data quickly and easily in the IML file.
References
Kelly, J.D., "Production modeling for multimodal operations", Chemical Engineering Progress,
February, 44, (2004).
Kelly, J.D., "The unit-operation-stock superstructure (UOSS) and the quantity-logic-quality
paradigm (QLQP) for production scheduling in the process industries", In: MISTA 2005
Conference Proceedings, 327, (2005).
Zyngier, D., Kelly, J.D., "Multi-product inventory logistics modeling in the process industries", In:
W. Chaovalitwonse, K.C. Furman and P.M. Pardalos, Eds., Optimization and Logistics
Challenges in the Enterprise", Springer, 61-95, (2009).
Zyngier, D., Kelly, J.D., "UOPSS: a new paradigm for modeling production planning and
scheduling systems", ESCAPE 22, June, (2012).
Kelly, J.D., Zyngier, D., "Unit operation nonlinear modeling for planning and scheduling
applications", K.C. Furman et.al. (eds.), Optimization and Analytics in the Oil & Gas Industries,
Springer Science, (2015).
Industrial Algorithms LLC., “Industrial Modeling & Programming Language (IMPL) Installation
Manual”, IAL-IMPL-IMW-1-0.docx.
Appendix A – SimpleFlowsheet.UPS File
i M P l (c)
Copyright and Property of i n d u s t r I A L g o r i t h m s LLC.
checksum,10
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Unit-Operation-Port-State-Superstructure (UOPSS) *.UPS File.
! (This file is automatically generated from the Python program IALConstructer.py)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
&sUnit,&sOperation,@sType,@sSubtype,@sUse
Demand,Product,perimeter,,
Supply,Feed,perimeter,,
&sUnit,&sOperation,@sType,@sSubtype,@sUse
! Number of UO shapes = 2
&sAlias,&sUnit,&sOperation
ALLPARTS,Demand,Product
ALLPARTS,Supply,Feed
&sAlias,&sUnit,&sOperation
&sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype
Demand,Product,in,,in,
Supply,Feed,out,,out,
&sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype
! Number of UOPS shapes = 2
&sAlias,&sUnit,&sOperation,&sPort,&sState
ALLINPORTS,Demand,Product,in,
ALLOUTPORTS,Supply,Feed,out,
&sAlias,&sUnit,&sOperation,&sPort,&sState
&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState
Supply,Feed,out,,Demand,Product,in,
&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState
! Number of UOPSPSUO shapes = 1
!&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState
Supply,Feed,out,,Demand,Product,in,
!&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState
&sAlias,&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState
ALLPATHS,Supply,Feed,out,,Demand,Product,in,
&sAlias,&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState

More Related Content

PDF
Pooling optimization problem
PDF
Lesson05 从多表中查询数据
PDF
Sql scripting sorcerypaper
PDF
PL/SQL CONDICIONALES Y CICLOS
PDF
PPT
plsql Les07
PPT
The Database Environment Chapter 15
Pooling optimization problem
Lesson05 从多表中查询数据
Sql scripting sorcerypaper
PL/SQL CONDICIONALES Y CICLOS
plsql Les07
The Database Environment Chapter 15

What's hot (14)

PDF
Art of indexing_in_o8i
PDF
Lesson04 学会使用分组函数
PDF
Pl sql-ch1
PPT
The Database Environment Chapter 8
DOC
CIS 336 Focus Dreams/newtonhelp.com
PPT
Ebook8
DOC
CIS 336 Start With a Dream /newtonhelp.com
PDF
Speeding up queries with semi joins and anti-joins
DOCX
Sql interview questions
PPTX
Unit1
PPT
1 - Introduction to PL/SQL
PPT
PPTX
SQL for ETL Testing
Art of indexing_in_o8i
Lesson04 学会使用分组函数
Pl sql-ch1
The Database Environment Chapter 8
CIS 336 Focus Dreams/newtonhelp.com
Ebook8
CIS 336 Start With a Dream /newtonhelp.com
Speeding up queries with semi joins and anti-joins
Sql interview questions
Unit1
1 - Introduction to PL/SQL
SQL for ETL Testing
Ad

Viewers also liked (20)

PPTX
Instructional picture
PPT
Stumble upon
PPTX
המעצבים עבודות חוץ
PPT
Technology and Education
PDF
Cwt Price List (31 March 2012)
PPTX
המעצבים עבודות חוץ
PPTX
Letra s 1° basico
PPTX
2 apartandome de dios
PPTX
Iman bio
PPTX
Technology and education 1.ppt
ODP
5 ano b
PPT
исследовательская культура школьника2222
PDF
Lenox Advisors Corp Brochure
PDF
尽管去做——无压工作的艺术
PDF
Ivo Totev
PDF
Eqf iserve jobs-descriptions
PPTX
Siglos xvi y xvii [reparado]
PPSX
Pp reunión pedagógica-3°-4° básicos 2016
PPT
Підсумки міського етапу Всеукраїнського конкурсу "Космічні фантазії"
PPTX
Mmm which one
Instructional picture
Stumble upon
המעצבים עבודות חוץ
Technology and Education
Cwt Price List (31 March 2012)
המעצבים עבודות חוץ
Letra s 1° basico
2 apartandome de dios
Iman bio
Technology and education 1.ppt
5 ano b
исследовательская культура школьника2222
Lenox Advisors Corp Brochure
尽管去做——无压工作的艺术
Ivo Totev
Eqf iserve jobs-descriptions
Siglos xvi y xvii [reparado]
Pp reunión pedagógica-3°-4° básicos 2016
Підсумки міського етапу Всеукраїнського конкурсу "Космічні фантазії"
Mmm which one
Ad

Similar to Constructing the IMPL Flowsheet Using Dia with Python (IMPL-FlowsheetDiaPy) (20)

PDF
Advanced Production Accounting of a Flotation Plant
PDF
Advanced property tracking Industrial Modeling Framework
PDF
Impl reference manual_for_quantities
PDF
Capital Investment Industrial Modeling Framework - IMPRESS
PDF
Oracle DBA interview_questions
PDF
Advanced Production Accounting
PDF
Maritime Industrial Modeling Framework - IMPRESS
PDF
Design and Implementation of Automated Visualization for Input/Output for Pro...
PDF
Quick Development and Deployment of Industrial Applications using Excel/VBA, ...
PDF
Advanced Production Accounting of an Olefins Plant Industrial Modeling Framew...
PDF
ACAT08_040
PDF
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...
PPT
Data Exchange Standards & STEP, EXPRESS & EXPRESS-G
PDF
Planuling & Phasing
PDF
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
PDF
An ai planning approach for generating
PPT
Object oriented design-UNIT V
PDF
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
PDF
Impl reference manual_for_logic_logistics
PPTX
Estimation Techniques V1.0
Advanced Production Accounting of a Flotation Plant
Advanced property tracking Industrial Modeling Framework
Impl reference manual_for_quantities
Capital Investment Industrial Modeling Framework - IMPRESS
Oracle DBA interview_questions
Advanced Production Accounting
Maritime Industrial Modeling Framework - IMPRESS
Design and Implementation of Automated Visualization for Input/Output for Pro...
Quick Development and Deployment of Industrial Applications using Excel/VBA, ...
Advanced Production Accounting of an Olefins Plant Industrial Modeling Framew...
ACAT08_040
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industri...
Data Exchange Standards & STEP, EXPRESS & EXPRESS-G
Planuling & Phasing
AN AI PLANNING APPROACH FOR GENERATING BIG DATA WORKFLOWS
An ai planning approach for generating
Object oriented design-UNIT V
MANAGING AND ANALYSING SOFTWARE PRODUCT LINE REQUIREMENTS
Impl reference manual_for_logic_logistics
Estimation Techniques V1.0

More from Alkis Vazacopoulos (20)

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

Recently uploaded (20)

PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
PPT on Performance Review to get promotions
PPT
introduction to datamining and warehousing
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPT
Mechanical Engineering MATERIALS Selection
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
Sustainable Sites - Green Building Construction
PPTX
additive manufacturing of ss316l using mig welding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
Construction Project Organization Group 2.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Internet of Things (IOT) - A guide to understanding
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
CYBER-CRIMES AND SECURITY A guide to understanding
PPT on Performance Review to get promotions
introduction to datamining and warehousing
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
bas. eng. economics group 4 presentation 1.pptx
Mechanical Engineering MATERIALS Selection
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Sustainable Sites - Green Building Construction
additive manufacturing of ss316l using mig welding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Construction Project Organization Group 2.pptx
CH1 Production IntroductoryConcepts.pptx
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Model Code of Practice - Construction Work - 21102022 .pdf
Embodied AI: Ushering in the Next Era of Intelligent Systems
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Internet of Things (IOT) - A guide to understanding

Constructing the IMPL Flowsheet Using Dia with Python (IMPL-FlowsheetDiaPy)

  • 1. Constructing the IMPL Flowsheet Using Dia with Python (IMPL-FlowsheetDiaPy) i n d u s t r IAL g o r i t h m s LLC. (IAL) www.industrialgorithms.com May 2014 Introduction Presented in this document is a short description on how to construct a flowsheet or superstructure using the open-source Dia as the drawing tool (similar to Microsoft Visio) and the open-source Python as the programming language to write out the construction data of the flowsheet into a UPS file. The benefit of using a drawing package such as Dia is that it is a graphical or visual representation of the construction and connectivity data of the industrial optimization problem (IOP) with respect to its flow network, graph or diagram i.e., nodes and directed arcs. The alternative is to configure or populate the structures, shapes or objects in a spreadsheet or data file which can be problematic and difficult to interpret i.e., “a picture is worth a thousand words”. Flowsheet and UOPSS A flowsheet is a common term used in chemical engineering to describe the nodes and directed arcs of a graph, network or superstructure and is widely used in process design simulators. The IMPL flowsheet is similar but in order to more comprehensively model or construct flowsheets suitable for advanced planning and scheduling (APS), advanced production/process control (APC) and advanced production/process monitoring (APM) applications for example, we use the Unit-Operation-Port-State Superstructure (UOPSS) found in Kelly 2004, 2005, Zyngier and Kelly, 2009, 2012 and Kelly and Zyngier 2015. Figure 1. UOPSS Sheet and Shapes in Dia.
  • 2. Figure 1 provides a list of the various UOPSS shapes available in Dia and these can be arranged in any arbitrary topological order where the unit-operation shapes can only be connected to in- and out-port-state shapes and out-port-states (upstream) can only be connected to in-port-states (downstream) as further described below. Dia and UOPSS As shown above in Figure 1, Dia provides the ability to create customized drawing objects or shapes and to collect them into a sheet similar to a stencil in Microsoft Visio. It provides the capability to add or configure custom properties or extra attributes assigned to each object and IMPL uses this to configure the various UOPSS names and types directly within Dia. Figure 2 shows a simple flowsheet with an inbound “Supply” perimeter and an outbound “Demand” perimeter (unit) for a “Feed” and a “Product” (operation) respectively. There are two internal streams from the unit-operations to/from the port-states and one external stream from the out-port-state “out” to the in-port-state “in”. This is a simple supply-demand chain flowsheet given that there is no production or transportation value-add i.e., no pools, processes, pipelines, etc. Figure 2. Simple Supply-Demand Chain Flowsheet with no Value-Add. There are certain construction rules or protocols that are now described using this simple flowsheet as illustration. Rule #1 - units and ports must have non-blank names. Operation and state names can be left blank but unit and port names must be populated else a red “NULL” will appear as shown in Figure 3 if we do not configure the name “Supply” for the first perimeter unit. Essentially we are ensuring that the “physical” network (unit-ports) is completely configured whereas the “procedural” network (operation-states) can be partially configured. The cross-product or combination of the two networks forms what we call the “projectional” superstructure. Figure 3. Rule #1 Violated. Rule #2 - port-states must be connected to at least one and only one unit-operation. A port- state must be connected to a unit-operation else a red “NEGLECTED” will appear as shown in Figure 4 if we do not connect it to one (and only one) unit-operation shape. Connecting the same port-state pair shape instance to multiple unit-operation shape instances in the Dia flowsheet is possible i.e., no warning/error assertion will be raised but this should not be done.
  • 3. Figure 4. Rule #2 Violated. Rule #3 - out-port-states may only be connected to in-port-states and must be connected at both ends (head/tail, from/to and source/destination). An out-port-state must be connected to an in-port-state at both ends else a red “NEGLECTED” will appear as shown in Figure 5. As mentioned in Rule #2, a port-state must be connected to only one unit-operation but it does not necessarily need to be connected to an upstream or downstream port-state i.e., the unit- operation-port-state tuple has an in- or out-degree of zero (0). This is why only the external stream is highlighted and not also the in-port-state in Figure 5. Figure 5. Rule #3 Violated. There are two other rules for the construction of the flowsheet as follows however these rules are not strictly enforced in Dia although they will be highlighted by IMPL during the interfacing, interacting, modeling and presolving stages. Rule #4 - port-state pairs must be unique locally on a unit-operation, and Rule #5 - unit-operation pairs must be unique globally in a problem. IALConstructer.py and Python 2.3 The code behind which cycles or loops through all of the Dia objects and extracts the flowsheet details or UOPSS structures with the custom attributes and writes out the UPS file (Appendix A) is called IALConstructer.py where its source code is available as part of the IMPL installation and is provided “as-is” according to the open-source licensing agreements. Unfortunately the Dia scripting language is coded in Python 2.3 only where later versions of Python can fortunately co-exist with the earlier Python 2.3 version. The IALConstructer.py source code also provides three (3) IML aliases: “ALLPARTS” for unit- operation pairs or duples, “ALLINPORTS” and “ALLOUTPORTS” for unit-operation-port-state quadruples (internal streams) and “ALLPATHS” for unit-operation-port-state-unit-operation-port- state octuples (external streams). These aliases are useful to configure the capacity data and other model and cycle data quickly and easily in the IML file. References
  • 4. Kelly, J.D., "Production modeling for multimodal operations", Chemical Engineering Progress, February, 44, (2004). Kelly, J.D., "The unit-operation-stock superstructure (UOSS) and the quantity-logic-quality paradigm (QLQP) for production scheduling in the process industries", In: MISTA 2005 Conference Proceedings, 327, (2005). Zyngier, D., Kelly, J.D., "Multi-product inventory logistics modeling in the process industries", In: W. Chaovalitwonse, K.C. Furman and P.M. Pardalos, Eds., Optimization and Logistics Challenges in the Enterprise", Springer, 61-95, (2009). Zyngier, D., Kelly, J.D., "UOPSS: a new paradigm for modeling production planning and scheduling systems", ESCAPE 22, June, (2012). Kelly, J.D., Zyngier, D., "Unit operation nonlinear modeling for planning and scheduling applications", K.C. Furman et.al. (eds.), Optimization and Analytics in the Oil & Gas Industries, Springer Science, (2015). Industrial Algorithms LLC., “Industrial Modeling & Programming Language (IMPL) Installation Manual”, IAL-IMPL-IMW-1-0.docx. Appendix A – SimpleFlowsheet.UPS File i M P l (c) Copyright and Property of i n d u s t r I A L g o r i t h m s LLC. checksum,10 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Unit-Operation-Port-State-Superstructure (UOPSS) *.UPS File. ! (This file is automatically generated from the Python program IALConstructer.py) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@sType,@sSubtype,@sUse Demand,Product,perimeter,, Supply,Feed,perimeter,, &sUnit,&sOperation,@sType,@sSubtype,@sUse ! Number of UO shapes = 2 &sAlias,&sUnit,&sOperation ALLPARTS,Demand,Product ALLPARTS,Supply,Feed &sAlias,&sUnit,&sOperation &sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype Demand,Product,in,,in, Supply,Feed,out,,out, &sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype ! Number of UOPS shapes = 2 &sAlias,&sUnit,&sOperation,&sPort,&sState ALLINPORTS,Demand,Product,in, ALLOUTPORTS,Supply,Feed,out, &sAlias,&sUnit,&sOperation,&sPort,&sState &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState Supply,Feed,out,,Demand,Product,in, &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState ! Number of UOPSPSUO shapes = 1 !&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState Supply,Feed,out,,Demand,Product,in, !&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState &sAlias,&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState ALLPATHS,Supply,Feed,out,,Demand,Product,in, &sAlias,&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState