A case study on using evolutionary algorithms to optimize bakery production planning

11
A case study on using evolutionary algorithms to optimize bakery production planning Florian T. Hecker a,, Walid B. Hussein b , Olivier Paquet-Durand a , Mohamed A. Hussein b , Thomas Becker b a Department of Process Analytics and Cereal Technology, University of Hohenheim, Garbenstraße 23, 70599 Stuttgart, Germany b Center of Life and Food Sciences Weihenstephan, (Bio-)Process Technology and Process Analysis, Technische Universität München, Weihenstephaner Steig 20, 85354 Freising, Germany article info Keywords: Bakery production planning Evolutionary algorithms Particle Swarm Optimization Ant Colony Optimization Flow-shop scheduling abstract The production of bakery goods is strictly time sensitive due to the complex biochemical processes dur- ing dough fermentation, which leads to special requirements for production planning and scheduling. Instead of mathematical methods scheduling is often completely based on the practical experience of the responsible employees in bakeries. This sometimes inconsiderate scheduling approach often leads to sub-optimal performance of companies. This paper presents the modeling of the production in baker- ies as a kind of no-wait hybrid flow-shop following the definitions in Scheduling Theory, concerning the constraints and frame conditions given by the employed processes properties. Particle Swarm Optimiza- tion and Ant Colony Optimization, two widely used evolutionary algorithms for solving scheduling prob- lems, were adapted and used to analyse and optimize the production planning of an example bakery. In combination with the created model both algorithms proved capable to provide optimized results for the scheduling operation within a predefined runtime of 15 min. Ó 2013 Elsevier Ltd. All rights reserved. 1. Introduction Many bakery goods contain yeast (Saccharomyces cerevisiae) as a proofing agent. This form of proofing is a fermentation performed by microorganisms in which sugars are metabolized to CO 2 (among other components), as can be seen in Fig. 1. Due to this fermentation process the production of such goods is not highly but strictly time sensitive from the point on, where the microorganisms get in con- tact with water and substrates under preferable conditions of tem- perature and humidity, as happens in the dough production process. The upmost shown metabolism is the most influential and most common in yeast containing doughs. Due to the common existence of lactic-acid bacteria in dough the lactic fermentation also occurs but rather influences the aroma than the texture of dough. The retention of CO 2 produced by yeast is given by the dough matrix surrounding the gas bubbles and leads to a desired volume in- crease. Over time the amount of CO 2 increases due to yeast activity and thus the gas pressure in the gas bubbles increases likewise. Up to a certain degree the dough matrix can withstand the structural stress induced by the increasing gas pressure, but after exceeding the maximum gas retention ability the dough matrix and thus its structure collapses more or less complete with respect to the pres- ent gas pressure and thus as a function of fermentation or proofing time. Cooling can be used to regulate or slow down the fermentation speed of yeast but is costly and sometimes accompanied with neg- ative influence on the product quality. Due to this and the decrease of product quality (up to the total loss of marketability) induced by a too long unregulated fermentation process, the time dependency of the processing of yeast containing doughs has always to be con- sidered in the production scheduling. Focusing on the German baking industry, the production plan- ning is almost completely based on the practical experience of the responsible employee(s) instead of the usage of mathematical methods like in Scheduling Theory. Combined with the high diver- sity of the product range that includes around 100 different prod- ucts in a common German bakery and the high complexity of the scheduling task induced therein, the performance of bakeries is of- ten sub-optimal. The baking industry in Germany consists of approximately 14,000 producing companies, reaching business volume of almost 13.4 billion Euros per year and employs over 290,000 employees (Zentralverband des Deutschen Bäckerhandwerks e. V., 2012). Based on this general framework the increase of companies’ effi- ciency in respect of energy consumption or staff allocation and man working hours comprises high potential to decrease produc- tion costs in this industry. 0957-4174/$ - see front matter Ó 2013 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.eswa.2013.06.038 Corresponding author. Tel.: +49 711 459 229 57; fax: +49 711 459 232 59. E-mail addresses: [email protected] (F.T. Hecker), [email protected] (W.B. Hussein), [email protected] (O. Paquet-Durand), [email protected] (M.A. Hussein), [email protected] (T. Becker). Expert Systems with Applications 40 (2013) 6837–6847 Contents lists available at SciVerse ScienceDirect Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

Transcript of A case study on using evolutionary algorithms to optimize bakery production planning

Expert Systems with Applications 40 (2013) 6837–6847

Contents lists available at SciVerse ScienceDirect

Expert Systems with Applications

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

A case study on using evolutionary algorithms to optimize bakeryproduction planning

0957-4174/$ - see front matter � 2013 Elsevier Ltd. All rights reserved.http://dx.doi.org/10.1016/j.eswa.2013.06.038

⇑ Corresponding author. Tel.: +49 711 459 229 57; fax: +49 711 459 232 59.E-mail addresses: [email protected] (F.T. Hecker),

[email protected] (W.B. Hussein), [email protected](O. Paquet-Durand), [email protected] (M.A. Hussein), [email protected](T. Becker).

Florian T. Hecker a,⇑, Walid B. Hussein b, Olivier Paquet-Durand a, Mohamed A. Hussein b, Thomas Becker b

a Department of Process Analytics and Cereal Technology, University of Hohenheim, Garbenstraße 23, 70599 Stuttgart, Germanyb Center of Life and Food Sciences Weihenstephan, (Bio-)Process Technology and Process Analysis, Technische Universität München, Weihenstephaner Steig 20,85354 Freising, Germany

a r t i c l e i n f o

Keywords:Bakery production planningEvolutionary algorithmsParticle Swarm OptimizationAnt Colony OptimizationFlow-shop scheduling

a b s t r a c t

The production of bakery goods is strictly time sensitive due to the complex biochemical processes dur-ing dough fermentation, which leads to special requirements for production planning and scheduling.Instead of mathematical methods scheduling is often completely based on the practical experience ofthe responsible employees in bakeries. This sometimes inconsiderate scheduling approach often leadsto sub-optimal performance of companies. This paper presents the modeling of the production in baker-ies as a kind of no-wait hybrid flow-shop following the definitions in Scheduling Theory, concerning theconstraints and frame conditions given by the employed processes properties. Particle Swarm Optimiza-tion and Ant Colony Optimization, two widely used evolutionary algorithms for solving scheduling prob-lems, were adapted and used to analyse and optimize the production planning of an example bakery. Incombination with the created model both algorithms proved capable to provide optimized results for thescheduling operation within a predefined runtime of 15 min.

� 2013 Elsevier Ltd. All rights reserved.

1. Introduction

Many bakery goods contain yeast (Saccharomyces cerevisiae) as aproofing agent. This form of proofing is a fermentation performed bymicroorganisms in which sugars are metabolized to CO2 (amongother components), as can be seen in Fig. 1. Due to this fermentationprocess the production of such goods is not highly but strictly timesensitive from the point on, where the microorganisms get in con-tact with water and substrates under preferable conditions of tem-perature and humidity, as happens in the dough production process.

The upmost shown metabolism is the most influential and mostcommon in yeast containing doughs. Due to the common existenceof lactic-acid bacteria in dough the lactic fermentation also occursbut rather influences the aroma than the texture of dough. Theretention of CO2 produced by yeast is given by the dough matrixsurrounding the gas bubbles and leads to a desired volume in-crease. Over time the amount of CO2 increases due to yeast activityand thus the gas pressure in the gas bubbles increases likewise. Upto a certain degree the dough matrix can withstand the structuralstress induced by the increasing gas pressure, but after exceedingthe maximum gas retention ability the dough matrix and thus its

structure collapses more or less complete with respect to the pres-ent gas pressure and thus as a function of fermentation or proofingtime.

Cooling can be used to regulate or slow down the fermentationspeed of yeast but is costly and sometimes accompanied with neg-ative influence on the product quality. Due to this and the decreaseof product quality (up to the total loss of marketability) induced bya too long unregulated fermentation process, the time dependencyof the processing of yeast containing doughs has always to be con-sidered in the production scheduling.

Focusing on the German baking industry, the production plan-ning is almost completely based on the practical experience ofthe responsible employee(s) instead of the usage of mathematicalmethods like in Scheduling Theory. Combined with the high diver-sity of the product range that includes around 100 different prod-ucts in a common German bakery and the high complexity of thescheduling task induced therein, the performance of bakeries is of-ten sub-optimal.

The baking industry in Germany consists of approximately14,000 producing companies, reaching business volume of almost13.4 billion Euros per year and employs over 290,000 employees(Zentralverband des Deutschen Bäckerhandwerks e. V., 2012).Based on this general framework the increase of companies’ effi-ciency in respect of energy consumption or staff allocation andman working hours comprises high potential to decrease produc-tion costs in this industry.

6838 F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847

The use of evolutionary optimization algorithms like ParticleSwarm Optimization (PSO) or Ant Colony Optimization (ACO) tosolve the scheduling task might increase the efficiency of bakingcompanies by calculating an optimal production plan and thereforedetermine the exact time schedule and capacities of devicesneeded to reach the production goal. Thus idle times of machinescan be reduced or completely erased which leads to a reductionof energy consumption or the decrease in the makespan whichleads to a reduction of man working hours needed.

Kennedy and Eberhart (1995) invented PSO as an adaption ofthe movement and behavior of bird flocks or fish schools. As aswarm intelligence algorithm it mimics the behavior of suchswarming animals and iteratively searches the search space of a gi-ven optimization problem for the optimal solution. Since its inven-tion PSO was widely used to tackle numerous scheduling oroptimization problems in many different industry branches (Bank,Fatemi Ghomi, Jolai, & Behnamian, 2012; Eberhart & Shi, 2001; Li &Deng, 2012; Lian, Gu, & Jiao, 2008; Liao, Tjandradjaja, & Chung,2012; Liu, Wang, Liu, Qian, & Jin, 2010; Pan, Tasgetiren, & Liang,2008; Tang & Tang, 2012; Tasgetiren, Liang, Sevkli, & Gencyilmaz,2007; Wang & Yang, 2010).

Another animal behavior inspired and frequently used algo-rithm (Ahmadizar, 2012; Li, Baki, & Aneja, 2010; Tzeng & Chen,2012; Yagmahan & Yenisey, 2010) is the Ant Colony Optimization,initially proposed by Dorigo in his Ph.D. thesis (Dorigo, 1992). ACOfollows the mechanisms that help ants to find the shortest andthus optimal way between a food source and their formicary.

Since ACO and PSO both provide easy implementation, easymodification and the ability to solve complex scheduling optimiza-tion tasks in reasonable computational time, they are promisingmethods to solve bakery scheduling tasks. In the presented workboth methodologies were adapted to investigate the schedulingof an example bakery.

2. Material and methods

The developments and investigations presented in this paperwere performed on a ‘‘lenovo ThinkPad R500’’ with an ‘‘Intel Core2 Duo’’ 2.26 GHz processor, 2 GB RAM and Microsoft XP 2002 assystem software. The modeling and optimization were pro-grammed and performed with MATLAB 7.1 (The MathWorks, Inc.).

The production data used in this work including products, pro-cessing times and production stages are listed in Table A.1 inAppendix.

Fig. 1. Sugar metabolisms in dough. Mod

3. Modeling and optimization

Due to the high diversity of products in a German bakery it isnot possible to solve the scheduling task with exact methods, atleast not in reasonable computational time prior to the productionstart. Using exact methods to calculate the parameters of all possi-ble schedules would mean to calculate an enormous number ofcombinations given by the relation in Eq. (1), where n is the num-ber of jobs (products) and m is the number of machines or stagesused.

number of schedules ¼ ðn!Þm ð1Þ

It is obvious that this relation causes an unmanageable amount ofcombinations for the scheduling problem in German bakeries,where the normal range of products is commonly above 100 andthe machinery in operation approximately between 10 and 50(depending on the bakery’s size).

From the scheduling point of view the production in a bakerycan be described as a hybrid flow-shop according to the commondefinitions, e.g. in (Pinedo, 2008; Ruiz & Vazquez-Rodriguez,2010). In a manufacturing facility where a product, a job, has to un-dergo a series of operations or processing steps related to specificmachines set up in series and is processed on each of the consecu-tive machines, this manufacturing environment is referred to as aflow-shop. If a production step consists of several parallel ma-chines, this particular production step is referred to as a stage. Ifjobs have to be processed on only one of those machines in a stageor can bypass it, as is the case in a bakery, the machine environ-ment is referred to as a hybrid flow-shop.

The number of possible schedules can be reduced significantlyby considering the scheduling task in a bakery as a permutationflow-shop instead of a ‘normal’ hybrid flow-shop by adding the con-straint, that the order in which the jobs n pass through the produc-tion is fixed and does not change between production stages (Lianet al., 2008; Pinedo, 2008; Tasgetiren et al., 2007). Although thereal process in a bakery does not fulfil this requirements entirely,this model can be used and modified to match with the real pro-duction processes, where products can bypass other previouslystarted products and the sequence of products on the first produc-tion stage determines all subsequent process tasks, due to theaforementioned time dependence in bakery production. By doingso the number of possible combinations is reduced from (n!)m ton! and each schedule is a permutation of n (Perez-Gonzalez &Framinan, 2010). Each of those permutations is used to determine

ified after (Collado-Fernández, 2003).

F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847 6839

a sequence of products on the first production stage of the bakerythat is crucial for sequencing the work flow. Still n! differentschedules may easily lead to optimization problems unsolvablewith exact methods in reasonable computational time for highnumbers of n.

Additionally the scheduling in a bakery is subject to a no-waitconstraint due to the fact that there are very small tolerances forwaiting times of yeast containing doughs/products during the pro-duction process, as explained in Section 1.

3.1. Modeling of the production setup and processes

Prior to the actual optimization of the scheduling, the modelingof the production site and the compliance of the no-wait constraintare done.

A matrix A, that contains all processing times (PT) of the prod-ucts to be produced, is formed as first step. Processing times alsoinclude the dough rest since this is a defined and desired waitingtime, although the dough is not literally ‘‘processed’’ there accord-ing to being influenced by a worker or the use of a machine. Therows and columns of the matrix A represent the products andthe production stages respectively, such that, for example a2,3

would return the processing time of product 2 on stage 3, meaningin this case that the product ‘‘B’’ requires a dough rest of 30 min (cf.Table 1). The processing times are determined by the recipe andthe desired characteristics of the finished product. Basically allproducts follow the same way through the production on consec-utive stages, meaning that a product does not return to an alreadypassed stage. Fig. 2 shows the common progression of productionstages in a bakery.

Keeping in mind that some products do not require processingon a certain stage (e.g. if a product needs no dough rest) and there-fore skipping this step, a zero entry in matrix A indicates that theproduct skips the respective stage and is not processed there.The information contained in such a matrix A is given as an exam-ple in Table 1.

The starting times of all products on all stages are calculated forthe investigated sequence of products (which represents a particlein the PSO or an ant in ACO) based on matrix A and form a new ma-trix B.

To make sure that no product waiting times appear during thescheduling of each analysed product sequence (and the no-wait

Table 1Example of bakery production data.

Product/stage Kneading Dough rest Forming Proofing Baking

A 4 0 10 30 25B 6 30 15 45 55C 10 15 5 60 30D 5 25 20 60 60E 7 0 10 45 30F 3 5 15 30 55

Preparation of Ingredients Kneading

BakinDistribution

Fig. 2. Simple bakery pro

constraint is not violated) and it is thus valid for the following opti-mization process, the calculation of the products’ starting times onthe respective stages uses the following steps:

1. The starting time (ST) of product 1 (first product of thesequence) on the first stage is ‘‘0’’ as this represents the startof the production.

2. The starting times of product 1 on the following stages m aresimply a summation of the processing times (PT) on the previ-ous stages as given in Eq. (2), where j is job (or product) 1 and mis the current stage calculated:

Doug

g

duction

STj;m ¼Xm�1

n¼1

PTj;n ð2Þ

3. From this first row in matrix B the starting times for the nextproduct in the sequence are calculated by first picking the ade-quate starting time on the last stage mmax. The ‘‘adequate’’ timemeans the ST that makes sure that no waiting-time will occurand is determined by following Eq. (3), where j = 2,3, . . . , jmax

and m = 1,2, . . . ,mmax:

STj;mmax ¼maxðSTj�1;m þ PTj�1;m þXmmax�1

n¼m

PTj;nÞ ð3Þ

Only stages with limited capacity are considered for choosingSTj,mmax, since there are often stages in a bakery production thathave a practically unlimited capacity (subject to the condition ofsufficient dimensioning), like proofing chambers or the dough rest-ing that is often performed by just placing the dough aside for a cer-tain time span. Thus making sure that a possible ‘‘bottle-neck’’ inthe production line will have the deciding impact on the calculationof the ST.4. After STj,mmax is determined the other starting times for product

j on stages m are calculated by just subtracting the respectivePTj,m to form the matrix B. Thus no waiting times for productswill appear in the schedule.

5. To assure an optimal scheduling within each investigated prod-uct sequence and allowing the skipping of stages or the bypass-ing of other products, each row of B (which represents aproduct) is compared to a set of conditions during its calcula-tion process to create the best possible schedule setup.

The progress of the modeling algorithm is shown in the flowchart in Fig. 3.

The production investigated in this work included 40 differentproducts and 26 different production stages, as listed in Table A.1,and was therefore far more complex than the example line shownin Fig. 2. Fig. 4 depicts the model worked with in this paper.

There are different exit points in this model, indicated as shapeswith broken lines in Fig. 4, since some products can exit the pro-duction without passing the baking process due to e.g. long-timeproofing or being distributed as frozen dough pieces and thus donot influence the production after their specific final process step.

h Rest Dividing and Forming

Proofing

line model.

Pick Element of (STj,mmax)Calculation of STj,m:mmax-1

Inputs: Processing Times of Products on Machines (Matrix A)

Calculation of STj1,m1:mmax

Calculation of Possible STj,mmax

SchedulingConditions

Matrix B Completed

j=jmax

False

True(Next j)

Fig. 3. Flow Chart of Modeling Algorithm.

6840 F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847

The common way of a product would be to exit the production lineas a finished and baked good via the ‘‘Distribution’’ work step. Anyproduct following a long-time proofing procedure will be distrib-uted or baked after the current shift has finished and therefore ex-its at the ‘‘Long-time Proofing’’. And finally products that aredistributed frozen have to be stored in the freezer for a specifictime span and thus exit the model at the ‘‘Freezer 1’’ or ‘‘Freezer2’’ stage.

The production stages can be grouped into stages with limitedcapacity and stages with practically regarded unlimited capacity,meaning that stages of the second group can handle any amountof different products under common production conditions with-out blocking. The unlimited stages in the aforementioned modelare ‘‘Dough Rest’’, ‘‘Proofing 1’’, ‘‘Proofing 2’’, ‘‘Long-time Proofing’’,‘‘Stiffening’’, ‘‘Freezer 1’’, ‘‘Freezer 2’’ and ‘‘Depanning’’. ‘‘Baking 1’’has a limited capacity of two and ‘‘Baking 2’’ of six, meaning thatthese stages can process two and six products simultaneously.All other stages of the model have a limited capacity of one andcan thus process only one product at a time.

At least one cost or objective function to be optimized must bedefined prior to the actual optimization process. Two objectivefunctions were chosen in this work, the minimization of the make-span and the minimization of the total idle time of machines,respectively.

The makespan (Cmax) represents the required time to completethe given production goal and equals the highest end time (ET) ofthe products and thus can be easily retrieved from matrix B andmatrix A by summating each row in B element wise with itsrespective counterpart in A.

The idle time (IdTm) of a machine represents the time span amachine or stage is ready and free to process a job, but has to waitfor a product that has not finished its processing on a previous

stage yet. The total idle time of machines (TIdT) is the summationof all IdTm during the production. The calculation of IdTm and TIdT isshown in Eqs. (4) and (5) respectively:

IdTm ¼ ST1;m þXjmax

n¼2

ðSTn;m � ETn�1;mÞ > 0 ð4Þ

TIdT ¼Xmmax

m¼1

IdTm ð5Þ

To constrain computational time in a reasonable range that seemsto make the optimization procedure feasible for usage prior to awork shift in real production environment, it was decided to limitthe number of particles and ants to ten respectively and the numberof iterations to 100. Thus the computational time was kept below15 min for each separately started optimization run.

3.2. Particle Swarm Optimization

PSO is an iterative algorithm that mimics the behavior ofswarming animals like birds or fishes on the search for a foodsource. In such a swarm each individual member searches for afood source by itself while staying within a certain range to itsneighbors to maintain the swarm structure. Once a swarm mem-ber finds food it will move towards it, attracting other swarmmembers to move in the same direction. The more individualsmove to a food source and thus influencing the motion of theirswarm neighbors the whole swarm will move to a certain locationover time depending on the ratio of moving individuals comparedto the swarm size.

The ‘‘swarm’’ in PSO consists of particles, possible solutions (e.g. product sequences as in the presented work) of a given optimi-zation problem, that represent the individual swarm members innature. During the iterations of the algorithm the particles are ‘‘fly-ing’’ through the search space. Due to the frequent update andcomparison of the best sequence so far and each particle’s currentand so far best value of the cost function, the particles move to theoptimal solution of the given optimization problem.

The PSO algorithm adapted for the bakery scheduling problemworks as follows:

1. Input parameters for PSO: cost function to be optimized (Cmax orTIdT), number of particles (or swarm size), number of iterations(i).

2. Initialize a swarm of particles (xi) with random positions (pi)and velocities (vi). Each xi represents a possible productsequence and the predefined initial vi defines how each of thesesequences is changed from the initial to the next iteration.

3. Evaluate each particle’s fitness (cost function value).4. Compare particle’s fitness with its personal best value (pbest),

update pbest if current fitness value is better and set pbest posi-tion of the particle to the current position.

5. Compare particle’s fitness to swarm’s best value (gbest), updategbest if current fitness value is better and set gbest parametersto the according particle’s parameters.

6. Change particle’s velocity and position according to Eqs. (6) and(7) respectively:

v i ¼ v i þ C�1ðpbesti � xiÞ þ C�2ðgbest � xiÞ ð6Þ

xi ¼ xi þ v i ð7Þ

C1 and C2 are two positive constants in the original PSO and equal 1in the application presented here, since the velocity is used to createa new product sequence.7. Repeat 3–6 until an exit criterion (maximum i, time limit, result

quality, etc.) is met.

Preparationof

Ingredients

Kneader1

DoughRest

Dividing and Forming

(includes 7 possiblestages)

Proofing1

Baking1

Distribution

Kneader2

Kneader3

Proofing2

Freezer1

Long-timeProofing

Baking2

Baking3

StiffeningRefining2DepanningPackaging

Freezer2

Refining1

Fig. 4. Model of the investigated production.

F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847 6841

3.3. Ant Colony Optimization

ACO is, like PSO, a nature inspired iterative optimization algo-rithm. In this case the activities and mechanisms observable insedentary ant colonies are mimicked, not the behavior of fish orbird swarms. It is well known in biology that such ants find theshortest and thus optimal way between a food source and their for-micary over a certain time span. The mechanism behind this effectis also known and based on the special way of communication be-tween ants via pheromones, a special group of evaporative bio-chemical molecules. If a foraging and randomly wandering antfinds a food source it heads back to its formicary, laying down apheromone trail. Other ants crossing such a trail will stop wander-ing randomly and follow this trail to the food and start bringing itto the nest while also laying down pheromones and thus reinforc-ing the scent. With time the shortest and most frequently used waywill thus hold the highest pheromone concentration and attractsthe highest number of ants. Pheromones are not persistent andonce a food source is exhausted, the previously marked and rein-forced pheromone trails are less and less used and the scent dissi-pates over time.

In ACO an artificial ant ‘‘moves’’ by applying a local stochasticdecision and while moving builds a possible solution to the given

Fig. 5. Optimization

optimization problem, e. g. a product sequence as in the presentedwork. This ant’s ‘‘way’’ and cost function value is then used aspheromone information to direct the moves of ‘‘following’’ antsby influencing their stochastic decision making process.

The ACO algorithm applied in this paper works with the follow-ing steps:

1. Input parameters for ACO: cost function to be optimized (Cmax

or TIdT), number of ants (n), number of iterations (i), initialpheromone matrix (Pi).

2. Initialize an ant (an,i) with random starting position (posp). Thisposition represents the first product in the sequence.

3. Move an,i to the next position according to a probability factor(pfp) (where pfp for an already ‘‘visited’’ posp = 0) and the pher-omone trail in Pi.

4. Repeat 3. until all posp are ‘‘visited’’ and thus a possible solu-tion/product sequence is created for each an,i.

5. Evaluate each ant’s fitness (cost function value).6. The sequence of an,i with the best value (sbest) represents the

best way so far and is used to lay pheromone upon in its repre-sentation in Pi. Thus an,i in following iterations are moreattracted to this way/sequence.

7. Evaporate pheromone according to an evaporation factor (ef)with 0 < ef < 1 to update Pi into Pi+1 following Eq. (8):

results for Cmax.

6842 F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847

Piþ1 ¼ P�i ef ð8Þ

The value of ef influences how randomly an,i are searching for anoptimal product sequence. A low value will lead to a more randomcreation of new product sequences, a high value will lead to ratherpreserving the best sequence found so far and smaller changesthereof.8. Repeat 2–7 until an exit criterion (maximum i, time limit, result

quality, etc.) is met.

Fig. 6. Reduction of Cmax in % com

Fig. 7. Computational times fo

Fig. 8. Optimization

4. Results

4.1. Optimizing the makespan

The first cost function to be optimized in this work was themakespan (Cmax). Both optimization algorithms ACO and PSO wereseparately used, each with 21 optimization runs to find the productsequence providing the minimal Cmax. Fig. 5 shows the results forthe optimization of Cmax with ACO and PSO respectively.

The first run included no optimization and was made to deter-mine the initial Cmax, runs two to 22 were optimization runs to

pared to initial Cmax value.

r the optimization of Cmax.

results for TIdT.

Fig. 9. Reduction of TIdT in % compared to initial TIdT value.

Fig. 10. Computational times for the optimization of TIdT.

Fig. 11. Results for TIdT when optimizing Cmax with ACO.

F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847 6843

receive an optimized sequence. In the 21 optimization runs per-formed with each algorithm, PSO provides slightly better resultsthan ACO, which becomes more obvious in illustrating the reduc-tion of Cmax in percent (Fig. 6).

In nine out of 21 optimization runs PSO provides the overallbest reduction of Cmax with 8.41% (or 116 min) and in the worstcase a reduction of 7.10% (98 min). In both respects ACO performsworse with a best reduction result of 8.19% (113 min) and in the

worst case 6.74% (93 min). Still both algorithms even in their worstperformances provide significantly better results for Cmax than theinitial sequence.

The computational times needed to perform the respective opti-mization runs with ACO and PSO are shown in Fig. 7.

Again PSO with a mean computational time of 764.46 s per-forms slightly better than ACO with a mean of 803.57 s in thisrespect.

Fig. 12. Results for TIdT when optimizing Cmax with PSO.

Fig. 13. Results for Cmax when optimizing TIdT with ACO.

Fig. 14. Results for Cmax when optimizing TIdT with PSO.

6844 F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847

4.2. Optimizing the total idle time of machines

As for the optimization of Cmax both evolutionary algorithmswere separately used to optimize TIdT and the results for 21respective optimization runs are displayed in Fig. 8.

Again the first run was made to receive the initial value of TIdTand runs two to 22 included the optimization routines. In contrastto the optimization of Cmax no tendency of one algorithm outper-forming the other can be investigated here. ACO and PSO provide

comparable optimization results. A more detailed overlook of theachieved reduction of TIdT is given in Fig. 9.

In four out of 21 runs PSO provided the best overall resultsreducing TIdT by 17.65% (1526 min) and producing a worst case re-sult of 8.89% (769 min). ACO performs quite similar but not reach-ing PSO with a best result of 16.80% (1453 min) and a reduction by7.94% (687 min) in its worst case. But as in the optimization of Cmax

both methods provided even in their worst performances signifi-cantly better results than the initial product sequence.

F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847 6845

Fig. 10 shows the respective computational times needed foreach run of the used algorithms.

Here again PSO shows slightly better results with a mean com-putational time of 761.11 s compared to ACO with a mean of776.40 s.

4.3. Influencing cost function one by optimizing cost function two

Since the optimization of Cmax and TIdT were performed sepa-rately and not as a multi-objective optimization task, the influ-ences of optimizing one of the cost functions with respect to theother were investigated. The results for the optimization of Cmax

and TIdT with ACO and PSO and the results for the respective notconsidered cost function, determined with the optimal sequenceof each run, are shown in Figs. 11–14. The initial value of the notconsidered cost function, meaning TIdT if Cmax was used as the costfunction to be minimized and vice versa, is depicted in each figureas the solid line for better visualization.

When optimizing Cmax only ACO provides better than the initialresults for TIdT in six out of 21 optimization runs, the results re-ceived with PSO show considerably increasing values for TIdT inall 21 runs.

The optimization of TIdT shows a positive effect on Cmax in mostoptimization runs. Only three optimization runs with ACO lead toincreased Cmax values compared to the initial sequence’s result, PSOleads in only one case to a slightly increased Cmax value (1383 mininstead of 1380 min). In most instances the optimization of TIdTleads to an optimization of Cmax regardless of the appliedalgorithm.

5. Discussion

The results for the optimization of two of the most commonlyused cost functions in scheduling tasks indicate that there is a sig-nificant potential for optimization in bakery production processes,although the optimal sequences obtained in the optimization runsrepresent just local optima instead of the global optimum, whichcould not be reliably determined to be represented by the overallbest result provided. This fact has to be accepted due to the limita-tion of computational time given in this work. The computationaltime could be significantly decreased by applying some speed-upprocedures on the algorithms or easily by using a PC with higherperformance.

In general the optimization results presented have to be re-garded critical due to the limited amount of real production dataavailable. As with every modeling and optimization task, the qual-ity of the obtained results is directly dependent on the quality andcompleteness of the data it is based on.

The optimization of Cmax is based only on the data for thebread and bread roll production, possible interactions with otherproduction departments at the baking stages could not be finallyclarified. The decrease of Cmax by 6.74–8.41% obtained here mightbe affected by this. The results for TIdT do not consider any kindof warm up times of machines that might be necessary. There-fore TIdT was calculated based on the beginning of the produc-tion, assuming that all production devices will be switched onto be ready at this time. Therefore the huge decrease of TIdTby up to 17.65% possibly has to be corrected due to thisassumption.

Although there are considerable ranges in the optimization re-sults for both Cmax and TIdT optimization and regardless of the ap-plied methods, even the worst case results show significantbenefits compared to the initial values.

Since the optimization task was not executed as a multi-objec-tive task and based on the obtained results, the optimization of

TIdT would often lead to an optimization of Cmax as a side effect,whereas the optimization of Cmax would often significantly in-crease TIdT. Due to these observed effects a trade-off between Cmax

and TIdT should be defined to decide which of these two cost func-tions yields the higher impact in respect of the overall productionperformance.

The comparison of the two applied optimization algorithmsdoes not lead to a clear result, although PSO seems to runslightly faster, 39 s when optimizing Cmax and 15 s when optimiz-ing TIdT in the mean computational times (cf. Figs. 7 and 10) andprovides slightly better results than ACO. PSO outperforms ACOjust at the unintended side effect optimization of Cmax while opti-mizing TIdT (cf. Figs. 13 and 14), whereas ACO seems to haveslight advantages in the side effect optimization of TIdT whileoptimizing Cmax, providing better than the initial results for TIdTin six out of 21 optimization runs, where PSO provides worsethan the initial results for TIdT in all optimization runs (cf.Figs. 11 and 12).

6. Conclusion and outlook

The objective of this paper has been to develop a productionplanning procedure for the baking industry based on numericalmodeling and evolutionary optimization algorithms. Therefore amodel of the production processes that schedules the workflowof a given product sequence according to defined decision param-eters was built in MATLAB. ACO and PSO have been used separatelyto solve the optimization task in respect to two different cost func-tions of economical interest.

Both algorithms proved capable of solving the given optimiza-tion problem in a predefined time span of less than 15 min, to pro-vide a procedure that can be employed shortly before theproduction start.

Although ACO and PSO only provide local optima of the optimi-zation problem, due to the limited runtime, even the worst case re-sults of both algorithms for both cost functions yielded significantbenefits compared to the results given by the initial productsequence.

It seems very promising that the quality of the obtained optimi-zation results could be enhanced by applying speed-up proceduresto the employed algorithms or run the developed procedure on aPC with higher performance, to calculate more iterations or biggerparticle or ant swarm sizes in the same computational time.

Since both algorithms used seem to have slight advantagesover each other, in respect to different optimization tasks, itwould be interesting to investigate the performance of a methodcombining ACO and PSO for the presented bakery optimizationproblem, for example using one of the algorithms to provide apromising initial population for the respective other algorithmto work with.

Acknowledgments

This research has been funded by CSM Deutschland GmbH. Mr.Hermann-Josef Michaelis (DialogMarketing GmbH) supported thecollection and availability of the production data. Production datawere provided by a baking company in Frankfurt/Main, Germany.The research was not further influenced besides the financial anddata collection support.

Appendix A

The production data used in this work are listed in Table A.1.

Tabl

eA

.1Pr

oduc

tion

data

used

.

Prod

uct

/Sta

gePr

epar

atio

nK

nea

der

1K

nea

der

2K

nea

der

3D

ough

Res

tD

&F

1D

&F

2D

&F

3D

&F

4D

&F

5D

&F

6D

&F

7R

efin

ing

1Pr

oofi

ng

1Pr

oofi

ng

2Fr

eeze

r1

LT Proo

fin

gSt

iffe

nin

gR

efin

ing

2B

akin

g1

Bak

ing

2B

akin

g3

Dep

ann

ing

Pack

agin

gFr

eeze

r2

Dis

trib

uti

on

Flu

te5

00

2018

00

00

00

030

075

00

020

50

035

00

08

Flu

teh

albg

eb.(

Prod

)5

00

2042

00

00

00

030

075

00

020

50

024

015

10

Cia

batt

aB

rötc

hen

50

015

180

00

00

075

00

010

00

00

00

220

00

10K

orn

Eck

100

90

250

00

110

00

030

00

00

00

050

00

010

Din

kel-

Vol

lkor

n-b

rot

750

g8

09

030

00

016

00

00

450

00

00

500

00

00

8

Bag

uet

te25

0g

50

015

600

00

00

040

090

00

020

80

240

200

010

Bio

-Vie

lkor

n-b

rot

500

g10

90

020

00

016

00

00

500

00

04

060

00

00

8B

agu

ette

500

g5

00

1560

00

00

00

300

900

00

2010

035

015

00

10B

rot

1000

g5

09

020

00

016

00

00

500

00

00

00

630

00

8B

rot

1000

g5

09

020

00

016

00

00

500

00

00

00

630

00

8B

rot

1000

g5

09

020

00

016

00

00

500

00

00

00

630

00

8B

io-L

andb

rot

500

g10

130

045

00

00

023

00

400

00

07

00

450

00

8H

olzl

uck

en75

0g

50

90

150

00

210

00

00

700

00

00

055

00

08

Hol

zlu

cken

750

g5

09

015

00

021

00

00

070

00

00

00

550

00

8M

isch

brot

500

g5

08

015

00

026

00

05

600

00

00

00

530

00

8M

isch

brot

1000

g5

08

015

00

021

00

05

600

00

00

00

550

00

8M

isch

brot

1000

g5

08

015

00

021

00

05

600

00

00

00

550

00

8La

ndb

rot

1000

g5

00

1190

00

00

029

00

750

00

04

00

550

00

5La

ndb

rot

1000

g5

00

1190

00

00

029

00

750

00

04

00

550

00

5B

auer

nbr

ot50

0g

50

90

200

00

260

00

560

00

00

00

055

00

08

Bau

ern

brot

1000

g5

09

020

00

021

00

05

600

00

00

00

600

00

8B

agu

ette

-tei

glin

g25

0g

(Pro

d)5

00

1522

00

00

00

025

090

00

020

80

170

2035

112

Bes

tes

1000

g5

00

915

00

00

310

00

400

00

00

00

600

00

8B

este

s10

00g

50

09

150

00

031

00

040

00

00

00

060

00

08

Fitn

essb

rot

50

90

200

00

260

00

560

00

00

00

050

00

08

Kor

nac

ker

750

g10

00

915

00

00

310

00

300

00

00

00

530

00

10K

arto

ffel

-bro

t50

0g

80

150

200

00

210

00

040

00

00

40

045

00

05

rbis

kern

(GV

)5

00

140

030

00

00

00

00

10

00

00

00

00

0D

oppe

l-kr

ust

e5

09

020

00

026

00

05

600

00

00

00

400

00

8R

ogge

n(G

V)

50

014

00

300

00

00

00

00

10

00

00

00

00

Vol

lkor

n-b

rötc

hen

(GV

)5

00

140

030

00

00

00

00

01

00

00

00

00

0K

rust

i(G

V)

50

015

400

00

00

400

00

00

10

00

00

00

00

Euro

-Brö

tch

en(G

V)

514

00

00

250

00

00

00

00

10

00

00

00

00

Kör

ni

(GV

)5

00

140

030

00

00

00

00

01

00

00

00

00

0B

ioB

rötc

hen

(GV

)5

00

140

030

00

00

00

00

01

00

00

00

00

0Fr

anzo

sen

-brö

tch

en(G

V)

40

014

200

035

00

00

045

030

10

00

00

00

00

Was

ser-

wec

k(G

V)

40

014

200

025

00

00

045

030

10

00

00

00

00

Fitn

ess

Brö

tch

enTL

(GV

)4

140

015

200

00

00

00

00

101

00

00

00

00

0K

aise

r(G

V)

40

014

150

065

00

00

00

00

10

00

00

00

00

Kai

sert

eig-

lin

g(G

V)

40

014

150

020

00

00

00

00

10

00

00

00

00

6846 F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847

F.T. Hecker et al. / Expert Systems with Applications 40 (2013) 6837–6847 6847

References

Ahmadizar, F. (2012). A new ant colony algorithm for makespan minimization inpermutation flow shops. Computers & Industrial Engineering, 63, 355–361.

Bank, M., Fatemi Ghomi, S. M. T., Jolai, F., & Behnamian, J. (2012). Application ofparticle swarm optimization and simulated annealing algorithms in flow shopscheduling problem under linear deterioration. Advances in EngineeringSoftware, 47, 1–6.

Collado-Fernández, M. (2003). BREAD and dough fermentation. In B. Caballero (Ed.),Encyclopedia of food sciences and nutrition (2nd ed., pp. 647–655). Oxford:Academic Press.

Dorigo, M. (1992). Optimization, learning and natural algorithms. Ph.D. thesis,Politecnico di Milano, Italy.

Eberhart, R. C., & Shi, Y. (2001). Particle swarm optimization: Developments,applications and resources. In Proceedings of the IEEE conference on evolutionarycomputation, ICEC 1 (pp. 81–86).

Kennedy, J., & Eberhart, R. C. (1995). Particle swarm optimization. In IEEEinternational conference on neural networks – conference proceedings, 4 (pp.1942–1948).

Li, D., & Deng, N. (2012). Solving permutation flow shop scheduling problem with acooperative multi-swarm PSO algorithm. Journal of Information andComputational Science, 9(4), 977–987.

Li, X., Baki, M. F., & Aneja, Y. P. (2010). Flow shop scheduling to minimize the totalcompletion time with a permanently present operator: Models and ant colonyoptimization metaheuristics. Computers & Operations Research. http://dx.doi.org/10.1016/j.cor.2010.04.009.

Lian, Z., Gu, X., & Jiao, B. (2008). A novel particle swarm optimization algorithm forpermutation flow-shop scheduling to minimize makespan. Chaos, Solitons andFractals, 35, 851–861.

Liao, C.-J., Tjandradjaja, E., & Chung, T.-P. (2012). An approach using particle swarmoptimization and bottleneck heuristic to solve hybrid flow shop schedulingproblem. Applied Soft Computing, 12, 1755–1764.

Liu, B., Wang, L., Liu, Y., Qian, B., & Jin, Y.-H. (2010). An effective hybrid particleswarm optimization for batch scheduling of polypropylene processes.Computers and Chemical Engineering, 34, 518–528.

Pan, Q.-K., Tasgetiren, M. F., & Liang, Y.-C. (2008). A discrete particle swarmoptimization algorithm for the no-wait flowshop scheduling problem.Computers & Operations Research, 35, 2807–2839.

Perez-Gonzalez, P., & Framinan, J. M. (2010). Setting a common due data in aconstrained flowshop: A variable neighbourhood search approach. Computers &Operations Research, 37, 1740–1748.

Pinedo, M. L. (2008). Scheduling – theory, algorithms, and systems (3rd ed.). NewYork: Springer.

Ruiz, R., & Vazquez-Rodriguez, J. A. (2010). The hybrid flow shop schedulingproblem. European Journal of Operational Research, 205, 1–18.

Tang, Q., & Tang, L. (2012). Heuristic particle swarm optimization for batching andscheduling flowshop with sequence-independent setup time. Applied Mechanicsand Materials, 130–134, 2504–2507.

Tasgetiren, M. F., Liang, Y., Sevkli, M., & Gencyilmaz, G. (2007). A particle swarmoptimization algorithm for makespan and total flowtime minimization in thepermutation flowshop sequencing problem. European Journal of OperationalResearch, 177, 1930–1947.

Tzeng, Y.-R., & Chen, C.-L. (2012). A hybrid EDA with ACS for solving permutationflow shop scheduling. International Journal of Advanced ManufacturingTechnology, 60(9–12), 1139–1147.

Wang, Y., & Yang, Y. (2010). Particle swarm with equilibrium strategy of selectionfor multi-objective optimization. European Journal of Operational Research, 200,187–197.

Yagmahan, B., & Yenisey, M. M. (2010). A multi-objective ant colony systemalgorithm for flow shop scheduling problem. Expert Systems with Applications,37, 1361–1368.

Zentralverband des Deutschen Bäckerhandwerks e. V. (2012). http://www.baeckerhandwerk.de/baeckerhandwerk/zahlen-fakten, last accessed22.05.2013.