Presented in this short document is a description of what we call "Phasing" and "Planuling". Phasing is a variation of the sequence-dependent changeover problem (Kelly and Zyngier, 2007, Balas et. al., 2008) except that the sequencing, cycling or phasing is fixed as opposed to being variable or free. Planuling is a portmanteau of planning and scheduling where we "schedule" slow processes and we "plan" fast processes together inside the same time-horizon and can also be considered as "hybrid" planning and scheduling.
Human Factors of XR: Using Human Factors to Design XR Systems
Planuling & Phasing
1. Phasing and Planuling1
Industrial Modeling Framework (PsPn-IMF)
i n d u s t r IAL g o r i t h m s LLC. (IAL)
www.industrialgorithms.com
July 2013
Introduction to Phasing, Planuling, UOPSS and QLQP
Presented in this short document is a description of what we call "Phasing" and "Planuling".
Phasing is a variation of the sequence-dependent changeover problem (Kelly and Zyngier,
2007, Balas et. al., 2008) except that the sequencing, cycling or phasing is fixed as opposed to
being variable or free. Planuling is a portmanteau of planning and scheduling where we
"schedule" slow processes and we "plan" fast processes together inside the same time-horizon
and can also be considered as "hybrid" planning and scheduling. Figure 1 depicts a sample
flowsheet problem with a batch-process unit (BatchUnit), a continuous-process unit (PackUnit)
and three storage units (Tank1, Tank2, Tank3) drawn using our unit-operation-port-state
superstructure (UOPSS) (Kelly, 2004, 2005, and Zyngier and Kelly, 2012).
Figure 1. Phasing and Planuling UOPSS Flowsheet.
1
Trademark pending.
2. The rectangular shapes without the cross-hairs are batch-process types of unit-operations and
with the cross-hairs are continuous-process types. The triangular shapes are pool unit-
operations and the diamond shapes are called perimeters and represent the points where
resources or materials enter and leave the flowsheet i.e., sources and sinks. The circles without
cross-hairs are inlet ports and with cross-hairs are outlet ports where ports are the flow
interfaces to the unit-operations. The lines with arrow-heads connecting outlet ports to inlet
ports are called "external" streams or in graph theory they are called arcs or edges. The lines
without arrow-heads are "internal" streams and refer to inlet ports connected to unit-operations
and unit-operations connected to outlet ports.
Each unit-operation and external stream have both a quantity and a logic variable assigned or
available and represent either a flow or holdup if quantity and either a setup or startup if logic.
Batch-processes have holdups and startups, continuous-processes have flows and setups,
pools have holdups and setups and perimeters only have a logic setup variable. The internal
streams have neither explicit/independent flow and setup variables given that their flows are
uniquely determined by the aggregation of the appropriate external streams and their setups are
taken from the setup variables on the unit-operation they are attached to.
Industrial Modeling Framework (IMF), IMPRESS and SIIMPLE
To implement the mathematical formulation of this and other systems, IAL offers a unique
approach and is incorporated into our Industrial Modeling and Pre-Solving System we call
IMPRESS. IMPRESS 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, Java (SWIG), C# or Python
(CTYPES) 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 and
KNITRO 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.
The underlying system architecture of IMPRESS is called SIIMPLE (we hope literally) which is
short for Server, Interacter (IPL), Interfacer (IML), Modeler, Presolver Libraries and Executable.
The Server, Presolver and Executable are primarily model or problem-independent whereas the
Interacter, Interfacer 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, IMPRESS's standard Interacter, Interfacer
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 IMPRESS 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 LP 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
3. 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 KIP,
LIP, SIP (constant, linear and monotonic spline interpolation) as well as user-written extrinsic
functions.
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 IMPRESS to formulate and optimize complex industrial
manufacturing systems in either off-line or on-line environments. Using IMPRESS 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 IMPRESS 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.
Phasing and Planuling Synopsis
At this point we explore further the purpose of phasing and planuling in terms of its usefulness in
advanced planning and scheduling applications. We first describe phasing which as mentioned
is a fixed form of sequence-dependent switchover modeling. Phasing allows for the
implementation of what is known in the speciality chemicals and consumer goods industries as
a "product-wheel" and also known as "blocking" in other industries where the cost of sequence-
dependent changeovers is significant such as in the paper and bottling industries. A product-
wheel forces product A to be followed by product B then followed by product C and so on. In
this way, the sequence-dependency is fixed or forced i.e., is essentially pre-defined, as opposed
to variable or free sequence-dependent switchovers which requires more variables and
constraints to be modeled and requires more time when solving or searching for solutions.
Hence, the advantage of phasing is that it can be used to find solutions quicker at the expensive
of being less flexible in terms of handling more disruptions or disturbances with respect to
supply, demand, maintenance and other production-order scenarios. IMPRESS has three other
sequence-dependent changeover modeling types we call "purging", "prohibiting" and
"postponing". Purging requires a repetitive maintenance task to be configured between two
production or process operations requiring cleaning activities which may or may not require the
consumption and/or production of resources. Prohibiting forbids or disallows certain sequences
of operations from ever being scheduled or occurring and postponing implements sequence-
dependent and sequence-independent down-times between certain operations on a unit. The
4. sequence-dependent details are configured using operation-groups or families instead of
individual operations which is typical of sequence-dependent changeover modeling.
Planuling is our term for combining planning and scheduling together within the same future
time-horizon. It is a portmanteau of planning and scheduling and may also be classified as
hybrid planning and scheduling given that within the same time-horizon some units, machines or
equipment are planned and others are scheduled. This typically occurs when units with long
run-lengths or time-constants are optimized together with units with short run-lengths whereby
determining a greatest common factor would result in many small time-periods. This also
occurs when numerically integrating ordinary differential equations (ODE) and is the
phenomenon known as stiff-systems. Our novel approach to reduce the number of time-periods
and hence decrease the time to find good solutions is to "schedule" the slow processes and to
"plan" the fast processes with the understanding or assumption that planning the short
processes makes sense or is appropriate. These types of situations are common in industry
and occur when large amounts of materials are produced in bulk operations and then need to
be packed into smaller amounts where the packing processes are much faster than the bulking
or batching operations. A specific example can also be found in oil-refining when crude-oils are
distilled and converted (refined) into many diverse intermediate products in slower major
processing units but are blended into finished products such as gasoline, diesel and heating oil
in faster blending operations. From a mathematical formulation perspective, we essentially
allow the planuling model to contain both "big-buckets" or planning time-periods and "small-
buckets" or scheduling time-periods. Big-buckets are used for the slow unit-operations and
small-buckets are used for the fast unit-operations. Other examples of planuling other than
"bulking to packing" or "refining to blending" is "smelting to casting", "fermenting to purifying",
"rolling to sheeting" and "batching to dispensing".
Figure 2 below is the Gantt chart of the flowsheet found in Figure 1 configured in IMPRESS's
IML file and computed using SCIP in about 3-seconds using 1-day time-periods. There is a 3-
day past horizon where Batch2 starts 2-days before the start of the 120-day future time-horizon.
The batch-sizes and batch-times of the BatchUnit for Batch1 are 2000 m3 and 2-days, Batch2
are 4000 m3 and 4-days and Batch3 are 5000 m3 and 5-days. The three tanks or pools each
have a capacity of 4000 m3 and open with 2000 m3 each. The PackUnit has six operations
Batch1Pack1, Batch1Pack2, Batch2Pack1, Batch2Pack2, Batch3Pack1 and Batch3Pack2 with
charge-sizes of 1200, 1200, 2400, 2400, 2400 and 2400 m3 respectively. These operations
have a minimum run-length of 11-hours and must not exceed 24-hours of continuous operation
i.e., they have a maximum run-length of 24-hours.
Based on the above planuling discussion, the greatest common denominator is 1-hour and
would require 24 times the matrix elements compared to our current implementation using 120
24-hour time-periods and enhancing the modeling to include our new planuling formulation. The
current matrix has approximately 11000 rows, 8000 columns of which 4000 are binary, 30000
non-zeros. If we used a 1-hour time-period this would require 120 * 24 = 2880 time-periods
where the larger matrix would have 264000 rows, 192000 columns, 96000 binaries and 720000
non-zeros. Obviously, planuling is able to drastically reduce the size of the problem provided
that planning and not scheduling of the fast unit-operations is sufficient for the decision-making
at hand.
5. Figure 2. Gantt Chart with 3-day and 120-day Past and Future Horizons.
From the top of Figure 2, the phasing specified is to start with Batch2 in the BatchUnit followed
by Batch1 and then Batch3 and cycles 11 times. For the tanks, the grey trend line with the
black horizontal bar represents the holdup or inventory profile within the tank where it is
observed that the final holdup on the 120th day is zero (0) for all tanks which is consistent with
our objective function of maximizing the flow of the packed materials with equal weighting or
pricing leaving the plant. On the PackedUnit for the six operations, we can see that some of the
charge-sizes are less than their maximums as indicated by their trend lines. We also notice that
in some instances or occurrences, two packing operations or activities take place concurrently
i.e., within the same day time-period. This is also consistent with our planuling formulation
which models the PackUnit as a planned unit with big-buckets where there can be more than
one operation active within the same time-period. The BatchUnit is a scheduled unit with small-
buckets which only allows one task per time-period. The last section of the Gantt chart shows
the Pack1Batch1, etc. perimeter unit-operations, here we see that the demand-orders for the
packed batches has two types of interruptions. The first is the arbitrary 6-day gap or spread in
the middle of the demand-orders and four 1-day interruptions in each demand-order which
represents hypothetically the requirement or scenario that for the last day of the month the
PackUnit is completely shutdown or unavailable for the entire day.
In summary, we have demonstrated two advanced planning and scheduling (APS) concepts
called phasing and planuling. Phasing is not a new concept as mentioned however modeling it
mathematically and solving it using MILP has received little it if not zero attention in the
literature. Our new concept of planuling is definitely novel and to our knowledge has not been
presented previously. It is a pragmatic procedure in the sense that for some faster units, they
can be planned instead of being scheduled with little loss in decision-making accuracy or
capability. It has the benefit of requiring significantly less matrix elements and will translate into
quicker solutions for what would previously be intractable or insolvable APS problems.
References
6. 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).
Balas, E., Simonetti, N., Vazacopoulos, A., "Job shop scheduling with setup times, deadlines
and precedence constraints", Journal of Scheduling, 11, 253, (2008).
Zyngier, D., Kelly, J.D., "Multi-product inventory logistics modeling in the process industries", In:
W. Chaovalitwonse, K.C. Furman and P.M. Pardalos, Eds., Optimization and Logistics
Challenges in the Enterprise", Springer, 61-95, (2009).
Zyngier, D., Kelly, J.D., "UOPSS: a new paradigm for modeling production planning and
scheduling systems", ESCAPE 22, June, (2012).
Appendix A - PhasingPlanuling-IMF.UPS File
Appendix B - PhasingPlanuling-IMF.IML File