Scheduling Calculations

Based on scheduling information provided at all above levels (operation, procedure and process), the scheduling engine of the program will be invoked at the end of M&E balances and it will calculate the following (as outputs, see Scheduling Calculations):

a)  the process batch time (aka recipe batch time), RBT

b)  the minimum recipe cycle time, RCTmin

c)   the maximum number of batches per year, NBmax

d)  the longest procedure in the recipe (procedure with longest duration)

e)  the scheduling bottleneck equipment, and

f)    two out of: number of batches per year (NB), recipe cycle time (RCT), recipe cycle time slack (RCTS).

The scheduling outputs can be viewed from the Recipe Scheduling Information Dialog accessed by selecting Tasks } Recipe Scheduling Information from the main menu.

IconInfo.bmp 

Besides updating the scheduling outputs, SuperPro Designer’s scheduling engine will also check to make sure that no major scheduling constraints are violated (equipment sharing violations, minimum cycle time violations, etc.). If any such constraint violations are found, they will be reported at the error/warning output window (see Error Output Window). Note that the scheduling engine will also be checking for scheduling violations before a request for a time chart is made by the user and after each operation’s, procedure’s or equipment’s i/o simulation dialog is closed. If you wish to have the scheduling violations only be reported after the end of M&E balances, you can visit the flowsheet’s preferences dialog (select Preferences } Miscellaneous from the flowsheet’s context menu, see Miscellaneous Process Preferences Dialog)

All scheduling calculation are performed after the mass and energy balances have been calculated as some of the inputs to the calculations (e.g. operation durations) may be calculated at the end of M&E balance calculations.

Scheduling Output Information

Based on all operation scheduling data (start times and durations) and procedure scheduling data (number of cycles), the application computes all the absolute start and end times for all operations and procedures in the recipe as well as all equipment occupancy times. The latest operation absolute end time defines the batch duration or batch time (RBT); the longest equipment occupancy time defines the minimum cycle time (RCTmin). If there are equipment in the process that are shared and used across batches, then the minimum cycle time may be defined by the longest equipment busy time.

IconInfo00001.bmp 

If desired, you can exclude altogether an equipment (and its contained procedures and operations) from any scheduling considerations. For instance, you may not wish to have simple mixers or splitters appear in your Gantt charts. Select Equipment Data from the procedure’s command menu and from the ensuing dialog check the box indicated by the label Omit from Scheduling. From then on, any procedures hosted by this equipment resource (and operations included in those procedures) will not contribute to the recipe’s batch time and they will not appear in any scheduling related charts (Gantt Chart, Equipment Occupancy Chart, etc.).

Next, using the recipe's available annual operating time (AOTav), and the annual number of campaigns (k) the system computes the maximum number of batches per year (NBmax) using the following relationship:

Chapter700002.jpg 

eq. (7.1)

Note that the same relationship as shown in eq. (7.1) also holds when AOT (actual) is used instead of AOTav and RCT and NB are used instead of RCTmin and NBmax

Chapter700004.jpg 

eq. (7.2)

The following relation exists between RCT, RCTS (recipe cycle time slack) and RCTmin

Chapter700006.jpg 

eq. (7.3)

Since the user provides either RCT or RCTS, and the RCTmin is always calculated based on the operation-level scheduling data, we can assume that RCT is always available (either as a direct input by the user - in which case the system calculates RCTS from eq. (7.3) - or as output of eq. (7.3) using the user-provided value of RCTS. Based on the fact that RCT is always known, we can use eq. (7.2) two ways:

a)  If the NB is allowed to be calculated, then we calculate NB as the maximum integer that keeps the right-hand of side of eq. (7.2) less than or equal to AOTav (upper limit); with this value of NB, eq. (7.2) is evaluated to provide the actual value of AOT.

b)  If the NB is provided by the user, then we use eq. (7.2) directly to calculate the actual AOT (must be ≤ AOTav).

Scheduling Constraints

Before performing any scheduling calculations, SuperPro Designer verifies that no scheduling constraints are violated. Scheduling constraints are checked at:

      Each equipment resource level

      Overall process scheduling level

At the individual equipment resource level, SuperPro Designer will make sure that:

a)  no two procedures have been scheduled to execute using the same equipment host with overlapping procedure times. If you don't employ equipment sharing, then no such constraints at the equipment level will exist.

b)  all operations in a procedure, have (possibly calculated) absolute start times that are consistent with their execution order (in the procedure’s queue).

The constraints at the recipe level have to do with the setting of unachievable goals expressed as user specifications at the recipe level.

1.   If the user supplied the value of RCT, then after RCTmin is known, the system will make sure that RCT is always greater or equal to RCTmin.

2.   If the user provided NB, then we must make sure that NB is always less than or equal to NBmax.

3.   Finally, if both NB and RCT are provided, the application will make sure that the resulting AOT is less than or equal to AOTav.

If any of the above targets leads to a constraint violation, then SuperPro Designer will announce that your scheduling targets may be infeasible (message may be echoed in popup window or in a separate line in the warning/error output pane).

Recipe Cycle Time (RCT) Bounds Calculation

As indicated earlier, in the calculation of RCTmin each equipment contributes its own occupancy time (including both busy and idle intervals) unless the equipment is shared across batches; in this latter case, the longest busy time among all steps that share the equipment is taken into account in the calculation of RCTmin.

In the absence of equipment shared across batches, RCTmin is the lowest bound on all feasible cycle times; any implemented cycle time greater than RCTmin is guaranteed to produce feasible schedules with no equipment conflicts. If, however, there exist equipment (such as CIP skids) that are assumed by default to be sharable across batches or are declared by the user to be sharable, then the calculated, in the above way, RCTmin is not necessarily feasible and the feasible RCT value region is not a continuous interval. For this reason, SuperPro Designer offers a feature that will aid the user in finding all feasible cycle time bounds.

The algorithm implemented in SuperPro Designer for calculating feasible cycle time bounds is based on literature in cyclic scheduling and more specifically on the work of Mayer et al. (2008) and Hanen (1994). Very roughly, the calculation process checks all possible pairs of processing steps (procedures or operations) that share the same equipment to identify cycle time bounds that lead to non-overlapping schedules. For any processing steps i and j with i being executed before j within a batch, it can be proven that feasible cycle times must satisfy the following relation:

Chapter700008.jpg

 

eq. (7.4)

where si is the absolute start time of step i, ej is the absolute end time of step i and K(j,i) is a positive integer. For different values of K(j,i) the above relation yields all possible cycle time intervals that produce schedules where steps i and j do not overlap across batches. The intersection of all these feasible intervals for all possible pairs of equipment-sharing steps yields the cycle time bounds that make the entire process feasible.

References

1.   Hanen C., “Study of a NP-Hard cyclic scheduling problem: The recurrent job-shop”, European Journal of Operational Research, 72 (1994) p82-101.

2.   Mayer E., Haus U-U, Raisch J., Weismantel R., “Throughput-optimal sequences for cyclically operated plants”, Discrete Event Dyn Syst, 18 (2008) p355-383.

Scheduling and Equipment Sizing

Process scheduling decisions have an impact on equipment sizing and reversely, equipment sizes have an impact on the process schedule. When equipment resources are set in design mode, longer cycle times for operations lead to longer cycle times for procedures and therefore they may increase the minimum recipe cycle time leading to fewer number of batches per year. Raising the number of cycles in a procedure to values higher than one, may result in smaller equipment capacity demands (which is equivalent to lower capital investment) but at the same time they increase the cycle time of the procedures and therefore the equipment occupancy times, possibly pushing the minimum cycle time to higher values. Such an increase, once again, may lead to fewer feasible number of batches per year, and possibly to a small annual throughput. Sharing of equipment resources by multiple procedures has a potential similar effect: yields a direct savings in capital, but at a potential penalty in NBmax. Such trade-offs between capital and throughput will be further analyzed in Chapter 11  (Debottlenecking). When designing new facilities, users should strive for a balance between capital investment, plant capacity, and flexibility for expansion.