Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Planuling & Phasing


Published on

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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Planuling & Phasing

  1. 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) 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. 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. 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. 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. 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. 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