Impl reference manual_for_qualities

229 views

Published on


The IML file is our user readable import or input file to the IMPL modeling and solving platform. IMPL is an acronym for Industrial Modeling and Programming Language provided by Industrial Algorithms LLC. The IML file allows the user to configure 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.

Please see our IML “(Basic) Reference Manual for Quantities” for a complete introduction on the basics of IML. This manual describes the configuration data necessary to model and solve IOP’s with quality variables and constraints i.e., densities, components, properties, conditions and coefficients.

The symbol "&" denotes an address, index, pointer or key, the "@" denotes an attribute, property, characteristic or value and the prefix "s" stands for string of which there are two other prefixes "r" and "i" for reals (double precision) and integers respectively. String addresses and attributes are case sensitive and do not require any quotes where essentially any character is allowed including spaces except for ",". Each address string field may have no more than 64 characters for it to be considered as unique and each attribute string field may have no more than 512 characters.

Published in: Engineering, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
229
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Impl reference manual_for_qualities

  1. 1.                         i  M  P  l     Industrial  Modeling  Language  (IML)     "(Advanced)  Reference  Manual  for  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   April  2014   IAL-­‐IMPL-­‐IML-­‐RMQQ-­‐1-­‐0.docx       Copyright  and  Property  of  Industrial  Algorithms  LLC.    
  2. 2. Introduction     The  IML  file  is  our  user  readable  import  or  input  file  to  the  IMPL  modeling  and  solving  platform.    IMPL  is   an  acronym  for  Industrial  Modeling  and  Programming  Language  provided  by  Industrial  Algorithms  LLC.     The  IML  file  allows  the  user  to  configure  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.     Please  see  our  IML  “(Basic)  Reference  Manual  for  Quantities”  for  a  complete  introduction  on  the  basics   of  IML.    This  manual  describes  the  configuration  data  necessary  to  model  and  solve  IOP’s  with  quality   variables  and  constraints  i.e.,    densities,  components,  properties,  conditions  and  coefficients.       The  symbol  "&"  denotes  an  address,  index,  pointer  or  key,  the  "@"  denotes  an  attribute,  property,   characteristic  or  value  and  the  prefix  "s"  stands  for  string  of  which  there  are  two  other  prefixes  "r"  and   "i"  for  reals  (double  precision)  and  integers  respectively.    String  addresses  and  attributes  are  case   sensitive  and  do  not  require  any  quotes  where  essentially  any  character  is  allowed  including  spaces   except  for    ",".    Each  address  string  field  may  have  no  more  than  64  characters  for  it  to  be  considered  as   unique  and  each  attribute  string  field  may  have  no  more  than  512  characters.     Constituent  Data     IMPL  allows  for  the  configuration  of  several  global  sets  to  create  user-­‐defined  intensive  quality  variables   assigned,  associated  or  attached  to  any  unit-­‐operation-­‐port-­‐state  where  conditions  and  coefficients  can   only  be  assigned  to  unit-­‐operations  of  subtype  blackbox.     Factors  do  not  propagate  across  the  flowsheet  or  superstructure  like  the  other  intensive  qualities   enumerated  below  and  are  essentially  constant.       &sFactor   FACTOR   &sFactor    
  3. 3. Densities  allow  any  mass  to  volume,  volume  to  mole,  energy  to  mass,  etc.  type  of  mass,  mole,  volume,   energy,  etc.  basis  conversions.         &sDensity   DENSITY   &sDensity     Components  are  similar  to  pure-­‐components,  pseudo-­‐components,  hypotheticals,  used  in  process   engineering  simulators.       &sComponent   COMPONENT   &sComponent     Properties  are  any  non-­‐density  and  non-­‐component  such  as  research  and  motor  octane,  sulfur,  melting   point,  etc.       &sProperty   PROPERTY   &sProperty     Conditions  are  essentially  non-­‐densities,  non-­‐components  and  non-­‐properties  such  as  temperature,   pressure,  severity,  conversion,  etc.  that  can  be  used  to  model  the  ad  hoc  behavior  of  blackbox  unit-­‐ operation  subtypes.       &sCondition   CONDITION   &sCondition     Coefficients  are  similar  to  conditions  and  may  either  be  of  the  “static”  or  “dynamic”  type  where  static   coefficients  have  no  implied  temporal  dimension  and  represent  parameters  that  can  be  fitted  or   estimated  to  past/present  data  in  data  reconciliation  and  regression  problems  for  example.      Dynamic   coefficients  may  be  used  to  allow  function  calls  to  third-­‐party  DLL’s  or  SO’s  to  compute  physical   properties  such  as  enthalpy,  entropy  or  equilibrium  values  and  these  quality  variables  are  indexed  by   time-­‐periods  as  their  type  suggests.    
  4. 4. The  attributes  after  type  are  only  valid  for  dynamic  coefficients  where  the  path,  library  and  function   names  determine  how  to  locate  and  call  the  third-­‐party  function.    The  number  of  conditions  states  the   number  of  condition  arguments  to  the  third-­‐party  function,  the  perturb  size  is  the  size  of  the   perturbation  to  compute  first-­‐order  derivatives  (10-­‐6 )  with  respect  to  the  conditions  and  the  list  of   condition  names  separated  by  commas  are  the  condition  argument  names  also  known  in  the  global   condition  set.     &sCoefficient,@sType,@sPath_Name,@sLibrary_Name,@sFunction_Name,     @iNumber_Conditions,@rPerturb_Size,@sCondition_Names   COEFFICIENT,TYPE,PATH,LIBRARY,FUNCTION,NCONDITIONS,PERTURBSIZE,CONDITIONS   &sCoefficient,@sType,@sPath_Name,@sLibrary_Name,@sFunction_Name,     @iNumber_Conditions,@rPerturb_Size,@sCondition_Names     Chains  are  reactions  found  inside  unit-­‐operations  of  type  process  and  of  subtype  reactor.    Chains  are   used  to  configure  stoichiometry-­‐data  i.e.,  reaction  coefficients  per  chain  or  reaction.       &sChain   CHAIN   &sChain     Cuts  are  sub-­‐  or  meta-­‐components  found  inside  unit-­‐operations  of  type  process  and  of  subtype   fractionator.    Cuts  are  used  to  configure  assay-­‐data  in  terms  of  how  a  component  is  distributed  or   distilled  over  for  example  its  temperature  boiling-­‐point  range  where  each  cut  has  a  starting  or  initial   boiling-­‐point  and  an  ending  or  final  boiling-­‐point.         &sCut,@rInitialPoint_Value,@rFinalPoint_Value   CUT,IVALUE,FVALUE   &sCut,@rInitialPoint_Value,@rFinalPoint_Value     Component-­‐density’s    and  property-­‐density’s  are  used  to  model  heterogeneous  components  and   properties  in  the  sense  that  a  mass-­‐based  quality  such  as  sulfur  can  be  calculated  or  predicted  using  a   volume-­‐based  quantity  or  flow.     &sComponent,@sDensity   COMPONENT,DENSITY   &sComponent,@sDensity     &sProperty,@sDensity   PROPERTY,DENSITY   &sProperty,@sDensity  
  5. 5.   Property-­‐property’s    and  condition-­‐condition’s  are  ranking,  volatility  or  ordering  inequality  constraints   to  ensure  that  the  first  quality  variable  result  is  greater  than  the  second  quality  variable  result.    Ranking   constraints  are  useful  when  solving  with  linear  and  spline  interpolations  in  order  to  maintain  the   monotonicity  of  the  x-­‐axis  or  abscissa.     &sProperty,@sProperty   PROPERTY,PROPERTY2   &sProperty,@sProperty     &sCondition,@sCondition   CONDITION,CONDITION2   &sCondition,@sCondition     Property-­‐transforms  are  nonlinear  expressions  or  formulas  that  can  be  applied  to  a  single  property  to   transform  it    before  and  after  the  solving  to  some  other  number  and  is  essentially  useful  for  blending   and  mixing  unit-­‐operations.    An  example  of  a  property-­‐transform  or  blending-­‐index  is  converting  SG  to   API  i.e,  API=141.5/SG-131.5.     PropertyTransform-&sProperty,@sType,@rValue,@sValue   PROPERTY,TYPE,RVALUE,SVALUE   PropertyTransform-&sProperty,@sType,@rValue,@sValue     Properties-­‐property  are  nonlinear  expressions  or  formulas  that  can  be  used  to  model  derived  or   secondary  properties  and  are  useful  to  model  one  dependent  property  as  a  function  of  any  other   independent  or  dependent  property  i.e.,  ROAD=(RON+MON)/2.     PropertiesProperty-&sProperty,@sType,@rValue,@sValue   PROPERTY,TYPE,RVALUE,SVALUE   PropertiesProperty-&sProperty,@sType,@rValue,@sValue     Condition  Data  (For  Unit-­‐Operation  Blackboxes  Only)     For  unit-­‐operations  of  type  process  and  subtype  blackbox  we  can  assign,  associate  or  attach  condition   variables  from  the  global  set  of  conditions  and  global  set  of  coefficients.    Then,  these  unit-­‐operation-­‐ conditions  can  be  used  in  nonlinear  expressions  or  formula  to  model  any  nonlinear  relationship  that  may   be  required  to  accurately  and  precisely  represent  its  behavior  over  time.    
  6. 6.   In  most  situations,  condition  variables  are  dependent  on  upstream  and/or  downstream  unit-­‐operation   and/or  unit-­‐operation-­‐port-­‐state  quantity  and  quality  variables  and  these  can  be  configured  using  the   following  linear  and  simple  connection  ,  transfer  or  linking  types  of  equations.         UOHoldupUOCondition-&sUnit,&sOperation,&sUnit,&sOperation,&sCondition UNIT,OPERATION,UNIT2,OPERATION2,CONDITION UOHoldupUOCondition-&sUnit,&sOperation,&sUnit,&sOperation,&sCondition   UOPSFlowUOCondition-&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sCondition UNIT,OPERATION,PORT,STATE,UNIT2,OPERATION2,CONDITION UOPSFlowUOCondition-&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sCondition   UOPSYieldUOCondition-&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sCondition UNIT,OPERATION,PORT,STATE,UNIT2,OPERATION2,CONDITION UOPSYieldUOCondition-&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sCondition   UOPSDensityUOCondition-&sUnit,&sOperation,&sPort,&sState,&sDensity, &sUnit,&sOperation,&sCondition UNIT,OPERATION,PORT,STATE,DENSITY,UNIT2,OPERATION2,CONDITION UOPSDensityUOCondition-&sUnit,&sOperation,&sPort,&sState,&sDensity, &sUnit,&sOperation,&sCondition   UOPSComponentUOCondition-&sUnit,&sOperation,&sPort,&sState,&sDensity, &sUnit,&sOperation,&sCondition UNIT,OPERATION,PORT,STATE,COMPONENT,UNIT2,OPERATION2,CONDITION   UOPSComponentUOCondition-&sUnit,&sOperation,&sPort,&sState,&sDensity, &sUnit,&sOperation,&sCondition   UOPSPropertyUOCondition-&sUnit,&sOperation,&sPort,&sState,&sDensity, &sUnit,&sOperation,&sCondition UNIT,OPERATION,PORT,STATE,PROPERTY,UNIT2,OPERATION2,CONDITION UOPSPropertyUOCondition-&sUnit,&sOperation,&sPort,&sState,&sDensity, &sUnit,&sOperation,&sCondition   After  any  dependent  conditions  have  been  configured  on  the  unit-­‐operation  blackbox,  then  nonlinear   formulas  of  how  to  relate  a  condition  expression  to  another  condition  on  the  same  unit-­‐operation    as   well  as  relating  to  other  quantity  and  quality  variables  on  the  unit-­‐operation-­‐port-­‐states  can  also  be   configured  as  follows.     ConditionsUOCondition-&sUnit,&sOperation,&sCondition,@sType,@rValue,@sValue UNIT,OPERATION,CONDITION,TYPE,RVALUE,SVALUE ConditionsUOCondition-&sUnit,&sOperation,&sCondition,@sType,@rValue,@sValue   ConditionsUOPSFlow-&sUnit,&sOperation,&sPort,&sState,@sType,@rValue,@sValue
  7. 7. UNIT,OPERATION,PORT,STATE,TYPE,RVALUE,SVALUE ConditionsUOPSFlow-&sUnit,&sOperation,&sPort,&sState,@sType,@rValue,@sValue   ConditionsUOPSRate-&sUnit,&sOperation,&sPort,&sState,@sType,@rValue,@sValue UNIT,OPERATION,PORT,STATE,TYPE,RVALUE,SVALUE ConditionsUOPSRate-&sUnit,&sOperation,&sPort,&sState,@sType,@rValue,@sValue   ConditionsUOPSYield-&sUnit,&sOperation,&sPort,&sState,@sType,@rValue,@sValue UNIT,OPERATION,PORT,STATE,TYPE,RVALUE,SVALUE ConditionsUOPSYield-&sUnit,&sOperation,&sPort,&sState,@sType,@rValue,@sValue   ConditionsUOPSDensity-&sUnit,&sOperation,&sPort,&sState,&sDensity, @sType,@rValue,@sValue UNIT,OPERATION,PORT,STATE,DENSITY,TYPE,RVALUE,SVALUE ConditionsUOPSDensity-&sUnit,&sOperation,&sPort,&sState,&sDensity, @sType,@rValue,@sValue   ConditionsUOPSComponent-&sUnit,&sOperation,&sPort,&sState,&sComponent, @sType,@rValue,@sValue UNIT,OPERATION,PORT,STATE,COMPONENT,TYPE,RVALUE,SVALUE ConditionsUOPSComponent-&sUnit,&sOperation,&sPort,&sState,&sComponent, @sType,@rValue,@sValue   ConditionsUOPSProperty-&sUnit,&sOperation,&sPort,&sState,&sProperty, @sType,@rValue,@sValue UNIT,OPERATION,PORT,STATE,PROPERTY,TYPE,RVALUE,SVALUE ConditionsUOPSProperty-&sUnit,&sOperation,&sPort,&sState,&sProperty, @sType,@rValue,@sValue   Constituent  Capacity  Data     IMPL  allows  Constituent  Capacity  Data  to  be  configured  or  specified  to  each  unit-­‐operation-­‐port-­‐state  in   the  superstructure.    If  a  quality  in  a  global  quality  set  is  not  assigned,  associated  or  attached  to  a   particular  unit-­‐operation-­‐port-­‐state  internal  stream  then  the  quality  variable  will  not  be  created  or   generated  in  the  model.     A  quality  variable  must  have  a  lower  and  upper  (hard)  bound  but  it  may  or  may  not  have  a  target  (soft)   bound.    If  its  target  is  left  blank  or  it  is  specified  as  RNNON  then  a  target  is  ignored.    If    the  target  field  is   populated  but  its  corresponding  performance-­‐weight  is  zero  (0)  then  the  target  will  be  used  as  an  initial-­‐ value,  starting-­‐point  or  default-­‐result.     &sUnit,&sOperation,&sPort,&sState,&sFactor,@rFactor_Value UNIT,OPERATION,PORT,STATE,FACTOR,F  VALUE &sUnit,&sOperation,&sPort,&sState,&sFactor,@rFactor_Value  
  8. 8. &sUnit,&sOperation,&sPort,&sState,&sDensity, @rDensity_Lower,@rDensity_Upper,@rDensity_Target UNIT,OPERATION,PORT,STATE,DENSITY,LDENSITY,UDENSITY,TDENSITY &sUnit,&sOperation,&sPort,&sState,&sDensity, @rDensity_Lower,@rDensity_Upper,@rDensity_Target   &sUnit,&sOperation,&sPort,&sState,&sComponent, @rComponent_Lower,@rComponent_Upper,@rComponent_Target UNIT,OPERATION,PORT,STATE,COMPONENT,LCOMPONENT,UCOMPONENT,TCOMPONENT &sUnit,&sOperation,&sPort,&sState,&sComponent, @rComponent_Lower,@rComponent_Upper,@rComponent_Target   &sUnit,&sOperation,&sPort,&sState,&sProperty, @rProperty_Lower,@rProperty_Upper,@rProperty_Target UNIT,OPERATION,PORT,STATE,PROPERTY,LPROPERY,UPROPERY,TPROPERY &sUnit,&sOperation,&sPort,&sState,&sProperty, @rProperty_Lower,@rProperty_Upper,@rProperty_Target   &sUnit,&sOperation,&sCondition, @rCondition_Lower,@rCondition_Upper,@rCondition_Target UNIT,OPERATION,CONDITION,LCONDITION,UCONDITION,TCONDITION &sUnit,&sOperation,&sCondition, @rCondition_Lower,@rCondition_Upper,@rCondition_Target   &sUnit,&sOperation,&sCoefficient, @rCoefficient_Lower,@rCoefficient_Upper,@rCoefficient_Target UNIT,OPERATION,COEFFICIENT,LCOEFFICIENT,UCOEFFICIENT,TCOEFFICIENT &sUnit,&sOperation,&sCoefficient, @rCoefficient_Lower,@rCoefficient_Upper,@rCoefficient_Target   The  component-­‐yields  (  or  recoveries)  are  valid  for  unit-­‐operations  of  type  process  and  subtype   separator  and  should  lie  between  zero  (0)  and  one  (1).     &sUnit,&sOperation,&sPort,&sState,&sComponent, @rComponentYield_Lower,@rComponentYield_Upper,@rComponentYield_Target UNIT,OPERATION,PORT,STATE,COMPONENT,LYIELD,  UYIELD,  TYIELD &sUnit,&sOperation,&sPort,&sState,&sComponent, @rComponentYield_Lower,@rComponentYield_Upper,@rComponentYield_Target   The  chain-­‐component-­‐yields  (stoichiometry-­‐data)  are  valid  for  unit-­‐operations  of  type  process  and   subtype  reactor  and  specify  for  each  chain  or  reaction  and  each  component  its  yield  value  or   stoichiometric  constant.    IMPL’s  convention  is  to  use  negative  values  for  reactants  (consumption)  and   positive  values  for  products  (production)  i.e.,  consumption  is  a  flow-­‐out  and  production  in  a  flow-­‐in.     &sChain,&sComponent,@rYield_Value CHAIN,  COMPONENT,  YVALUE &sChain,&sComponent,@rYield_Value  
  9. 9. For  each  chain  and  for  each  unit-­‐operation,  configure  its  lower  and  upper  extent  of  reaction  or  rate.    A   chain  or  reaction  can  be  likened  to  a  sub  batch  or  charge-­‐size.       &sChain,&sUnit,&sOperation,@rRate_Lower,@rRate_Upper CHAIN,  UNIT,OPERATION,LRATE,URATE &sChain,&sUnit,&sOperation,@rRate_Lower,@rRate_Upper   The  component-­‐cut-­‐yields  (assay-­‐data)  are  valid  for  unit-­‐operations  of  type  process  and  subtype   fractionator  and  specify  for  each  component  and  for  each  cut  its  yield  value.     &sComponent,&sCut,@rYield_Value COMPONENT,  CUT,YVALUE &sComponent,&sCut,@rYield_Value   Component-­‐cut-­‐densities,  components  and  properties  provide  the  necessary  assay-­‐data  to  calculate  or   predict  for  each  component  the  quality  of  each  cut  i.e.,  how  each  quality  is  distributed  or  profiled  over   the  temperature  boiling-­‐point  range  of  the  component  discretized  by  the  cuts.     &sComponent,&sCut,&sDensity,@rDensity_Value COMPONENT,  CUT,DENSITY,DVALUE &sComponent,&sCut,&sDensity,@rDensity_Value   &sComponent,&sCut,&sComponent,@rComponent_Value COMPONENT,  CUT,COMPONENT,CVALUE &sComponent,&sCut,&sComponent,@rComponent_Value   &sComponent,&sCut,&sProperty,@rProperty_Value COMPONENT,  CUT,PROPERTY,PVALUE &sComponent,&sCut,&sProperty,@rProperty_Value   For  each  unit-­‐operation-­‐port-­‐state  and  each  cut  ,  these  values  provide  the  lower  and  upper  yield   bounds.    These  values  essentially  stipulate  how  each  cut  on  a  unit-­‐operation-­‐port-­‐state  is  distributed   where  the  values  should  lie  between  zero  (0)  and  one  (1).     &sUnit,&sOperation,&sPort,&sState,&sCut,@rYield_Lower,@rYield_Upper UNIT,OPERATION,PORT,STATE,  CUT,  LYIELD,UYIELD &sUnit,&sOperation,&sPort,&sState,&sCut,@rYield_Lower,@rYield_Upper   Constituent  Cost  Data    
  10. 10. The  Cost  Data  for  qualities  is  straightforward  where  again  we  have  a  profit-­‐weight,  performance1-­‐ weight  (1-­‐norm  deviations  from  target),  performance2-­‐weight  (2-­‐norm)  and  penalty-­‐weight  for  each   unit-­‐operation-­‐port-­‐state-­‐density,  component  and  property  as  well  as  unit-­‐operation-­‐condition  and   coefficient  sets  of  objective  function  weights.     &sUnit,&sOperation,&sPort,&sState,&sDensity,@rDensityPro_Weight, @rDensityPer1_Weight,@rDensityPer2_Weight,@rDensityPen_Weight UNIT,OPERATION,PORT,STATE,DENSITY,WDPRO,WDPER1,WDPER2,WDPEN &sUnit,&sOperation,&sPort,&sState,&sDensity,@rDensityPro_Weight, @rDensityPer1_Weight,@rDensityPer2_Weight,@rDensityPen_Weight   &sUnit,&sOperation,&sPort,&sState,&sComponent,@rComponentPro_Weight, @rComponentPer1_Weight,@rComponentPer2_Weight,@rComponentPen_Weight UNIT,OPERATION,PORT,STATE,COMPONENT,WCPRO,WCPER1,WCPER2,WCPEN &sUnit,&sOperation,&sPort,&sState,&sComponent,@rComponentPro_Weight, @rComponentPer1_Weight,@rComponentPer2_Weight,@rComponentPen_Weight   &sUnit,&sOperation,&sPort,&sState,&sProperty,@rPropertyPro_Weight, @rPropertyPer1_Weight,@rPropertyPer2_Weight,@rPropertyPen_Weight UNIT,OPERATION,PORT,STATE,PROPERTY,WPPRO,WPPER1,WPPER2,WPPEN &sUnit,&sOperation,&sPort,&sState,&sProperty,@rPropertyPro_Weight, @rPropertyPer1_Weight,@rPropertyPer2_Weight,@rPropertyPen_Weight   &sUnit,&sOperation,&sCondition,@rConditionPro_Weight, @rConditionPer1_Weight,@rConditionPer2_Weight,@rConditionPen_Weight UNIT,OPERATION,CONDITION,WCPRO,WCPER1,WCPER2,WCPEN &sUnit,&sOperation,&sCondition,@rConditionPro_Weight, @rConditionPer1_Weight,@rConditionPer2_Weight,@rConditionPen_Weight   &sUnit,&sOperation,&sCoefficient,@rCoefficientPro_Weight, @rCoefficientPer1_Weight,@rCoefficientPer2_Weight,@rCoefficientPen_Weight UNIT,OPERATION,COEFFICIENT,WCPRO,WCPER1,WCPER2,WCPEN &sUnit,&sOperation,&sCoefficient,@rCoefficientPro_Weight, @rCoefficientPer1_Weight,@rCoefficientPer2_Weight,@rCoefficientPen_Weight   Constituent  Content  (Current)  Data     The  Constituent  Content  or  Current  Data  configures  the  opening  qualities  of  density,  component  and   property  for  the  physical  units  of  type  pool  in  the  past/present  time-­‐horizon.    For  projectional  unit-­‐ operations  of  type  process  and  subtype  blackbox  we  also  can  configure  their  opening  conditions.           &sUnit,&sDensity,@rDensity_Value,@rStart_Time UNIT,DENSITY,DVALUE,START &sUnit,&sDensity,@rDensity_Value,@rStart_Time   &sUnit,&sComponent,@rComponent_Value,@rStart_Time
  11. 11. UNIT,COMPONENT,CVALUE,START &sUnit,&sComponent,@rComponent_Value,@rStart_Time   &sUnit,&sProperty,@rProperty_Value,@rStart_Time UNIT,PROPERTY,PVALUE,START &sUnit,&sProperty,@rProperty_Value,@rStart_Time   &sUnit,&sOperation,&sCondition,@rCondition_Value,@rStart_Time UNIT,OPERATION,CONDITION,CVALUE,START &sUnit,&sOperation,&sCondition,@rCondition_Value,@rStart_Time   Constituent  Command  (Control)  Data     The  Constituent  Command  or  Control  Data  configures  the  order,  transaction  or  proviso  details  of  how   the  lower,  upper  (hard)  and  target  (soft)  bounds  can  vary  over  time  for  unit-­‐operation-­‐port-­‐state-­‐ densities,  components  and  properties  and  unit-­‐operation-­‐conditions.       &sUnit,&sOperation,&sPort,&sState,&sDensity, @rDensity_Lower,@rDensity_Upper,@rDensity_Target,@rBegin_Time,@rEnd_Time UNIT,OPERATION,PORT,STATE,DENSITY  ,DLOWER,DUPPER,DTARGET,BEGIN,END &sUnit,&sOperation,&sPort,&sState,&sDensity, @rDensity_Lower,@rDensity_Upper,@rDensity_Target,@rBegin_Time,@rEnd_Time   &sUnit,&sOperation,&sPort,&sState,&sComponent, @rComponent_Lower,@rComponent_Upper,@rComponent_Target,@rBegin_Time,@rEnd_Time UNIT,OPERATION,PORT,STATE,COMPONENT  ,CLOWER,CUPPER,CTARGET,BEGIN,END &sUnit,&sOperation,&sPort,&sState,&sComponent, @rComponent_Lower,@rComponent_Upper,@rComponent_Target,@rBegin_Time,@rEnd_Time   &sUnit,&sOperation,&sPort,&sState,&sProperty, @rProperty_Lower,@rProperty_Upper,@rProperty_Target,@rBegin_Time,@rEnd_Time UNIT,OPERATION,PORT,STATE,PROPERTY,PLOWER,PUPPER,PTARGET,BEGIN,END &sUnit,&sOperation,&sPort,&sState,&sProperty, @rProperty_Lower,@rProperty_Upper,@rProperty_Target,@rBegin_Time,@rEnd_Time   &sUnit,&sOperation,&sCondition, @rCondition_Lower,@rCondition_Upper,@rCondition_Target,@rBegin_Time,@rEnd_Time UNIT,OPERATION,CONDITION,CLOWER,CUPPER,CTARGET,BEGIN,END &sUnit,&sOperation,&sCondition, @rCondition_Lower,@rCondition_Upper,@rCondition_Target,@rBegin_Time,@rEnd_Time   Configuration  Demo  (Pooling  Optimization  Problem)    
  12. 12. The  Configuration  Demo  provided  below  is  a  small  pooling  optimization  problem  with  one  (1)  pool,   three  (3)  component  materials  (A,  B  and  C),  two  (2)  product  materials  (P1  and  P2),  one  (1)  property   sulfur  (S)  and  one  (1)  time-­‐period  as  shown  in  Figure  1.0.    This  is  the  well-­‐known  Haverly  pooling   problem  and  has  been  studied  extensively  in  the  chemical  engineering  literature  on  global  optimization   because  it  exhibits  three  (3)  local  optimum  of  $0,  $100  and  $400.       Figure  1.0  Flowsheet  of  Pooling  Optimization  Problem.     i M P l (c) Copyright and Property of i n d u s t r I A L g o r i t h m s LLC. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Calculation Data (Parameters) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sCalc,@sValue START,-1.0 BEGIN,0.0 END,1.0 PERIOD,1.0 &sCalc,@sValue !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Chronological Data (Periods) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  13. 13. @rPastTHD,@rFutureTHD,@rTPD START,END,PERIOD @rPastTHD,@rFutureTHD,@rTPD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Construction Data (Pointers) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@sType,@sSubtype,@sUse A,,perimeter,, B,,perimeter,, C,,perimeter,, P1,,perimeter,, P2,,perimeter,, Pool,,pool,, &sUnit,&sOperation,@sType,@sSubtype,@sUse &sAlias,&sUnit,&sOperation ALLPARTS,A, ALLPARTS,B, ALLPARTS,C, ALLPARTS,P1, ALLPARTS,P2, ALLPARTS,Pool, &sAlias,&sUnit,&sOperation &sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype A,,o,,out, B,,o,,out, C,,o,,out, P1,,i,,in, P2,,i,,in, Pool,,i,,in, Pool,,o,,out, &sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype &sAlias,&sUnit,&sOperation,&sPort,&sState ALLINPORTS,P1,,i, ALLINPORTS,P2,,i, ALLINPORTS,Pool,,i, ALLOUTPORTS,A,,o, ALLOUTPORTS,B,,o, ALLOUTPORTS,C,,o, ALLOUTPORTS,Pool,,o, &sAlias,&sUnit,&sOperation,&sPort,&sState &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState A,,o,,Pool,,i, B,,o,,Pool,,i, C,,o,,P1,,i, C,,o,,P2,,i, Pool,,o,,P1,,i, Pool,,o,,P2,,i, &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState &sAlias,&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState ALLPATHS,C,,o,,P1,,i, ALLPATHS,Pool,,o,,P1,,i, ALLPATHS,C,,o,,P2,,i, ALLPATHS,Pool,,o,,P2,,i, ALLPATHS,A,,o,,Pool,,i, ALLPATHS,B,,o,,Pool,,i, &sAlias,&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState
  14. 14. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Capacity Data (Prototypes) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@rRate_Lower,@rRate_Upper ALLPARTS,0.0,1000.0 &sUnit,&sOperation,@rRate_Lower,@rRate_Upper &sUnit,&sOperation,@rHoldup_Lower,@rHoldup_Upper Pool,,0.0,0.0 &sUnit,&sOperation,@rHoldup_Lower,@rHoldup_Upper &sUnit,&sOperation,&sPort,&sState,@rTeeRate_Lower,@rTeeRate_Upper ALLINPORTS,0.0,1000.0 ALLOUTPORTS,0.0,1000.0 &sUnit,&sOperation,&sPort,&sState,@rTeeRate_Lower,@rTeeRate_Upper &sUnit,&sOperation,&sPort,&sState,@rTotalRate_Lower,@rTotalRate_Upper ALLINPORTS,0.0,1000.0 ALLOUTPORTS,0.0,1000.0 P1,,i,,0.0,100.0 P2,,i,,0.0,200.0 &sUnit,&sOperation,&sPort,&sState,@rTotalRate_Lower,@rTotalRate_Upper !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Constituent Data (Properties) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sProperty S &sProperty &sUnit,&sOperation,&sPort,&sState,&sProperty,@rProperty_Lower,@rProperty_Upper,@rProperty_Target ALLINPORTS,S,0.0,3.0 ALLOUTPORTS,S,0.0,3.0 A,,o,,S,3.0,3.0 B,,o,,S,1.0,1.0 C,,o,,S,2.0,2.0 P1,,i,,S,0.0,2.5 P2,,i,,S,0.0,1.5 &sUnit,&sOperation,&sPort,&sState,&sProperty,@rProperty_Lower,@rProperty_Upper,@rProperty_Target !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Cost Data (Pricing) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,&sPort,&sState,@rFlowPro_Weight,@rFlowPer1_Weight,@rFlowPer2_Weight,@rFlowPen_Weight A,,o,,-6.0 B,,o,,-16.0 C,,o,,-10.0 P1,,i,,9.0 P2,,i,,15.0 &sUnit,&sOperation,&sPort,&sState,@rFlowPro_Weight,@rFlowPer1_Weight,@rFlowPer2_Weight,@rFlowPen_Weight !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Command Data (Future Provisos) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@rSetup_Lower,@rSetup_Upper,@rBegin_Time,@rEnd_Time ALLPARTS,1,1,BEGIN,END
  15. 15. &sUnit,&sOperation,@rSetup_Lower,@rSetup_Upper,@rBegin_Time,@rEnd_Time &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState,@rSetup_Lower,@rSetup_Upper,@rBegin_Time,@rEnd_Time ALLPATHS,1,1,BEGIN,END &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState,@rSetup_Lower,@rSetup_Upper,@rBegin_Time,@rEnd_Time

×