SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
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.
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
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.
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.
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
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
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.
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
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.
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
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
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
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
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)
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.
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
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
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
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)
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
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.
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,
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()/
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)
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
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

Contenu connexe

Tendances (12)

Chapter 11 Function
Chapter 11 FunctionChapter 11 Function
Chapter 11 Function
 
Function in cpu 2
Function in cpu 2Function in cpu 2
Function in cpu 2
 
Functions in python
Functions in python Functions in python
Functions in python
 
Firebase Remote Config + Kotlin = EasyFRC
Firebase Remote Config + Kotlin = EasyFRCFirebase Remote Config + Kotlin = EasyFRC
Firebase Remote Config + Kotlin = EasyFRC
 
Understanding Javascript Engine to Code Better
Understanding Javascript Engine to Code BetterUnderstanding Javascript Engine to Code Better
Understanding Javascript Engine to Code Better
 
How to write maintainable code without tests
How to write maintainable code without testsHow to write maintainable code without tests
How to write maintainable code without tests
 
85ec7 session2 c++
85ec7 session2 c++85ec7 session2 c++
85ec7 session2 c++
 
Functions
FunctionsFunctions
Functions
 
Dart function - Recursive functions
Dart function - Recursive functionsDart function - Recursive functions
Dart function - Recursive functions
 
User Defined Functions
User Defined FunctionsUser Defined Functions
User Defined Functions
 
java script functions, classes
java script functions, classesjava script functions, classes
java script functions, classes
 
Python Functions
Python   FunctionsPython   Functions
Python Functions
 

En vedette

Cpm2011 pengurusan kokurikulum (a131pjj)
Cpm2011 pengurusan kokurikulum (a131pjj)Cpm2011 pengurusan kokurikulum (a131pjj)
Cpm2011 pengurusan kokurikulum (a131pjj)Bahari Zakaria
 
Latihan bab6 cikgugeog
Latihan bab6 cikgugeogLatihan bab6 cikgugeog
Latihan bab6 cikgugeogKila Shakila
 
2013 presentation naca legacy
2013 presentation naca legacy2013 presentation naca legacy
2013 presentation naca legacyBrian LeDuc
 
Gamification1
Gamification1Gamification1
Gamification1Jiye Park
 
DDBJ Nucleotide Sequence Submission System の紹介
DDBJ Nucleotide Sequence Submission System の紹介DDBJ Nucleotide Sequence Submission System の紹介
DDBJ Nucleotide Sequence Submission System の紹介DNA Data Bank of Japan center
 
[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保する
[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保する[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保する
[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保するDNA Data Bank of Japan center
 
[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際
[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際
[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際DNA Data Bank of Japan center
 
[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向
[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向
[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向DNA Data Bank of Japan center
 
[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介
[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介
[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介DNA Data Bank of Japan center
 
[DDBJ Challenge 2016] 機械学習と予測モデルコンペティション
[DDBJ Challenge 2016] 機械学習と予測モデルコンペティション[DDBJ Challenge 2016] 機械学習と予測モデルコンペティション
[DDBJ Challenge 2016] 機械学習と予測モデルコンペティションDNA Data Bank of Japan center
 
[DDBJing30] メタゲノム解析と微生物統合データベース
[DDBJing30] メタゲノム解析と微生物統合データベース[DDBJing30] メタゲノム解析と微生物統合データベース
[DDBJing30] メタゲノム解析と微生物統合データベースDNA Data Bank of Japan center
 
[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境
[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境
[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境DNA Data Bank of Japan center
 
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at GriffithTalis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at GriffithTalis
 
Talis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of WellingtonTalis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of WellingtonTalis
 
Monash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentationMonash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentationTalis
 

En vedette (20)

[DDBJing31] Mass Submission System の紹介
[DDBJing31] Mass Submission System の紹介[DDBJing31] Mass Submission System の紹介
[DDBJing31] Mass Submission System の紹介
 
Cpm2011 pengurusan kokurikulum (a131pjj)
Cpm2011 pengurusan kokurikulum (a131pjj)Cpm2011 pengurusan kokurikulum (a131pjj)
Cpm2011 pengurusan kokurikulum (a131pjj)
 
Flowers cl1
Flowers cl1Flowers cl1
Flowers cl1
 
Muhammad and sandra
Muhammad and sandraMuhammad and sandra
Muhammad and sandra
 
[DDBJing30] Mass Submission System の紹介
[DDBJing30] Mass Submission System の紹介[DDBJing30] Mass Submission System の紹介
[DDBJing30] Mass Submission System の紹介
 
Latihan bab6 cikgugeog
Latihan bab6 cikgugeogLatihan bab6 cikgugeog
Latihan bab6 cikgugeog
 
2013 presentation naca legacy
2013 presentation naca legacy2013 presentation naca legacy
2013 presentation naca legacy
 
Gamification1
Gamification1Gamification1
Gamification1
 
DDBJ Nucleotide Sequence Submission System の紹介
DDBJ Nucleotide Sequence Submission System の紹介DDBJ Nucleotide Sequence Submission System の紹介
DDBJ Nucleotide Sequence Submission System の紹介
 
[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保する
[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保する[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保する
[DDBJing31] 軽量仮想環境を用いてNGSデータの解析再現性を担保する
 
[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際
[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際
[DDBJing33] ゲノムワイド多型を利用した遺伝解析の実際
 
[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向
[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向
[DDBJ Challenge 2016] 機械学習コンペティションにおける予測モデリング手法の傾向
 
[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介
[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介
[DDBJ Challenge 2016] DDBJデータ解析事例「ChIP-Atlasデータベース」の紹介
 
[DDBJ Challenge 2016] 機械学習と予測モデルコンペティション
[DDBJ Challenge 2016] 機械学習と予測モデルコンペティション[DDBJ Challenge 2016] 機械学習と予測モデルコンペティション
[DDBJ Challenge 2016] 機械学習と予測モデルコンペティション
 
[DDBJing30] メタゲノム解析と微生物統合データベース
[DDBJing30] メタゲノム解析と微生物統合データベース[DDBJing30] メタゲノム解析と微生物統合データベース
[DDBJing30] メタゲノム解析と微生物統合データベース
 
[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境
[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境
[DDBJ Challenge 2016] 遺伝研スーパーコンピュータのビッグデータ解析環境
 
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at GriffithTalis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
Talis Insight Asia-Pacific 2017: Reading lists: academic adoption at Griffith
 
Economia del mare e Blue Growth
Economia del mare e Blue GrowthEconomia del mare e Blue Growth
Economia del mare e Blue Growth
 
Talis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of WellingtonTalis Insight Asia-Pacific 2017: Victoria University of Wellington
Talis Insight Asia-Pacific 2017: Victoria University of Wellington
 
Monash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentationMonash - Talis Aspire User Group presentation
Monash - Talis Aspire User Group presentation
 

Similaire à Industrial Programming Language (IPL) Reference Manual for Quantities, Logic/Logistics & Qualities

Introduction to golang
Introduction to golangIntroduction to golang
Introduction to golangwww.ixxo.io
 
chapter-7-runtime-environments.ppt
chapter-7-runtime-environments.pptchapter-7-runtime-environments.ppt
chapter-7-runtime-environments.pptssuser0db64b
 
Qtp92 Presentation
Qtp92 PresentationQtp92 Presentation
Qtp92 Presentationa34sharm
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentalsHCMUTE
 
SeriesTester.classpathSeriesTester.project SeriesT.docx
SeriesTester.classpathSeriesTester.project  SeriesT.docxSeriesTester.classpathSeriesTester.project  SeriesT.docx
SeriesTester.classpathSeriesTester.project SeriesT.docxlesleyryder69361
 
Unit 3 principles of programming language
Unit 3 principles of programming languageUnit 3 principles of programming language
Unit 3 principles of programming languageVasavi College of Engg
 
react-hooks.pdf
react-hooks.pdfreact-hooks.pdf
react-hooks.pdfchengbo xu
 
How to build a react native app with the help of react native hooks
How to build a react native app with the help of react native hooksHow to build a react native app with the help of react native hooks
How to build a react native app with the help of react native hooksKaty Slemon
 
MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...
MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...
MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...Sergey Staroletov
 
The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210Mahmoud Samir Fayed
 
Synapse india complain sharing info on chapter 8 operator overloading
Synapse india complain sharing info on chapter 8   operator overloadingSynapse india complain sharing info on chapter 8   operator overloading
Synapse india complain sharing info on chapter 8 operator overloadingSynapseindiaComplaints
 
Aaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and TensorfowAaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and TensorfowAminaRepo
 
Valerii Vasylkov Erlang. measurements and benefits.
Valerii Vasylkov Erlang. measurements and benefits.Valerii Vasylkov Erlang. measurements and benefits.
Valerii Vasylkov Erlang. measurements and benefits.Аліна Шепшелей
 
SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"
SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"
SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"Inhacking
 
Pi data link-2017-sp1-user-guide-es-05
Pi data link-2017-sp1-user-guide-es-05Pi data link-2017-sp1-user-guide-es-05
Pi data link-2017-sp1-user-guide-es-05Yonel Sánchez
 
In this page, we will learn about the basics of OOPs. Object-Oriented Program...
In this page, we will learn about the basics of OOPs. Object-Oriented Program...In this page, we will learn about the basics of OOPs. Object-Oriented Program...
In this page, we will learn about the basics of OOPs. Object-Oriented Program...Indu32
 

Similaire à Industrial Programming Language (IPL) Reference Manual for Quantities, Logic/Logistics & Qualities (20)

Introduction to golang
Introduction to golangIntroduction to golang
Introduction to golang
 
chapter-7-runtime-environments.ppt
chapter-7-runtime-environments.pptchapter-7-runtime-environments.ppt
chapter-7-runtime-environments.ppt
 
Qtp92 Presentation
Qtp92 PresentationQtp92 Presentation
Qtp92 Presentation
 
Java fundamentals
Java fundamentalsJava fundamentals
Java fundamentals
 
SeriesTester.classpathSeriesTester.project SeriesT.docx
SeriesTester.classpathSeriesTester.project  SeriesT.docxSeriesTester.classpathSeriesTester.project  SeriesT.docx
SeriesTester.classpathSeriesTester.project SeriesT.docx
 
Core java
Core javaCore java
Core java
 
Deep Learning in theano
Deep Learning in theanoDeep Learning in theano
Deep Learning in theano
 
Unit 3 principles of programming language
Unit 3 principles of programming languageUnit 3 principles of programming language
Unit 3 principles of programming language
 
react-hooks.pdf
react-hooks.pdfreact-hooks.pdf
react-hooks.pdf
 
How to build a react native app with the help of react native hooks
How to build a react native app with the help of react native hooksHow to build a react native app with the help of react native hooks
How to build a react native app with the help of react native hooks
 
MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...
MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...
MODEL OF A PROGRAM AS MULTITHREADED STOCHASTIC AUTOMATON AND ITS EQUIVALENT T...
 
The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210The Ring programming language version 1.9 book - Part 93 of 210
The Ring programming language version 1.9 book - Part 93 of 210
 
Synapse india complain sharing info on chapter 8 operator overloading
Synapse india complain sharing info on chapter 8   operator overloadingSynapse india complain sharing info on chapter 8   operator overloading
Synapse india complain sharing info on chapter 8 operator overloading
 
Aaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and TensorfowAaa ped-23-Artificial Neural Network: Keras and Tensorfow
Aaa ped-23-Artificial Neural Network: Keras and Tensorfow
 
functions
functionsfunctions
functions
 
Valerii Vasylkov Erlang. measurements and benefits.
Valerii Vasylkov Erlang. measurements and benefits.Valerii Vasylkov Erlang. measurements and benefits.
Valerii Vasylkov Erlang. measurements and benefits.
 
SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"
SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"
SE2016 Exotic Valerii Vasylkov "Erlang. Measurements and benefits"
 
Pi data link-2017-sp1-user-guide-es-05
Pi data link-2017-sp1-user-guide-es-05Pi data link-2017-sp1-user-guide-es-05
Pi data link-2017-sp1-user-guide-es-05
 
Md04 flow control
Md04 flow controlMd04 flow control
Md04 flow control
 
In this page, we will learn about the basics of OOPs. Object-Oriented Program...
In this page, we will learn about the basics of OOPs. Object-Oriented Program...In this page, we will learn about the basics of OOPs. Object-Oriented Program...
In this page, we will learn about the basics of OOPs. Object-Oriented Program...
 

Plus de 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 MIPAlkis Vazacopoulos
 
Amazing results with ODH|CPLEX
Amazing results with ODH|CPLEXAmazing results with ODH|CPLEX
Amazing results with ODH|CPLEXAlkis 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
 
Very largeoptimizationparallel
Very largeoptimizationparallelVery largeoptimizationparallel
Very largeoptimizationparallelAlkis 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 studiesAlkis 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
 
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
 
Distillation Curve Optimization Using Monotonic Interpolation
Distillation Curve Optimization Using Monotonic InterpolationDistillation Curve Optimization Using Monotonic Interpolation
Distillation Curve Optimization Using Monotonic InterpolationAlkis 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
 

Plus de 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...
 

Dernier

1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样vhwb25kk
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...dajasot375
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改yuu sss
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queensdataanalyticsqueen03
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 217djon017
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectBoston Institute of Analytics
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfJohn Sterrett
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsVICTOR MAESTRE RAMIREZ
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.natarajan8993
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanMYRABACSAFRA2
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]📊 Markus Baersch
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Colleen Farrelly
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home ServiceSapana Sha
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfBoston Institute of Analytics
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPTBoston Institute of Analytics
 

Dernier (20)

1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
 
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
Indian Call Girls in Abu Dhabi O5286O24O8 Call Girls in Abu Dhabi By Independ...
 
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
专业一比一美国俄亥俄大学毕业证成绩单pdf电子版制作修改
 
Top 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In QueensTop 5 Best Data Analytics Courses In Queens
Top 5 Best Data Analytics Courses In Queens
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2Easter Eggs From Star Wars and in cars 1 and 2
Easter Eggs From Star Wars and in cars 1 and 2
 
Heart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis ProjectHeart Disease Classification Report: A Data Analysis Project
Heart Disease Classification Report: A Data Analysis Project
 
DBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdfDBA Basics: Getting Started with Performance Tuning.pdf
DBA Basics: Getting Started with Performance Tuning.pdf
 
Advanced Machine Learning for Business Professionals
Advanced Machine Learning for Business ProfessionalsAdvanced Machine Learning for Business Professionals
Advanced Machine Learning for Business Professionals
 
RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.RABBIT: A CLI tool for identifying bots based on their GitHub events.
RABBIT: A CLI tool for identifying bots based on their GitHub events.
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
Identifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population MeanIdentifying Appropriate Test Statistics Involving Population Mean
Identifying Appropriate Test Statistics Involving Population Mean
 
GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]GA4 Without Cookies [Measure Camp AMS]
GA4 Without Cookies [Measure Camp AMS]
 
Call Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort ServiceCall Girls in Saket 99530🔝 56974 Escort Service
Call Girls in Saket 99530🔝 56974 Escort Service
 
Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024Generative AI for Social Good at Open Data Science East 2024
Generative AI for Social Good at Open Data Science East 2024
 
9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service9654467111 Call Girls In Munirka Hotel And Home Service
9654467111 Call Girls In Munirka Hotel And Home Service
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdfPredicting Salary Using Data Science: A Comprehensive Analysis.pdf
Predicting Salary Using Data Science: A Comprehensive Analysis.pdf
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
Predictive Analysis for Loan Default Presentation : Data Analysis Project PPT
Predictive Analysis for Loan Default  Presentation : Data Analysis Project PPTPredictive Analysis for Loan Default  Presentation : Data Analysis Project PPT
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