Order acceptance and scheduling decisions in make-to-order systems

Order acceptance and scheduling decisions in make-to-order systems

ARTICLE IN PRESS Int. J. Production Economics 125 (2010) 200–211 Contents lists available at ScienceDirect Int. J. Production Economics journal home...

282KB Sizes 0 Downloads 45 Views

ARTICLE IN PRESS Int. J. Production Economics 125 (2010) 200–211

Contents lists available at ScienceDirect

Int. J. Production Economics journal homepage: www.elsevier.com/locate/ijpe

Order acceptance and scheduling decisions in make-to-order systems ¨ Yalc- ın b Ceyda Og˘uz a,, F. Sibel Salman a, Zehra Bilginturk a b

Department of Industrial Engineering, Koc- University, Rumeli Feneri Yolu, Sarıyer 34450, _Istanbul, Turkey Department of Mechanical Engineering, The University of Texas at Austin, Austin, TX, USA

a r t i c l e in f o

a b s t r a c t

Article history: Received 1 October 2009 Accepted 11 December 2009 Available online 10 February 2010

We examine simultaneous order acceptance and scheduling decisions where the orders are defined by their release dates, due dates, deadlines, processing times, sequence dependent setup times and revenues in a single machine environment. The objective is to maximize total revenue, where the revenue from an order is a function of its tardiness and deadline. We give an MILP formulation which can be solved to optimality up to 15 orders. We develop three heuristic algorithms to solve large sized problems. Computational tests indicate that the proposed algorithms are both computationally efficient and effective even for instances up to 300 orders. & 2010 Elsevier B.V. All rights reserved.

Keywords: Order acceptance Single machine scheduling Sequence dependent setup times Heuristics

1. Introduction Firms increasingly offer more customized and unique products in order to attract customers. Manufacturers that can operate on a make-to-order basis realize benefits in terms of reduced inventory cost and decreased risk to vulnerabilities. On the other hand, limitations on manufacturing capacity force these firms to be selective on customer orders. Customers giving orders typically quote a due date and a deadline, and may penalize the manufacturer for late deliveries. This translates into reduced revenue and even loss of customers for the manufacturer. Hence, the manufacturer should select the orders to be processed by a careful analysis of its available capacity, as well as customers’ requirements in terms of delivery time to maximize the revenues. While the manufacturer decides on a set of orders to be processed over a time frame, simultaneously, how to process these orders should also be considered for efficient capacity utilization. A printing and laminating company that operates make-toorder and faces a similar problem motivated this study. The company produces customized packaging materials for food, pharmaceutical and cosmetics sectors. The production process basically consists of printing, lamination, slitting and packaging operations. Of particular importance among the production processes is printing because of the required setup changes between the processing of different orders on the printing machines. The setup consists of three operations, namely, clean up, mounting and stabilization. The number of colors as well as the tone of colors themselves affect the clean-up time.

 Corresponding author. Tel.: + 90 212 338 1793; fax: + 90 212 338 1548.

E-mail addresses: [email protected] (C. Oguz), [email protected] ˘ ¨ Yalc- ın). (F. Sibel Salman), [email protected] (Z. Bilginturk 0925-5273/$ - see front matter & 2010 Elsevier B.V. All rights reserved. doi:10.1016/j.ijpe.2010.02.002

The mounting operation includes fixing the raw materials and the apparatus related to the order. Materials and apparatus required differ from one order to another, making the setup time dependent on the processing sequence of the orders. Furthermore, the stabilization process is related to the shape of patterns and the tone of colors with respect to the specifications of the customer, which is also significantly susceptible to the order sequence. The existence of a broad range of products with different printing characteristics and other customer requirements, including tight due dates, makes scheduling an important issue. The company experiences failures in on-time delivery, which results mainly from poor operations scheduling. This leads to a loss of revenue for the company as well as dissatisfaction of the customers. If some orders are not accepted in the beginning, this may give a better chance for others to be completed on time. Therefore, the problem faced by the company can be avoided by an efficient method which decides on order acceptance and scheduling simultaneously. In this study we focus on make-to-order firms manufacturing customized products, where the production is initiated by a customer order. Typically, no finished goods inventory is carried for this type of products. The manufacturer gains a revenue if a particular order is manufactured before its deadline by using the production resources. Since the main production resource, i.e. the capacity, is limited, manufacturing one order may delay another one. The manufacturer will incur a penalty for the orders which are delayed beyond their due dates. Orders past their deadlines result in zero revenue. In a competitive make-to-order environment, a manufacturer should use the capacity efficiently, satisfy the expectations of customers and gain the maximum revenue from the incoming orders. Hence, the question is which orders to accept and in what sequence to process them to maximize the revenues. We concentrate on a single machine environment.

ARTICLE IN PRESS C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘

For example, in the packaging firm the printing process would be our focus. We consider sequence dependent setup times which represent the work needed on the machine or on the order before it becomes available for the main processing, similar to the setup required in the printing process. We refer to this problem as the OAS (Order Acceptance and Scheduling) problem in the rest of the article. Although the OAS problem has not been addressed in the literature before to the best of our knowledge, some special cases have been studied extensively. The total tardiness problem has been studied since 1960s. Emmons (1969) is one of the first researchers working on the total tardiness problem. Schrage and Baker (1978) used dynamic programming and branch-and-bound methods for solving moderately small sized problems to optimality. Du and Leung (1990) proved that minimizing total tardiness in one machine is NP-hard in the ordinary sense. This problem can be solved to some degree by using dominance relationships combined with a branch-and-bound procedure. When we add the sequence dependent setup times and weights, the characteristics of the problem change and the dominance relations of the total tardiness problem become invalid. The addition of sequence dependent setup times and weights increases both the practical applicability of the problem and its computational complexity. The resulting total weighted tardiness problem with sequence dependent setup times is proved to be strongly NP-hard by Lawler et al. (1982). As no order acceptance decisions are considered in this problem, the OAS problem generalizes it. Since the underlying scheduling problem is known to be strongly NP-hard, reaching optimality in reasonable time limits is impossible for the OAS problem at the moment, except for problems with a very limited number of orders. The main aim of this study is to combine the order acceptance and scheduling decisions in one problem and to find time efficient and high quality solution methods for its solution. Comprehensive literature reviews on setup considerations in scheduling problems are presented by Allahverdi et al. (1999, 2008). Sequence dependent setup times were addressed in different scheduling environments. Recent studies include Tahar et al. (2006) for identical parallel machines, Hendizadeh et al. (2008) for flowline manufacturing cells and Naderi et al. (2009) for job shops. Application of metaheuristics and branch-andbound algorithms is common to the single machine total tardiness problem with sequence dependent setup times (TTSDS). Rubin and Ragatz (1995) applied a genetic search to the problem. Tan and Narasimhan (1997) used a Simulated Annealing approach to solve the TTSDS problem. The algorithms proposed by the authors are not directly applicable to the OAS problem since they do not address the order acceptance decision, and the existence of the release dates and the deadlines. For the weighted TTSDS problem several heuristics have been developed. Kim et al. (1995) proposed a hybrid heuristic, while Lee et al. (1997) proposed a three-phase heuristic algorithm. Both of these studies used the Apparent Tardiness Cost with Setups (ATCS) rule in their heuristics and showed that the ATCS rule outperforms other existing rules. Recently, Anghinolfi and Paolucci (2009) and Tasgetiren et al. (2009) provide metaheuristics for the single machine total weighted tardiness problem with sequence dependent setup times. Studies addressing the order acceptance decision together with the scheduling decisions are limited in number but interest in this area has been growing in recent years. Importance of order acceptance in make-to-order systems has been underlined by Rogers and Nandi (2007) and Zorzini et al. (2008). Among the studies on order acceptance and scheduling, the following four papers are the most relevant ones to our study. Charnsirisaksul et al. (2004) studied an integrated order selection and scheduling

201

problem on a single machine with the objective of maximizing the manufacturer’s profit defined as revenue minus manufacturing, holding and tardiness costs. They allowed preemption of an order, where partially finished orders incur holding costs until they are completed. A time-indexed MIP formulation was used to solve the problem in computational tests. The study develops insights on how manufacturers benefit from having flexibility in setting the lead times. This study differs from ours mainly in that we consider sequence dependent setup times and allow no preemption in our scheduling problem. Another study concerning order acceptance decisions is by Roundry et al. (2005) with the following setting. When a customer places an order consisting of a sequence of small, just-in-time shipments over a time period, the manufacturer has to decide on how to partition the shipments into a number of production batches with due dates in a job shop environment, before accepting the order. Here, the acceptance decision is made every time a new order arrives, considering whether the existing production schedule may accommodate it. If the order can be inserted in a feasible schedule, a schedule that minimizes the sum of setup and holding costs is selected as in lot sizing problems. The authors characterized valid feasible schedules by considering each machine separately. They proposed an IP formulation to solve this NP-hard problem, whose LP relaxation yields an integer solution in tested instances. They also developed and tested several heuristics. Slotnick and Morton (2007) studied order acceptance and scheduling in a single machine environment. Their problem is similar to the OAS problem studied here in terms of its objective. In addition, they do not allow preemption of orders, as in our problem. However, the OAS problem takes the sequence dependent setup times and deadlines into account. Therefore, it is a generalization of Slotnick and Morton’s problem. Slotnick and Morton developed a branchand-bound procedure that uses a linear relaxation for bounding and performs the sequencing and job acceptance decisions jointly. Since this optimal approach is intractable for larger problems, they developed several heuristics including beam search and assignment-based myopic heuristics. More recently, Rom and Slotnick (2009) proposed a genetic algorithm for the same problem. Furthermore Talla Nobibon et al. (2009) provided two branchand-bound algorithms and several heuristics for the order acceptance and scheduling problem without release dates, deadlines and sequence dependent setup times in a single machine environment. In the literature, the scheduling problem with rejection also appears, which is included in the OAS problem. The scheduling problem with rejection was studied in different machine environments, such as multi-processor (Bartal et al., 2000) and single machine (Zhang et al., 2009). The common objective functions used in this line of study are makespan and the total completion times together with a rejection penalty. We refer the readers to the recent study of Zhang et al. (2009) for the related literature on this topic. The organization of this paper is as follows. We define the problem in Section 2 and present an MILP model in Section 3. In Section 4 we present upper bounds which are based on the LP relaxation of the MILP model strengthened with some valid inequalities. We also give computational results on the strength of the upper bounds in this section. In Section 5, we develop our heuristic algorithms. Section 6 presents the results of the computational experiments comparing the performance of the developed algorithms. Finally, Section 7 provides conclusions.

2. The order acceptance and scheduling problem The order acceptance and scheduling (OAS) problem is defined as follows. In a single machine environment, we are given a set of independent orders O at the beginning of the planning period.

ARTICLE IN PRESS 202

C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘

For each order i A O, we have data on its release date ri, processing time pi, due date di, deadline d i such that di r d i , sequence dependent setup times where each element sij is the time that has to be incurred before order j is processed, if order i precedes order j (sij is not necessarily equal to sji), revenue ei which denotes the maximum gain from order i, and unit tardiness penalty cost wi. The manufacturer may complete order i until its deadline d i , but for each time unit beyond its due date, she incurs a tardiness penalty cost wi. As the tardiness of an order increases, the revenue decreases linearly until it becomes zero at the deadline. Therefore, any order that would be completed after its deadline should not be accepted in the beginning. Given a sequence ss of the selected order set S DO, we can calculate the completion time Ci of each order iA S. Using the completion time Ci and the due date di of an order, we can calculate the tardiness of order i A S with the formula maxf0; Ci di g. Let Ti ðss Þ be the tardiness of job i A S in sequence ss . Then, a penalty cost of wi Ti ðss Þ is incurred and the revenue generated from order i, denoted by Ri ðss Þ, is calculated as Ri ðss Þ ¼ maxf0; ei wi Ti ðss Þg. Consequently, the total revenue gained from processing orders in S in the sequence ss is P TRðss Þ ¼ i A s Ri ðss Þ. The OAS problem is to find the set S, and the sequence ss , when TRðss Þ is maximum. Intuition for this problem can be given as follows. The due date can be considered as the latest time preferred by the customer for delivery of his order. As an order becomes tardy, customer satisfaction begins to decrease. Accordingly, the customer accepts to pay only a discounted amount for his order when the due date is exceeded. The deadline is the time after which the customer refuses the delivery and to pay for his order. We define the manufacturer’s revenue gained from an order as a piecewise linear function that depends on the release date, the due date, the deadline and the completion time of that order. The shape of the function is shown in Fig. 1. In region I, no revenue can be gained since the job is not processed yet. If the completion time of order i, Ci, lies in region II, ei units of constant revenue is gained from order i. If Ci lies in region III, revenue Ri that is gained from order i decreases linearly with its tardiness. The value of Ri is calculated as ei  wiTi within region III. No revenue can be gained from order i after its deadline d i . To enforce this, wi must be set to ei =ðd i di Þ for each order i. In this problem setting, if the manufacturer is better off rejecting any of the orders, she can do so. There is no limit on the number of orders to be accepted. It is assumed that the production environment does not break down, and the preemption is not allowed. In addition, the machine can process only one order at a time. An order will be shipped to the customer as soon as it is completed so that the manufacturer incurs no holding cost. All input data are assumed to be known at the time of planning. Order acceptance decisions are of critical importance for the OAS problem and for the revenue of the manufacturer. Consider the following example. Suppose we have orders 1, 2 and 3

Revenue

Tardiness e1=1 p1=5

s1

S:

r1, r2=0

r3=3

e2=1 e3=2 s3 p3 s2 p2 d=6

d

10

Fig. 2. Optimal sequence for no order selection case: 1–3–2.

e2=1 s2 p2 r1, r2=0

S’:

e3=2 s3 p3 r3=3

d=6

d=10

Fig. 3. Optimal sequence for order selection case: 2–3.

with common due dates and deadlines, but with different release dates. The data for the problem are as follows: n =3, ri = [0, 0, 3], ei = [1, 1, 2], pi =[5, 1, 1], di =[6, 6, 6], d i = [10, 10, 10], wi =[0.25, 0.25, 0.5], and 3 2 1 1 1 60 1 17 7 6 sij ¼ 6 7 41 0 15 1

1

0

Suppose first the order selection decision is ignored and all orders are sequenced. The optimal sequence is found as 1–3–2, as shown in Fig. 2. Orders 2 and 3 are tardy, hence the total revenue will be e1 +e2 + e3  w2T2 w3T3 = 2 units. When we incorporate the order selection decision into the problem, we search for a subset of orders together with their sequence that yields the maximum revenue. Then, according to the optimal solution shown in Fig. 3, we decide not to undertake order 1, but to process 2 and 3. Now the total revenue is e2 +e3 = 3 units. From this example we see that simultaneous order selection and scheduling is beneficial for the manufacturer. In the next section we develop a mathematical model for this problem in order to understand the factors influencing the difficulty of the problem and to observe the computational limits of solving the problem to optimality.

3. The mathematical model In this section, we give a mixed integer linear programming formulation for the OAS problem. We define two sets of binary variables, I and y, to handle order acceptance and sequencing decisions, respectively,  1 if order i precedes order j; i; j A O; i aj yij ¼ 0 otherwise

Ii ¼



1

if order i is selected;

0

otherwise

iAO

MILP:

ei

max

n X

Ri

i¼1

I

II ri

III di

s.t.

d i Time

Fig. 1. Revenue function for order i.

n þ1 X j ¼ 1;j a i

yij ¼ Ii

8i ¼ 0; . . . ; n

ð1Þ

ARTICLE IN PRESS C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘ n X

yji ¼ Ii

8i ¼ 1; . . . ; n þ1

ð2Þ

j ¼ 0;j a i

Ci þðsij þ pj Þyij þ d i ðyij 1Þ r Cj

8i ¼ 0; . . . ; n;

8j ¼ 1; . . . ; n þ1; ia j ð3Þ

ðrj þpj ÞIj þsij yij rCj

8i ¼ 0; . . . ; n;

8j ¼ 1; . . . ; n þ 1; i a j ð4Þ

Ci rd i Ii

8i ¼ 0; . . . ; n þ1

ð5Þ

Ti Z Ci di

8i ¼ 0; . . . ; n þ 1

ð6Þ

Ti r ðd i di ÞIi

8i ¼ 0; . . . ; n þ1

ð7Þ

Ti Z 0

8i ¼ 0; . . . ; n þ 1

ð8Þ

Ri r ei Ii Ti wi

8i ¼ 1; . . . ; n

ð9Þ

Ri Z 0

8i ¼ 1; . . . ; n

ð10Þ

C0 ¼ 0; Cn þ 1 ¼ max fd i g;

ð11Þ

I0 ¼ 1; In þ 1 ¼ 1

ð12Þ

i ¼ 1;...;n

Ii A f0; 1g; yij A f0; 1g

8i ¼ 0; . . . ; n; 8j ¼ 1; . . . ; n þ 1; ia j ð13Þ

In this model, we define dummy orders, order 0 and order n + 1, where order 0 is assigned to the first position, and order n+ 1 is assigned to the last position, definitely whatever the sequence of orders in between is. Artificial orders 0 and n + 1 are available at time zero, with r0, rn + 1, p0, pn + 1, d0, d 0 , e0 and en + 1 being 0; dn + 1 and d n þ 1 being equal to maximum of deadlines of all jobs. Constraint sets (1) and (2) enforce that, if an order is accepted, this order precedes only one job and, is succeeded by only one job. If it is not accepted, it does not take place in the sequence. These constraints also prohibit the preemption of the jobs. Constraint set (3) implies that, if order j is preceded by order i, then the completion time of order j should be larger than the completion time of order i plus the sequence dependent setup time between orders i and j, plus the processing time of order j. If order i does not precede order j in the sequence, Cj Z 0 should be the only limit, and this constraint ensures this outcome. This set of constraints prevents any cycle formation in the sequence of the orders accepted. Constraint set (4) dictates, if an order j is accepted, and is preceded by order i in the schedule, then the completion time of order j should be at least the release date of that order plus the sequence dependent setup time between orders i and j, plus the processing time of order j. In case order i does not precede order j, the completion time of order j has a looser bound which is given by the release time of order j plus its processing time. If order j is not accepted, the bound reduces to Cj Z0. These constraints enable us to calculate the correct completion times of the orders. Constraint set (6) defines tardiness of each order together with (8) and (7) bounds it. Constraint set (5) ensures that any order completed after the deadline will not be accepted. Constraint set (9) calculates the revenue the manufacturer can gain when order i is accepted and incurs tardiness of Ti. While constraints (11) and (12) set completion times of dummy orders 0 and n +1 correctly, constraint set (13) defines the binary variables. First note that accepting any subset of orders would lead to a feasible solution by sequencing these orders. It can be easily shown that any solution feasible to the MILP model contains no subtours due to constraints (3).

203

Since the OAS problem has asymmetric sequence dependent setup times between the orders in a sequence, that is sij asji , the Asymmetric Traveling Salesman Problem (ATSP) is embedded in it. A feasible solution to the OAS problem can be considered as a tour consisting of a subset of the n orders due to acceptance/ rejection decisions. In the MILP formulation of the OAS problem subtour elimination is handled by a polynomial number of constraints. Namely, the constraint set (3) is used to eliminate subtours. In the literature various forms of subtour elimination constraints have been proposed. Dantzig et al. (1954) proposed an exponential number of constraints which generate strong LP relaxations, while Miller et al. (1960) proposed a polynomial number of constraints known as the MTZ constraints which have weaker LP relaxations. Sherali and Driscoll (2002) gave a modified version of the MTZ subtour elimination constraints that holds for ATSP. In the next proposition we show that our proposed MILP formulation implies the ATSP-MTZ subtour elimination constraints given by Sherali and Driscoll (2002). Proposition 1. Constraint set (3) of the MILP model implies ATSP-MTZ subtour elimination constraints. Proof. ATSP-MTZ subtour elimination constraints given by Sherali and Driscoll (2002) can be adapted as follows to the OAS problem: Ij r uj r ðn1ÞIj

8j ¼ 1; . . . ; n

uj Zðui þ1Þðn1Þð1yij Þ

8i; j A O; i a j

ð14Þ ð15Þ

where we have n orders and the integer uj variables represent the position of the orders, that is, the value of uj is the index of the order at the j th position in the sequence. Suppose we take any feasible solution to the MILP model. Then, we know the values of the decision variables yij’s, Ii, Ci, Ti and Ri for each order i. The values of all these decision variables corresponding to the rejected orders are known to be 0. Suppose Ci variables are ignored for the rejected orders, and the remaining Ci variables which are known to be greater than 0 are sorted in increasing order. We call this sorted list Q. Next, we can define uj variables for all orders and set uj =0 for each rejected order j. The index set of Ci variables in Q indicates the processing sequence of the accepted orders in the solution. Thus, we can assign uj variables values so that, u1 = k, where k is the index of the first Ci in Q, u2 = l, where l is the index of the second Ci in Q, and so on. Then it is easy to verify that the assigned uj variables satisfy the constraint sets (14) and (15). Hence, the constraint set (3) of the MILP model implies ATSP-MTZ subtour elimination constraints. & The above proposition contains a positive result on the strength of the MILP formulation. Still, knowing that the OAS problem is an NP-hard problem that generalizes some well-known difficult problems, we investigated the limits of the given MILP formulation in solving some randomly generated instances of various sizes. We explain the data generation later in Section 4 where we present some computational results. In our computational tests with the MILP model, we observed that all of the randomly generated instances with 10 orders could be solved to optimality in reasonable time with CPLEX. When the number of orders increased to 15, only a subset of the generated instances could be solved to optimality. None of the instances with larger than 15 orders could be solved optimally. As a result, we focus on developing heuristic solution procedures to handle large instances of the OAS problem. In order to evaluate the performance of the heuristic approaches, we generate upper bounds on the optimal revenue by using the LP relaxation of the MILP model as explained in the next section.

ARTICLE IN PRESS 204

C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘

4. Generating upper bounds In this section, we investigate the strength of the upper bound obtained from the MILP model by relaxing the integrality conditions. When we relax the integrality constraints for both Ii and yij variables in the MILP model and solve the resulting LP, we observe that the yij variables, that is the sequencing variables, are divided into many fractional values but the Ii variables remain binary. To maximize the revenues, the solution tries to avoid tardiness or rejecting some of the orders due to deadlines. Therefore, it forces the completion times to be as small as possible. This results in dividing both the processing and the setup times of an order into small pieces, and processing these pieces simultaneously. In turn, the solution is able to accept all the orders. In most cases, the upper bound generated in the solution is simply the sum of the maximum revenue from each order. This upper bound will be referred to as UBLP in the following sections. We explore the possibility of improving the LP relaxation upper bound with valid inequalities. We first remove the constraint Cn þ 1 ¼ maxi ¼ 1;...;n d i and add the following three valid inequalities to the problem: Cn þ 1 r max d i

ð16Þ

2 3 X X 4pi Ii þ sji yji 5 Cn þ 1 Z min ri þ

ð17Þ

iAO

iAO

iAO

X sji yji ; Ci Zðri þ pi ÞIi þ

4.2. Experiments with the MILP model and the upper bounds

jAO

8i ¼ 1; . . . ; n

Potts and van Wassenhove (1985), and the term maxk ski þ ri is added to pT to prevent the possible initial infeasibility of di and to assure that the machine will have enough time to process order i. In addition, each of the due dates di is checked so that di 4 maxj sji þ ri þ pi is satisfied while generating the data. The deadlines are generated from the formula d i ¼ di þ Rpi , as in Charnsirisakskul et al. (2006). The penalty cost wi is calculated by the formula wi ¼ ei =ðd i di Þ so that the revenue gained from an order i becomes 0 at its deadline d i . The values used for t and R are 0.1, 0.3, 0.5, 0.7 and 0.9, similar to Potts and van Wassenhove (1985). For each possible combination of t and R, 10 instances were generated. In this study, certain values of t have been found compatible with certain values of R due to the feasibility check di 4 maxj sji þ ri þ pi . Hence, for t ¼ 0:1, 0.3, 0.5 we used R= 0.1, 0.3, 0.5, 0.7, 0.9, and a total of 3  5  10 ¼ 150 test instances are generated for these parameter combinations for each n. Similarly, for t ¼ 0:7 we used R= 0.5, 0.7, 0.9, and hence 3  10 ¼ 30 instances are generated for each n. Finally, for t ¼ 0:9 we used R=0.9, and therefore 10 such instances are generated for each n. Resultantly, the number of the test instances for each n is 190, which sums up to 1520 for eight different n values where n = 10, 15, 20, 25, 50, 100, 200, 300.

ð18Þ

jAO

Valid inequalities (16)–(18) prevent the model from breaking the variables yij into too many small pieces and may cause some of the orders to be rejected. When we add the integrality constraint for Ii variables, the problem is still easy to solve, and the bound is further improved or remains the same for the OAS problem. Therefore, we kept these variables binary in generating the upper bound, which we called UBLPVI in the following. We computationally investigated the improvement in the upper bound when the valid inequalities are added. For this purpose we generate random test instances varying in parameter values and problem sizes. In what follows, we first describe the data generation process and then present results from the computational tests. 4.1. Data generation We used two predefined parameters, the due date range R, and the tardiness factor t, to vary the problem instances to cover a wide range of cases. The following problem parameters are integer numbers which were generated randomly from a uniform distribution in the following intervals: release dates ri in [0, tpT ] where pT is the total processing time of all orders; processing times pi in [1,20]; sequence dependent setup times sij in [1,10]; and revenues ei in [1,20]. The generation of the release date is similar to the study of Akturk and Ozdemir (2000), however, we use five different tardiness factor values as defined below. The setup times are generated using discrete uniform distribution, which is also consistent with the existing scheduling literature (Rubin and Ragatz, 1995; Tan and Narasimhan, 1997). Since we study a make-to-order system, we consider the case where setup times are significant. Hence, processing time-setup time ratio is relatively small in our instances. The due dates are generated such that for each order i, the due date di is an integer in the interval ðpT þ maxk ski þri Þ½1tR=2; 1t þ R=2, where k ¼ 1; . . . ; n. The idea of using the factor pT ½1tR=2; 1t þ R=2 was proposed by

For each (t; R) parameter combination, we solved 10 instances of the OAS problem for n = 10, 15 with ILOG CPLEX 10.0 using default parameter settings. All of the runs throughout the computational experiments are performed on a workstation with an Intel Xeon processor, 3.40 GHz speed, and 8 GB of RAM. We set a time limit of 3600 s for all CPLEX runs. We observed that the hardest problem instances for MILP are generated when t ¼ 0:1, 0.3 and R =0.1, 0.3. It is still possible to solve the OAS problem when t ¼ 0:5, 0.7 and 0.9 when n =10. For the problem sizes above 15, it is impossible to find the optimal solution within the time limit of 3600 s. In addition, when we keep t constant, and increase R, we see that the problem becomes easier for the MILP for t ¼ 0:1 and 0.3. This is because when t ¼ 0:1 or 0.3, orders are unlikely to be tardy in the optimal schedule, so the rejection decision is not easy for the model. However, as R grows, the due dates of the orders become looser, and this brings a scheduling flexibility to the system which makes the OAS problem easier for the MILP model. In Table 1, we compare the LP relaxation bound (UBLP) and the LP relaxation bound strengthened with the valid inequalities (UBLPVI) by presenting the maximum and the average percentage improvement for n= 10, 15, 200, 25, 50, 100 over all t and R combinations. From this table, we see that the valid inequalities strengthen the upper bound by 1–2% on the average. When we analyze the computational results in detail we observe that while there are minimal or no improvements for t ¼ 0:1, 0.3 cases; the improvements are noticeable for t ¼ 0:5, R= 0.1 case (7–12% on the average, 27% highest) and t ¼ 0:7, R= 0.5 case (3–7% on the Table 1 The average % improvement of UBLPVI over UBLP. n

Max (%)

Average (%)

10 15 20 25 50 100

27 20 16 12 8 9

2 2 2 1 1 1

ARTICLE IN PRESS C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘

average, 13% highest). We can conclude that valid inequalities have more potential to strengthen the UBLP for the instances having large t and small R with this evidence. Since the highest improvement is achieved in t ¼ 0:5, R= 0.1 case, we can arrive at the conclusion that as the ratio between t and R increases, the likelihood of the UBLPVI to improve increases. The t ¼ 0:3, R= 0.1 and t ¼ 0:7, R= 0.5 cases also support this conclusion. When t is large, more orders are expected to be tardy. In addition, when R is small, due dates of the orders are close to each other, and the possibility of order clashes increases. Therefore, more orders are expected to be rejected when t is large and R is small. Valid inequalities efficiently identify such cases and improve the bounds more. Since UBLPVI dominates UBLP, we use UBLPVI for measuring the heuristic algorithms’ performances in the following sections. We also investigated the effects of the valid inequalities individually. We observed that inequality (17) improves the upper bound the most. Although the other two inequalities do not contribute much to improving the upper bound, adding them reduces the computation time significantly. While time required to solve the relaxation with valid inequality (17) is above 2000 s on the average, the relaxation can be solved within 25 s when all three inequalities are added.

5. Heuristic solution approaches As mentioned in Section 2, the OAS problem is NP-hard. For this reason, CPLEX is capable of solving only small size OAS problem instances via the MILP model in reasonable time limits. For industrial-sized problems, we need algorithms that would solve the problem with considerably small CPU times. Below we present heuristic algorithms that we developed for the OAS problem. 5.1. Iterative Sequence First-Accept Next (ISFAN) algorithm In this section, we describe the ISFAN algorithm for solving the OAS problem. ISFAN is an iterative heuristic algorithm that uses a priority rule to give acceptance-rejection decisions and Simulated Annealing (SA) algorithm concepts to handle the sequencing of the selected orders. The reason why we use SA in ISFAN is an important aspect in its nature: SA is good at diversifying and less likely to get stuck in the local optimum compared to other metaheuristics. Also, SA is proven to be successful in solving combinatorial optimization problems in the literature (Tan and Narasimhan, 1997). ISFAN accepts a new solution even if its objective value is worse than before, with a probability given by expðdf =TÞ, where df is the increase in the objective function value and T is the current temperature, which is a parameter for SA. For order acceptance-rejection decisions, ISFAN uses the revenue-load ratio which is equal to ej/(pj + minsetupj). At each ISFAN iteration, first the sequencing of orders is handled with SA and if there exist orders completed after their deadlines, the order with the lowest revenue-load ratio is rejected at the end of the iteration. The algorithm runs until all orders scheduled generate positive revenue. Next, for the current set of accepted orders, the algorithm tries to find the best schedule by order exchange and order insertion operations. The pseudo-code for the ISFAN algorithm is given in the Appendix. As a hybrid heuristic, the run time of ISFAN depends on various developer-defined parameters such as the number of iterations, the number of iterations without improvement and the initial temperature of the annealing procedure. We discuss our parameter settings in Section 6.

205

5.2. Constructive heuristics In addition to the hybrid heuristic algorithm ISFAN, we propose two constructive heuristics considering the characteristics of the problem to generate high quality solutions in a short time. These heuristics differ from the ISFAN algorithm in the following way. In ISFAN, we initially accept all of the orders and reject one at each rejection iteration. The proposed constructive heuristics are dynamic in nature. Starting with no accepted orders, they accept and schedule one order at a time. At this step, they check the availability of orders and the machine, together with the feasibility of sequencing the order at a pre-specified position. Once an order is accepted, it is known which order it will follow. Hence, the correct setup time is included in calculating its completion time. This may result in better decisions on sequencing and order selection compared to ISFAN. The two constructive heuristics differ from each other in their accepting and sequencing rule. These heuristics are described in detail below. 5.2.1. Dynamic Release First-Sequence Best (d-RFSB) heuristic The main idea of the d-RFSB heuristic is to evaluate the availability of the orders by checking their release dates and deadlines, and then accepting and scheduling the order that has the highest ei =ðpi þ spreviousJob;i Þ ratio among the available orders, where previousJob represents the index of the order that immediately precedes i. In the d-RFSB heuristic, acceptance decisions are given dynamically. Time is evolved by unit increments until at least one available order is found. Once an available order is scheduled, the completion time of this order is calculated and time is evolved up to this time. An unscheduled order whose deadline has passed is automatically rejected by the heuristic. Hence, the d-RFSB heuristic has a procedure for accepting the orders rather than rejecting them contrary to the ISFAN algorithm. The algorithm for the d-RFSB heuristic is given in the Appendix. The computational complexity of the d-RFSB heuristic is O(n2) since we make at most n passes in the algorithm, and at each pass, we deal with k 1 orders where k is the number of unscheduled orders beginning from n. 5.2.2. Modified ATCS (m-ATCS) heuristic The m-ATCS heuristic uses a modified version of the ATCS priority index given by Lee et al. (1997). The m-ATCS heuristic has a structure similar to the d-RFSB heuristic. The priority index that m-ATCS heuristic uses, is ei =pi  expðmaxðdi pi tcurrent ; 0Þ=pÞ  expðspreviousJob;i =sÞ to select the order that will be sequenced next. Here, p and s represent the average processing time and the average setup time. The modified ATCS rule replaces the weight term given in the ATCS rule by the revenue term ei, since the aim of the OAS problem is to maximize the total revenue of the manufacturer. The m-ATCS heuristic considers the information on setup times and processing times of other orders by adding s and p terms to the priority index, and on approximate potential tardiness of orders by the term max(di pi  tcurrent,0). The algorithm for the m-ATCS heuristic is given in the Appendix. The computational complexity of the m-ATCS heuristic is also O(n2). 5.3. Local improvement procedures We apply two local improvement procedures to the solutions obtained from the heuristics in order to increase the number of accepted jobs and the total revenue.

ARTICLE IN PRESS 206

C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘

Order insertion: Order insertion aims to increase the number of accepted orders in a solution. The order insertion algorithm inserts each rejected order in each position of the feasible sequence and accepts the feasible move that results in the highest improved revenue. The computational complexity of the order insertion is O(n2) since we have n a rejected orders to insert into a positions where a is the number of accepted orders. Order exchange: The order exchange algorithm aims to increase the total revenue by swapping every pair of accepted and rejected orders and accepts the feasible move that results in the highest improved revenue. The computational complexity of the order exchange is O(n2) similar to order insertion. In each of these improvement methods, once a move is performed, the existing schedule is updated and the procedure is continued until no improvement is achieved. In our experiments, we found that order insertion followed by order exchange performs the best. In the rest of the paper, ISFAN, d-RFSB and m-ATCS will denote these heuristics with local improvement procedures added.

6. Computational studies In this section we present the results of the computational experiments and analyze the performance of the heuristic algorithms.

5 million iterations. A similar behavior is observed with all other combinations of parameter values. Hence, the maximum number of neighborhood operations in a rejection iteration is fixed to 5 million in the ISFAN algorithm. 6.2. Performance of the ISFAN algorithm The first part of the computational study compares the performance of the ISFAN algorithm to the MILP model’s objective function values found with a time limit of 3600 s on the computational platform mentioned before. When we solve the MILP model, at the end of the time limit we keep the best upper bound found in UBMILP. We also calculate the percentage deviation of the best feasible solution found from this upper bound. The solutions obtained by both the ISFAN algorithm and the MILP are compared in terms of the maximum, the minimum, and the average percentage deviation from the min(UBMILP,UBLPVI) bound in Table 2 for n = 10, 15. The corresponding CPU times are presented in Table 3. Table 2 ISFAN and MILP % deviation comparison from min(UBLPVI, UBMILP) for the OAS problem with sizes 10 and 15. n

t

R

% Deviation of ISFAN

% Deviation of MILP

Max

Max

Min

Average

Min

Average

6.1. Parameter settings for the ISFAN algorithm 10

One of the most important parameters of SA-based algorithms is the initial temperature. Initial temperature should be chosen so that the system temperature does not approach to zero too quickly to prevent immature convergence, or too slowly to prevent spending CPU time unnecessarily. For the initial temperature, we examined the effect of five different temperatures, 600, 800, 1000, 1200 and 1500. We observed that the best performance is achieved when Tinitial = 800. Hence, initial temperature in the ISFAN algorithm is set to 800. Identifying the appropriate cooling function is another important aspect of SA-based algorithms. A poorly selected cooling function can cool the system either too quickly, hence causing early convergence, or very slowly so that the algorithm spends more CPU time even if it successfully converges to a good objective function value at an early stage. The cooling functions that we tested are (Luke, 2007): 1. Ti þ 1 ¼ aTi , where a A ð0; 1Þ and i is the iteration number, 2. Ti ¼ Tinitial ðTN =Tinitial Þi=N , where N is the maximum number of iterations and TN is the final temperature, 3. Ti ¼ Tinitial iA , A ¼ lnðTinitial TN Þ=lnðNÞ, 4. Ti ¼ Tinitial expðA2i Þ, A ¼ ð1=N 2 ÞlnðTinitial =TN Þ. We examined the effect of these four functions that differ in shape and parameters. The experiments show that the ISFAN algorithm is robust to cooling function selection and the best performing function turned out to be the third one. Additionally, we tested different initial sequences for the ISFAN algorithm. It is observed that the quality of the initial sequence does not affect the final solution and the required CPU time of the ISFAN algorithm. Finally, we examined the convergence behavior of the ISFAN algorithm in each rejection iteration to determine how many neighborhood search iterations should be performed. It is observed that the results do not achieve stability until at least 3.5 million of neighborhood operations have been reached. After that point, the results of the experiment show that further improvements may still be achieved, but not significantly after

15

0.1

0.1 0.3 0.5 0.7 0.9

14 13 6 4 9

0 0 0 0 0

6 3 1 0 1

10 6 3 4 3

0 0 0 0 0

2 1 1 0 0

0.3

0.1 0.3 0.5 0.7 0.9

24 10 5 6 7

2 0 0 0 0

10 4 2 2 1

9 3 0 0 0

2 0 0 0 0

5 0 0 0 0

0.5

0.1 0.3 0.5 0.7 0.9

20 9 9 19 18

0 0 0 0 0

8 3 4 6 3

0 0 0 0 0

0 0 0 0 0

0 0 0 0 0

0.7

0.5 0.7 0.9

12 9 14

0 0 0

4 4 6

0 0 0

0 0 0

0 0 0

0.9

0.9

16

0

4

0

0

0

Avg.

12

0

4

2

0

1

0.1

0.1 0.3 0.5 0.7 0.9

8 12 5 6 4

1 0 0 0 0

4 3 1 1 1

22 22 17 33 20

3 2 0 0 0

13 11 7 5 5

0.3

0.1 0.3 0.5 0.7 0.9

11 8 8 6 16

1 2 1 1 0

6 6 4 3 6

41 42 38 38 36

4 13 8 5 0

23 26 20 22 17

0.5

0.1 0.3 0.5 0.7 0.9

28 20 22 22 20

5 11 8 3 0

14 15 15 10 6

49 34 45 33 44

18 6 12 4 0

33 24 26 19 15

0.7

0.5 0.7 0.9

27 25 16

2 6 1

11 14 9

31 30 19

0 5 2

7 16 11

0.9

0.9

34

0

8

26

0

4

Avg.

16

2

7

33

4

16

ARTICLE IN PRESS C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘ Table 3 CPU time comparison of MILP and ISFAN for the OAS problem with sizes 10 and 15. n

t

R

CPU Time (ISFAN)

Table 4 ISFAN objective value % deviations from UBLPVI and the corresponding CPU times for the problem with sizes of 25 and 50.

CPU Time (MILP)

t

n Max 10

0.1

0.3

0.5

0.7

0.9

15

0.1

0.3

0.5

0.7

0.9

Min

Average

Max

Min

R

% Deviation of ISFAN

ISFAN CPU Time

Max

Max

Average

0.1 0.3 0.5 0.7 0.9

32.75 23.19 32.25 32.16 23.16

13.91 13.88 13.89 13.94 14.00

21.95 15.11 15.82 15.81 14.97

3600.00 3600.00 3600.00 3600.00 3600.00

7.53 0.10 0.08 0.08 0.06

2828.35 2312.69 724.40 660.57 409.16

0.1 0.3 0.5 0.7 0.9

42.61 50.38 32.28 32.70 32.95

23.94 14.81 14.03 13.98 14.02

36.00 27.35 21.52 18.05 17.03

3600.00 3600.00 3016.41 2361.50 785.01

3600.00 946.13 399.97 23.41 0.66

3600.00 1960.58 1294.52 708.04 228.34

0.1 0.3 0.5 0.7 0.9

63.28 59.66 52.39 41.88 33.28

43.13 33.27 14.11 23.25 14.02

54.81 45.93 34.69 30.82 22.57

237.39 339.52 829.91 450.95 303.50

20.20 41.59 8.61 3.66 9.47

120.92 105.54 198.93 148.47 97.38

0.5 0.7 0.9

68.70 50.78 32.48

32.73 23.80 14.00

52.32 38.76 21.88

15.30 162.56 180.11

0.08 5.42 14.33

3.48 51.50 52.16

0.9

70.47

32.14

45.66

13.13

0.22

4.30

Avg.

42.49

20.04

29.00

1783.96

267.45

816.28

0.1 0.3 0.5 0.7 0.9

48.19 36.89 31.64 40.14 33.69

26.67 15.84 15.86 15.94 16.02

35.50 26.46 19.91 19.62 18.93

3600.00 3600.00 3600.00 3600.00 3600.00

3600.00 3600.00 0.89 15.29 0.31

3600.00 3600.00 3240.09 2515.50 2791.46

0.1 0.3 0.5 0.7 0.9

59.75 59.30 47.69 47.06 55.66

39.06 28.58 27.42 16.75 16.24

49.56 45.74 34.98 34.45 36.39

3600.00 3600.00 3600.00 3600.00 3600.00

3600.00 3600.00 3600.00 3600.00 6.42

3600.00 3600.00 3600.00 3600.00 3240.64

0.1 0.3 0.5 0.7 0.9

103.69 96.61 76.44 69.44 78.27

61.84 49.06 49.80 30.63 22.27

86.85 72.23 64.61 50.41 41.08

3600.00 3600.00 3600.00 3600.00 3600.00

3600.00 3600.00 3600.00 3600.00 2998.09

3600.00 3600.00 3600.00 3600.00 3521.96

0.5 0.7 0.9

99.17 91.06 63.50

66.17 51.42 31.30

78.20 68.03 51.88

3600.00 3600.00 3600.00

803.82 3600.00 3600.00

2435.55 3600.00 3600.00

0.9

123.97

67.94

84.48

3600.00

76.33

1709.82

66.43

34.15

48.38

3600.00

2479.01

3297.63

Avg.

207

We found that ISFAN objective function values are competitive with MILP objective function values for n= 10, and are by far better for n = 15, as can be observed from the average percentage deviations displayed in Table 2. The ISFAN algorithm is a fast and an effective heuristic for n= 10, 15 since it generated gaps of 6% on the average within 48 s of CPU time on the average. As discussed in Section 4.1, when t increases, more orders are expected to be rejected. This is confirmed by the results of the experiments that can be seen in Table 3. Since the rejection step of the ISFAN algorithm is time consuming, the CPU time of the ISFAN algorithm increases as t increases. On the contrary, as more orders are rejected, the search space is narrowed for the MILP, and thus the optimal solution is found more quickly. Therefore, the MILP takes less time than the ISFAN algorithm in these instances. On the other hand, when t and R are small and close to each other, the problem is harder to solve with the MILP model. The reason might be that when t is small, the time windows during which the orders must be processed are not spread out. Hence, both the

25

50

Min

Average

Min

Average

0.1

0.1 0.3 0.5 0.7 0.9

11 8 10 8 3

2 1 2 0 0

5 4 4 3 2

106.47 87.50 63.67 75.50 68.45

61.31 48.41 35.14 33.89 20.48

75.99 64.43 51.87 51.03 41.38

0.3

0.1 0.3 0.5 0.7 0.9

13 13 9 13 16

3 5 3 4 4

8 8 6 8 7

121.33 123.86 101.56 125.41 134.64

97.88 89.55 82.92 78.63 64.72

111.68 102.28 91.60 94.97 98.39

0.5

0.1 0.3 0.5 0.7 0.9

19 29 21 24 15

7 9 11 4 3

12 16 16 12 8

199.50 180.27 180.19 175.55 145.80

149.19 145.05 122.91 107.27 91.92

164.54 157.89 148.72 140.73 123.17

0.7

0.5 0.7 0.9

25 27 20

11 10 4

18 17 12

197.23 175.63 155.86

169.17 144.81 128.48

185.33 165.48 142.04

0.9

0.9

37

12

21

260.14

151.58

196.01

Avg.

17

5

10

140.98

95.96

116.19

0.1

0.1 0.3 0.5 0.7 0.9

9 8 7 7 8

4 3 2 2 0

6 6 4 4 5

292.13 280.19 259.81 297.64 278.83

233.69 211.73 161.17 171.30 32.28

257.77 245.42 218.67 218.87 207.44

0.3

0.1 0.3 0.5 0.7 0.9

16 14 15 17 13

8 8 6 7 7

11 11 10 10 10

423.00 399.59 435.86 421.63 464.28

327.30 341.41 332.00 340.36 329.16

377.20 368.95 382.55 378.14 397.48

0.5

0.1 0.3 0.5 0.7 0.9

19 22 28 20 23

14 15 14 12 9

16 19 20 16 14

603.30 575.73 613.77 631.45 587.08

522.75 503.63 521.19 500.91 482.17

560.50 551.24 549.99 556.58 531.93

0.7

0.5 0.7 0.9

24 22 19

12 15 9

19 17 13

709.05 677.66 669.66

656.34 623.20 577.66

682.72 650.23 623.37

0.9

0.9

21

11

15

737.83

668.48

706.32

Avg.

16

8

12

492.55

396.67

445.55

rejection and the sequencing decisions are difficult since many orders are available at a time. As it is not possible to obtain an optimal solution by solving the MILP for the OAS problem in reasonable time when n 4 15, we compared the performance of the ISFAN algorithm with respect to the upper bound UBLPVI given in Section 4 for n = 20,25,50. For each parameter combination, we solved 10 instances generated randomly as described in Section 4.1. Since the results were similar for n = 20 and 25, we present the maximum, the minimum, and the average percentage deviation of the ISFAN objective function values from UBLPVI together with the CPU times for n= 25,50 in Table 4. We can make the following observations from the results presented in Tables 2–4:

 The CPU times of the ISFAN algorithm are reasonable even for n= 50.

ARTICLE IN PRESS 208

C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘

 The average percentage deviations of the ISFAN solutions from





the upper bound are below 21% in all cases. When we take the average of these values over all instances we get a value of only 9%. Note that the percentage deviation includes both the gap of the UBLPVI upper bound and the gap of the ISFAN solution from the optimal value, hence these figures overestimate the actual optimality gaps and we can conclude that the ISFAN algorithm is successful in finding reasonably good solutions. The results indicate that the problem gets slightly easier for large R values. On the other hand, as t increases the problem gets more difficult for the ISFAN algorithm. This can be explained as follows: As, t, the tardiness factor, increases, the time window for each order gets narrower, and hence the probability of being tardy increases for each order. Therefore, more of the orders are rejected when t is large compared to when it is small. Since the most time-consuming part of the ISFAN algorithm is the rejection part, the instances having a large t value are more difficult to handle for the ISFAN algorithm. When we increase the problem size from 25 to 50, the optimality gap increases slightly, from 10% to 12% on the average. Therefore, the ISFAN algorithm is robust.

Overall we can say that the ISFAN algorithm is an effective solution method for the OAS problem up to 50 orders as its average percentage deviation from the UBLPVI is below 21% in all cases, and is 9% on the average. 6.3. Performance of d-RFSB and m-ATCS heuristics When we compare the performance of heuristics d-RFSB and m-ATCS with the ISFAN algorithm, we observe that the ISFAN algorithm performs better than both d-RFSB and m-ATCS algorithms when n = 10, 15, 20 and 25. The average percentage deviations are 4%, 8% and 8%, for the ISFAN, d-RFSB and m-ATCS algorithms, respectively, for n= 10. When n = 25, the average percentage deviations become 10%, 13% and 11%, for these

Table 5 Average % deviations of ISFAN, d-RFSB and m-ATCS heuristics from UBLPVI for the problems with size of 50. n

t

R

% Deviation from UBLPVI ISFAN heuristic

d-RFSB heuristic

m-ATCS heuristic

algorithms, respectively. For n= 50, we observe that the ISFAN algorithm is no longer dominant, as it can be seen in Table 5. In addition, the time requirement for the ISFAN algorithm increases as the problem size increases (Table 4) but the required run time is very small (varying between 0 and 5 s) for both d-RFSB and m-ATCS heuristics. Hence, we tested only algorithms d-RFSB and m-ATCS for the cases with n = 100, 200, 300. The results for these experiments are presented in Tables 6 and 7. It is observed that both of the heuristics perform well for large n. The average percentage deviation of d-RFSB heuristic is 11% while it is 7% for m-ATCS heuristic for n =100. The average percentage deviations decrease as n increases for both of the heuristics, but m-ATCS results in better deviations. This can be attributed to the sequencing rule of the m-ATCS heuristic since it utilizes more information on the OAS problem, such as the release dates, the processing times and the setup times.

7. Conclusions In this paper, we studied the simultaneous order acceptance and scheduling decisions in a single machine environment that arise in make-to-order systems. The first contribution of the paper is to provide an MILP model to maximize the total revenue from accepted orders, assuming that the revenue gained from an accepted order decreases linearly with the order’s tardiness until its deadline. The model is realistic since it includes a release date, a due date, a deadline and a sequence dependent setup time for each order. The second contribution is to provide heuristic algorithms (ISFAN, d-RFSB and m-ATCS) for the OAS problem as our results indicate that the MILP model can be used to solve instances up to 15 orders. The ISFAN algorithm is able to solve 50-order problems in less than 10 min on the average in our test problems. However, the CPU time increases as n gets larger due to the order rejection iteration and the large number of neighborhood operations. The d-RFSB and m-ATCS heuristics are fast and can solve instances with 300 orders in a few seconds. The ISFAN algorithm produces

Table 6 Average % deviations of d-RFSB and m-ATCS heuristics from UBLPVI for the problems with size of 100. n

t

R

Max Min Average Max Min Average Max Min Average 50 0.1 0.1 0.3 0.5 0.7 0.9

9 8 7 7 8

4 3 2 2 0

6 6 4 4 5

6 7 6 8 9

3 2 1 2 2

4 4 4 5 6

10 9 9 6 2

3 2 0 0 0

5 4 3 2 1

0.3 0.1 0.3 0.5 0.7 0.9

16 14 15 17 13

8 8 6 7 7

11 11 10 10 10

12 13 13 18 18

5 7 7 9 5

8 10 10 12 12

22 19 15 17 8

5 5 3 0 0

0.5 0.1 0.3 0.5 0.7 0.9

19 22 28 20 23

14 15 14 12 9

16 19 20 16 14

16 21 25 26 21

10 15 13 13 11

14 18 20 16 14

21 26 31 17 16

0.7 0.5 0.7 0.9

24 22 19

12 15 9

19 17 13

21 27 24

12 12 7

17 16 13

0.9 0.9

21

11

15

22

10

Avg. 16

8

12

16

8

100

d-RFSB heuristic (%)

m-ATCS heuristic (%)

Max

Min

Max

Average

Min

Average

0.1

0.1 0.3 0.5 0.7 0.9

4 6 6 6 9

2 2 2 2 3

3 4 4 5 6

12 9 4 4 1

3 2 1 0 0

6 3 2 1 0

11 11 6 4 3

0.3

0.1 0.3 0.5 0.7 0.9

12 11 12 16 15

6 7 7 9 8

9 9 10 11 12

13 15 8 9 5

6 4 3 2 1

8 7 4 4 2

12 13 7 4 2

17 18 16 11 8

0.5

0.1 0.3 0.5 0.7 0.9

18 18 21 21 18

12 12 14 13 10

14 16 18 17 14

20 21 14 13 6

12 8 8 5 1

15 13 11 9 4

22 17 17

13 11 3

18 14 9

0.7

0.5 0.7 0.9

22 18 19

13 11 10

17 14 13

19 13 14

11 9 5

15 11 9

16

26

14

19

0.9

0.9

15

10

13

19

10

14

12

16

5

9

Avg.

14

8

11

12

5

7

ARTICLE IN PRESS C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘ Table 7 Average % deviations of d-RFSB and m-ATCS heuristics from UBLPVI for the problems with sizes of 200 and 300. n

200

300

t

R

d-RFSB gap (%)

m-ATCS gap (%)

Min

0.1 0.3 0.5 0.7 0.9

4 3 5 6 9

2 2 2 4 4

3 3 3 5 6

11 4 4 4 2

3 2 1 0 0

5 3 1 1 0

0.3

0.1 0.3 0.5 0.7 0.9

8 10 11 14 16

5 6 7 9 10

6 8 9 10 13

7 6 5 3 5

6 3 3 1 0

6 5 3 2 1

0.5

0.1 0.3 0.5 0.7 0.9

14 17 19 19 16

9 13 15 13 11

12 15 16 15 13

15 12 10 7 5

11 8 6 4 1

13 10 8 5 2

0.7

0.5 0.7 0.9

17 19 15

14 10 11

15 14 14

17 13 7

11 9 4

14 10 6

0.9

0.9

16

10

12

17

10

12

Avg.

12

8

10

8

4

6

0.1 0.3 0.5 0.7 0.9

3 3 5 6 6

1 2 3 4 3

2 3 4 4 5

4 3 2 4 0

2 2 1 0 0

3 2 1 1 0

0.3

0.1 0.3 0.5 0.7 0.9

7 9 10 12 13

5 6 7 7 9

6 8 9 10 11

7 6 4 3 1

6 4 2 1 0

6 4 3 2 1

0.5

0.1 0.3 0.5 0.7 0.9

15 18 19 18 16

11 13 15 12 11

13 15 16 16 14

13 12 9 6 3

10 8 5 4 1

12 10 7 5 2

0.5 0.7 0.9

16 16 15

14 12 11

15 14 13

15 12 7

11 7 3

13 9 5

0.9

12

10

11

13

11

12

Avg.

12

8

10

6

4

5

0.1

0.1

0.7

0.9

Average

Max

Min

Table 8 Summary of % deviations from upper bounds for ISFAN, d-RFSB and m-ATCS heuristics for n= 10, 15, 20, 25, 50, 100, 200, and 300. n

Max

% Deviation from upper bound

Average

solutions with 8.6% deviation from the upper bound on the average up to 50 orders and dominates the other two heuristics on these instances. Both d-RFSB and m-ATCS heuristics produce high quality solutions (with 10.3% and 6% average deviation, respectively) for instances with 100–300 orders. While the ISFAN algorithm is effective for small and medium size instances, m-ATCS outperforms the other heuristics for large instances (Table 8). Being a simple, fast and effective heuristic, m-ATCS can easily be used in companies where such decisions need to be made frequently. We also analyzed the MILP model to generate good upper bounds. We observed that the upper bound obtained by relaxing only the binary sequencing variables and by adding several types of valid inequalities is quite tight. The valid inequalities are found to be more effective when there is a high potential to reject orders. When we consider average performance over all instance types tested, we observed that their effectiveness decreases as problem size increases. Hence, finding stronger bounds for large sized instances remains for future studies.

209

10 15 20 25 50 100 200 300

ISFAN heuristic

d-RFSB heuristic

m-ATCS heuristic

Max

Min

Average

Max

Min

Average

Max

Min

Average

12 16 16 17 16 – – –

0 2 5 5 8 – – –

4 7 10 10 12 – – –

19 23 23 20 16 14 12 12

1 4 7 7 8 8 8 8

8 13 14 13 12 11 10 10

22 26 23 19 16 12 8 6

0 3 6 5 5 5 4 4

8 11 13 11 9 7 6 5

Acknowledgment The work described in this paper was partially supported by a ¨ _ITAK for the third author. grant from TUB

Appendix ISFAN algorithm. Step 1. Read the input data. Step 2. Set the control parameters: 2.1. Initial temperature (Tmax) 2.2. Set Tcurrent =Tmax Step 3. Set the parameters: 3.1. Total revenue= 0; 3.2. best revenue= 0; Step 4. Construct the initial solution (not necessarily feasible). 4.1. Sequence the jobs in descending order of slacktimej ¼ d j rj ðminsetupj þpj Þ; 4.2. Calculate the completion time Cj, the tardiness Tj and the gained revenue Rj for each j. 4.3. Count the number of orders violating their deadlines dj. P 4.4. Calculate the best revenue: best revenue ¼ j Rj . 4.5. If number of violating orders= 0, go to Step 5.2. Step 5. While number of violating orders 4 0 do the following: 5.1. Perform the following SA-based loop on the input sequence for Iteration=1 to ITER: 5.1.1. Generate two different random integers a1 and a2 between 1 and n (n is the number of available orders). 5.1.2. Exchange the orders having the indices as a1 and a 2. 5.1.3. Calculate Cj’s, Tj’s and Rj’s and the number of violating orders in this new sequence. 5.1.4. Calculate the total revenue: total P revenue ¼ j Rj . 5.1.4.1. If (Total revenue 4 best revenue), accept the new sequence, best revenue= Total revenue. 5.1.4.2. If (Total revenue r best revenue), 5.1.4.2.1. Calculate the probability of accepting, pr =exp(  (  Total revenue + best revenue)/ Tcurrent). 5.1.4.2.2. Select uniformly distributed random number m, from the interval (0,1). 5.1.4.2.2.1. If m opr, accept the sequence, best revenue= Total revenue.

ARTICLE IN PRESS 210

C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘

5.1.4.2.2.2. If m Zpr reject the new sequence, and continue with the former best sequence. 5.1.4.2.2.3. Update Tcurrent by the selected cooling function. 5.1.4.2.2.4. Iteration = Iteration + 1 5.1.4.3. Return to Step (5.1.1). 5.1.5. Calculate the revenue-load ratio ratioj = ej/(pj +minsetupj) for violating orders. 5.1.6. Reject the order having the smallest revenueload ratio. 5.1.7. Set Tcurrent = Tmax. 5.1.8. Return to Step (4.2) with the new sequence. 5.2. If the number of violating orders= 0, i.e., a feasible solution is obtained, perform the following for Iteration= 1 to ITER1: 5.2.1. Generate two different random integers a1 and a2 between 1 and n. (n is the number of available orders) 5.2.2. Exchange the orders having the indices a1 and a2. 5.2.3. Calculate Cj’s, Tj’s and Rj’s and newrevenue for P this new sequence. newrevenue ¼ j Rj 5.2.3.1. If (new sequence is feasible) and (newrevenue 4 best revenue): 5.2.3.1.1. best sequence= new sequence. 5.2.3.1.2. best revenue= newrevenue. 5.2.3.2. Else, preserve the current best sequence. 5.2.3.3. Iteration=Iteration + 1. 5.2.3.4. Return to Step (5.2.1). d-RFSB algorithm. Step 1. Read the input data. Step 2. Set the time, tcurrent =0, previousJob= 0, tempAccept= 0, count= 1, ratioCount=1, maxDue= 1, x= true, acceptedJob=0; Step 3. while (ratioCount a 0), do the following: 3.1. If tcurrent ZmaxDue, terminate the algorithm. 3.2. Count the number of unscheduled orders. 3.2.1. If the number of unscheduled orders is 0, terminate the algorithm 3.3. Find the maximum due date (maxDue) from the due dates of the set of unscheduled orders U. 3.4. If ððmaxðtcurrent ; rtempAccept Þ þ spreviousJob;tempAccept þptempAccept Þ Z maxDueÞ, terminate the algorithm. 3.5. while (x =true), do the following (while1): 3.5.1. for each order i in set U, if ri r tcurrent and di Z tcurrent , calculate the ratio ratio½i ¼ ei =ðpi þspreviousJob;i Þ ratioCount ¼ ratioCount þ 1; 3.5.2. If ratioCount=0, then tcurrent = tcurrent + 1, x = true; else, x =false; 3.6. while acceptedJob= 0 (while2), 3.6.1. If tcurrent ZmaxDue, terminate the algorithm, 3.6.2. Find the order j having the maximum ratio, and assign tempAccept= j, 3.6.3. If ððmaxðtcurrent ; rtempAccept Þ þ spreviousJob;tempAccept þptempAccept Þ Z maxDueÞ break while2; 3.6.4. If (maxðtcurrent ; rtempAccept Þ þ spreviousJob;tempAccept þ ptempAccept r d tempAccept ), then do the following assignments: acceptedJob= tempAccept, Acceptance[acceptedJob] =1, tcurrent = max(tcurrent,rtempAccept)+ spreviousJob,tempAccept + ptempAccept, Completion[acceptedJob]= tcurrent, previousJob= acceptedJob,

Sequence[count] =acceptedJob; count= count+1; 3.6.5. Else, ratio[tempAccept]=0, Acceptance[tempAccept]=1, tempAccept= 0, break while2; 3.7. ratioCount= 1, x =true, acceptedJob=0; 3.8. return to while (Step 3). Step 4. Output Acceptance, Completion, Sequence lists. Calculate and output total revenue. m-ATCS algorithm. Step 1. Read the input data. Step 2. Calculate the average processing time and the average setup time. Step 3. Set the time, tcurrent = 0, previousJob=0, indexCount= 1, tempAccept= 0, count= 1, maxDue= 1, x =true, acceptedJob= 0; Step 4. while (indexCount a0), do the following: 4.1. If tcurrent Z maxDue, terminate the algorithm. 4.2. Count the number of unscheduled jobs, 4.2.1. if the number of unscheduled jobs is 0, terminate the algorithm. 4.3. Find the maximum due date (maxDue) from the due dates of the set of unscheduled orders U. 4.4. If ððmaxðtcurrent ; rtempAccept Þ þ spreviousJob;tempAccept þ ptempAccept Þ Z maxDueÞ, terminate the algorithm. 4.5. while (x= true), do the following (while1): 4.5.1. For each order i in set U, if ri rtcurrent and di Z tcurrent , calculate the index index½i ¼ ei =pi  expðmaxðdi pi tcurrent ; 0Þ=pÞ expðspreviousJob;i =sÞ, indexCount= indexCount+1; 4.5.2. If indexCount= 1, then tcurrent = tcurrent + 1, x =true; else, x= false; 4.6. While acceptedJob= 0 (while2), 4.6.1. If tcurrent Z maxDue, terminate the algorithm, 4.6.2. Find the order j having the maximum index, and assign tempAccept= j, 4.6.3. If ððmaxðtcurrent ; rtempAccept Þ þspreviousj ob;tempAccept þptempAccept Þ Z maxDueÞ break while2; 4.6.4. If (maxðtcurrent ; rtempAccept Þ þ spreviousJob;tempAccept þptempAccept r d tempAccept ), then do the following assignments: acceptedJob= tempAccept, Acceptance[acceptedJob]=1, tcurrent =max(tcurrent, rtempAccept)+ spreviousJob,tempAccept + ptempAccept, Completion[acceptedJob]= tcurrent, previousJob= acceptedJob, Sequence[count] =acceptedJob; count= count+1; 4.6.5. Else, index[tempAccept]=0, Acceptance[tempAccept]=1, tempAccept= 0, break while2; 4.7. indexCount= 1, x =true, acceptedJob=0; 4.8. return to while (Step 4). Step 5. Output Acceptance, Completion, Sequence lists. Calculate and output total revenue.

References Akturk, M.S., Ozdemir, D., 2000. An exact approach to minimizing total weighted tardiness with release dates. IIE Transactions 32 (11), 1091–1101.

ARTICLE IN PRESS C. Oguz et al. / Int. J. Production Economics 125 (2010) 200–211 ˘ Allahverdi, A., Gupta, J.N.D., Aldowaisan, T., 1999. A review of scheduling research involving setup considerations. Omega, International Journal of Management Science 27, 219–239. Allahverdi, A., Ng, C.T., Cheng, T.C.E., Kovalyov, M.Y., 2008. A survey of scheduling problems with setup times or costs. European Journal of Operational Research 187, 985–1032. Anghinolfi, D., Paolucci, M., 2009. A new discrete particle swarm optimization approach for the single-machine total weighted tardiness scheduling problem with sequence-dependent setup times. European Journal of Operational Research 193 (1), 73–85. Bartal, Y., Leonardi, S., Marchetti-Spaccamela, A., Sgall, J., Stougie, L., 2000. Multiprocessor scheduling with rejection. SIAM Journal on Discrete Mathematics 13 (1), 64–78. Charnsirisakskul, K., Griffin, P., Keskinocak, P., 2006. Pricing and scheduling decisions with lead-time flexibility. European Journal of Operational Research 171, 153–169. Charnsirisaksul, K., Griffin, P., Keskinocak, P., 2004. Order selection and scheduling with leadtime flexibility. IIE Transactions 36, 697–707. Dantzig, G., Fulkerson, R., Johnson, S., 1954. Solution of a large-scale travelingsalesman problem. Journal of the Operations Research Society of America 2 (4), 393–410. Du, J., Leung, J.Y.T., 1990. Minimizing total tardiness on one machine is NP-hard. Mathematics of Operations Research 15, 483–495. Emmons, H., 1969. One-machine sequencing to minimize certain functions of job tardiness. Operations Research 17, 701–715. Hendizadeh, S.H., Faramarzi, H., Mansouri, S.A., Gupta, J.N.D., ElMekkawy, T.Y., 2008. Meta-heuristics for scheduling a flowline manufacturing cell with sequence dependent family setup times. International Journal of Production Economics 111 (2), 593–605. Kim, S.-Y., Lee, Y.-H., Agnihotri, D., 1995. A hybrid approach to sequencing jobs using heuristic rules and neural networks. Production Planning Control 6, 445–454. Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., 1982. Recent developments in deterministic sequencing and scheduling: a survey. Deterministic and Stochastic Scheduling. Reidel, Dordrecht, pp. 35–73. Lee, Y.H., Bhaskaran, K., Pinedo, M., 1997. A heuristic to minimize the total weighted tardiness with sequence dependent setups. IIE Transactions 29, 45–52. Luke, B.T., 2007. Simulated annealing /http://LearningFromTheWeb.netS. Miller, C., Tucker, A., Zemlin, R., 1960. Integer programming formulations and travelling salesman problems. Journal of the Association for Computing Machinery 7, 326–329.

211

Naderi, B., Zandieh, M., Fatemi Ghomi, S.M.T., 2009. Scheduling job shop problems with sequence-dependent setup times. International Journal of Production Research 47 (21), 5959–5976. Potts, C.N., van Wassenhove, L.N., 1985. A branch and bound algorithm for the total weighted tardiness problem. Operations Research 33 (2), 363–377. Rogers, P., Nandi, A., 2007. Judicious order acceptance and order release in maketo-order manufacturing systems. Production Planning and Control 18 (7), 610–625. Rom, W., Slotnick, S.A., 2009. Order acceptance using genetic algorithms. Computers and Operations Research 36, 1758–1767. Roundry, R., Chen, D., Chen, P., Cakanyildirim, M., 2005. Capacity-driven acceptance of customer orders for a multi-stage batch manufacturing system: models and algorithms. IIE Transactions 37, 1093–1105. Rubin, P.A., Ragatz, G.L., 1995. Scheduling in a sequence dependent setup environment with genetic search. Computers and Operations Research 22, 85–99. Schrage, L., Baker, K., 1978. Dynamic problem solution of sequencing problems with precedence constraints. Operations Research 26, 444–449. Sherali, H.D., Driscoll, P.J., 2002. On tightening the relaxations of Miller–Tucker– Zemlin formulations for asymmetric traveling salesman problems. Operations Research 50 (4), 656–669. Slotnick, S.A., Morton, T.E., 2007. Order acceptance with weighted tardiness. Computers and Operations Research 34 (10), 3029–3042. Tahar, D.N., Yalaoui, F., Chu, C., Amodeo, L., 2006. A linear programming approach for identical parallel machine scheduling with job splitting and sequencedependent setup times. International Journal of Production Economics 99 (1–2), 63–73 (Control and Management of Productive Systems). Talla Nobibon, F., Herbots, J., Leus, R., 2009. Order acceptance and scheduling in a single-machine environment: exact and heuristic algorithms. Working Paper KBI-0903, K.U.Leuven. Tan, K.C., Narasimhan, R., 1997. Minimizing tardiness on a single processor with sequence dependent setup times: a simulated annealing approach. Omega, International Journal of Management Science 25 (6), 619–634. Tasgetiren, M.F., Pan, Q.-K., Liang, Y.-C., 2009. A discrete differential evolution algorithm for the single machine total weighted tardiness problem with sequence dependent setup times. Computers and Operations Research 36, 1900–1915. Zhang, L., Lu, L., Yuan, J., 2009. Single machine scheduling with release dates and rejection. European Journal of Operational Research 198, 975–978. Zorzini, M., Corti, D., Pozzetti, A., 2008. Due date (DD) quotation and capacity planning in make-to-order companies: results from an empirical analysis. International Journal of Production Economics 112, 919–933.