The IPL code can be programmed in any computer programming language that can interact with dynamic link or shared object libraries and then can be used to call our IMPL modeling and solving platform. IMPL is an acronym for Industrial Modeling and Programming Language provided by Industrial Algorithms LLC. The IPL code allows the user to configure and capture the necessary data to model and solve large-scale and complex industrial optimization problems (IOP's) such as planning, scheduling, control and data reconciliation and regression in either off or on-line environments. IPL, also known as the IMPL Interacter, is a complement to IML (known as the IMPL Interfacer) which means that they can be combined together in any arrangement or combination. That is, a portion of the model can be configured in IML/IPL and the remaining portion can be configured in IPL/IML. In addition, all terminology and nomenclature used in IPL are consistent with IML given that their data is interchangeable and exchangeable. Ultimately, once all of the static and dynamic model data have been configured using IML and IPL, then IMPL’s Modeler will create or generate the necessary IMPL sets, lists, parameters, formulas, variables and constraints (as well as the derivatives and expressions).
All integers are 4-bytes (long), all reals are 8-bytes (double precision) and all strings are 64-bytes unless otherwise stated. The return status for the integer functions is zero (0) for successful and non-zero for unsuccessful which usually implies that the unit-operation-port-state names and/or the quality name was not recognized.
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Industrial Programming Language (IPL) Reference Manual for Quantities, Logic/Logistics & Qualities
1. i M P l
Industrial Programming Language (IPL)
"Reference Manual for Quantities, Logic/Logistics & Qualities"
i n d u s t r I A L g o r i t h m s LLC.
www.industrialgorithms.com
Version 1.0
July 2014
IAL-IMPL-IPL-RMQLQ-1-0.docx
Copyright and Property of Industrial Algorithms LLC.
2. Introduction
The IPL code can be programmed in any computer programming language that can interact with
dynamic link or shared object libraries and then can be used to call our IMPL modeling and solving
platform. IMPL is an acronym for Industrial Modeling and Programming Language provided by
Industrial Algorithms LLC. The IPL code allows the user to configure and capture the necessary data to
model and solve large-scale and complex industrial optimization problems (IOP's) such as planning,
scheduling, control and data reconciliation and regression in either off or on-line environments. IPL,
also known as the IMPL Interacter, is a complement to IML (known as the IMPL Interfacer) which means
that they can be combined together in any arrangement or combination. That is, a portion of the model
can be configured in IML/IPL and the remaining portion can be configured in IPL/IML. In addition, all
terminology and nomenclature used in IPL are consistent with IML given that their data is
interchangeable and exchangeable. Ultimately, once all of the static and dynamic model data have been
configured using IML and IPL, then IMPL’s Modeler will create or generate the necessary IMPL sets, lists,
parameters, formulas, variables and constraints (as well as the derivatives and expressions).
All integers are 4-bytes (long), all reals are 8-bytes (double precision) and all strings are 64-bytes unless
otherwise stated. The return status for the integer functions is zero (0) for successful and non-zero for
unsuccessful which usually implies that the unit-operation-port-state names and/or the quality name
was not recognized.
Static Model Data (Non-Time-Varying)
Static model data are used to configure the model and are non-time-varying (immutable or constant)
over the past/present and future time-horizons.
Receive the past/present and future time-horizon durations including the discrete-time time-period
duration.
integer function IMPLreceiveT(dthp,dthf,dtp)
real dthp
real dthf
real dtp
3. Receive the unit and operation names, its type, subtype and use.
integer function IMPLreceiveUO(uname,oname,
type,subtype,use,status)
string uname
string oname
string type
string subtype
string use
integer status
Receive the unit, operation and operation-group names.
integer function IMPLreceiveUOOG(uname,oname,ogname,status)
string uname
string oname
string ogname
integer status
Receive the from unit-operation-group and the to unit-operation-group names with the repetitive
maintenance operation name.
integer function IMPLreceiveUOGOGO(uname,ogname,ogname2,oname,status)
string uname
string ogname
string ogname2
string oname
integer status
Receive the unit, operation, port and state names, its type and subtype.
integer function IMPLreceiveUOPS(uname,oname,pname,sname,
type,subtype,status)
string uname
string oname
string pname
string sname
string type
string subtype
integer status
Receive the from unit-operation-port-state and the to the unit-operation-port-state names.
integer function IMPLreceiveUOPSUOPS(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,status)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
integer status
Receive the unit-operation rate lower and upper bounds.
4. integer function IMPLreceiveUOrate(uname,oname,
lo,up,status)
string uname
string oname
real lo
real up
integer status
Receive the unit-operation holdup lower and upper bounds.
integer function IMPLreceiveUOholdup(uname,oname,
lo,up,status)
string uname
string oname
real lo
real up
integer status
Receive the unit-operation flow profit, performance and penalty weights.
integer function IMPLreceiveUOflowweight(uname,oname,
prowt,per1wt,per2wt,penwt,status)
string uname
string oname
real prowt
real per1wt
real per2wt
real penwt
integer status
Receive the unit-operation holdup profit, performance and penalty weights.
integer function IMPLreceiveUOholdupweight(uname,oname,
prowt,per1wt,per2wt,penwt,status)
string uname
string oname
real prowt
real per1wt
real per2wt
real penwt
integer status
Receive the unit-operation setup profit, performance and penalty weights.
integer function IMPLreceiveUOsetupweight(uname,oname,
prowt,per1wt,per2wt,penwt,status)
string uname
string oname
real prowt
real per1wt
real per2wt
real penwt
integer status
Receive the unit-operation-port-state tee rate lower and upper bounds.
5. integer function IMPLreceiveUOPSteerate(uname,oname,pname,sname,
lo,up,status)
string uname
string oname
string pname
string sname
real lo
real up
integer status
Receive the unit-operation-port-state total rate lower and upper bounds.
integer function IMPLreceiveUOPStotalrate(uname,oname,pname,sname,
lo,up,status)
string uname
string oname
string pname
string sname
real lo
real up
integer status
Receive the unit-operation-port-state holdup lower and upper bounds.
integer function IMPLreceiveUOPSholdup(uname,oname,pname,sname,
lo,up,status)
string uname
string oname
string pname
string sname
real lo
real up
integer status
Receive the unit-operation-port-state yield lower and upper bounds and fixed value.
integer function IMPLreceiveUOPSholdup(uname,oname,pname,sname,
lo,up,fxd,status)
string uname
string oname
string pname
string sname
real lo
real up
real fxd
integer status
Receive the unit-operation-port-state flow profit, performance and penalty weights.
integer function IMPLreceiveUOPSflowweight(uname,oname,pname,sname,
prowt,per1wt,per2wt,penwt,status)
string uname
string oname
string pname
string sname
real prowt
real per1wt
real per2wt
real penwt
integer status
6. Receive the unit-operation-port-state-unit-operation-port-state flow profit, performance and penalty
weights.
integer function IMPLreceiveUOPSflowweight(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
prowt,per1wt,per2wt,penwt,status)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
real prowt
real per1wt
real per2wt
real penwt
integer status
Receive the unit-operation-port-state-unit-operation-port-state setup profit, performance and penalty
weights.
integer function IMPLreceiveUOPSsetupweight(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
prowt,per1wt,per2wt,penwt,status)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
real prowt
real per1wt
real per2wt
real penwt
integer status
Receive the unit-operation up-time lower and upper bounds.
integer function IMPLreceiveUOuptime(uname,oname,
lo,up,status)
string uname
string oname
real lo
real up
integer status
Receive the unit-operation-port-state flow-delay lower and upper bounds.
integer function IMPLreceiveUOPSflowdelay(uname,oname,pname,sname,
lo,up,status)
string uname
string oname
string pname
string sname
real lo
7. real up
integer status
Receive the density names.
integer function IMPLreceiveDensity(dname,status)
string dname
integer status
Receive the component names.
integer function IMPLreceiveComponent(cname,status)
string cname
integer status
Receive the property names.
integer function IMPLreceiveProperty(bname,status)
string bname
integer status
Receive the condition names.
integer function IMPLreceiveCondition(aname,status)
string aname
integer status
Receive the coefficient names.
integer function IMPLreceiveCoefficient(lname,status)
string lname
integer status
Receive the component-density assignments required by heterogeneous components i.e., volume flow
times volume density times mass component where the component is heterogeneous.
integer function IMPLreceiveComponentDensity(cname,dname,status)
string cname
string dname
integer status
Receive the property-density assignments required by heterogeneous properties.
integer function IMPLreceivePropertyDensity(bname,dname,status)
string bname
string dname
integer status
Receive the unit-operation condition lower, upper and target bounds.
8. integer function IMPLreceiveUOcondition(uname,oname,aname,
lo,up,tgt,status)
string uname
string oname
string aname
real lo
real up
real tgt
integer status
Receive the unit-operation coefficient lower, upper and target bounds.
integer function IMPLreceiveUOcoefficient(uname,oname,lname,
lo,up,tgt,status)
string uname
string oname
string lname
real lo
real up
real tgt
integer status
Receive the unit-operation-port-state density lower, upper and target bounds.
integer function IMPLreceiveUOPSdensity(uname,oname,pname,sname,dname,
lo,up,tgt,status)
string uname
string oname
string pname
string sname
string dname
real lo
real up
real tgt
integer status
Receive the unit-operation-port-state component lower, upper and target bounds.
integer function IMPLreceiveUOPScomponent(uname,oname,pname,sname,cname,
lo,up,tgt,status)
string uname
string oname
string pname
string sname
string cname
real lo
real up
real tgt
integer status
Receive the unit-operation-port-state property lower, upper and target bounds.
integer function IMPLreceiveUOPSproperty(uname,oname,pname,sname,bname,
lo,up,tgt,status)
string uname
string oname
string pname
string sname
string bname
9. real lo
real up
real tgt
integer status
Receive the unit-operation-port-state condition lower, upper and target bounds.
integer function IMPLreceiveUOPScondition(uname,oname,pname,sname,aname,
lo,up,tgt,status)
string uname
string oname
string pname
string sname
string aname
real lo
real up
real tgt
integer status
Dynamic Model Data (Time-Varying)
Dynamic model data are used to configure the model and are time-varying (mutable or non-constant)
over the past/present and future time-horizons. All dynamic model data is digitized into discrete-time
for quantity, logistics and quality problems or digitized into distributed-time for quantity and quality
problems. Discrete-time uses the configured time-period duration and distributed-time determines the
time-points and consequently the time-periods with non-uniform durations from the start, begin and
end-times found in the dynamic model data.
Receive the holdup opening for a unit-operation with its value and start-time.
integer function IMPLreceiveUOholdupopen(uname,oname,
value,start,status)
string uname
string oname
real value
real start
integer status
Receive the setup opening for a unit-operation with its value and start-time.
integer function IMPLreceiveUOsetupopen(uname,oname,
value,start,status)
string uname
string oname
real value
real start
integer status
Receive the setup order for a unit-operation with its lower and upper bounds, begin and end-times.
10. integer function IMPLreceiveUOsetuporder(uname,oname,
lo,up,begin,end,status)
string uname
string oname
real lo
real up
real beg
real end
integer status
Receive the rate order for a unit-operation-port-state with its lower, upper and target bounds, begin
and end-times.
integer function IMPLreceiveUOPSrateorder(uname,oname,pname,sname,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
real lo
real up
real tgt
real beg
real end
integer status
Receive the holdup order for a unit-operation-port-state with its lower, upper and target bounds, begin
and end-times.
integer function IMPLreceiveUOPSholduporder(uname,oname,pname,sname,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
real lo
real up
real tgt
real beg
real end
integer status
Receive the yield order for a unit-operation-port-state with its lower, upper and target bounds, begin
and end-times.
integer function IMPLreceiveUOPSyieldorder(uname,oname,pname,sname,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
real lo
real up
real tgt
real beg
real end
integer status
11. Receive the rate order for a unit-operation-port-state-unit-operation-port-state with its lower, upper
and target bounds, begin and end-times.
integer function IMPLreceiveUOPSUOPSrateorder(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
real lo
real up
real tgt
real beg
real end
integer status
Receive the setup order for a unit-operation-port-state-unit-operation-port-state with its lower, upper
and target bounds, begin and end-times.
integer function IMPLreceiveUOPSUOPSsetuporder(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
real lo
real up
real tgt
real beg
real end
integer status
Receive the density opening for a unit with its value and start-time.
integer function IMPLreceiveUdensityopen(uname,dname,
value,start,status)
string uname
string dname
real value
real start
integer status
Receive the component opening for a unit with its value and start-time.
integer function IMPLreceiveUcomponentopen(uname,cname,
value,start,status)
string uname
string cname
real value
real start
integer status
12. Receive the property opening for a unit with its value and start-time.
integer function IMPLreceiveUpropertyopen(uname,bname,
value,start,status)
string uname
string bname
real value
real start
integer status
Receive the condition opening for a unit with its value and start-time.
integer function IMPLreceiveUconditionopen(uname,aname,
value,start,status)
string uname
string aname
real value
real start
integer status
Receive the condition order for a unit-operation with its lower, upper and target bounds, begin and end-
times.
integer function IMPLreceiveUOconditionorder(uname,oname,aname,
lo,up,tgt,begin,end,status)
string uname
string oname
string aname
real lo
real up
real tgt
real beg
real end
integer status
Receive the density order for a unit-operation-port-state with its lower, upper and target bounds, begin
and end-times.
integer function IMPLreceiveUOPSdensityorder(uname,oname,pname,sname,dname,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
string dname
real lo
real up
real tgt
real beg
real end
integer status
Receive the component order for a unit-operation-port-state with its lower, upper and target bounds,
begin and end-times.
integer function IMPLreceiveUOPScomponentorder(uname,oname,pname,sname,cname,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
13. string sname
string cname
real lo
real up
real tgt
real beg
real end
integer status
Receive the property order for a unit-operation-port-state with its lower, upper and target bounds,
begin and end-times.
integer function IMPLreceiveUOPSpropertyorder(uname,oname,pname,sname,bname,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
string bname
real lo
real up
real tgt
real beg
real end
integer status
Receive the condition order for a unit-operation-port-state with its lower, upper and target bounds,
begin and end-times.
integer function IMPLreceiveUOPSconditionorder(uname,oname,pname,sname,aname,
lo,up,tgt,begin,end,status)
string uname
string oname
string pname
string sname
string aname
real lo
real up
real tgt
real beg
real end
integer status
Solution Data
Solution data are variable results (and constraint residuals) computed by the solvers and include
deviation and excursion variables if configured. If the RNNON (Real Non-Naturally Occurring Number) is
returned then the unit-operation-port-state name and/or quality name and/or the time-period was not
recognized.
Retrieve the number of time-periods in the past/present and future time-horizons.
subroutine IMPLretrieveT(tpn,tfn)
integer tpn
14. integer tfn
Retrieve a single time-point in the past/present and future time-horizons.
real function IMPLretrieveTP1(tpn,tfn,idx)
integer tpn
integer tfn
integer idx
Retrieve multiple time-points in the past/present and future time-horizons i.e., a vector of values.
subroutine IMPLretrieveTP2(tpn,tfn,value)
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single objective function term i.e., 1 = profit, 2 = performance1, 3 = performance2, 4 = penalty
and 5 = total.
real function IMPLretrieveOBJterms1(idx)
integer idx
Retrieve multiple objective function terms.
subroutine IMPLretrieveOBJterms2(profit,performance1,performance2,penalty,total)
real profit
real performance1
real performance2
real penalty
real total
Retrieve a single unit-operation flow value.
real function IMPLretrieveUOflow1(uname,oname,
tpn,tfn,idx)
string uname
string oname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation flow values.
subroutine IMPLretrieveUOflow2(uname,oname,
tpn,tfn,value)
string uname
string oname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation holdup value.
real function IMPLretrieveUOholdup1(uname,oname,
tpn,tfn,idx)
15. string uname
string oname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation holdup values.
subroutine IMPLretrieveUOholdup2(uname,oname,
tpn,tfn,value)
string uname
string oname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation setup value.
real function IMPLretrieveUOsetup1(uname,oname,
tpn,tfn,idx)
string uname
string oname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation setup values.
subroutine IMPLretrieveUOsetup2(uname,oname,
tpn,tfn,value)
string uname
string oname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation startup value.
real function IMPLretrieveUOstartup1(uname,oname,
tpn,tfn,idx)
string uname
string oname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation startup values.
subroutine IMPLretrieveUOstartup2(uname,oname,
tpn,tfn,value)
string uname
string oname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state flow value.
16. real function IMPLretrieveUOPSflow1(uname,oname,pname,sname,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state flow values.
subroutine IMPLretrieveUOPSflow2(uname,oname,pname,sname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state yield value.
real function IMPLretrieveUOPSyield1(uname,oname,pname,sname,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state yield values.
subroutine IMPLretrieveUOPSyield2(uname,oname,pname,sname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state-unit-operation-port-state flow value.
real function IMPLretrieveUOPSUOPSflow1(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
integer tpn
integer tfn
integer idx
17. Retrieve multiple unit-operation-port-state-unit-operation-port-state flow values.
subroutine IMPLretrieveUOPSUOPSflow2(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state-unit-operation-port-state setup value.
real function IMPLretrieveUOPSUOPSsetup1(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state-unit-operation-port-state setup values.
subroutine IMPLretrieveUOPSUOPSsetup2(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit density value.
real function IMPLretrieveUdensity1(uname,dname
tpn,tfn,idx)
string uname
string dname
integer tpn
integer tfn
integer idx
18. Retrieve multiple unit density values.
subroutine IMPLretrieveUdensity2(uname,dname,
tpn,tfn,value)
string uname
string dname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit component value.
real function IMPLretrieveUcomponent1(uname,cname
tpn,tfn,idx)
string uname
string cname
integer tpn
integer tfn
integer idx
Retrieve multiple unit component values.
subroutine IMPLretrieveUcomponent2(uname,cname,
tpn,tfn,value)
string uname
string cname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit property value.
real function IMPLretrieveUproperty1(uname,bname
tpn,tfn,idx)
string uname
string bname
integer tpn
integer tfn
integer idx
Retrieve multiple unit property values.
subroutine IMPLretrieveUproperty2(uname,bname,
tpn,tfn,value)
string uname
string bname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation condition value.
real function IMPLretrieveUOcondition1(uname,oname,aname,
tpn,tfn,idx)
string uname
string oname
string aname
integer tpn
integer tfn
19. integer idx
Retrieve multiple unit-operation condition values.
subroutine IMPLretrieveUOcondition2(uname,oname,aname,
tpn,tfn,value)
string uname
string oname
string aname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation coefficient value.
real function IMPLretrieveUOcoefficient1(uname,oname,lname,
tpn,tfn,idx)
string uname
string oname
string lname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation coefficient values.
subroutine IMPLretrieveUOcoefficient2(uname,oname,lname,
tpn,tfn,value)
string uname
string oname
string lname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state density value.
real function IMPLretrieveUOPSdensity1(uname,oname,pname,sname,dname,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string dname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state density values.
subroutine IMPLretrieveUOPSdensity2(uname,oname,pname,sname,dname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string dname
integer tpn
integer tfn
real value(1:tpn+tfn)
20. Retrieve a single unit-operation-port-state component value.
real function IMPLretrieveUOPScomponent1(uname,oname,pname,sname,cname,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string cname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state component values.
subroutine IMPLretrieveUOPScomponent2(uname,oname,pname,sname,cname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string cname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state property value.
real function IMPLretrieveUOPSproperty1(uname,oname,pname,sname,bname,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string bname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state property values.
subroutine IMPLretrieveUOPSproperty2(uname,oname,pname,sname,bname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string bname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state flow deviation value.
real function IMPLretrieveUOPSflowdeviation1(uname,oname,pname,sname,
tpn,tfn,idx)
string uname
string oname
string pname
21. string sname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state flow deviation values.
subroutine IMPLretrieveUOPSflowdeviation2(uname,oname,pname,sname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation flow excursion value.
real function IMPLretrieveUOflowexcursion1(uname,oname,
tpn,tfn,idx)
string uname
string oname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation flow excursion values.
subroutine IMPLretrieveUOflowexcursion2(uname,oname,
tpn,tfn,value)
string uname
string oname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation holdup excursion value.
real function IMPLretrieveUOholdupexcursion1(uname,oname,
tpn,tfn,idx)
string uname
string oname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation holdup excursion values.
subroutine IMPLretrieveUOholdupexcursion2(uname,oname,
tpn,tfn,value)
string uname
string oname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state-unit-operation-port-state flow excursion value.
22. real function IMPLretrieveUOPSUOPSflowexcursion1(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state-unit-operation-port-state flow excursion values.
subroutine IMPLretrieveUOPSUOPSflowexcursion2(uname,oname,pname,sname,
uname2,oname2,pname2,sname2,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state density excursion value.
real function IMPLretrieveUOPSdensityexcursion1(uname,oname,pname,sname,dname,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string dname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state density excursion values.
subroutine IMPLretrieveUOPSdensityexcursion2(uname,oname,pname,sname,dname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string dname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state component excursion value.
real function IMPLretrieveUOPScomponentexcursion1(uname,oname,pname,sname,cname,
23. tpn,tfn,idx)
string uname
string oname
string pname
string sname
string cname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state component excursion values.
subroutine IMPLretrieveUOPScomponentexcursion2(uname,oname,pname,sname,cname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string cname
integer tpn
integer tfn
real value(1:tpn+tfn)
Retrieve a single unit-operation-port-state property excursion value.
real function IMPLretrieveUOPSpropertyexcursion1(uname,oname,pname,sname,bname,
tpn,tfn,idx)
string uname
string oname
string pname
string sname
string bname
integer tpn
integer tfn
integer idx
Retrieve multiple unit-operation-port-state property excursion values.
subroutine IMPLretrieveUOPSpropertyexcursion2(uname,oname,pname,sname,bname,
tpn,tfn,value)
string uname
string oname
string pname
string sname
string bname
integer tpn
integer tfn
real value(1:tpn+tfn)
Index Data
Index data are computed by the IMPL Modeler and are used to convert names to numbers during the
creation or generation of our IMPL sets, lists, parameters, formulas, variables and constraints. These
indices can also be used to reference, address, point, key or index to any of model and solution data
using the IMPL Server routines IMPLrow(), IMPLreview1()/ IMPLreview2() and IMPLrevise1()/
24. IMPLrevise2() where the row routine determines the row-element index in the IMPL sets, list,
parameter, formula, variable and constraint vectors and the revise routines can be used to update or
modify any of their row-element values if required. If the INNON (Integer Non-Naturally Occurring
Number) is returned then the unit-operation-port-state name and/or quality name was not recognized.
Retrieve the unit index.
integer function IMPLUu(uname)
string uname
Retrieve the operation index.
integer function IMPLOo(oname)
string oname
Retrieve the port index.
integer function IMPLPp(pname)
string pname
Retrieve the state index.
integer function IMPLSs(sname)
string sname
Retrieve the unit-operation index.
integer function IMPLUOm(uname,oname)
string uname
string oname
Retrieve the port-state index.
integer function IMPLPSk(pname,sname)
string pname
string sname
Retrieve the unit-operation-port-state index.
integer function IMPLUOPSij(uname,oname,pname,sname)
string uname
string oname
string pname
string sname
Retrieve the unit-operation-port-state-unit-operation-port-state index.
integer function IMPLUOPSUOPSji(uname,oname,pname,sname,
uname2,oname2,pname2,sname2)
25. string uname
string oname
string pname
string sname
string uname2
string oname2
string pname2
string sname2
Retrieve the unit-operation-group index.
integer function IMPLUOGsg(uname,ogname)
string uname
string ogname
Retrieve the unit-operation-group-operation-group index.
integer function IMPLUOGOGw(uname,ogname1,ogname2)
string uname
string ogname1
string ogname2
Retrieve the density index.
integer function IMPLDd(dname)
string dname
Retrieve the component index.
integer function IMPLCc(cname)
string cname
Retrieve the property index.
integer function IMPLBb(bname)
string bname
Retrieve the condition index.
integer function IMPLAa(aname)
string aname
Retrieve the coefficient index.
integer function IMPLLl(lname)
string lname
Retrieve the first non-zero unit-operation flow variable row index in the variable vector. By knowing the
number of time-periods in the past/present and future then the unit-operation flow variable results can
be retrieved directly using the IMPL Server routines IMPLreview1() and IMPLreview2().
integer function IMPLUOflow(uname,oname)
string uname
26. string oname
Retrieve the first non-zero unit-operation holdup variable row index in the variable vector.
integer function IMPLUOholdup(uname,oname)
string uname
string oname
Retrieve the first non-zero unit-operation setup variable row index in the variable vector.
integer function IMPLUOsetup(uname,oname)
string uname
string oname
Retrieve the first non-zero unit-operation condition variable row index in the variable vector.
integer function IMPLUOcondition(uname,oname,aname)
string uname
string oname
string aname
Retrieve the first non-zero unit-operation coefficient variable row index in the variable vector.
integer function IMPLUOcoefficient(uname,oname,lname)
string uname
string oname
string lname