9204
Ind. Eng. Chem. Res. 2009, 48, 9204–9214
Robustness Measures for Operation Schedules Subject to Disruptions Badarinath Karri,† Rajagopalan Srinivasan,*,†,‡ and I. A. Karimi‡ Institute of Chemical and Engineering Sciences, A*STAR (Agency for Science Technology and Research), 1 Pesek Road, Jurong Island, Singapore 627833, and Department of Chemical and Biomolecular Engineering, National UniVersity of Singapore, 4 Engineering DriVe 4, Singapore 117576
Operation schedules are frequently subject to disruptions or uncertainties that render them suboptimal or even infeasible to implement. Among the approaches that address stochastics in schedules, preventive methods incorporate uncertainty in the scheduling model to develop an a priori robust solution, while reactive techniques seek to repair the schedule after a disruption has occurred. In this work, an alternate perspective to schedules subject to disruptions is propounded. We seek to quantify robustness of a given schedule. Given a schedule and information about the possible disruptions, we evaluate its robustness in terms of the outcome for each possible disruption scenario. The consequent action(s) required on the part of the planner/scheduler, such as complete rescheduling, schedule repair, or none, is then identified and serves as the basis to classify the scenario into tiers. Robustness metrics are proposed based on the distribution of the tiers. Malleability is an indicator of a schedule’s ability to provide the performance as in the nominal case. Brittleness is a measure of the schedule’s feasibility and reschedulability under disruptions. These metrics are independent of economic indicators such as profit that are typically objectives in scheduling algorithms and can therefore be used as additional criteria to compare schedules. The proposed framework is illustrated using a refinery crude oil scheduling problem. Further, sensitivity studies are conducted to identify critical resources and disruption classes. Such studies can directly help a planner/scheduler to choose the best schedule overall for implementation and take preventive measures to safeguard critical elements. 1. Introduction Production schedules are generally drawn assuming known (deterministic) parameters, such as demand. In practice, however, there is significant uncertainty in parameters like demand, processing times, or raw material availability. In addition, equipment breakdowns or events such as accidents or natural disasters can easily disrupt a schedule. This leads to the questionshow do we manage a production schedule to handle disruptive events or uncertainty? From the literature, strategies to handle scheduling under uncertainty can be broadly classified into reactive scheduling and preventive scheduling. Reactive scheduling aims to correct/ repair a schedule once a disruption occurs. Preventive scheduling, on the other hand, tries to incorporate uncertainty information within the scheduling model a priori so that the resultant schedule is robust. Both approaches lead to schedules that are “better” compared to deterministic schedules, which are “unaware” of likely disruptions. A key question that naturally arises is on what basis can a schedule be judged to be better? For instance, given two schedules, one obtained under deterministic assumptions and another from a robust model, how can we quantify that the latter is more robust? In this paper, we develop a framework and propose measures that quantify the robustness of a given schedule under the onslaught of disruptions. The framework is developed with a focus on continuous process schedules. The proposed metrics reflect the criticality of any disruption in terms of mitigating actions such as schedule repair, complete rescheduling, or no change that need to be taken by a planner. The measures indicate the likelihood that the given schedule if implemented will lead to good/poor performance in the face of disruptions. * To whom correspondence should be addressed. E-mail: chergs@ nus.edu.sg. Tel.: +65-65168041. Fax: +65-67791936. † Institute of Chemical and Engineering Sciences. ‡ National University of Singapore.
The rest of the paper is organized as follows. A literature review of robust scheduling with particular emphasis on metrics to quantify robustness and sensitivity analysis is presented next. Section 3 describes the proposed framework to evaluate the robustness of a schedule. The approach is demonstrated using the crude oil refinery scheduling problem in section 4. 2. Literature Review Uncertainty in process industries can be classified into four categories based on the nature of the source as follows:1 (i) Model-inherent uncertainty: This includes changes in properties like transfer coefficients, kinetic constants, etc., used in the process model. (ii) Process-inherent uncertainty: This includes process variations like flow rates, temperature, stream quality fluctuations, etc. (iii) External uncertainty: This includes changes in demand, prices, market conditions, regulatory policies, etc. (iv) Discrete uncertainty: This includes equipment unavailability, random events, etc. Among these, external and discrete uncertainties as well as process-inherent uncertainty resulting in processing time changes usually cause schedule perturbations. Demand change, price variations, and processing time variation can be handled using preventive scheduling strategies. Methods include robust optimization, scenario-based modeling, sensitivity analysis, and parametric programming. Here, uncertainty is generally modeled as a probability distribution, fuzzy set, or bounded form based on historical data. Discrete uncertainties such as accidents, disastrous events, and breakdowns are usually dealt with using reactive scheduling strategies. Methods include right-shift rescheduling, heuristic-based approaches, and completely reactive approaches such as dispatching rules, etc. The reader is referred to the work of Li and Ierapetritou2 for a detailed review.
10.1021/ie900505a CCC: $40.75 2009 American Chemical Society Published on Web 09/15/2009
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009
Many different approaches to robust modeling can be seen in preventive scheduling literature. Metrics to compare a robust model’s performance to a deterministic model have also been proposed. We now review some of these preventive scheduling strategies and metrics. 2.1. Scenario-Based Modeling. In scenario-based modeling approaches, disruptions are modeled as multiple scenarios, each comprising a particular realization of the disruption parameters. Escudero et al.3 used this approach in a problem involving production of multiple products with uncertainty in the demand. Two parameterss(1) in-house production (x) and (2) outside procurement (y)sare varied over the horizon in the following way: (i) both flexible, (ii) both fixed, and (iii) fixed x and no y, to obtain three different models. In each model, multiple demand scenarios are used and performance is measured as a weighted sum of inventory and outside party procurement costs across all scenarios. The results indicate that the case with flexibility in varying both x and y led to the highest cost. In another application of the same approach, Escudero et al.4 provided a framework for a real life supply, transformation, and distribution scheduling problem for the oil industry. Here the uncertainties include product demand, spot market supply price, and product prices, and the objective is to minimize the weighted cost for all scenarios. No case study results were however presented. Samsatli et al.5 applied scenario-based modeling to dynamic optimization problems where each scenario also has an associated probability. They introduce a general robustness metric based on deviation of soft constraints from their target values. The lower the expected value of the deviation, the more robust the solution. Vin and Ierapetritou6 proposed a strategy to quantify and improve schedule robustness for multiproduct batch plants under demand uncertainty. Demand scenarios are generated using (1) a uniform distribution within the range of (40% of nominal demand and (2) a normal distribution centered at the nominal value. A multiperiod programming (MP) model is used where binary variables are fixed (taken from the nominal schedule) and the continuous variables are optimized for each demand scenario. The objective is to minimize makespan. Robustness is quantified as the standard deviation (SD) of makespan (which also accounts for infeasible scenarios by a modified measure) obtained from all the schedules. It is observed that a higher makespan (poorer performance) is obtained with the MP approach though it has better robustness as compared to the single period (SP) model. A notion of solution and model robustness based on scenario modeling was introduced by Mulvey et al.7 Solution robustness means that the solution to the optimization problem is close to the optimal for all scenarios (quantified by a performance term). Model robustness means that the solution remains feasible for all scenarios (quantified by a penalty for infeasibility). The objective function is a weighted sum of these robustness terms over all scenarios. The lower the variance of the objective function, the more robust the solution. In summary, in scenario-based approaches, robustness is quantified through measurement of performance variation/ degradation or deviation across the scenarios. The focus has been mostly on demand or cost uncertainty. In general, there exists a trade-off between performance and robustness. An alternative approach to study the robustness of a solution is through sensitivity analysis as reviewed next. 2.2. Sensitivity Analysis. Sensitivity analysis studies try to analyze the effect of parameter variation on the model’s recommendations. Typically they seek to answer the following:
9205
Figure 1. Classical approach to robust scheduling.
(i) How does the optimal solution change due to variation of input parameters? (ii) Within what range of input parameters does the optimal solution remain optimal? A systematic study of sensitivity analysis of scheduling problems was presented by Hall and Posner.8 They explored issues such as sensitivity analysis for simultaneous parameter changes, selection of a schedule with minimum sensitivity, and heuristic and nonoptimal sensitivity analysis among others for a discrete manufacturing setup. Penz et al.9 focused on the sensitivity analysis of static scheduling algorithms applied to one-machine and identical parallel machines, where the sequence of operations is fixed but processing times can vary. The objective is to minimize either the makespan or the total completion time. The performance ratio is defined as the ratio of the objective value obtained for any problem instance to the optimal objective value for that instance. On this basis, a sensitivity guarantee is proposed. A sensitivity analysis procedure for research and development (R&D) project planning and the scheduling problem was proposed by Samikoglu et al.10 The problem is to select R&D projects and allocate shared resources like facilities, project staff, etc., in the face of uncertainty in the project success. The authors used a parametric mixed integer linear programming (MILP) model and studied the sensitivity of the optimal projects to variations in the success probabilities of each task that makes up the project. The critical task success probabilities are identified in terms of changes they induce to the optimal solution. Dawande and Hooker11 proposed a method of sensitivity analysis for MILP problems which consists of two parts: (i) dual analysisswhich yields allowed perturbation to the problem given the desired range for objective functionsand (ii) primal analysisswhich yields the upper bound on the change in objective value given the extent of problem perturbation. This idea was utilized by Jia and Ierapetritou12 for short-term batch scheduling problems under demand, prices, processing time, and capacity change uncertainties. The objective here was to find the range of parameters where the optimal solution remains unchanged. Alternative schedules are also generated and compared based on the standard deviation metric.6 In brief, the usual strategy in sensitivity analysis of an optimal solution is to vary the uncertain parameters, run the model with the new values, and evaluate the minimum perturbation that the parameters must undergo to cause a change in the solution. The classical robust scheduling approach can be depicted as shown in Figure 1. The focus is on novel formulations or scheduling models that yield a robust schedule. Batch processes or discrete manufacturing constitute the majority of problems studied in literature. From the scheduling perspective, there are significant differences between continuous and batch processes as summarized in Table 1. In particular, ill-effects of shutdowns and the constraint of online modifications in a continuous process necessitate a different approach for handling disruptions. Our framework has been developed from the perspective of a continuous process. From practical considerations, it is important to know the sensitivity of the implemented schedule to anticipated disrup-
9206
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009
Table 1. Differences between Batch and Continuous Processes features
batch process
continuous process
equipment type recipe scheduling decisions
multipurpose proportion targeted allocation; sequence; campaign length; lot size number of products; no. of equipment items; processing flexibility min makespan; tardiness variation in makespan and service level
dedicated product specs targeted blending; campaign length; throughput no. of equipment items; processing capacity and ranges max profit shutdown; operation infeasible
complexity typical objectives disruption impact
tions. Accordingly, not every change to the schedule caused by disruptions is equally undesirable. For instance, change to the throughput of an operating unit is usually a simple step to correct a schedule. A change to the processing sequence and configurations within the schedule is relatively difficult once execution of the schedule has started. Other changes like operating the equipment beyond its limits would be infeasible. Therefore, a perspective based on the complexity of actions required to handle disruptions seems a suitable approach and is the one pursued in this work. 3. Proposed Robustness Analysis Framework The problem to quantify schedule robustness can be defined as follows: Given a scheduling problem with 1. initial conditions 2. one or more feasible production schedules 3. a set of disruptions The objective is to 1. quantify the robustness of the schedules 2. evaluate their sensitivity Figure 2 contrasts our approach with the classical robust scheduling approach in Figure 1. The key contributions of this work are the solution framework and robustness metrics. The proposed solution framework is shown in Figure 3 and consists of two stages: simulation and evaluation. At the simulation stage, all unique disruption scenarios are first identified. The performance of the given schedule under each
Figure 2. Proposed approach to evaluate robustness of a schedule.
Figure 3. Block diagram of proposed framework.
scenario is simulated and quantified through a set of schedule performance indicators (SPIs). The evaluation stage consists of analysis of the aggregate results (comprising all the scenarios) and leads to robustness and sensitivity metrics that quantify robustness of the given schedule. The two stages are described in detail next. 3.1. Simulation. There are three inputs to the simulation stage, namely, initial conditions (ICs), a schedule σ, and a disruption scenario Cj. The initial conditions can be classified as follows: 1. Explicit conditions: These include explicitly specified parameters such as demand, initial inventory, shipment arrival times, operating costs, profit margins, and available resources. 2. Implicit conditions: These include information which is not explicit such as equipment processing specifications, e.g., maximum throughput for a machine, maximum storage capacity for tank, etc. The initial conditions can be used to develop a schedule σ which is a timewise assignment of resources to tasks. A schedule can be developed manually or by using optimization algorithms so as to optimize some performance metrics such as profit. The schedule obtained using the initial condition data is called the base-case schedule σ0. A feasible schedule must also satisfy constraints which can be categorized as • End-point constraints: Constraints that need to be satisfied at the end of the horizon, e.g., demand fulfillment. • Path constraints: Constraints that need to be satisfied at all time values or time periods, e.g., capacity limits. • Timing constraints: Constraints imposed by operational rules, e.g., the sequence of operations should follow the specification in the recipe. The concept of flexibility in defining what constitutes a constraint violation is important. For example in meeting product demand, the production schedule is prepared based on a forecasted demand which may be different from the actual demand. Accordingly, the criterion for violation of any constraint allows a user-defined level of flexibility (for example, 5%). Thus in a disruption scenario, if production is within 5% of the forecast demand, it is still construed as resulting in no demand violation. This concept is illustrated in further detail in section 4. The performance of a schedule can be evaluated in terms of schedule performance indicators (SPIs). An SPI is a measure of the consequences resulting from the execution of the schedule. It could be an indicator of (i) economic performance, e.g., profit, (ii) target achievement, e.g., percentage of demand met, or (iii) constraint violation, e.g., number of periods where a path constraint is violated. In this paper, we consider a multitude of SPIs. The set of SPIs is represented as outcome vector O ) [SPI1 SPI2 ... SPIK], where K is the total number of SPIs used. The outcome from the base-case schedule σ0 in the absence of any disruptions is denoted as base-case outcome O0. For robustness analysis, information on the set of all feasible disruptions is also required. A disruption is any change in the initial condition(s) known only after a schedule has been determined. Disruptions include unexpected changes to arrival times of raw materials, production rate, and maximum capacity (due to breakdown/maintenance). A specific instance of a disruption is called a disruption scenario Cj and is represented as diemsh. Here i is the disruption class identifier (e.g., tank down) e is the equipment tag (e.g., T-101) m is the magnitude (e.g., [0 70]sCDU can be used only up to the 70% level) s is the start time (e.g., period 2)
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009
h is the extent (e.g., 7 periods) The set {Cj} j ∈ [1 J], obtained by considering all i, e, m, s, and h over their range constitutes the complete set of disruption scenarios. Schedule Evaluator. Once the set of disruption scenarios has been enumerated, the next step is to evaluate each scenario for feasibility and performance as measured by outcome O. These evaluation criteria are generally problem-specific and are defined in the schedule evaluator. The evaluator takes in three inputs, a specific disruption scenario Cj, initial conditions (ICs), and a given base-case schedule σ0, checks σ0 for feasibility under scenario Cj and outputs the outcome Oj (performance measure) for that scenario. Under scenario Cj, the base-case schedule σ0 may become infeasible due to one or more constraint violations. In such a case, the schedule may be either repaired or abandoned from that time period onward. In the present work, ways to repair the schedule are first explored, as a real-time scheduler would do. The rules for repairing the schedule are included in the schedule evaluator and are problem-specific. If σ0 is infeasible under scenario Cj, we may be able to repair the schedule to get σj, which is a scenario-specific modification of σ0. Here σj ∈ Zj, where Zj is the set of all feasible schedules for scenario Cj. The set Zj may be empty for some scenarios implying no feasible schedule exists for that disruption scenario. Denoting the outcome for scenario Cj as Oj ) [lj1, lj2, ..., ljK], the outcomes obtained from all the disruption scenarios, called the aggregate outcome L (in general) can be constructed as
[]
O0 O1 . aggregate outcome L ) . . OJ
(3)
ˆ j for scenario Cj is the same Tier 2. If the maximal outcome O as the base-case outcome O0. Under the disruption, the basecase schedule leads to constraint violations and needs to be repaired. The repaired schedule yields the same performance as the base-case. Specifically, the nominal outcome is not the same as the basecase outcome, i.e.
|Zj | > 0∃σj ∈ Zj such that (lˆjk ) jl 0k∀k)
[] []
(4)
(1)
In many scenarios, the base-case schedule σ0 may not continue to remain feasible; hence, a repaired schedule σj ˆ j of the maximal aggregate would be necessary. Each row O Lˆ corresponds to the outcomes obtained using the repaired ˆ j is given as schedule σj. An element ˆljk in O (2)
The elements jljk and ˆljk are expected to be different in these scenarios where the schedule needs to be repaired. In
(5)
where Zj is the set of all feasible schedules for Cj. ˆ j for scenario Cj is different Tier 3. If the maximal outcome O from base case outcome O0 but satisfies all the constraints nevertheless. Here also, the base-case schedule has to be repaired and yields a feasible schedule but the performance will not equal that of the base-case and is likely to be worse. |Zj | > 0 and ˆljk * jl 0k∃k ∀σj ∈ Zj
j j is a vector corresponding to In the nominal aggregate Lj , O the outcome obtained using the base-case schedule σ0 as-is j j is in the context of scenario Cj. Each element jljk in the O given by
ˆljk ) SPIk(IC, Cj, σj)
jl jk ) jl 0k∀k
but a feasible schedule exists that is such that the maximal outcome is equivalent to the base-case
ˆ0 O ˆ1 O . and Lˆ ) . . ˆJ O
jl jk ) SPIk(IC, Cj, σ0)
scenarios where the base-case schedule remains feasible and no repair is necessary, σj is the same as σ0; in other words, the corresponding elements in the maximal and nominal aggregates are the same. In both the nominal and maximal ˆ 0, represents the base case j 0 and O aggregates, the first term, O outcome, i.e., without any disruptions. The nominal and maximal aggregates form the basis for quantifying schedule robustness at the evaluation stage, as explained next. 3.2. Evaluation. At the evaluation stage, each scenario Cj is classified into one of four categories designated as tier 1 to ˆj j j and maximal O tier 4 based on comparison of the nominal O outcomes. Robustness and sensitivity measures are then derived as a function of this tierwise classification. The tierwise classification is as follows. A scenario Cj is assigned to the following: j j is the same as base-case Tier 1. If the nominal outcome O outcome O0. Consequently, no change to the base-case schedule is necessary to handle the disruption.
(ljjk * jl 0k∃k)
where element ljk is the value of SPIk for scenario Cj. Two j and different aggregate outcomes namely nominal aggregate L maximal aggregate Lˆ can be distinguished based on the particular schedule which is used to evaluate the outcome j0 O j O1 j) . L . . jJ O
9207
(6)
ˆ j has at least one constraint, Tier 4. If the maximal outcome O which is infeasible. This means that the magnitude and/or extent of the disruption are so large that the schedule cannot be repaired at all. In other words, no feasible schedule exists for the scenario. |Zj | ) 0
(7)
Evaluation of Tier 1 and Tier 4 conditions is easy in practice. However, before a scenario can be classified into tier 2 or 3, checks on all feasible schedules Zj are required. In general, it is difficult to enumerate all the feasible schedules in Zj; therefore, an approximation of the definitions for tiers 2 and 3 is used below. We define Z˜j ⊂ Zj where Z˜j contains the repaired schedules obtained using heuristics. Such rules yield a subset of all feasible schedules σj. Examples of these rules are discussed in section 4. This classification of a scenario into tiers is indicative of the complexity of changes needed to repair the schedule. For tier 1 scenarios, no changes to the schedule are necessary. Tier 2 implies that the schedule can be repaired in that scenario without
9208
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009
loss of performance. Tier 3 scenarios require complete rescheduling and may lead to worse performance while tier 4 constitutes scenarios where the schedule cannot be repaired and a change in the constraint (e.g., demand fulfilled at the end of the horizon) is necessitated. These therefore provide a rational basis to measure schedule robustness. 3.3. Robustness and Sensitivity Measures. Tiers 1 and 2 constitute those scenarios where the SPIs are unaffected upon occurrence of disruption. In other words, the schedule is either immune to the disruption (tier 1) or can be repaired to cope with the effects (tier 2). The percentage of scenarios in tiers 1 and 2 is defined as malleability φ of the schedule. A higher φ implies higher robustness and measures the extent to which the base-case SPI outcome can be obtained either with the basecase schedule or through rescheduling when a disruption occurs. Another measure of robustness is the number of scenarios for which the constraints cannot be satisfied even through rescheduling, i.e. no feasible schedule would exist if the disruption scenario occurs. This is indicated by brittleness λ, defined as the percentage of tier 4 scenarios. A large value of λ means that there are many scenarios for which no feasible schedule exists. A smaller λ therefore implies higher robustness since more scenarios are reschedulable. The above metrics indicate the robustness of the schedule as a whole and provide additional criteria (besides profit and computational time) to compare different schedules for a problem. To identify the effects of specific parameters and their critical values at which low φ or high λ (low robustness) occur, additional sensitivity metrics are required. Robustness analysis at a disruption level can give this insight. Such sensitivity measures are described next. Sensitivity analysis measures the variation of outputs with respect to changes in the individual disruption parameters. The first such measure developed here is the simple mean value given by SPIk )
1 J
J
∑ SPI
jk
(8)
j)1
J could include scenarios at different levels of detail depending on how many of the parameters like disruption class (i), start time (s), and extent (h) are varied simultaneously. For example, one can calculate the mean across all disruptions of class i ) 1 or all disruptions of class i ) 1 and start time ) 5 and so on. A second measure which can be used to compare across different parameter values is SPI sensitivity defined as ∂SPI/∂x where x is any one of magnitude (m), extent (h), start time (s), equipment (e), disruption class (i), or a combination thereof. SPI sensitivity helps identify the critical parameter value. For example, by varying disruption class “i” and averaging across all other parameters, we identify the critical disruption class. Similarly within a disruption class, we can identify the critical extent (h) by keeping the start time fixed and averaging the SPI across all disruption classes and magnitudes for varying durations. Other indicators are expected SPI, which is similar to the mean SPI measure but weighted with the probability of occurrence of the disruption scenario. However, for this, the probabilities for disruption scenarios are needed. The standard deviation measure which has been used in the literature is also another sensitivity measure. The sensitivity measures can be used to compare different schedules and devise preventive strategies for handling individual disruption types through knowledge of the critical units.
Figure 4. Crude oil unloading, storage, and processing flows in a typical refinery.
These, however, do not directly quantify schedule robustness. In this paper, we focus on the first two measures namely mean SPI value and SPI sensitivity as the indicators of sensitivity. In the next section, we illustrate these robustness and sensitivity measures using case studies from refinery crude oil scheduling. 4. Crude Oil Scheduling Petroleum refining is a multimillion dollar business worldwide and involves processing crude oil to yield products like gasoline, diesel, etc. Scheduling operations in a refinery include crude scheduling, hydraulic scheduling, and product scheduling. Crude scheduling considers the activities before processing such as unloading and charging, while hydraulic scheduling aims to control the operations of major units and the inventory between them, and product scheduling is concerned with the blending and distribution of final products.13 Here, we focus on crude oil scheduling. The crude oil scheduling problem involves the allocation of arriving crude parcels to multiple storage tanks for unloading and tanks to crude distillation units (CDUs) for charging, typically over a 1-4 week horizon. As shown in Figure 4, in a marine access refinery, the system comprises crude offloading facilities such as a SBM (single-buoy mooring) station, one or more jetties, storage facilities such as storage tanks (possibly charging tanks), and processing equipment such as CDUs. Crudes arrive either in large ships called very large crude carriers (VLCCs) that carry multiple parcels and offload through the SBM or in smaller single parcel ships, which unload through jetties. Many deterministic scheduling algorithms have been proposed in the literature (see, for example, the works of Reddy et al.,13,14 Lee et al.,15 and Li et al.16) which take, as input, problem data such as the number of charging tanks, CDUs, and the amount of crude arriving over the horizon and give optimized allocation and flow decisions as output. One such is shown in Table 6. Such a schedule is often not followed in its entirety due to numerous disruptions like parcel delay (due to late ship arrival), CDU operating below full capacity, and tank unavailability. Typically, in a month, there are about four to five occasions on average when crude oil transportation by sea to the refinery is delayed.17 Similarly, use of crude oil from storage is constrained four to five times each month due to entrained rainwater. The crude scheduling problem thus serves as a good test-bed for
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009 Table 2. Explicit and Implicit Initial Conditions for Crude Scheduling Problem explicit conditions and description number of tanks, CDUs, parcels, crude types considered horizon length (periods) demand for each CDU at end of horizon (kbbl) ship numbers, types, and arrival times for each ship resource tank
CDU
parcel
crude type
implicit condition (s) minimum volume to hold (heel) (kbbl) maximum capacity (roof limit) (kbbl) allowed crude types initial volume (kbbl) initial amounts of each crude (kbbl) minimum and maximum flow rates from tank to CD U (kbbl/period) minimum and maximum throughput rates (kbbl/period) minimum and maximum concentration limits for each key component (% by volume or mass) allowed crude types parcel size (kbbl) parcel vessel type and number (VLCC or jetty) parcel crude type minimum and maximum flow rates to tank (kbbl/period) margins (k$/kbbl) concentrations for each key component in the crude (% by volume or mass)
Table 3. Schedule Performance Indicators (SPIs) for Crude Scheduling Problem type
schedule performance indicator (SPI)
economic
profit revenue costs operational rules number of periods with tank feeding CDU and accepting parcel in same period number of periods of zero gap between crude receipt operation and crude feed operation for tanks extent of number of periods when key component constraint violation concentration limits are violated in CDU(s) number of periods when pipeline flow limit is violated number of periods when tank (s) volume is lower than minimum number of periods when tank(s) volume is greater than maximum number of periods when CDU(s) minimum throughput limit is violated number of periods when CDU maximum throughput limit is violated amount of demand unfulfilled at end of horizon
rescheduling18,19 and robustness studies. Next, we illustrate the application of the approach proposed in section 3 to this problem. 4.1. Robustness Analysis for the Crude Scheduling Problem. The explicit and implicit initial conditions for this problem are given in Table 2. The problem data for the refinery crude scheduling case studies are modified from the cases presented in Li et al.20 The two case studies that are presented comprise three candidate schedules each, designated as RRA, RLA, and RRA-p1.20 The case studies differ in the number of ships (and therefore parcels) arriving over the horizon, the demands for each CDU at the end of horizon, and initial inventory levels. The different schedules in each case study differ in terms of their parcels-to-tank and tank-to-CDU allocations as well as the flow amounts in each period. The schedule performance indicators used for this problem are given in Table 3. The criterion for feasibility of a schedule is violation of the operational rules and constraint SPIs beyond the allowed flexibility levels. The rules for repairing infeasible
9209
schedules are similar to those proposed by Adhitya et al.18,19 and are given in Supporting Information. These rules are targeted at satisfying the operational rule constraints and ensuring that physically impossible situations (such as a tank continuing to charge when its volume is below the minimum value) do not occur. These have been implemented in a Matlab program as was the schedule simulation and SPI calculation parts. The set of disruptions with their parameter ranges is given in Table 4. The table also shows the number of scenarios that are obtained by varying the parameters (i, e, m, s, h) within each disruption type for the two case studies. The disruption scenarios and the tiering are illustrated below using a case study. Let case study 1 represent the period from October 1st-14th whose data is the same as example 18 in the work of Li et al.20 with the changes listed in Table 5. The RLA schedule for this case study is given in Table 6. Element (6, 1) with value(s) of [+10 1] and [+350 2] represents inflows of 10 000 barrels (10 kbbl) from parcel 1 and 350 kbbl from parcel 2 to tank 6 in period 1. Similarly element (4, 6) with a value of [-20 2] represents outflow of 20 kbbl to CDU 2 from tank 4 in period 6. The other two schedules are included in the Supporting Information. The base-case profits for the schedules are RLA k$6043.5, RRA-p1 k$6029.1, and RRA k$5972.6. A total of 38 007 disruption scenarios were considered in this case study. The breakdown of the scenarios as per disruption type is given in Table 4. The schedule evaluator takes in each disruption scenario Cj and calculates its outcome Oj. The nominal and maximal outcomes are then obtained. For scenarios where the base case schedule does not remain feasible, the schedule is repaired using repair rules (see the Supporting Information) based on knowledge of refinery operations. To determine the tier for each scenario, the maximal and nominal aggregate outcomes are compared using the set of constraint SPIs in Table 4, as illustrated next. Consider the RLA schedule shown in Table 6. The basecase outcome O0 has no violations in the 7 SPIs. The disruption considered for this illustration is CDU unavailability. Figure 5 shows the tier distribution for this schedule of various scenarios where CDU2 is disrupted starting from period 1. The magnitude and duration of disruption vary between the scenarios. It can be noted that scenarios with higher disruption magnitude (i.e., lower maximum throughput) and higher duration show a shift toward higher tiers. Consider the scenario corresponding to a maximum disrupted throughput ) 30 kbbl and disruption duration ) 10 periods. This disruption scenario is identified as i ) 2, e ) CDU 2, m ) 50%, s ) 1, and h ) 10 periods. Here, a disruption m value of 0% refers to the maximum allowed throughput of 40 kbbl (no disruption) while 100% refers to the maximum allowed throughput of 20 kbbl () minimum throughput). From the schedule in Table 6, we note that the production need not be changed in the disrupted periods 1-10 even in this scenario. Therefore this disruption has no effect on any of the SPIs and it is classified as Tier 1. From Figure 5, it can be seen that up to 19 periods, even for 22 kbbl maximum throughput (i.e., m ) 90%), the disruption stays in tier 1. For the present case (m ) 50%), if the duration were to increase to 35 periods (h ) 35), however, the required demand cannot be met and the schedule has to be repaired by capping the production to 30 kbbl in periods 20-35 (step 2b of the repair algorithm). This leads to a total shortfall of 152 kbbl of production and therefore affects the demand fulfillment SPI; in other words, the disruption leads to an inability to meet the demand with the nominal schedule. In this scenario, however corrective action can be taken and the CDU throughput increased from periods 1 to 19,
9210
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009
Table 4. Set of Disruptions for a Crude Scheduling Problem disruption class
parameters (range)
case 1
case 2
tank unavailability CDU unavailability
tank number (T1-T8), start time (1-42), duration (1-42) CDU number (CDU1-CDU3), start time, duration, % throughput loss (0-100% with 0% corresponding to maximum and 100% to minimum) ship number (VLCC1-VLCC3, V1-V4), delay duration (arrival time-end of horizon) start time (1-42), duration (1-42) start time (1-42), duration (1-42) amount of demand change (2100-4200 kbbl in discrete amounts) percentage change
7224 29799
7224 29799
81
270
903
903 903
ship delay SBM unavailability jetty unavailability demand change inventory change
Table 5. Modifications from Example 18 of the Work of Li et al.20 in Case Study 1 s no. 1 2 3 4 5 6 7 8 9
parameter changed capacity of tank 8 (kbbl) demurrage cost (k$/period) changeover cost (k$/instance) inventory penalty ($/bbl · period) desired safety stock (kbbl) margin for C1 ($/bbl) margin for C8 ($/bbl) demands for CDU (kbbl) key component limit for component 2 (sulfur)
value from example 18 of ref
20
980 25 10 0.02 1500
CDU2 CDU3
as soon as the disruption is known. With this new schedule, there is no shortfall in production, however, the maximal outcome is different from the base-case outcome. Hence, this scenario is classified as tier 3. A further increase in disruption duration to 39 periods (h ) 39) leads to a net production shortage of ∼192 kbbl for CDU2. Even if the CDU were to be operated at its allowed maximum throughput for all 42 periods, i.e. 30 kbbl during 1-39 (disrupted periods) and 40 kbbl during 40-42 (after disruption), the total production is 1290 kbbl, 10 kbbl less than that required. Hence, it can be concluded that no schedule can be found to fully satisfy the demand. This scenario therefore falls into tier 4. The tier distribution obtained above is conditional on the userdefined level of flexibility. In the case above, a flexibility of 5 kbbl in total demand was used, i.e., a minimum of 1295 kbbl is required so as to have no constraint violation in demand. The effect of changes in this user-defined flexibility can affect the distribution of tiers as illustrated now. Consider the scenario where m ) 10% (38 kbbl maximum throughput) and h ) 20. In this scenario, there is a total loss of 2 kbbl in period 20. So the net production is 1298 kbbl if the nominal schedule is used as-is. Therefore the scenario is classified as tier 2, because the schedule has to be repaired (to cap the production to 30 kbbl in period 20), but it does not violate any constraints beyond the allowed flexibility. If the flexibility is changed to (1 kbbl (tighter limits) however, it is seen that this scenario would be classified as tier 3. With this lower flexibility, it is observed that for this case study the number of scenarios in tier 2 decreases by 598, those in tier 3 increase by 463, and in tier 4 they increase by 135. Thus overall, the schedule would be considered less robust. Another observation arises when the start time is changed from s ) 1 to s ) 22. For scenarios with s ) 21 (total of 242 scenarios), we would expect all cases to fall into tier 4 because CDU2 is operating at full capacity (40 kbbl) in all periods from 21 to 42 and therefore even at m ) 10% (38 kbbl), the loss of 2 kbbl in even one period (h ) 1) cannot be recovered subsequently. Here, the extent of flexibility determines the classification of the scenario into tier 2 or 4. With higher flexibility, more scenarios would be classified as tier 2, (3 scenarios in the present case with (5 kbbl flexibility, while none with (1 kbbl flexibility).
0.05 CDU1, CDU2 1000; CDU3 900 min 0.005; max 0.007 min 0.01; max 0.029
value in case study 1 570 15 5 0.2 1200 1.5 1.5 CDU1, CDU2, CDU3 1300 min 0.0125; max 0.0172 min 0.025; max 0.029
In summary, in this illustration, a low disruption magnitude does not affect the base-case schedule. As maximum throughput decreases, more scenarios shift toward tier 3 indicating that a feasible schedule is possible but the outputs are worse than basecase. As duration increases, scenarios shift from tier 3 to tier 4, as the shortfall cannot be recovered and hence no feasible schedule exists This tier distribution is in tune with the complexity of actions necessitated: (i) no change necessary, (ii) minor schedule repairs needed, (iii) complete rescheduling needed, or (iv) not feasible to meet demand. A similar calculation of the outcomes was performed for all the scenarios, and the outcomes were classified into tiers. Robustness and sensitivity measures were calculated from these and analyzed as described next. 4.2. Case Study 1. The malleability and brittleness metrics proposed in section 3 can be used for comparing different schedules for a case study. The three schedules RRA, RRAp1, and RLA, each designed to normally produce 3900 kbbl, are used in different demand scenarios ranging from 2100 to 3900 kbbl. Figure 6 shows the plot of normalized malleability difference (brittleness curves not shown here) with variation in normalized profit difference for each schedule. The normalization is done as a deviation from the best values (profit and malleability). Thus, the closer a point is to the origin, the better it is in terms of both profit and malleability. It can be seen that across the range of demands, RRA performs worse than the other two in both profit and robustness. Between RLA and RRAp1, the RLA schedule performs better in terms of robustness for all demand values. With respect to profit, RLA is better for demands in the range 3300-3900 kbbl while RRA-p1 gives a higher profit for demands from 2100 to 3100 kbbl. Thus, RLA is the best schedule to implement if the variation in demand will not be more than 600 kbbl. While the RRA-p1 schedule appears to be the best when considering profit alone (as is the conventional method), RLA is better when considering both robustness and profit. Next, we consider the benefit if any of consciously overdesigning a schedule, i.e., providing a safety margin in the schedule so as to produce more than the nominal demand. Figure 7 shows the variation of brittleness and malleability as demand varies from 2100 to 3900 kbbl under two cases: nominal demands of
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009
4200 and 3900 kbbl. At a demand of 3900 kbbl, the malleabilities, φ, of the two schedules are 0.49 and 0.21, respectively. The nominal schedule (with no overdesign) therefore necessitates rescheduling in 79% of disruption scenarios. However, using a schedule designed to produce a marginally (7.5%) higher throughput will reduce this to 51%. For the 3900 kbbl schedule, as demand falls by 5% to 3700, φ increases from 0.21 to 0.49. Any reduction in demand below 3100 kbbl leads to negligible improvement. With a demand of 3900 kbbl, the nominal schedule gives a brittleness, λ, of 0.43 while the schedule designed to meet 4200 kbbl has a λ of 0.24. For the 3900 kbbl case, brittleness decreases from 0.43 to 0.27 as demand changes from 3900 to 3700. In other words, 16% more scenarios become feasible (or reschedulable) under disruptions with a 5% decrease in demand from the nominal value. From these, it is evident that marginally overdesigning a schedule improves robustness.
9211
However, overdesigning by more than 20% has limited additional benefit. Next, we conduct a sensitivity analysis on RLA to identify critical disruption parameters. Table 7 gives an insight into relative criticality of the five disruption classes. Tank unavailability leads to a loss of ∼k$300 on average. The reason for this is that tank unavailability affects both inflow from parcels as well as outflow to CDU. In addition, since the demand (3900 kbbl) is ∼78% of the total CDU capacity (5040 kbbl), even small disruptions to CDU throughputs can cause constraint violations. The disruption class with the least effect on the schedule is found to be ship delay with an average loss of ∼k$200 per scenario. Figure 8 shows the relative importance of the different crude storage tanks. Here, the slope of tank 4 is significantly higher than most of the other tanks while tank 7 has zero slope. Hence,
Table 6. RLA Schedule for Case Study 1 tank 1 2 3 4
1 -20[3]
2 -20[3]
-37.42[1] -21.92[2]
-32[1] -20[2]
+10(1) +350(2)
+111.92(3)
5 6
3
4
5
6
7
-20[3] +158.66(4) -40[1] +141.34(4)
-20[3]
-20[3]
-20[3]
-20[3]
-40[1]
-40[1]
-40[1]
-40[1]
-20[2]
-20[2]
-20[2]
-20[2]
7 8
+88.08(3) 12
13
14
15
16
17
1 2 3
-20[1]
-20[1]
-20[1]
-20[1]
-20[1] +10(5) +200(6)
-20[1] +90(7)
-20[1]
18
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20.48[2] +160(7)
5
-22.5[1]
-20[1]
-20[1]
-20[2]
-20[2]
-20[2]
-20[2]
-20[3]
-20[3]
-20[3]
-20[3] 22
-20[1]
-20[1]
-20[1]
-20[1]
-25.6[2]
-32[2]
-20[2]
-20[2]
-20[2] -20[3]
-20[2] -20[3]
-20[3]
-20[3]
tank
23
24
25
26
27
28
29
1 2 3
-20[1]
-20.48[1]
-25.6[1]
-32[1]
+10(9) +250(10) -20[1]
+250(11)
-20[1]
-20[1] -20[2]
6 7 8
-30[1]
21
-20[3]
5
11
20
-20[3]
4
10
19
6 7 8
-20[3]
9
-20[2]
tank
4
8
-20[3]
-20[3]
+240(8) -20.48[3]
-20[3]
-25.6[3]
-20[1]
-32[3] 30
-20[1] -20[2] -20[1] -20[2] +190(12)
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[1] -20[2]
-20[2] -20[3]
-20[2] -20[3]
-20[2] -20[3]
-20[2] -20[3]
-20[2] -20[3]
-20[2] -20[3]
-20[2] -20[3]
-20[3]
-20[3]
-20[3]
-20[3]
-20[3]
-20[3]
-20[3]
-20[3]
-20[3]
31
32
-40[3]
-40[3] -20[1]
-20[1] -20[2] -20[1] -20[2]
-20[2] -20[2] -20[1]
tank
33
34
35
36
37
38
39
40
41
42
1 2 3
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-40[3] -20[1]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
-20[2] -20[1]
4 5 6 7 8
The top row (column head) refers to the time period, while the first column indicates the tank number. Negative values correspond to outflow amount (kbbl) from a tank to the CDU whose number is given in square brackets. Positive values indicate the inflow amount (kbbl) from the parcel whose number is given in parentheses.
9212
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009 Table 7. Most Critical Disruption Classes in Case Studies 1 and 2 disruption class tank unavailability CDU unavailability ship delay SBM unavailability jetty unavailability
Figure 5. Tier distribution for CDU2 unavailability scenarios starting from period 1: case study 1.
case 1 average profit (k$) case 2 average profit (k$) 5751.4 5829.1 5842.9 5806.2
5425.7 5498.4 5529.4 5348.7 3284.1
Figure 9 depicts the effects of ship delay disruptions. The three curves correspond to the three different ships in this case study. During periods 1-6 for VLCC1, the profit keeps decreasing because there is increasing number of the outflows affected until then. From periods 7-14, the amount of outflow affected remains constant. If VLCC1 arrives between periods 16 and 18, it cannot unload immediately as VLCC2 is busy unloading through the SBM in these periods, so the profit is the same in these cases. Similar observations are evident for VLCC2 and VLCC3 also. Typically, there is a larger reduction in profit when the unloading periods of two VLCCs overlap. In other periods, the losses are dependent on the amount of outflow that is affected due to the disruption. For VLCC2, this amount actually decreases for an arrival after period 27 (due to lower inventory cost), leading to a slight increase in profit. Periods 26-28 are the critical periods for the ship delay disruption class. During these periods, there is an overlap among VLCC2 and VLCC3 and a delay in unloading of VLCC2 propagates onto VLCC3. A different case in the same refinery is considered next. 4.3. Case Study 2. Case study 2 comprises the period from December 1st-14th. The problem data for this case is the same
Figure 6. Comparison of different schedules: case study 1.
Figure 8. Critical tank: case study 1.
Figure 7. Malleability and brittleness of RLA schedule: case study 1.
using the profit SPI sensitivity, we can identify that tank 7 is noncritical equipment while tank 4 is the most critical among the tanks. The sensitivity curves for the CDU unavailability disruption class (not shown here) also showed similar trends. Average profit fell as the magnitude of disruption increased toward complete shutdown.
Figure 9. Effect of ship delay disruption on RLA schedule: case study 1.
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009 Table 8. Modifications from Example 20 of the Work of Li et al. s no.
parameter changed
1 2
margin for C1 ($/bbl) demands for each CDU (kbbl) CDU2 key component limit CDU3
3
20
9213
in Case Study 2
as example 20 of the work of Li et al.20 with the differences shown in Table 8. The base-case profits for the three schedules are RRA-p1 k$5593.65, RLA k$5553.85, and RRA k$5584.7 (schedules are included in the Supporting Information). The distribution of scenarios into tiers in the RRA-p1 schedule for CDU3 unavailability disruption is shown in Figure 10. While case study 1 did not have any scenario in the tier 2 category, for this case there are a few scenarios that fall into tier 2. Figure 11 shows that the RLA schedule is worse than the RRA or RRAp1 schedules in contrast with case study 1 where the RLA schedule was the best. With respect to profit, the RRA-p1 schedule gives the best performance while being robust for half of the demand scenarios considered. Therefore the RRA-p1 schedule is chosen in this case for further analysis. The conclusion from Figure 12 (malleability and brittleness) confirms the benefits of overdesigning the schedule. It may be noted that
value from example 20 ref 1000 min 0.005; max 0.007 min 0.01; max 0.029
20
value in case study 2 1.5 1250 min 0.0125; max 0.0172 min 0.025; max 0.029
the initial robustness (40% malleability and 7% brittleness) of the nominal schedule of 3000 kbbl is already quite good. The reason for this is that the consumer demand of 3000 kbbl requires ∼60% of CDU throughput capacity, and the refinery is not overstretched to meet this demand. Table 7 shows that jetty unavailability is the critical disruption class in this case. Figure 13 shows that the delay of VLCC ships carrying multiple parcels has a greater effect than single parcel ships. While one reason is the number of parcels that are directly delayed, another is that as a consequence more tanks are unable to feed CDUs as in case study 1. 5. Conclusions A framework for evaluating robustness of schedules has been developed and tested using the crude scheduling problem. Three different robustness metrics are proposed, and their validity as indicators of a schedule’s performance under disruptions has been demonstrated. Their application to compare (i) different
Figure 10. Tier distribution for CDU3 unavailability scenarios starting from period 1: case study 2. Figure 12. Malleability and brittleness of the RRA-p1 schedule: case study 2.
Figure 11. Comparison of different schedules: case study 2.
Figure 13. Effect of ship delay disruption during the RRA-p1 schedule: case study 2.
9214
Ind. Eng. Chem. Res., Vol. 48, No. 20, 2009
schedules for a problem and (ii) robustness for different initial conditions (like demand) has also been illustrated. Sensitivity analysis using this framework provides a means to compare different disruption classes for a problem, identify critical resources, and locate critical periods in a schedule. The proposed framework has the flexibility to handle different problem configurations and a variety of disruption classes. Another key benefit from this approach is that it provides an alternative perspective to compare two (or more) different schedules for a problem instead of relying solely on the profit measures of the schedules or the computational time of the scheduling algorithm. The present framework relies on the assumption that only one disruption may occur in any scenario. Our current work seeks to extend this to multiple disruption scenarios in a computationally efficient fashion. Second, the current framework has been developed for continuous processes. We also plan to extend this to batch processes in the future. Acknowledgment The authors thank Mr. Li Jie, Department of Chemical and Biomolecular Engineering, National University of Singapore, for providing the schedules in the two case studies. Nomenclature Cj ) scenario j SPIk ) kth schedule performance indicator σ0 ) base-case schedule σ ) feasible schedule σj ) repaired schedule for scenario j Oj ) outcome for scenario j ) [SPI1, SPI2, ..., SPIK] L ) aggregate outcome matrix Lj ) nominal aggregate outcome from base-case schedule σ0 Lˆ ) maximal aggregate outcome using repaired schedule σj Zj ) set of all feasible schedules for scenario j Z˜j ) subset of Zj found using problem-specific rules to repair infeasible schedules pj ) probability of scenario j J ) total number of scenarios K ) total number of schedule performance indicators used kbbl ) kilobarrel k$ ) 1000 dollars IC ) initial condition R ) resource I ) task Tp ) time period λ ) brittleness φ ) malleability Indices v ) ship t ) tank u ) crude distillation unit p ) parcel c ) crude i ) disruption class identifier e ) affected resource identifier
m ) magnitude of disruption s ) start period of disruption h ) duration of disruption (periods)
Supporting Information Available: Repair rules and schedules. This material is available free of charge via the Internet at http://pubs.acs.org. Literature Cited (1) Pistikopoulos, E. N. Uncertainty in Process Design and Operations. Comput. Chem. Eng. 1995, 19, S553–563. (2) Li, Z.; Ierapetritou, M. Process scheduling under uncertainty: review and challenges. Comput. Chem. Eng. 2008, 32, 715. (3) Escudero, L. F.; Kamesan, P. V.; King, A. J.; Wets, R. J.-B. Production planning via scenario modeling. Ann. Op. Res. 1993, 43, 311– 335. (4) Escudero, L. F.; Quintana, F. J.; Salmero´n, J. CORO, a modeling and an algorithmic framework for oil supply, transformation and distribution optimization under uncertainty. Eur. J. Oper. Res. 1999, 114, 638–656. (5) Samsatli, N. J.; Papageorgiou, L. G.; Shah, N. Robustness metrics for dynamic optimization models under parameter uncertainty. AIChE J. 1998, 44 (9), 1993–2006. (6) Vin, J. P.; Ierapetritou, M. Robust short-term scheduling of multiproduct batch plants under demand uncertainty. Ind. Eng. Chem. Res. 2001, 40, 4543–4554. (7) Mulvey, J. M.; Vanderbei, R. J.; Zenios, S. A. Robust optimization of large scale systems. Oper. Res. J. 1995, 43 (2), 264–281. (8) Hall, N. G.; Posner, M. E. Sensitivity Analysis of Scheduling Problems. J. Sched. 2004, 7, 49–83. (9) Penz, B.; Rapine, C.; Trystram, D. Sensitivity analysis of scheduling algorithms. Eur. J. Oper. Res. 2001, 134, 606–615. ¨ .; Honkomp, S. J.; Pekny, J. F.; Reklaitis, G. V. (10) Samikoglu, O Sensitivity analysis for project planning and scheduling under uncertain completions. Comput. Chem. Eng. 1998, 22, S871–874. (11) Dawande, M. W.; Hooker, J. N. Inference-based sensitivity analysis for mixed-integer/linear programming. Oper. Res. 2000, 48 (4), 623–634. (12) Jia, Z.; Ierapetritou, M. Short-term scheduling under uncertainty using MILP sensitivity analysis. Ind. Eng. Chem. Res. 2004, 43, 3782– 3791. (13) Reddy, C. P.; Karimi, I. A.; Srinivasan, R. Novel solution approach for optimizing crude oil operations. AIChE J. 2004b, 50 (6), 1177–1197. (14) Reddy, C. P.; Karimi, I. A.; Srinivasan, R. A new continuous time formulation for scheduling crude oil operations. Chem. Eng. Sci. 2004a, 59 (6), 1325–1341. (15) Lee, H.; Pinto, J. M.; Grossmann, I. E.; Park., S. Mixed-Integer Programming Model for refinery short-term scheduling of crude oil unloading with inventory management. Ind. Eng. Chem. Res. 1996, 35, 1630–1641. (16) Li, W.; Hui, C. W.; Hua, B.; Zhongxuan., T. Scheduling crude oil unloading, storage and processing. Ind. Eng. Chem. Res. 2002, 41, 6723– 6734. (17) Singapore Refining Company Pte Ltd., personal communications. 2003. (18) Adhitya, A.; Srinivasan, R.; Karimi, I. A. A Model-based Rescheduling Framework for Managing Abnormal Supply Chain Events. Comput. Chem. Eng. 2007, 31 (5/6), 496–518. (19) Adhitya, A.; Srinivasan, R.; Karimi, I. A. A Heuristic Rescheduling Approach for Managing Abnormal Events in Refinery Supply Chains. AIChE J. 2007, 53 (2), 397–422. (20) Li, J.; Li, W.; Karimi, I. A.; Srinivasan, R. Improving the robustness and efficiency of crude scheduling algorithms. AIChE J. 2007, 53 (10), 2659–2680.
ReceiVed for reView March 27, 2009 ReVised manuscript receiVed August 3, 2009 Accepted August 28, 2009 IE900505A