decomposition techniques for multistage scheduling problems using mixed-integer and constraint...

20

Click here to load reader

Upload: iiro-harjunkoski

Post on 02-Jul-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

Computers and Chemical Engineering 26 (2002) 1533–1552

Decomposition techniques for multistage scheduling problemsusing mixed-integer and constraint programming methods

Iiro Harjunkoski, Ignacio E. Grossmann *Department of Chemical Engineering, Carnegie Mellon Uni�ersity, Pittsburgh, PA 15213, USA

Received 22 August 2001; received in revised form 11 April 2002; accepted 15 April 2002

Abstract

In this paper two strategies are presented to reduce the combinatorial complexity when solving single stage and multistageoptimization scheduling problems that involve cost minimization and due dates. These problems can naturally be decomposed intoassignment and sequencing subproblems. The proposed strategies rely on either combining mixed-integer programming (MILP)to model the assignment part and constraint programming (CP) for modeling the sequencing part, or else combining MILPmodels for both parts. The subproblems are solved sequentially by adding integer cuts to the first MILP to generate newassignments. Results are presented for both single and multistage systems.© 2002 Elsevier Science Ltd. All rights reserved.

Keywords: Mixed integer programming; Constraint programming; Hybrid strategy; Multistage scheduling

www.elsevier.com/locate/compchemeng

1. Introduction

With increased computational power and algorithmicdevelopments mixed-integer linear programming(MILP) has become a competitive alternative for solv-ing scheduling and related combinatorial optimizationproblems in chemical engineering. Examples of MILP-models for scheduling are given, for instance, in Peknyand Reklaitis (1998), Shah (1998), Pinto and Gross-mann (1998). The advantage of the MILP-approach isthat it provides a general framework for modeling alarge variety of problems such as multiperiod planning,job shop scheduling and supply-chain managementproblems. However, the major difficulty lies in thecomputational expense that may be involved in solvinglarge-scale problems, which is due to the computationalcomplexity of MILP problems which are NP-hard.Therefore, solving MILP models without simplificationthrough the use of heuristics can often make this ap-proach prohibitive for industrial applications. To re-duce the combinatorial explosion in schedulingproblems, logic based optimization methods haveemerged (Hooker, 2000). These include generalized dis-

junctive programming (GDP) (Raman & Grossmann,1994) and constraint programming (CP) (Hentenryck,1989). GDP is based on the idea of representing dis-crete and continuous optimization problems throughequations, disjunctions and logic propositions, and interms of Boolean and continuous variables. CP is simi-lar to GDP, in that it also involves equations, logicstatements and disjunctions. However, the most impor-tant difference is that CP has high-level constructsknown as global constraints that are procedural andimplicit in nature, which can make it possible to expressthe models in a very compact form. In contrast, GDPgives rise to declarative models that are expressedthrough explicit equations. Furthermore, while GDPproblems can be solved through branch and bound, orreformulated as MILPs, CPs are solved through im-plicit enumeration techniques coupled with techniquesfor domain reduction of variables, which in turn arebased on constraint propagation techniques. In the caseof scheduling, these correspond for instance, to edgefinding methods (Carlier & Pinson, 1989) that haveproved to be efficient in solving certain types of job-shop scheduling problems.

Software for MILP has been available for over twodecades. Current codes include OSL (IBM, 1992), ILOG

CPLEX (ILOG, 2000) and XPRESS-MP (Dash Associates,1999). For logic based optimization methods software

* Corresponding author. Tel.: +1-412-268-2230; fax: +1-412-268-7139.

E-mail address: [email protected] (I.E. Grossmann).

0098-1354/02/$ - see front matter © 2002 Elsevier Science Ltd. All rights reserved.PII: S0098 -1354 (02 )00100 -X

Page 2: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521534

has emerged only in recent years. Perhaps the mostpopular software for solving CPs has been ILOG

SOLVER (ILOG, 1999), ECLIPSE (Wallace, Novello &Schimpf, 1997) and CHIP (Dincbas, Van Hentenryck,Simonis, Aggoun, Graf & Berthier, 1988). While forgeneral-purpose problems ILOG SOLVER is often lesseffective than MILP, the special extension for schedul-ing, ILOG SCHEDULER, has proved to be quite effec-tive, particularly for discrete manufacturing schedulingproblems where feasibility is a major issue. Domainreduction techniques perform well for these problemssince they have finite or discrete domains.

Interest for combining MILP and CP has arisenrecently (Ottosson, Thorsteinsson & Hooker, 2001),because these methods have proved to be successful insolving complementary classes of problems: MILPwhen optimization is the dominating aspect, and CPwhen feasibility is the major concern. The main objec-tive of developing hybrid MILP/CP strategies is to tryto use their complementary strengths in an efficientmanner. A major goal of this paper is to classify andfurther develop hybrid methods for solving schedulingproblems, as well as bringing up some issues thathave until now been discussed only in the OR-litera-ture. In the following section, we will review some ofthe recent developments made for the schedulingmodels. We then describe two decomposition strate-gies that either integrate MILP and CP, or are com-posed of two MILP subproblems. The application ofthe strategies is illustrated in the single stage batchplant, and in multiple stage batch plants. The formerproblem has been addressed before by Jain andGrossmann (2001), while the latter is a new applica-tion for hybrid models in which the generation of cutsis significantly more difficult.

2. Background

There has been considerable research on methodsfor solving MILP problems (Nemhauser & Wolsey,1988). Recently the most significant development hasbeen in new software implementations that can in-creasingly solve larger problems (e.g. CPLEX, XPRESS-

MP). Most of these apply the Branch and Boundmethod for handling the integer variables, in whichthe greatest bottleneck arises from the potentiallylarge integer search space due to the exponential num-ber of possible combinations. The effectiveness ofMILP methods depends further on the size of thelinear programming (LP) subproblems and on the gapbetween the objective value for the optimal solutionand the initial LP subproblem. General approaches toovercome this bottleneck include preprocessing andBranch and Cut algorithms (Johnson, Nemhauser &Savelsbergh, 2000) in which extra cuts are added to

the MILP to strengthen its relaxation gap, as for in-stance the lift and project cuts by Balas, Ceria andCornuejols (1996).

CP applies constraint propagation at every node forreducing the domain of all the variables (Hentenryck,1989; Marriott & Stuckey, 1999). The variable do-mains may be continuous, discrete or boolean. Anempty domain means that the node is infeasible andcan be fathomed. Branching is performed on domainsthat contain more than one element (variable value).CP was originally developed for solving feasibilityproblems, but has also been extended to solve opti-mization problems by placing the objective function inan inequality constraint that is less than or equal tothe incumbent solution. The search terminates whenthe domain of this constraint is empty and all nodesare fathomed. It should be noted that although CPmethods are often efficient in solving discrete feasibil-ity problems, the performance in optimization de-pends highly on the propagation algorithms used andon how constrained the problem is.

In MILP all the constraints are evaluated simulta-neously, while CP evaluates the effect of constraintssequentially by communicating through variable do-mains. Consequently, it is generally difficult to obtainthe optimal solution for loosely constrained CP prob-lems. On the other hand, MILP methods require allconstraints to be linear equalities or inequalities dueto the LP based model. This restriction does not ap-ply for CP problems, in which all algebraic constructsare allowed together with some special constructs,known as global constraints, such as ‘all different’ or‘cumulative’ constraints (ILOG, 1999).

Apart from the algorithmic development for im-proving the solution of multistage scheduling prob-lems, a number of different modeling approaches havebeen presented in the chemical engineering literature.The general idea of these is mostly to split the largeproblem into smaller units or to apply some support-ing heuristics. Examples of this can be seen for in-stance in Pinto and Grossmann (1995), who used aslot-based MILP scheduling model combined with sin-gle machine scheduling algorithms. In contrast, inMendez, Henning and Cerda (2000) the variables of amultistage flowshop problem are split into assignmentand sequencing, in a similar fashion as in Ierapetritouand Floudas (1998) for the STN model, in order toreduce the number if 0–1 variables. Wang and Zheng(2001) presented a hybrid approach where the authorscombine simulated annealing and genetic algorithmfor a job-shop scheduling problem in a parallel frame-work. When trying to solve large-scale problems, theformer strategies suffer from combinatorial explosionand weak relaxations due to the big-M terms, whilethe latter cannot guarantee the solution quality.

Page 3: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1535

3. Decomposition strategies

We assume in this paper that we deal with generalscheduling problems that involve cost minimizationwith due dates and sequence independent setup times.Assuming these type of problems motivated by thework of Jain and Grossmann (2001), we consider de-composition strategies for scheduling into assignmentand sequencing levels as shown in Fig. 1. As can beseen, the main idea is to determine optimal assignmentsof jobs to units or machines at the high level, and thenperform feasible sequencing of the jobs for the givenassignments at a lower level. Since the latter may notgive rise to a feasible sequence, cuts are derived andadded to the assignment problem to generate a newassignment. We explore in this paper the cases when anMILP is used for the assignment subproblem, which isdriven by optimization, and either CP, or MILP is usedto solve the sequencing subproblem, which is domi-nated by feasibility concerns. These strategies are ap-plied to both single- and multi-stage schedulingproblems.

A review of different integration strategies has beenreported in Jain and Grossmann (2001). These authorsproposed an integration strategy using a hybrid MILP/CP model consisting of two subproblems, as shown inFig. 1. One subproblem deals with the assignment oforders to units, which is modeled as an MILP. Theother subproblem deals with the sequencing of ordersfor a fixed assignment and it is modeled as a CPproblem. These subproblems are integrated in a decom-position strategy in which the MILP is solved as a

master problem relaxing the sequencing constraints,while the CP is solved as a feasibility subproblem forthe sequencing.

Consider a scheduling problem where a completeMILP model can be expressed as follows:

min cuTu+cx

Tx (1)

subject to

Au+Bx+D�+Ey�a (2)

A �u+B �x+D ��+E �y�a � (3)

where, u�Ru, ��R �, x�Zx, y�Zy.The problem has both continuous (u, �) and discrete

variables (x, y), and assumes that only the variables (u,x) are present in the objective function. It is alsoassumed that the MILP problem can be divided intotwo parts. One part is suitable for the MILP frame-work, i.e. the objective function and constraints Eq. (2)give rise to tight LP-relaxations. The other part leads toa feasibility problem given by constraints Eq. (3) thatexhibit poor LP-relaxation. The former variables andconstraints form the core of the MILP subproblem, andthe latter ones are left either for the CP subproblem, orfor a MILP with fixed assignments. The main differencecompared with earlier approaches is that neither of thesubproblems are given in complete form as MILP orCP problems.

If the same problem were to be modeled as a CP,more constructs can be utilized and thus some variabledefinitions may be different, but equivalence relationscan be established between these two models. Thecorresponding CP model is as follows:

min f(u, x) (4)

subject to

G(u, x, �, y)�0 (5)

where, u, x, �, y�D.Here, the u, x, �, y are the corresponding CP vari-

ables and D is their domain. Typically the constraint setgenerated for the CP is much smaller than that for theMILP, but the CP may have difficulties in finding asolution and proving the optimality, mainly due to thelack of LP relaxations.

In Strategy I, which is the one that was proposed byJain and Grossmann (2001), we consider a hybridmodel where the complicating MILP constraints in Eq.(3) are replaced by their CP equivalent, G� (u, x, �, y)�0for fixed (u, x).

min cuTu+cx

Tx (6)

subject toFig. 1. Decomposition strategy.

Page 4: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521536

Fig. 2. MILP/CP decomposition for a single-stage problem.

Au+Bx+D�+Ey�a (7)

(u, x)�(u, x) (8)

G� (u, x, �, y)�0 (9)

where u�Ru, ��R �, x�Zx and y�Zy and u, x, �, y�D.Note that the objective function Eq. (6) is exactly the

same as for the MILP model, and that the equivalencein Eq. (8) relates the MILP and CP variables. Thevariables (�, y) and (�, y) may or may not be directlyconnected, depending on the specific problem. TheMILP subproblem is then given by Eqs. (6) and (7) andinteger cuts that are added at each major iteration,while the CP subproblem is given by Eq. (9) for fixedvalues of u, x. By solving the relaxed MILP problem,we obtain an optimal solution that satisfies the con-straint sets in Eq. (7). This solution can be used toderive a partial CP solution through the equivalencerelations Eq. (8) and the feasibility problem for fixed (u,x) will verify if a solution satisfying the constraints Eq.(9) can be found. If this is the case, then the optimalsolution is found and the hybrid algorithm will termi-nate. Else, if the CP solution is infeasible, then as manyinfeasible solutions as possible need to be eliminated bycuts that are added to the next relaxed MILP problem.

In Strategy II, the required MILP model Eqs. (1)– (3)is used except that it is solved by decomposing it intotwo levels: (a) an assignment part consisting of Eqs. (1)and (2) with integer cuts, and a sequencing part consist-ing of the constraints in Eq. (3) for fixed u and x. Inother words, the only difference with Strategy I is thatinstead of solving a CP subproblem for the sequencingpart, we solve a feasibility MILP problem. Althoughthe MILP sequencing problem has in general poorrelaxation, the advantage is that it is simplified andreduced in size when fixing the job assignments. Fur-thermore, one can resort to the same solver in bothphases.

The following sections of this paper apply the twostrategies to single stage and multistage schedulingproblems. The former was studied previously by Jainand Grossmann (2001), while the latter has not beenaddressed before with a hybrid decomposition strategy.

4. Single-stage parallel scheduling problem

4.1. Strategy I

Strategy I of the previous section was proposed byJain and Grossmann (2001) and applied to a single-stage scheduling problem for parallel dissimilar ma-chines, The approach reduced dramatically thecomputation time and reruns with expanded data setsin Harjunkoski, Jain and Grossmann (2000) demon-strated the robustness of the method. The main idea liesin that the assignment of orders to equipment is per-formed with a relaxed MILP master model, while thesequencing is performed with a CP model. This ismotivated by the fact that assignment problems tend tosolve well with MILP and using CP for the sequencingallows the usage of special scheduling constructs thatmay improve the solution efficiency. The decompositionis demonstrated in Fig. 2.

The resulting hybrid MILP/CP model reported inJain and Grossmann (2001) is given below. Eqs. (10)–(14), (20) and (21) form the MILP assignment problemand the CP sequencing problem is defined by Eqs.(15)– (19), (22)– (24).

min �i�I

�m�M

Cimyim (10)

subject to

tsi�ri �i�I (11)

tsi�di− �m�M

pimyim �i�I (12)

�m�M

yim=1 �i�I (13)

�i�I

yimpim�maxi

{di}−mini

{ri} �m�M (14)

if (yim=1) then (zi=m) �i�I, �m�M (15)

i.start�ri �i�I (16)

i.start�di−pxi�i�I (17)

Page 5: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1537

i.duration=pzi�i�I (18)

i requires qzi�i�I (19)

tsi�0 (20)

yim�{0, 1} �i�I, �m�M (21)

zi�M �i�I (22)

i.start�Z �i�I (23)

i.duration�Z �i�I (24)

In the above model, I is the set of jobs and M is theset of machines. The assignment is represented by thebinary variable yim and the cost of each assignment isgiven by Cim. Thus, the objective function Eq. (10)minimizes the total assignment or processing cost. Eq.(11) states that the starting time, tsi of a job should begreater than its release date, ri. Similarly, Eq. (12)defines that job i should be started before its due date,di, subtracted with the required production time, pim, onthe assigned machine. These constraints reduce thesearch space. Constraint Eq. (13) ensures that each jobis assigned to exactly one machine. The search space isfurther reduced by Eq. (14) that limits the total produc-tion time on each machine to less than the time betweenthe latest due date and earliest release date. The onlyvariables of the MILP problem are the binary assign-ment variables and the positive starting times. The linkbetween the MILP and CP subproblems is defined byEq. (15) where the assignment is transformed to the CPproblem through variable subscripts. In the sequencingproblem the start time is defined correspondingly withEqs. (16) and (17) and the duration is defined in Eq.(18). Note that the i.duration and i.start are built-invariables in OPL. Constraint Eq. (19) utilizes a specialILOG Scheduler construct ‘requires’ and states thateach job i needs resources from one of the machinepools q. The model ends with the variable definitions inEqs. (21)– (24).

The iterative Strategy I, whose convergence wasproved by Jain and Grossmann (2001), is presented inFig. 3. Since the problem is a single-stage schedulingproblem, it should be noted that the sequencing sub-problems can be solved separately for each machine

since they become decoupled when fixing the job as-signments. Solutions of the CP problems can be used togenerate cuts that are incorporated to the MILP masterproblem. If one of the assignments cannot be se-quenced, the assignment is infeasible and the cut thateliminates this assignment from the next MILP can beexpressed as:

�i�I

aimyim� �i�I

aim−1 �m�M (25)

where aim are 0–1 coefficients for the assignment vari-ables yim. As an example, if all the assignments in Fig.2 were to be infeasible, the cuts would be as follows:

y11+y31+y51�2

y22+y42�1

y63�0

Note that these cuts also eliminate all supersets of theassignments. The alternating MILP and CP problemsare solved until all sequencing problems result in feasi-ble solutions as shown in Fig. 3. It should be pointedout that if no solution can be obtained for the relaxedMILP problem, then the original problem is also infea-sible. A detailed description of the method can befound in Jain and Grossmann (2001). Five schedulingproblems, each with two new data sets that are morecomplex than the ones in Jain and Grossmann (2001),given in Appendix A, have been solved using OPL-STU-

DIO 3.5 on a 933 MHz Pentium III computer runningREDHAT LINUX. The results are shown in Table 1.

In Table 1 we first show the solution times of thecomplete MILP and CP formulations, followed by thetotal CPU-time needed by the hybrid strategy. The lastfour columns give the number of iterations and cutsused by the hybrid strategy and how big a part of thesolution time was spent in solving the MILP assign-ment and CP sequencing subproblems. Note that theCPU-time reported for the CP subproblems is a sum ofthe feasible problems only, since ILOG SOLVER andSCHEDULER do not give any solution information oninfeasible problems. Therefore, the difference betweenthe total time and the sum of sub-MILP and sub-CPtimes is caused mainly by infeasible sequencing prob-lems, and to a smaller extent by overheads such asproblem loading and the generation of cuts. It shouldalso be stressed that the hybrid Strategy I is guaranteedto yield the same optimal solution as the MILP and CPmethods.

4.2. Strategy II

We consider in this section an MILP–MILP StrategyII, where instead of solving one large MILP problemwe solve two smaller MILP subproblems iterat-ively. The assignment problem is given by Eqs.Fig. 3. Hybrid Strategy I.

Page 6: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521538

Table 1Single-stage scheduling results

Objective valueProblem, CPU-s Details of hybrid methoddata

MILP CP Hybrida Iter Cuts sub-MILP sub-CP

0.01 0.03 0.321,1 226 1 0.00 0.000.02 0.01 0.341,2 121 0 0.00 0.000.41 0.01 0.77 1460 172,1 0.26 0.060.15 0.03 0.36 1 02,2 0.0046 0.00

56.93 1.81 5.67 24104 373,1 3.77 0.065.53 0.22 0.28 13,2 085 0.00 0.00

347.97 277.64 2.17 14116 224,1 1.32 0.10136.57 17.25 1.084,2 15105 15 0.49 0.10

�130 000b 189 244.33 10.04 29159 645,1 8.40 0.17�130 000c 5925.66 2.895,2 26144 35 2.09 0.26

a CPU-time also includes infeasible problems and overheads (problem loading, cut generation).b Best solution obtained at this point: 160.c Optimal solution found but not verified.

Table 2Single-stage scheduling results with the hybrid MILP-MILP strategy

Problem, Objective value Details of hybrid methoddata

Totala CPU-s Iter Cuts Assign Sequence

261,1 0.43 2 1 0.01 0.010.32 1 021 0.001,2 0.00

602,1 1.13 13 15 0.36 0.210.42 1 046 0.002,2 0.03

12.71 23 383,1 7.53104 0.850.52 1 085 0.013,2 0.125.05 12 20 2.08 1.404,1 1164.32 15 15105 0.234,2 0.88

1595,1 41.54 28 63 23.53 7.325,2 162.00144 27 35 4.22 10.90

a CPU-time also includes infeasible problems and overheads (problem loading, cut generation).

(10)– (14), while the MILP feasibility problem is forsequencing the jobs, i, that have been assigned tomachine m �, here declared as set I �. Let the variable xii�

be the sequencing variable, which is equal to one if jobi precedes job i � and else zero. The MILP sequencingmodel is then as follows:

min 0 (26)

subject to

tsi�ri �i�I � (27)

tsi�di−pim� �i�I � (28)

xii�+xi�i=1 �(i, i �)�I �, i� i � (29)

tsi�� tsi+pim�−maxi�I

{di}(1−xii�) �(i, i �)�I �, i� i �(30)

where xii��{0, 1} and tsi�0.The objective function is simply a ‘dummy’ value of

zero to define a feasibility problem (i.e. all feasiblepoints have zero objective value). Constraints Eqs. (28)

and (27) are as before with the exception that here weonly consider one machine, m �. Only one of the twoalternative sequences is valid and this is stated in Eq.(29), followed by the final constraint Eq. (30), thatdefines the starting times, using the latest due date asthe big-M parameter. It should be noted that in theimplementation it is convenient to define the objectivefunction as min � i � i� xii� in order to expedite thebranch and bound search since this objective will tendto take the discrete variables out of the basis.

In Strategy II, the assignment problem is exactly thesame as before. Also, the number of iterations and cutsshould be almost the same, since we still solve a feasi-bility problem, only now using MILP. Since the se-quencing problems are significantly smaller than thecomplete MILP formulation this approach should alsosimplify the sequencing part of the problem.

Table 2 shows the results for the same test problems.The results show a significant improvement comparedwith the stand-alone MILP and CP models (see Table

Page 7: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1539

1). Clearly the largest benefit is obtained through thedecomposition of the original problem. Even if bothStrategy I and Strategy II perform well, it needs to bepointed out that the total times that also include thetime spent on solving infeasible sequencing problems,are very different. In general, MILP spends much moretime on verifying infeasibility. In Strategy I, the infeasi-ble subproblems do not require more than 35% of thetotal CPU-time in any of the example problems, butdetecting infeasibility in Strategy II typically takes 50%of the total time. In problem 5,2 this takes more than90% of the CPU-time and the performance is an orderof magnitude worse than with Strategy I. Consequently,even if the hybrid MILP–CP and MILP–MILP ap-proaches both result in significant improvements, CPseems to be more suitable for feasibility sequencingproblems.

5. Multistage scheduling problem

The final part of this paper focuses on a new applica-tion of the decomposition strategies to the multistagecase. As will be seen, a major difference is that the cutsare considerably more complex to derive. We consider avariation of the multistage batch scheduling problem byPinto and Grossmann (1995). The problem involves amulti-stage batch plant with dissimilar parallel equip-ment in each stage that must process a given number oforders that have specified due dates and that are to beprocessed at each stage. The chosen objective is tominimize the assignment or processing costs of theorders. The MILP optimization of this jobshop prob-lem is often very expensive to solve. An example of theproblem type is shown in Fig. 4.

The problem may contain some topological restric-tions. Some units may not be able to process all orders.Furthermore, some production paths may be restrictedas shown in Fig. 4, where, for instance, unit 7 can onlybe followed by unit 9.

We propose first a hybrid MILP/CP model for solv-ing the multistage scheduling problem with Strategy I.The problem is decomposed into two subproblems:assignment problem and sequencing problem. In thecase of single-stage scheduling, it was possible to solveeach sequencing problem separately and an infeasibleCP problem indicated that the assignment was invalid.In the multistage case this is unfortunately not possible,since the stages and machines are connected. Conse-quently, there are two main complications of which thefirst one is that the sequencing problem needs to besolved simultaneously for every job and machine, whichresults in large CP subproblems. The second complica-tion comes from the fact that infeasible CPs do notprovide useful information about the reason for theinfeasibility. Therefore, the CP will be relaxed to mini-mize infeasibility (violation of due dates) to yield bettercuts. As for Strategy II, using a similar treatment as inSection 4.2, we replace the CP subproblem for sequenc-ing by an equivalent MILP subproblem.

The multistage scheduling problem can of course, beexpressed either as a pure MILP or CP problem. Wewill first present these models and then discuss theirpossible strengths and weaknesses.

5.1. MILP model

In the following MILP model, the set I correspondsto jobs, set M refers to machines and K is the set ofstages. The assignment variables, yim, are 0–1 variablesrelating job i to machine m. The sequencing variables,xii�k, are equal to one if product i precedes product i � instage k, else zero. In the models below, coefficients aregiven in uppercase and variables in lowercase letters.

min �i�I

�m�M

C �imyim+ �m�M

C ��mzm (31)

subject to

�m�M(k)

yim=1 �i�I, �k�K (32)

Fig. 4. Multistage scheduling problem.

Page 8: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521540

Fig. 5. (a) Processing times for two jobs in 11 machines; (b) available timeframe for stage 3.

yim�zm �i�I, �m�M (33)

cik�Tid �i�I, k= �K � (34)

cik� �m�M(k)

yim(Tir+Tm

s +Tmp ) �i�I, �k�K (35)

cik�ci,k+1− �m�M(k+1)

yim(Timp +Tm

s ) �i�I, �k� �K �(36)

ci�k�cik+Ti�mp +Tm

s −U(1−xii�k+1−yim+1−yi�m)

�i, i ��I, i� i �, �k�K, �m�M(k) (37)

cik�ci�k+Timp +Tm

s −U(xii�k+1−yim+1−yi�m)

�i, i ��I, i� i �, �k�K, �m�M(k) (38)

yim=0 �i�I, �m�M, (i, m)�B� (39)

yim 1+yim 2

�1 �i�I, �(m1, m2)�M� (40)

�i�I

yim(Timp +Tm

s )

�maxi�I

{Tid− �

k��K,k��k

minm��M(k�),(i,m�)�B�

(Tim�p +Tm�

s )}

−mini�I

{Tir+ �

k��K,k��k

minm��M(k�),(i,m�)�B�

(Tim�p +Tm�

s )}

�k�K, �m�M(k) (41)

where, yim, xii�k�{0, 1} and zm, cik�0.The objective function Eq. (31) minimizes the assign-

ment costs. The coefficient. C �im, is a general assignmentcost that may be associated, for instance, with theprocessing time, while the second coefficient, C�m, repre-sents a one-time cost, such as initialization or startupcosts for a specific unit. Here we apply a fixed valueC�m=10 for all problems, even though the main idea isto avoid the activation of an extra unit if this only leadsto a minimal saving. The assignment constraint Eq. (32)states that each job i has to be processed on exactly one

unit to at every stage k. Machines of a certain stage kbelong to the set M(k). Eq. (33) states that units thatare in use also need to be initialized. The finishing time,cik ; of job i in stage k is defined in Eqs. (34)– (36),which enforce it to be less than the due date (Ti

d),greater than the release date (Ti

r) added with a ma-chine-dependent setup time, (Tm

s ) and the processing(Tim

p ) time and, finally, less than the starting time of thenext stage. The sequencing is performed by the con-straints Eqs. (37) and (38), of which only one may betrue. This is enforced by the big-M terms including theassignment and sequencing variables. The three lastconstraints will reduce the search space. Forbiddenassignments are specified in Eq. (39), where B� is a set offorbidden (job, machine) combinations. Similarly, con-straint Eq. (40) prohibits any job i to go from machinem1 to m2, if these are part of the set of non-existingprocessing paths, M� . Constraint Eq. (41) reduces thesearch domain by making sure that the total processingtime of the jobs on a machine will fit between (1) themaximum due date subtracted with the shortest pro-cessing and setup times of all later stages, and (2) theminimum release date plus the shortest processing timesof all earlier stages. This is illustrated in Fig. 5a and b.

The time domain can be reduced significantly byusing constraint Eq. (41), which may eliminate a largenumber of invalid assignments. In Fig. 5a. there aretwo products (black and gray) and their correspondingprocessing times on each unit. Notice that stage 3contains only two parallel units, while the rest of thestages have three parallel units. The constraint is ap-plied on stage 3 and the result is shown in Fig. 5b.

Although the MILP model represents exactly thegiven problem, it has the drawback that the number ofbinary variables is relatively large mainly due to thethree-indexed variables, which may lead to a combina-torial explosion. Also, the relaxations of the sequencingconstraints are very weak and this formulation is in-

Page 9: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1541

tractable for solving large scheduling problems. To tryovercome this problem one can decompose the MILPusing Strategy II in which we solve subproblems givenby Eqs. (31)– (35) and Eqs. (39)– (41) for the assign-ment part and the constraints in Eqs. (36)– (38) as afeasibility MILP for the sequencing part. This sequenc-ing subproblem can also be modeled as a CP problemusing Strategy I.

5.2. CP model

The complete multistage scheduling problem can bemodeled as a CP problem as shown in this section. TheCP model may benefit from a large variety of specialconstructs designed for solving scheduling problems.Therefore, the CP model differs clearly from the corre-sponding MILP representation and is given below.Here, the syntax is based on OPL (ILOG, 2001) andspecific CP names for global constraints.

min �i�I

�m�M

C �imyim+ �m�M

C ��mzm (42)

subject to

Stage[i, 1].start�Tir �i�I (43)

Stage[i,�K �].end�Tid �i�I (44)

Stage[i, k ]requires s �i�I, �k�K (45)

activityHasSelectedResource(Stage[i, k ], s, tool[m ])

� dur[i, k ]=Timp +Tm

s �i�I, �k�K, �m�M(46)

not activityHasSelectedResource(Stage[i, k ], s, tool[m ])

�i�I, �k�K, �m�M �m�M(k) (47)

not activityHasSelectedResource(Stage[i, k ], s, tool[m ])

�i�I, �k�K, �m�M(k)�(i, m)�B� (48)

activityHasSelectedResource(Stage[i, k ], s, tool[m1])

� not activityHasSelectedResource(Stage[i, next(k)],

s, tool[m2])

�i�I, �k�K, �m1, m2�M �k� �K �, (m1, m2)�M�(49)

Stage[i, k ] precedes Stage[i, next(k)]

�i�I, �k�K �k� �K � (50)

activityHasSelectedResource(Stage[i, k ], s, tool[m ])

� yim=1, zm=1 �i�I, �k�K, �m�M (51)

minm�M(k)�(i,m)�B�

{Timp +Tm

s }�dur[i, k ]� maxm�M(k)�(i,m)�B�

{Timp +Tm

s }

�i�I, �k�K, yim�{0, 1}, zm, dur[i, k ]�0 (52)

Before discussing the model in detail, several generalconcepts need to be clarified. In ILOG OPL-STUDIO, thatwas used to combine MILP and CP, the two maincomponents are activities and resources. Resources are,for instance, machines and activities are processes thatrequire the resources, such as processing a job in astage. In this CP problem, Stage is an activity that hasa given duration. Its starting and finishing times,Stage.start, Stage.end are variables that will be evalu-ated during the solution procedure. Furthermore,tool[m ] is a set of unary resources, i.e. resources thatcan process only one activity at a time. The otherresource, s, is an alternative resource of tool specifyingthat any of the given resources can be selected toperform the task. CP uses these concepts when assign-ing the activities to the available resources in order togenerate feasible solutions.

The objective function Eq. (42) is exactly as in theMILP model. Eqs. (43) and (44) state that the startingtime of the first stage should be greater than the releasedate and the finishing time for the last stage of each jobshould be less than the due date. Constraint Eq. (45)requires one of the alternative resources to process eachstage. Due to the fact that we have a multistage prob-lem with dissimilar parallel equipment, the duration ofan activity is defined as a variable, the value of which isspecified in Eq. (46) depending on the assignment.Constraint Eq. (47) eliminates the use of equipmentfrom other stages and in Eq. (48) forbidden job–ma-chine combinations are enforced. Note the use of theglobal constraint activityhasselectedresource. Forbid-den paths are enforced in constraint Eq. (49) and theorder of stages is specified in constraint Eq. (50). Con-straint Eq. (51) is needed only to link the objectivefunction variables to the CP-model. The domain of theduration variable, dur[i, k ], is reduced in the last con-straint Eq. (52).

The CP model is more compact than the MILP, butmay not necessarily perform well with a given objectivefunction, which only considers assignment costs. Ingeneral, CP is better suited for solving feasibilityproblems.

5.3. Results for MILP and CP models

Ten multistage scheduling problems, the data ofwhich are presented in Appendix B, were solved usingboth the MILP and the CP strategies. The problemsizes and the results are presented in Table 3. It can beseen that although both representations can fully cap-ture the problems, they both suffer from combinatorialexplosion.

Page 10: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521542

Table 3Multistage scheduling results using MILP and CP models

Problem,data MILPObjectve value CP

Variables (0/1) Constraints CPU-s Variables Constraint CPU-s

1,1 39 60 (48) 96 0.13 84 140 00260 (48)1,2 96112 0.03 84 140 0.02

112 (96) 190 4.4353 1242,1 210 0.131882,2 112 (96) 190 0.78 124 210 0.32

563,1 198 (176) 463 446.60 182 409 4.23198 (176) 447 0.351113 1823,2 393 1374.97396 (360) 718 27.30 306 7724,1 447.17149396 (360) 718 1.43946 3064,2 772 359.01

1115,1 572 (528) 1330 4041.66 392 1226 292.98572 (528) 13305,2 2767.83704 392 1226 712.61

Table 3 shows the results of five problems with twodifferent data sets. The significance of the chosen datacan be seen very clearly, especially in problems 3,1 and3,2 where the performance varies by several magnitudes.It is interesting to note that MILP and CP show almostopposite behaviors. These problems have also differentforbidden paths (none in 3,2), which explains the dissim-ilarity in the number of constraints. The results show thatMILP over-performs CP in only a few of the problems,most likely because of its capability of using lower andupper bounds to eliminate large sets of feasible solutions.To summarize, the two methods are very different inperformance, as can be clearly observed in the fourlargest problems.

5.4. Strategy I: hybrid MILP–CP model

In this section we will investigate if Strategy I for thesingle-stage hybrid approach can be further developed tohandle multistage scheduling. This involves several com-plications, for instance, the dimension of the problem ismultiplied by each stage. Furthermore, in the multistagecase we cannot solve the sequencing problem separatelyfor each machine. Instead, all equipments need to beconsidered simultaneously in order to be able to coordi-nate between the stages and ensure that the obtainedschedule is feasible. Thus, Strategy I will alternatebetween the solution of one MILP assignment problemand the solution of one CP sequencing problem. It is alsoimportant to observe that rather than determiningwhether a CP subproblem is feasible or infeasible, it isconvenient for the generation of cuts to relax the duedates in the CP-subproblem by introducing slacks, whichare then minimized to zero in the objective function. Theslightly modified strategy is shown in Fig. 6.

Here we actually need to perform optimization in theCP-step, instead of doing a simple feasibility check. Thiscan be expected to significantly slow down the perfor-mance. The hybrid MILP–CP mathematical model forStrategy I is then as follows:

min �i�I

�m�M

C �imyim+ �m�M

C ��mzm (53)

subject to

�i�I

yim=1 �i�I, �k�K (54)

yim�zm �i�I, �m�M (55)

cik�Tid �i�I, k= �K � (56)

cik� �m�M(k)

yim(Tir+Tm

s +Timp ) �i�I, �k�K (57)

yim=0 �i�I, �m�M, (i, m)�B� (58)

yim 1+yim 2

�1 �i�I, �(m1, m2)�M� (59)

�i�I

yim(Timp +Tm

s )

�maxi�I

{Tid− �

k��K,k��k

minm��M(k�),(i,m�)�B�

(Tim�p +Tm�

s )}

−mini�I

{Tir+ �

k��K,k��k

minm��M(k�),(i,m�)�B�

(Tim�p +Tm�

s )}

�k�K, �m�M(k), yim�{0, 1} zm, cik�0 (60)

if (yim=1) then (zik=m) �i�I, �k�K, �m�M(k)(61)

min �i�I

(C �i si+C�i li) (62)

Fig. 6. The multistage hybrid strategy.

Page 11: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1543

Fig. 7. (a) Optimal assignment; (b) best sequence for the fixed assignment.

subject to

Stage[i, 1].start�Tir �i�I (63)

Stage[i, �K �].end�Tid+si �i�I (64)

si�0�li=1 �i�I (65)

Stage[i, k ]requires tool[m ]

�i�I, �k�K, �m�M(k), zik=m (66)

Stage[i, k ] precedes Stage[i, next(k)]

�i�I, �k�K �k� �K � si, li�0 (67)

The MILP assignment part of the problem is givenby Eqs. (53)– (60), that are exactly as in the originalMILP model. Only the complicating sequencing vari-ables and constraints have been removed. The linkbetween the assignment and the corresponding CP se-quencing problem is created by Eq. (61). The sequenc-ing problem in Eqs. (62)– (67) is formulated for a givenassignment. The objective function Eq. (62) minimizes aweighted sum of the total violation of the due dates andthe number of late orders through a slack variable thatrelaxes the due dates, as defined in Eq. (64). Here, weuse the coefficients C �i=1 and C�i =1000. Eq. (65)activates the flag (li=1) if product i is late. The fixedassignment is transferred to the CP-problem in con-straint Eq. (66). Constraints Eqs. (63) and (67) areidentical to the original CP model. This formulation isused to first find an assignment and then try to get avalid schedule for it. After each iteration, cuts need tobe added to eliminate invalid assignments.

5.5. Integer cuts

The integer cuts for the MILP assignment subprob-lem are maybe the most critical elements in the strategy.

The simplest alternative is to eliminate all assignmentswith only one cut. The general form of the cut is givenin Eq. (68) and the cut is determined by the coefficientsaim. The result of an assignment problem is illustratedby Fig. 7a, where six jobs are assigned to two stages,each of which have two parallel equipment.

�i�I

�m�M

aimyim� �i�I

�m�M

aim−1 (68)

Having a fixed assignment, we need to find a se-quence that meets the due dates. In the multistage case,a feasibility problem is not solved, but an optimizationproblem minimizing the number of late jobs and theslack variables. The result of the sequencing problem isshown in Fig. 7b where it can be observed that aworking schedule can not be generated using the givenassignment.

The assignment is therefore invalid and must beexcluded from future iterations. If the products in Fig 7are denoted by A, B, C, D, E, F starting from thetop-left, the cut that excludes this exact assignment,CUT 1, can be written as:

yA1+yB2+yC2+yD2+yE2+yF2+yA3+yB3+yC3

+yD3+yE3+yF3�11 (69)

This cut excludes only the given assignment from thenext iteration and does not exclude any supersets ormore general cases. Consequently, the cut is weak andcan be expected to result in a large number of iterationsfor solving the MILP and CP subproblems. This isshown in the example runs in Table 5.

A stronger cut is necessary for obtaining better per-formance. In the following, CUT 2 that focuses on thelate jobs is suggested. This cut does not include allproducts or machines and therefore it will exclude alarger number of possible solutions. The cut eliminates

Page 12: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521544

the bottlenecking assignments by tracing for each latejob a zero-wait path from the last stage to the firststage. This strategy produces one cut per late job andthe principle is given below.

For each late job: select the late job in its last stage(k= �K �), add it to the cut (ajm= l, m�M(k)) and findevery bottleneck path. There are two possibilities:1. if selected job follows immediately another job in

the same stage (machine), select the other job andadd it to the cut (aj−1,m=1);

2. else, move to previous stage (k=k−1) and add theassignment (ajm=1, m�M(k)) to the cut.

There must be at least one bottleneck path for eachlate job from the last stage to zero-time (or release date)because of the minimization of slack variables. Apply-ing this principle to the earlier example would result intwo cuts for CUT 2:

yB2+yC2+yD2+yE2+yE3�4 (70)

yB2+yC2+yD2+yE2+yF2+yF3�5 (71)

These cuts are more efficient, since they cut out alarge number of supersets. Consequently, the conver-gence should also be faster. A drawback is that thesecuts are strictly speaking heuristic since in few casesthey may cut off the true optimal solution. However,we would like to emphasize that we have found CUT 2to be valid in most of the problems we have solved (e.g.see Table 5). An alternative cut, CUT 3, can be ob-tained if the second step is modified to:

(2) else, add all earlier assignments on the machine tothe cut, move to previous stage (k=k−1) and addthe assignment (ajm=1, m�M(k)) to the cut.It should be noted that CUT 3 is still heuristic,

although it is valid for most of the cases we tested. Inthe example case, this will result in two weaker cuts:

yB2+yC2+yD2+yE2+yA3+yB3+yC3+yD3+yE3�8(72)

yB2+yC2+yD2+yE2+yF2+yA3+yB3+yC3+yD3

+yE3+yF3�10 (73)

In general, the fewer products a cut involves, thestronger it can be considered. These three different cutsare referred to as CUT 1, CUT 2 and CUT 3. The threeexample cases are presented in Fig. 8a–c. In the twolatter figures, the cuts are illustrated with gray colorand hatching.

It should be emphasized that only CUT 1 can theo-retically guarantee the optimal solution. While we havefound CUT 2 and CUT 3 to be valid in most problems,we show in Appendix C two specific example problemswhere the either or both of these two cuts eliminate theoptimal solution. The results of these problems aregiven in Table 4.

Table 4 presents the solutions, where it can be seenthat the objectives obtained with CUT 2 and CUT 3are higher. For the different strategies we report thesolution and CPU-time.

Fig. 8. (a) CUT 1; (b) CUT 2; (c) CUT 3.

Page 13: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1545

Table 4Non-optimal example runs (CPU-s/it/cuts)

MILP CUT 1Problem CUT 2Optimal CUT 3

3761a(60 000)Example 1 3704b (1000)3761 3781 (27.52/42/48) 3761 (259.42/158/273)427 (55.08) 427b (1000) 434 (51.81/53/71) 431 (655.44/284/393)427Example 2

a Optimal solution found, but not verified at the CPU-time limit.b Non-confirmed solution at the CPU-time limit (lower bound).

Table 5Multistage scheduling results with hybrid MILP and CP Strategy I

Problem,data CUT 2CUT 1a CUT 3a

CPU (MILP/CP) it/cuts CPU (MILP/CP)It/cuts it/cuts CPU (MILP/CP)

1,1 5/4 0.11 (0.06/0.05) 5/4 0.06 (0.04/0.02) 5/4 0.11 (0.06/0.05)0.05 (0.03/0.02) 3/21,2 0.03 (0.02/0.01)3/2 3/2 0.04 (0.03/0.01)

106.38 (99.22/7.16) 16/19 0.74 (0.33/0.41)259/258 45/732,1 3.24 (2.09/1.15)16/152,2 0.43 (0.19/0.24) 4/3 0.10 (0.05/0.05) 5/4 0.13 (0.07/0.06)

– 29/45 8.69 (4.20/4.49) 87/179 59.54 (45.47/14.07)3,1 –11.25 (7.82/3.43) 5/5 0.38 (0.07/0.31)74/73 7/73,2 0.40 (0.12/0.28)– 17/22 28.76 (0.84/27.92)4,1 98/182– 236.95 (39.10/197.85)– 20/26 10.95 (0.90/10.05)– 33/474,2 13.72 (2.05/11.67)

–5,1 – 43/56 318.41 (21.99/296.42) – –13.72 (0.06/13.64) 2/2 13.73 (0.08/13.65)2/1 2/25,2 13.59 (0.06/13.53)

a Entries with ‘-‘ were stopped after 1000 CPU-s.

5.6. Results for strategy I

The example problems in Table 3 were resolved usinghybrid Strategy I and applying all three cut strategiesdiscussed above. In Table 5, we report the CPU-times(MILP and CP), the number of iterations and cutsneeded by each of the strategies. The solution processwas stopped after a given time limit, 1000 CPUs. Notethat in this case the solution is infeasible because it doesnot meet the due dates. These cases are marked withlines (-). It should be noted that in all cases the CUT 2strategy obtained the rigorous solutions.

The results show that CUT 1 is generally not veryeffective for this type of scheduling problems, eventhough it is the only one that can guarantee an optimalsolution to the multistage problem. The weak cutsresult in very large a number of iterations for the fairlysmall problem 2,1. Compared with the pure MILP andCP strategies of Table 3, CUT 2 performs very well andthe number of cuts is low. Only example problem 4,1 issomewhat slower than the original MILP solution, andexample 5,1 takes slightly longer than the original CPsolution. It can also be noted that the CP-subproblemsare large and often take almost the entire CPU-time.The cuts are therefore extremely important to the per-formance. CUT 3 is not able to perform as well as CUT2, mostly because of the increased number of iterations.From these example problems, we can see that therigorous CUT 1 is not applicable for larger multistage

scheduling problems. However, CUT 2 emerged as thebest choice since it is able to reduce the computationaltime by one order of magnitude.

5.7. Results for strategy II

Because of the fact that optimization is required inthe sequencing part (minimization of slacks), the MILPsubproblems for Strategy II could be expected to bewell suited for the multistage problem. The MILPformulation for the multistage sequencing problem canbe obtained with minor changes. It is given in Eqs.(74)– (80).

min �i�I

(C �i si+C�i li) (74)

subject to,

cik�Tid+si �i�I, k= �K � (75)

cik�Tir+Tm

s +Timp �i�I, �k�K, �m�M(k), yim=1

(76)

si�Uli �i�I (77)

cik�ci,k+1−Timp −Tm

s

�i�I, �k�K, k� �K �, �m�M(k+1), yim=1 (78)

ci�k�cik+Ti�mp +Tm

s −U(1−xii�k)

�i, i ��I, i� i �, �k�K, �m�M(k), yim=yi�m=1(79)

Page 14: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521546

Table 6Multistage scheduling with Strategy II using CUT 2

CUT 2Problem,data

it/cuts CPU (MILP/MILP)

0.19 (0.04/0.15)1,1 5/40.11 (0.03/0,08)3/21,2

2,1 16/19 2.82 (0.31/2,51)4/3 0.70 (0.05/0,65)2,2

40/61 57.76 (11.33/46-43)3,10.72 (0.06/0.66)5/43,2

4,1 22/32 435.46 (1.23/434.23)4,2 16/21 12.97 (0.53/12.44)

––a5,12/2 540.30 (0.19/540.11)5,2

a Could not be solved in 1000 CPU-s.

6. Conclusions

The main objective of this paper has been to classifyand consider methods for using hybrid models for solvingmultistage scheduling problems that involve cost mini-mization with due dates, and sequence independent setuptimes. It was shown that decomposition schemes can bedeveloped in which the MILP effectively solves very wellthe assignment problem, and either CP or MILP areapplicable to the sequencing part. The single-stage ap-proach in Jain and Grossmann (2001), that uses CP forsequencing was revisited, and the Strategy II, in whichMILP is used for both subproblems, was proposed forsolving the single-stage problem. The algorithm provedto be robust with different data sets. It could also beconcluded that replacing the CP-part of the single-stageproblem with MILP actually dropped the performanceby almost an order of magnitude, but was still signifi-cantly superior in comparison to using only MILP oronly CP models. Motivated by the encouraging resultsof a single-stage case, Strategies I and II were applied tothe more complex multistage scheduling problem. Twocuts (CUT 2, CUT 3) were proposed which were foundto greatly reduce the computational times, with CUT 2being the more effective of the two. Although these cutsare not rigorous, they were found to yield the correctsolution in most of the test problems. Finding a rigorousand strong cut for the hybrid strategy, improving the per-formance of the sequencing problem or disaggregatingthe large-size problems in some other way are open quest-ions to be explored in future work for the multistage case.

Acknowledgements

The Center for Advanced Process Decision-making(CAPD) at Carnegie Mellon University is gratefullyacknowledged for financial support for this work. Wewould also like to thank Professor Jose M. Pinto forinteresting suggestions regarding this work.

cik�ci�k+Timp +Tm

s −Uxii�k

�i, i ��I, i� i �, �k�K, �m�M(k), yim=yi�m=1

xii�k, li�{0, 1} cik, si�0 (80)

In the following, we will revisit the examples and onlyuse the heuristic, CUT 2, to see how Strategy II performs.The results are given in Table 6.

The optimization results in Table 6 show that StrategyII performs slightly worse than Strategy I (see Table 5)because the MILP sequencing subproblems take moretime than the CP sub-problems. Problem 5,1 could noteven be solved within the given time limit (1000 CPU-s)and the reason for this is most likely the poor relaxationscombined with large number of discrete variables. Itseems that CP with its specific scheduling constructs ismore efficient in solving the sequencing part of the hybridstrategy than the more general MILP, also in the casewhere the feasibility check involves optimization of someslack variables.

Page 15: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1547

Appendix A

The data used for the single stage scheduling problems is given in the tables below:

Table 7. Single stage problem 1 (two machines, three jobs).

Job Data set 2Data set 1

Duration/costDatesDuration/costDates

M2M1ReleaseRelease DueDue M1 M2

20 160 57/10 77/61 20 169 103/10 143/647/537/81302 30 30169 63/8 83/5

40 210 57/123 40 219 113/12 77/7163/7

Table 8. Single stage problem 2 (three machines, seven jobs).

Data set 2Data set 1Job

Dates Duration/costDuration/costDates

M3M2Release DueDue M1M1 M2 M3 Release

160 57/10 77/61 67/820 169 103/10 143/6 123/8 2047/5 37/62 30 37/8139 13063/8 83/5 73/6 30

210 27/12 47/73 37/1040 219 113/12 163/7 133/10 4047/867/637/104 50 289 28063/10 123/6 83/8 50

240 27/8 47/55 100 37/7249 103/8 163/5 123/7 10037/7 27/106 10 17/12289 28073/12 123/7 103/10 10

17/12 27/77 20 239 103/12 83/7 103/10 20 17/10230

Table 9. Single stage problem 3 (three machines, 12 jobs).

Data set 2Data set 1Job

Duration/cost Duration/costDatesDates

M3DueRelease M2Due M1M1 M2 M3 Release

360 57/10 77/61 20 360 67/8103/10 143/6 123/8 2037/647/537/82 30 330 33063/8 83/5 73/6 30

310 27/12 47/73 40 37/10310 113/12 163/7 133/10 4047/867/637/104 50 380 38063/10 123/6 83/8 50

340 27/8 47/55 100 340 103/8 163/5 123/7 37/710027/1037/717/126 10 380 38073/12 123/7 103/10 10

330 17/12 27/107 20 17/11330 103/12 133/10 103/11 2057/5 47/78 40 27/9250 25043/9 103/5 83/7 40

380 47/10 67/69 100 380 23/10 43/6 67/833/8 10027/757/537/810 10 390 39073/8 143/5 113/7 10

300 27/15 37/911 50 300 83/15 163/9 27/12123/12 50200 27/13 67/712 20 200 33/13 63/7 47/1053/10 20

Page 16: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521548

Table 10. Single stage problem 4 (five machines, 15 jobs).

Job Data set 1 Data set 2

Dates Duration/costDuration/cost Dates

M2 M3 M4Release Due M1 M2 M3 M4 M5 Release M5Due M1

67/8 57/91 20 330 103/10 143/6 123/8 113/9 133/9 20 330 57/10 67/977/637/737/62 30 340 63/8 47/783/5 47/573/6 63/7 73/7 30 340 37/8

47/7 37/10 27/11 37/103 40 310 113/12 163/7 133/10 113/11 123/10 40 310 27/1247/837/947/84 50 330 63/10 123/6 67/683/8 73/9 83/8 50 330 37/10

37/6 27/75 100 340 103/8 163/5 123/6 123/7 133/7 100 340 27/8 47/5 27/727/10 27/116 10 340 73/12 123/7 103/10 83/11 93/10 10 340 17/12 37/7 27/10

17/1217/117 20 330 103/12 17/11133/10 27/10103/11 113/12 123/11 20 330 17/1257/5 47/7 37/98 40 37/8250 43/9 103/5 83/7 53/9 63/8 40 250 27/9

57/857/967/89 100 380 23/10 43/6 67/633/8 23/9 33/8 100 380 47/1037/6 27/710 10 370 73/8 143/5 113/6 83/7 103/6 10 370 27/8 57/5 37/627/12 27/1411 50 300 83/15 163/9 123/12 103/14 113/13 50 300 27/15 37/9 27/13

37/1147/1012 20 200 33/13 37/1263/7 67/753/10 43/12 53/11 20 200 27/1337/5 37/6 27/813 40 320 43/9 103/5 73/6 27/753/8 63/7 40 320 17/9

37/927/1057/814 60 200 23/10 43/6 57/643/8 33/10 33/9 60 200 27/1047/7 57/715 20 250 73/8 143/5 133/6 103/7 113/7 20 250 47/8 77/5 67/6

Table 11. Single stage problem 5 (five machines, 20 jobs).

Data set 2Data set 1Job

DatesDuration/costDates Data set 2

M3 M4 M5Release Due M2M1 M2 M3 M4 M5 Release Due M1

67/957/967/81 20 330 103/10 143/6 77/6123/8 113/9 133/9 20 330 57/1037/6 37/72 30 340 63/8 83/5 73/6 63/7 73/7 30 340 37/8 47/5 47/737/10 27/113 40 310 113/12 163/7 133/10 113/11 123/10 40 310 27/12 47/7 37/10

47/847/84 50 330 63/10 37/9123/6 67/683/8 73/9 83/8 50 330 37/1047/5 37/6 27/75 100 340 103/8 27/7163/5 123/6 123/7 133/7 100 340 27/8

27/1027/1127/106 10 340 73/12 123/7 37/7103/10 83/11 93/10 10 340 17/1217/11 17/127 20 330 103/12 133/10 103/11 113/12 123/11 20 330 17/12 27/10 17/1147/7 37/98 40 250 43/9 103/5 83/7 53/9 63/8 40 250 27/9 57/5 37/8

57/967/89 100 380 23/10 57/843/6 67/633/8 23/9 33/8 100 380 47/1027/7 37/610 10 370 73/8 143/5 113/6 83/7 103/6 10 370 27/8 57/5 37/6

27/1327/1427/1211 50 300 83/15 163/9 37/9123/12 103/14 113/13 50 300 27/1547/10 37/1212 20 200 33/13 63/7 53/30 43/12 53/11 20 200 27/13 67/7 37/1137/6 27/813 40 320 43/9 103/5 73/6 53/8 63/7 40 320 17/9 37/5 27/7

37/957/814 60 200 23/10 27/1043/6 57/643/8 33/10 33/9 60 200 27/1047/7 57/715 20 250 73/8 143/5 133/6 103/7 113/7 20 250 47/8 77/5 67/6

37/7 27/916 20 340 33/9 83/5 73/7 53/9 63/8 20 340 27/9 47/5 37/837/947/817 30 370 63/10 47/8123/6 67/6103/8 73/9 83/8 30 370 37/10

47/5 37/6 27/718 70 380 23/8 83/5 63/6 27/6133/7 43/6 70 380 27/827/14 27/1319 60 320 43/15 73/9 63/12 53/14 53/13 60 320 17/15 37/9 27/12

27/7 17/10 17/1220 0 300 53/13 73/7 73/10 17/1163/12 63/11 0 300 17/13

Page 17: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1549

Appendix B

The data for the multistage scheduling problems is given in the tables below. The data given above the table refersto both data sets. Forbidden assignments are marked with the processing time ‘F ’.

Table 12. Multistage problem 1 (four machines, two stages, four jobs).Stage 1= [M1,M2], Stage 2= [M3,M4].

Data set 1 Data set 1Job

Duration/costDates Duration/cost Dates

M2 M3Release Due M1 M2 M3 M4 Release Due M1 M4

110/8120/13 196/21 20 800 115/14171/1 171/1 110/1 96/1 20 800120/12 110/12 110/112 50 196/11600 111/2 100/2 86/1 96/1 50 800

196/11110/11110/123 0 800 151/1 120/12151/1 96/1 96/1 10 800160/10 160/25 90/324 0 1000 161/1 161/3 90/1 96/1 222/10100 800

Setup[m ]= [80,80,40,40] Setup[m ]= [20,25,43,20].

Table 13. Multistage problem 2 (four machines, two stages, six jobs).Stage 1= [M1,M2], Stage 2= [M3,M4].

Data set 2Data set 1Job

Duration/costDatesDuration/costDates

M4M1Release Due M3M1 M2M2 M3 M4 Release Due

151/10 171/10 86/101 0 800 171/1 171/1 96/1096/1 96/1 100 80096/1086/13111/202 0 600 111/2 101/20111/2 96/1 96/1 200 600

131/18 151/18 86/133 0 800 96/10151/1 151/1 96/1 96/1 10 80076/13 96/104 0 1000 161/14161/2 121/28161/1 96/1 96/1 0 600

161/16 86/135 0 800 161/1 161/1 96/1 96/1 50 800 96/10141/1696/1080/12111/306 0 800 111/1 91/10111/3 96/1 96/1 0 800

Setup[m ]= [80,80,40,40] Setup[m ]= [20,40,20,20].

Table 14. Multistage problem 3 (six machines, two stages, eight jobs).Stage 1= [M1,M2,M3], Stage 2= [M4,M5,M6].

Data set 2Data set 1Job

Dates Duration/costDuration/cost Dates

M3 M4 M5Release Due M1 M2 M6M3 M4 M5 M6 Release Due M1 M2

95/100 96/1001 0 800 F 171/1 171/1 95/1 96/1 96/1 200 800 F 171/85 96/110171/9096/9195/912 0 600 101/2 111/2 96/91111/1 111/4195/1 96/1 96/1 100 600 101/50 111/52

151/90 95/50 96/503 0 800 141/1 151/1 151/1 95/1 96/5596/1 96/1 50 800 141/100 151/11095/61 96/614 0 1000 160/2 161/1 161/1 95/1 96/1 96/1 0 1000 160/20 161/10 161/10 96/61

96/12095/1105 0 800 160/1 161/1 96/130161/1 161/9095/1 96/1 96/1 0 800 160/80 161/80161/70 95/40 96/406 0 800 160/1 161/1 161/1 95/1 96/1 96/3096/1 0 800 160/70 161/70

96/90 96/1007 0 1500 160/1 161/1 161/1 95/1 96/1 96/1 300 1500 160/100 161/100 161/100 95/90111/40 95/45 96/458 0 1200 111/1 111/3 111/1 95/1 96/1 96/4596/1 200 1200 111/10 111/30

Setup[m ]= [80, 80, 75, 40, 40, 40] Setup[m ]= [80, 80, 75, 40, 40, 40].Forbidden paths= [M1M6, M2M5].

Page 18: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521550

Table 15. Multistage problem 4 (six machines, three stages, ten jobs).Stage 1= [M1, M2], Stage 2= [M3, M4], Stage 3= [M5, M6].

Data set 1 Data set 2Job

Duration/cost Duration/costDates Dates

M4 M5Release Due M1 M2 M3 M4 M5 M6 Release Due M1 M6M2 M3

95/221 0 800 181/4 F 120/4 121/4 95/2 96/2 100 800 181/46 F 120/24 95/32121/2495/4395/332 0 600 101/2 111/2 120/3 121/3 121/2395/2 96/2 50 600 101/42 111/52 120/23

111/12 93/133 0 800 141/3 151/4 110/2 111/2 95/2 F 0 700 F141/39 151/34 110/1492/134 0 1000 160/5 161/5 120/3 121/4 95/2 96/2 300 1100 160/15 161/15 120/13 121/14 95/1291/135 0 2000 160/5 161/5 120/3 95/15121/4 121/4295/2 96/2 400 2000 160/25 161/32 120/32

121/30 95/206 0 1800 160/6 161/5 120/3 95/28121/3 95/2 96/2 200 1800 140/61 161/56 120/3494/267 0 900 160/5 161/5 120/4 121/4 95/2 96/2 100 800 160/48 111/57 120/41 121/40 95/2995/228 0 1200 160/6 161/5 120/3 95/22121/4 121/4195/2 96/2 200 1200 140/64 111/51 120/37

121/40 95/169 0 1600 160/4 161/4 120/3 121/3 95/2 96/2 400 1600 140/36 95/15101/45 120/3995/2510 0 1200 111/2 111/3 120/2 121/2 95/2 96/1 0 1200 111/22 111/33 120/27 121/39 95/38

Setup[m ]= [80, 80, 25, 25, 40, 40 Setup[m ]= [80, 80, 25, 25, 40, 40].Forbidden paths [M1M3] Forbidden paths= [M1M3].

Table 16. Multistage problem 5, data set 1 (eight machines, three stages, 12 jobs).Stage 1= [M1, M2, M3, M4], Stage 2= [M5, M6], Stage 3= [M7, M8].

Data set 1Job

Dates Duration/cost

M7Release Due M1 M2 M3 M4 M5 M6 M8

90/2 80/31 100 800 95/1151/1 131/1 F 120/1 100/290/22 0 600 101/1 111/1 111/1 120/1 100/2 80/395/1F3 140 800 141/1 151/2 162/2 120/1 100/2 95/1 80/390/24 200 1000 80/3120/1 95/1125/2 125/2 120/1 100/2

95/1 90/2 80/35 400 2000 120/1 125/2 125/2 120/1 100/280/390/26 0 800 120/1 95/1125/2 125/3 120/1 100/2

95/1 90/27 150 900 80/3120/1 120/2 120/3 120/1 100/280/38 200 1200 90/2120/1 95/1120/2 120/3 120/1 100/2

95/1 90/29 0 600 120/1 120/2 120/3 80/3120/1 100/280/390/210 220 1200 120/1 95/1120/2 120/3 120/1 100/2

95/1 90/211 600 2300 120/1 120/2 120/3 80/3120/1 100/295/1 90/212 300 1800 111/1 111/2 112/3 80/3120/1 100/2

Setup[m ]= [40, 40, 40, 40, 25, 20, 40, 20] Forbidden paths= [MlM5, M2M5, M5M7, M6M7].

Page 19: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–1552 1551

Table 17. Multistage problem 5, data set 2 (eight machines, three stages, 12 jobs).Stage 1= [M1, M2, M3, M4], Stage 2= [M5, M6], Stage 3= [M7, M8].

Job Data set 1

Duration/costDates

M7 M8Release Due M1 M2 M3 M4 M5 M6

90/2285/21 90/231 100 110/201800 151/10 131/10 F 110/11110/20 85/15 90/212 90/30100 1600 131/10 111/10 111/10 110/12

90/30F85/103 200 600 110/20161/15 151/25 162/25 110/14110/20 85/13 90/224 200 1200 90/34135/10 125/22 125/22 110/12

85/13 90/225 400 1200 135/10 125/22 125/22 110/21 110/20 90/3490/2285/136 100 90/341400 110/20135/10 125/22 125/23 110/21

85/13 90/227 150 700 130/10 120/22 120/23 120/22 100/20 90/3490/3290/2285/148 200 1200 100/24130/10 120/22 120/23 120/22

100/24 85/11 90/229 50 90/32900 130/12 120/12 120/14 120/2290/20 90/3210 220 85/121300 100/24130/12 120/12 120/14 120/22

100/24 85/12 90/2011 90/30600 2000 130/12 120/12 120/23 120/2290/3090/2012 300 1400 121/12 111/12 112/23 120/10 100/22 85/12

Setup[m ]= [10, 10, 10, 20, 30, 30, 15, 20] Forbidden paths= [M1M5,M2M5,M5M7,M6M7].

Appendix C

The two problems below explore the weakness of the heuristic cuts and demonstrates a case where an optimalsolution could not be obtained by either CUT 2 and CUT 3.

Table 18. Example 1, where CUT 2 fails (six machines, three stages, ten jobs)Stage 1= [M1, M2], Stage 2= [M3, M4], Stage 3= [M5, M6]

CUT 2 non-optimalJob

Duration/costDates

M4 M5 M6M3Release Due M1 M2

121/121 135/1351 0 700 151/151 F 120/120 96/96125/125121/1212 96/960 120/120900 101/202 211/422

F125/1253 0 1100 131/131 171/171 110/110 111/11196/96115/230121/1214 0 120/1201000 140/280 191/191

120/120 121/121 145/1455 96/960 1200 140/140 200/200135/135 96/966 121/1210 120/1201300 130/130 151/151

120/120 121/121 125/1257 0 1300 150/150 96/96171/17196/96115/115121/1218 0 120/1201000 110/110 141/141

120/120 121/121 115/1159 0 1600 100/100 96/96151/151120/120 121/121 115/11510 0 1200 91/91 96/96211/633

Setup[m ]= [60, 80, 25, 25, 40, 40]Forbidden paths= [M1M3].

Page 20: Decomposition techniques for multistage scheduling problems using mixed-integer and constraint programming methods

I. Harjunkoski, I.E. Grossmann / Computers and Chemical Engineering 26 (2002) 1533–15521552

Table 19. Example 2, where both CUT 2&3 fail (six machines, three stages, ten jobs).Stage 1= [M1, M2], Stage 2= [M3, M4], Stage 3= [M5, M6].

Job CUT 2 & 3 non-optimal

Dates Duration/cost

M4 M5Release Due M1 M2 M6M3

35/1312/12 36/161 22/80 700 51/15 F22/12 12/11 25/122 36/16100 600 51/4 21/5

F25/1511/113 200 21/14600 31/9 17/1112/12 15/234 150 400 40/8 49/9 22/15 26/1612/12 45/145 200 500 40/4 50/3 22/14 46/16

35/1312/126 36/19200 22/14800 30/3 35/525/22 26/197 100 600 50/5 57/7 12/10 12/12

24/12 15/218 150 500 10/5 14/4 24/11 26/1915/2521/259 16/29400 22/20600 10/3 15/5

22/20 21/21 15/25 16/2910 0 500 9/9 11/6

Setup[m ]= [60, 80, 25, 25, 40, 40] Forbidden paths= [M1M3].

References

Balas, E., Ceria, S., & Cornuejols, G. (1996). Mixed 0–1 programmingby lift-and-project in a branch-and-cut framework. ManagementScience, 42, 1229–1246.

Carlier, J., & Pinson, E. (1989). An algorithm for solving the job-shopproblem. Management Science, 35(2), 164–176.

Dash Associates (1999). XPRESS-MP, User Guide.Dincbas M., Van Hentenryck P., Simonis H., Aggoun A., Graf T., &

Berthier F. (1988). The constraint logic programming languageCHIP. FGCS 1988, Proceedings of the international conference onfifth generation computer systems (pp. 693–702). Tokyo.

Harjunkoski, I., Jain, V., & Grossmann, I. E. (2000). Hybrid mixed-in-teger/const rained logic programming strategies for solving schedul-ing and combinatorial optimization problems. Computer-AidedChemical Engineering, 24, 337–343.

Hentenryck, P. V. (1989). Constraint satisfaction in logic programming.Cambridge, MA: MIT Press.

Hooker, J. (2000). Logic-based methods for optimization : combiningoptimization and constraint satisfaction. New York: Wiley.

IBM (1992). IBM Optimization Subroutine Library Guide and Refer-ence. IBM Systems Journal, 31 (1), SC23–Q519.

lerapetritou, M., & Floudas, C. A. (1998). Effective continuous-timeformulation for short-term scheduling. Industrial and EngineeringChemistry Research, 37, 4341–4359.

ILOG SOLVER 4.4 User’s Manual (1999). ILOG Inc.ILOG CPLEX 7.0 User’s Manual (2000). ILOG Inc.ILOG OPL STUDIO 3.5 The Optimization Language(2001). ILOG Inc.Jain, V., & Grossmann, I. E. (2001). Algorithms for hybrid MILP/CP

models for a class of optimization problems. INFORMS Journal ofComputing, 13, 258–276.

Johnson, E. L., Nemhauser, G. L., & Savelsbergh, M. W. P. (2000).Progress in linear programming based branch and bound algorithm:

exposition. INFORMS Journal of Computing, 12(1), 2–23.Marriott, K., & Stuckey, P. J. (1999). Introduction to constraint logic

programming. Cambridge: MIT press.Mendez, C. A., Henning, G. P., & Cerda, J. (2000). An MILP

continuous-time approach to short-term scheduling of resource-constrained multistage flowshop batch facilities. Computers-AidedChemical Engineering, 25, 701–711.

Nemhauser, G. L., & Wolsey, L. A. (1988). Integer and combinatorialoptimization. New York: Wiley.

Ottosson G., Thorsteinsson E.S., & Hooker J.N. (2001). Mixed globalconstraints and inference in hybrid CLP-IP solvers, accepted forpublication in Annals of Mathematics and Artificial Intelligence.

Pekny, J. F., & Reklaitis, G. V. (1998). Towards the convergence oftheory and practice: a technology guide for scheduling/planningmethodology. American Institute of Chemical Engineering Sympo-sium Series, 94(320), 91–111.

Pinto, J., & Grossmann, I. E. (1995). A continuous time mixed integerlinear programming model for short term scheduling of multistagebatch plants. I&EC Research, 34, 3037–3051.

Pinto, J., & Grossmann, I. E. (1998). Assignment and sequencingmodels for the scheduling of chemical processes. Annals of Opera-tions Research, 81, 433–466.

Raman, R., & Grossmann, I. E. (1994). Modeling and computationaltechniques for logic based integer programming. Computers-AidedChemical Engineering, 18, 563–578.

Shah, N. (1998). Single-and multisite planning and scheduling: currentstatus and future challenges. American Institute of Chemical Engi-neering Symposium Series, 94(320), 75–90.

Wallace, M., Novello, S., & Schimpf, J. (1997). ECLiPSe: a platformfor constraint logic programming. ICL Systems Journal, 12(1),159–200.

Wang, L., & Zheng, D-Z. (2001). An effective hybrid optimizationstrategy for job-shop scheduling problems. Computers and Opera-tions Research, 28, 585–596.