Scheduling a single machine with concurrent jobs for the frozen food industry

9
Scheduling a single machine with concurrent jobs for the frozen food industry Pachara Chatavithee a , Kullapapruk Piewthongngam b,, Supachai Pathumnakul a a Supply Chain and Logistics System Research Unit, Faculty of Engineering, Khon Kaen University, Khon Kaen 40002, Thailand b Esaan Center for Business and Economic Research, Faculty of Management Science, Khon Kaen University, Khon Kaen, Thailand article info Article history: Received 23 April 2015 Received in revised form 5 September 2015 Accepted 7 September 2015 Available online 12 September 2015 Keywords: Scheduling Mathematical model Single machine Heuristic algorithm abstract This study examines the air blast freezing process of the frozen food industry, which processes multiple products with variable processing rates. The analysis depicts a new, single machine-scheduling problem in which the machine can process multiple jobs concurrently, within its capacity. The machine processes independent jobs arriving at various times while incurring interruption costs when allowing the jobs to enter or leave the machine. A mixed integer linear programming (MILP) model and a heuristic algorithm are developed for scheduling, the objectives of which are to minimize the costs associated with machine activities including that of waiting to load, waiting to unload and interruption time. The heuristic algo- rithm demonstrates the high potential of the computational time savings by obtaining the solution within one-fifth of the mathematical model computational time. Ó 2015 Elsevier Ltd. All rights reserved. 1. Introduction Batching machine scheduling problems have been scrupulously studied for a number of decades (i.e., Webster & Baker (1995), Potts & Kovalyov (2000); Brucker (2007), Liu, Ng, & Cheng (2010), Cheng, Cai, Yang, & Hu (2014), Suppiah & Omar (2014)). Typically, a batch processing model is the joint processing of a group of jobs. With this type of processing, no interruption is allowed during the pro- cess and no other jobs can be introduced into the machine until the processing of the batch is complete. Hence, jobs in the batch share start and departure times (Webster & Baker, 1995). These types of scenarios are often found in a heat-treatment or a burn-in opera- tion, such as in an oven with a finite capacity (Webster & Baker, 1995). Despite its broad applications in many industries, batch pro- cessing may not be suitable in others. In an attempt to make pro- cessing model applicable in a particular industry, Tang and Zhao (2008) developed a dynamic programming model that minimizing makespan and total completion time for steel production. Their model aims to address a semi-continuous batch scheduling prob- lem with a single machine (heating furnace) that processes multi- ple jobs simultaneously. Another non-batch processing model was developed by Wang and Tang (2011). Their mathematical model and particle swarm optimization algorithm addresses a single machine which capable of processing multiple job simultaneously. Jobs enter and leave the machine continuously one by one, though the model requires all jobs to be ready for processing at time zero. Significantly distinct from past research, our study considers the single machine (i.e., the air blast freezing machine) that can process multiple jobs (i.e., the product trolleys) concurrently. There is no mechanism for all jobs to be processed at time zero. Each job has a distinct ready time, which is the completion time of job at the previous workstation. Furthermore, the processing times of each job are not identical. The cost of machine interruption is consid- ered. The studied problem is specific to the frozen food industry with a single machine—the Air blast freezers. Air blasting is a com- monly used method of freezing food; it is economical, hygienic and relatively non-corrosive to equipment. Air blast freezers are designed to supply cool air over the food product with a uniform air velocity throughout the freezer (Dempsey & Bansal, 2012). In a blast room freezer, the products are stacked on pallets or trolleys and manually loaded into the freezer (as shown in Fig. 1). Because the pallets or trolleys are manually loaded into the freezer, the low freezing rate products are removed from the freezer earlier than those products with a higher freezing rate. The number of trolleys determines the capacity of the blast room, so these machines can process or freeze a number of jobs simultaneously. More detailed characteristics of the Air blast freezing frozen food case are as follows: http://dx.doi.org/10.1016/j.cie.2015.09.004 0360-8352/Ó 2015 Elsevier Ltd. All rights reserved. Corresponding author. Tel.: +66 43 202401; fax: +66 43 202402. E-mail addresses: [email protected] (P. Chatavithee), [email protected] (K. Piewthongngam), [email protected] (S. Pathumnakul). Computers & Industrial Engineering 90 (2015) 158–166 Contents lists available at ScienceDirect Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie

Transcript of Scheduling a single machine with concurrent jobs for the frozen food industry

Computers & Industrial Engineering 90 (2015) 158–166

Contents lists available at ScienceDirect

Computers & Industrial Engineering

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

Scheduling a single machine with concurrent jobs for the frozen foodindustry

http://dx.doi.org/10.1016/j.cie.2015.09.0040360-8352/� 2015 Elsevier Ltd. All rights reserved.

⇑ Corresponding author. Tel.: +66 43 202401; fax: +66 43 202402.E-mail addresses: [email protected] (P. Chatavithee), [email protected]

(K. Piewthongngam), [email protected] (S. Pathumnakul).

Pachara Chatavithee a, Kullapapruk Piewthongngamb,⇑, Supachai Pathumnakul a

a Supply Chain and Logistics System Research Unit, Faculty of Engineering, Khon Kaen University, Khon Kaen 40002, Thailandb Esaan Center for Business and Economic Research, Faculty of Management Science, Khon Kaen University, Khon Kaen, Thailand

a r t i c l e i n f o a b s t r a c t

Article history:Received 23 April 2015Received in revised form 5 September 2015Accepted 7 September 2015Available online 12 September 2015

Keywords:SchedulingMathematical modelSingle machineHeuristic algorithm

This study examines the air blast freezing process of the frozen food industry, which processes multipleproducts with variable processing rates. The analysis depicts a new, single machine-scheduling problemin which the machine can process multiple jobs concurrently, within its capacity. The machine processesindependent jobs arriving at various times while incurring interruption costs when allowing the jobs toenter or leave the machine. A mixed integer linear programming (MILP) model and a heuristic algorithmare developed for scheduling, the objectives of which are to minimize the costs associated with machineactivities including that of waiting to load, waiting to unload and interruption time. The heuristic algo-rithm demonstrates the high potential of the computational time savings by obtaining the solutionwithin one-fifth of the mathematical model computational time.

� 2015 Elsevier Ltd. All rights reserved.

1. Introduction

Batching machine scheduling problems have been scrupulouslystudied for a number of decades (i.e., Webster & Baker (1995), Potts& Kovalyov (2000); Brucker (2007), Liu, Ng, & Cheng (2010), Cheng,Cai, Yang, & Hu (2014), Suppiah & Omar (2014)). Typically, a batchprocessing model is the joint processing of a group of jobs. Withthis type of processing, no interruption is allowed during the pro-cess and no other jobs can be introduced into the machine until theprocessing of the batch is complete. Hence, jobs in the batch sharestart and departure times (Webster & Baker, 1995). These types ofscenarios are often found in a heat-treatment or a burn-in opera-tion, such as in an oven with a finite capacity (Webster & Baker,1995).

Despite its broad applications in many industries, batch pro-cessing may not be suitable in others. In an attempt to make pro-cessing model applicable in a particular industry, Tang and Zhao(2008) developed a dynamic programming model that minimizingmakespan and total completion time for steel production. Theirmodel aims to address a semi-continuous batch scheduling prob-lem with a single machine (heating furnace) that processes multi-ple jobs simultaneously. Another non-batch processing model wasdeveloped by Wang and Tang (2011). Their mathematical model

and particle swarm optimization algorithm addresses a singlemachine which capable of processing multiple job simultaneously.Jobs enter and leave the machine continuously one by one, thoughthe model requires all jobs to be ready for processing at time zero.

Significantly distinct from past research, our study considersthe single machine (i.e., the air blast freezing machine) that canprocess multiple jobs (i.e., the product trolleys) concurrently. Thereis no mechanism for all jobs to be processed at time zero. Each jobhas a distinct ready time, which is the completion time of job at theprevious workstation. Furthermore, the processing times of eachjob are not identical. The cost of machine interruption is consid-ered. The studied problem is specific to the frozen food industrywith a single machine—the Air blast freezers. Air blasting is a com-monly used method of freezing food; it is economical, hygienic andrelatively non-corrosive to equipment. Air blast freezers aredesigned to supply cool air over the food product with a uniformair velocity throughout the freezer (Dempsey & Bansal, 2012). Ina blast room freezer, the products are stacked on pallets or trolleysand manually loaded into the freezer (as shown in Fig. 1). Becausethe pallets or trolleys are manually loaded into the freezer, the lowfreezing rate products are removed from the freezer earlier thanthose products with a higher freezing rate. The number of trolleysdetermines the capacity of the blast room, so these machines canprocess or freeze a number of jobs simultaneously. More detailedcharacteristics of the Air blast freezing frozen food case are asfollows:

Table 1Parameters of a 10-job example case.

Job 1 2 3 4 5 6 7 8 9 10

Arrival time (unit time) 0 0 15 20 30 40 45 60 60 75Processing time (unit

time)25 45 30 30 30 45 35 20 25 20

Fig. 1. Air blast freezing machine.

P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166 159

� As food manufacturing produces multiple products with theirown unique characteristics, packaging material and geometry,the products require different freezing rates (Dempsey &Bansal, 2012). The frozen food is a case of multiple productsthat have varying processing times.

� The interruption costs of freezing are mainly from the cost ofenergy consumption (Liu, Chang, & Lin, 2004) and the food qual-ity (Li & Sun, 2002). That is because freezing is one of the mostenergy consuming processes (Chourot, Macchi, Fournaison, &Guilpart, 2003). Operating the freezer efficiently often reducesthe energy consumption and hence lowers the operating costfor the firm. In this sense, optimal freezing systems are oftenconcerned with and designed for energy saving (Dempsey &Bansal, 2012). With respect to food quality, improper freezingrate and small ice crystals formation during freezing can dam-age food tissue, and thus, food quality (Li & Sun, 2002), efficientfreezing process is therefore crucial to preserve food quality.

� The ‘cost of the jobs waiting to be processed’ is also introducedin our model. In our food case, the ‘cost of the jobs waiting to beprocessed’ is mainly incurred to keep food safe. A leading causeof foodborne illness is time and temperature control violation.The amount of time food spends in the temperature dangerzone (41–140�F) should be reduced to lower the risk of growingfood pathogens.

To conserve energy and preserve food quality due to the free-zer being interrupted, it is necessary to minimize the number offreezer-door opens during production. In practice, to reduce theunnecessary interruption by the opening of the freezer doors,queued jobs may not be loaded immediately upon arrival atthe freezing station, even if the machine has available capacity.Jobs can be delayed to wait for the arrival of the next job(s)to load multiple jobs simultaneously, or jobs can be loaded whenthe current job completes and the machine is unloaded. Simi-larly, it may not be necessary for jobs to be unloaded from themachine once they complete the freezing process. The job mayremain in the machine until other jobs are completed andunloaded. The difficulty then becomes how to determine thesuitable loading and unloading schedule needed to minimizethe associated costs including the cost of the jobs waiting tobe processed, the machine interruption costs (i.e., cost offreezer-door open) and the cost of jobs needing to be delayedin the machine after the process has completed.

To illustrate the characteristics of the research problem, con-sider an example of processing 10 jobs (i.e., product trolleys)with ready times (i.e., the times that jobs arrive at the air blastmachine) and processing times as illustrated in Table 1. Themachine capacity is assumed to be 3 jobs at once. Fig. 2 showsthe schedule of the problem. The process is interrupted eighttimes, six times when new jobs are loaded and two times whenjobs are unloaded from the machine, at times 105 and 125,respectively. At time 0, Job 1 and Job 2 are loaded into themachine. There is capacity availability at this time, so whenJob 3 arrives at time 15, it is immediately processed. Becausethe processing time of Job 1 is 25 units of time, Job 4 arrivesat time 20 and can be processed at the next available capacityopening, also occurring at time 25. The completion times ofJob 2 and Job 3 are at time 45, which is also the time whenJob 5 and Job 7 start. Though Job 5 and Job 7 start at the sametime, the processing time of Job 5 is 5 units of time less than Job6. Hence, it may be more economical to cause Jobs 5 and 6 toleave the machine at the same time as Job 7 to minimize theinterruption cost. The example displays that the processingtime of Job 5 is 5 units of time longer than required processingtime.

2. Problem formulation

In this section, the scheduling of a set of jobs with an alteredready time is modelled, for a single machine capable of concur-rently processing multiple jobs. The freezing operation by theair-blast machine in the frozen food industry is used as an examplecase for the model. The objective function of the model is to min-imize the cost related to scheduling decisions. The problem charac-teristics can be summarized as follows:

(1) There are independent jobs to be processed. The arrival timeand the processing time of jobs are not uniform andassumed to be deterministic.

(2) The single machine can process multiple jobs concurrently.(3) The jobs can be loaded into the machine after they arrive, if

machine capacity is available, and they can be unloadedfrom the machine after processing is completed. Staying inthe machine longer than the required processing time isallowed.

(4) There are three major costs involved with the schedulingdecisions:

� The cost of the machine interruption when loading a job

while the machine is operating on other jobs, themachine interruption cost.

� The cost of a job waiting to be loaded to machine afterarrival, the waiting to load cost.

� The cost of job staying in the machine longer than therequired processing time, called waiting to unload cost.

A mixed integer linear programming (MILP) model for theaddressed problem is formulated as follows:

Fig. 2. An example of the production scheduling Gantt chart for the addressed problem.

160 P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166

2.1. Notations

j

index of the job (i.e., product trolley), j = 1, 2, . . . , J t index of the time period, t = 0, 1, . . . , T W waiting to load cost (unit cost/unit time) D waiting to unload cost (unit cost/unit time) I machine interruption cost (unit cost/machine

interruption)

Aj arrival time of the job j at the machine (unit time) Pj required processing time of the job j (unit time) Cap maximum capacity of the machine (jobs) Wmax

j

maximum allowable waiting time to load job j (unittime)

Dmaxj

maximum allowable waiting time to unload job j (unit

time)

2.2. Decision variables

Xinj;t 2 0;1f g

Xin

j;t ¼ 1, if job j is loaded into the machine at the

beginning of period t, otherwise Xinj;t ¼ 0

Xoutj;t 2 0;1f g

Xout

j;t ¼ 1, if job j is unloaded from the machine at

the beginning of period t, otherwise Xoutj;t ¼ 0

Yt 2 0;1f g

Yt ¼ 1, if the machine is interrupted (i.e.,freezer-door opened) at the beginning of periodt, otherwise Yt ¼ 0

Rt

Number of jobs in the machine at period t

2.3. Mathematical model

The MILP model of the addressed problem is formulated asfollows:

Minimizing

WXj;t

tXinj;t �

Xj

Aj

!þ D

Xj;t

tðXoutj;t � Xin

j;tÞ �Xj

Pj

!þ IXt

Yt ð1Þ

Subject to

Xt

Xinj;t ¼ 1 8j ð2Þ

Xt

Xoutj;t ¼ 1 8j ð3Þ

Rt ¼ Rt�1 �Xj

Xoutj;t þ

Xj

Xinj;t 8t ð4Þ

Rt 6 Cap 8t ð5ÞXin

j;t;Xoutj;t 6 Yt 8j; t ð6ÞX

t

tXinj;t P Aj 8j ð7Þ

Xt

tXinj;t 6 Aj þWmax

j 8j ð8ÞXt

tðXoutj;t � Xin

j;tÞ P Pj 8j ð9ÞXt

tðXoutj;t � Xin

j;tÞ 6 Pj þ Dmaxj 8j ð10Þ

Rt P 0 8t ð11ÞXin

j;t;Xoutj;t ;Yt 2 0;1f g 8j; t ð12Þ

The objective of the model (1) is to minimize the cost that is thesummation of the waiting to load cost, the machine interruptioncost and the waiting to unload cost. Constraints (2) and (3) ensurethat a job can be loaded and unloaded only once, respectively. Thenumber of jobs being processed in the machine at time period t iscalculated by (4). Constraint (5) guarantees that the number of jobsbeing processed in the machine at time period t must not exceedthe machine capacity. Constraint (6) defines the relationship

between variables Xinj;t ;X

outj;t and Yt . That is, if the machine is inter-

rupted at time t either for loading a job (i.e., Xinj;t ¼ 1), unloading a

job (i.e., Xoutj;t ¼ 1) or for both loading and unloading jobs (i.e.,

Xinj;t ¼ 1, Xout

j;t ¼ 1), the variable, Yt , must be equal to 1; otherwise,Yt must be 0. Constraint (7) ensures that the job may be loadedinto the machine and start to be processed after arrival. Constraint(8) guarantees that the waiting time to load after arrival of job j

P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166 161

should not exceed its allowable waiting time. Constraints (9)ensure that the time duration of job j staying in machine is not lessthan its required processing time. If the job j needs to remain in themachine longer than its required processing time, then the waitingtime to unload is constrained by (10). Constraint (11) requires that

Rt is not negative. Constraint (12) requires that Xinj;t ;X

outj;t ;Yt are inte-

gers, equal to 0 or 1.

3. Heuristic algorithm

Because the problem is a NP-hard problem, optimal solutionsfor NP-hard problems are difficult to obtain by exact algorithms,especially for those with large problem sizes (Garey & Johnson,1978; Lenstra, Rinnooy Kan, & Brucker, 1977). Hence, an efficientheuristic algorithm should be developed to solve industrial sizeproblems. To shelter the complexity of the problem, a heuristicbased on problem decomposition and the relaxation of the mathe-matical model was developed. The relax-and-fix approach, as inthe works of Ferreira, Morabito, and Rangel (2010) and Oliveira,Carravilla, Oliveira, and Toledo (2014) are applied to obtain thesolutions in this heuristic algorithm.

The heuristic starts by employing a mathematical model tosolve problem, if the optimal solution cannot be obtained withina reasonable amount of time. The solving process is forced to ter-minate when a time limit is reached. The most feasible solutiongiven by the model at the disruption time is used as the initialsolution of the heuristic. The initial solution is then repaired bythe relax-and-fix notion. Decision variables like loading andunloading times of jobs are fixed as the initial solution; some vari-ables are permitted to resolve to achieve better solution. In thisstage, a modified mathematical model is used to determine whichjobs should be fixed and resolved. If the better solution is obtained,then the solution will continue to be acceptably tuned by repairingthe neighbourhood solution areas. The problem with the previoussolution is decomposed into small sub-problems, starting with 2sub-problems. Jobs are sequenced from early to late loading times.Then, the jobs are decomposed into sub-problems with an equal ornearly equal number of jobs. The modified mathematical modelindependently repairs each sub-problem. This is implemented toease the complexity of the model by scaling the problem down.The process relies on the assumption that jobs with close loadingand unloading times may be adjusted to load and unload at thesame time, to reduce the machine interruption cost. If a bettersolution is found, the heuristic continues to decompose into moresub-problems; the procedure is repeated to fine-tune the solutionsuntil no better solution is reached or the stopping criteria is met.

The following notations and constraints are used in the modi-fied mathematical model of the heuristic and to depict the stepby step of the heuristic.

3.1. Additional notations

Finj;t 2 0;1f g

Finj;t ¼ 1, if job j is loaded into the machine at thebeginning of period t in the initial solution;

otherwise, Finj;t ¼ 0

Foutj;t 2 0;1f g

Foutj;t ¼ 1, if job j is unloaded out from themachine at the beginning of period t in theinitial solution; otherwise, Foutj;t ¼ 0

Uin

set of Finj;t ¼ 1

Uout

set of Foutj;t ¼ 1

Vi;b

set of jobs that are the member of sub-problem iof the bth problem decomposition

Ci;b

maximum number of jobs for each sub-problemi of the bth problem decomposition that areallowed to alter from the predecessor solution

M

maximum number of iterations allowed forsolving the problem by the mathematical model

K

maximum number of sub-problems allowed inthe heuristic

Sb

the solution of the bth problem decomposition(i.e., S0 is the initial solution and S1 is thesolution of the first decomposition)

Zj 2 0;1f g

Zj ¼ 1, if loading and/or unloading times of job jhas been changed from the predecessorsolution; otherwise, Zj ¼ 0

3.2. Additional constraints

In the heuristic, the mathematical model is modified to selectjobs to be fixed and resolved during the solution repairing process.The following constraints are added into the original mathematicalmodel Eqs. (1)–(12). Therefore, the modified mathematical modelconsists of Eqs. (1)–(18)

Xinj;t P 1� Zj 8j; t 2 Uin ð13Þ

Xinj;t 6 Zj 8j; t R Uin ð14Þ

Xoutj;t P 1� Zj 8j; t 2 Uout ð15Þ

Xoutj;t 6 Zj 8j; t R Uout ð16ÞX

j2Vi;b

Zj 6 Ci;b 8i ð17Þ

Zj 2 0;1f g 8j ð18Þ

Eqs. (13) and (14) express the relationship between variables Xinj;t

and Zj. If the loading time of job j is not repaired (i.e., Xinj;t equals

1), then Zj is forced to be 0. On the other hand, if the loading time

of job j is repaired and altered (i.e., Xinj;t is changed to 0), then Zj is

set to 1. Eqs. (15) and (16) are also employed with the same func-tions as Eqs. (13) and (14) but with the unloading time of jobs. Con-straint Eq. (17) ensures that the number of jobs to be repaired willnot exceed the maximum allowed number of jobs.

3.3. Heuristic

The step by step of the heuristic is depicted in Fig. 3 and can besummarized as follows:

Step 0 Set b = 0 and specify the parameters Ci;b;M and K.Step I Solve the problem with the original mathematical model

(i.e., Eqs. (1)–(12)) with limited number of iterations, M.The best feasible solution obtained is recorded (i.e., S0).

The current best decision variables, Xinj;t and Xout

j;t , areobtained.

Step II Update Finj;t ; F

outj;t ;U

in;Uout by setting Finj;t ; F

outj;t equal to Xin

j;t ;Xoutj;t ,

obtained from S0, respectively. Resolve the problem withthe modified mathematical model (i.e., Eqs. (1)–(18)) andthe update solution, S00. If S

00 < S0, set S0 ¼ S00 and proceed

to Step III; otherwise, go to step V.Step III Set b ¼ bþ 1. Sequence jobs according to their loading

time, starting from early to late loading. If ð2� bÞ 6 J andð2� bÞ 6 K , then equally divide descendant jobs into

Fig. 3. Flowchart for the heuristic algorithm.

162 P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166

ð2� bÞ sub-problems. Two sets of jobs, V1;1 and V2;1, areobtained so proceed to step IV; otherwise, go to step V. Ifthe number of jobs could not be equally divided, set thelast sub-problem to have a lesser number of jobs.

Step IV For each sub-problem, update Finj;t ; F

outj;t ;U

in;Uout by setting

Finj;t ; F

outj;t equal to Xin

j;t ;Xoutj;t obtained from Sb�1, respectively.

Resolve the problem with the modified mathematicalmodel (i.e., Eqs. (1)–(18)) and update the solution. IfSb < Sb�1, then return to Step III; otherwise, proceed tostep V.

Step V Stop the procedure and output the current best solution.

3.4. Heuristic illustration

To demonstrate the use of the heuristic, consider a practicalproblem case in a frozen food processor. The plant is to process20 trolleys in the air blast machine. The machine can process 4 pro-duct trolleys at a time. The arrival times of each product trolley(i.e., the ready time) and the processing times are shown in Table 2.Set the waiting to load cost (W), the waiting to unload cost (D) andthe machine interruption cost (I) to 42 unit costs/unit time, 14 unitcosts/unit time, 356 unit costs/interruption, respectively. Theparameters M and K are set to a million iterations and 4 sub-problems, respectively. Assume that approximately 80% of the jobs

Table 2Parameters of a 20-job example case solved by the heuristic.

Job 1 2 3 4 5 6 7 8 9 10

Ready time(unittime)

0 4 13 37 38 41 51 69 82 94

Freezingtime(unittime)

32 78 48 86 76 34 64 87 38 53

11 12 13 14 15 16 17 18 19 20

Ready time(unittime)

99 107 110 120 124 135 143 155 170 188

Freezingtime(unittime)

85 46 47 46 42 64 86 46 54 49

P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166 163

in each sub-problem should be repaired. The partial executionsteps of the heuristic are as follows:

Step 0 Set b = 0, M = 1,000,000, K = 4, Ci;0 ¼ 16, Ci;1 ¼ 8, Ci;2 ¼ 4Step I Obtain an initial solution after running the model (Eqs.

(1)–(12)) for a million iterations. The schedule, S0, is asshown in Fig. 4a with the total cost of 38,500 units.

Set Xin1;4;X

in2;4;X

in3;13;X

in4;61;X

in5;38;X

in6;41;X

in7;82;X

in8;189;X

in9;82;X

in10;120;

Xin11;219;X

in12;146;X

in13;114;X

in14;161;X

in15;147;X

in16;248;X

in17;262;X

in18;173;

Xin19;192;X

in20;212 ¼ 1:The rests Xin

j;t ¼ 0

Set Xout1;38;X

out2;82;X

out3;61;X

out4;147;X

out5;114;X

out6;82;X

out7;146;X

out8;276;X

out9;120;

Xout10;173;X

out11;315;X

out12;192;X

out13;161;X

out14;212;X

out15;189;X

out16;315;X

out17;349;

Xout18;219;X

out19;248;X

out20;262 ¼ 1:The rests Xin

j;t ¼ 0

Fig. 4a. The init

Step II Set Finj;t ¼ Xin

j;t ; Foutj;t ¼ Xin

j;t .

ial solut

Uin ¼ fFin1;4; F

in2;4; F

in3;13; F

in4;61; F

in5;38; F

in6;41; F

in7;82; F

in8;189; F

in9;82; F

in10;120;

Fin11;219; F

in12;146; F

in13;114; F

in14;161; F

in15;147; F

in16;248; F

in17;262; F

in18;173;

Fin19;192; F

in20;212g

Uout ¼ fFout1;38; F

out2;82; F

out3;61; F

out4;147; F

out5;114; F

out6;82; F

out7;146; F

out8;276; F

out9;120;

Fout10;173; F

out11;315; F

out12;192; F

out13;161; F

out14;212; F

out15;189; F

out16;315;

Fout17;349; F

out18;219; F

out19;248; F

out20;262g

The initial schedule is repaired using the modified mathe-matical model (Eqs. (1)–(18)) by altering the loading andunloading times of the 16 jobs (Ci;0 = 16). The repairedschedule, S00, as shown in Fig. 4b, with the total cost of37,674 units. Because the cost of S00 is less than S0; S0 isset to S00. The heuristic proceeds to Step III.

Step III Set b = 1. Because ð2� bÞ 6 J ¼ 20 and ð2� bÞ 6 K ¼ 4.Divide the jobs into 2 sub-problems according to theirloading times from S0.

Sub-group 1: V1;1 = {Job 1, Job 2, Job 3, Job 5, Job 6, Job 4,Job 7, Job 9, Job 13, Job 10}Sub-group 2: V2;1 = {Job 12, Job 15, Job 18, Job 14, Job 8, Job20, Job 19, Job 11, Job 16, Job 17}

Step IV Update Finj;t ; F

outj;t ;U

in;Uout

Set Fin1;4; F

in2;4; F

in3;13; F

in4;61; F

in5;38; F

in6;41; F

in7;82; F

in8;189; F

in9;82; F

in10;120;

Fin11;219; F

in12;146; F

in13;114; F

in14;173; F

in15;147; F

in16;241; F

in17;261; F

in18;161;

Fin19;207; F

in20;192 ¼ 1:The rests Fin

j;t ¼ 0:

Set Fout1;38; F

out2;82; F

out3;61; F

out4;147; F

out5;114; F

out6;82; F

out7;146; F

out8;278; F

out9;120;

Fout10;173; F

out11;305; F

out12;192; F

out13;161; F

out14;219; F

out15;189; F

out16;305; F

out17;347;

Fout18;207; F

out19;261; F

out20;241 ¼ 1:The rests of Fout

j;t ¼ 0:

ion.

Fig. 4c. The repaired schedule (2 sub-problems).

Fig. 4b. The repaired schedule S00.

164 P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166

Each sub-problem schedule is repaired again with the modi-fied mathematical model by allowing the loading andunloading times of the 8 jobs (i.e., Ci;1 ¼ 8) to be altered.The repaired schedule, S1, is shown in Fig. 4c with the totalcost of 36,184 units because the costs of S1 < S0. Then, theheuristic returns to Step III.

The procedure is iterative and the second problem decomposi-tion with four sub-problems is the last decomposition. The finalschedule shown in Fig. 4d portrays a much lower cost (35,346units) than the initial solution.

4. Results and discussion

To test the performance of the heuristic model, we generated aschedule for an 8-h working period. The planning horizon was 480

periods (i.e., 480 min). The freezing time of the jobs was generatedfrom U[30, 90]. The waiting to load, waiting to unload and machineinterruption costs were generated from U[0, 500]. The maximumwaiting time of the job to be loaded was set to 120 unit time,and the maximum time that each job could remain in the machine,longer than its required time, was set to the machine interruptioncost (I) divided by the waiting to load cost (W). The number of arri-val jobs per unit time was generated from the exponential distribu-tions under three levels of job arrival rates being low, medium andhigh traffic levels. The utilization factor (q), calculated by the jobarrival rate (k) divided by machine service rate (l), was used togenerate the number of arrival jobs per unit time. Thus, the arrivalrate can be estimated by Eq. (19). It is assumed that the utilizationfactors of low, medium and high arrival traffic rates were set to 0.8,1.2 and 1.8, respectively. q < 1 indicates that jobs arrive at the

Fig. 4d. The repaired schedule (4 sub-problems).

Table 3Result comparisons.

a j Cap Opt Percentage of cost deviation Computationtime (s)

Math. and LB. Heu. and LB. Math. Heu.

0.8 10 2 10 0.00 0.00 16 163 10 0.00 0.00 4 44 10 0.00 0.00 6 6

20 4 10 0.00 0.00 24 246 10 0.00 0.00 15 158 10 0.00 0.00 13 13

30 6 10 0.00 0.00 47 479 10 0.00 0.00 31 31

12 10 0.00 0.00 13 1340 8 10 0.00 0.00 133 133

12 10 0.00 0.01 229 9816 10 0.00 0.00 61 61

1.2 10 2 10 0.00 0.00 18 183 10 0.00 0.00 7 74 10 0.00 0.00 5 5

20 4 10 0.00 0.00 191 2696 10 0.00 0.00 164 1678 10 0.00 0.00 30 30

30 6 6 0.88 1.44 3050 6119 7 0.26 0.72 2729 765

12 6 0.74 0.92 3028 62240 8 5 1.51 1.58 3835 701

12 6 0.56 0.55 3204 63216 3 0.38 0.37 5189 1000

1.6 10 2 10 0.00 0.00 28 283 10 0.00 0.00 32 324 10 0.00 0.00 26 26

20 4 6 1.13 0.89 3035 5286 7 0.26 0.18 2981 4778 8 0.12 0.12 1497 218

30 6 1 1.64 2.20 6535 9909 1 0.79 0.75 6523 1044

12 5 0.42 1.36 4946 127840 8 0 2.58 2.85 7200 1507

12 1 1.23 1.51 6611 217116 2 0.39 0.44 5957 1245

Average 0.36 0.44 1873 412

Opt is the number of jobs obtaining optimal solutions from the mathematical modelwithin.

P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166 165

machine with space available; q > 1 indicates the arrival of a job ata machine operating at full capacity, hence causing a processbackup.

k ¼ q� Cap� l ð19ÞAs indicated in Table 3, j ¼ 10; 20; 30; 40f g and

Cap ¼ 2; 3; 4; 6; 8; 12; 16f g. In total, there are 360 testing prob-lems from 36 scenarios with ten testing problems for each scenar-io, as shown in Table 3. To evaluate the performance of theheuristic method, LINGO 13.0 optimization software linked withMicrosoft Excel is used to solve all of the testing instances. Bothof the models were implemented and tested on a personal PC witha Core(TM) 2 Quad CPU Q 8200, 2.33 GHz and 4 GB of RAM. Duringthe experiments, the maximum runtime of the LINGO for eachinstance is set to 7200 s. For problems that the optimal solutioncannot be found, LINGO can give a lower bound by relaxing theMILP model to the real-number version. Thus, the lower bound isused as a tool to evaluate the performance of the heuristic algo-rithm by the gaps: Gap(%) = ðf � f LBÞ=ðf LBÞ � 100 and Gap(%)= ðf HEU � f LBÞ=ðf LBÞ � 100, in which f is the attained objective func-tion value of the mathematical model, f LB is the correspondinglower bound, and f HEU is the objective function value obtained bythe heuristic algorithm.

The results show that the solutions of scheduling using the pro-posed mathematical model are attainable for a small test size andless congestion issues. While for the large test size and more con-gestion problems, few to no solutions are attained. Of those tests inwhich optimal solutions were not attained, the costs of the solu-tion from the model deviate from the lower bound less the 0.94%with an average of 0.36% deviation. The heuristic solutions deviatefrom the lower bound solutions less than 2.85%, with an average of0.44% deviation. The heuristic algorithm demonstrates a highpotential for computational time saving by obtaining the solutionwithin one-fifth of the mathematical model computational time.

5. Conclusions

In this study, a new type of single machine scheduling programin examined in which a machine can concurrently process multiplejobs with non-identical processing rates within its capacity.

166 P. Chatavithee et al. / Computers & Industrial Engineering 90 (2015) 158–166

Different from general batching scheduling techniques, the jobsarrive and depart the machine independently, although they incurinterruption costs when they depart during machine processing.Unlike the antecedent problems, which generally address burn inor hot rolling lines, the problem characteristics are developed tofit air blast processing in the frozen food industry. Taking intoaccount the arrival and departure times and the interruption costs,this study presents a MILP model that is classified as the NP prob-lem, although it can optimally solve this particular circumstance.Therefore, a heuristic algorithm based on the purposed MILP andproblem decomposition combined with the relax-and-fix approachare developed to solve the industrial size problems. The notion ofthe heuristic is to decompose the problem into a set of smallsub-problems and allow some jobs in those sub-problem to berescheduled by the relaxed mathematical model. The heuristic isproven to require less computational time while providing reason-able solutions when compared with the solutions of MILP in othersmall size problems.

The purposed framework focuses on cost minimization schedul-ing for a single machine with concurrent jobs, varying processingtimes and independent job arrivals and departures. In some cir-cumstances, such as when receiving an urgent shipment, comple-tion of the jobs may take priority over the decreased costachieved by the most efficient processing. The model extensionconsidering job priority for this scenario is worth studying in thefuture.

Acknowledgements

This research was funded by The National Research Universityof Khon Kaen University Fund under project FC 6.1.8 Ph.D. andby the Betagro Science Center Company Limited. The authors alsoacknowledge the company’s help in collecting data, providinginvaluable guidance and making this research possible.

References

Brucker, P. (2007). Scheduling algorithm (5th ed.). New York: Springer.Cheng, B., Cai, J., Yang, S., & Hu, X. (2014). Algorithms for scheduling incompatible

job families on single batching machine with limited capacity. Computers &Industrial Engineering, 75, 116–120.

Chourot, J. M., Macchi, H., Fournaison, L., & Guilpart, J. (2003). Technical andeconomical model for the freezing cost comparison of immersion,cryomechanical and air blast freezing processes. Energy Conversion andManagement, 44, 559–571.

Dempsey, P., & Bansal, P. (2012). The art of air blast freezing: Design and efficiencyconsiderations. Applied Thermal Engineering, 41, 71–83.

Ferreira, D., Morabito, R., & Rangel, S. (2010). Relax and fix heuristics to solve one-stage one-machine lot-scheduling models for small-scale soft drink plants.Computers & Operations Research, 37, 684–691.

Garey, M. R., & Johnson, D. S. (1978). ‘‘Strong” NP-completeness results: motivation,examples, and implications. Journal of the ACM (JACM), 25(3), 499–508.

Lenstra, J. K., Rinnooy Kan, A. H. G., & Brucker, P. (1977). Complexity of machinescheduling problems. Annals of Discrete Mathematics, 1, 343–362.

Li, B., & Sun, D. W. (2002). Novel methods for rapid freezing and thawing of foods—areview. Journal of Food Engineering, 54, 175–182.

Liu, D. Y., Chang, W. R., & Lin, J. Y. (2004). Performance comparison with effect ofdoor opening on variable and fixed frequency refrigerators/freezers. AppliedThermal Engineering, 24, 2281–2292.

Liu, L. L., Ng, C. T., & Cheng, T. C. E. (2010). On scheduling unbounded batchprocessing machine(s). Computers & Industrial Engineering, 58(4), 814–817.

Oliveira, B. B., Carravilla, M. A., Oliveira, J. F., & Toledo, F. M. (2014). A relax-and-fix-based algorithm for the vehicle-reservation assignment problem in a car rentalcompany. European Journal of Operational Research, 237(2), 729–737.

Potts, C. N., & Kovalyov, M. Y. (2000). Scheduling with batching: A review. EuropeanJournal of Operational Research, 120, 228–249.

Suppiah, Y., & Omar, M. K. (2014). A hybrid tabu search for batching and sequencingdecisions in a single machine environment. Computers & Industrial Engineering,78, 135–147.

Tang, L., & Zhao, Y. (2008). Scheduling a single semi-continuous batching machine.Omega, 36(6), 992–1004.

Wang, X., & Tang, L. (2011). Scheduling a single machine with multiple jobprocessing ability to minimize makespan. Journal of the Operational ResearchSociety, 62, 1555–1565.

Webster, S., & Baker, K. (1995). Scheduling groups of jobs on a single machine.Operations Research, 43(4), 692–703.