An MILP-Based reordering algorithm for complex industrial scheduling and rescheduling

An MILP-Based reordering algorithm for complex industrial scheduling and rescheduling

European Symposium on Computer Aided Process Engineering - 10 S. Pierucci (Editor) 9 2000 Elsevier Science B.V. All rights reserved. An MILP-Based Sc...

457KB Sizes 2 Downloads 73 Views

European Symposium on Computer Aided Process Engineering - 10 S. Pierucci (Editor) 9 2000 Elsevier Science B.V. All rights reserved.

An MILP-Based Scheduling

and

Reordering

Algorithm

13

for Complex

Industrial

Rescheduling

J. RoslSf, I. Harjunkoski, J. Bj5rkqvist, S. Karlsson and T. Westerlund Process Design Laboratory, Department of Chemical Engineering /~bo Akademi University, Biskopsgatan 8, FIN-20500/~bo//Turku, Finland Despite the significant progress made in the fields of operations research and process systems engineering (Puigjaner, 1999; Shah, 1998) the complexity of many industrialsize scheduling problems means that a global optimal solution cannot be reached within a reasonable computational time. In these cases, the production schedule must be generated using e.g. some kind of sophisticated heuristics, which can often lead to suboptimal solutions. In this paper, we introduce a Mixed Integer Linear Programming (MILP) based algorithm, which can be efficiently used to improve an existing feasible, but nonoptimal, production schedule or to reschedule jobs in the case of changed operational parameters. The algorithm has been successfully applied to certain scheduling problems in both the paper-converting and pharmaceutical industry. 1. I N T R O D U C T I O N The combinatorial complexity of many real-life scheduling problems combined with the demand for computational efficiency often requires the use of heuristic rules or aggregated procedures (e.g. Lee et al., 1997; Rosl5f et al., 1999). Although these methodologies can produce very good feasible schedules, the optimality of the solutions cannot be guaranteed. Consequently, in most cases a gap exists between the global optimal solution and the best one obtained. Already a minor tightening of this gap may improve the schedule significantly and thus, have a notable economical impact. The problem has been addressed using different approaches. Hasebe et al. (1991) proposed an algorithm based on two reordering operations, the insertion of a job and the exchange of two jobs. They stated that simultaneous reordering of several jobs would be preferred, but concluded that such a system would be very complicated to design. To simplify the problem, they used a method to aggregate jobs before the reordering phase. Franca et al. (1996) presented a tabu-search heuristic with job insertion and removal procedures including a final adjustment stage in order to improve the obtained schedule. Lee et al. (1997) also used a heuristic rule followed by a post-processing procedure consisting of a series of insertion and swap operations. In the present work, a reordering algorithm based on an MILP framework is introduced. The general idea is to iteratively release a set of jobs in a feasible schedule and reallocate them optimally into the production program. By adjusting the number of simultaneously released jobs, even very large systems can still be addressed, obtaining solutions within a reasonable computational time. The algorithm can be applied to a wide range of scheduling problems both in single and multi-unit environments. It works especially well when applied to certain complex batch process scheduling and rescheduling problems with sequence-dependent setup times. Promising results have been obtained with real-life data from both the paper-converting and pharmaceutical industry.

14 2. P R O B L E M

DEFINITION

Consider a problem which contains a set of production jobs i t o be allocated into processing units. Each job has a predetermined production time pi and possibly also a release date ri and a due date di. In case of a multi-unit environment, there may exist several complicating factors to be dealt with in the scheduling process. For instance, a job can often be produced on alternative processing units each of which has a specific production time and there can be precedence relations between the jobs. In many cases, the problem described is most actual in the chemical processing industry, especially in batch production. In an order-driven industry, e.g. in paperconverting, the batch sizes and thus, even the production times are often predetermined by detailed customer specifications. The challenge lies in handling a very large number of jobs in a dynamic environment, where new jobs continuously emerge and specifications of some of the already received ones can be changed at any time. In mid-term scheduling of pharmaceutical fine-chemical production the batch sizes can as well be considered as fixed ones, mainly due to the authority regulations and extremely high validation costs for modified production sequences. In this case, the ultimate assignment for the scheduler is the handling of the alternative production paths as well as the management of unstable intermediates. 3. S O L U T I O N

METHODOLOGY

The complexity of real-life problems together with the expectations for reasonable solution times often exceed the performance that can be provided by the exact mathematical models using available computational capacity. Consequently, the practical problems are commonly solved using heuristics combined with various degrees of true optimization elements. When the construction of an acceptable feasible solution can already be a difficult and time consuming task, the potential hidden in a possible improvement process often remains unutilized. To be able to improve these schedules towards optimality, we introduce a reordering procedure which is easy to implement and applicable even on large-scale problems. When a feasible schedule has been obtained, a subset of the jobs included is released and then optimally inserted back into the schedule between the fixed ones. The jobs to be released can be chosen e.g. according to a specific given order or they can be picked randomly. By adjusting the number of simultaneously released jobs, the computational complexity can be set to a desired level in relation to the total number of jobs present in the system and the available computer capacity. The reordering algorithm can be executed either by running a certain prespecified number of iterations, or using a convergence criterium, e.g. dealing with the reached improvement of the solution in relation to the number of performed iterations. 3.1 M I L P C o r e F o r m u l a t i o n for a S i n g l e - U n i t Case The core model for representation of an iteration stage in the reordering process can be expressed as an MILP formulation. The most interesting part of the formulation, from the algorithmic point of view, is the constraints needed for the allocation of the jobs based on continuous time representation (e.g. Greenberg, 1968). They can be written for example as follows: t~ - tj <_ - P i - s~j

V

(i, j ) e S I i x e d l i

precedes j

(1)

Equation (1) describes the relative order of the jobs that are not released at the actual iteration (subset Ssixed). It must be written for every pair of jobs preceding each other. The equation ensures that the production of job j cannot be started before the production of job i is completed and the required setup time sij has elapsed.

15

V

k E S vet

(2) (3)

V

k 9 S rd

(4) (5)

V

k 9 S~

(6)

ti -- tk + ( T + sik -- rk ) . Yikj <_ T -- pi -- rk tk -- tj + ( T + Ski -- r j ) " Yikj <_ T - Pk -- rj tk -- t f + ( T + Skf -- r f ) " y k f <_ T - - p k

V

(i,j) E Sfix~dli

precedes j

--rf

tl -- t k + ( T + s l k -- r k ) " Yik <_ T -- p l -- r k

Y i k j + Y k l + Ylk = 1

(i,j)ess~

l i precedes j

Constraints (2) and (3) model the possible locations of a released job k (subset S re') in relation to the fixed ones. The binary variable y~kj obtains the value one, if the job k is allocated between jobs i and j. Accordingly, constraints (4) and (5) represent the time slots before and after all the fixed jobs, and the binary variables yks and y~k are set to one if job k is to be produced before the first fixed job f or, respectively, after the last fixed job 1. Equation (6) ensures that the released job k is allocated to one and only one of the locations allowed. The constant T represents the upper bound for the completition times of the jobs.

(7)

ti -- t j A- ( T + s i j -- r j ) " Yij <_ T - p~ - r j t j - ti -

( T + s j i - r i ) " y i j <_ - P j

- 8ji

V

(i,j) 9 Srd,i

# j

(8)

If several jobs are released simultaneously, their internal order is determined by constraints (7) and (8), in which the binary variable y~j is set to one if job i is produced before job j. A complete MILP model must, naturally, also contain a proper objective function and other relevant constraints, dealing e.g. with the release and due dates. A clear strength of this formulation, compared to many other reordering algorithms, is that every iteration contains information of the entire system, i.e. all jobs are present in the optimization procedure. Moreover, the result of the previous iteration can be used as a start condition for the following one, which provides a tight initial bound for the B&B algorithm. On the other hand, it is obvious that the reordering procedure can be driven towards suboptimal solutions as global optimality cannot be guaranteed. This phenomenon can, however, be avoided to some extent by releasing several jobs at the same time.

3.2 M u l t i - U n i t E n v i r o n m e n t The formulation presented above can be further utilized for multi-unit scheduling. The possible additional limitations, e.g. durability requirements of the intermediates, must be considered in the model by introducing appropriate constraints. This concept has recently been applied on a production planning problem dealing with the production of fine-chemicals in the pharmaceutical industry (BjSrkqvist et al., 1999). A very common feature in industrial batch processing is that a specific job can be performed on alternative processing units. Furthermore, the system can be highly coupled, i.e. the allocation decision concerning a job belonging to a production sequence often partly determines even the equipment which can be used for the down-stream jobs. These properties can be dealt with by introducing an additional reordering phase. The job with alternative production paths is first released, whereafter it is inserted into each of the possible processing units at a time. Finally, the processing unit providing the best overall solution is chosen. If there are coupled jobs present, it may be necessary that a part of the sequence must be released and then reallocated into the schedule according to the order given by the precedence constraints. An alternative method is to backtrack the entire sequence and enumerate every possible production path that can be generated by fixing the

16 processing units towards the down-stream jobs. This policy can be beneficial with sequences containing a limited number of alternative scenarios, whereas very complex recipes may be problematic from the computational point of view. 3.3 O p e r a t i o n a l A s p e c t s In a dynamic production environment it is very common that some jobs need to be relocated due to e.g. changed customer requirements, delayed raw-material deliveries or failures occurring on processing machinery. In an order-driven industry, there exists even a continuous need to allocate new orders into the existing schedule. In many cases, it is not desirable to reschedule all the jobs included, instead the required changes should be performed in such a way that the entire system is affected as little as possible. The reordering algorithm provides an efficient method to handle these issues. The modified jobs can be released and thus, rescheduled optimally only with minor changes to the original schedule. If a new job emerges, it can, accordingly, be inserted into the schedule using the same concept. The algorithm can also be used as a background process continuously performing release and insertion operations to find better solutions. Such a feature can be useful for production environments containing a very large number of jobs. If the jobs located in the near future are not preferred to be included into the continuous reordering process, the scanning can be limited to a time-window which is sufficiently separated from the current shop-floor schedule. If the complexity has been adjusted to an appropriate level, one iteration step does not require too high computational resources. Thus, if a sufficiently large number of reordering operations is performed, the possibility of finding improved solutions is considerable. From the operational point of view it is also a notable feature that, regardless of the convergence criterium used, the algorithm can be stopped at any time and is always able to provide the best solution obtained so far. 4. I L L U S T R A T I V E

EXAMPLE

A case study based on data received from a Finnish paper-converting mill producing barrier coated and laminated packaging materials and industrial papers, is presented. The mill is operated on an order-driven basis and the production machinery can be used for producing a very wide range of different product qualities. The task is to allocate the production jobs in such a way that the deliveries are performed in time and the total setup time is minimized. The large amount of jobs produced during a short time-period, continuously changing customer requirements together with strongly sequence-dependent setup times form a fascinating challenge, which is extremely difficult to solve by hand, even after years of shop-floor experience. The scheduling task contains 61 jobs representing 24 different product qualities on a single processing unit. No release dates are present but 11 different due-date groups complicate the system. The setup times required between different qualities can be derived from an expert system based on the data obtained from experienced schedulers. The time period includes two weekends during which the processing unit is not operated. The production sequence at the mill has been determined by a manually scheduled production program. The formulations required for the representation of the weekends do not fall under the scope and extent of this paper. Yet, the reordering iterations were performed using the MILP framework described above. The additional formulations do, however, slightly increase the combinatorial search space, which should be noted when studying the results. If the whole problem was solved in one stage, i.e. all the jobs were released simultaneously, the resulting MILP formulation would contain 1952 binary variables and be impossible to solve within acceptable time with the available computer resources.

17 4.1 T e s t r u n s 250 reordering iterations were performed starting from four different initial schedules: 1) The manually sorted production program (MANUAL) 2) a schedule obtained using a heuristics by first sorting the jobs using the earliest due date first policy and then, within a due date group, applying a priority rule dealing with the qualities (EDD-Q1Q2) 3) a randomized solution (RND) and 4) a solution obtained using a tailored iterative optimizer based on the concept presented by Roslhf et. al (1999) (SUPpre). The objective function is formed by a sum of total weighted tardiness and an overall weighted makespan. It should be noted that the schedule provided by the EDD-Q1Q2 heuristics is not regarded as an acceptable solution despite the fact that it provides a much lower objective function value, with the applied cost factors, than the realized schedule. Although the goal of minimizing the tardiness is very important, the total setup time is even more vital a factor for the efficiency of the mill. The EDD-Q1Q2 rule is not intelligent enough to consider this part to as large extent as desired. Two separate test sequences were performed using a uniformly distributed random selection of the released jobs. The first one releasing only one job at a time and the other releasing two jobs per iteration. The algorithm was implemented using C programming language and the tests were performed on a 300 MHz Pentium II workstation with 128 MB RAM running the LINUX operating system. The CPLEX-6.0 (ILOG, 1999) was used as an MILP solver. Selected results are presented in Figure 1 and Table 1.

T w o r e l e a s e d j o b s at a t ime

O n e r e l e a s e d j o b at a t i m e

300 000

300 000

RND

i RND 250 000

250 000

,~ 200 000

200 000

~" 150 000

~ 150000 L__._,

.

0

50

100

150

Start value of the Randomized schedule is : 1 925 600

Fig. 1

U

100 000

100 000

200

250

0

r

50

100

150

200

250

Number of Iterations

Nurrber of Iterations

The objective function value during the iterations

Table 1. Manually sorted production schedule vs. the best and worst solution after the reordering Indicator

Manual

Best solution

Worst

(SVPpre-2)

(RND-1)

Objective function value Active makespan Total setup time Number of tardy jobs Total tardiness

288,830 158.2 h 24.3 h 4 145.8 h

111,738 150.2 h 16.3 h 1 4h

118,516 157.7 h 23.8 h 1 4h

Total CPU-time used Average CPU-time per iteration Binary variables per iteration

-

3755.1 s 15.02 s 243

205.8 s 0.82 s 183

solution

18 4.2 C o n c l u s i o n s First of all, the results show that the SUPpre was directly able to generate a very good solution to the actual problem. However, the most interesting result is that the reordering process was able to improve even the randomized initial condition near to the very best solution found, with only a minor computational effort. When the obtained solutions are compared with the manually generated schedule, it is notable that even the "worst solution" is considerably more efficient than the one realized at the mill, especially in terms of total tardiness. Moreover, the best solution found leads to a very significant decrease of the total setup time. As expected, the strategy to release two jobs at a time led to a much stronger relative decrease of the objective function value than the option with only one released job. However, the higher complexity required much bigger computational effort. Despite the fact that the both strategies resulted, for this actual case, in schedules very near to each other, it can still be beneficial to release several jobs in order to guarantee high quality solutions. 5. D I S C U S S I O N

In this paper, an MILP-based reordering algorithm for the scheduling and rescheduling of batch processes was presented. It was shown that the algorithm can be successfully used to improve large-scale schedules appearing in the chemical processing industry. Considerable improvements to an existing non-optimal schedule can often be obtained already with low computational capacity. A powerful strength of the proposed methodology is that every phase of iteration contains information of the entire system, which means that each iteration will only improve or maintain the current schedule quality. The method can be applied even to improve already running schedules as a background optimization process. Furthermore, due to the general nature of the concept, the algorithm can, with minor modifications, be applied to various types of scheduling and other optimization problems with a related structure. REFERENCES

BjSrkqvist J., Karlsson S., RoslSf J., RSnnback R. and Westerlund T. (1999). Applying Iterative and Parallel Methods for Production Planning in the Pharmaceutical Industry. Presented at AIChE Annual Meeting, Dallas, Texas, USA. Franca P.M., Gendreau M., Laporte G. and Miiller F.M. (1996). A Tabu Search Heuristic for the Multiprocessor Scheduling Problem with Sequence Dependent Setup Times. International Journal of Production Economics, 43, pp. 79-89. Greenberg H. (1968). A Branch-Bound Solution to the General Scheduling Problem. Operations Research, 16, pp. 353-361. Hasebe S., Hashimoto I. and Ishikawa A. (1991). General Reordering Algorithm for Scheduling of Batch Processes. Journal of Chemical Engineering of Japan, 24, pp. 483-489. Lee Y.H., Bhaskaran K. and Pinedo M. (1997). A Heuristic to Minimize the Total Weighted Tardiness with Sequence-Dependent Setups. IIE Transactions, 29, pp. 4552. Puigjaner L. (1999). Handling the Increasing Complexity of Detailed Batch Process Simulation and Optimization. Computers ~ Chemical Engineering, 23, pp. $929-$943. RoslSf J., Harjunkoski I., Westerlund T. and Isaksson J. (1999). A Short-Term Scheduling Problem in the Paper-Converting Industry. Computers ~4 Chemical Engineering, 23, pp. $871-$874. Shah N. (1998). Single- and Multisite Planning and Scheduling: Current Status and Future Challenges. Proceedings of FOCAPO'98, Snowbird, Utah, USA.