• Like
  • Save
Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industrial Modeling Framework (GCIP-SDSU-IMF)
Upcoming SlideShare
Loading in...5

Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industrial Modeling Framework (GCIP-SDSU-IMF)



Presented in this short document is a description of what we call the “Generalized” Capital Investment Planning (GCIP) problem where conventional capital investment planning (CIP), and ...

Presented in this short document is a description of what we call the “Generalized” Capital Investment Planning (GCIP) problem where conventional capital investment planning (CIP), and specifically for the “retrofit” problem, is discussed in Sahinidis and Grossmann (1989) and Liu and Sahinidis (1996). CIP is the optimization problem where it is desired to expand the capacity and/or extend the capability (conversion) of either the “expansion” of an existing unit or the “installation” of a new unit (Jackson and Grossmann, 2002).

Figure 1 shows the three types of CIP problems as defined in Vazacopoulos et. al. (2014) and Menezes (2014) with its capital cost and time scales.



Total Views
Views on SlideShare
Embed Views



1 Embed 4

https://www.linkedin.com 4



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industrial Modeling Framework (GCIP-SDSU-IMF) Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industrial Modeling Framework (GCIP-SDSU-IMF) Document Transcript

    • Generalized Capital Investment Planning w/ Sequence-Dependent Setups Industrial Modeling Framework (GCIP-SDSU-IMF) i n d u s t r IAL g o r i t h m s LLC (IAL) www.industrialgorithms.com June 2014 Introduction to “Generalized” Capital Investment Planning, UOPSS and QLQP Presented in this short document is a description of what we call the “Generalized” Capital Investment Planning (GCIP) problem where conventional capital investment planning (CIP), and specifically for the “retrofit” problem, is discussed in Sahinidis and Grossmann (1989) and Liu and Sahinidis (1996). CIP is the optimization problem where it is desired to expand the capacity and/or extend the capability (conversion) of either the “expansion” of an existing unit or the “installation” of a new unit (Jackson and Grossmann, 2002). Figure 1 shows the three types of CIP problems as defined in Vazacopoulos et. al. (2014) and Menezes (2014) with its capital cost and time scales. Figure 1. Three Types of Capital Investment Planning Problems. The shortest CIP problem is the “repair” problem which is typically referred to as Maintenance Planning or Turnaround and Inspection (T&I) Planning and has a “correction” stage that is placed in between the exiting unit before the correction and the improved unit after the correction. The medium-term CIP problem is the “retrofit” problem and is often referred to as Capacity Planning or Production Design Synthesis and has a “commission” stage that is placed in between the existing unit before the commission and the expanded/extended unit after the commission. The longest CIP problem is the “revamp” problem which is sometimes referred to as Facilities Planning and Process Design Synthesis and has a “construction” stage that is placed in between the existing unit before the construction and the expanded/extended unit after the construction. If the unit does not previously exist then this is an installation versus an expansion/extension. To our knowledge this is the first time a connection between the different
    • types of CIP problems has been made i.e., repair/correction (operational), retrofit/commission (tactical/debottlenecking) and revamp/construction (strategic). There are two other salient aspects of our general CIP formulation that sets our formulation apart from all other formulations found in the literature. The first is the modeling of sequence- dependent setups, switchovers or changeovers to manage the realistic situation that a correction, commission or construction stage, activity or task must be planned or scheduled in between the existing and expanded/extended units. This is handled using the appropriate variables and constraints found in Kelly and Zyngier (2007) which albeit intended for discrete- time scheduling problems with repetitive maintenance, can be easily applied here to CIP problems which are also modeled in discrete-time. The second is the modeling of capacity (and capability) and capital as “flows” or quantities. This is the notion that the correction, commission and construction stages actually produce or create capacity and/or capability which can then be used or consumed by the unit in subsequent time-periods but there is of course a charge for the capacity/capability known as the capital cost expenditure. Net present value (NPV) adjustments due to inflationary or deflationary trends over time can be applied to the cost of capital and is simply reflected as a modification to the cost weights in the objective function. For this discussion our focus is on the more widely studied retrofit problem where a small IMPL flowsheet example is presented in Figure 2. Figure 2. Small Generalized CIP Example Flowsheet with “Capacity” and “Capital” Flows. The flowsheet is drawn using our unit-operation-port-state superstructure (UOPSS) described in Kelly (2004), Kelly (2005) and Zyngier and Kelly (2012). The diamond shapes or objects are the perimeter unit-operations where we consume material “A” and produce material “B” in the same proportions. We have just one process unit with three operations of “Existing”, “Commission” and “Expand” as shown by the square boxes with an “x” through it indicating it is a continuous-
    • process type. The first dotted line box highlights that only one unit-operation can be active or setup at a time i.e., a unary resource or the unit commitment constraint. The small circles are the in-ports (w/o “x”) and out-ports (w/ “x”) where these ports have the attributed lower and upper yields available similar to the modeling of generalized network-flow problems i.e., Leontief input/output models with intensities, bill-of-material or transfer coefficients. The operations of Commission and Expand each have a special out-port and in-port labeled as “cpt” which stands for the outflow and inflow of capacity respectively. There is a “Charge” unit- operation which will only be setup if the Commission unit-operation is active and its purpose is to convert the variable capacity to a variable and fixed capital cost using a simple linear equation (see the “cpl” labeled ports): capital cost = alpha * (capacity_new – capacity_old) + beta * setup where the “alpha” coefficient or parameter is applied to the incremental or delta capacity change and the “beta” is applied to the setup variable if the Charge unit-operation is on or open. The out-port on the Charge unit-operation labeled “cpt” is the flow of capacity charged or dispatched to the “Capacity” pool unit-operation (triangle shape). During the one time-period when the Charge unit-operation is active, the flow of capacity to the Capacity pool must be enough capacity to operate the Expand operation for as many time-periods left in the planning time- horizon. For example, if we have a three (3) time-period future horizon and the Commission operation starts in time-period one (1) then enough capacity must be fed or sent to the Capacity pool unit-operation for time-periods two (2) and three (3). The “cpt” in-port on the Expand operation will draw only up to the maximum allowable or upper limit of the expanded capacity allowed from the Capacity pool and this will control the capacity charge-size, throughput or flow through the unit-operation for the Expand operation. In order to do this, the lower yield bound on the “cpt” in-port is configured as one (1.0) and the upper yield bound as infinity (inf) or some large number. This will regulate the throughput of the Expand unit-operation as follows: flow,cpt >= 1.0 * flow,unitop flow,cpt <= inf * flow,unitop which simplifies to: flow,unitop <= 1.0/1.0 * flow,cpt = flow,cpt flow,unitop >= 1.0/inf * flow,cpt = 0.0 The complete configuration of this small generalized CIP problem can found in the IMPL file GCIP-SDSU-IMF.IML found in Appendix A. Industrial Modeling Framework (IMF), IMPL and SIIMPLE To implement the mathematical formulation of this and other systems, IAL offers a unique approach and is incorporated into our Industrial Modeling Programming Language we call IMPL. IMPL has its own modeling language called IML (short for Industrial Modeling Language) which is a flat or text-file interface as well as a set of API's which can be called from any computer programming language such as C, C++, Fortran, C#, VBA, Java (SWIG), Python (CTYPES) and/or Julia (CCALL) called IPL (short for Industrial Programming Language) to both build the model and to view the solution. Models can be a mix of linear, mixed-integer and nonlinear
    • variables and constraints and are solved using a combination of LP, QP, MILP and NLP solvers such as COINMP, GLPK, LPSOLVE, SCIP, CPLEX, GUROBI, LINDO, XPRESS, CONOPT, IPOPT, KNITRO and WORHP as well as our own implementation of SLP called SLPQPE (Successive Linear & Quadratic Programming Engine) which is a very competitive alternative to the other nonlinear solvers and embeds all available LP and QP solvers. In addition and specific to DRR problems, we also have a special solver called SECQPE standing for Sequential Equality-Constrained QP Engine which computes the least-squares solution and a post-solver called SORVE standing for Supplemental Observability, Redundancy and Variability Estimator to estimate the usual DRR statistics. SECQPE also includes a Levenberg-Marquardt regularization method for nonlinear data regression problems and can be presolved using SLPQPE i.e., SLPQPE warm-starts SECQPE. SORVE is run after the SECQPE solver and also computes the well-known "maximum-power" gross-error statistics (measurement and nodal/constraint tests) to help locate outliers, defects and/or faults i.e., mal- functions in the measurement system and mis-specifications in the logging system. The underlying system architecture of IMPL is called SIIMPLE (we hope literally) which is short for Server, Interfacer (IML), Interacter (IPL), Modeler, Presolver Libraries and Executable. The Server, Presolver and Executable are primarily model or problem-independent whereas the Interfacer, Interacter and Modeler are typically domain-specific i.e., model or problem- dependent. Fortunately, for most industrial planning, scheduling, optimization, control and monitoring problems found in the process industries, IMPL's standard Interfacer, Interacter and Modeler are well-suited and comprehensive to model the most difficult of production and process complexities allowing for the formulations of straightforward coefficient equations, ubiquitous conservation laws, rigorous constitutive relations, empirical correlative expressions and other necessary side constraints. User, custom, adhoc or external constraints can be augmented or appended to IMPL when necessary in several ways. For MILP or logistics problems we offer user-defined constraints configurable from the IML file or the IPL code where the variables and constraints are referenced using unit-operation-port-state names and the quantity-logic variable types. It is also possible to import a foreign *.ILP file (row-based MPS file) which can be generated by any algebraic modeling language or matrix generator. This file is read just prior to generating the matrix and before exporting to the LP, QP or MILP solver. For NLP or quality problems we offer user-defined formula configuration in the IML file and single-value and multi-value function blocks writable in C, C++ or Fortran. The nonlinear formulas may include intrinsic functions such as EXP, LN, LOG, SIN, COS, TAN, MIN, MAX, IF, NOT, EQ, NE, LE, LT, GE, GT and CIP, LIP, SIP and KIP (constant, linear and monotonic spline interpolations) as well as user-written extrinsic functions (XFCN). It is also possible to import another type of foreign file called the *.INL file where both linear and nonlinear constraints can be added easily using new or existing IMPL variables. Industrial modeling frameworks or IMF's are intended to provide a jump-start to an industrial project implementation i.e., a pre-project if you will, whereby pre-configured IML files and/or IPL code are available specific to your problem at hand. The IML files and/or IPL code can be easily enhanced, extended, customized, modified, etc. to meet the diverse needs of your project and as it evolves over time and use. IMF's also provide graphical user interface prototypes for drawing the flowsheet as in Figure 1 and typical Gantt charts and trend plots to view the solution of quantity, logic and quality time-profiles. Current developments use Python 2.3 and 2.7 integrated with open-source Dia and Matplotlib modules respectively but other prototypes embedded within Microsoft Excel/VBA for example can be created in a straightforward manner.
    • However, the primary purpose of the IMF's is to provide a timely, cost-effective, manageable and maintainable deployment of IMPL to formulate and optimize complex industrial manufacturing systems in either off-line or on-line environments. Using IMPL alone would be somewhat similar (but not as bad) to learning the syntax and semantics of an AML as well as having to code all of the necessary mathematical representations of the problem including the details of digitizing your data into time-points and periods, demarcating past, present and future time-horizons, defining sets, index-sets, compound-sets to traverse the network or topology, calculating independent and dependent parameters to be used as coefficients and bounds and finally creating all of the necessary variables and constraints to model the complex details of logistics and quality industrial optimization problems. Instead, IMF's and IMPL provide, in our opinion, a more elegant and structured approach to industrial modeling and solving so that you can capture the benefits of advanced decision-making faster, better and cheaper. “Generalized” Capital Investment Planning Synopsis At this point we explore further the solution to the small retrofit generalized CIP problem fully defined in Figure 2 and Appendix A. The future planning time-horizon is arbitrarily configured as three (3) months and with one (1) month time-periods. The existing or old capacity of the process is 1.0 quantity-units per month and the new capacity is 1.5. The capital cost is computed with an alpha = 0.5 ($ per quantity-units) and a beta = 0.5 ($ per setup-units). The cost for material A is $0.0 per quantity-unit and the price for B is $1.0 per quantity-unit and we do not apply any NPV given the relatively short horizon. The problem is solved using MILP with a provably optimal objective function of $3.25. If we apply no expansion then the profit would be $3.0 since the existing capacity is 1.0 for three (3) time-periods. Since the profit is $0.25 more than $3.0 then there has been an expansion where the Commission operation is setup or started in time-period one (1). To perform an expansion of 1.5 – 1.0 = 0.5 quantity-units then the capital cost required is 0.5 * 0.5 + 0.5 = $0.75. Given the timing of the Commission stage, this implies that the Expand stage occurs in time-periods two (2) and three (3) which is enforced by the sequence-dependent setup modeling i.e., after the Commission stage only the Expand stage can be setup for the rest of the horizon. With an expansion capital cost of $0.75 and a revenue for the sale of material B of 1.0 + 1.5 + 1.5 = $4.0 for the three (3) planning periods then this leaves a profit of $4.0 - $0.75 = $3.25 which is the same value found by the MILP. The Gantt chart for this example is found in Figure 3.
    • Figure 3. Gantt Chart for Small Generalized CIP Example. From the Gantt chart we can verify the timing for the Commission and Expand unit-operation on the Process unit. The interesting detail is the Capacity pool holdup or inventory trend of capacity which is shown as the grey line inside the black horizon bar. We can see a charge of capacity in time-period one (1) and a continuous draw or dispatch out in time-periods two (2) and three (3). In summary, we have shown how to use IMPL, which is a “generalized network-flow using setups (and properties)” approach to solving diverse decision-making and data-mining problems found in the process industries, to model and solve a typical capital investment planning problem. We have applied the concepts of “sequence-dependent setups” and the notion of “capacity/capability and capital flows” to formulate the CIP problem in a unique and novel way without having to explicitly code the sets, parameters, variables and constraints in an algebraic modeling language such as AMPL, AIMMS, GAMS, MOSEL, OPL etc. Instead, IMPL allows the modeler or user the ability to configure the problem using semantic variables such as flows, yields and setups which is more intuitive and natural. References Sahinidis, N.V., Grossmann, I.E., Fornari, R.E., Chathrathi, M., "Optimization model for long range planning in the chemical industry", Computers & Chemical Engineering, 13, 1049, (1989). Liu, M-L., Sahinidis, N.V., “Long range planning in the process industries: a projection approach”, Computers & Operations Research, 23, 237, (1996). Jackson, R.J., Grossmann, I.E., “High-level optimization for the retrofit planning of process networks”, Industrial & Engineering Chemistry Research, 41, 3762-3770, (2000). Kelly, J.D., "Production modeling for multimodal operations", Chemical Engineering Progress, February, 44, (2004).
    • Kelly, J.D., "The unit-operation-stock superstructure (UOSS) and the quantity-logic-quality paradigm (QLQP) for production scheduling in the process industries", In: MISTA 2005 Conference Proceedings, 327, (2005). Kelly, J.D., Zyngier, D., "An improved MILP modeling of sequence-dependent switchovers for discrete-time scheduling problems", Industrial & Engineering Chemistry Research, 46, 4964, (2007). Zyngier, D., Kelly, J.D., "UOPSS: a new paradigm for modeling production planning and scheduling systems", ESCAPE 22, June, (2012). Vazacopoulos, A., Kelly, J.D., Menezes, B.C, Grossmann, I.E., “A general approach for capital investment planning of oil-refineries using MILP and sequence-dependent setups”, INFORMS Analytics & Operations Research, Boston, March, (2014). Menezes, B.C., “Quantitative methods for strategic investment planning in the oil- refining industry”, PhD Thesis, Federal University of Rio de Janeiro (UFRJ), August, (2014). Appendix A - GCIP-SDSU-IMF.IML File i M P l (c) Copyright and Property of i n d u s t r I A L g o r i t h m s LLC. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Calculation Data (Parameters) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sCalc,@sValue START,-1.0 BEGIN,0.0 END,3.0 PERIOD,1.0 LARGE,10000.0 ALPHA,0.5 BETA,0.5 OLDCAPACITY,1.0 NEWCAPACITY,1.5 &sCalc,@sValue !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Chronological Data (Periods) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @rPastTHD,@rFutureTHD,@rTPD START,END,PERIOD @rPastTHD,@rFutureTHD,@rTPD !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Construction Data (Pointers) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@sType,@sSubtype,@sUse A,,perimeter,, B,,perimeter,, Capacity,,pool,, Capital,Cost,perimeter,, Charge,,processc,, Process,Commission,processc,, Process,Existing,processc,, Process,Expand,processc,, &sUnit,&sOperation,@sType,@sSubtype,@sUse &sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype A,,a,,out, B,,b,,in, Capacity,,i,,in, Capacity,,o,,out, Capital,Cost,cpl,,in, Charge,,cpl,,out,
    • Charge,,cpt,,out, Charge,,i,,in, Process,Commission,a,,in, Process,Commission,b,,out, Process,Commission,cpt,,out, Process,Existing,a,,in, Process,Existing,b,,out, Process,Expand,a,,in, Process,Expand,b,,out, Process,Expand,cpt,,in, &sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState A,,a,,Process,Commission,a, A,,a,,Process,Existing,a, A,,a,,Process,Expand,a, Capacity,,o,,Process,Expand,cpt, Charge,,cpl,,Capital,Cost,cpl, Charge,,cpt,,Capacity,,i, Process,Commission,b,,B,,b, Process,Commission,cpt,,Charge,,i, Process,Existing,b,,B,,b, Process,Expand,b,,B,,b, &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Capacity Data (Prototypes) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@rRate_Lower,@rRate_Upper Process,Existing,0.0,OLDCAPACITY Process,Commission,0.0,OLDCAPACITY Process,Expand,0.0,LARGE Charge,,0.0,NEWCAPACITY &sUnit,&sOperation,@rRate_Lower,@rRate_Upper &sUnit,&sOperation,@rHoldup_Lower,@rHoldup_Upper Capacity,,0.0,NEWCAPACITY*END &sUnit,&sOperation,@rHoldup_Lower,@rHoldup_Upper &sUnit,&sOperation,&sPort,&sState,@rTotalRate_Lower,@rTotalRate_Upper ALLINPORTS,0.0,LARGE ALLOUTPORTS,0.0,LARGE &sUnit,&sOperation,&sPort,&sState,@rTotalRate_Lower,@rTotalRate_Upper &sUnit,&sOperation,&sPort,&sState,@rTeeRate_Lower,@rTeeRate_Upper ALLINPORTS,0.0,LARGE ALLOUTPORTS,0.0,LARGE Process,Expand,cpt,,0.0,NEWCAPACITY &sUnit,&sOperation,&sPort,&sState,@rTeeRate_Lower,@rTeeRate_Upper &sUnit,&sOperation,&sPort,&sState,@rYield_Lower,@rYield_Upper,@rYield_Fixed Process,Existing,a,,1.0,1.0, Process,Existing,b,,1.0,1.0, Process,Commission,a,,1.0,1.0, Process,Commission,b,,1.0,1.0, Process,Commission,cpt,,0.0,LARGE, Process,Expand,a,,1.0,1.0, Process,Expand,b,,1.0,1.0, Charge,,i,,1.0,1.0 Charge,,cpl,,ALPHA,ALPHA,BETA-ALPHA*OLDCAPACITY Charge,,cpt,,0.0,0.0 Process,Expand,cpt,,1.0,LARGE, &sUnit,&sOperation,&sPort,&sState,@rYield_Lower,@rYield_Upper,@rYield_Fixed !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Constriction Data (Practices/Policies) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@rUpTiming_Lower,@rUpTiming_Upper Process,Commission,1.0,1.0 Process,Expand,END, &sUnit,&sOperation,@rUpTiming_Lower,@rUpTiming_Upper !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Consolidation Data (Partitioning) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,&sOperationGroup Process,Existing,ExistingGroup Process,Expand,ExpandGroup &sUnit,&sOperation,&sOperationGroup !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Compatibility Data (Phasing, Prohibiting, Purging, Postponing) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperationGroup,&sOperationGroup,@sOperation Process,ExistingGroup,ExpandGroup,Commission
    • &sUnit,&sOperationGroup,&sOperationGroup,@sOperation !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Cost Data (Pricing) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,&sPort,&sState,@rFlowPro_Weight,@rFlowPer1_Weight,@rFlowPer2_Weight,@rFlowPen_Weight A,,a,,0.0 B,,b,,1.0 Capital,Cost,cpl,,-1.0 &sUnit,&sOperation,&sPort,&sState,@rFlowPro_Weight,@rFlowPer1_Weight,@rFlowPer2_Weight,@rFlowPen_Weight !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Content Data (Past, Present Provisos) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@rHoldup_Value,@rStart_Time Capacity,,0.0,0.0 &sUnit,&sOperation,@rHoldup_Value,@rStart_Time &sUnit,&sOperation,@rSetup_Value,@rStart_Time Process,Existing,1,START &sUnit,&sOperation,@rSetup_Value,@rStart_Time !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Command Data (Future Provisos) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! &sUnit,&sOperation,@rSetup_Lower,@rSetup_Upper,@rBegin_Time,@rEnd_Time ALLPARTS,0,1,BEGIN,END &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,0,1,BEGIN,END &sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState,@rSetup_Lower,@rSetup_Upper,@rBegin_Time,@rEnd_Time &sUnit,&sOperation,&sPort,&sState,@rYield_Lower,@rYield_Upper,@rYield_Target,@rBegin_Time,@rEnd_Time Charge,,cpt,,1.0*(END-1.0),1.0*(END-1.0),,0.0,1.0 Charge,,cpt,,1.0*(END-2.0),1.0*(END-2.0),,1.0,2.0 Charge,,cpt,,1.0*(END-3.0),1.0*(END-3.0),,2.0,3.0 &sUnit,&sOperation,&sPort,&sState,@rYield_Lower,@rYield_Upper,@rYield_Target,@rBegin_Time,@rEnd_Time