Rolling Horizon Approach for Dynamic Parallel Machine Scheduling

Nov 10, 2009 - Rolling Horizon Approach for Dynamic Parallel Machine Scheduling Problem with Release Times. Lixin Tang*, Shujun Jiang and Jiyin Liu*. ...
0 downloads 10 Views 1MB Size
Ind. Eng. Chem. Res. 2010, 49, 381–389

381

Rolling Horizon Approach for Dynamic Parallel Machine Scheduling Problem with Release Times Lixin Tang,*,† Shujun Jiang,† and Jiyin Liu*,†,‡ Liaoning Key Laboratory of Manufacturing System and Logistics, The Logistics Institute, Northeastern UniVersity, Shenyang, China, and Business School, Loughborough UniVersity, Leicestershire LE11 3TU, U.K.

In this paper, we study a dynamic parallel machine scheduling problem with release times, where the release times and processing times of jobs may change during the production process due to uncertainties. The problem is different from classical scheduling problems in the deterministic environment where all information of jobs is known at the beginning of the scheduling horizon and will not change during the operations throughout the whole horizon. In practice, there are often unpredictable events causing dynamic changes in job release times and/or processing times. Traditional optimization methods cannot solve the dynamic scheduling problem directly even though they have been successful in solving the static version of the problem. A model predictive control (MPC) strategy based rolling horizon approach is applied to tackle the dynamic parallel machine scheduling problem with the objective of minimizing the total weighted completion times of jobs, the energy consumption due to job waiting, and the total deviation of actual job completion times from those in the original schedule. When the MPC is applied to the problem, the rolling horizon approach allows applying a Lagrangian relaxation (LR) algorithm to solve the model of the scheduling problem in a rolling fashion. Computational experiments are carried out comparing the proposed method with the passive adjustment method often adopted by human schedulers. The result shows that the proposed method yields significantly better results, with 11.72% improvement on average. 1. Introduction In the classical scheduling theory, most research has focused on deterministic machine scheduling, which was conducted under the assumption that all the information of jobs is known at the beginning of scheduling and will not change during the production process. In practical production operations, there are many dynamic events occurring such as changes in job arrival and processing. The arrival times and processing times of incoming jobs may be only estimates at the beginning of the scheduling horizon. With further information, more accurate estimates may be obtained at a later time. In other words, the originally estimated parameters of jobs may be changed as time progresses. In this paper, we consider the parallel machine scheduling problem with release times in such a dynamic environment, where the information of later jobs may be changed during the production process due to uncertainties. The problem under consideration is extracted from the process of steel production. Steel production is a complicated technological process, which involves a serial of stages. The steelmaking production process is roughly illustrated in the Figure 1. Iron ore and other raw materials are melted and transformed to pig iron in a blast furnace. Pig iron is then used to produce liquid steel in converters. Each batch of liquid steel produced in a converter is called a charge. After the refining process, the liquid steel is transported to continuous casters to form solid slabs. Because continuous-casting is an important stage converting liquid steel to solid slabs, we take this stage as our research background. The problem is to schedule the charges coming from the steel-making stage on the continuous-casters. Such a problem is a single-stage parallel machine scheduling problem. In this system, there are uncertainties in upstream stages causing * Corresponding author. Tel.: +86-24-83680169. Fax: +86-24-83680169. E-mail: [email protected] (L.T.); [email protected] (J.L.). † Northeastern University. ‡ Loughborough University.

changes in job release times and processing times. The uncertainties may come from the following unpredictable events: (1) Release-time related events (1) arrival delay of raw materials at upstream operations (2) machine breakdown at upstream operations (3) quality flaw of liquid steel at upstream operations (4) change of processing speed at upstream operations. (2) Processing-time related events (1) change of casting speed (2) online casting width adjusting (3) caster stream breakdown (4) unsatisfactory quality of casting slabs. As an example, Figure 2 illustrates dynamic changes in the steel making stage and corresponding rescheduling for a continuous-caster. An initial schedule based on estimated job information is shown in Figure 2a in which a cast consists of a sequence of charges c2, c1, c3, and c4. Here, a cast means a sequence of charges continuously processed on a caster. During the execution of this schedule, more accurate information becomes available indicating that c2 will arrive late and the processing time of c3 will be prolonged. As a result, the current schedule for the continuous caster becomes invalid. In such a situation, the schedule needs to be adjusted to cope with the unforeseen changes. A new schedule considering the new job information is shown in Figure 2b. Since such unpredictable disturbances often occur in real production, it is of practical significance to study the dynamic scheduling problem with various disturbances in the production environment. Bruno et al.1 proved that identical parallel machine scheduling to minimize the total weighted completion time problem, even in case of two machines (P2|∑wiCi), is also non-polynomial (NP)-hard. Lenstra et al.2 proved that single machine scheduling with release times to minimize the total weighted completion time problem 1|ri|∑wiCi is a strongly NP-hard problem. The parallel machine scheduling problem with release times in the dynamic environment is NP-hard in the strong sense since its

10.1021/ie900206m CCC: $40.75  2010 American Chemical Society Published on Web 11/10/2009

382

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010

Figure 1. Process for steel production.

Figure 2. Gantt chart of the end of a sequence in a continuous caster.

static and simplified version Pm|ri|∑wiCi has been already proved to be strongly NP-hard. Most existing literature dealing with steel production scheduling is concerned with finding optimal or near-optimal solutions under the assumption of a static environment. The static optimization methods existing can only solve problems in the deterministic environment. They are not suitable for the problem considering dynamic unpredictable disturbances during the production process. In real-world dynamic production scheduling, the predictive schedule is adjusted by human schedulers accordingly based on evaluating the implications of the unexpected disturbances. After disturbances happen, human schedulers often adopt a passive adjustment method to modify the predictive scheduling to satisfy the requirements on changed environment. The passive adjustment method adjust the jobs to be processed at the available time of the machines with the considering the disturbance of the jobs during this rolling window. But this method often takes into account only the current and local information when making a decision without considering the impacts on future events and on other part of the system. So, they may yield poor solutions due to their myopic nature. To efficiently cope with unexpected disturbances, the model predictive control (MPC) based rolling horizon approach is adopted to solve our problem. The predictive control strategy, which is widely used in the process industries, can make the appropriate reaction to foreseen disturbances. In addition, the MPC based rolling horizon approach can be used to update the decisions for the problem as horizon rolls forward. The model predictive control and rolling horizon approach have been widely used to solve different problems with uncertainties in the literature. Busch et al.3 presented a periodic rescheduling method combined with model predictive control for the operation of a wastewater treatment plant in a dynamic environment.

Perea-Lo´pez et al.4 proposed a multiperiod mixed-integer linear programming (MILP) dynamic model for supply chains with multiproduct, multiechelon distribution networks and multiproduct batch plants, which was implemented with a model predictive control strategy and a rolling horizon approach. Tzafestas et al.5 introduced a methodology framework under which the model-based predictive control was used as a decision-making tool for integrated production planning problems within a stochastic environment. Heever and Grossman6 employed rolling horizon for the integrated production planning and reactive scheduling in a hydrogen supply network. A Lagrangean decomposition heuristic is used to solve the planning problem with uncertainty, while the reactive scheduling model is solved as sequential single period models. Fang and Xi7 presented a periodic and event-driven rolling horizon optimization method from predictive control technology for the job shop scheduling problem in a dynamic environment. Then, a hybrid of genetic algorithms and dispatching rules is developed. Chand et al.8 presented a family of rolling horizon procedures for the problem of minimizing total completion on a single machine with release times. Extensive computational experiments showed that the procedures can obtain good solutions in a short CPU time. Munawar and Gudi9 proposed an integrated multilevel, control-theoretic framework to handle integration of planning, scheduling, and rescheduling. Receding horizon window is used to handle reactive scheduling with unforeseen disturbances at the lower level. Verderame and Floudas10 proposed a novel framework for the integration of planning and scheduling for a multipurpose and multiproduct batch plant, in which the scheduling model is solved through a forward rolling horizon approach. However, to the best of our knowledge, there seems to exist no papers studying the application of MPC based rolling horizon approach to the parallel machine scheduling problem with disturbances during production process. The main contribution of this paper has two aspects: (1) applying MPC logic to model and tackle the scheduling with the complicated disturbances and (2) applying Lagrangian relaxation to solve each scheduling problem within the rolling horizon. The rest of this paper is organized as follows. The problem description of the parallel machine scheduling problem with release times in the dynamic environment is given in section 2. Details of the solution framework are given in section 3. Computational experiments are given in section 4. Finally, section 5 contains our conclusions. 2. Problem Description The problem studied can be stated as follows. N jobs are to be processed by m identical parallel machines. Each job i (i ) 1, 2, ..., N) has a release time ri and requires a processing time pi. All jobs can be processed only after their release time, and no preemption is allowed. Each machine can handle at most one job at a time while a job can be processed on at most one machine at any time. The scheduling horizon K is assumed to be long enough to complete all jobs. The estimated processing

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010

383

Figure 3. Solution framework of dynamic scheduling based on MPC logic.

time and release time of each job are known at the beginning and may be changed due to disturbances during the rolling horizon. The goal is to obtain the job sequence in a dynamic environment to minimize the total weighted completion times of jobs, energy consumption, and the deviation between the new generated schedule and the initial schedule. As compared with ordinary parallel machine scheduling problem, our problem features the following characteristics: (1) The dynamic scheduling problem with disturbances on processing time and release time is concerned. (2) The effect of waiting for processing is added to the objective in order to make jobs to be scheduled as soon as they are released for saving energy. (3) To reduce the inconvenience cost caused by the scheduling deviation effect on downstream operations, the scheduling deviation is taken as an objective under consideration. The dynamic scheduling problem with disturbances under consideration is different from disruption management in three aspects: (1) Disruption is a remedy method for recovery after the critical events occur, whereas the dynamic scheduling problem with disturbances makes the appropriate reaction to unpredictable disturbances in advance by using the MPC-based method. (2) In the disruption management, an event-driven rescheduling policy is performed immediately when disruptions happen such as machine breakdown. In the dynamic scheduling with disturbances, the system makes the decisions at the starting point of each rolling window based on a periodic-driven rescheduling policy. Thus, the former belongs to an online realtime scheduling, while the latter belongs to a batch processing at the decision point for the jobs during each rolling window. (3) In the disruption management, selection of algorithms is made after disruption happens, while in the dynamic scheduling, the algorithm to be used is generally determined at the beginning of the whole horizon. 3. Solution Framework 3.1. MPC Logic. Model predictive control is an advanced control technique, which has been widely used in the process industries. The usefulness of MPC is that it can enable the system to make the appropriate changes to counteract foreseen disturbances effect in advance by introducing a feed forward effect based on a model and forecast of future behavior. Due to this feature, predictive control can reduce the influence of parameters of the scheduling object and the uncertainty of circumstance effectively. As a tactical decision policy, MPC can offer a good decision framework that best fits the dynamic problem with disturbances. The logic of the MPC will be applied

to model and tackle the dynamic scheduling with disturbances in this paper. The appeal of the proposed method over traditional approaches to the dynamic scheduling problem in the everchanging environment include the following: (1) Under an MPCbased framework, a rolling horizon approach can handle the disturbances in the dynamic environment. (2) The application of Lagrangian relaxation embedded into the rolling horizon strategy tackles scheduling problems. Figure 3 shows how the proposed MPC-based method is implemented to quickly update the decision variables during the scheduling process in our problem. The problem under study is first solved based on available information at the beginning to generate an initial schedule (past output). The counteraction of new outputs and reference trajectory is selected to be the input of the controller in order to keep the process as close as possible to the reference trajectory. The established model is optimized by the classical methodology (Lagrangian relaxation) to obtain the future inputs or control signals based on the past and current values. Once the control decisions are obtained, the first control signal is sent to the system while all the next control signals are rejected. Then, the horizon advances one step to the next rolling window and the solution procedure is iterated until the last rolling window is reached. 3.2. Rolling Horizon Implementation. Rolling horizon procedures have been developed for several different problems. Since it optimizes the system in a limited time horizon instead of globally optimizing the system, it is very suitable for the dynamic scheduling problems in varying environment. With this strategy, the complicated dynamic scheduling problem can be solved in a rolling horizon fashion. The rolling horizon used here is a little different from the common rolling horizon approach. Suppose that the original scheduling horizon [0, K] is divided into R time periods with equal length T. For the practical steel factory, a natural day or shift is generally taken as the scheduling horizon and an initial schedule is made for the whole horizon. Before the start of each time period, job information may change due to disturbances in the production and thus rescheduling is needed using the original schedule as a reference. In the commonly used rolling horizon approach, at each decision point the rescheduling problem would be solved considering a rolling horizon with fixed number of time periods. To take into account all available information, each rescheduling model in the rolling horizon method used here adjusts the schedule for all the remaining time periods in the same day or shift. We call the time interval from the decision point to the end of the scheduling horizon the rolling

384

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010



δik e Mk,

k ∈ [aT, K]

(4)

i ∈ U(t)

(5)

i∈U(t) K

∑δ

ik

) pi,

k)t

kδik e Ci, Figure 4. Rolling fashion with three rolling winows.

Ci - pi + 1 e k + K(1 - δik),

window. As time progress, the window is shortened by one time period with the starting point of it moving forward while its end is fixed to the end of the (original) scheduling horizon. As Figure 4 shows, the rolling windows at different decision points are [aT, K], a ) 0, 1, 2, ..., R - 1. The window with a ) 0 is the whole scheduling horizon. aT (a * 0) are the decision points when the rescheduling problems are solved with all information available by then. The computed control actions are only implemented for the interval [aT, (a + 1)T]. It can be seen that such a rolling horizon approach is adaptive to the dynamic production under varying environments. As time advances, the rolling window becomes shorter and the rescheduling problem becomes smaller and easier to solve. At any point when a scheduling decision is to be made, we need to update the system information including the job release times, processing times, and machine available times and solve a scheduling problem considering the updated information. We develop a mixed integer nonlinear programming model which can be used to formulated both the original scheduling problem at the beginning of the scheduling horizon and the rescheduling problem at the beginning of each rolling window and propose a Lagrangian relaxation algorithm to solve the model. For the original scheduling problem, the objective is to minimize the total weighted completion time and the energy consumption cost due to job waiting. For the rescheduling problem a further part is added to the objective to minimize the deviation of the job completion times from those in the original schedule, as mentioned in ref 14. The purpose of this additional objective term is to minimize the disturbance on the downstream production which is planned based on the original schedule of the current production stage. 3.3. Scheduling/Rescheduling Model for a Rolling Window. The following notation is used to present the mathematical model. Terms are defined in the Nomenclature section. N

P0: minimize



N

wiCi +

i)1

P1: minimize



i∈U(t)

wiCi +



∑ (b

i

- ri)2

(1)

i)1

(bi - r)i2 +

i∈U(t)



(Ci - C0i )2 (2)

i)∈U(t)

s.t. ri e bi,

i ∈ U(t)

i ∈ U(t); k ∈ [aT, K]

(3)

(6)

i ∈ U(t); k ∈ [aT, K] (7)

δik ∈ {0, 1},

i ∈ U(t); k ∈ [aT, K]

(8)

In this paper, parallel machine scheduling with release times in the dynamic environment is considered. A mixed integer nonlinear programming model is presented for the scheduling (rescheduling) problem in the rolling horizon. Although the future job information is not very accurate, an initial schedule based on estimated parameters for the whole scheduling horizon is still useful to provide the internal planners and external customers with an expected completion time of their orders. At the beginning time, the problem with objective 1 is first solved based on available information and then an initial feasible solution is obtained (C0i , i ∈ I). A new schedule is generated periodically with objective 2 subjected to the newly obtained production information during each rolling window [aT, K]. Each scheduling model corresponds to a fixed value of a. Objective 2 consists of minimizing following three terms: (a) total weighted completion times of jobs, which is the goal in the deterministic environment; (b) energy consumption of jobs caused by waiting to be processed after they are released (Due to high temperature of the products during the production process, a waiting penalty is introduced to the objective in order to reduce energy consumption caused by waiting for processing. Here, the energy consumption of a job is regarded as a quadratic function of the job’s waiting time.); (c) total deviation of actual job completion times from those in the initial schedule. The deviation chosen may reduce the effect to the system arising from dynamic disturbances in the process of scheduling as much as possible. Constraints 3 reflect that a job can be processed only after its release times. Constraints 4 are the machine capacity constraints. They indicate that all these machine requirements are satisfied with the number of available machines at that time. Machine capacity cannot be exceeded at each time unit. Constraints 5 ensure that the time intervals for which a job occupies one of the machines must be equal to the required amount of time for processing. Constraints 6 ensure that a job occupies one of the machines until the processing is finished. Constraints 7 ensure that a job starts occupying a machine from its beginning time. Constraints 5-7 together represent the time intervals for which a job is processed on a machine. And finally, constraints 8 define the ranges of variables. Based on the MPC framework, the model established for the scheduling problem correspording to each rolling window is different from the most existing traditional scheduling models in three aspects. (1) The waiting penalty is introduced to the objective for saving energy. (2) The model can tackle the dynamic scheduling with disturbances. (3) The scheduling deviation is taken as the objective to reduce the inconvenience cost caused by uncertainties. 3.4. Lagrangian Relaxation Algorithm. Lagrangian relaxation is an efficient optimization method. The major advantage is that it can provide a lower bound for problems.11 It has been applied to a wide range of scheduling problems such as the

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010

385

12

parallel machine scheduling problem or the job shop scheduling problem.13 Lagrangian relaxation is presented to solve the model corresponding to each rolling window in this work. The coupling constraints are relaxed and embedded as a penalty term multiplied by Lagrange multipliers in the objective function, therefore leading to a relaxed version of the primal model, which can be decomposed into several independent job-level subproblems to reduce the problem size. It is easier to solve decomposed job-level subproblems. So it is sufficient to obtain a near-optimal schedule with quantifiable performance within a reasonable computation time. The feasible solutions to Lagrangian relaxation at the beginning is an initial solution using objective 1. During the future rolling window, the scheduling problem is rescheduled again based on the updated information in that window and scheduling result is adjusted. The job-level decomposition of the model is introduced by relaxing constraints 4 with Lagrangian multipliers {uk}. The first solving LR problem is denoted by L0, and the LR problem solved at each rolling window is denoted by L1, respectively. N

(L0) min {Ci}

∑wC

i i

N

K

∑ (b

+

- ri)2 +

i

i)1

i)1

{Ci}

) min {Ci}

N

∑u (∑δ k

ik

k)1 K

N

) min

K

+ (bi - ri)2 +

∑u δ ] - ∑u M

∑ [w C

+ (Ci - pi + 1 - ri)2 +

k ik

i)1 N

k

k)1

i i

- M k)

i

∑ [w C

i i

k

k)1

i)1

K



K

ukδik] -

k)1

∑u M k

k

k)1

(9)

(L1) min {C } i

Figure 5. Effect of the number of rolling windows on algorithm performance (disturbance on processing time of jobs).



wiCi +

i∈U(t)





K

i∈U(t)

) min {Ci}

4. Computational Experiments

(bi - ri)2 +

i∈U(t)

(Ci - C0i )2 +

∑ u( ∑ k

k)t



δik - Mk)

i∈U(t)

[wiCi + (bi - ri)2 + (Ci - C0i )2 +

i∈U(t) K

K

∑ uδ ]- ∑ uM k ik

) min {Ci}



k

k)t

k

k)t 2

[wiCi + (Ci - pi + 1 - ri) +

i∈U(t) K

(Ci - C0i )2 +

∑ uδ

k ik

k)t

K

-

Figure 6. Effect of the number of rolling windows on algorithm performance (disturbance on release time of jobs).

∑ uM] k

k

k)t

(10) The job-level subproblems are solved optimally by enumeration. The lower bound together with the upper bound and the deviation in the linking constraints is used to update the Lagrange multipliers according to a subgradient updating procedure. In our algorithm, the subgradient optimization method is used to update the multipliers {uk} at each iteration given by un+1 ) un + Rng(un), where u is a vector of multipliers {uk}, n is the iteration index, and g(u) the subgradient of L equal to (∑Ni δik - Mk). And Rn is the step size at the nth iteration defined as Rn ) λ(L* - Ln)/(||g(un)||2), 0 < λ < 2, where L* is estimated by the best feasible objective value found so far and Ln is the dual value at the nth iteration.

Our approach is programmed in C++ language and run on a PC with 2.99 GHz CPU. The stopping criterion of Lagrangian relaxation used in optimization of the subproblems during each rolling window is set to iteration number 500. To test the performance of the proposed method, the experimental results are evaluated by following the performance measures: “improvement”, “average duality gap”, and “running time (seconds)”. Here improvement is used for showing the improvement amount of the proposed approach over the passive adjustment method (PAM). The duality gap is defined as (J - L*)/L*. L* is the value of the dual function while the feasible objective value J is the best upper bound obtained so far for each joblevel subproblem. The average duality gap is equal to the total sum of the duality gap of each problem divided by the number of rolling windows. Computational experiments have been carried out to compare the proposed method with the PAM. The PAM is an often used method by human schedulers for scheduling in systems with uncertainties, and it considers disturbances of the jobs during each rolling window. At each rolling window, the newest data and information is first updated. The jobs after being disturbed are compulsorily moved to be processed at the available time of the machines. And, the subsequent jobs which follow the disturbed jobs in the initial schedule need to be adjusted respectively. This procedure stops until all jobs are scheduled in the last rolling window. This method is inefficient but often used by human schedulers in real-world production for scheduling in the systems with uncertainties. However, it cannot generate ideal schedules since it just considers small partial

386

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010

Table 1. Testing Results for Problems with the Variation of the Processing Time (Small Size Data) disturbance (processing time) problem no. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 average

problem structures (jobs × machines × no. of rolling windows) 20 × 3 × 2 20 × 3 × 4 20 × 4 × 2 20 × 4 × 4 20 × 5 × 2 20 × 5 × 4 30 × 3 × 4 30 × 3 × 6 30 × 4 × 4 30 × 4 × 6 30 × 5 × 4 30 × 5 × 6 40 × 3 × 4 40 × 3 × 6 40 × 4 × 4 40 × 4 × 6 40 × 5 × 4 40 × 5 × 6 50 × 3 × 4 50 × 3 × 6 50 × 4 × 4 50 × 4 × 6 50 × 5 × 4 50 × 5 × 6

LO

PO

improvement (%)

average duality gap (%)

running time (s)

17863.7 17253.5 17371.8 16352.3 17561.2 16081.1 38147.9 40710.4 35745.6 33836.3 33670.5 36611.4 69759.1 65933.0 64214.4 59182.1 61268.7 60407.4 109737.6 105019.9 94488.3 92847.7 92132.0 92457.5 53693.89

19492.4 19662.0 17924.4 17353.5 18274.1 16905.0 43509.5 47831.7 38982.4 37235.1 36566.2 38981.2 88865.9 77885.8 69613.8 64374.8 65102.6 64391.0 121453.7 125568.2 99390.7 103691.7 96770.4 95908.3 59405.6

9.12 13.96 3.18 6.12 4.06 5.12 14.05 17.49 9.06 10.04 8.60 6.47 27.39 18.13 8.41 8.77 6.26 6.59 10.68 19.57 5.19 11.68 5.03 3.73 9.95

0.48 0.74 0.36 0.22 0.13 0.14 0.46 0.43 0.39 0.32 0.11 0.20 0.46 0.47 0.41 0.34 0.18 0.15 0.46 0.48 0.41 0.38 0.16 0.19 0.34

0.76 1.59 0.36 0.51 0.15 0.36 4.34 6.60 2.14 3.70 0.63 1.37 8.46 14.32 6.00 7.30 1.34 2.51 15.65 23.03 7.78 12.89 1.98 3.23 5.29

Table 2. Testing Results for Problems with the Variation of the Processing Time (Large Size Data) disturbance (processing time) problem no. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 average

problem structures (jobs × machines × no. of rolling windows) 60 × 3 × 4 60 × 3 × 6 60 × 4 × 4 60 × 4 × 6 60 × 5 × 4 60 × 5 × 6 70 × 3 × 6 70 × 3 × 8 70 × 4 × 6 70 × 4 × 8 70 × 5 × 6 70 × 5 × 8 80 × 3 × 6 80 × 3 × 8 80 × 4 × 6 80 × 4 × 8 80 × 5 × 6 80 × 5 × 8 90 × 3 × 6 90 × 3 × 8 90 × 4 × 6 90 × 4 × 8 90 × 5 × 6 90 × 5 × 8 100 × 3 × 6 100 × 3 × 8 100 × 4 × 6 100 × 4 × 8 100 × 5 × 6 100 × 5 × 8

LO

PO

improvement (%)

average duality gap (%)

running time (s)

138944.9 152834.8 125402.7 135005.0 126652.5 133682.8 201725.6 186603.1 162403.8 173520.2 175495.8 185140.0 240887.1 277071.8 223004.2 230528.3 215802.1 223626.6 313395.6 352487.1 276207.5 288835.6 277246.8 278215.5 397426.9 419922.1 350519.6 338462.2 347079.1 346492.2 243154.1

153623.1 187304.0 134511.0 151471.7 130994.7 152047.0 245283.3 237600.8 179594.1 199230.8 187432.2 196191.8 283117.3 331581.9 243652.7 266454.1 232017.1 241691.5 365634.0 456091.8 307318.1 318110.5 291738.5 296917.3 469175.5 556610.4 384124.0 383230.9 361333.0 376368.0 277348.4

10.56 22.55 7.26 12.20 3.43 13.74 21.59 27.33 10.58 14.82 6.80 5.97 17.53 19.67 9.26 15.58 7.52 8.08 16.67 29.39 11.26 10.14 5.23 6.72 18.05 32.55 9.59 13.23 4.11 8.62 13.33

0.48 0.47 0.36 0.56 0.19 0.19 0.48 0.48 0.36 0.38 0.21 0.15 0.48 0.74 0.33 0.38 0.25 0.21 0.48 0.48 0.36 0.36 0.15 0.14 0.48 0.47 0.38 0.37 0.13 0.14 0.35

26.51 41.84 11.35 14.54 3.13 3.49 63.41 92.74 23.20 40.46 8.20 11.23 88.95 145.76 19.55 50.17 7.59 17.72 133.05 214.40 42.81 55.05 7.73 6.28 184.34 277.40 53.44 70.08 4.45 16.93 57.86

disturbance currently happening without taking into account events occurring in the future. For the experiments, the objective valuet by using PAM is denoted as PO. And the objective value by using the proposed approach is denoted as LO. The column improvement is calculated by (PO - LO)/LO × 100%. In this section, extensive experiments are conducted based on different parameter configurations to analyze the performance of the propose approach. For the tests, the number of jobs ranges

from 20 to 100. The number of machines varies at three levels (3, 4, and 5). The number of rolling windows varies at four levels (2, 4, 6, and 8). The data for a job i are randomly generated as follows. An integer processing time pi is generated from the uniform distribution [5, 15], and an integer release time ri are generated from the uniform distribution [1, 1/2∑Ni pi]. An integer weight wi is generated from the uniform distribution [10, 15].

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010

387

Table 3. Testing Results for Problems with the Variation of the Release Time (Small Size Data) disturbance (release time) problem no. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 average

problem structures (jobs × machines × no. of rolling windows) 20 × 3 × 2 20 × 3 × 4 20 × 4 × 2 20 × 4 × 4 20 × 5 × 2 20 × 5 × 4 30 × 3 × 4 30 × 3 × 6 30 × 4 × 4 30 × 4 × 6 30 × 5 × 4 30 × 5 × 6 40 × 3 × 4 40 × 3 × 6 40 × 4 × 4 40 × 4 × 6 40 × 5 × 4 40 × 5 × 6 50 × 3 × 4 50 × 3 × 6 50 × 4 × 4 50 × 4 × 6 50 × 5 × 4 50 × 5 × 6

LO

PO

improvement (%)

average duality gap (%)

running time (s)

17180.5 16553.0 17261.4 16668.7 17185.8 17357.6 35577.9 37559.5 34988.9 33812.4 33866.7 35837.3 61116.4 62905.5 61980.1 60121.3 60823.9 59891.4 90158.9 91816.2 91953.6 93128.7 92948.4 93538.9 51426.4

18623.8 20199.6 17874.0 17692.9 17498.4 18084.1 41124.6 46787.7 39368.4 37439.4 37648.4 39216.3 73510.8 76793.1 69111.4 68946.0 63439.1 62406.1 101083.1 109196.8 96551.4 105024.1 99292.8 99394.7 57346.1

8.40 22.03 3.59 6.14 1.82 4.19 15.59 24.57 12.52 10.73 11.17 9.43 20.28 22.08 11.51 14.68 4.30 4.20 12.12 18.93 5.00 12.77 6.83 6.26 11.21

0.37 0.31 0.18 0.17 0.03 0.05 0.38 0.42 0.15 0.23 0.08 0.07 0.42 0.38 0.29 0.19 0.08 0.06 0.45 0.46 0.24 0.20 0.04 0.13 0.22

0.59 1.38 0.19 0.55 0.07 0.09 3.70 6.24 1.17 3.19 0.46 0.35 7.81 12.29 4.50 4.59 0.36 0.26 13.50 20.76 3.38 8.52 0.20 2.50 4.03

Table 4. Testing Results for Problems with the Variation of the Release Time (Large Size Data) disturbance (release time) problem no. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 average

problem structures (jobs × machines × no. of rolling windows) 60 × 3 × 4 60 × 3 × 6 60 × 4 × 4 60 × 4 × 6 60 × 5 × 4 60 × 5 × 6 70 × 3 × 6 70 × 3 × 8 70 × 4 × 6 70 × 4 × 8 70 × 5 × 6 70 × 5 × 8 80 × 3 × 6 80 × 3 × 8 80 × 4 × 6 80 × 4 × 8 80 × 5 × 6 80 × 5 × 8 90 × 3 × 6 90 × 3 × 8 90 × 4 × 6 90 × 4 × 8 90 × 5 × 6 90 × 5 × 8 100 × 3 × 6 100 × 3 × 8 100 × 4 × 6 100 × 4 × 8 100 × 5 × 6 100 × 5 × 8

LO

PO

improvement (%)

average duality gap (%)

running time (s)

127996.3 132359.3 122740.0 132205.7 126478.0 133285.0 177240.6 174160.0 163206.0 170198.5 175800.8 186428.2 217913.1 229638.6 220371.6 225493.9 216244.4 223533.6 277607.2 298704.2 273219.5 287705.7 275826.0 282172.9 340815.3 350476.4 345655.4 333868.5 345926.7 343882.6 230371.8

141793.4 165750.0 130733.5 141971.2 132701.6 141714.4 218449.2 230579.9 179426.7 179426.7 185598.5 199574.6 250359.9 298753.6 236691.5 254615.6 231591.8 247869.7 322293.0 381752.1 291333.1 320766.7 292752.0 309538.6 377570.4 437182.3 367348.2 379596.6 358354.3 367492.2 259119.4

10.78 25.22 6.51 7.39 4.92 6.32 23.25 32.40 9.94 5.42 5.57 7.05 14.89 30.10 7.41 12.91 7.10 10.89 16.10 27.80 6.63 11.49 6.14 9.70 10.78 24.74 6.28 13.70 3.59 6.87 12.40

0.42 0.42 0.25 0.15 0.11 0.06 0.46 0.45 0.17 0.19 0.06 0.10 0.43 0.43 0.14 0.22 0.05 0.09 0.44 0.44 0.20 0.17 0.08 0.03 0.45 0.41 0.14 0.12 0.03 0.02 0.22

21.67 35.45 6.18 3.58 1.82 1.11 55.14 77.78 12.02 10.40 0.82 6.07 73.08 117.25 1.88 19.60 1.06 2.11 89.64 156.85 15.23 21.23 6.84 2.38 135.59 183.51 7.70 10.66 1.99 3.09 36.06

Disturbances are represented in a stochastic fashion. The entire time horizon is divided into a number of rolling windows with dynamic events on unscheduled jobs. As done in this paper, we study two kinds of dynamic events occurring during each rolling window based on the practical production of the steel complex, including variations of the process times and the release times on jobs. The disturbance scope for the processing time of each job is generated from the uniform distribution [0,

max(pi(ri - t)/10, 20)]. The disturbance scope for the release time of each job is generated from the uniform distribution [0, max(ri - t, 20)], where t is the decision point of the current rolling window. The combination of the above parameter levels generates 108 different problem scenarios, for each of which 10 different problem instances have been tested. A periodic rolling horizon scheduling strategy is adopted in this paper where a natural day or shift is taken as the whole

388

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010

Table 5. Testing Results for Different Numbers of Rolling Windows with the Variation of the Processing Time disturbance (processing time) problem no. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 average

problem structures (jobs × machines × no. of rolling windows) 60 × 3 × 1 60 × 3 × 3 60 × 3 × 5 60 × 3 × 7 70 × 3 × 1 70 × 3 × 3 70 × 3 × 5 70 × 3 × 7 80 × 3 × 1 80 × 3 × 3 80 × 3 × 5 80 × 3 × 7 90 × 3 × 1 90 × 3 × 3 90 × 3 × 5 90 × 3 × 7 100 × 3 × 1 100 × 3 × 3 100 × 3 × 5 100 × 3 × 7

LO

PO

improvement (%)

average duality gap (%)

running time (s)

130880.1 122365.2 127751.9 132465.1 161972.2 174884.9 174694.7 175384.7 216435.4 206517.7 219832.6 221171.4 279919.7 272596.4 269844.9 278282.6 342130.1 340288.5 319812.9 361969.9 226460.1

135998.7 127504.9 134655.9 148789.8 170099.6 183667.3 184836.8 191429.6 224878.8 216486.2 235168.0 239122.3 291622.6 284639.3 285648.6 301756.0 351130.2 353764.3 342338.3 397546.1 240054.2

3.91 4.20 5.40 12.32 5.02 5.02 5.81 9.14 3.90 4.83 6.98 8.12 4.18 4.42 5.86 8.44 2.63 3.96 7.04 9.83 6.05

0.30 0.15 0.21 0.19 0.31 0.24 0.18 0.22 0.20 0.13 0.15 0.17 0.34 0.20 0.16 0.13 0.29 0.16 0.12 0.16 0.20

0.89 1.23 4.25 6.36 2.47 6.22 6.00 13.26 1.11 1.24 5.16 7.79 4.52 6.83 7.76 11.67 3.05 4.93 4.29 15.71 5.74

Table 6. Testing Results for Different Numbers of Rolling Windows with the Variation of the Release Time Disturbance (release time) Problem No. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 average

Problem structures (Jobs × Machines × No. of rolling windows) 60 × 3 × 1 60 × 3 × 3 60 × 3 × 5 60 × 3 × 7 70 × 3 × 1 70 × 3 × 3 70 × 3 × 5 70 × 3 × 7 80 × 3 × 1 80 × 3 × 3 80 × 3 × 5 80 × 3 × 7 90 × 3 × 1 90 × 3 × 3 90 × 3 × 5 90 × 3 × 7 100 × 3 × 1 100 × 3 × 3 100 × 3 × 5 100 × 3 × 7

LO

PO

Improvement(%)

Average duality gap (%)

Running time (s)

130663.0 121866.2 127445.6 132567.1 160814.0 173716.7 174505.2 173250.9 216120.7 204384.2 219085.8 221014.9 279520.5 271127.0 268268.0 279087.9 341238.7 338284.5 319791.0 358230.7 225549.1

132158.4 125216.3 131769.9 148176.2 162358.9 180473.1 179716.8 185379.5 217469.1 208882.8 231501.2 240323.5 282645.3 276714.9 276766.0 304465.2 343785.5 343266.1 327929.4 379268.1 233913.3

1.14 2.75 3.39 11.77 0.96 3.89 2.99 7.00 0.62 2.20 5.67 8.74 1.12 2.06 3.17 9.09 0.75 1.47 2.54 5.87 3.86

0.09 0.06 0.10 0.06 0.05 0.09 0.09 0.08 0.03 0.03 0.04 0.04 0.11 0.02 0.05 0.05 0.06 0.04 0.05 0.06 0.06

0.06 0.22 2.19 0.80 0.08 0.32 3.14 4.30 0.11 0.42 0.92 1.57 0.16 0.59 1.24 3.04 0.21 0.81 1.61 3.51 1.27

time horizon. In order to illustrate the performance of the proposed method with respect to the different number of jobs, we carry out the computational experiments and the results are presented in Tables 5 and 6. The number of rolling windows is set to different values to test its impact on solution quality. Figures 5 and 6 illustrate the solution performance against different rolling window sizes and different numbers of jobs for disturbances on processing times of jobs and release times of jobs, respectively. There is a clear impact of the number of rolling windows on solution quality. As the number of rolling windows increases, improvement becomes larger gradually which means that the solution quality of the proposed approach becomes better steadily, compared to the solution of the PAM. As the number of rolling window increases, the disturbances in the dynamic scheduling environment can be measured and handled in a timely mannter, which results in improvement on the quality of the solutions, although computation time increases. The experiments are carried out based on two kinds of situations including the disturbances of the jobs’ processing times and the disturbances of the jobs’ release times. Upon the

basis of the results presented in Tables 1-4, we can make the following observations about our methods. (1) From the column improvement in the tables, we can find that our proposed method greatly outperforms the passive adjustment method. The average improvements of our methods over the passive adjustment method are 9.95%, 13.33%, 11.21%, and 12.40% for four different problem sets, respectively. (2) From the column average duality gap in the tables, we can find that the proposed method that embeds Lagrangian relaxation into the MPC based rolling horizon approach can obtain near optimal schedules for the problem in a relatively short computational time, and it shows robust performance in most cases. (3) When the number of jobs and the number of rolling windows are fixed, the average duality gap decreases as the number of machine increases in most cases. This is consistent with the intuition that for a fixed numbers of jobs and rolling windows, when the number of machine

Ind. Eng. Chem. Res., Vol. 49, No. 1, 2010

increase, there is more choice of machines for each job and the problem becomes easier to solve. 5. Conclusion In this paper, a MPC based rolling horizon strategy is presented for solving the parallel machine with release times scheduling problems with disturbances, which is frequently happening in the dynamic environment of practical production systems. A Lagrangian relaxation algorithm is presented as the optimization tool to solve the scheduling problems based on progressively accurate information during each rolling window. An iterative process is developed that ensures the system of tracking the initial solution as the rolling window is moving. Computational experiments results show that the rolling horizon approach under an MPC-based framework can handle the disturbances in the dynamic environment well. The application of Lagrangian relaxation embedded into the rolling horizon strategy can tackle scheduling problems corresponding to each rolling window effectively. And, the proposed approach obviously outperforms the passive adjustment method usually used in the practical production. The maximum average improvement is 13.33% and 12.40%. From the perspective of the average duality gap, the proposed method can obtain satisfactory solutions in short CPU time. Acknowledgment This research is partly supported by National Natural Science Foundation for Distinguished Young Scholars of China (Grant No. 70425003 and 70728001), National 863 High-Tech Research and Development Program of China through approved No.2006AA04Z174, and National Natural Science Foundation of China (Grant No. 60674084). Nomenclature Indices I ) set of all jobs, I ) {1, 2, ..., N}, where N is the total number of jobs m ) total number of identical parallel machines pi ) processing time of job i bi ) starting time of job i ri ) release time of job i Mk ) number of machines available at time k K ) total number of time units to be considered R ) total number of rolling windows during the whole time horizon U(t) ) set of jobs that have not been processed until the decision point t wi ) weight of job i

389

Decision Variables Ci ) completion time of job i in a rolling window, i ∈ I, it is a time point (Ci ) k means that the job completes at the end of time unit k) Ci0 ) completion time of job i in the initial schedule, i ∈ I

δik )

{

1 job i is processed at time unit k, i ∈ I, k ) 1, 2, ..., K 0 otherwise

Literature Cited (1) Bruno, J.; Coffman, E.; Sethi, R. Scheduling independent tasks to reduce mean finishing time. Commun. A.C.M. 1974, 17 (7), 382–387. (2) Lenstra, J. K.; Rinnooy Kan, A. H. G.; Brucker, P. Complexity of machine scheduling problems. Ann. Discrete Math. 1977, 1, 343–362. (3) Busch, J.; Oldenburg, J.; Santos, M.; Cruse, A.; Marquardt, W. Dynamic predictive scheduling of operational strategies for continuous processes using mixed-logic dynamic optimization. Comput. Chem. Eng. 2007, 33, 574–587. (4) Perea-Lo´pez, E.; Ydstie, B. E.; Grossmann, I. E. A model prodective control strategy for supply chain optimization. Comput. Chem. Eng. 2003, 27, 1201–1218. (5) Tzafestas, S.; Kapsiotis, G.; Kyriannakis, E. Model-based predictive control for generalized production planning problems. Comput. Ind. 1997, 34, 201–210. (6) Heever, S. A.; Grossmann, I. E. A strategy for the integration of production planning and reactive scheduling in the optimization of a hydrogen supply network. Comput. Chem. Eng. 2003, 27, 1813–1839. (7) Fang, J.; Xi, Y. G. A rolling horizon job shop rescheduling strategy in the dynamic environment. Int. J. AdV. Manuf. Tech. 1997, 13, 227–232. (8) Chand, S.; Traub, R.; Uzsoy, R. Rolling horizon procedures for the single machine deterministic total completion time scheduling problem with release dates. Ann. Oper. Res. 1997, 70, 115–125. (9) Munawar, S. A.; Gudi, R. D. A multilevel, control-theoretic framework for integration of planning, scheduling, and rescheduling. Ind. Eng. Chem. Res. 2005, 44, 4001–4021. (10) Verderame, P. M.; Floudas, C. A. Integrated operational planning and medium-term scheduling for large-scale industrial batch plants. Ind. Eng. Chem. Res. 2008, 47, 4845–4860. (11) Fisher, M. The Lagrangian Relaxation Method for solving integer programming problems. Manag. Sci. 1981, 27 (1), 1–18. (12) Luh, P. B.; Hoitomt, D. J.; Max, E.; Pattipati, K. P. Scheduling generation and reconfiguration for parallel machines. IEEE Trans. Robotic. Autom. 1990, 6 (6), 687–696. (13) Hoitomt, D. J.; Luh, P. B.; pattipati, K. R. A practical approach to jobshop scheduling problems. IEEE Trans. Robotic. Autom. 1993, 9 (1), 1–13. (14) Pinedo, M. Scheduling: Theory, Algorithms, and Systems; New York University: New York, 2000.

ReceiVed for reView February 5, 2009 ReVised manuscript receiVed October 9, 2009 Accepted October 20, 2009 IE900206M