a tabu search algorithm for order acceptance and scheduling

9
A tabu search algorithm for order acceptance and scheduling Bahriye Cesaret, Ceyda O˘ guz , F. Sibel Salman College of Engineering, Koc - University, Sariyer 34450, Istanbul, Turkey article info Available online 10 October 2010 Keywords: Order acceptance Scheduling Sequence dependent setup times Tabu search abstract We consider a make-to-order production system, where limited production capacity and order delivery requirements necessitate selective acceptance of the orders. Since tardiness penalties cause loss of revenue, scheduling and order acceptance decisions must be taken jointly to maximize total revenue. We present a tabu search algorithm that solves the order acceptance and scheduling problem on a single machine with release dates and sequence dependent setup times. We analyze the performance of the tabu search algorithm on an extensive set of test instances with up to 100 orders and compare it with two heuristics from the literature. In the comparison, we report optimality gaps which are calculated with respect to bounds generated from a mixed integer programming formulation. The results show that the tabu search algorithm gives near optimal solutions that are significantly better compared to the solutions given by the two heuristics. Furthermore, the run time of the tabu search algorithm is very small, even for 100 orders. The success of the proposed heuristic largely depends on its capability to incorporate in its search acceptance and scheduling decisions simultaneously. & 2010 Elsevier Ltd. All rights reserved. 1. Introduction In a make-to-order production system, simultaneous order acceptance and scheduling decisions arise when limited produc- tion capacity and tight delivery requirements necessitate selecting orders to maximize total revenues. Accepting orders without considering their impact on production capacity may cause over- loads in some periods, and this in turn delays some of the orders beyond their due dates. As a result, tardiness penalties are incurred and customer dissatisfaction may even lead to lost revenues in the long run, especially in competitive industries. To be able to use the production capacity more efficiently and maintain customer satisfaction, the manufacturer should determine which orders to accept and how to schedule them to maximize the total revenue. Order acceptance and scheduling problems have been studied under different settings and with different objectives. Slotnick and Morton [1], Ghosh [2], and later Slotnick and Morton [3] and Rom and Slotnick [4] study an order acceptance and scheduling problem in a single machine environment without preemption. In all these studies, the objective is to maximize the total profit, which is the sum of revenues minus total weighted tardiness. Charnsirisaksul et al. [5] address the order selection and scheduling decisions in a preemptive single machine environment to maximize the manufacturer’s profit defined as revenue minus manufacturing, holding and tardiness costs. Wester et al. [6] study order acceptance and scheduling strategies in a single machine production environment when there are setup times due to batching of orders according to their types. Their study differs from the above studies by rejecting tardy orders since a deadline is not specified for an order. In addition, their performance criterion is the utilization rate. Later, Roundy et al. [7] solve an order acceptance problem in a job shop environment, in which incoming orders, if accepted, are inserted into the current schedule by forming production batches. The objective is to minimize setup and holding costs, due to the batch-sizing decision. Apart from these studies, Yang and Geunes [8] address a single machine scheduling problem with acceptance decisions, tardiness costs and controllable processing times. Chen et al. [9] consider selecting a subset from incoming orders and optimizing the sequence of these selected orders under multiple constraints. They also deal with earliness and rejection penalties differing from our study and their objective function is to minimize sequence dependent transition costs and non-execution penalties. Geunes et al. [10] focus on integrating pricing and production planning decisions in make-to-order systems with the objective of maximizing net profit after production and holding costs. Studies also differ in terms of how acceptance decisions are made. In both Wester et al. [6] and Roundy et al. [7], the acceptance decision is made for each order based on the feasibility of the current schedule and hence accepting the order may require rescheduling. In the remaining studies, a set of orders is available at the time of the decision making, and acceptance and scheduling decisions are made simultaneously for all orders. Previous studies can further be analyzed according to their solution methods. Slotnick and Morton [1] provide a branch and bound algorithm together with a beam-search heuristic and a myopic heuristic for the single machine problem without preemption. Later Contents lists available at ScienceDirect journal homepage: www.elsevier.com/locate/caor Computers & Operations Research 0305-0548/$ - see front matter & 2010 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2010.09.018 Corresponding author. Tel.: +90 212 3381793; fax: +90 212 3381548. E-mail address: [email protected] (C. O˘ guz). Computers & Operations Research 39 (2012) 1197–1205

Upload: bahriye-cesaret

Post on 03-Sep-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A tabu search algorithm for order acceptance and scheduling

Computers & Operations Research 39 (2012) 1197–1205

Contents lists available at ScienceDirect

Computers & Operations Research

0305-05

doi:10.1

� Corr

E-m

journal homepage: www.elsevier.com/locate/caor

A tabu search algorithm for order acceptance and scheduling

Bahriye Cesaret, Ceyda Oguz �, F. Sibel Salman

College of Engineering, Koc- University, Sariyer 34450, Istanbul, Turkey

a r t i c l e i n f o

Available online 10 October 2010

Keywords:

Order acceptance

Scheduling

Sequence dependent setup times

Tabu search

48/$ - see front matter & 2010 Elsevier Ltd. A

016/j.cor.2010.09.018

esponding author. Tel.: +90 212 3381793; fa

ail address: [email protected] (C. Oguz).

a b s t r a c t

We consider a make-to-order production system, where limited production capacity and order delivery

requirements necessitate selective acceptance of the orders. Since tardiness penalties cause loss of

revenue, scheduling and order acceptance decisions must be taken jointly to maximize total revenue. We

present a tabu search algorithm that solves the order acceptance and scheduling problem on a single

machine with release dates and sequence dependent setup times. We analyze the performance of the tabu

search algorithm on an extensive set of test instances with up to 100 orders and compare it with two

heuristics from the literature. In the comparison, we report optimality gaps which are calculated with

respect to bounds generated from a mixed integer programming formulation. The results show that the

tabu search algorithm gives near optimal solutions that are significantly better compared to the solutions

given by the two heuristics. Furthermore, the run time of the tabu search algorithm is very small, even for

100 orders. The success of the proposed heuristic largely depends on its capability to incorporate in its

search acceptance and scheduling decisions simultaneously.

& 2010 Elsevier Ltd. All rights reserved.

1. Introduction

In a make-to-order production system, simultaneous orderacceptance and scheduling decisions arise when limited produc-tion capacity and tight delivery requirements necessitate selectingorders to maximize total revenues. Accepting orders withoutconsidering their impact on production capacity may cause over-loads in some periods, and this in turn delays some of the ordersbeyond their due dates. As a result, tardiness penalties are incurredand customer dissatisfaction may even lead to lost revenues in thelong run, especially in competitive industries. To be able to use theproduction capacity more efficiently and maintain customersatisfaction, the manufacturer should determine which orders toaccept and how to schedule them to maximize the total revenue.

Order acceptance and scheduling problems have been studiedunder different settings and with different objectives. Slotnick andMorton [1], Ghosh [2], and later Slotnick and Morton [3] and Rom andSlotnick [4] study an order acceptance and scheduling problem in asingle machine environment without preemption. In all these studies,the objective is to maximize the total profit, which is the sum ofrevenues minus total weighted tardiness. Charnsirisaksul et al. [5]address the order selection and scheduling decisions in a preemptivesingle machine environment to maximize the manufacturer’s profitdefined as revenue minus manufacturing, holding and tardiness costs.Wester et al. [6] study order acceptance and scheduling strategies in asingle machine production environment when there are setup times

ll rights reserved.

x: +90 212 3381548.

due to batching of orders according to their types. Their study differsfrom the above studies by rejecting tardy orders since a deadline is notspecified for an order. In addition, their performance criterion is theutilization rate. Later, Roundy et al. [7] solve an order acceptanceproblem in a job shop environment, in which incoming orders, ifaccepted, are inserted into the current schedule by formingproduction batches. The objective is to minimize setup and holdingcosts, due to the batch-sizing decision.

Apart from these studies, Yang and Geunes [8] address a singlemachine scheduling problem with acceptance decisions, tardinesscosts and controllable processing times. Chen et al. [9] considerselecting a subset from incoming orders and optimizing thesequence of these selected orders under multiple constraints.They also deal with earliness and rejection penalties differingfrom our study and their objective function is to minimizesequence dependent transition costs and non-execution penalties.Geunes et al. [10] focus on integrating pricing and productionplanning decisions in make-to-order systems with the objectiveof maximizing net profit after production and holding costs.

Studies also differ in terms of how acceptance decisions aremade. In both Wester et al. [6] and Roundy et al. [7], the acceptancedecision is made for each order based on the feasibility of thecurrent schedule and hence accepting the order may requirerescheduling. In the remaining studies, a set of orders isavailable at the time of the decision making, and acceptance andscheduling decisions are made simultaneously for all orders.

Previous studies can further be analyzed according to theirsolution methods. Slotnick and Morton [1] provide a branch andbound algorithm together with a beam-search heuristic and a myopicheuristic for the single machine problem without preemption. Later

Page 2: A tabu search algorithm for order acceptance and scheduling

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–12051198

Ghosh [2] establishes that the problem is NP-hard in the ordinarysense. He gives two pseudo-polynomial time algorithms and a fullypolynomial time approximation scheme. Slotnick and Morton [3]extend their previous study [1] by replacing lateness with tardiness inthe objective function and provide similar algorithms. Rom andSlotnick [4] develop a genetic algorithm for the same problem andcompare it with the myopic heuristic given in [3]. Charnsirisaksulet al. [5] suggest a time-indexed MIP formulation for their preemptiveproblem. Roundy et al. [7] develop an IP formulation and severalheuristics for the job shop problem. Yang and Geunes [8] propose atwo-phase heuristic procedure. Chen et al. [9] present a hybrid geneticalgorithm that benefits from extremal optimization. Geunes et al. [10]solve variants of their problem in polynomial time using linearprogramming and lot-sizing algorithms. Differing from thesestudies, Wester et al. [6] perform simulation to evaluate differentstrategies under random order arrivals.

In some manufacturing settings, such as a custom made furnitureshop or printing and painting operations, having sequence dependentsetup times is an important factor in scheduling. Setup considerationsin scheduling problems have been extensively studied and we referthe readers to two surveys by Allahverdi et al. [11] and by Yang andLiao [12]. In this paper, we consider an order acceptance andscheduling problem in a single machine environment where theorders are processed without preemption and a sequence dependentsetup time is incurred between processing of every consecutive order,as in the recent study of Oguz et al. [13]. When a customer places anorder, a due date and a deadline are quoted. At the time of decision, aset of orders is available with the following data: release dates,processing times, sequence dependent setup times, due dates,deadlines, revenues and weights. With this information, themanufacturer must select a subset of incoming orders andschedule these accepted orders to generate maximum totalrevenue. The revenue from an order depends on the followingsituations. If an order is accepted and completed before its duedate, the pre-specified revenue is generated. If it is completed after itsdue date but before the deadline, it incurs a reduced revenue due totardiness. On the other hand, an order completed after the deadlineresults in zero revenue. Hence, rejecting such orders, by consideringthe scheduling aspect a priori, leads to better utilization of thecapacity. In the rest of this paper, we refer to this problem as theOrder Acceptance and Scheduling (OAS) problem, as in [13].

The OAS problem arises in different make-to-order productionsystems. A motivating example is the printing operation of acustomized packaging material producer as described in Oguzet al. [13]. The OAS problem also arises in logistics systems whichrequire customized services. In this setting, the distance betweencustomers can be viewed as sequence dependent setup time andeach customer may require the service within a time window. Theservice provider has to select which customers to serve based on therevenue he will get and the available capacity. The service providercompletes a tour by sequencing the selected customer visits.

A well-known special case of the OAS problem that does notaddress acceptance/rejection decisions, but only determines thescheduling of a given set of orders, is the single machine totaltardiness problem with sequence dependent setup times, which isknown to be strongly NP-hard [14]. This implies that the OAS problemis also strongly NP-hard, hence exact solution approaches are notpractical and the use of heuristic algorithms is justified. Thecomputational difficulty associated with the sequence dependentsetup times in the OAS problem is observed in Oguz et al. [13].A mixed integer programming formulation is provided in [13] and itslimits are tested on generated instances. Since exact solutions can beobtained for only instances with a limited number of orders, a simpleconstructive heuristic and an iterative improvement heuristic(ISFAN), which uses simulated annealing concepts to handle thesequencing, are proposed. While the improvement heuristic is

successful for small to medium size problem instances, it does notperform that well for larger ones. On the other hand, the constructiveheuristic, namely modified apparent tardiness cost with setups(m-ATCS), performs well in large instances. We observe that as theproblem size increases, instances in [13] allow for acceptance ofalmost all orders and the constructive heuristic becomes moreeffective. At the same time, since the neighborhood size increasesin the improvement heuristic, its run time becomes prohibitive. Inorder to address these issues, in this study we propose both a new setof instances and a new improvement heuristic with superiorperformance compared to both m-ATCS and ISFAN heuristics of [13].

The contribution of this study is twofold. Firstly, we develop atabu search (TS) heuristic that performs significantly better interms of both solution quality and run time compared to existingheuristics. The novel characteristics of this solution approach canbe summarized as follows. The TS algorithm uses a representationthat holds information about both the acceptance/rejection statusand the processing sequence of the orders, which enables thealgorithm to make the acceptance and scheduling decisionssimultaneously rather than sequentially, as was the case in ISFAN.This, together with a new neighborhood definition and the use ofmemory, facilitates searching the solution space much moreeffectively. While both ISFAN and TS utilize a local improvementprocedure at the end of the algorithm, TS guides the search moreintelligently by compound moves. One compound move includesiterative drop, add and insertion operators utilizing problemspecific knowledge. The local search procedure also serves todiversify probabilistically. Secondly, we provide a wide range ofinstances by changing the values of problem parameters such asdue date range and tardiness factor. The proposed TS algorithmshows consistently superior performance over different types ofinstances that could be encountered in practice. Therefore, TS canbe suggested as a robust algorithm for the OAS problem.

The organization of this paper is as follows. After presenting theproblem definition in Section 2, we describe the heuristic algorithm inSection 3. We give the details of data generation and computationalresults in Section 4, which is followed by concluding remarks inSection 5.

2. Order acceptance and scheduling problem

The OAS problem is defined formally as follows. In a singlemachine environment where the production capacity is limited, aset of incoming orders is available at time zero. Each incomingorder i is identified with a release date, ri, a processing time, pi, a duedate, di, a deadline, di, a maximum revenue, ei, a weight (tardinesspenalty), wi, and a sequence dependent setup time, sji, incurredwhen order j immediately precedes order i in the processingsequence (it is possible that sijasji).

In this problem setting, the manufacturer gains the maximumrevenue, ei, if order i is accepted and its tardiness is zero. However, ifthe order is tardy, the revenue to be gained from this order, Revenuei,decreases linearly with its tardiness, Ti. The manufacturer maycomplete order i until its deadline di, but for each time unit beyondits due date, a tardiness penalty cost of wi is incurred. No revenue canbe gained from order i, if the order is completed at or after itsdeadline, di. To ensure this, we set wi to ei/(di�di) for each order i.Tardiness of order i is Ti ¼maxf0,Ci�dig where Ci is the completiontime of order i. Then revenue from order i is Revenuei¼eiIi�wi Ti.Here, Ii is an indicator that equals to 1 if order i is accepted, and 0otherwise. Our aim is to find a set of accepted orders and theirschedule that maximize the manufacturer’s total revenue, expressedasPn

i ¼ 1 Revenuei. The OAS problem as described above is stronglyNP-hard [13]. Due to this computational difficulty, we develop aheuristic algorithm as described in the next section.

Page 3: A tabu search algorithm for order acceptance and scheduling

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–1205 1199

3. A tabu search algorithm

Tabu search (TS), which was originally proposed by Glover [15],is known to perform quite well for scheduling and routingproblems. Tabu search algorithms have been utilized for variousscheduling problems but none of the studies address ourunderlying scheduling problem, to the best of our knowledge.The most relevant studies include a form of tardiness penalty intheir objective function [16–19]. None of these studies considerrelease dates or deadlines and except Choobineh et al. [18]sequence dependent setup times. Woodruff and Spearman [20]are the only researchers who develop a TS algorithm for an orderacceptance problem, to the best of our knowledge. The maindifferences between their problem and the present one are theexistence of family setups and the objective function that includesholding and setup costs rather than tardiness.

The success of TS in above studies motivated us to develop a TSalgorithm for the OAS problem. However, we observed that TSalgorithm cannot search the solution space efficiently whenacceptance and sequencing decisions have to be made simulta-neously. Hence we incorporated a probabilistic local search into TSalgorithm to complement its strengths. The pseudocode of thealgorithm is given below with the following notation: s0, s and s* arethe initial, the current and the best known solutions, respectively;f(s) denotes the revenue of s, N(s) is the neighborhood of s

with NðsÞ denoting the admissible (non-tabu or allowed by aspira-tion) subset of N(s). Finally, siter denotes the best solution in NðsÞ.The details of the algorithm are presented in the followingsubsections.

Algorithm 1. TS algorithm

Require: ri, pi, sij, di, di, ei, wi, n

1:

Set f(s*)¼0, TabuTenure¼k. x k depends on n

2:

Generate s0. 3: s’s0. 4: while termination criterion is not met do 5: Construct N(s) x TS PART begins 6: Find siter ANðsÞ

7:

s’siter

8:

Update the TabuList

9:

Update s* and f(s*). x TS PART ends 10: for m:1 to dn=6e do x LOCAL SEARCH PART begins 11: Select the order that gives minimum RLR2 to be

dropped from s

12:

Find reject (rejected orders array) for s

13:

while size of reject40 do 14: Calculate RLR1 for each order iAreject

15:

Construct cumulative probabilities for all ordersproportional to their RLR1

16:

Find the order to be inserted from reject randomly 17: Set l¼1 18: for lrn do 19: Insert selected order to lth position 20: Reject orders with zero revenue 21: Set inserted solution as sinserted

22:

if f ðsinsertedÞZ0:998f ðsiterÞ then 23: s’sinserted

24:

else 25: l++ 26: end if 27: end for 28: Delete the order selected for insertion from reject

29:

end while 30: end for x LOCAL SEARCH PART ends 31: end while

3.1. Solution representation

We represent a solution by a vector in which the ith entryindicates the position of order i in the sequence. If order i is notaccepted, the corresponding entry is set to zero. As an example, therepresentation of a solution with orders i¼1,y, 10 is [1 0 5 0 0 0 2 43 0]. This representation indicates that orders 2, 4, 5, 6, 10 arerejected. Orders 1, 3, 7, 8 and 9 are processed in the first, fifth,second, fourth and third positions, respectively; hence, the orderprocessing sequence is 1–7–9–8–3. This representation keeps boththe acceptance and the sequencing decisions efficiently by a vectorof size n, where n is the number of orders.

3.2. Initial solution

Tabu search starts with an initial feasible solution and tries toimprove it iteratively. For the OAS problem, we use a greedy rule toconstruct the initial solution s0. The rule takes revenues, processingtimes and setup times into account. It requires the calculation of thefollowing Revenue-load ratio for each order: RLR1i¼ei/(pi+saverage,i),where saverage,i¼ (s0,i+ s1,i+y+sn,i)/(n+1). The orders are sortedwith respect to the defined ratio, starting from the highest, to givepriority to orders that potentially generate a higher revenue andtake a small amount of time to process. Next, orders that generatezero revenue are rejected. Once an order is rejected, the revenuesfor the remaining orders in the sequence are recalculated. Thisprocedure continues until all orders in the sequence have positiverevenue.

3.3. Move operator and neighborhood definition

The move operators within TS algorithms developed for similarproblems [16–20] are swap and insertion. These operators arepreferred due to their efficiency. Therefore, we generate theneighborhood of the current solution s by swapping two entries ofthe solution vector. This seemingly simple pairwise exchange moveallows us to change both the set of accepted orders and theirsequence, while keeping the number of accepted orders the same.For example, applying this operator to solution [1 0 5 0 0 0 2 4 3 0],whose processing sequence is 1–7–9–8–3, results in the followingtwo neighboring solutions among others: [5 0 1 0 0 0 2 4 3 0] and [0 1 50 0 0 2 4 3 0]. The first one is obtained by swapping the firstand the third entries and it corresponds to the processing sequence3–7–9–8–1. As it can be seen, the set of accepted orders is the samebut the sequence has changed. On the other hand, the second one,which is obtained by swapping the first and the second entries,corresponds to the processing sequence 2–7–9–8–3. In this case,order 1 is rejected and order 2 is accepted in its position. In order toavoid cycling, we do not exchange if both of the entries that will beswapped in the current solution are zero. As a result, the completeneighborhood of a given solution consists of at most n(n�1)/2solutions.

We note that when we swap two orders, the completion time,hence the tardiness and the revenue of each order starting from thefirst swapped order will be affected due to release dates, sequencedependent setup times and deadlines. If any of the orders attainzero revenue, they should be rejected. Thus, the number ofaccepted orders may decrease in this way. We handle this concernwith a local search after a TS iteration as explained in Section 3.6.

3.4. Tabu list and tabu tenure

In tabu search, the tabu list (TabuList) keeps the most recentmoves to avoid cycling while searching for a new solution. In ourimplementation, the tabu list is formed with the k most recently

Page 4: A tabu search algorithm for order acceptance and scheduling

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–12051200

performed swaps, where k is the tabu tenure (TabuTenure). In thetabu list, the swapped pairs are kept so that the same orders are notswapped again. For example, when the current solution is [2 0 5 0 00 1 4 3 0] and the best solution found in the neighborhood is [1 0 5 00 0 2 4 3 0], then the swap of the entries corresponding to orderpairs (1,7) and (7,1) will be tabu during the tabu tenure.

3.5. Aspiration and termination criteria

In our implementation the aspiration criterion is set so that ifthe revenue of a tabu solution is better than the revenue of the best-known solution so far, this solution is accepted even though it is inthe tabu list. We set the termination criterion as 50 iterationswithout an improvement of revenue.

3.6. Local search procedure

Due to the move operator, a TS iteration may cause the number ofaccepted orders to decrease. If the iterations proceed this way, thealgorithm is likely to converge to a poor local optimum. To remedythis, after each TS iteration, we perform a local search starting fromthe best solution obtained in the neighborhood by applying iterativedrop–add–insert operations. To be able to add orders with largerrevenue, we first drop an order that brings low revenue and consumesa large amount of time. More specifically, we drop the order which hasthe minimum value of RLR2i¼ei/(pi+sji), where order j is theimmediate predecessor of order i in the current sequence.

To select the order to be added, we use the original revenue–load

ratio (RLR1) to generate a probability distribution for the rejectedorders similar to roulette wheel selection [21]. We assign aprobability to each rejected order i that is proportional to itsrevenue–load ratio RLR1i so that orders with higher RLR1 are morelikely to be selected. This allows us to bring in some randomness inthe algorithm, providing a diversification mechanism. Once theorder to be added is selected, its position is decided as follows. Wetry each position from the beginning of the order processingsequence and calculate the new revenue. Since this move mayresult in deleting one or more orders to keep the feasibility of thesolution, we introduce a threshold for accepting inferior solutionssimilar to the acceptance idea of simulated annealing. That is, weinsert the order at the current position if this generates a feasiblesequence with a total revenue at least 0.998 times the revenue of thebest solution in the neighborhood, siter, and do not consider theremaining positions. Otherwise, we continue with the next positionuntil the end of the sequence.

We repeat the add–insertion move for all rejected orders. Thisresults in a compound move in which one drop move is followed bymultiple add–insertion moves and each such move may necessitatedropping some orders to maintain feasibility. We note that thisprovides another diversification mechanism for our algorithm. Werepeat the compound drop–add–insert move dn=6e times based onour preliminary tests. The iterative application of compound moveallows us to accept a profitable order, which was formerly rejecteddue to infeasibility, at a new position. After the local search, thealgorithm returns back to the next TS iteration.

4. Computational study

In this section, we present the results of our computationalexperiments in which we analyze the performance of the TSalgorithm. In the analysis, we compare the TS algorithm with m-ATCS and ISFAN heuristics proposed in [13] based on solutionquality and run time on a set of test instances.

In the literature, apparent tardiness cost rule has been shown to beeffective to construct a sequence for the total weighted tardiness

scheduling problem [22]. Lee et al. [23] modified this rule toincorporate sequence dependent setup times (ATCS) and showedits effectiveness even for large sized problems. Oguz et al. [13]adapted this rule for the OAS problem and refer to it as m-ATCS. Them-ATCS heuristic uses the ATCS priority index ðwi=piÞexpðmaxðdi�pi�tcurrent ,0Þ=k1pÞexpð�spreviousJob,i=k2sÞ to select the nextorder to schedule by setting k1¼k2¼1 and wi¼ei. In this rule, p

and s represent the average processing time and the average setuptime, respectively. Instead of the weight term in the ATCS rule, therevenue term ei is used in the m-ATCS rule since the aim of the OASproblem is to maximize the total revenue of the manufacturer. Afterforming a sequence, orders with zero revenue are rejected until allaccepted orders generate positive revenue. Similar to results of [23],m-ATCS was shown to be effective for large instances of OAS in [13]and has the advantage of very short run times. Hence, we selected m-ATCS as one of the heuristics to compare with the proposed algorithm.

ISFAN algorithm starts with a possibly infeasible initial solution inwhich all orders are accepted. Given a solution, the algorithm iteratesbetween two main steps: order acceptance and sequencing. At theorder acceptance step, it employs a priority rule similar to RLR1 inwhich the average setup time is replaced with minimum setup timefor deciding which orders to keep in the sequence. At the sequencingstep, ISFAN applies simulated annealing with exchange moves to findthe best sequence for the current accepted order set. After a number ofiterations, ISFAN terminates with a local search step. In the localsearch, an order insertion move is applied to add each rejected orderback to the sequence, if possible. Next, an order exchange move isapplied to swap each rejected order with an accepted one. In both ofthese moves, the solution with the best improvement is kept.

ISFAN algorithm handles order acceptance and schedulingdecisions separately, whereas our proposed TS algorithm considersthese two decisions simultaneously. The second approach providesmuch better results as it can be observed from the computationalexperiments (see Section 4.3).

4.1. Data generation

In order to test the performance of the TS algorithm, wegenerated new test instances in varying parameter values andproblem sizes. As explained earlier, the test bed in [13] wassomewhat easier, especially for large sized instances. In the newdata set, the tardiness factor t and the due date range R take fivedifferent values: 0.1, 0.3, 0.5, 0.7, 0.9 as in [24]. For eachcombination of t and R, 10 problem instances are generated.Hence, the number of test instances for each problem size, n, is10� 25¼ 250, which sums up to 1500 instances for six different n

values; n¼10, 15, 20, 25, 50, 100.A discrete uniform distribution is used to generate the following

parameters: processing times and revenues from the interval [0,20];setup times from [1,10]; release dates from ½0,tpT �, where pT is the totalprocessing time of all orders, as in Akturk and Ozdemir [25]. Due datesare generated as di ¼ riþmaxj ¼ 0,1,...,n sjiþmaxfslack,pig, where slack

is drawn from a discrete uniform distribution in the interval½pT ð1�t�R=2Þ,pT ð1�tþR=2Þ� similar to the study by Potts and vanWassenhove [24]. Deadlines are generated from the formuladi ¼ diþR pi, as in Charnsirisakskul et al. [5]. All data parametersexcept the weights are integer numbers and the weights are calculatedas wi ¼ ei=ðdi�diÞ to ensure that the revenue gained from an orderbecomes 0 at its deadline. The data sets can be accessed at http://home.ku.edu.tr/� coguz/Research/Dataset_OAS.zip.

4.2. Parameter settings for the TS algorithm

The tabu tenure parameter, i.e. size of the tabu list, helps toavoid cycling but also affects the search. As tabu tenure increases,

Page 5: A tabu search algorithm for order acceptance and scheduling

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–1205 1201

more moves will be restricted and the algorithm will explore asmaller neighborhood. We examined the effect of four differenttabu list sizes for every n value. In these preliminary tests, the bestperformance was achieved when the tabu tenure is d2n=3e, thusTabuTenure was set accordingly.

Our termination criterion is to stop after a number of non-improving iterations. After testing 30, 50 and 100 as the number ofnon-improving iterations, the convergence behavior of the algo-rithm suggested using 50 non-improving iterations.

In the local search, we need to decide on the number of drop–add–insert operations in one iteration, as well as the improvementthreshold value which is used to decide whether the chosen order isto be added or not. For the former, we tested dn=6e, dn=5e and dn=4e.The best performance was achieved when we use drop–add–insertoperations dn=6e times. For the latter, we examined six differentvalues, 0.990, 0.995, 0.996, 0.997, 0.998 and 0.999, andselected 0.998.

4.3. Performance measures

We use the percentage deviation of the revenue from an upperbound as the performance measure. The revenue is obtained fromeach heuristic algorithm as well as the mixed integer linearprogramming (MILP) formulation given in [13]. The upperbound, UB, is obtained as tighter of the following two bounds.The first one, UBMILP, is generated by solving MILP with a time limitof 3600 s and keeping the least upper bound obtained. The secondone, UBLPVI, is generated by solving the LP relaxation of MILPstrengthened with the valid inequalities proposed in [13]. Weobserved that UBLPVI is more effective for t¼ 0:1,0:3,0:5, whereasUBMILP becomes more effective for t¼ 0:7, 0.9. Thus, we useUB¼minfUBMILP ,UBLPVIg.

Table 1Performance of MILP, m-ATCS, ISFAN and the TS algorithm for n¼10.

n¼10 % Deviations from UB

t R MILP m-ATCS ISFAN

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

0.1 0.1 0 0 0 25 9 0 10 3 0

0.3 0 0 0 19 9 2 9 3 0

0.5 6 1 0 27 9 0 8 3 0

0.7 0 0 0 23 10 0 10 3 0

0.9 0 0 0 21 8 0 0 0 0

0.3 0.1 0 0 0 19 10 0 12 4 0

0.3 0 0 0 33 14 0 10 2 0

0.5 0 0 0 40 16 0 19 7 0

0.7 0 0 0 36 12 1 16 6 0

0.9 0 0 0 42 21 5 29 6 0

0.5 0.1 0 0 0 24 14 4 20 9 0

0.3 0 0 0 34 14 0 20 5 0

0.5 0 0 0 23 15 3 9 3 0

0.7 0 0 0 40 16 1 32 6 0

0.9 0 0 0 35 15 1 28 6 0

0.7 0.1 0 0 0 34 14 0 23 6 0

0.3 0 0 0 27 14 0 23 7 0

0.5 0 0 0 49 24 4 12 4 0

0.7 1 0 0 26 13 0 19 8 0

0.9 0 0 0 36 20 9 19 6 0

0.9 0.1 0 0 0 17 8 0 11 2 0

0.3 0 0 0 29 11 0 18 7 0

0.5 0 0 0 22 9 0 27 8 0

0.7 0 0 0 34 15 6 39 11 0

0.9 0 0 0 40 19 2 27 6 0

Avg. 0 0 0 30 14 2 18 5 0

We report the best feasible solution found by the CPLEX solverwithin 3600 s time limit as the MILP solution. The solutionsobtained by MILP, m-ATCS, ISFAN and TS are compared in termsof the maximum, average and minimum percentage deviation fromUB and the results are reported in Tables 1–6. Furthermore, thenumber of optimal solutions out of 10 instances of each type isrecorded as an auxiliary measure. We think that percentagedeviation is a better indicator of performance than number ofoptimal solutions found, since a company that faces the OASproblem would prefer to obtain near-optimal solutions in shorttime due to time concerns. In that respect, another importantmeasure is average run time, thus we also report the average runtimes of MILP, ISFAN and TS in seconds, except for m-ATCS whichtakes less than a second, in Tables 1–6. The TS algorithm was codedin C. For MILP and LP relaxation runs, we used ILOG CPLEX 11.2. Allalgorithms were run on a workstation with a 3.00 GHz Intel Xeonprocessor and 4 GB of RAM.

4.4. Analysis of the results

Due to the computational difficulty of the problem, MILP can besolved to optimality only for n¼10 and some cases of n¼15, 20, 25.Hence, we compare the TS algorithm with MILP solutions only forthese values of n, even though we report all MILP results. For largern values, we use MILP results for bounds and compare TS with m-ATCS and ISFAN heuristics from the literature.

Comparison of the TS algorithm with MILP: Throughout the tables,we observe that n¼10 is the only case where MILP can solve 249out of 250 instances to optimality. Although TS finds the optimalsolution in 188 out of 250 instances in Table 1, it gives 0% deviationon the average, because it outputs solutions whose revenues areuniformly very close to optimal values. This performance is

# of optimal solutions Run times

TS MILP m-ATCS ISFAN TS MILP ISFAN TS

Max

(%)

Avg.

(%)

Min

(%)

3 1 0 10 1 6 6 1123.90 22.93 0.00

3 1 0 10 0 3 5 1119.90 21.32 0.00

8 1 0 9 1 4 8 1037.20 16.35 0.00

3 0 0 10 1 6 8 435.00 12.69 0.01

1 0 0 10 1 9 7 289.63 10.63 0.00

2 0 0 10 1 2 9 466.20 28.90 0.00

2 1 0 10 1 6 6 372.40 28.12 0.00

0 0 0 10 1 2 6 257.30 24.24 0.01

2 1 0 10 0 1 6 310.30 19.71 0.00

0 0 0 10 0 5 4 118.20 16.84 0.00

6 1 0 10 0 3 9 22.10 33.33 0.00

5 1 0 10 0 4 8 52.60 32.48 0.00

0 0 0 10 0 4 9 13.90 30.99 0.00

2 0 0 10 0 4 4 24.30 27.27 0.00

2 0 0 10 0 3 7 26.70 23.85 0.00

4 0 0 10 1 4 9 1.30 42.10 0.00

0 0 0 10 2 5 10 1.50 42.67 0.00

1 0 0 10 0 3 9 1.60 37.37 0.00

0 0 0 10 1 1 8 1.70 38.71 0.00

4 0 0 10 0 1 6 1.90 28.31 0.00

0 0 0 10 3 7 10 1.00 59.88 0.00

0 0 0 10 2 2 9 1.00 54.97 0.00

0 0 0 10 3 5 8 1.00 46.37 0.00

0 0 0 10 0 1 9 1.00 45.53 0.00

0 0 0 10 0 2 8 1.00 43.45 0.00

2 0 0 – – – – 227.31 31.56 0.00

Page 6: A tabu search algorithm for order acceptance and scheduling

Table 2Performance of MILP, m-ATCS, ISFAN and the TS algorithm for n¼15.

n¼15 % Deviations from UB # of optimal solutions Run times

t R MILP m-ATCS ISFAN TS MILP m-ATCS ISFAN TS MILP ISFAN TS

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

0.1 0.1 13 8 1 17 10 4 15 8 1 4 3 1 0 0 0 0 3600.00 37.67 0.04

0.3 17 7 1 23 16 8 12 6 2 8 3 0 0 0 0 1 3600.00 31.26 0.01

0.5 10 6 1 18 11 4 8 4 2 4 2 0 0 0 0 1 3600.00 25.47 0.01

0.7 21 7 1 29 11 3 9 4 0 4 2 0 0 0 1 1 3600.00 23.02 0.01

0.9 15 6 0 28 10 0 11 5 0 6 1 0 1 1 3 4 3241.70 19.62 0.01

0.3 0.1 13 10 4 24 15 7 8 6 3 8 4 3 0 0 0 0 3600.00 44.64 0.01

0.3 22 11 4 41 19 6 19 9 4 11 5 2 0 0 0 0 3600.00 41.25 0.01

0.5 22 11 4 29 19 9 12 7 5 8 5 1 0 0 0 0 3600.00 34.50 0.01

0.7 20 11 3 36 20 6 34 11 3 8 4 2 0 0 0 0 3600.00 32.61 0.01

0.9 16 9 0 31 18 3 13 6 0 7 4 0 1 0 1 2 3444.50 30.32 0.01

0.5 0.1 18 12 2 27 20 12 19 11 2 13 7 2 0 0 0 0 3600.00 55.18 0.01

0.3 15 11 7 33 22 8 18 10 4 14 8 4 0 0 0 0 3600.00 51.61 0.01

0.5 26 15 7 35 26 10 20 12 4 15 9 6 0 0 0 0 3600.00 45.57 0.01

0.7 12 7 0 44 26 11 25 9 4 11 6 1 0 0 0 0 3600.00 39.85 0.01

0.9 18 7 0 40 21 7 21 8 0 18 6 0 1 0 1 1 3369.80 41.74 0.01

0.7 0.1 0 0 0 26 15 0 7 3 0 4 1 0 10 1 1 7 83.90 55.74 0.01

0.3 0 0 0 30 14 0 5 3 0 3 1 0 10 1 1 7 88.60 58.06 0.01

0.5 0 0 0 44 20 12 12 4 0 2 0 0 10 0 1 7 101.30 59.85 0.01

0.7 8 1 0 33 19 8 20 7 0 8 2 0 9 0 2 3 883.90 64.45 0.01

0.9 0 0 0 29 17 6 16 7 0 0 0 0 10 0 1 9 288.50 53.13 0.01

0.9 0.1 0 0 0 27 10 0 14 4 0 3 0 0 10 1 5 9 1.00 116.49 0.01

0.3 0 0 0 35 17 8 10 4 0 5 0 0 10 0 3 9 1.00 87.96 0.01

0.5 0 0 0 24 17 2 12 4 0 0 0 0 10 0 4 10 6.10 74.97 0.01

0.7 0 0 0 25 16 3 33 9 0 0 0 0 10 0 2 10 4.40 69.81 0.01

0.9 0 0 0 39 21 3 28 9 0 0 0 0 10 0 2 10 12.40 69.23 0.01

Avg. 11 6 1 31 17 6 16 7 1 7 3 1 – – – – 2189.08 50.56 0.01

Table 3Performance of MILP, m-ATCS, ISFAN and the TS algorithm for n¼20.

n¼20 % Deviations from UB # of optimal solutions Run times

t R MILP m-ATCS ISFAN TS MILP m-ATCS ISFAN TS MILP ISFAN TS

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

0.1 0.1 19 11 6 17 11 6 10 7 2 5 3 1 0 0 0 0 3600.00 56.87 0.10

0.3 19 12 2 30 17 5 13 9 3 5 3 1 0 0 0 0 3600.00 54.07 0.04

0.5 22 10 3 23 17 4 8 5 1 3 2 1 0 0 0 0 3600.00 40.73 0.03

0.7 23 11 0 23 12 6 10 5 0 2 1 0 1 0 0 5 3415.50 35.16 0.04

0.9 15 7 1 24 10 0 17 6 0 4 1 0 0 2 1 3 3600.00 32.22 0.03

0.3 0.1 29 18 7 28 20 9 18 11 7 8 5 2 0 0 0 0 3600.00 69.44 0.03

0.3 21 14 4 27 20 12 15 9 5 6 5 3 0 0 0 0 3600.00 63.65 0.04

0.5 25 16 7 26 17 9 12 8 5 8 5 2 0 0 0 0 3600.00 59.10 0.03

0.7 25 12 5 31 17 5 12 7 2 7 3 1 0 0 0 0 3600.00 55.62 0.04

0.9 20 10 2 28 18 5 13 7 1 5 2 0 0 0 0 2 3444.50 53.07 0.04

0.5 0.1 30 13 6 26 20 12 13 10 7 8 6 4 0 0 0 0 3600.00 79.69 0.03

0.3 26 17 7 63 26 11 18 12 5 9 6 3 0 0 0 0 3600.00 77.91 0.07

0.5 23 16 9 37 27 19 17 13 9 10 7 3 0 0 0 0 3600.00 75.72 0.04

0.7 27 14 8 35 23 13 17 12 7 11 5 1 0 0 0 0 3600.00 70.42 0.03

0.9 21 12 5 38 26 10 23 14 5 11 6 0 0 0 0 1 3600.00 73.10 0.05

0.7 0.1 26 12 6 30 22 17 20 14 8 15 10 5 0 0 0 0 3600.00 92.53 0.05

0.3 14 10 6 33 24 10 18 13 10 14 9 6 0 0 0 0 3600.00 97.47 0.04

0.5 27 10 0 47 35 19 24 14 5 20 9 0 2 0 0 2 3048.20 105.50 0.04

0.7 20 8 0 40 25 9 24 13 0 12 7 0 3 0 1 3 2954.40 100.07 0.07

0.9 17 10 0 44 29 7 34 17 8 13 8 0 1 0 0 1 3242.80 104.19 0.04

0.9 0.1 0 0 0 18 10 1 8 4 0 1 0 0 10 0 3 0 1.70 138.66 0.06

0.3 0 0 0 26 15 7 24 7 0 1 0 0 10 0 1 8 8.70 144.22 0.03

0.5 0 0 0 43 20 8 24 8 1 2 0 0 10 0 0 8 80.10 127.94 0.03

0.7 0 0 0 46 21 11 13 6 0 1 0 0 10 0 3 8 114.00 119.66 0.03

0.9 13 1 0 39 27 12 18 12 0 13 2 0 9 0 1 6 467.00 118.01 0.03

Avg. 18 10 3 33 20 9 17 10 4 8 4 1 – – – – 2831.07 81.80 0.04

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–12051202

Page 7: A tabu search algorithm for order acceptance and scheduling

Table 4Performance of MILP, m-ATCS, ISFAN and the TS algorithm for n¼25.

n¼25 % Deviations from UB # of optimal solutions Run times

t R MILP m-ATCS ISFAN TS MILP m-ATCS ISFAN TS MILP ISFAN TS

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

0.1 0.1 19 12 8 20 14 9 12 8 4 6 4 1 0 0 0 0 3600.00 83.62 0.08

0.3 23 13 6 32 16 6 11 7 3 6 3 2 0 0 0 0 3600.00 65.37 0.06

0.5 9 7 5 21 12 3 11 7 3 4 2 1 0 0 0 0 3600.00 61.45 0.06

0.7 11 5 1 23 13 5 9 5 2 4 1 0 0 0 0 4 3600.00 53.97 0.06

0.9 10 4 1 24 8 2 10 6 1 2 1 0 0 0 0 4 3600.00 56.69 0.05

0.3 0.1 24 15 9 29 19 13 12 9 5 5 4 2 0 0 0 0 3600.00 93.23 0.10

0.3 20 11 7 24 18 7 12 10 7 7 5 3 0 0 0 0 3600.00 89.71 0.09

0.5 8 5 2 26 18 10 10 7 5 6 3 2 0 0 0 0 3600.00 80.76 0.08

0.7 9 5 1 32 17 8 24 11 6 6 2 1 0 0 0 0 3600.00 78.54 0.08

0.9 27 18 11 27 16 6 18 9 5 4 2 0 0 0 0 2 3600.00 79.35 0.07

0.5 0.1 17 10 6 29 19 12 14 11 7 7 6 3 0 0 0 0 3600.00 110.84 0.07

0.3 13 9 4 29 21 11 17 11 6 9 5 3 0 0 0 0 3600.00 109.09 0.08

0.5 17 10 3 30 20 8 20 13 8 8 5 2 0 0 0 0 3600.00 110.30 0.09

0.7 13 8 2 38 26 17 17 13 7 11 6 2 0 0 0 0 3600.00 121.02 0.08

0.9 42 20 6 49 28 16 25 15 6 7 4 1 0 0 0 0 3600.00 109.74 0.08

0.7 0.1 19 10 2 26 20 12 27 18 10 18 9 3 0 0 0 0 3600.00 142.09 0.06

0.3 17 12 8 33 26 18 23 17 9 14 10 7 0 0 0 0 3600.00 141.36 0.08

0.5 21 13 7 43 33 26 26 19 13 15 12 7 0 0 0 0 3600.00 143.57 0.08

0.7 15 9 2 40 29 15 21 15 9 14 8 2 0 0 0 0 3600.00 140.45 0.07

0.9 17 10 0 53 29 8 24 17 10 15 10 3 0 0 0 0 3600.00 152.11 0.08

0.9 0.1 0 0 0 20 12 4 25 8 0 6 1 0 10 0 1 5 5.41 188.99 0.06

0.3 0 0 0 22 17 10 8 5 1 0 0 0 10 0 0 8 8.30 187.45 0.06

0.5 12 3 0 45 27 14 44 12 1 12 4 0 6 0 0 3 1452.61 176.50 0.07

0.7 22 7 0 45 29 17 31 13 0 25 8 0 6 0 1 4 1446.35 177.66 0.08

0.9 21 6 0 58 30 20 32 13 2 22 7 0 4 0 0 4 2176.18 169.41 0.09

Avg. 16 9 4 33 21 11 19 11 5 9 5 2 – – – – 3083.55 116.93 0.07

Table 5Performance of MILP, m-ATCS, ISFAN and the TS algorithm for n¼50.

n¼50 % Deviations from UB # of optimal solutions Run times

t R MILP m-ATCS ISFAN TS MILP m-ATCS ISFAN TS MILP ISFAN TS

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

0.1 0.1 81 24 9 20 15 9 12 8 6 3 2 1 0 0 0 0 3600.00 264.38 1.19

0.3 22 16 7 18 15 9 12 9 7 4 2 1 0 0 0 0 3600.00 250.16 0.98

0.5 25 17 11 19 13 6 10 8 5 2 2 1 0 0 0 0 3600.00 238.33 0.89

0.7 18 13 9 24 14 7 22 9 4 16 3 0 0 0 0 1 3600.00 220.68 0.58

0.9 27 10 2 10 4 1 11 7 4 2 1 0 0 0 0 2 3600.00 288.67 0.46

0.3 0.1 33 24 13 24 16 11 13 11 8 3 3 2 0 0 0 0 3600.00 338.06 1.61

0.3 48 28 18 30 20 11 15 12 9 5 4 3 0 0 0 0 3600.00 343.90 1.49

0.5 33 24 18 33 18 9 15 11 8 5 3 1 0 0 0 0 3600.00 328.47 1.16

0.7 26 20 13 24 14 5 18 11 7 3 1 0 0 0 0 1 3600.00 346.78 0.85

0.9 34 21 13 26 17 3 11 9 8 3 1 0 0 0 0 0 3600.00 345.54 0.68

0.5 0.1 31 28 19 27 20 13 19 14 10 5 4 3 0 0 0 0 3600.00 430.80 1.36

0.3 86 42 25 30 25 18 20 16 11 8 6 3 0 0 0 0 3600.00 448.20 1.18

0.5 44 31 17 34 25 15 21 16 7 8 4 2 0 0 0 0 3600.00 438.71 1.35

0.7 38 21 10 31 24 12 18 15 9 5 3 2 0 0 0 0 3600.00 471.10 1.22

0.9 22 18 8 35 27 17 19 15 6 6 4 2 0 0 0 0 3600.00 495.41 1.16

0.7 0.1 25 21 13 30 22 17 21 16 12 9 7 4 0 0 0 0 3600.00 561.75 1.44

0.3 23 18 11 33 24 16 20 16 11 11 7 4 0 0 0 0 3600.00 565.54 1.52

0.5 52 29 13 46 33 23 22 19 14 13 9 7 0 0 0 0 3600.00 582.52 1.59

0.7 28 21 9 35 31 24 29 19 12 18 9 2 0 0 0 0 3600.00 609.67 1.27

0.9 26 19 14 41 29 19 28 21 17 18 11 6 0 0 0 0 3600.00 617.63 1.15

0.9 0.1 18 14 8 30 24 17 22 17 12 18 13 8 0 0 0 0 3600.00 684.75 1.25

0.3 22 16 11 42 32 21 28 23 18 23 17 13 0 0 0 0 3600.00 686.89 1.26

0.5 21 15 5 45 39 33 26 21 18 23 17 10 0 0 0 0 3600.00 672.19 1.42

0.7 25 17 9 46 37 26 72 27 17 21 16 11 0 0 0 0 3600.00 780.25 1.43

0.9 30 21 14 44 36 24 29 22 16 19 16 11 0 0 0 0 3600.00 673.72 1.37

Avg. 34 21 12 31 23 15 21 15 10 10 7 5 – – – – 3600.00 467.36 1.19

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–1205 1203

Page 8: A tabu search algorithm for order acceptance and scheduling

Table 6Performance of MILP, m-ATCS, ISFAN and the TS algorithm for n¼100.

n¼100 % Deviations from UB # of optimal solutions Run times

t R MILP m-ATCS ISFAN TS MILP m-ATCS ISFAN TS MILP ISFAN TS

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

Max

(%)

Avg.

(%)

Min

(%)

0.1 0.1 56 44 37 19 15 9 13 9 8 3 2 1 0 0 0 0 3600.00 682.82 16.76

0.3 88 51 42 20 17 11 10 9 7 3 2 2 0 0 0 0 3600.00 666.81 17.26

0.5 60 51 43 19 14 11 11 9 6 3 1 0 0 0 0 0 3600.00 690.50 10.87

0.7 60 54 46 16 11 5 12 9 6 1 0 0 0 0 0 1 3600.00 701.30 6.21

0.9 70 60 38 11 6 0 16 12 8 1 0 0 0 0 0 4 3600.00 744.60 3.53

0.3 0.1 68 62 52 24 19 15 13 12 10 4 3 1 0 0 0 0 3600.00 941.03 22.37

0.3 75 64 52 23 18 15 17 13 11 5 3 2 0 0 0 0 3600.00 964.58 20.10

0.5 76 66 56 21 18 14 17 14 10 4 2 1 0 0 0 0 3600.00 988.50 16.77

0.7 84 73 63 32 20 15 15 14 12 3 2 0 0 0 0 0 3600.00 1028.52 9.48

0.9 82 66 47 18 15 10 17 13 9 2 1 0 0 0 0 0 3600.00 1020.23 7.58

0.5 0.1 87 77 71 24 22 17 18 16 12 5 4 2 0 0 0 0 3600.00 1243.25 25.96

0.3 86 61 47 28 23 17 18 15 12 6 4 3 0 0 0 0 3600.00 1288.58 28.87

0.5 88 70 56 31 24 20 19 17 14 5 4 3 0 0 0 0 3600.00 1305.33 20.56

0.7 92 71 55 34 23 10 21 17 13 4 3 2 0 0 0 0 3600.00 1385.12 15.57

0.9 100 66 48 36 24 15 24 18 12 5 2 1 0 0 0 0 3600.00 1419.77 12.15

0.7 0.1 86 67 49 28 22 17 19 17 13 6 5 3 0 0 0 0 3600.00 1646.30 33.60

0.3 66 57 45 34 24 18 21 17 13 11 7 4 0 0 0 0 3600.00 1659.33 26.62

0.5 65 55 46 37 26 20 24 18 14 13 6 4 0 0 0 0 3600.00 1660.40 22.30

0.7 76 60 42 38 31 22 23 19 16 13 7 3 0 0 0 0 3600.00 1690.41 26.36

0.9 64 53 39 37 31 23 24 18 15 13 8 5 0 0 0 0 3600.00 1657.41 17.84

0.9 0.1 48 37 31 25 22 18 20 17 14 12 9 7 0 0 0 0 3600.00 1643.63 29.46

0.3 50 40 28 36 31 25 26 20 16 23 15 9 0 0 0 0 3600.00 1807.60 26.32

0.5 54 38 23 39 33 25 25 21 19 18 16 13 0 0 0 0 3600.00 1802.09 21.51

0.7 48 38 27 40 36 26 24 21 15 20 16 11 0 0 0 0 3600.00 1798.96 22.70

0.9 39 35 27 40 35 28 28 21 13 22 16 12 0 0 0 0 3600.00 1765.10 17.48

Avg. 71 57 44 28 22 16 19 15 12 8 6 4 – – – – 3600.00 1288.09 19.13

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–12051204

achieved with a run time of less than a second in all instances,whereas MILP runs in 228 s on the average and reaches the limit ofone hour in one of the instances.

From Table 2, we see that the TS algorithm stays competitivewith MILP for n¼15 by finding 91 optimal solutions out of 250instances with 3% deviation on the average. In contrast, MILP findsthe optimal solution in 102 out of 250 instances but gives 6%deviation on the average. When t equals 0.1, 0.3 and 0.5, MILP findsthe optimal solution in only 3 out of 150 instances within 1 h limit.The average run time of MILP increases to 2189 s while the TSalgorithm runs in still less than a second on the average.

We observe a similar behavior for n¼20 and n¼25 in Tables 3and 4, respectively. In addition, it is notable that even though thenumber of optimal solutions found by the TS algorithm is close tothat of MILP, the average percentage deviation of MILP increasesmuch faster than that of TS. We observe that MILP has difficulty insolving instances with t¼ 0:7 in addition to 0.1, 0.3 and 0.5 whenn¼20, 25. Run times presented in these tables further support theefficiency of the TS algorithm.

Comparison of the TS algorithm with m-ATCS and ISFAN: We seefrom Tables 1–6 that the TS algorithm outperforms m-ATCS andISFAN heuristics in terms of solution quality in all instances. As n

changes, the average performances of m-ATCS and ISFAN rangefrom 14% to 23% and 5% to 15%, respectively, while that of the TSalgorithm ranges from 0% to 6%. Since the run time of the TSalgorithm is less than 20 s on the average even for n¼100, we canconclude that the TS algorithm is a viable solution procedure forpractical situations.

Effect of parameters t and R: By definition, the parameter tindicates due date tightness while the parameter R determines the

due date range. In addition, t determines the range of the releasedates and R dictates the tightness of deadlines with respect todue dates.

As t gets larger, the interval on which the release dates weredrawn also gets larger. In other words, the orders are released on awider time interval. At the same time, the values of slack getsmaller. Hence, as t increases, we obtain orders released atdifferent time points with small slack values. This results inrejection of more orders, which in turn implies the reduction ofthe size of the solution space. Consequently, the optimal solutioncan be found in a short time as can be seen in Tables 1–6.

Given a t value, the difference between the deadline and the duedate increases, as R increases, which allows more time to completea tardy order. Furthermore, the range of slack increases, while therelease dates are generated in a constant interval. However, thesedata characteristics do not suggest any distinctive patterns onproblem hardness.

5. Conclusions

We provide a competitive improvement heuristic for the orderacceptance and scheduling problem (OAS) in a single machineenvironment. The differentiating aspects of the problem are thesequence dependent setup times, release dates, due dates anddeadlines regarding orders and inclusion of tardiness while com-puting the revenue in the objective function. The OAS problem isstrongly NP-hard.

The proposed improvement heuristic is a tabu search algorithmwhich is supported with a probabilistic local search procedure after

Page 9: A tabu search algorithm for order acceptance and scheduling

B. Cesaret et al. / Computers & Operations Research 39 (2012) 1197–1205 1205

each iteration. We provide a new data set for the OAS problem thatcan be used in further studies. In this data set, we used parameterssuch as the tardiness factor and the due date range to obtaindifferent types of instances.

We compare the performance of the TS algorithm with that oftwo heuristic algorithms, namely m-ATCS and ISFAN. We furtheranalyze the solutions found by a mixed integer programmingformulation within a time limit. Since optimal solutions cannot beobtained for large instances, we used upper bounds based on themixed integer programming formulation. Our computational studyshows that the TS algorithm gives significantly better solutionscompared to other solution procedures in terms of revenue in allinstances. Furthermore, run time of the TS algorithm is very smalleven for large instances.

The success of the TS algorithm may be attributed to the followingfactors. Firstly, the compact representation of the solution thatcombines acceptance and sequencing decisions enables the genera-tion of a rich neighborhood by a powerful move operator. Theneighborhood spans solutions varying in both the set of acceptedorders and their sequence. Secondly, each tabu search iteration iscomplemented with probabilistic local search operations that provideeffective diversification mechanisms. As a result, the solution spacecan be searched extensively without heavy computational effort.

Acknowledgements

The first author was supported by TUBITAK. We thank thereferees and the editors for constructive feedback which improvedthe presentation of the paper.

References

[1] Slotnick S, Morton T. Selecting jobs for a heavily loaded shop with latenesspenalties. Computers and Operations Research 1996;23(2):131–40.

[2] Ghosh J. Job selection in a heavily loaded shop. Computers and OperationsResearch 1997;24(2):141–5.

[3] Slotnick S, Morton T. Order acceptance with weighted tardiness. Computersand Operations Research 2007;34(10):3029–42.

[4] Rom W, Slotnick S. Order acceptance using genetic algorithms. Computers andOperations Research 2009;36:1758–67.

[5] Charnsirisaksul K, Griffin P, Keskinocak P. Order selection and scheduling withleadtime flexibility. IIE Transactions 2004;36:697–707.

[6] Wester W, Wijngaard J, Zijm M. Order acceptance strategies in a production-to-order environment with setup times and due-dates. International Journal ofProduction Research 1992;30:1313–26.

[7] Roundy R, Chen D, Chen P, Cakanyildirim M. Capacity-driven acceptance ofcustomer orders for a multi-stage batch manufacturing system: models andalgorithms. IIE Transactions 2005;37:1093–105.

[8] Yang B, Geunes J. A single resource scheduling problem with job-selectionflexibility, tardiness costs and controllable processing times. Computers andIndustrial Engineering 2007;53(2):420–32.

[9] Chen Y, Lu Y, Yang G. Hybrid evolutionary algorithm with marriage of geneticalgorithm and extremal optimization for production scheduling. InternationalJournal of Advanced Manufacturing Technology 2008;36:959–68.

[10] Geunes J, Romeijn H, Taaffe K. Requirements planning with pricing and orderselection flexibility. Operations Research 2006;54:394–401.

[11] Allahverdi A, Gupta J, Aldowaisan T. A review of scheduling research involvingsetup considerations, Omega. International Journal of Management Science1999;27:219–39.

[12] Yang W, Liao C. Survey of scheduling involving setup times. InternationalJournal of Systems Science 1999;30(2):143–55.

[13] Oguz C, Salman FS, Yalcin ZB. Order acceptance and scheduling decisions inmake-to-order systems. International Journal of Production Economics2010;125(1):200–11.

[14] Lawler E, Lenstra J, Rinnooy Kan A. Recent developments in deterministicsequencing and scheduling a survey. In: Dempster M, Lenstra J, Rinnooy Kan A,editors. Deterministic and stochastic scheduling; 1982. p. 35–73.

[15] Glover F. Future paths for integer programming and links to artificialintelligence. Computers and Operations Research 1986;13:533–43.

[16] Bilge U, Kurtulan M, Kirac F. A tabu search algorithm for single machine totalweighted tardiness problem. European Journal of Operational Research2007;176:1423–35.

[17] Wan G, Yen B. Tabu search for single machine scheduling with distinct duewindows and weighted earliness/tardiness penalties. European Journal ofOperational Research 2002;142:271–81.

[18] Choobineh F, Mohebbi E, Khoo H. A multi-objective tabu search for a single-machine scheduling problem with sequence dependent setup times. EuropeanJournal of Operational Research 2006;175:318–37.

[19] Bozejko W, Grabowski J, Wodecki M. Block approach-tabu search algorithm forsingle machine total weighted tardiness problem. Computers and IndustrialEngineering 2006;50:1–14.

[20] Woodruff D, Spearman M. Sequencing and batching for two classes of jobs withdeadlines and setup times. Production and Operations Management1992;1(1):87–102.

[21] Mitchell M. An introduction to genetic algorithms. Cambridge, MA: MIT Press;1996.

[22] Kim S, Lee Y, Agnihotri D. A hybrid approach to sequencing jobs usingheuristic rules and neural networks. Production Planning Control 1995;6(4):445–54.

[23] Lee Y, Bhaskaran K, Pinedo M. A heuristic to minimize the total weightedtardiness with sequence dependent setups. IIE Transactions 1997;29:45–52.

[24] Potts C, Wassenhove LV. A branch and bound algorithm for the total weightedtardiness problem. Operations Research 1984;33(2):363–77.

[25] Akturk M, Ozdemir D. An exact approach to minimizing total weightedtardiness problem with release. IIE Transactions 2000;32(11):1091–101.