Planning production using mathematical programming: The case of a woodturning company

6
Computers & Operations Research 36 (2009) 2173--2178 Contents lists available at ScienceDirect Computers & Operations Research journal homepage: www.elsevier.com/locate/cor Planning production using mathematical programming: The case of a woodturning company Rafael Pastor a,b, , Jordi Altimiras b , Manuel Mateo b a Institute of Industrial and Control Engineering (IOC), Spain b Department of Management, Technical University of Catalonia, Spain ARTICLE INFO ABSTRACT Available online 13 August 2008 Keywords: Production planning Mixed-integer linear programming Herein we present a case of production planning in a woodturning company. The company wishes to plan the turning of various types of products of different radii in a set of parallel machines (lathes) and with the following principal conditions: for each type of product there is a minimum production lot size; some lathes cannot manufacture every type of product; the production capacity of a lathe depends on the lathe itself and the type of product to be manufactured; the products are classified into families according to radius; and there is an intra-family setup time (for manufacturing different products that have the same radius) and an inter-family setup time (for consecutively manufacturing products that have different radii), which is longer; part of the production can be subcontracted; each type of product can be manufactured on different lathes and/or subcontracted; and the operators can work overtime, during which additional time they can simultaneously operate multiple lathes. The goal is to meet the demand at minimum cost, which includes the cost of any overtime plus that of any subcontracting. The problem was modelled and solved by mixed-integer linear programming (MILP). The company considers the results to be satisfactory. © 2008 Elsevier Ltd. All rights reserved. 1. Introduction The production planning problem is common to many produc- tion systems, and typically implies assigning the required tasks to the available resources. Given its combinatorial nature, the planning problem—which consists in determining the number of products to be produced in a set of parallel machines—is often very difficult to solve optimally; this is especially true when additional factors such as setup times must be considered. This work deals with the problem of production planning in a woodturning company. The function of said planning is to establish the delivery dates of orders and to produce at minimum cost. Plan- ning is presently done manually. It is time-consuming and inefficient and, according to the company, could be improved. Moreover, the results depend on the experience of the planner. Therefore, our goal was to improve and facilitate the planning process while maintain- ing all the constraints on the company's production system. The purpose of the paper is to describe, model and solve opti- mally a problem of planning and scheduling in a real-life production Corresponding author at: IOC—Institute of Industrial and Control Engineering, Av. Diagonal 647 (Edif. ETSEIB), 11th floor, 08028 Barcelona, Spain. Tel.: + 34 93 401 17 01; fax: +34 93 401 66 05. E-mail addresses: [email protected] (R. Pastor), [email protected] (M. Mateo). 0305-0548/$ - see front matter © 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2008.08.005 system. The problem seeks to meet the demand for different prod- ucts at the lowest cost, subject to capacity constraints, setup times, the possibility of overtime and subcontracting and some other conditions. A mixed-integer linear program (MILP) is proposed for planning and scheduling the woodturning operations; the opti- mal solution can be reached quite fast with standard optimisation software. The company is located in Spain and works with cylinders of wood which are turned to obtain the final product. In a given window of time (the planning horizon), the company must manufacture a specific demand quantity of each type of product. In addition to using its productive capacity (its lathes), the company can also subcontract part of the manufacturing, at a specific cost for each type of product. The products are classified into families according to each of the existing radii. Each type of product can be assigned on more than one lathe, and for each lathe selected for manufacturing there is a minimum production lot size; all or part of the required quantity can be subcontracted. The lathes have setup times of two types: an intra-family setup time, for consecutively manufacturing different products of the same family, and an inter-family setup time, for consecutively manufacturing products of different families. The operators can work overtime, during which additional time they can simultaneously operate a maximum number of lathes. The number of units of each product that can be subcontracted is unlim- ited; however, the time available in the planning horizon for each

Transcript of Planning production using mathematical programming: The case of a woodturning company

Computers & Operations Research 36 (2009) 2173 -- 2178

Contents lists available at ScienceDirect

Computers &Operations Research

journal homepage: www.e lsev ier .com/ locate /cor

Planning production usingmathematical programming: The case of awoodturning company

Rafael Pastora,b,∗, Jordi Altimirasb, Manuel Mateob

aInstitute of Industrial and Control Engineering (IOC), SpainbDepartment of Management, Technical University of Catalonia, Spain

A R T I C L E I N F O A B S T R A C T

Available online 13 August 2008

Keywords:Production planningMixed-integer linear programming

Herein we present a case of production planning in a woodturning company. The company wishes to planthe turning of various types of products of different radii in a set of parallel machines (lathes) and withthe following principal conditions: for each type of product there is a minimum production lot size; somelathes cannot manufacture every type of product; the production capacity of a lathe depends on the latheitself and the type of product to be manufactured; the products are classified into families according toradius; and there is an intra-family setup time (for manufacturing different products that have the sameradius) and an inter-family setup time (for consecutively manufacturing products that have different radii),which is longer; part of the production can be subcontracted; each type of product can be manufacturedon different lathes and/or subcontracted; and the operators can work overtime, during which additionaltime they can simultaneously operate multiple lathes. The goal is to meet the demand at minimum cost,which includes the cost of any overtime plus that of any subcontracting. The problem was modelled andsolved by mixed-integer linear programming (MILP). The company considers the results to be satisfactory.

© 2008 Elsevier Ltd. All rights reserved.

1. Introduction

The production planning problem is common to many produc-tion systems, and typically implies assigning the required tasks tothe available resources. Given its combinatorial nature, the planningproblem—which consists in determining the number of products tobe produced in a set of parallel machines—is often very difficult tosolve optimally; this is especially true when additional factors suchas setup times must be considered.

This work deals with the problem of production planning in awoodturning company. The function of said planning is to establishthe delivery dates of orders and to produce at minimum cost. Plan-ning is presently done manually. It is time-consuming and inefficientand, according to the company, could be improved. Moreover, theresults depend on the experience of the planner. Therefore, our goalwas to improve and facilitate the planning process while maintain-ing all the constraints on the company's production system.

The purpose of the paper is to describe, model and solve opti-mally a problem of planning and scheduling in a real-life production

∗ Corresponding author at: IOC—Institute of Industrial and Control Engineering,Av. Diagonal 647 (Edif. ETSEIB), 11th floor, 08028 Barcelona, Spain.Tel.: + 34934011701; fax: +34934016605.

E-mail addresses: [email protected] (R. Pastor), [email protected](M. Mateo).

0305-0548/$ - see front matter © 2008 Elsevier Ltd. All rights reserved.doi:10.1016/j.cor.2008.08.005

system. The problem seeks to meet the demand for different prod-ucts at the lowest cost, subject to capacity constraints, setup times,the possibility of overtime and subcontracting and some otherconditions. A mixed-integer linear program (MILP) is proposed forplanning and scheduling the woodturning operations; the opti-mal solution can be reached quite fast with standard optimisationsoftware.

The company is located in Spain and works with cylinders ofwoodwhich are turned to obtain the final product. In a givenwindowof time (the planning horizon), the company must manufacture aspecific demand quantity of each type of product. In addition to usingits productive capacity (its lathes), the company can also subcontractpart of the manufacturing, at a specific cost for each type of product.

The products are classified into families according to each of theexisting radii. Each type of product can be assigned on more thanone lathe, and for each lathe selected for manufacturing there is aminimum production lot size; all or part of the required quantitycan be subcontracted. The lathes have setup times of two types: anintra-family setup time, for consecutively manufacturing differentproducts of the same family, and an inter-family setup time, forconsecutively manufacturing products of different families.

The operators can work overtime, during which additional timethey can simultaneously operate a maximum number of lathes. Thenumber of units of each product that can be subcontracted is unlim-ited; however, the time available in the planning horizon for each

2174 R. Pastor et al. / Computers & Operations Research 36 (2009) 2173 -- 2178

lathe is limited. The objective is to meet the demand within theplanning horizon and at a minimised overall cost (overtime plussubcontracting).

The first contribution of the paper is to present a real-life applica-tion that shows (to practitioners and researchers) how a planner canmodel and optimise the production of a complex production system.The data, the model and the computational results are described indetail to permit to reconstruct the model and solve the problemwiththe same, improved or other solution methods. Moreover, it showshow potentially very complex problems can be sometimes solvedwith an exact procedure and standard software, taking advantage ofwell-known techniques; therefore, the use of exact procedures couldbe recommended before the development of ad-hoc heuristics. Fi-nally, a useful planning tool is provided to a particular woodturningcompany.

The remaining parts of this paper are organised as follows. Sec-tion 2 provides an overview of the relevant literature. Section 3.1describes in detail the problem, Section 3.2 shows how the problemis modelled as a MILP and Section 3.3 presents the results of thecomputational experiment used to validate the procedure. Finally,Section 4 is devoted to the conclusions.

2. Literature overview

The problem at hand basically consists in determining the numberof units of each product to be manufactured in a set of parallelmachines, and incorporates both intra- and inter-family setup times.As such, it is a problem of production planning—and scheduling—fora system of machines in parallel.

The parallel machine scheduling problem is a known schedul-ing problem for machine work (e.g. [1,2]), in which the processingtimes of the operations are typically known. Various assigning andsequencing problems for two or more machines in parallel have beendescribed as highly complex; even simple problems, such as the caseof two machines—which has been shown to be NP hard—have beenreported as being difficult to solve (e.g. [3]).

Research on parallel machine scheduling has been traditionallyclassified into three different categories (e.g. [1,4]). Let tij be theprocessing time of job i onmachine j. In order of increasing difficulty:

• P, identical machines: tij = tij′ for all j�j′ and i;

• Q , uniform machines: tij = ti/vj for all j and i, vj being the speedof machine j and ti the processing time of job i at unit speed;

• R, unrelated machines: tij is arbitrary for all j and i.

The case presented here incorporates new conditions which makesolving the problem even more difficult: certain types of productcannot be manufactured on every machine; the number of prod-uct to be produced on each machine (and thus, the duration of saidwork on the machine) must be predetermined; there are intra- andinter-family setup times between jobs; and the speed of each ma-chine depends on the type of product being manufactured. Accord-ing to the classification of Graham et al. [4], the problem is of thecategory R||.

Brucker [5] presented a detailed series of special cases of task as-signment and sequencing for parallel machines: independent jobs;jobs with precedence constraints; jobs with due dates; setup times;and transport times. The review by Mokotoff [6] is also excellent.There have recently been studies on task assignment and sequenc-ing in large-scale manufacturing systems which have been con-sidered as complex manufacturing systems. To solve these, Ovacikand Uzsoy [7] developed a class of heuristic methods known asdecomposition methods. In Allahverdi et al. [8], the authors updatean earlier review [9] and also provide an overview of schedulingproblems with setup times or costs. In Allahverdi and Soroush [10],

the importance, applications and benefits of explicitly consideringsetup times/costs in scheduling research are defined and empha-sised. The authors state that “Scheduling with setup times or setupcosts plays a crucial role in today's modern manufacturing andservice environments (. . .). However, the vast majority of existingscheduling literature ignores this fact” [10, p. 978].

These kinds of problems are very difficult; therefore, simpleheuristics (e.g. [11,12]) or metaheuristics (e.g. [13–15]) must oftenbe used to solve them. Exact solutions are short; they sometimesaddress small-sized problems [16]; and they are primarily based onbranch-and-bound procedures (e.g. [17,18]).

With regard to unrelated parallel machines, efforts have beenmade to design efficient approximation algorithmswith good perfor-mance bounds. These methods are LP-based heuristics, such as thetwo-phase one proposed by Hariri and Potts [19]. Linear program-ming is used in the first phase to schedule at least some of the jobs.

Ozdamar and Bozyel [20] considered the problem of simultane-ously determining feasible family lot sizes and a feasible loading offamilies on facilities. They defined a nonlinear and integer mathe-matical model. The objective function consists inminimising the sumof the number of annual setups and the number of facilities used.Nevertheless, they developed heuristics to obtain a solution for bothof the decisions in the problem.

Chandrasekaran et al. [21] address the economic lot schedul-ing problem for a single facility. They consider sequence-dependentsetup times; the objective is to minimise the long-run average in-ventory carrying the cost and setup costs of products.

Yu et al. [22] solved a scheduling problem for unrelated parallelmachines in a printed wiring board manufacturing company. How-ever, in that case the setup times are negligible. They defined a roundas an interval of T time units. They established two additional ob-jectives, besides the usual performance measures: to minimise thenumber of lots that need more than the time units of completiontime per round and to minimise the total overtime per round, forall the machines. They used an integer programming model to findthe optimal solution within a limited solution space, and a heuristicprocedure to suppress several potential solutions beforehand.

Silva and Magalhaes [23] also presented an industrial problem inthe textile industry and proposed a heuristic. Lots of similar productsare generated and sequenced in 10 unrelated parallel machines. Inthis case, changeovers are even more important as they can occurbetween two lots of the same product. The objectives are tominimisetool changeovers and the quantity of product delivered after the duedate.

The exact solution of the parallel machine scheduling problem bymathematical programming and standard software has traditionallybeen considered to be inefficient for real-world instances. Moreover,as explained in [24], “The technique [integer programming] is well-known and reliable but it must be handled carefully, since someinteger programming formulations can require a large amount ofcomputer time. Given a problem with a few dozen of variablesone cannot be confident that integer programming will work untilit has been tried on realistic instances” (p. 105). However, recentimprovements in software and hardware have enabled remarkablereductions in the computing time needed to solve mathematicalprogramming models. Bixby [25] analysed these improvementsand concluded that the time needed to solve these models has de-creased by a factor of one million in the past 10 years. Atamturk andSavelsbergh [26] stated that “integer programming is rapidly gain-ing acceptance as a powerful computational tool that can provideoptimal or near optimal solutions to real-life strategic and oper-ational planning problems” (p. 69). Consequently, an increasingnumber of studies are focused on integer programming techniquesfor solving optimisation problems (e.g. Corominas et al. [27] usedmathematical programming to solve a real problem of a motorcycleassembly line).

R. Pastor et al. / Computers & Operations Research 36 (2009) 2173 -- 2178 2175

Based on the aforementioned precedent, we sought to explorethe potential of this exact procedure for solving our problem.

3. Solving the problem

To solve the industrial case introduced in Section 1, first we de-scribe in detail the problem (Section 3.1), and then we model it asa MILP (Section 3.2), which we then solve using ILOG CPLEX 8.1(Section 3.3).

3.1. Problem description

The industrial case to be solved involves the production planningin a company that works with cylinders of wood which are turned toobtain the final product. In a given planning horizon, the companymustmanufacture a specific demand quantity of each type of productat minimum cost.

For each type of product there is a minimum production lot size.A type of product can be assigned (and manufactured) on more thanone lathe, and for each type of product, all or part of the requiredproduction quantity can be subcontracted. Moreover, there is a min-imum quantity to be subcontracted.

The number of units of each product that can be subcontractedis unlimited; however, the time available in the planning horizonfor each lathe is known and limited. The production capacity of thelathes depends on the lathes themselves and the type of productto be manufactured; hence, for a type of product i and a lathe j, acertain number of units of this product can be manufactured in atime unit (Vij). Furthermore, some lathes cannot manufacture everytype of product.

The products are classified into families according to each of Kexisting radii. For example, there are various products that have aradius of 60, or of 53, etc.

The problem has two additional characteristics. Firstly, the latheshave important setup times of two types: an intra-family setup timeof 0.5 time units, for consecutively manufacturing different productsthat have the same radius, and an inter-family setup time of 2 timeunits, for consecutively manufacturing products that have differentradii.

The operators can work overtime (at a predetermined cost andup to a predetermined limit in the planning horizon), during whichadditional time they can simultaneously operate a maximum of NHAlathes.

The objective is to meet the demand within the planning horizonand at a minimised overall cost (which comprises the costs of anyovertime plus the cost of any subcontracting). This entails determin-ing the number of units of each product to be manufactured on eachlathe, the number of units of each product to be subcontracted andthe amount of overtime worked by each operator, as well as assign-ing the lathes which, in extra time, are assigned to each operatorwho is working overtime.

3.2. The MILP model

To solve the production planning problem for a parallel machinesystem with setup times and process speeds that vary depending onthe product type being manufactured, we formulated and solved aMILP.

The objective is to meet the demand in terms of quantity whileminimising the overall cost (which comprises the cost of any over-time plus the cost of any subcontracting). This requires determiningthe number of units of each product to be manufactured on eachmachine (lathe), the number of units of each product to be subcon-tracted and the amount of overtime worked by each operator, aswell as assigning the lathes which, in extra time, are assigned toeach operator who is working overtime.

At the beginning of the planning horizon, we consider that thelathes are not set up; as such, when a lathe is used, we must factorin a setup time of 2 time units. At the end of the planning horizon,the state of the lathes is irrelevant.

The sequence of the types of products to manufacture on a latheis that which requires the least setup time and can be immediatelyobtained. For example, to manufacture three types of products fromone family (radius) and two types from another, those from onefamily aremade first, followed by those from the other family. Hence,we must factor in 0.5 time units three times (intra-family), plus 2time units twice (inter-family).

The resulting model is outlined below.

Datai product indexj lathe (machine) indexs radius (family) indexr operator indexN number of products to be manufactured (i=1, . . . ,N)M number of lathes available (j = 1, . . . ,M)K number of different radii (s = 1, . . . ,K)R number of operators (r = 1, . . . ,R)Di demand for product i in the planning horizon (i =

1, . . . ,N)Li minimum manufacturing lot size for product i (i =

1, . . . ,N)TRi type of radius for product i (i = 1, . . . ,N)CSi cost of subcontracting the manufacturing of one unit

of product i (i = 1, . . . ,N)LSi minimum subcontracting lot size for product i (i =

1, . . . ,N)Tj time that lathe j is available in the planning horizon

(j = 1, . . . ,M)Vij number of units of type i that lathe j canmanufacture

in 1 time unit (i=1, . . . ,N; j=1, . . . ,M); Vij=0 indicatesthat lathe j cannot manufacture products of type i

TCM intra-family setup timeTCR inter-family setup timeNPsj upper bound on the number of types of products of

radius s that can be manufactured on lathe j (s =1, . . . ,K; j = 1, . . . ,M)

CHEr cost of 1 unit of overtime worked by operator r (r=1, . . . ,R)

LHEr upper bound on overtime for operator r in the plan-ning horizon (r = 1, . . . ,R)

NHAr upper bound on the number of lathes that can besimultaneously assigned to operator r when he orshe is working overtime (r = 1, . . . ,R)

Variables

Xij number of units of type i to be manufactured onlathe j (∀ij|Vij�0)

Subi number of units of type i to be subcontracted (i =1, . . . ,N)

HEr overtime worked by operator r (r = 1, . . . ,R)TEjr overtime worked by operator r on lathe j (j =

1, . . . ,M; r = 1, . . . ,R)Yij ∈ {0, 1} 1 iff at least one unit of type i is manufactured on

lathe j (∀ij|Vij�0)YSi ∈ {0, 1} 1 iff products of type i are subcontracted (i=1, . . . ,N)YRsj ∈ {0, 1} 1 iff at least one product of radius s is manufactured

on lathe j (∀sj|NPsj�0)YOjr ∈ {0, 1} 1 iff the lathe j is assigned to operator r in overtime

(j = 1, . . . ,M; r = 1, . . . ,R)

2176 R. Pastor et al. / Computers & Operations Research 36 (2009) 2173 -- 2178

Model

[MIN]z =N∑

i=1

CSi · Subi +R∑

r=1

CHEr · HEr (1)

∀j|Vij�0Xij + Subi = Di ∀i (2)

Xij�Di · Yij ∀ij|Vij�0 (3)

Xij�Li · Yij ∀ij|Vij�0 (4)

Subi�Di · YSi ∀i (5)

Subi�LSi · YSi ∀i (6)

∀i|Vij�0

XijVij

+ TCR∑

∀sj|NPsj�0YRsj + TCM

⎛⎜⎝

∀i|Vij�0Yij

−∑

∀sj|NPsj�0YRsj

⎞⎟⎠ �Tj +

R∑

r=1

TEjr ∀j (7)

∀i|(Vij�0)∧(TRi=s)

Yij�YRsj ∀sj|NPsj�0 (8)

∀i|(Vij�0)∧(TRi=s)

Yij�NPsj · YRsj ∀sj|NPsj�0 (9)

R∑

r=1

YOjr �1 ∀j (10)

M∑

j=1

YOjr �NHAr ∀r (11)

TEjr �LHEr · YOjr ∀j, ∀r (12)

HEr �TEjr ∀j, ∀r (13)

The objective function (1) minimises the cost of the overtime plusthe cost of the subcontracting; (2) imposes that the demand for eachtype of product be satisfied; (3) relates the number of units of atype of product to be manufactured on a lathe to the binary variablewhich indicates whether this type of product is manufactured onsaid lathe; (4) expresses the condition of the minimum productionlot size; (5) and (6) express the condition of the minimum subcon-tracting lot size; (7) imposes that the sum of the process time of alathe and the setup times is not greater than the total time on thelathe (the available time within the planning horizon plus the extratime worked on said lathe); (8) and (9) relate the products that aremanufactured on a lathe with the radii types that are manufacturedon said lathe; (10) ensures that, in extra time, a lathe will be as-signed to a maximum of one operator; (11) ensures that the upperbound on the number of lathes that can be assigned to a operatorin overtime is not surpassed; (12) ensures that the upper bound onthe total workable overtime for each operator is respected; and (13)provides the overtime worked by each operator.

3.3. Results

Shown below are data provided by the company for validatingthe model. The values have been modified slightly for reasons ofconfidentiality.

• N=28 types of products; M=8 lathes; K =9 radii (families); R=3operators.

Table 1Data for the types of products.

i Reference Di TRi Li LSi CSi

1 R01 28,500 60 4000 1000 0.1082 R02 21,500 60 4000 1000 0.1083 R03 14,500 53 4000 1000 0.1024 R04 11,000 53 4000 1000 0.1025 R05 22,000 53 4000 1000 0.0906 R06 21,000 50 5000 1000 0.0847 R07 12,500 50 5000 1000 0.0968 R08 12,000 50 5000 1000 0.0849 R09 18,000 50 5000 1000 0.07210 R10 24,000 43 5000 2000 0.07811 R11 24,000 43 5000 2000 0.09012 R12 36,500 43 5000 2000 0.07813 R13 37,000 43 5000 2000 0.08414 R14 60,000 38 5000 2000 0.08415 R15 44,500 38 5000 2000 0.07816 R16 24,000 38 5000 2000 0.07817 R17 35,000 33 5000 2000 0.07218 R18 41,000 33 5000 2000 0.06019 R19 80,000 33 5000 2000 0.06020 R20 40,000 33 5000 2000 0.07221 R21 25,000 30 5000 2000 0.07222 R22 21,500 30 5000 2000 0.06623 R23 20,000 30 5000 2000 0.06624 R24 35,000 20 7000 2000 0.06025 R25 22,000 20 7000 2000 0.05426 R26 34,500 16 7000 2000 0.05427 R27 35,000 16 7000 2000 0.04828 R28 24,000 16 7000 2000 0.048

Table 2Data for the lathes.

Reference Lathes

1 2 3 4 5 6 7 8

R01 381 324R02 354 310R03 274 277R04 269 251R05 296 252R06 247 260 233R07 242 250 245R08 280 294 276R09 293 301 284R10 243 262 244 219 258 238R11 241 250 239 244 245 222R12 259 271 260 233 269 249R13 228 238 231 233 229 209R14 307 300 317 283 269R15 312 309 304 299 287R16 301 325 327 305 294R17 448 466 465 486 496R18 479 459 451 505 509R19 443 438 440 448 455R20 453 463 455 480 488R21 398 409 418 426R22 434 430 443 477R23 417 417 425 444R24 454R25 500R26 489R27 462R28 462

Tj 168 168 168 168 168 168 168 168

• For each type of product, the demand is known for nine planningperiods. The corresponding reference and first planning period de-mand (Di) for each type of product i is shown in Table 1. The tablealso lists, for each i, the radius (TRi); the minimum production lotsize (Li); the minimum subcontracting lot size (LSi); and the costof subcontracting the manufacture of one unit (CSi).

R. Pastor et al. / Computers & Operations Research 36 (2009) 2173 -- 2178 2177

• Table 2 shows the number of units of product i that can be manu-factured on lathe j in 1 time unit (Vij); Vij = ∅ indicates that lathej cannot manufacture products of type i. The table also shows, foreach lathe j, the number of time units available in the first plan-ning period (Tj).

• TCM = 0.5 time units; TCR = 2 time units.• CHEr =7.83 monetary units/time unit; LHEr =82 time units for the

first planning period; NHAr = 3 lathes.

We solved the formulated MILPs using ILOG CPLEX 8.1 on a 1.8MHzPentium IV PC with 512Mb RAM.

Table 3 lists, for each of the nine planning periods (PP1 to PP9), thecalculation time (in seconds) required to find the optimal solution(Timeopt); the required calculation time with an allowed gap of 1%and, separated by a backslash, the real percentage difference with thevalue of the optimal solution (Time1%/gap); and the type of solution

Table 3Results for the nine planning periods.

Planning period Timeopt Time1%/gap Sol1000

PP1 9898 994/0.27% 0.27%PP2 879 21/0.22% OptimumPP3 818 26/0% OptimumPP4 50 15/0.18% OptimumPP5 670 84/0.21% OptimumPP6 10,304 1317/0.043% 0.043%PP7 255 8/0.13% OptimumPP8 998 40/0.046% OptimumPP9 124 6/0.073% Optimum

Table 4Solution for the first planning period.

Reference Di Lathes Subi

1 2 3 4 5 6 7 8

R01 28,500 28,500 0 0R02 21,500 21,500 0 0R03 14,500 0 14,500 0R04 11,000 11,000 0 0R05 22,000 20,297 0 1703R06 21,000 0 19,386 0 1614R07 12,500 0 0 12,500 0R08 12,000 0 0 12,000 0R09 18,000 0 0 16,419 1581R10 24,000 0 0 0 0 5363 0 18,637R11 24,000 0 0 0 0 24,000 0 0R12 36,500 0 0 0 0 34.500 0 2000R13 37,000 0 0 0 0 0 0 37,000R14 60,000 0 0 60,000 0 0 0R15 44,500 0 33,496 0 0 11,004 0R16 24,000 0 5000 19,000 0 0 0R17 35,000 0 0 0 35,000 0 0R18 41,000 5000 0 0 36,000 0 0R19 80,000 71,101 0 0 8899 0 0R20 40,000 0 0 0 40,000 0 0R21 25,000 0 25,000 0 0 0R22 21,500 0 5000 0 16,500 0R23 20,000 0 20,000 0 0 0R24 35,000 35,000 0R25 22,000 22,000 0R26 34,500 34,500 0R27 35,000 0 35,000R28 24,000 7745 16,255

Label Lathes HEr

1 2 3 4 5 6 7 8

W1 82.00 81.88 82.00 82.00W2 82.00 82.00 82.00 82.00W3 82.00 82.00 82.00

(either optimal or with a percentage difference with the optimal-solution value) obtained at a maximum computation time of 1000 s(Sol1000).

Table 3 reveals that the optimal solution can be obtained in apermissible calculation time (considering the problem that is beingsolved). Moreover, it shows that at a gap equal to 1% the problemis solved in less than 1.5min and with a percentage difference withthe optimal-solution value of less than 0.3% for seven out of the ninecases. Lastly, a calculation time of 1000 s always leads to either theoptimal solution or a solution that diverges only slightly from theoptimal-solution value.

The advantages of the work developed here are listed below.These improvements were arrived at jointly by our research teamand the company:

• The solutions of themodel are better than those obtainedmanually(for reasons of confidentiality, we cannot publish the percentageimprovement).

• The potential capacity is better used, which leads to lower overtimeand a lower subcontracting cost.

• Significant savings are achieved in the time dedicated to planning.• Different scenarios can be simulated, and rescheduling based on a

previous plan can be performed.

Lastly, Table 4 shows the optimal solution for the first planning pe-riod. For each type of product, it lists the corresponding reference;the demand to be met (Di); the number of units to be manufacturedon each lathe; and the number of units to be subcontracted (Subi).Under these values, for each operator it lists the corresponding

2178 R. Pastor et al. / Computers & Operations Research 36 (2009) 2173 -- 2178

worker label (W1 to W3); the extra time dedicated to each lathe(and hence, the lathes that are assigned in extra time); and the extratime worked (HEr).

The mathematical programming model developed was handedover to the company. The company itself designed a simple interfaceto make the results given by CPLEX understandable to the planner.Moreover, the company wished to print the production sheets foreach lathe and each worker who had to work overtime.

4. Conclusions and future research

We have presented a case of production planning in a woodturn-ing company. The company wishes to plan the turning of varioustypes of products from different families of radial values, on a setof parallel lathes. Various conditions must be satisfied, the most im-portant of which are as follows: there are intra- and inter-familysetup times; the processing speed of the lathes varies as a functionof the type of product being manufactured; and the operators canwork overtime, and simultaneously operate various lathes. The goalis to meet the demand within a planning horizon and at a minimisedoverall cost (which comprises the cost of any overtime plus the costof any subcontracting).

We modelled and solved the problem by MILP, and the solu-tions we obtained in a short computation time are optimal or near-optimal. We therefore conclude that our model can be solved effi-ciently.

The company validated our procedure and found the results to besatisfactory. They also identified a set of advantages to the method:the solutions are better than those obtained manually; better use ismade of potential capacity, which in turn decreases cost; significantsavings are made in the time dedicated to planning; and simulationand rescheduling are possible.

The problem addressed in this paper is a combinatorial optimi-sation problem. Therefore, if the instance size increases the solutionprocedure proposed will not be appropriate (our solution procedurewill not be able to find an optimal solution in an acceptable time).Our future research will consider the design of efficient heuristicprocedures for the problem, with the heuristics of Hendizadeh et al.[28] and Hmida et al. [29] as the starting point.

Acknowledgements

The authors are very grateful to the anonymous reviews for hisvaluable commentswhich have helped to enhance this paper. The au-thors gratefully acknowledge the support of Grants DPI2007-61371and DPI2007-61905 (Ministerio de Educación y Ciencia, Spain, andFEDER).

References

[1] Pinedo ML. Scheduling theory algorithms and systems. 2nd ed, EnglewoodCliffs, NJ: Prentice-Hall; 2002.

[2] Pinedo ML. Planning and scheduling in manufacturing and services. New York:Springer; 2005.

[3] Blazewicz J, Ecker KH, Pesch E, Schmidt G, Weglarz J. Scheduling computer andmanufacturing processes. Berlin: Springer; 2001.

[4] Graham RL, Lawler EL, Johnson DS, Lenstra JK, Rinnooy K. Optimization andapproximation in deterministic sequencing and scheduling theory: a survey.Annals of Discrete Mathematics 1979;5:287–326.

[5] Bruker P. Scheduling algorithms. New York: Springer; 1998.[6] Mokotoff E. Parallel machine scheduling problems: a survey. Asia-Pacific Journal

of Operational Research 2001;18:193–242.[7] Ovacik I, Uzsoy R. Decomposition methods for complex factory scheduling

problems. Dordrecht: Kluwer Academic Publishers; 1997.[8] Allahverdi A, Ng CT, Cheng TCE, Kovalyov MY. A survey of scheduling

problems with setup times or costs. European Journal of Operational Research2008;187:985–1032.

[9] Allahverdi A, Gupta JND, Aldowaisan T. A review of scheduling researchinvolving setup considerations. OMEGA—International Journal of ManagementScience 1999;27:219–39.

[10] Allahverdi A, Soroush HM. The significance of reducing setup times/setup costs.European Journal of Operational Research 2008;187:978–84.

[11] Sun H, Wang G. Parallel machine earliness and tardiness scheduling withproportional weights. Computers and Operational Research 2003;30:801–8.

[12] Dunstall S, Wirth A. Heuristic methods for the identical parallel machineflowtime problem with set-up times. Computers and Operations Research2005;32:2479–91.

[13] Rojanasoonthon S, Bard J. A GRASP for parallel machine scheduling with timewindows. INFORMS Journal on Computing 2005;17:32–51.

[14] Anghinolfi D, Paolucci M. Parallel machine total tardiness scheduling witha new hybrid metaheuristic approach. Computers and Operations Research2007;34:3471–90.

[15] Logendran R, McDonell B, Smucker B. Scheduling unrelated parallel machineswith sequence-dependent setups. Computers and Operations Research2007;34:3420–38.

[16] Horowitz E, Sahni S. Exact and approximate algorithms for schedulingnonidentical processors. Journal of the Association for Computing Machinery1976;24:317–27.

[17] Rocha PL, Ravetti MG, Mateus GR, Pardalos PM. Exact algorithms for a schedulingproblem with unrelated parallel machines and sequence and machine-dependent setup times. Computers and Operations Research 2008;35:1250–64.

[18] Shim S-O, Kim Y-D. A branch and bound algorithm for an identical parallelmachine scheduling problem with a job splitting property. Computers andOperations Research 2008;35:863–75.

[19] Hariri AMA, Potts CN. Heuristics for scheduling unrelated parallel machines.Computers and Operations Research 1991;18:323–31.

[20] Ozdamar L, Bozyel MA. Simultaneous lot sizing and loading of product familieson parallel facilities of different classes. International Journal of ProductionResearch 1998;36:1305–24.

[21] Chandrasekaran C, Rajendran C, Krishnaiah OV, Hanumanna D. Metaheuristicsfor solving economic lot scheduling problems (ELSP) using time-varying lot-sizes approach. European Journal of Industrial Engineering 2007;1(2):152–81.

[22] Yu L, Shih HM, Pfund M, Carlyle WM, Fowler JW. Scheduling of unrelatedparallel machines: an application to PWB manufacturing. IIE Transactions onScheduling and Logistics 2002;34:921–31.

[23] Silva C, Magalhaes JM. Heuristic lot size scheduling on unrelated parallelmachines with applications in the textile industry. Computers and IndustrialEngineering 2006;50:76–89.

[24] Billionnet A. Integer programming to schedule a hierarchical workforce withvariable demands. European Journal of Operational Research 1999;114:105–14.

[25] Bixby RE. Solving real-world linear programs: a decade and more of progress.Operations Research 2002;50:3–15.

[26] Atamturk A, Savelsbergh MWP. Integer-programming software systems. Annalsof Operations Research 2005;140:67–124.

[27] Corominas A. Pastor R, Plans J. Balancing assembly line with skilled andunskilled workers. OMEGA—International Journal of Management Science 2008;36:1126–32.

[28] Hendizadeh SH, ElMekkawy TY, Wang GG. Bi-criteria scheduling of a flowshopmanufacturing cell with sequence dependent setup times. European Journal ofIndustrial Engineering 2007;1(4):391–413.

[29] Hmida AB, Huguet MJ, Lopez P, Haouari M. Climbing depth-bounded discrepancysearch for solving hybrid flow shop problems. European Journal of IndustrialEngineering 2007;1(2):223–43.