+ All Categories
Home > Documents > Reactive scheduling using parametric programming

Reactive scheduling using parametric programming

Date post: 24-Feb-2023
Category:
Upload: ualberta
View: 0 times
Download: 0 times
Share this document with a friend
14
Reactive Scheduling Using Parametric Programming Zukui Li and Marianthi G. Ierapetritou Dept. of Chemical and Biochemical Engineering, Rutgers University, Piscataway, NJ 08854 DOI 10.1002/aic.11593 Published online August 26, 2008 in Wiley InterScience (www.interscience.wiley.com). To address the various disruptive events that occur during process operations, reac- tive scheduling is commonly used. However, a major limitation of the existing reactive scheduling techniques is the response time, which might cause significant delay while the generation of a new schedule takes place. In this article, a novel approach is pro- posed to improve the efficiency of reactive scheduling and to avoid the resolution of a complex optimization problem when uncertain event occurs during the scheduling pe- riod. In the proposed method, reactive schedule is obtained from the solution of multi- parametric programming problem, which is solved ahead of time and covers all possi- ble outcomes of future uncertainty. The multiparametric programming problem is derived from a new reactive scheduling formulation, which integrates disruptive events (rush order and machine breakdown) as uncertain parameters in the process modeling. Several examples are presented to illustrate the effectiveness of the proposed approach. Ó 2008 American Institute of Chemical Engineers AIChE J, 54: 2610–2623, 2008 Keywords: reactive scheduling, multiparametric programming, uncertainty, rush order, machine breakdown Introduction Uncertainty is a very important concern in scheduling of process operations in real plants. Uncertainty appears from different sources, such as variability in processing times of different tasks, unexpected machine breakdown, staffing/op- erator problems, unexpected arrival of new orders, cancella- tion or modification of existing orders, early or late arrival of raw materials, modification of release and due dates, etc. These uncertainties often make the schedule generated under the deterministic assumption suboptimal or even infeasible. Uncertainty consideration, thus, is very important to preserve plant feasibility and viability during operations. Based on different treatment of uncertainty, methods for process scheduling under uncertainty can be classified into two groups: preventive scheduling and reactive scheduling. Preventive scheduling generates scheduling policies before uncertainty occurs by taking into account uncertainty in gen- erating schedules that can tolerate parameter variability. The consideration of uncertainty information is used to make the preventive schedule more robust, which means to remain valid and satisfy performance requirements under a wide va- riety of disturbances. Preventive scheduling is often used when the uncertainty can be quantified in some way. Typical techniques used for preventive scheduling are stochastic pro- gramming and robust optimization. Stochastic programming model handles future uncertainty (e.g., demand) through recourse operation according to different uncertainty scenarios 1–3 ; whereas robust optimization based methods aim at generating feasible schedule for all possible scenarios. 4–6 If the degree of uncertainty is high or if there is no informa- tion about the behavior of uncertainty, a different reactive scheduling approach is more appropriate. Reactive scheduling, which is also called rescheduling, takes place when the schedule is implemented based on up-to-date information regarding the state of the system. It requires the modification of the existing schedule during the manufacturing process to adapt to the changes (uncertainty) Correspondence concerning this article should be addressed to M. G. Ierapetritou at [email protected]. Ó 2008 American Institute of Chemical Engineers AIChE Journal October 2008 Vol. 54, No. 10 2610
Transcript

Reactive Scheduling Using ParametricProgramming

Zukui Li and Marianthi G. IerapetritouDept. of Chemical and Biochemical Engineering, Rutgers University, Piscataway, NJ 08854

DOI 10.1002/aic.11593Published online August 26, 2008 in Wiley InterScience (www.interscience.wiley.com).

To address the various disruptive events that occur during process operations, reac-tive scheduling is commonly used. However, a major limitation of the existing reactivescheduling techniques is the response time, which might cause significant delay whilethe generation of a new schedule takes place. In this article, a novel approach is pro-posed to improve the efficiency of reactive scheduling and to avoid the resolution of acomplex optimization problem when uncertain event occurs during the scheduling pe-riod. In the proposed method, reactive schedule is obtained from the solution of multi-parametric programming problem, which is solved ahead of time and covers all possi-ble outcomes of future uncertainty. The multiparametric programming problem isderived from a new reactive scheduling formulation, which integrates disruptive events(rush order and machine breakdown) as uncertain parameters in the process modeling.Several examples are presented to illustrate the effectiveness of the proposedapproach. � 2008 American Institute of Chemical Engineers AIChE J, 54: 2610–2623, 2008

Keywords: reactive scheduling, multiparametric programming, uncertainty, rush order,machine breakdown

Introduction

Uncertainty is a very important concern in scheduling ofprocess operations in real plants. Uncertainty appears fromdifferent sources, such as variability in processing times ofdifferent tasks, unexpected machine breakdown, staffing/op-erator problems, unexpected arrival of new orders, cancella-tion or modification of existing orders, early or late arrival ofraw materials, modification of release and due dates, etc.These uncertainties often make the schedule generated underthe deterministic assumption suboptimal or even infeasible.Uncertainty consideration, thus, is very important to preserveplant feasibility and viability during operations.

Based on different treatment of uncertainty, methods forprocess scheduling under uncertainty can be classified intotwo groups: preventive scheduling and reactive scheduling.Preventive scheduling generates scheduling policies before

uncertainty occurs by taking into account uncertainty in gen-erating schedules that can tolerate parameter variability. Theconsideration of uncertainty information is used to make thepreventive schedule more robust, which means to remainvalid and satisfy performance requirements under a wide va-riety of disturbances. Preventive scheduling is often usedwhen the uncertainty can be quantified in some way. Typicaltechniques used for preventive scheduling are stochastic pro-gramming and robust optimization. Stochastic programmingmodel handles future uncertainty (e.g., demand) throughrecourse operation according to different uncertaintyscenarios1–3; whereas robust optimization based methods aimat generating feasible schedule for all possible scenarios.4–6

If the degree of uncertainty is high or if there is no informa-tion about the behavior of uncertainty, a different reactivescheduling approach is more appropriate.

Reactive scheduling, which is also called rescheduling,takes place when the schedule is implemented based onup-to-date information regarding the state of the system. Itrequires the modification of the existing schedule during themanufacturing process to adapt to the changes (uncertainty)

Correspondence concerning this article should be addressed to M. G. Ierapetritouat [email protected].

� 2008 American Institute of Chemical Engineers

AIChE JournalOctober 2008 Vol. 54, No. 102610

such as rush order arrivals, order cancellations, or machinebreakdowns. For this type of uncertainty, there is not enoughinformation prior to realization of the uncertain parametersthat will allow a protective action, so almost all the methodsin the literature aim to resolve a rescheduling problem oncethe disruptive events occur.

The reactive scheduling actions are based on variousunderlying strategies. It can rely on simple techniques orheuristic rules to seek a quick schedule consistency restora-tion. One of the earliest efforts in reactive scheduling wasreported by Cott and Macchietto7 who considered fluctua-tions of processing times and used a shifting algorithm tomodify the starting times of processing steps of a batch bythe maximum deviation between the expected and actualprocessing times of all related processing steps. Kanakame-dala et al.8 developed a least-impact heuristic approach withtwo levels that allows time shifting and unit replacement inmultipurpose batch plants. Huercio et al.9 proposed a reactivescheduling technique to deal with variations in task process-ing times and equipment availability. They generated a set ofdecision trees using alternative unit assignments, each basedon a conflict in the real production schedule caused by adeviation between the real schedule and the nominal sched-ule. Branches of the trees are then pruned according to heu-ristic equipment selection rules. Sanmartı et al.10 extendedthis work to cover unexpected equipment failure. Rodrigueset al.11 also considered uncertain processing times and pro-posed a rolling-horizon approach that incorporates a look-ahead procedure to avoid possible violations of future duedates. Honkomp et al.12 proposed a reactive schedulingframework for processing time variations and equipmentbreakdown by coupling a deterministic schedule optimizerwith a simulator that introduces stochastic events where twodifferent formulations of time are considered. A number ofrescheduling strategies were proposed and heuristics wereused to locate critical tasks, which can be modified to makethe nominal schedule less susceptible to the effects of proc-essing time variability.

On the other hand, a number of the techniques presentedin the literature involve a full scheduling of the tasks thathave to be executed after the unexpected event occursthrough mathematical programming approaches relyingmostly on mixed integer linear programming (MILP). Roslofet al.13 developed an MILP-based heuristic algorithm by iter-atively releasing a set of jobs from a nominal schedule andoptimally reallocating them, where the complexity of theproblem is controlled through the number of simultaneouslyreleased jobs. Ruiz et al.14 presented a fault diagnosis systemthat interacts with a schedule optimizer for multipurposebatch plants to perform reactive scheduling in the event ofprocessing time variability or unit unavailability. Mendezand Cerda15 proposed a rescheduling method by first reas-signing resources to tasks that still need to be processed andthen reordering the sequence of processing tasks for eachresource item. They considered start time shifting, local reor-dering, and unit reallocation of old batches as well as inser-tion of new batches. This work was extended in Mendez andCerda16 to include limited discrete renewable resourceswhere only start-time shifting, local batch reordering, andresource reallocation of existing batches are allowed. Vinand Ierapetritou17 considered the rescheduling of multiprod-

uct and multipurpose batch plants in the event of machinebreakdown or rush order arrival. Full-scale rescheduling ofeach production schedule is avoided by fixing binary varia-bles for a subset of tasks from the original production sched-ule. The fixing of tasks results in a reduced computationaleffort required to solve the resulting MILP problem. Janakand Floudas18 presented a similar framework where the fixedsubset of tasks is determined using a detailed set of rulesthat reflect the production needs and can be modified for dif-ferent production facilities. By fixing a subset of tasks, areduced computational effort is required to solve the result-ing MILP problem.

As shown from the literature, a major consideration for re-active scheduling is the response time. If the computationtime is large the production may be significantly delayedwhile the new schedule is developed. In this article, we pro-posed a framework to solve the reactive scheduling problemsusing multiparametric programming technique, which willgreatly improve the efficiency of the rescheduling approachbecause the new schedule is obtained from the solution ofparametric programming problem which was solved beforethe occurrences of disruptive events, thus completely avoid-ing the solution of the rescheduling optimization problem.

Parametric programming serves as an analytic tool bymapping the uncertainties in the optimization problem tooptimal alternatives. From this point of view, parametric pro-gramming provides the exact mathematical solution of theoptimization problem under uncertainty. In the literature,there are not many records on the application of parametricprogramming in process scheduling problem. Ryu and Pisti-kopoulos19 has reported the application of parametric pro-gramming to a zero-waiting scheduling problem, where theystudied the parametric solution under processing time uncer-tainty for zero-wait batch processes, but the scheduling for-mulation does not consider the executed tasks so it is notable to address the reactive scheduling problem. Li and Iera-petritou20 proposed an efficient multiparametric programmingframework and applied it to general scheduling problem tostudy the effect of uncertain product demand, price and proc-essing time on preventive scheduling problem. In this article,the work is further extended to study the reactive schedulingproblem.

The rest of this article is organized as follows. A generalreactive scheduling formulation is presented in next sectionfor two kinds of uncertainty: rush order and machine break-down. Then, a multiparametric programming method, whichwill be used to solve the parametric reactive scheduling prob-lem, is described. The reactive scheduling for two types ofunexpected events is illustrated through examples and the ar-ticle is finally summarized in the last section.

Reactive Scheduling Formulation

Before the presentation of the reactive scheduling formula-tion, the deterministic model is first presented in the nextsubsection. It should be noticed that the proposed methodol-ogy for reactive scheduling is not tight to the specific deter-ministic model. Any schedule modeling framework can beused as long as it can be formulated as a MILP problem,such as the one presented by Floudas and Lin,21 Mendezet al.,22 Maravelias and Grossmann.23

AIChE Journal October 2008 Vol. 54, No. 10 Published on behalf of the AIChE DOI 10.1002/aic 2611

Deterministic Scheduling

The deterministic model used for batch process schedulingin this article follows the main idea of the continuous timeformulation proposed by Ierapetritou and Floudas.24 The gen-eral model involves the following objective and constraints.

maxXs;n

pricesds;n (1)

s.t. Xi2Ij

wvi;j;n � 1 8j 2 J; 8n 2 N (2)

sts;n ¼ sts;n�1 � ds;n �Xi2Is

qPs;iXj2Ji

bi;j;n þXi2Is

qcs;iXj2Ji

bi;j;n�1

8s 2 S; 8n 2 N ð3Þsts;n � stmax

s 8s 2 S; 8n 2 N (4)

vmini;j wvi;j;n � bi;j;n � vmax

i;j wvi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N (5)Xn

ds;n � rs 8s 2 S (6)

Tfi;j;n ¼ Tsi;j;n þ ai;jwvi;j;n þ bi;jbi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N

(7)

Tsi;j;nþ1 � Tfi;j;n � Uð1� wvi;j;nÞ 8i 2 I; 8j 2 Ji; 8n 2 N

(8)

Tsi;j;nþ1�Tfi0;j;n�Uð1�wvi0;j;nÞ 8i;i0 2 Ij; 8j2 J; 8n2N (9)

Tsi;j;nþ1 � Tfi0;j0;n � Uð1� wvi0;j0;nÞ 8i; i0 2 Ij; i 6¼ i0;8j; j0 2 J; 8n 2 N ð10Þ

Tsi;j;nþ1 � Tsi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N (11)

Tfi;j;nþ1 � Tfi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N (12)

Tsi;j;n � H 8i 2 I; 8j 2 Ji; 8n 2 N (13)

Tfi;j;n � H 8i 2 I; 8j 2 Ji; 8n 2 N (14)

The state-task network (STN) concept is employed in theabove model, where state nodes represent feeds, intermedi-ates, and final products; task nodes represent the processoperations, which transform state(s) to other state(s), anddirected edges represent the flow of materials. The modelemploy the concept of event point that allows different tasksto start at different moments in different units for the sameevent point, which relaxes the global time point representa-tion.22,25 In the above formulation, the objective function (1)is the profit although different performance measures likemakespan can be used; allocation constraints (2) state thatonly one of the tasks can be performed in each unit at anevent point (n); constraints (3) represent the material balan-ces for each state (s) expressing that at each event point (n)the amount sts,n is equal to that at event point (n 2 1),adjusted by any amounts produced and consumed betweenevent points (n 2 1) and (n), and delivered to the market atevent point (n); the storage and capacity limitations of pro-duction units are expressed by constraints (4) and (5); con-straints (6) are written to satisfy the demands of final prod-ucts; and constraints (7)–(14) represent time limitations dueto task duration and sequence requirements in the same ordifferent production units. Detailed description of the sym-bols in the above formulation is provided in the nomencla-ture section of the article.

Reactive Scheduling

To apply the parametric programming method on reactivescheduling, it is necessary to develop an effective way tomodel the disruptive uncertainty into the scheduling formula-tion (1)–(14). An important fact for formulating the reactivescheduling is that the tasks that have already executed orstarted cannot be changed. In a previously published work,17

those binary variables that corresponds to a subset of tasks of

Figure 1. State-task-network (STN) representation ofexample 1.

Figure 2. Original schedule of example 1 with nominal demand.

2612 DOI 10.1002/aic Published on behalf of the AIChE October 2008 Vol. 54, No. 10 AIChE Journal

the original production schedule that have been executed arefixed while generating the reactive schedule. However, thismethod only solves one reactive schedule after the uncertainevent occurs.

Our target in this work is to develop a new reactive sched-uling formulation to consider all possible uncertain outcomesby formulating the uncertain events as uncertain parametersinto the optimization problem. The basic strategy is to gener-ate a complete reschedule but fix the executed tasks with aset of binary indicator variables yi,j,n, which denote whether atask is executed (yi,j,n 5 1) or not (yi,j,n 5 0). The rules andcorresponding constraints to identify these indicator variableswill be presented in the next two subsections for the specificdisruptive event, rush order or machine breakdown. Here, theconstraints that ensure that the executed tasks are fixed usingthe indicator variables (yi,j,n) are described as follows:

wvi;j;n ¼ wvoldi;j;n; if yi;j;n ¼ 1 8i 2 I; 8j 2 Ji; 8n 2 N (15)

bi;j;n ¼ boldi;j;nwvoldi;j;n; if yi;j;n ¼ 1 8i 2 I; 8j 2 Ji; 8n 2 N (16)

Tsi;j;n ¼ Tsoldi;j;nwvoldi;j;n; if yi;j;n ¼ 1 8i 2 I; 8j 2 Ji; 8n 2 N

(17)

Tfi;j;n ¼ Tf oldi;j;nwvoldi;j;n; if yi;j;n ¼ 1 8i2 I; 8j 2 Ji; 8n2N (18)

Constraint (15) ensures that if a task i assigned to unit j atevent point n has been executed, then the corresponding variablewvi,j,n has to be fixed to the value wvoldi;j;n that represents the taskin the original schedule. Similarly, constraints (16)–(18) ensurethat batch size, task starting and completion time are fixed atthe same values as the ones in the original schedule.

The logical constraints (15)–(18) are transformed to math-ematical programming constraints as follows.

wvoldi;j;n � ð1� yi;j;nÞ � wvi;j;n � wvoldi;j;n þ ð1� yi;j;nÞ8i 2 I; 8j 2 Ji; 8n 2 N ð19Þ

boldi;j;nwvoldi;j;n� bUBi;j ð1� yi;j;nÞ � bi;j;n � boldi;j;nwv

oldi;j;n þ bUBi;j ð1� yi;j;nÞ

8i 2 I; 8j 2 Ji; 8n 2 N ð20ÞTsoldi;j;nwv

oldi;j;n � Uð1�yi;j;nÞ � Tsi;j;n � Tsoldi;j;nwv

oldi;j;n þ Uð1� yi;j;nÞ

8i 2 I; 8j 2 Ji; 8n 2 N ð21ÞTf oldi;j;nwv

oldi;j;n � Uð1� yi;j;nÞ � Tfi;j;n � Tf oldi;j;nwv

oldi;j;n þ Uð1� yi;j;nÞ

8i 2 I; 8j 2 Ji; 8n 2 N ð22Þwhere bUBi;j is the upper bound of the batch size, and U is theupper bound of the scheduling time horizon.

Constraint (19) is equivalent to constraint (15). This canbe shown as follows: if yi,j,n 5 1, then constraint (19)becomes wvoldi;j;n � wvi,j,n � wvoldi;j;n, i.e., wvi,j,n is fixed towvoldi;j;n; if on the other hand yi,j,n 5 0, then (19) becomes

wvoldi;j;n 2 1 � wvi,j,n � wvoldi;j;n 1 1, which is a redundant con-straint because it is satisfied for any value of the binary vari-able wvi,j,n. Similarly, constraints (20)–(22) are equivalent tological constraints (16)–(18), respectively.

To determine the value of yi,j,n, additional constraints arerequired depending on the nature of the disruptive event:rush order or machine breakdown. In the next two subsec-tions, we specify the rules and constraints that determine thevalue of yi,j,n and present the complete reactive schedulingformulation.

Rush order

Once a rush order arrives during the scheduling executionprocess, all the tasks that have already started should beidentified as executed. When this rule is implemented on theoriginal schedule solution, the value of yi,j,n can be identified.However, this rule should also be implemented on the com-plete reschedule, so that the reactive schedule does notchange the schedule history; otherwise, the reactive schedulecan generate ‘‘wrong’’ tasks that start before the disruptive

Table 1. Rush Order Uncertainty for Example 1

Value Range

rrushP1 (New demand of P1) h1 70 � h1 � 90Trush (Order arrival time) h2 2 � h2 � 6

Figure 3. Parametric solution of optimal makespan andthe rush order.

[Color figure can be viewed in the online issue, which isavailable at www.interscience.wiley.com.]

Figure 4. Critical regions of example 1 with rush order.

AIChE Journal October 2008 Vol. 54, No. 10 Published on behalf of the AIChE DOI 10.1002/aic 2613

event, which do not exist in the original schedule. Therefore,we can define the indicator binary variable yi,j,n as follows:

yi;j;n ¼1; if Tsoldi;j;n < T rush and Tsi;j;n < T rush

0; if Tsoldi;j;n � Trush and Tsi;j;n � Trush

(

which can be mathematically formulated as follows:

Tsoldi;j;n þ e� Uð1� yi;j;nÞ � Trush � Tsoldi;j;n þ Uyi;j;n

8i 2 I; 8j 2 Ji; 8n 2 N ð23Þ

Tsi;j;n þ e� Uð1� yi;j;nÞ � Trush � Tsi;j;n þ Uyi;j;n

8i 2 I; 8j 2 Ji; 8n 2 N ð24ÞConstraints (23) and (24) correspond to the definition of

the binary variables yi,j,n. (23) can be verified as follows: iftask i in unit j at event point n starts before the rush orderarrives (Tsoldi;j;n \ T rush), then yi,j,n must take value 1 as a bi-nary variable because if yi,j,n constraint (23) will becomeT rush � Tsoldi;j;n, which contradicts the fact that Tsoldi;j;n \ T rush;however, if yi,j,n 5 1 constraint (23) takes the form Tsoldi;j;n 1e � T rush � Tsoldi;j;n 1 U, which verifies the assumption (Tsoldi;j;n

\ T rush) because e is a small positive number and the in-equality on the right-hand side is redundant; similarly, if taski in unit j at event point n starts at or after the rush order ar-rival time (Tsoldi;j;n � T rush), yi,j,n must be 0 because in thiscase constraint (23) satisfies this assumption, whereas thevalue of 1 results in a contradictory conclusion (Tsoldi;j;n \T rush). Thus, the value of yi,j,n is defined by constraint (23).Constraint (24) defines the variables yi,j,n for the tasks in re-active schedule in the same way.

Furthermore, the demand constraint should be updated asfollowing to account for the new demand in the rush order:X

n

ds;n � rrushs 8s 2 S (25)

where rrushs corresponds to the updated demand after the rushorder arrival.

Thus, the reactive scheduling problem considering rushorder uncertainty is formulated with the constraints: (2)–(5),(7)–(14), and (19)–(25). The reactive scheduling objective isselected as minimizing the makespan to fulfill the updatedorder. The complete problem formulation is given in Appen-dix A. It should be noticed that this formulation covers anycase of a rush order arrival including the time of arrival, neworders, and modification or cancellation of existing orders.Also, it is not restricted by the number of different productsin the order.

Machine breakdown

To incorporate machine breakdown within the reactivescheduling formulation, the following rules should beincluded: if a unit j* breaks down at time T break and requiresrepair/maintenance time of Tmaint, then:

1. All the tasks in j 2 J; j 6¼ j� should be identified as exe-cuted if they start before T break.

2. All the tasks in j* should be identified as executed ifthey finish at or before T break.

Note that there are different rules for the breakdown unitsand for the ones that operates normally. For the unit that isbroken, we are enforcing rules on task finishing time but not

Table 2. Parametric Objective for Example 1 withRush Order

Critical Region Makespan H(h)

1 8.16142 8.37233 6.353 1 0.02564h14 0.6192 1 0.10667h15 3.962 1 0.06667h16 5.6353 1 0.041h17 0.071 1 0.10667h18 5.7892 1 0.041h19 0.0467 1 0.10667h110 5.769 1 0.04h111 20.1174 1 0.10667h1

Table 3. Integer Solution of Critical Region 10

{(i,j,n) | wvi,j,n 5 1} {(i,j,n) | yi,j,n 5 1}

heating.heater.n0 heating.heater.n0heating.heater.n1 heating.heater.n1heating.heater.n2 rxn1.rtr1.n0rxn1.rtr1.n1 rxn1.rtr1.n1rxn1.rtr1.n3 rxn1.rtr2.n0rxn1.rtr2.n1 rxn1.rtr2.n1rxn2.rtr1.n2 rxn2.rtr1.n0rxn2.rtr1.n5 rxn2.rtr2.n0rxn2.rtr2.n2 rxn3.rtr1.n0rxn2.rtr2.n5 rxn3.rtr2.n0rxn3.rtr1.n4 sepn.sill.n0rxn3.rtr2.n3 sepn.sill.n1sepn.sill.n5 sepn.sill.n2

sepn.sill.n3

Figure 5. Reactive schedule for example1 with rush order at t 5 2.2 h.

2614 DOI 10.1002/aic Published on behalf of the AIChE October 2008 Vol. 54, No. 10 AIChE Journal

starting time because once the machine is broken, the tasksthat have started must be stopped. Therefore, we define theindicator binary variables as follows:

yi;j;n ¼

1; if

Tsoldi;j;n < Tbreak and Tsi;j;n < Tbreak

for8j 2 J; j 6¼ j�; orTf oldi;j;n � Tbreak and Tsi;j;n � Tbreak for j ¼ j�

8><>:

0; if

Tsoldi;j;n � Tbreak and Tsi;j;n � Tbreak

for8j 2 J; j 6¼ j�; orTf oldi;j;n > Tbreak and Tsi;j;n > Tbreak for j ¼ j�

8><>:

8>>>>>>>>><>>>>>>>>>:

Similar to the rush order case, the rules are implementedin the original schedule to identify the value of yi,j,n, and inthe reactive schedule to ensure that the complete rescheduledoes not change the schedule history. The definition of yi,j,nis mathematically equivalent with the following constraints:

Tsoldi;j;n þ e� Uð1� yi;j;nÞ � Tbreak � Tsoldi;j;n þ Uyi;j;n;

8i 2 I; 8j 2 Ji; j 6¼ j�; 8n 2 N ð26ÞTf oldi;j�;n � Uð1� yi;j�;nÞ � Tbreak � Tf oldi;j�;n þ Uyi;j�;n � e;

8i 2 I; 8n 2 N ð27ÞTsi;j;n þ e� Uð1� yi;j;nÞ � Tbreak � Tsi;j;n þ Uyi;j;n;

8i 2 I; 8j 2 Ji; j 6¼ j�; 8n 2 N ð28Þ

Tfi;j�;n � Uð1� yi;j�;nÞ � Tbreak � Tfi;j�;n þ Uyi;j�;n � e;

8i 2 I; 8n 2 N ð29ÞConstraints (26) are valid for units that do not break down

and represent the definition of yi,j,n in the following way: iftask i in unit j at event point n starts before the machine breaksdown (Tsoldi;j;n \ T break), because constraint (26) expresses thatT break � Tsoldi;j;n 1 Uyi,j,n, yi,j,n must be 1 as 0 does not satisfythis constraint; similarly, if the task i in unit j at event point nstart at or after the machine breakdown time (Tsoldi;j;n � Tbreak),because constraint (26) expresses the requirement Tsoldi;j;n 1 e 2

U(1 2 yi,j,n) � T break, yi,j,n must be 0 because 1 will generatecontradictory results. Constraints (27) represent the definitionof yi,j,n for units that break down and can be verified in similarway. Constraints (28) and (29) are for the tasks in reactiveschedule and correspond to the same rules as constraints (26)and (27), respectively and can be verified in the same way.

Furthermore, we should add constraints to change thestarting time for tasks that finish after T break in the machinethat breaks down:

Tbreak þ Tmaint � Tsi;j�;n þ Uyi;j�;n 8i 2 I; 8n 2 N (30)

Constraint (30) expresses the requirement that if a task hasbeen identified as one that does not finish before breakdowntime (yi,j,n 5 0), it must start after the unit is fixed. For thecase that the task finishes before the breakdown occurs (yi,j,n5 1), constraint (30) is redundant.

The reactive scheduling formulation incorporating machinebreakdown is formulated with the objective of maximizingthe profit (or minimizing makespan), using constraints (2)–(14), (19)–(22), and (26)–(30). The complete formulation isgiven in Appendix B. Note that, this formulation covers allpossible machine breakdown events including the breakdown

Figure 6. Original schedule of example 1, fixed H 5 8 h.

Table 4. Machine Breakdown Uncertainty for Example 1

Value Range

T break (Breakdown time) h1 1 � h1 � 7Tmaint (Maintenance time) h2 0.5 � h2 � 2.5

Figure 7. Parametric solution of maximum profit andmachine breakdown parameter.

[Color figure can be viewed in the online issue, which isavailable at www.interscience.wiley.com.]

AIChE Journal October 2008 Vol. 54, No. 10 Published on behalf of the AIChE DOI 10.1002/aic 2615

of any unit at any time during the schedule execution thatrequire any time for repair/maintenance.

Multiparametric Programming

The problem formulations for the reactive schedulingaddressing rush order or machine breakdown described in theprevious section are represented by MILP problems withuncertain parameters on the right-hand side of the con-straints. Thus, it can be exactly addressed using a multipara-metric mixed integer linear programming (mpMILP)approach. The details of the approach used in this article canbe found in our previous publication,20 but it is presentedhere briefly for completeness of the presentation.

For ease in the presentation, the scheduling model can becompactly written as the following MILP problem:

min z ¼ cx

s:t: Ax � b

x � 0

(P1)

where the decision variable vector x is composed by bothcontinuous and binary variables. When uncertainty is incor-porated into the scheduling model as with the problem for-mulations in Appendix A, B, problem (P1) becomes:

min z ¼ cx

s:t: Ax � bþ Eh

x � 0

hlj � hj � huj ; j ¼ 1; ::;m

(P2)

where hj represent uncertain parameter.

MILP problem (P2) represents a multiparametric program-ming problem. The complete solution of a multiparametricprogramming problem is composed by the complete set ofcritical regions and optimal objective functions describedwith respect to uncertain parameters. The critical region isdefined as the range of parameter values where the same so-lution remains optimal. For a mpMILP problem, there is aunique set of integer values and unique parametric objectivefunction of the uncertain parameter in one critical region.The parametric solutions of the continuous variables are alsounique parametric function of the uncertain parameter. How-ever, in realistic applications where a large number of contin-uous variables are involved to avoid storing too much infor-mation, we can only store the integer solution in every criti-cal region, and the solution of continuous variable can beretrieved by solving a linear programming problem by fixingthe integer solution.

The solution framework is based on the idea of decom-posing the original problem into a series of smaller prob-lems. The parametric solution of each subproblem providesthe solution around a given parameter value. The frame-work of determining one critical region involves the follow-ing steps:

Step 1. Select a nominal parameter value h0 to be studiedand solve the deterministic MILP problem by fixing theuncertain parameters at h0 to get an integer solution.

Figure 8. Critical region of the example 1 with machinebreakdown.

Figure 9. Reactive schedule for reactor 2 breakdown at t 5 2.5 h, maintenance time 5 1 h.

Table 5. Parametric Objective for Example 1 withMachine Breakdown

Critical Region Optimal Profit

1 920.52 2015 2 363.2h1 2 363.2h23 1674.3 2 240h1 2 240h24 1403.1 2 150h1 2 150h25 1058.96 896.27 1856.2 2 240h1 2 240h28 2176.2 2 240h1 2 240h29 576.210 866.611 2466.6 2 240h1 2 240h212 1008.213 5001 2 706.7h1 2 706.7h214 1356.615 2521.6 2 428.1h1 2 428.1h2

2616 DOI 10.1002/aic Published on behalf of the AIChE October 2008 Vol. 54, No. 10 AIChE Journal

Step 2. Formulate a mpLP problem by fixing the integervariables at the values obtained from step 1. By solving thempLP problem, we can get the critical region CR0 that co-vers h0 and the corresponding optimal objective function z0.Note that, the complete solution of mpLP for entire uncertainspace is not necessary, because we are considering the entireuncertain space by changing the initial point h0. The para-metric solution is obtained using the following results for astandard linear programming problem {min z 5 cx|Ax 5 b(h),x � 0}:Optimality conditions:

A�1B bðhÞ � 0 (31)

cN � cBA�1B AN � 0 (32)

Optimal parametric objective:

z� ¼ cBA�1B bðhÞ (33)

Optimal parametric solution:

x�B ¼ A�1B bðhÞ (34)

where AB (cB) is composed by the columns of A (c) corre-sponding to the basic variables, and AN (cN) is composed bythe columns of A (c) corresponding to nonbasic variables.The result of this step is a critical region that covers point h0

represented by Eq. 31 and the corresponding optimal para-

metric objective and parametric solution, which are describedby Eqs. 33 and 34, respectively. Because the critical regionobtained here is not the real critical region of the originalmpMILP problem, the following updating steps are required.

Step 3. Formulate the following MILP problem, whichaims at seeking an integer solution with a better objectivefunction in the current critical region:

max err ¼ z0 � cx

s:t: Ax � bþ Eh

x � 0

err � e

h 2 CR0

(P3)

where CR0 is the current critical region that covers h0. Prob-lem (P3) includes all the original constraints of (P2) and thefollowing additional constraints: (i) parametric cut err � e, toseek the integer solution that provides a better objectivefunction, where e is a small positive number to ensure thatonly a better but not the best objective is found; (ii) a restric-tion of the solution space to current critical region CR0. Ifthe optimal objective err* � 0, the solution procedure stops(no better solution exists in the current region); otherwise,the integer solution and point h* are stored and the procedurecontinues to step 4.

Step 4. Formulate a new mpLP problem by fixing the inte-ger variables at the solution obtained from step 3. Follow thesame procedure in step 2, solve mpLP problem to get theoptimal objective function z* and the critical region CR* thatcovers h*.

Step 5. Update the critical region that covers h0 throughexcluding operation: CR0 5 CR0 / CREX, where CREX repre-sents the region where the new objective z* is better than z0

(for a minimization problem, better means smaller). Theexcluded part CREX can be determined by comparing the twoobjective functions in the intersection of the two criticalregions: CR0 \ CR� using the following redundancy testproblem:

max err ¼ z� � z0

s:t: h 2 CR0 \ CR� (P4)

Figure 10. STN representation of example 2.

Figure 11. Original schedule for example 2.

AIChE Journal October 2008 Vol. 54, No. 10 Published on behalf of the AIChE DOI 10.1002/aic 2617

If err* � 0, it means that z* � z0 is redundant in CR0

\ CR� (z* is always better for a minimization problem) andCREX ¼ CR0 \ CR�, whereas if err* \ 0, it means that z* �z0 is not redundant and CREX ¼ CR0 \ CR� \ fhjz� � z0g.Thus, the region CREX is excluded from the original criticalregion CR0 that covers h0. The exclusion is implemented bytesting and selecting one constraint in CREX that h0 violatesand adding the corresponding constraint into CR0. For exam-ple, if the selected constraint in CREX has the form ofP

i bihi þ c � 0, the constraint added into CR0 has the fol-lowing form: �P

i bihi � c � 0. After the critical region CR0

is updated, go back to step 3.The proposed framework only determines one critical

region around one point. To get a complete map of the origi-nal problem, the rest of the parameter space should beexplored. To achieve this, a uniformly distributed testingmethod is used. This involves the generation of a number ofuniformly distributed points to cover the uncertainty spacewhich are then tested to determine whether they are alreadycovered by the identified critical regions, if not, the proposedprocedure can be used. This method is effective because itonly requires function value evaluations. Also, note that therandom selection of samples does not affect the correctnessof the resulted parametric solution as they are derived fromthe optimality condition of LP problem. The number ofpoints selected is based on the dimension of the uncertainspace and the range: a higher dimension space and a relativebigger range needs more points to be tested so that the spaceis covered as much as possible. Also, note that the numberof points used to derive critical regions is less than the num-ber of testing points because once a point is covered it is notbeen reconsidered. The final solution of the problem mightinvolve overlapped critical regions because they belong to alarger nonconvex critical region.20

As shown in the reactive scheduling formulations (Appen-dix A, and B), for the reactive scheduling with rush order,the uncertain parameters are the updated order amount r rush

s

and order arrival time T rush, whereas for the case of machinebreakdown, the uncertain parameters consist of machinebreakdown time T break and machine maintenance time Tmaint.Both cases correspond to mpMILP problems with RHSuncertainty. The result of the multiparametric programmingprovides direct mapping information between the uncertainevent and the optimal reactive scheduling solution. Thus, thereactive schedule can be obtained directly from the paramet-ric solution of the two different formulations. Furthermore,sensitivity information can be easily obtained given that theparametric solution provides the complete information of anoptimization problem under uncertainty.

Although the proposed reactive scheduling formulation doesnot consider the case where several consecutive uncertainevents happen (e.g., a rush order arrival after another or a

rush order arrival and machine breakdown after another rushorder, etc.), the proposed formulation can be applied to solvethis type of problems in the following way: the parametricproblem considering an upcoming rush order or machinebreakdown event is solved before the schedule execution asproposed in the article. Once an uncertain event occurs, theparametric solution is applied and a new parametric problemis solved based on the updated schedule. This process can berepeated to accommodate multiple unexpected events.

We can also formulate the smooth operation requirementinto the reactive scheduling formulation through the use of apenalty term in the objective function. Details can be referredto our previous publication.17 This, however, does not affectthe applicability of the proposed multiparametric algorithmbecause mpMILP problem can still be formulated.

In the next section, several examples are solved to illus-trate the application of the proposed reactive scheduling solu-tion procedure.

Examples

Two examples are solved to study the application of theproposed method on reactive scheduling. The problems aresolved with CPLEX 10.1 as the LP/MILP solver in a Pen-tium PC (2.8 GHz, 1 G RAM).

Example 1

Example 1 involves the production of two products usingthree raw materials. The state-task-network (STN) representa-tion of this example is shown in Figure 1, and the problemdata can be found in the Appendix C.

Rush Order. To study the reactive scheduling problemconsidering an unexpected rush order, we assume the originaldeterministic schedule is generated first to satisfy the nomi-nal demand of products P1 and P2, which are both set as 80units. The deterministic scheduling problem consisting ofconstraints (1)–(14) is solved with the objective function ofminimizing the makespan. The resulted schedule is shown inFigure 2.

Table 6. Rush Order Uncertainty for Example 2

Value Range

rrushP1 (New order of P1) h1 500 � P1 � 800

rrushP2 (New order of P2) h2 1200 � P2 � 1600

T rush (Order arrival time) h3 1 � h2 � 4

Figure 12. Critical region of example for rush orderuncertainty.

[Color figure can be viewed in the online issue, which isavailable at www.interscience.wiley.com.]

2618 DOI 10.1002/aic Published on behalf of the AIChE October 2008 Vol. 54, No. 10 AIChE Journal

A rush order of product P1 is investigated with an uncer-tain demand and an uncertain order arrival time as describedin Table 1.

For the reactive scheduling formulation with rush orderuncertainty, because the demand of product is increased tosatisfy the additional order, the number of event points usedfor the original deterministic scheduling might not be enoughand can cause the problem to be infeasible. Therefore, weneed to find the appropriate number of event points for reac-tive scheduling formulation with the maximum demand usingthe deterministic formulation and then fix the event pointnumber and solve the parametric problem. For this example,the original number of event points for deterministic formu-lation is 7, which is the number required for the maximumdemand of product P1 (90 units), so the number of eventpoints are fixed at 7 for the reactive scheduling formulationduring the multiparametric programming solution process.Then, the corresponding multiparametric programming prob-lem is solved and the parametric results are obtained. Figure3 illustrates the exact relationship between the uncertain pa-rameter and the optimal makespan. Figure 4 shows the criti-cal regions of the solution, and Table 2 shows the detailparametric objective in different critical regions.

As shown in Figures 3 and 4, the parametric result givesthe exact relationship between the uncertain parameter andthe scheduling solution, thus the reactive schedule can beobtained explicitly from the parametric solution once therush order arrives. For example, if a rush order arrives at t 52.2 h (h2 5 2.2) with 7 units additional demand of P1, thusthe new demand of P1 is 87 units (h1 5 87) and the reactiveschedule can be obtained from the parametric solution for(h1, h2) 5 (87, 2.2), which corresponds to critical region 10with a parametric objective of 5.769 1 0.04h1 and the inte-ger solution is shown in Table 3. Thus, the optimal make-span can be evaluated by 5.769 1 0.04 3 87 5 9.249 andthe corresponding schedule is obtained as shown in Figure 5.

Machine Breakdown. To study the case when machinebreakdown occurs, we consider the problem of maximizingthe profit in a given makespan (8 h), and there is no require-ment on the demand of product P1 and P2. Note that, theseassumptions are not necessary and any other optimizationobjective and demand constraints can be used. The originalschedule is obtained as shown in Figure 6, which results in amaximum profit of 1498.2. Therefore, we assume that reactor

2 breaks down during the scheduling execution period andthe breakdown time and the time of maintenance areassumed uncertain as shown in Table 4.

To illustrate the parametric solution, the parametric objec-tive is shown in Figure 7 and the details of the solution aregiven in Table 5. The critical regions of the solution areshown in Figure 8. Computational data for the solution pro-cess is shown in Table 9. From the parametric solution, itcan be observed that the final optimal profit will decreasewith the increase of the maintenance time if the same unitbreaks down at the same time. Also, it should be noticed thatthe problem will become infeasible if the machine break-down time and the maintenance time increase beyond certainlimit.

Once the parametric solution is obtained, the reactiveschedule can be directly determined once the event occurs.For example, a reactive schedule for the reactor 2 breakdownat t 5 2.5 h with 1 h maintenance can be obtained by map-ping the parameter value (h1, h2) 5 (2.5, 1) in the criticalregion 15. The corresponding reactive schedule is shown inFigure 9. The resulted profit is 2521.6 2 428.1 3 2.5 2428.1 3 1 5 1023.3, which corresponds to a big decreasecompared to the original profit (1498.2) because of themachine breakdown.

Example 2

In example 2, four products are produced through eighttasks from three feeds, and there are nine intermediates inthe system. In all, six different units are required for thewhole process. The STN representation of this process isshown in Figure 10, and the problem data can be found inAppendix C. Through this example, we are studying theapplication of the proposed method on consecutive uncertain-ties for reactive scheduling. Specifically, we assume that thefirst disruptive event is a rush orders for products P1 and P2,

Figure 13. Reactive schedule for rush order at t 5 1.5 h.

Table 7. Machine Breakdown Uncertainty for Example 2

Value Range

Tbreak (Breakdown time) h1 3 � h1 � 5Tmaint (Maintenance time) h2 0.5 � h2 � 2.5

AIChE Journal October 2008 Vol. 54, No. 10 Published on behalf of the AIChE DOI 10.1002/aic 2619

and the second disruptive event is that unit 2 breaks downand needs maintenance.

First, we solve the deterministic scheduling problem withthe objective of minimizing makespan to satisfy the nominaldemand of products as: P1 5 600, P2 5 1400, P3 5 300, P45 1000. The original deterministic schedule is solved withseven event points and the schedule is shown in Figure 11,which has a minimum makespan of 4.45 h.

To address the upcoming rush order uncertainty, we canstart solving the parametric problem for rush order soon afterwe get the original schedule. Using the maximum demand ofthe new order, nine event points are identified to be neces-sary for the reactive scheduling formulation. The uncertainevent is described as shown in Table 6. Then, the multipara-metric programming problem is solved with the criticalregions illustrated in Figure 12.

Having obtained the parametric solution, we can generatea reactive schedule as soon as the rush order arrives. Forexample, if the demand of product P1 increases to 750 (h1 5750), and the demand of P2 increases to 1500 (h2 5 1500)at time t 5 1.5 h (h3 5 1.5), the parametric solution for (h1,h2, h3) 5 (750,1500,1.5) can be found directly from the para-

metric result. Figure 13 illustrates the new schedule whichhas a makespan of 4.74 h.

Soon after the reactive schedule is executed, a new para-metric reactive scheduling problem is solved to deal withfuture unexpected events. The machine breakdown uncer-tainty considered here is defined in Table 7. The criticalregions of the parametric solution are shown in Figure 14,whereas the detail parametric objectives are shown inTable 8.

After we obtain the parametric solution, we can addressthe upcoming machine breakdown. For example, if unit 2breaks down at T break 5 3 h, and requires Tmaint 5 1.5 h,it corresponds to (h1, h2) 5 (3, 1.5), so the reactive sched-ule can be obtained from the parametric result and it isshown in Figure 15.

Following this dynamic way of addressing uncertainty,multiple disruptive uncertainties in the scheduling processcan be addressed. The only requirement is that upon the ar-rival of a new disruptive event, the corresponding parametricsolution that covers this uncertain event has been retrieved.In this example, the first parametric problem is solved in2300 CPU s, and the second parametric problem is solved in1442 CPU s. In both cases, we test 5000 points uniformlydistributed in the uncertain space and the parametric solutioncan cover all the given uncertain space (Figures 12 and 14)except the infeasible operation areas. Detail computationalstatistics are given in Table 9. Furthermore, during the pro-cess of solving the parametric programming problem, theuncertain space that represents the near future can be solved

Figure 14. Critical region of example 2 with machinebreakdown.

Table 8. Parametric Objective for Example 2 withMachine Breakdown

Critical Region Makespan H(h)

1 4.742 3.74 1 0.062h1 1 0.062h23 1.49 1 h1 1 h24 0.74 1 h1 1 h25 2.37 1 h1 1 h26 4.102 1 0.0656h17,8 2.48 1 h1 1 h2

Figure 15. Reactive schedule for unit 2 breakdown at t 5 3 h, maintenance time 5 1.5 h.

2620 DOI 10.1002/aic Published on behalf of the AIChE October 2008 Vol. 54, No. 10 AIChE Journal

at the beginning, so that the earlier disruptive events can becovered by the parametric solution.

Summary

A new methodology for efficient reactive scheduling isproposed in this article. Different to any existing method,this article provides a direct mapping approach to generatethe reactive schedule with the parametric solution. It greatlyimproves the efficiency of reactive scheduling because thereactive schedule is obtained by checking from a set of para-metric solutions, which is solved ahead of time but not solvea rescheduling problem after the uncertainty occurs. The pro-posed methodology is designed to address single disruptiveevent. However, consecutive uncertainties can be addressedthrough the repetitive application of the method. It is worth-while to note here that the number of critical regions ofmpMILP problem increases with the size of the uncertainspace (number of the uncertain parameters), so complete cov-erage of the uncertain space needs considerable computa-tional effort. However, the parametric solution generatedusing the proposed method provides a way to derive the pos-sible reactive decision with existing computational abilitybefore the uncertain event, which make it possible to savetime in making reactive decision. Once the realized uncer-tainty is not covered by the current solution, the reactiveschedule can be directly solved through the developed reac-tive scheduling formulation. Further improvements on theproposed method lie on developing parallel algorithm tosolve the multiparametric programming problem to furthersave the computation time.

Acknowledgments

The authors gratefully acknowledge financial support from theNational Science Foundation under Grants CTS 0625515 and 0224745.

Notation

i 2 I5 task index and setsIs5 tasks which produce or consume state sIj5 tasks which can be performed in unit j

j 2 J5 unit index and setsJi5 units which are suitable for performing task i

n 2 N5 event points representing the beginning of a tasks 2 S5 state index and setsprices5 price of state sds,n5 amount of state s delivered to the market at event point n

wvi,j,n5 binary, whether or not task i in unit j start at event point nsts,n5 continuous, amount of state s at event point n

qPs;i, qCs;i 5 proportion of state s produced, consumed by task i, respec-

tivelybi,j,n5 continuous, batch size of task i in unit j at event point nstmaxs 5 available maximum storage capacity for state s

vmini;j , vmax

i;j 5 minimum amount, maximum capacity of unit j when proc-essing task i

rs5 market demand for state s at the end of the time horizonTfi,j,n5 continuous, completion time of task i in unit j that starts at

event point nTsi,j,n5 continuous, time at which task i starts in unit j at event

point nai,j, bi,j5 constant, variable term of processing time of task i in unit j

respectivelyH5 scheduling time horizon

yi,j,n5 binary, whether task i in unit j starts at event point n hasbeen executed

U5 upper bound of scheduling time horizone5 small positive constant

T rush5 rush order arrival timer rushs 5 the demand of state s in the rush order

T break5 the machine breakdown timeTmaint5 the maintenance time for the broken unitbUBi;j 5 upper bound of the batch sizeold5 superscript that represents the solution of original schedules

Literature Cited

1. Balasubramanian J, Grossmann IE. Approximation to multistage sto-chastic optimization in multiperiod batch plant scheduling underdemand uncertainty. Ind Eng Chem Res. 2004;43:3695–3713.

2. Bonfill A, Espuna A, Puigjaner L. Addressing robustness in schedul-ing batch processes with uncertain operation times. Ind Eng ChemRes. 2005;44:1524–1534.

3. Sand G, Engell S. Modeling and solving real-time scheduling prob-lems by stochastic integer programming. Comput Chem Eng.2004;28:1087–1103.

4. Lin X, Janak SL, Floudas CA. A new robust optimization approachfor scheduling under uncertainty. I. Bounded uncertainty. ComputChem Eng. 2004;28:1069–1085.

5. Vin JP, Ierapetritou MG. Robust short-term scheduling of multiprod-uct batch plants under demand uncertainty. Ind Eng Chem Res.2001;40:4543–4554.

Table 9. Computational Statistics for the Examples

Example 1 Example 2

Rush Order Machine Breakdown Rush Order Machine Breakdown

Reactive scheduling modelConstraints 1360 1596 2278 2358Continuous 576 673 1316 1370Binaries 280 320 864 864

Number of testing points 5000 5000 5000 5000Number of critical regions* 35 49 89 18Average iterations per point 3 3 3 2Average CPU time per point (s)** 7 5 6 5

*Equal to the number of points used to apply the multiparametric programming, because some of these critical regions might belong to a larger nonconvex criti-cal region, the final critical region illustrated in the article is postprocessed result after union operation.

**The average time is for multiparametric programming solution process for a point.

AIChE Journal October 2008 Vol. 54, No. 10 Published on behalf of the AIChE DOI 10.1002/aic 2621

6. Jia Z, Ierapetritou MG. Generate Pareto optimal solutions of sched-uling problems using normal boundary intersection technique. Com-put Chem Eng. 2006;31:268–280.

7. Cott BJ, Macchietto S. Minimizing the effects of batch process vari-ability using online schedule modification. Comput Chem Eng.1989;13:105–113.

8. Kanakamedala KB, Reklaitis GV, Venkatasubramanian V. Reactiveschedule modification in multipurpose batch chemical plants. IndEng Chem Res. 1994;30:77–90.

9. Huercio A, Espuna A, Puigjaner L. Incorporating on-line schedulingstrategies in integrated batch production control. Comput Chem Eng.1995;19;S609–S615.

10. Sanmarti E, Huercio A, Espuna A, Puigjaner L. A combined sched-uling/reactive scheduling strategy to minimize the effect of processoperations uncertainty in batch plants. Comput Chem Eng. 1996;20:1263–1268.

11. Rodrigues MTM, Gimeno L, Passos CAS, Campos MD. Reactivescheduling approach for multipurpose chemical batch plants. ComputChem Eng. 1996;20;S1215–S1220.

12. Honkomp SJ, Mockus L, Reklaitis GV. A framework for schedule evalua-tion with processing uncertainty.Comput ChemEng. 1999;23:595–609.

13. Roslof J, Harjunkoski I, Bjorkqvist J, Karlsson S, Westerlund T. AnMILP-based reordering algorithm for complex industrial schedulingand rescheduling. Comput Chem Eng. 2001;25:821–828.

14. Ruiz D, Canton J, Nougues JM, Espuna A, Puigjaner L. On-linefault diagnosis system support for reactive scheduling in multipur-pose batch chemical plants. Comput Chem Eng. 2001;25:829–837.

15. Mendez CA, Cerda J. Dynamic scheduling in multiproduct batchplants. Comput Chem Eng. 2003;27:1247–1259.

16. Mendez CA, Cerda J. An MILP framework for batch reactive schedulingwith limited discrete resources.Comput ChemEng. 2004;28:1059–1068.

17. Vin JP, Ierapetritou MG. A new approach for efficient rescheduling ofmultiproduct batch plants. Ind Eng Chem Res. 2000;39:4228–4238.

18. Janak SL, Floudas CA. Production scheduling of a large-scale indus-trial batch plant. II. Reactive scheduling. Ind Eng Chem Res. 2006;45:8253–8269.

19. Ryu JH, Pistikopoulos EN. A novel approach to scheduling of zero-wait batch processes under processing time variations. ComputChem Eng. 2007;31:101–106.

20. Li Z, Ierapetritou MG. Process scheduling under uncertainty usingmultiparametric programming. AIChE J. 2007;53:3183–3203.

21. Floudas CA, Lin X. Continuous-time versus discrete-time app-roaches for scheduling of chemical processes: a review. ComputChem Eng. 2004;28:2109–2129.

22. Mendez CA, Cerda J, Grossmann IE, Harjunkoski I, Fahl M. State-of-the-art review of optimization methods for short-term schedulingof batch processes. Comput Chem Eng. 2006;30:913–946.

23. Maravelias CT, Grossmann IE. On the relation of continuous- anddiscrete-time state-task network formulations. AIChE J. 2006;52:843–849.

24. Ierapetritou MG, Floudas CA. Effective continuous-time formulationfor short-term scheduling. I. Multipurpose batch processes. Ind EngChem Res. 1998;37:4341–4359.

25. Kondili E, Pantelides CC, Sargent RH. A general algorithm forshort-term scheduling of batch operations. I. MILP formulation.Comput Chem Eng. 1993;17:211–227.

Appendix A: Reactive SchedulingFormulation for Rush Order Uncertainty

minH (A:1)

s.t. Xi2Ij

wvi;j;n � 1 8i 2 I (A:2)

sts;n ¼ sts;n�1 � ds;n �Xi2Is

qPs;iXj2Ji

bi;j;nþXi2Is

qcs;iXj2Ji

bi;j;n�1

8s 2 S; 8n 2 N ðA:3Þ

sts;n � stmaxs 8s 2 S; 8n 2 N (A:4)

vmini;j wvi;j;n � bi;j;n � vmax

i;j wvi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N

(A:5)Xn

ds;n � rrushs 8s 2 S (A:6)

Tfi;j;n ¼ Tsi;j;n þ ai;jwvi;j;n þ bi;jbi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N

(A:7)

Tsi;j;nþ1 � Tfi;j;n � Uð1� wvi;j;nÞ 8i 2 I; 8j 2 Ji; 8n 2 N

(A:8)

Tsi;j;nþ1 � Tfi0;j;n � Uð1� wvi0;j;nÞ 8i; i0 2 Ij;

8j 2 J; 8n 2 N ðA:9Þ

Tsi;j;nþ1 � Tfi0;j0;n � Uð1� wvi0;j0;nÞ 8i; i0 2 Ij; i 6¼ i0;8j; j0 2 J; 8n 2 N ðA:10Þ

Tsi;j;nþ1 � Tsi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N (A:11)

Tfi;j;nþ1 � Tfi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N (A:12)

Tsi;j;n � H 8i 2 I; 8j 2 Ji; 8n 2 N (A:13)

Tfi;j;n � H 8i 2 I; 8j 2 Ji; 8n 2 N (A:14)

wvoldi;j;n � ð1� yi;j;nÞ � wvi;j;n � wvoldi;j;n þ ð1� yi;j;nÞ 8i 2 I;

8j 2 Ji; 8n 2 N ðA:15Þ

boldi;j;nwvoldi;j;n � bUBi;j ð1� yi;j;nÞ � bi;j;n � boldi;j;nwv

oldi;j;n þ bUBi;j ð1� yi;j;nÞ

8i 2 I; 8j 2 Ji; 8n 2 N ðA:16Þ

Tsoldi;j;nwvoldi;j;n � Uð1�yi;j;nÞ � Tsi;j;n � Tsoldi;j;nwv

oldi;j;n þ Uð1� yi;j;nÞ

8i 2 I; 8j 2 Ji; 8n 2 N ðA:17Þ

Tf oldi;j;nwvoldi;j;n � Uð1� yi;j;nÞ � Tfi;j;n � Tf oldi;j;nwv

oldi;j;n þ Uð1� yi;j;nÞ

8i 2 I; 8j 2 Ji; 8n 2 N ðA:18Þ

Tsoldi;j;n þ e� Uð1� yi;j;nÞ � Trush � Tsoldi;j;n þ Uyi;j;nÞ 8i 2 I;

8j 2 Ji; 8n 2 N ðA:19Þ

Tsi;j;n þ e� Uð1� yi;j;nÞ � Trush � Tsi;j;n þ Uyi;j;n

8i 2 I; 8j 2 Ji; 8n 2 N ðA:20Þ

Appendix B: Reactive SchedulingFormulation for Machine BreakdownUncertainty

maxXs;n

pricesds;n or minH (B:1)

s:t:Xi2Ij

wvi;j;n � 1 8i 2 I (B:2)

2622 DOI 10.1002/aic Published on behalf of the AIChE October 2008 Vol. 54, No. 10 AIChE Journal

sts;n ¼ sts;n�1 � ds;n �Xi2Is

qPs;iXj2Ji

bi;j;nþXi2Is

qcs;iXj2Ji

bi;j;n�1

8s 2 S; 8n 2 N ðB:3Þsts;n � stmax

s 8s 2 S; 8n 2 N (B:4)

vmini;j wvi;j;n � bi;j;n � vmax

i;j wvi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N

(B:5)Xn

ds;n � rs 8s 2 S (B:6)

Tfi;j;n ¼ Tsi;j;n þ ai;jwvi;j;n þ bi;jbi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N

(B:7)

Tsi;j;nþ1 � Tfi;j;n � Uð1� wvi;j;nÞ 8i 2 I; 8j 2 Ji; 8n 2 N

(B:8)

Tsi;j;nþ1 � Tfi0;j;n � Uð1� wvi0;j;nÞ 8i; i0 2 Ij; 8j 2 J; 8n 2 N

ðB:9ÞTsi;j;nþ1 � Tfi0;j0;n � Uð1� wvi0;j0;nÞ

8i; i0 2 Ij; i 6¼ i0; 8j; j0 2 J; 8n 2 N ðB:10ÞTsi;j;nþ1 � Tsi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N (B:11)

Tfi;j;nþ1 � Tfi;j;n 8i 2 I; 8j 2 Ji; 8n 2 N (B:12)

Tsi;j;n � H 8i 2 I; 8j 2 Ji; 8n 2 N (B:13)

Tfi;j;n � H 8i 2 I; 8j 2 Ji; 8n 2 N (B:14)

wvoldi;j;n � ð1� yi;j;nÞ � wvi;j;n � wvoldi;j;n þ ð1� yi;j;nÞ8i 2 I; 8j 2 Ji; 8n 2 N ðB:15Þ

boldi;j;nwvoldi;j;n � bUBi;j ð1� yi;j;nÞ � bi;j;n � boldi;j;nwv

oldi;j;n

þ bUBi;j ð1� yi;j;nÞ 8i 2 I; 8j 2 Ji; 8n 2 N ðB:16Þ

Tsoldi;j;nwvoldi;j;n � Uð1� yi;j;nÞ � Tsi;j;n � Tsoldi;j;nwv

oldi;j;n

þ Uð1� yi;j;nÞ 8i 2 I; 8j 2 Ji; 8n 2 N ðB:17Þ

Tf oldi;j;nwvoldi;j;n � Uð1� yi;j;nÞ � Tfi;j;n � Tf oldi;j;nwv

oldi;j;n

þ Uð1� yi;j;nÞ 8i 2 I; 8j 2 Ji; 8n 2 N ðB:18Þ

Tsoldi;j;n þ e� Uð1� yi;j;nÞ � Tbreak � Tsoldi;j;n þ Uyi;j;n

8i 2 I; 8j 2 Ji; j 6¼ j�; 8n 2 N ðB:19Þ

Tf oldi;j�;n � Uð1� yi;j�;nÞ � Tbreak � Tf oldi;j�;n þ Uyi;j�;n � e

8i 2 I; 8n 2 N ðB:20Þ

Tsi;j;n þ e� Uð1� yi;j;nÞ � Tbreak � Tsi;j;n þ Uyi;j;n;

8i 2 I; 8j 2 Ji; j 6¼ j�; 8n 2 N ðB:21Þ

Tfi;j�;n � Uð1� yi;j�;nÞ � Tbreak � Tfi;j�;n þ Uyi;j�;n � e;

8i 2 I; 8n 2 N ðB:22Þ

Tbreak þ Tmaint � Tsi;j�;n þ Uyi;j�;n 8i 2 I; 8n 2 N (B:23)

Appendix C: Process Data for the Examples

Table C1. Process Data for Example 1

Unit Capacity Suitability Processing Time

Heater 100 Heating 10Reactor 1 50 Reaction 1, 2, 3 2.0, 2.0, 1.0Reactor 2 80 Reaction 1, 2, 3 2.0, 2.0, 1.0Sill 200 Separation 1 for product 2,

2 for IntAB

State Storage Capacity Initial Amount Prices

Feed A Unlimited Unlimited 0Feed B Unlimited Unlimited 0Feed C Unlimited Unlimited 0Hot A 100 0.0 0IntAB 200 0.0 0IntBC 150 0.0 0impure 200 0.0 0Product 1 Unlimited 0.0 10Product 2 Unlimited 0.0 10

Table C2. Process Data for Example 2

Unit Capacity Suitability Processing Time

Unit1 1000 Task 1 1Unit2 2500 Task 3,7 1Unit3 3500 Task 4 1Unit4 1500 Task 2 1Unit5 1000 Task 6 1Unit6 4000 Task 5, 8 1

State Storage CapacityInitialAmount

Feed 1, 2, 3 Unlimited 0.0 0Int4 1000 0.0 0Int5 1000 0.0 0Int6 1500 0.0 0Int7 2000 0.0 0Int8 0 0.0 0Int9 3000 0.0 0Products 1, 2, 3, 4 Unlimited 0.0 18, 19, 20, 21

Manuscript received Feb. 25, 2008, and revision received May 28, 2008.

AIChE Journal October 2008 Vol. 54, No. 10 Published on behalf of the AIChE DOI 10.1002/aic 2623


Recommended