**Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production Scheduling of a Brazilian Garment Company**

Dalessandro Soares Vianna, Igor Carlos Pulini and Carlos Bazilio Martins

Additional information is available at the end of the chapter

http://dx.doi.org/10.5772/53701

## **1. Introduction**

**Dr. Javier Del Ser**

Zamudio, Spain

Technology Manager, OPTIMA Business Area TECNALIA RESEARCH & INNOVATION

with respect to other existing approaches. On the other hand, the fourth chapter investigates different meta-heuristic algorithms in the context of multilevel lot-sizing problems, which hinge on determining the lot sizes for producing/procuring multiple items at different levels with quantitative interdependencies, so as to minimize the total production costs in the planning horizon. This chapter also introduces a special variable neighborhood based algo‐ rithm shown to perform satisfactorily for several simulated benchmark instances under di‐ verse scales. Finally, the fifth chapter ends the booklet by outlining a two-step optimization method for dynamic weapon target assignment problem, a military-driven application where an allocation plan is to be found to assigning the available weapons in an area to in‐ coming targets. Specifically, the proposed scheme combines different optimization ap‐ proaches such as graph theory, evolutionary game theory, and particle swarm optimization. The editor would like to eagerly thank the authors for their contribution to this book, and especially the editorial assistance provided by the InTech publishing process manager, Ms. Natalia Reinic. Last but not least, the editor's gratitude extends to the anonymous manu‐

script processing team for their arduous formatting work.

VIII Preface

The Brazilian garment industry has been forced to review its production processes due to the competition against Asiatic countries like China. These countries subsidize the produc‐ tion in order to generate employment, which reduces the production cost. This competition has changed the way a product is made and the kind of production. The industry has fo‐ cused on customized products rather than the ones large-scale produced. This transforma‐ tion has been called "mass customization" [1].

In this scenario the Brazilian garment industry has been forced to recreate its production process to provide a huge diversity of good quality and cheaper products. These must be made in shorter periods and under demand. These features require the use of chronoanaly‐ sis to analyze the production load balance. Since the production time becomes crucial, the task1 allocation must regard the distinct production centers2 . Most of a product lead time – processing time from the beginning to the end of the process – is spent waiting for resour‐ ces. In the worse case, it can reach 80% of the total time [2]. So the production load balance is critical to acquire a good performance.

It is hard to accomplish production load balance among distinct production centers. This balance must regards the available resources and respect the objectives of the production.

<sup>2</sup> Production centers: internal or external production cell composed by a set of individuals which are able to execute specific tasks.

<sup>© 2013</sup> Vianna et al.; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. © 2013 Vianna et al.; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

<sup>1</sup> Tasks: set of operations taken on the same production phase.

Lindem [3] argues that these scheduling problems are NP-Complete since the search space is a factorial of the number of variables. These problems may be solved by using exact meth‐ ods. However due to time constraints, heuristics must be used in order to find good quality solutions within a reasonable time.

**2. Addressed problem**

**Figure 1.** Production planning.

centers downtime.

3 Except when the company has to pay overtime.

quencing. These steps are depicted at Figure 1.

The production planning process of the Brazilian garment industry may be split into many phases from demand provision to tasks scheduling at each machine. Tubino [2] says that the production planning is defined by the demand from the Planning Master of Production (PMP). This demand is sent to the Material Requirements Planning (MRP) that calculates the material required. Then it becomes available to the Issuance of Production Orders and Se‐

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

http://dx.doi.org/10.5772/53701

3

Demand Prediction

Planning Master of Production (PMP)

Material Requirements Planning (M RP)

Issuance of Production Orders

Sequencing

This work approaches the scheduling phase where a set of tasks has to be distributed among production centers. As said before, production center is an internal or external production cell composed by a set of specialized individuals. Each task may be done by a set of produc‐ tion centers and each production center is able to execute many tasks. The objectives of this work are: i) to minimize the total production time (*makespan* – time from the beginning of the first task to the end of the last task); ii) to maximize the use of internal production cen‐

salary are already at the payroll of the company; iii) to minimize the internal production

These three objectives have been chosen in order to meet the needs of the analyzed compa‐ ny. Some couple of them are conflicting, i.e., when one has an improvement the other tends to get worse. Others objectives are not conflicting, but the optimization of one does not guar‐ antee the optimization of the other. As an example of conflicting objectives, we have the ob‐ jectives "to minimize the total production time" and "to maximize the use of internal production centers": for minimizing the total production time it is necessary to make the best use of the available production centers, regardless of whether they are internal or exter‐

since employees'

ters – the use of internal production centers does not imply cost overhead3

Nowadays the ERP (Enterprise Resource Planning) systems used by the Brazilian garment industry do not consider the finite source of resources and the constraints of the real produc‐ tion environment [3]. Task scheduling is done manually through simple heuristics techni‐ ques like FIFO (First In First Out) and SPT (Shortest Processing Time). Although those techniques can generate feasible solutions, these ones usually have poor quality.

In real optimization problems, as the problem addressed in this work, is generally desirable to optimize more than one performance objective at the same time. These objectives are gen‐ erally conflicting, i.e., when one objective is optimized, the others become worse. The goal of multiobjective combinatorial optimization (MOCO) [4] [5] is to optimize simultaneously more than one objective. MOCO problems have a set of optimal solutions (instead of a sin‐ gle optimum) in the sense that no other solutions are superior to them when all objectives are taken into account. They are known as *Pareto optimal* or *efficient* solutions.

Solving MOCO problems is quite different from single-objective case, where an optimal sol‐ ution is searched. The difficulty is not only due to the combinatorial complexity as in singleobjective case, but also due to the research of all elements of the efficient set, whose cardinality grows with the number of objectives.

In the literature, some authors have proposed exact methods for solving specific MOCO problems, which are generally valid to bi-objective problems but cannot be adapted easi‐ ly to a higher number of objectives. Also, the exact methods are inefficient to solve largescale NP-hard MOCO problems. As in the single-objective case, the use of heuristic/ metaheuristic techniques seems to be the most promising approach to MOCO problems because of their efficiency, generality and relative simplicity of implementation [5] [6] [7]. Genetic algorithms are the most commonly used metaheuristic in the literature to solve these problems [8].

The objective of this work is to develop a method to carry out the production scheduling of a Brazilian garment company, placed at Espírito Santo state, in real time, which must regu‐ larly balance the product demands with the available resources. This is done in order to: re‐ duce the total production time; prioritize the use of internal production centers of the company rather than the use of external production centers; and reduce the downtime of the internal production centers.

With this purpose, initially a mixed integer programming model was developed for the problem. Then, we implemented a multiobjective genetic algorithm (MGA) based on the NSGA-II [4] model, which generates a set of sub-optimal solutions to the addressed prob‐ lem. After we used the multicriteria method Weighted Sum Model – WSM [9] to select one of the solutions obtained by the MGA to be applied to the production scheduling. The mixed integer programming model, the MGA developed and its automatic combination with the multicriteria method WSM are original contributions of this work.

## **2. Addressed problem**

Lindem [3] argues that these scheduling problems are NP-Complete since the search space is a factorial of the number of variables. These problems may be solved by using exact meth‐ ods. However due to time constraints, heuristics must be used in order to find good quality

Nowadays the ERP (Enterprise Resource Planning) systems used by the Brazilian garment industry do not consider the finite source of resources and the constraints of the real produc‐ tion environment [3]. Task scheduling is done manually through simple heuristics techni‐ ques like FIFO (First In First Out) and SPT (Shortest Processing Time). Although those

In real optimization problems, as the problem addressed in this work, is generally desirable to optimize more than one performance objective at the same time. These objectives are gen‐ erally conflicting, i.e., when one objective is optimized, the others become worse. The goal of multiobjective combinatorial optimization (MOCO) [4] [5] is to optimize simultaneously more than one objective. MOCO problems have a set of optimal solutions (instead of a sin‐ gle optimum) in the sense that no other solutions are superior to them when all objectives

Solving MOCO problems is quite different from single-objective case, where an optimal sol‐ ution is searched. The difficulty is not only due to the combinatorial complexity as in singleobjective case, but also due to the research of all elements of the efficient set, whose

In the literature, some authors have proposed exact methods for solving specific MOCO problems, which are generally valid to bi-objective problems but cannot be adapted easi‐ ly to a higher number of objectives. Also, the exact methods are inefficient to solve largescale NP-hard MOCO problems. As in the single-objective case, the use of heuristic/ metaheuristic techniques seems to be the most promising approach to MOCO problems because of their efficiency, generality and relative simplicity of implementation [5] [6] [7]. Genetic algorithms are the most commonly used metaheuristic in the literature to solve

The objective of this work is to develop a method to carry out the production scheduling of a Brazilian garment company, placed at Espírito Santo state, in real time, which must regu‐ larly balance the product demands with the available resources. This is done in order to: re‐ duce the total production time; prioritize the use of internal production centers of the company rather than the use of external production centers; and reduce the downtime of the

With this purpose, initially a mixed integer programming model was developed for the problem. Then, we implemented a multiobjective genetic algorithm (MGA) based on the NSGA-II [4] model, which generates a set of sub-optimal solutions to the addressed prob‐ lem. After we used the multicriteria method Weighted Sum Model – WSM [9] to select one of the solutions obtained by the MGA to be applied to the production scheduling. The mixed integer programming model, the MGA developed and its automatic combination

with the multicriteria method WSM are original contributions of this work.

techniques can generate feasible solutions, these ones usually have poor quality.

are taken into account. They are known as *Pareto optimal* or *efficient* solutions.

cardinality grows with the number of objectives.

these problems [8].

internal production centers.

solutions within a reasonable time.

2 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

The production planning process of the Brazilian garment industry may be split into many phases from demand provision to tasks scheduling at each machine. Tubino [2] says that the production planning is defined by the demand from the Planning Master of Production (PMP). This demand is sent to the Material Requirements Planning (MRP) that calculates the material required. Then it becomes available to the Issuance of Production Orders and Se‐ quencing. These steps are depicted at Figure 1.

**Figure 1.** Production planning.

This work approaches the scheduling phase where a set of tasks has to be distributed among production centers. As said before, production center is an internal or external production cell composed by a set of specialized individuals. Each task may be done by a set of produc‐ tion centers and each production center is able to execute many tasks. The objectives of this work are: i) to minimize the total production time (*makespan* – time from the beginning of the first task to the end of the last task); ii) to maximize the use of internal production cen‐ ters – the use of internal production centers does not imply cost overhead3 since employees' salary are already at the payroll of the company; iii) to minimize the internal production centers downtime.

These three objectives have been chosen in order to meet the needs of the analyzed compa‐ ny. Some couple of them are conflicting, i.e., when one has an improvement the other tends to get worse. Others objectives are not conflicting, but the optimization of one does not guar‐ antee the optimization of the other. As an example of conflicting objectives, we have the ob‐ jectives "to minimize the total production time" and "to maximize the use of internal production centers": for minimizing the total production time it is necessary to make the best use of the available production centers, regardless of whether they are internal or exter‐

<sup>3</sup> Except when the company has to pay overtime.

nal. The objectives "to minimize the total production time" and "to minimize the internal production centers downtime" are not conflicting: by decreasing the downtime of the pro‐ duction centers, the total production time also tends to decrease. However, if tasks are allo‐ cated to an internal production center, which together have an execution time shorter than the total production time, it is possible to arrange them in different ways without changing the total production time. The objective "to minimize the internal production centers down‐ time" requires the best arrangement of the tasks within each internal production center.

22, *T* 23, *T* 25 and *T* 26; Product 3 requires tasks *T* 31, *T* 32, *T* 33, *T* 34 and *T* <sup>36</sup>. All tasks are distribut‐

In Figure 3 the problem is divided into 2 subproblems: A and B. At subproblem A the tasks are distributed among the production centers that can execute them. At this step is impor‐ tant to prioritize internal production centers in order to take profit of the company process‐ ing power that is already available. At subproblem B the tasks must be scheduled respecting

Production Centers

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

C 3

C 2

C 1

T12

T22

T14

T34

T11

T25

T23 T33

T32

Subproblem B

http://dx.doi.org/10.5772/53701

5

T15

T21

T13

T26 T36

T16

T31

C 4

C 5

ed among production centers *C* 1, *C* 2, *C* 3, *C* 4 and *C* 5.

1 2

T15 T25

S ubprob lem A - C hoice of p ro duction ce nte r. Subproblem B - Organization of tasks.

**Figure 3.** Task distribution among the production centers.

unavailability of the production centers *C* 1 and *C* 5.

Steps

6 - Finishing 5 - Laundry

1 - Scratch 2 - Cut 3 - Sewing 4 - Embroidery Products Subproblem A

T11 T21 T31 T12 T22 T32 T13 T23 T33 T14 T34

T16 T26 T36

3

Figure 4(1) depicts an example of scheduling for the tasks listed in Figure 3. Note that the precedence relation among tasks is respected, that is, a task *Tij*, where *i* means the product to be made and *j* the production stage, can be started only after all tasks *T ik* (*k* < *j*) have been finished. The Figure 4(2) shows the downtime (gray arrows) in the pro‐ duction centers. For instance, task *T* 13 at production center *C* 5 waits for the task *T* 12 at *C* 3 before starts executing. Figure 4(3) shows that the tasks *T* 25 and *T* 31 at production center *C* 1 and *T* 38 at *C* 5 (black boxes) were ready but had to be frozen because of the

the precedence order of tasks.

In order to better describe the addressed problem, Figure 2 depicts the steps toward the pro‐ duction of a short. The production process is composed by a set of production stages. Each stage has a set of operations to be performed. In this work, this set is called task. In this ex‐ ample, there are 6 production stages (scratch, cut, sewing, embroidery, laundry and finish‐ ing). The sewing task lasts 12.54 minutes and is composed by *d* operations. There are *h* production centers qualified to perform the sewing task.

**Figure 2.** Example of a production process.

The execution time of a task is the sum of the execution time of its operations. This time is used during the scheduling, which hides the complexity of the operation distribution inside a stage. So it can be seen as a classical task scheduling where each production center is a machine and the operations set of each production stage is a task.

During the scheduling process the following constraints must be respected: i) for each prod‐ uct exists an execution order of tasks, i.e., there is a precedence order among tasks; ii) each task can only be executed in production centers that are qualified to it, i.e. production cen‐ ters are specialized; iii) employees stop working regularly for lunch and eventually for oth‐ ers reasons like training or health care; iv) depending on the workload it is possible to work overtime; v) the time spent to go from one to another production center must be considered.

The addressed problem is similar to the flexible job shop problem, in which there is a set of work centers that groups identical machines operating concurrently; inside a work center, a task may be executed by any of the machines available [10]. Figure 3 depicts an example of adapting the flexible job shop to the addressed problem. In this figure, three products are made: Product 1 requires tasks *T* 11, *T* 12, *T* 13, *T* 14, *T* 15 and *T* 16; Product 2 requires tasks *T* 21, *T* 22, *T* 23, *T* 25 and *T* 26; Product 3 requires tasks *T* 31, *T* 32, *T* 33, *T* 34 and *T* <sup>36</sup>. All tasks are distribut‐ ed among production centers *C* 1, *C* 2, *C* 3, *C* 4 and *C* 5.

In Figure 3 the problem is divided into 2 subproblems: A and B. At subproblem A the tasks are distributed among the production centers that can execute them. At this step is impor‐ tant to prioritize internal production centers in order to take profit of the company process‐ ing power that is already available. At subproblem B the tasks must be scheduled respecting the precedence order of tasks.

S ubprob lem A - C hoice of p ro duction ce nte r. Subproblem B - Organization of tasks.

nal. The objectives "to minimize the total production time" and "to minimize the internal production centers downtime" are not conflicting: by decreasing the downtime of the pro‐ duction centers, the total production time also tends to decrease. However, if tasks are allo‐ cated to an internal production center, which together have an execution time shorter than the total production time, it is possible to arrange them in different ways without changing the total production time. The objective "to minimize the internal production centers down‐ time" requires the best arrangement of the tasks within each internal production center.

In order to better describe the addressed problem, Figure 2 depicts the steps toward the pro‐ duction of a short. The production process is composed by a set of production stages. Each stage has a set of operations to be performed. In this work, this set is called task. In this ex‐ ample, there are 6 production stages (scratch, cut, sewing, embroidery, laundry and finish‐ ing). The sewing task lasts 12.54 minutes and is composed by *d* operations. There are *h*

The execution time of a task is the sum of the execution time of its operations. This time is used during the scheduling, which hides the complexity of the operation distribution inside a stage. So it can be seen as a classical task scheduling where each production center is a

During the scheduling process the following constraints must be respected: i) for each prod‐ uct exists an execution order of tasks, i.e., there is a precedence order among tasks; ii) each task can only be executed in production centers that are qualified to it, i.e. production cen‐ ters are specialized; iii) employees stop working regularly for lunch and eventually for oth‐ ers reasons like training or health care; iv) depending on the workload it is possible to work overtime; v) the time spent to go from one to another production center must be considered.

The addressed problem is similar to the flexible job shop problem, in which there is a set of work centers that groups identical machines operating concurrently; inside a work center, a task may be executed by any of the machines available [10]. Figure 3 depicts an example of adapting the flexible job shop to the addressed problem. In this figure, three products are made: Product 1 requires tasks *T* 11, *T* 12, *T* 13, *T* 14, *T* 15 and *T* 16; Product 2 requires tasks *T* 21, *T*

O peration 1 O peration 2

Production Center 1

Production Center 2

Production Center *h*

**Sewing Task**

O peration *d*

production centers qualified to perform the sewing task.

4 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

Scratch **Stage**

**Figure 2.** Example of a production process.

Finishing 1,09 Laundry 2,12

machine and the operations set of each production stage is a task.

**Time Table**

Cut 3,34 Sewing 12,54 Embroidery 0,45

1,20 **Time**

**Product**

**Figure 3.** Task distribution among the production centers.

Figure 4(1) depicts an example of scheduling for the tasks listed in Figure 3. Note that the precedence relation among tasks is respected, that is, a task *Tij*, where *i* means the product to be made and *j* the production stage, can be started only after all tasks *T ik* (*k* < *j*) have been finished. The Figure 4(2) shows the downtime (gray arrows) in the pro‐ duction centers. For instance, task *T* 13 at production center *C* 5 waits for the task *T* 12 at *C* 3 before starts executing. Figure 4(3) shows that the tasks *T* 25 and *T* 31 at production center *C* 1 and *T* 38 at *C* 5 (black boxes) were ready but had to be frozen because of the unavailability of the production centers *C* 1 and *C* 5.

This model defines a variable *N* that indicates the total number of tasks, including an addi‐

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

http://dx.doi.org/10.5772/53701

7

Below is presented the mixed integer programming model for the addressed problem. The parameters of the problem are presented, followed by the interval indexes, the decision vari‐ ables and finally by the equations for the three objective functions together with their con‐

*N* – Total number of tasks (*N* = *NJ* + 1). The last one is the fictitious task that was added to

.

tional task that is required for the initialization of the sequencing units.

straints.

*WLi*

*CPJi*

*PREi*

*OffSetck cl*

**Indexes**

*Starti*

*Endi*

unit *s*.

ing unit *s*.

**Decision variables**

**Parameters**

*NCP* – Number of production centers. *NSU* – Number of sequencing units. *NJ* – Number of tasks to be scheduled.

*M* – Large enough value.

– Workload of task *i*.

the model as the initial task of every sequencing unit.

*CPs* – Production center of the sequencing unit *s*. *Minimums* – Starting time of the sequencing unit *s*.

*CI* – Set of internal production centers.

*i, j* – Indexes of tasks. *i*, *j* ∈ [1, *N*].

*c* – Index of production centers. *c* ∈ [1, *NCP*]. *s* – Indexes of sequencing units. *s* ∈ [1, *NSU*].

*Times* – Amount of time available at sequencing unit *s*.

– Set of production centers that can execute the task *i*.

– Time for going from production center *c <sup>k</sup>* to *c <sup>l</sup>*

– Set of tasks that are a precondition for the execution of task *i*.

– Non-negative linear variable that represents the starting time of task *i*.

*WLSsi* – Non-negative linear variable that represents the workload of task *i* at the sequencing

*StartSsi* – Non-negative linear variable that represents the starting time of task *i* at sequenc‐

– Non-negative linear variable that represents the ending time of task *i*.

**Figure 4.** Example of tasks scheduling.

The addressed problem is similar to some works found in the literature, like Senthilkumar and Narayanan [11], Santosa, Budiman and Wiratino [12], Abdelmaguid [13], Dayou, Pu and Ji [14], Chang and Chyu [15] and Franco [16]. However, these works do not consider real-time tasks sequencing or are not applied to real problems.

It is important to note that the chronoanalysis method used here is not the focus of this work. However, in this work, the production time includes tolerance, rhythm and others variables from the chronoanalysis.

#### **2.1. Mathematical modeling**

For this modeling was created a sequencing unit (*SU*) which defines a time-slice of work. Each production center has distinct sequencing units, in which tasks are scheduled all day long. Figure 5 depicts a set of sequencing units that describes the behavior of a particular production center. The overtime work is treated as a distinct sequencing unit, since they have particular features like cost.

**Figure 5.** Sequencing units organization.

This model defines a variable *N* that indicates the total number of tasks, including an addi‐ tional task that is required for the initialization of the sequencing units.

Below is presented the mixed integer programming model for the addressed problem. The parameters of the problem are presented, followed by the interval indexes, the decision vari‐ ables and finally by the equations for the three objective functions together with their con‐ straints.

#### **Parameters**

Time

(1) (2) (3)

The addressed problem is similar to some works found in the literature, like Senthilkumar and Narayanan [11], Santosa, Budiman and Wiratino [12], Abdelmaguid [13], Dayou, Pu and Ji [14], Chang and Chyu [15] and Franco [16]. However, these works do not consider

It is important to note that the chronoanalysis method used here is not the focus of this work. However, in this work, the production time includes tolerance, rhythm and others

For this modeling was created a sequencing unit (*SU*) which defines a time-slice of work. Each production center has distinct sequencing units, in which tasks are scheduled all day long. Figure 5 depicts a set of sequencing units that describes the behavior of a particular production center. The overtime work is treated as a distinct sequencing unit, since they

7 8 9 1 0 11 1 2 1 3 14 15 16 17 18 1 9 2 0

Sequencing Units SU1 SU 2 S U 3 S U 4 S U 5 S U 6

T23 T33 T14 T34

T16 T26 T36

T15 T25 C 3 C 2

C 4 T11

C 1

Time

T21

T12 T22 T32

T13

T23 T33 T14 T34

T16 T26

T15

Hours a day

C 5

Time

6 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

real-time tasks sequencing or are not applied to real problems.

C 3 C 2

C 1

T21 T31

T12 T22 T32

T13

C 5

C 4 T11

C 3 C 2

C 1

T21 T31

T12 T22 T32

T13

T23 T33 T14

**Figure 4.** Example of tasks scheduling.

variables from the chronoanalysis.

have particular features like cost.

Worked Hours Daily Stops Scheduled Stops

**Figure 5.** Sequencing units organization.

Overtim e

Center A

**2.1. Mathematical modeling**

T34

T16 T26 T36

T15 T25

C 5

C 4 T11

*NCP* – Number of production centers.

*NSU* – Number of sequencing units.

*NJ* – Number of tasks to be scheduled.

*N* – Total number of tasks (*N* = *NJ* + 1). The last one is the fictitious task that was added to the model as the initial task of every sequencing unit.

*M* – Large enough value.

*WLi* – Workload of task *i*.

*CPs* – Production center of the sequencing unit *s*.

*Minimums* – Starting time of the sequencing unit *s*.

*Times* – Amount of time available at sequencing unit *s*.

*CPJi* – Set of production centers that can execute the task *i*.

*CI* – Set of internal production centers.

*PREi* – Set of tasks that are a precondition for the execution of task *i*.

*OffSetck cl* – Time for going from production center *c <sup>k</sup>* to *c <sup>l</sup>* .

#### **Indexes**


## **Decision variables**

*Starti* – Non-negative linear variable that represents the starting time of task *i*.

*Endi* – Non-negative linear variable that represents the ending time of task *i*.

*WLSsi* – Non-negative linear variable that represents the workload of task *i* at the sequencing unit *s*.

*StartSsi* – Non-negative linear variable that represents the starting time of task *i* at sequenc‐ ing unit *s*.

*DTsij* – Non-negative linear variable that represents the downtime between tasks *i* and *j* in the sequencing unit *s*.

*Ysij* – Non-negative linear variable that represents the flow *i*, *j* of the sequencing unit *s*.

*MkSpan* – Non-negative linear variable that represents the time between the end of the last finished task and the start of the first task.

*IntTime* – Non-negative linear variable that represents the amount of execution time of tasks in the internal production centers.

*DownTime* – Non-negative linear variable that represents the amount of internal production centers downtime.

*Zci* ={ 1 if task *i* is allocated to production center *c*. 0 otherwise

1 if task *i* is allocated to sequencing unit *s*.

*Usi* ={ 0 otherwise

*Xsij* ={ 1 if the sequence *i*, *j* happens in the sequencing unit *s*. 0 otherwise

**Model**

$$\text{M.F.1 = Min} \quad \text{MkSpan} \tag{1}$$

,/ ,/ *Y M X s i CP CPJ j j N and CP CPJ sij sij s i s j* £ ´ "" Î " ¹ Î (9)

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

/

Î

/

/

*s i*

/ ,

/ ,

*s si*

*s CP c CP CPJ*

= Î

*j j N CP CPJ*

¹ Î

*s j*

*i CP CPJ*

Î

*i ci c c CPJ*

> *s i si*

> > , /

*sij si*

*s CP CPJ*

Î

1 /

*Z ii N*

1

*sij sj s j*

, /

(1 ) , / *si si s s si s i StartS WLS Minimim Time M U s i i N and CP CPJ* + £ + + ´ - "" ¹ Î (17)

\* ,

(1 ) , / , / *sj si si sij s i s j StartS StartS WLS M X s i CP CPS j j N and CP CPJ* ³ + - ´ - "" Î " ¹ Î (23)

1 2 1 2 1 2 <sup>1</sup> <sup>2</sup> (2 ) , , / ,/ , *j i cc ci c j <sup>i</sup> <sup>j</sup> <sup>j</sup> Start End OffSet M Z Z c c i i N and c CPJ j j N i PRE and c CPJ* ³ + - ´- - """ ¹ Î " ¹ Î Î (24)

*si ci ci*

*WLS WL Z i c*

*X U s j j N and CP CPJ*

*X U s ii N*

*U i*

1 *U s sN* = " (10)

http://dx.doi.org/10.5772/53701

9

å =" ¹ (11)

å ³ " (12)

,/ , *U Z i s CP CPJ c CP si ci si s* £ "" Î = (13)

å = "" ¹ Î (14)

/ ,/ *si s si s i StartS Minimum U s CP CPJ i i N* ³ ´ " Î "¹ (16)

å £ "" ¹ (15)

å = "" (18)

/ , *WLS M U s CP CPJ i si si s i* £´ " Î " (19)

/ *i i End Start i i N* ³ "¹ (22)

(1 ) / , *<sup>i</sup> si si s i Start StartS M U s CP CPJ i* £ + ´- " Î " (20)

(1 ) / , *<sup>i</sup> si si si s i End StartS WLS M U s CP CPJ i* £ + - ´- " Î " (21)

$$\text{ROF.2} \quad = \text{Max} \quad IntTime \tag{2}$$

$$
\Delta OF.3 \, = \text{Min} \quad DownTime \tag{3}
$$

**Subject to:**

$$\text{MkSpman} \ge \text{End}\_{i} \quad \forall i \;/\; i \neq \text{N} \tag{4}$$

$$IntTime = \sum\_{s/CP\_s \in CI} \sum\_{l/i \neq N} \mathsf{WLS}\_{sl} \tag{5}$$

$$DownTime = \sum\_{s/CP\_s \in CI} \sum\_{i} \sum\_{j/j \neq N} DT\_{sij} \tag{6}$$

$$DT\_{sl\rangle} \ge \text{StartS}\_{s\rangle} - \text{(StartS}\_{sl} + \text{WLS}\_{sl}) - M \times (1 - X\_{s\langle i\rangle}) \tag{7}$$

$$\sum\_{\text{i}\neq\text{i}\subset\text{P}\_{s}\subset\text{CP}\_{i}\atop\text{i}\neq\text{i}\neq\text{N}}\mathbf{Y}\_{\text{s}\not\subseteq\text{P}\_{s}} - \sum\_{\text{i}\neq\text{i}\subset\text{N}}\mathbf{Y}\_{\text{s}\not\supseteq\text{P}\_{s}} = \mathbf{U}\_{\text{s}\not\models} \quad \forall \,\mathbf{s},\forall\mathbf{j}\,\,\,\mathbf{j}\neq\mathbf{N}\,\text{and}\quad \mathbf{CP}\_{i}\in\mathbf{CP}\mathbf{J}\_{j}\tag{8}$$

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production… http://dx.doi.org/10.5772/53701 9

$$\text{C} \begin{array}{ll} \text{Y}\_{s\text{i}\text{j}} \le M \times X\_{s\text{i}\text{j}} \quad \forall \text{ s}\_{\text{i}} \forall \text{i} \;/\text{C} \text{P}\_{\text{s}} \in \text{CPI}\_{i}, \forall \text{j} \;/\text{ j} \neq \text{N} \text{ and } \quad \text{C} \text{P}\_{\text{s}} \in \text{CPI}\_{\text{j}} \end{array} \tag{9}$$

*DTsij* – Non-negative linear variable that represents the downtime between tasks *i* and *j* in

*MkSpan* – Non-negative linear variable that represents the time between the end of the last

*IntTime* – Non-negative linear variable that represents the amount of execution time of tasks

*DownTime* – Non-negative linear variable that represents the amount of internal production

/ / *<sup>s</sup>*

*s CP CI i i N IntTime WLS* Î ¹

/ / *<sup>s</sup>*

*s CP CI i j j N DownTime DT*

Î ¹

, /

*sij sji sj s j*

*Y Y U s j j N and CP CPJ*

*si*

*sij*

( ) (1 ) *DT StartS StartS WLS M X sij sj si si sij* ³ - + - ´- (7)

å å - = "" ¹ Î (8)

*O F*. .1 =*Min MkSpan* (1)

*O F*. .2 = *Max IntTime* (2)

*O F*. .3 = *Min DownTime* (3)

/ *MkSpan End i i N <sup>i</sup>* ³ "¹ (4)

<sup>=</sup> å å (5)

<sup>=</sup> å åå (6)

*Ysij* – Non-negative linear variable that represents the flow *i*, *j* of the sequencing unit *s*.

the sequencing unit *s*.

centers downtime.

0 otherwise

0 otherwise

0 otherwise

*Zci* ={

*Usi* ={

*Xsij* ={

**Model**

**Subject to:**

finished task and the start of the first task.

1 if task *i* is allocated to production center *c*.

8 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

1 if task *i* is allocated to sequencing unit *s*.

/ / ,

*s i s i*

*i CP CPJ i i N CP CPJ*

Î ¹Î

1 if the sequence *i*, *j* happens in the sequencing unit *s*.

in the internal production centers.

$$
\Delta I\_{sN} = 1 \quad \forall s \tag{10}
$$

$$\sum\_{\{c \mid i \in C \mid \mathcal{F}\}\_i} Z\_{c\bar{i}} = 1 \quad \forall \, i \neq \mathcal{N} \tag{11}$$

$$\sum\_{s/\text{CP}\_s \ll \text{CPI}\_i} \mathcal{U}\_{si} \ge 1 \quad \forall i \tag{12}$$

$$\text{C} \begin{aligned} \text{L} & \text{L}\_{\text{sl}} \le Z\_{\text{c}j} \quad \forall \text{i} \text{,} \forall \text{s} / \text{C} \mathbf{P}\_{\text{s}} \in \text{C} \mathbf{P} \mathbf{I}\_{I} \text{,} \mathbf{c} = \text{C} \mathbf{P}\_{\text{s}} \end{aligned} \tag{13}$$

$$\sum\_{\text{i}\_{\text{i}} \in \text{CP}\_{s} \in \text{CP}|\_{i}} X\_{s\text{i}\parallel} = \text{LI}\_{s\text{j}} \quad \forall \, s\_{\text{\textquotedblleft}j} \,\,\forall \, j \,\,\forall \, \text{and} \quad \text{CP}\_{s} \in \text{CP}|\_{j} \tag{14}$$

$$\sum\_{\forall i \mid i \neq N, \text{CP}\_i \& \text{CP}\_i \& \text{CP}\_i} X\_{sij} \le \mathcal{U}\_{si} \quad \forall \text{ s}\_i \forall i \;/\, i \neq N \tag{15}$$

$$\text{StartS}\_{si} \ge \text{Minimum}\_{s} \times \text{LI}\_{si} \quad \forall \text{s} / \text{CP}\_{s} \in \text{CPI}\_{i} \; \forall \text{i} / \text{i} \neq \text{N} \tag{16}$$

$$\text{Start} \\ \text{S}\_{\text{si}} + \text{WLS}\_{\text{si}} \le \text{Minimum}\_{\text{s}} + \text{Time}\_{\text{s}} + M \times (1 - \text{LI}\_{\text{si}}) \quad \forall \text{s}, \forall i / \text{i} \ne \text{N} \\ \qquad \text{and} \quad \text{CP}\_{\text{s}} \in \text{CP} \text{f}\_{i} \\ \tag{17}$$

$$\sum\_{\text{sl}\in\text{CP}\_{i}=\text{c},\text{C}\text{P}\_{\text{sl}}\in\text{CP}\|\_{i}} \mathsf{WLS}\_{\text{sl}} = \mathsf{WL}\_{\text{c}l} \triangleq Z\_{\text{c}l} \quad \forall \, i, \forall c \tag{18}$$

$$\text{WLS}\_{sl} \le M \times \text{LI}\_{sl} \quad \forall \text{ s} / \text{CP}\_{s} \in \text{CPI}\_{l} \; , \forall \text{i} \tag{19}$$

$$\text{Start}\_{l} \le \text{Start}\_{sl} + M \times (1 - \text{LI}\_{sl}) \quad \forall \text{s} / \text{CP}\_{s} \in \text{CPI}\_{l}, \forall \text{i} \tag{20}$$

$$\text{End}\_{l} \le \text{Start}S\_{sl} + \text{WLS}\_{sl} - M \times (1 - \text{LL}\_{sl}) \quad \forall s / \text{CP}\_{s} \in \text{CPI}\_{l}, \forall i \tag{21}$$

$$\text{End}\_i \cong \text{Start}\_i \quad \forall \text{ i } / \text{i} \neq \text{N} \tag{22}$$

$$\text{StartS}\_{\text{sj}} \ge \text{StartS}\_{\text{sj}} + \text{WLS}\_{\text{sj}} - M \times (1 - X\_{\text{sj}}) \quad \forall s, \forall i / \text{CP}\_{s} \in \text{CPS}\_{i}, \forall j / \text{ } j \ne \text{N} \quad \text{and} \quad \text{CP}\_{s} \in \text{CP} \right\vert\_{\text{j}} \tag{23}$$

1 2 1 2 1 2 <sup>1</sup> <sup>2</sup> (2 ) , , / ,/ , *j i cc ci c j <sup>i</sup> <sup>j</sup> <sup>j</sup> Start End OffSet M Z Z c c i i N and c CPJ j j N i PRE and c CPJ* ³ + - ´- - """ ¹ Î " ¹ Î Î (24)

Where:


**24.** Asserts that task *j* only can starts after the ending time of its predecessor tasks. This re‐

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

http://dx.doi.org/10.5772/53701

11

We propose in this work a method that combines multiobjective genetic algorithm and mul‐ ticriteria decision analysis for solving the addressed problem. The multiobjective genetic al‐ gorithm (MGA) aims to find a good approximation of the efficient solution set, considering the three objectives of the problem. A multicriteria decision analysis method is applied on the solution set obtained by the MGA in order to choose one solution, which will be used by

Deb [4] presents a list of evolutionary algorithms for solving problems with multiple objec‐ tives: *Vector Evaluated GA* (VEGA); *Lexicographic Ordering GA*; *Vector Optimized Evolution Strategy* (VOES); *Weight-Based GA* (WBGA); *Multiple Objective GA* (MOGA); *Niched Pareto GA* (NPGA, NPGA 2); *Non dominated Sorting GA* (NSGA, NSGA-II); *Distance-based Pareto GA* (DPGA); *Thermodynamical GA* (TDGA); *Strength Pareto Evolutionary Algorithm* (SPEA, SPEA 2); *Mult-Objective Messy GA* (MOMGA-I, II, III); *Pareto Archived ES* (PAES); *Pareto Envelopebased Selection Algorithm* (PESA, PESA II); *Micro GA-MOEA* (µGA, µGA2); and *Multi-Objec‐*

In this work, we have chosen the NSGA-II [17] evolutionary algorithm since it works with any number of objectives, which can be easily added or removed. This feature facilitates the company to adapt to the market demands – the current objectives may not be sufficient in the future, requiring the company to also focus on other goals –. Besides, there are another Brazilian garment companies interested in using the proposed method, which may have dif‐

The main methods of multicriteria decision analysis are [18]: Weighted Sum Model, Condor‐ cet method, analytic hierarchic process, ELECTRE methods, Promethee method and Mac‐

The Weighted Sum Model – WSM is used in this work due to its simplicity and, mainly, due to its structure of candidates and voters. In this work, WSM performs as a decision maker by considering each solution returned by the MGA as a candidate and each objective of the

The method proposed in this work is detailed in Section 3.2. But first, in Section 3.1, we de‐ scribe the multiobjective combinatorial optimization, in order to facilitate the understanding

According to Arroyo [19], a Multiobjective Combinatorial Optimization (MOCO) problem consists of minimizing (or maximizing) a set of objectives while satisfying a set of con‐

striction takes into account the travel time between the production centers.

**3. Proposed method**

the analyzed garment company.

ferent objectives.

Beth method.

problem as a voter.

of the proposed method.

**3.1. Multiobjective combinatorial optimization**

*tive Bayesian Optimization Algorithm* (mBOA).


**24.** Asserts that task *j* only can starts after the ending time of its predecessor tasks. This re‐ striction takes into account the travel time between the production centers.

## **3. Proposed method**

Where:

duction centers.

ly precedes *j* in *s*.

mediately preceded by *j* in *s*.

scheduled to the sequencing unit *s*.

**20.** Asserts that the beginning time of task *i*, *Start <sup>i</sup>*

**21.** Asserts that the ending time of task *i*, *End <sup>i</sup>*

precedes *i* in the sequencing unit *s*.

where task *i* is allocated.

**1.** Objective function that aims to minimize the total production time (*makespan*). **2.** Objective function that aims to maximize the use of internal production centers.

**4.** The makespan can be seen as the ending time of the last task.

10 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

**6.** The amount of downtime at the internal production centers.

**10.** Asserts that task *N* belongs to every sequencing unit.

to the production center of the sequencing unit *s*.

**18.** Asserts that the required workload of task *i* is allocated.

time of task *i* at any sequencing unit where it is allocated.

**22.** Asserts that the ending time of task *i* must be at least equal to its beginning.

of task *i* at any sequencing unit where it is allocated.

**8.** Constrains the flow between tasks *i* and *j*.

**5.** The amount of execution time at the internal production centers.

**7.** The amount of downtime between tasks *i* and *j* in the sequencing unit *s*.

**9.** *Xsij* = 1 if there is a flow from task *i* to task *j* at the sequencing unit s.

**11.** Asserts that each task is executed on just one production center. **12.** Asserts that each task is executed on at least one sequencing unit.

**3.** Objective function that aims to minimize the amount of downtime at the internal pro‐

**13.** Asserts that a task *i* can only be executed on a sequencing unit *s* if the task *i* is scheduled

**14.** If the task *j* is performed in sequencing unit *s* then there is just one task that immediate‐

**15.** If the task *j* is performed in sequencing unit *s* then there is at most one task that is im‐

**16.** Asserts that each task *i* must be started only after the start of the sequencing unit *s*

**19.** Asserts that the workload of task *i* at the sequencing unit *s* is 0 (zero) if task *i* is not

**23.** Asserts that the task *i* starts only after the ending time of the task *j* that immediately

, must be lower or equal to the beginning

, must be greater or equal to the ending time

**17.** Asserts that the maximum available time of the sequencing unit is being respected.

We propose in this work a method that combines multiobjective genetic algorithm and mul‐ ticriteria decision analysis for solving the addressed problem. The multiobjective genetic al‐ gorithm (MGA) aims to find a good approximation of the efficient solution set, considering the three objectives of the problem. A multicriteria decision analysis method is applied on the solution set obtained by the MGA in order to choose one solution, which will be used by the analyzed garment company.

Deb [4] presents a list of evolutionary algorithms for solving problems with multiple objec‐ tives: *Vector Evaluated GA* (VEGA); *Lexicographic Ordering GA*; *Vector Optimized Evolution Strategy* (VOES); *Weight-Based GA* (WBGA); *Multiple Objective GA* (MOGA); *Niched Pareto GA* (NPGA, NPGA 2); *Non dominated Sorting GA* (NSGA, NSGA-II); *Distance-based Pareto GA* (DPGA); *Thermodynamical GA* (TDGA); *Strength Pareto Evolutionary Algorithm* (SPEA, SPEA 2); *Mult-Objective Messy GA* (MOMGA-I, II, III); *Pareto Archived ES* (PAES); *Pareto Envelopebased Selection Algorithm* (PESA, PESA II); *Micro GA-MOEA* (µGA, µGA2); and *Multi-Objec‐ tive Bayesian Optimization Algorithm* (mBOA).

In this work, we have chosen the NSGA-II [17] evolutionary algorithm since it works with any number of objectives, which can be easily added or removed. This feature facilitates the company to adapt to the market demands – the current objectives may not be sufficient in the future, requiring the company to also focus on other goals –. Besides, there are another Brazilian garment companies interested in using the proposed method, which may have dif‐ ferent objectives.

The main methods of multicriteria decision analysis are [18]: Weighted Sum Model, Condor‐ cet method, analytic hierarchic process, ELECTRE methods, Promethee method and Mac‐ Beth method.

The Weighted Sum Model – WSM is used in this work due to its simplicity and, mainly, due to its structure of candidates and voters. In this work, WSM performs as a decision maker by considering each solution returned by the MGA as a candidate and each objective of the problem as a voter.

The method proposed in this work is detailed in Section 3.2. But first, in Section 3.1, we de‐ scribe the multiobjective combinatorial optimization, in order to facilitate the understanding of the proposed method.

## **3.1. Multiobjective combinatorial optimization**

According to Arroyo [19], a Multiobjective Combinatorial Optimization (MOCO) problem consists of minimizing (or maximizing) a set of objectives while satisfying a set of con‐ straints. In a MOCO problem, there is no single solution that optimizes each objective, but a set of efficient solutions in such way that no solution can be considered better than another solution for all objectives.

*3.2.1. Solution representation*

**Figure 6.** Solution representation.

*3.2.2. Population evolution*

sor tasks of it.

production center responsible by *T <sup>i</sup>*

**Step 1 – Building the initial population**

**Step 2 – Generating the offspring population**

sentations described in [14] [21] [22] and [23].

Production centers array

Priorities array

ed and the evolutionary process continues with the best individuals.

lected as the parent individuals to be used by the crossover operator.

Index of tasks

The solution (individual) is represented by two integer arrays: priorities array and produc‐ tion centers array. Tasks are represented by the indexes of both arrays. The priorities array defines the allocation sequence of the tasks and the production centers array indicates the production center responsible for the execution of each task. Figure 6 depicts an example of the solution representation used in this work, in which the first task to be allocated is the task 3 – represented by the position (index) with value 1 in the priorities array – and the pro‐ duction center responsible by its execution is the production center 3 – value of the position 3 of the production centers array –; the second task to be allocated is the task 7, which will be executed in the production center 5; and so on. This representation is based on the repre‐

> 1 7

2 4 3 1 4 8

5 10

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

6 3 7 2 8 5 9 9 10 6

http://dx.doi.org/10.5772/53701

13

5

. Thus, when

6

2

5

2

1

to the production center responsible by *T <sup>j</sup>*

2

3

1

A task *T <sup>i</sup>* can only start after the end of the predecessor task *T <sup>j</sup>* plus the travel time from the

a task is selected to be allocated, a recursive search is done in order to allocate the predeces‐

The MGA proposed is described by the flowchart of Figure 7, which starts by building the initial population and finalizes when the stop criterion is reached. Mutation, selection and crossover genetic operators are applied in the current population in order to build new indi‐ viduals (*offsprings*). At the end of each generation, the less evolved individuals are eliminat‐

Two arrays of size *N* are created for each individual, where *N* is the number of tasks to be allo‐ cated. The priorities array stores the allocation sequence and the production centers array de‐ termines the production center responsible for each task. These arrays are randomly created.

An offspring population, *P aux*, with *nPop* individuals is created from *P*, using the tourna‐ ment selection method [24] and mutation and crossover genetic operators. The tournament method used in this work randomly selects four individuals from *P* and the best two are se‐

1

Among the different ways of defining an optimal solution for MOCO problems, Pitombeira [20] highlights the method proposed by the economist Vilfredo Pareto in the nineteenth cen‐ tury, which introduces the dominance concept. He argues that an optimal solution for a MOCO problem must have a balance between the different objective functions, so that the attempt of improving the value of one function implies the worsening of one or more of the others. This concept is called *Pareto optimal*.

MOCO aims to find the Pareto optimal set (also known as *Pareto frontier*) or the best approxi‐ mation of it. However, it is necessary to define a binary relationship called *Pareto dominance*: a solution *x* 1 dominates another solution *x* 2 if the functional values of *x* <sup>1</sup> are better than or equal to the functional values of *x* 2 and at least one of the functional values of *x* 1 is strictly better than the functional value of *x* 2 [4]. The Pareto optimal set consists of all non-dominat‐ ed solutions of the search space.

Deb [4] says that in addition to finding a solution set near to the Pareto frontier, it is necessa‐ ry that these solutions are well distributed, which allows a broader coverage of the search space. This fact facilitates the decision making, because, regardless of the weight assigned to each criterion, a quality solution will be chosen.

## **3.2. Multiobjective genetic algorithm proposed**

As we have already mentioned, the model adopted for the development of the multiobjec‐ tive genetic algorithm (MGA) proposed is the NSGA-II. According to Deb [4], it is an elitist search procedure, which preserves the dominant solutions through the generations. The process starts by building a population (*P*), with *nPop* individuals (solutions). The popula‐ tions of the next generations are obtained through the application of mutation, selection and crossover operators. The purpose is to find a diversified solution set near to the Pareto fron‐ tier. With the *crowding distance* [4], we can qualify the space around the solution, allowing a greater diversity of the solution set and, thereby, leading more quickly to a highest quality solution. The crowding distance (*d*) of an individual in the *i* th position of the population *P*, considering *r* objectives, is given by Equation 25, where *f <sup>k</sup> min* and *f <sup>k</sup> max* represent, respective‐ ly, the minimum and maximum values in *P* for the objective function *f <sup>k</sup>* (1 ≤ *k* ≤ *r*). For any solution set, the solution that brings the highest level of diversity is the one with the greatest crowding distance.

$$d\_i = \frac{f\_1^{(l+1)} - f\_1^{(l-1)}}{f\_1^{\max} - f\_1^{\min}} + \frac{f\_2^{(l+1)} - f\_2^{(l-1)}}{f\_2^{\max} - f\_2^{\min}} + \dots + \frac{f\_r^{(l+1)} - f\_r^{(l-1)}}{f\_r^{\max} - f\_r^{\min}} \tag{25}$$

Section 3.2.1 presents the solution representation used in this work. The steps done by the MGA proposed, from the building of the initial population to the choice of the solution to be used by the analyzed garment company, is detailed in Section 3.2.2.

## *3.2.1. Solution representation*

straints. In a MOCO problem, there is no single solution that optimizes each objective, but a set of efficient solutions in such way that no solution can be considered better than another

Among the different ways of defining an optimal solution for MOCO problems, Pitombeira [20] highlights the method proposed by the economist Vilfredo Pareto in the nineteenth cen‐ tury, which introduces the dominance concept. He argues that an optimal solution for a MOCO problem must have a balance between the different objective functions, so that the attempt of improving the value of one function implies the worsening of one or more of the

MOCO aims to find the Pareto optimal set (also known as *Pareto frontier*) or the best approxi‐ mation of it. However, it is necessary to define a binary relationship called *Pareto dominance*: a solution *x* 1 dominates another solution *x* 2 if the functional values of *x* <sup>1</sup> are better than or equal to the functional values of *x* 2 and at least one of the functional values of *x* 1 is strictly better than the functional value of *x* 2 [4]. The Pareto optimal set consists of all non-dominat‐

Deb [4] says that in addition to finding a solution set near to the Pareto frontier, it is necessa‐ ry that these solutions are well distributed, which allows a broader coverage of the search space. This fact facilitates the decision making, because, regardless of the weight assigned to

As we have already mentioned, the model adopted for the development of the multiobjec‐ tive genetic algorithm (MGA) proposed is the NSGA-II. According to Deb [4], it is an elitist search procedure, which preserves the dominant solutions through the generations. The process starts by building a population (*P*), with *nPop* individuals (solutions). The popula‐ tions of the next generations are obtained through the application of mutation, selection and crossover operators. The purpose is to find a diversified solution set near to the Pareto fron‐ tier. With the *crowding distance* [4], we can qualify the space around the solution, allowing a greater diversity of the solution set and, thereby, leading more quickly to a highest quality solution. The crowding distance (*d*) of an individual in the *i* th position of the population *P*,

ly, the minimum and maximum values in *P* for the objective function *f <sup>k</sup>* (1 ≤ *k* ≤ *r*). For any solution set, the solution that brings the highest level of diversity is the one with the greatest

( 1) ( 1) ( 1) ( 1) ( 1) ( 1)

*ii ii i i*

*ff ff f f <sup>d</sup> ff ff ff*

max min max min max min

Section 3.2.1 presents the solution representation used in this work. The steps done by the MGA proposed, from the building of the initial population to the choice of the solution to be

...

*r r*

+- +- + - - - - = + ++ -- - (25)

*r r*

11 22

11 22

used by the analyzed garment company, is detailed in Section 3.2.2.

*min* and *f <sup>k</sup>*

*max* represent, respective‐

solution for all objectives.

others. This concept is called *Pareto optimal*.

12 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

each criterion, a quality solution will be chosen.

**3.2. Multiobjective genetic algorithm proposed**

considering *r* objectives, is given by Equation 25, where *f <sup>k</sup>*

*i*

ed solutions of the search space.

crowding distance.

The solution (individual) is represented by two integer arrays: priorities array and produc‐ tion centers array. Tasks are represented by the indexes of both arrays. The priorities array defines the allocation sequence of the tasks and the production centers array indicates the production center responsible for the execution of each task. Figure 6 depicts an example of the solution representation used in this work, in which the first task to be allocated is the task 3 – represented by the position (index) with value 1 in the priorities array – and the pro‐ duction center responsible by its execution is the production center 3 – value of the position 3 of the production centers array –; the second task to be allocated is the task 7, which will be executed in the production center 5; and so on. This representation is based on the repre‐ sentations described in [14] [21] [22] and [23].


#### **Figure 6.** Solution representation.

A task *T <sup>i</sup>* can only start after the end of the predecessor task *T <sup>j</sup>* plus the travel time from the production center responsible by *T <sup>i</sup>* to the production center responsible by *T <sup>j</sup>* . Thus, when a task is selected to be allocated, a recursive search is done in order to allocate the predeces‐ sor tasks of it.

#### *3.2.2. Population evolution*

The MGA proposed is described by the flowchart of Figure 7, which starts by building the initial population and finalizes when the stop criterion is reached. Mutation, selection and crossover genetic operators are applied in the current population in order to build new indi‐ viduals (*offsprings*). At the end of each generation, the less evolved individuals are eliminat‐ ed and the evolutionary process continues with the best individuals.

## **Step 1 – Building the initial population**

Two arrays of size *N* are created for each individual, where *N* is the number of tasks to be allo‐ cated. The priorities array stores the allocation sequence and the production centers array de‐ termines the production center responsible for each task. These arrays are randomly created.

## **Step 2 – Generating the offspring population**

An offspring population, *P aux*, with *nPop* individuals is created from *P*, using the tourna‐ ment selection method [24] and mutation and crossover genetic operators. The tournament method used in this work randomly selects four individuals from *P* and the best two are se‐ lected as the parent individuals to be used by the crossover operator.

2 the representations described in [14] [21] [22] and [23].

1 7 1

2 4 1

3 1 3 4 8 2

4 Fig. 6. Solution representation.

Production centers array

Priorities array

Index of tasks

9 3.2.2. Population evolution

3

15

8 tasks of it.

Recent Advances on Meta-Heuristics and their Application to Real Scenarios

5 10 1

1 which will be executed in the production center 5; and so on. This representation is based on

6 3 2

7 2 5 8 5 2 9 9 6 10 6 5

5 A task Ti can only start after the end of the predecessor task Tj plus the travel time from the 6 production center responsible by Ti to the production center responsible by Tj. Thus, when a 7 task is selected to be allocated, a recursive search is done in order to allocate the predecessor

10 The MGA proposed is described by the flowchart of Figure 7, which starts by building the

13 individuals (offsprings). At the end of each generation, the less evolved individuals are

14 eliminated and the evolutionary process continues with the best individuals.

13

**Step 4 – Selection of individuals by elitism**

**Step 5 – Selection of the best individual**

7

4

1

8

8

3

1

2

4

7

7

9

7

4

1

8

8

3

1

2

4

7

**Figure 8.** Genetic operators of crossover and mutation.

7

9

Parent1

Offspring

Parent2

Parent1

Offspring

Parent2

ue the evolutionary process, while the others are discarded.

med, and the best candidate is the one with the smallest sum.

Cut-point

3

2

5

9

6

5

5 Crossover – priorities array Mutation – priorities array

6

10

3

6

2

4

9

1

10

10

8

Cut-point

3

2

5

9

6

5

5

In this work, the WSM method replaces the grade given by the voters to the candidates. This replacement ranks each solution returned by the MGA according to each objective. Figure 9 illustrates the use of the WSM method in this work where four solutions (col‐ umns) must be evaluated according to three objectives (rows). For the first objective, to

10

10

6

6

4

4

1

1

10

10

8

**( b )**

Crossover – production centers array

The *nPop* best individuals from the new population (*P aux* added to *P*) are selected to contin‐

At the end of the evolutionary process, the MGA returns a set of individuals with domi‐ nance level of 0 (zero), that is, individuals of the current population that no other individual

The Weight Sum Model (WSM) [25] multicriteria decision method is applied for choosing a solution from the set returned by the MGA that will be used by the analyzed garment com‐ pany. In the WSM method, the candidates are ranked by the preferences of the decision maker, in which the best candidate for a particular preference receives 1 (one) point, the sec‐ ond one receives 2 (two) points, and so on. The points received for each preference are sum‐

**( a ) ( c )**

Before

7

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

4

1

8

10

Selected genes

3

2

http://dx.doi.org/10.5772/53701

15

5

1

9

9

2

3

10

8

1

**( d )**

Mutation – production centers array

4

5

1

7

1

1

3

2

1

Production centers capable of performing the task {3,7,9,12}

2

5

2

6

5

5

6

2

5

2

1

2

7

1

1

After

Before

After

dominates. This set of individuals represents an approximation of the Pareto frontier.

16 Fig. 7. NSGA-II algorithm. **Figure 7.** NSGA-II algorithm.

17 Step 1 – Building the initial population 18 Two arrays of size N are created for each individual, where N is the number of tasks to be 19 allocated. The priorities array stores the allocation sequence and the production centers 20 array determines the production center responsible for each task. These arrays are randomly 21 created. 22 Step 2 – Generating the offspring population 23 An offspring population, Paux, with nPop individuals is created from P, using the tournament 24 selection method [24] and mutation and crossover genetic operators. The tournament The crossover operator used in this work is based on the variable one-point cut operator [24]. Figure 8 depicts examples of the crossover (8a and 8b) and mutation (8c and 8d) opera‐ tors developed in this work. As can been seen in Figure 8(a), the priorities array of the off‐ spring individual is composed by the genes of the priorities array of the parent individual *Parent* <sup>1</sup> until the cut-point and, from this point, it is composed by the remaining priorities in the order that they appear in the priorities array of the parent individual *Parent* <sup>2</sup>. In the pro‐ duction centers array, the crossover method is applied by using the same cut-point and the production centers array of the offspring individual is composed by the genes of the produc‐ tion centers array of the parent individual *Parent* <sup>1</sup> until the cut-point and, from this point, it is composed by the genes of the production centers array of the parent individual *Parent* 2, as can be visualized in Figure 8(b).

The mutation operator is applied at the priorities array as shown in Figure 8(c), where two genes are randomly selected and their contents are exchanged. The mutation operator acts in the production center array as shown in Figure 8(d), where a gene (position *i*) is randomly selected and replaced by another production center capable of execute the task *i*. This pro‐ duction center is randomly chosen. The mutation operator is performed on 5% of the genes of each offspring individual generated by the crossover operator.

## **Step 3 – Evaluation, sorting and grouping of individuals by dominance and crowding dis‐ tance**

The offspring population *P aux* is added to the population *P*, defining a new population of 2×*nPop* individuals – *nPop* individuals from *P* and *nPop* individuals from *P aux* –. It is sorted in ascending order by the dominance level4 . The crowding distance is used as a tie-breaker, i.e., when two individuals have the same dominance level, it is chosen the one with the greatest crowding distance.

<sup>4</sup> The dominance level of an individual *x* is the number of individuals in the population that dominates *x*; for example, an individual dominated by only one individual in the population has dominance level of 1.

## **Step 4 – Selection of individuals by elitism**

Recent Advances on Meta-Heuristics and their Application to Real Scenarios

5 10 1

2 the representations described in [14] [21] [22] and [23].

1 7 1

2 4 1 3 1 3 4 8 2

4 Fig. 6. Solution representation.

Production centers array

Priorities array

Index of tasks

9 3.2.2. Population evolution

16 Fig. 7. NSGA-II algorithm.

**Figure 7.** NSGA-II algorithm.

Not

17 Step 1 – Building the initial population

22 Step 2 – Generating the offspring population

in ascending order by the dominance level4

greatest crowding distance.

can be visualized in Figure 8(b).

3

15

21 created.

**tance**

8 tasks of it.

1 which will be executed in the production center 5; and so on. This representation is based on

6 3 2 7 2 5 8 5 2 9 9 6 10 6 5

5 A task Ti can only start after the end of the predecessor task Tj plus the travel time from the 6 production center responsible by Ti to the production center responsible by Tj. Thus, when a 7 task is selected to be allocated, a recursive search is done in order to allocate the predecessor

10 The MGA proposed is described by the flowchart of Figure 7, which starts by building the 11 initial population and finalizes when the stop criterion is reached. Mutation, selection and 12 crossover genetic operators are applied in the current population in order to build new 13 individuals (offsprings). At the end of each generation, the less evolved individuals are

Step 2 - Generate a new population of offspring, , based on aux

Step 1 - Generate the initial population P

Step 3 - Evaluate, group and sort by dominance and crowding Paux

Step 4 -Select by eliti nPop individuals sm

Stop criterion reached?

18 Two arrays of size N are created for each individual, where N is the number of tasks to be 19 allocated. The priorities array stores the allocation sequence and the production centers 20 array determines the production center responsible for each task. These arrays are randomly

Step 5 - Select the best individual

The crossover operator used in this work is based on the variable one-point cut operator [24]. Figure 8 depicts examples of the crossover (8a and 8b) and mutation (8c and 8d) opera‐ tors developed in this work. As can been seen in Figure 8(a), the priorities array of the off‐ spring individual is composed by the genes of the priorities array of the parent individual *Parent* <sup>1</sup> until the cut-point and, from this point, it is composed by the remaining priorities in the order that they appear in the priorities array of the parent individual *Parent* <sup>2</sup>. In the pro‐ duction centers array, the crossover method is applied by using the same cut-point and the production centers array of the offspring individual is composed by the genes of the produc‐ tion centers array of the parent individual *Parent* <sup>1</sup> until the cut-point and, from this point, it is composed by the genes of the production centers array of the parent individual *Parent* 2, as

Yes

P P

23 An offspring population, Paux, with nPop individuals is created from P, using the tournament 24 selection method [24] and mutation and crossover genetic operators. The tournament

The mutation operator is applied at the priorities array as shown in Figure 8(c), where two genes are randomly selected and their contents are exchanged. The mutation operator acts in the production center array as shown in Figure 8(d), where a gene (position *i*) is randomly selected and replaced by another production center capable of execute the task *i*. This pro‐ duction center is randomly chosen. The mutation operator is performed on 5% of the genes

**Step 3 – Evaluation, sorting and grouping of individuals by dominance and crowding dis‐**

The offspring population *P aux* is added to the population *P*, defining a new population of 2×*nPop* individuals – *nPop* individuals from *P* and *nPop* individuals from *P aux* –. It is sorted

i.e., when two individuals have the same dominance level, it is chosen the one with the

4 The dominance level of an individual *x* is the number of individuals in the population that dominates *x*; for example,

. The crowding distance is used as a tie-breaker,

of each offspring individual generated by the crossover operator.

an individual dominated by only one individual in the population has dominance level of 1.

14 eliminated and the evolutionary process continues with the best individuals.

14 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

13

The *nPop* best individuals from the new population (*P aux* added to *P*) are selected to contin‐ ue the evolutionary process, while the others are discarded.

## **Step 5 – Selection of the best individual**

At the end of the evolutionary process, the MGA returns a set of individuals with domi‐ nance level of 0 (zero), that is, individuals of the current population that no other individual dominates. This set of individuals represents an approximation of the Pareto frontier.

The Weight Sum Model (WSM) [25] multicriteria decision method is applied for choosing a solution from the set returned by the MGA that will be used by the analyzed garment com‐ pany. In the WSM method, the candidates are ranked by the preferences of the decision maker, in which the best candidate for a particular preference receives 1 (one) point, the sec‐ ond one receives 2 (two) points, and so on. The points received for each preference are sum‐ med, and the best candidate is the one with the smallest sum.

In this work, the WSM method replaces the grade given by the voters to the candidates. This replacement ranks each solution returned by the MGA according to each objective. Figure 9 illustrates the use of the WSM method in this work where four solutions (col‐ umns) must be evaluated according to three objectives (rows). For the first objective, to minimize the total production time (*makespan*), the solution 3 has the best value, obtain‐ ing the rank 1; the solution 4 has the best second value, obtaining the rank 2; and the solutions 1 and 2 obtain, respectively, the ranks 3 and 4. The same ranking is done for the others objectives. After summing the rank obtained for each objective, the solution 1 is chosen because it has the smallest sum.

## **4. Computational results**

All computational experiments were performed on a Dell Vostro 3700 notebook with 1.73 GHz Intel Core I7 processor and 6 Gbytes of RAM memory.

The computation experiments regard to real data that represent the May 2012 production demand of the analyzed company: 567 products, 1511 production orders, 3937 tasks and 181 production centers.

**Figure 10.** Production deviation of each stage (May 2011 x May 2012).

downtime rate of the internal production centers was 37%.

tween May 2011 and May 2012 (see Figure 10).

quality solutions.

The results obtained by the analyzed company at May 2011 were: 42 production days to exe‐ cute all tasks; 20% of the tasks were performed in internal production centers; and the

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

http://dx.doi.org/10.5772/53701

17

In this experiment, five runs of the proposed method were done, obtaining the following average results: 36 production days to execute all tasks; 32% of the tasks were performed in internal production centers; and the downtime rate of the internal production centers was 16%. It is worth to mention that the worst results obtained are: 38 production days to exe‐ cute all tasks; 35% of the tasks were performed in internal production centers; and the downtime rate of the internal production centers was 18%. The obtained results were better than the ones manually got at May 2011, even considering the increase of the production be‐

We mean "selected solution" as the solution (individual) of the population of generation *g* that would be returned by the proposed method if the genetic algorithm ended at genera‐ tion *g*. Figures 11, 12 and 13 depict the obtained values for each objective of the selected sol‐ utions during 12 hours of execution. In these figures are also used the average results obtained after five runs of the proposed method. We can note that only after 8 hours we can get a good solution - about 40 production days, between 15 and 35% of the tasks performed in internal production centers and downtime rate of internal production centers near to 18%.

We highlight that the genetic algorithm parameters were adjusted considering an execution time of 12 hours. A genetic algorithm (GA) that works with a large population takes longer to found a good solution than a GA with a small population. However, it explores a larger solution space, thus obtaining better solutions. If a smaller execution time is required for running the proposed method, we should adjust the GA parameters in order to find good

**Figure 9.** Weighted sum model.

In the experiments, 12 hours of execution time was established as the stop criterion of the genetic algorithm. This value was defined because it represents the available time between two work days. The population size (*nPop*) and the mutation rate (*tx*) were empirically set at *nPop*=200 individuals and *tx*=5%.

In the first experiment, we compare the results of the proposed method with the results manually obtained by the analyzed company at May 2011. Figure 10 depicts the production deviation of each stage between May 2011 and May 2012, where we can note an increase of the production at almost all stages.

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production… http://dx.doi.org/10.5772/53701 17

**Figure 10.** Production deviation of each stage (May 2011 x May 2012).

minimize the total production time (*makespan*), the solution 3 has the best value, obtain‐ ing the rank 1; the solution 4 has the best second value, obtaining the rank 2; and the solutions 1 and 2 obtain, respectively, the ranks 3 and 4. The same ranking is done for the others objectives. After summing the rank obtained for each objective, the solution 1

All computational experiments were performed on a Dell Vostro 3700 notebook with 1.73

The computation experiments regard to real data that represent the May 2012 production demand of the analyzed company: 567 products, 1511 production orders, 3937 tasks and 181

W inner

In the experiments, 12 hours of execution time was established as the stop criterion of the genetic algorithm. This value was defined because it represents the available time between two work days. The population size (*nPop*) and the mutation rate (*tx*) were empirically set at

In the first experiment, we compare the results of the proposed method with the results manually obtained by the analyzed company at May 2011. Figure 10 depicts the production deviation of each stage between May 2011 and May 2012, where we can note an increase of

6

2

3 1

1

Individuals

1 3

2 4

3

9

4

4

3

8

4 2

2

7

1

is chosen because it has the smallest sum.

16 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

GHz Intel Core I7 processor and 6 Gbytes of RAM memory.

Makespan

External centers

Internal centers downtim e

**4. Computational results**

production centers.

O

**Figure 9.** Weighted sum model.

*nPop*=200 individuals and *tx*=5%.

the production at almost all stages.

bje

ctiv

e

s

The results obtained by the analyzed company at May 2011 were: 42 production days to exe‐ cute all tasks; 20% of the tasks were performed in internal production centers; and the downtime rate of the internal production centers was 37%.

In this experiment, five runs of the proposed method were done, obtaining the following average results: 36 production days to execute all tasks; 32% of the tasks were performed in internal production centers; and the downtime rate of the internal production centers was 16%. It is worth to mention that the worst results obtained are: 38 production days to exe‐ cute all tasks; 35% of the tasks were performed in internal production centers; and the downtime rate of the internal production centers was 18%. The obtained results were better than the ones manually got at May 2011, even considering the increase of the production be‐ tween May 2011 and May 2012 (see Figure 10).

We mean "selected solution" as the solution (individual) of the population of generation *g* that would be returned by the proposed method if the genetic algorithm ended at genera‐ tion *g*. Figures 11, 12 and 13 depict the obtained values for each objective of the selected sol‐ utions during 12 hours of execution. In these figures are also used the average results obtained after five runs of the proposed method. We can note that only after 8 hours we can get a good solution - about 40 production days, between 15 and 35% of the tasks performed in internal production centers and downtime rate of internal production centers near to 18%.

We highlight that the genetic algorithm parameters were adjusted considering an execution time of 12 hours. A genetic algorithm (GA) that works with a large population takes longer to found a good solution than a GA with a small population. However, it explores a larger solution space, thus obtaining better solutions. If a smaller execution time is required for running the proposed method, we should adjust the GA parameters in order to find good quality solutions.

We can also see in Figures 11, 12 and 13 that the objectives "to minimize the makespan" and "to minimize the internal production centers downtime" are not conflicting, i.e., when the value of one objective has an improvement, the value of the other also tends to improve. The objective "to maximize the use of internal production centers" has conflict with the others objectives.

**Figure 13.** Selected solutions during 12 hours of execution. Objective: to minimize the internal production centers

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

http://dx.doi.org/10.5772/53701

19

Figure 14, 15 and 16 depict the obtained values for each selected solution and also for the best and worst solutions of the population at each generation. By analyzing the graphs pre‐ sented in these figures, we can realize the diversification of the population throughout the generations. Again we can note that the objective "to maximize the use of internal produc‐ tion centers" (Figure 15) is conflicting with the other two. While the selected solutions tend to get close to the best solutions for the other two objectives (Figures 14 and 16), for this ob‐

In the second experiment, the proposed method was compared with the commercial appli‐ cation PREACTOR, which is the leading software in the sector of finite capacity production planning in Brazil and worldwide, with over 4500 customers in 67 countries [26]. However, it was necessary to execute the proposed method considering only the objective "to mini‐ mize the makespan", because it was not possible to configure PREACTOR for working with

Although the proposed method and PREACTOR perform the task scheduling, they have different purposes. PREACTOR is a universal tool of finite capacity production planning, which uses priority rules to perform the scheduling. The users of this tool can interact with the generated production planning. The proposed method is specific for garment companies, in which the large number of tasks makes difficult a manual evaluation. The purpose of the comparison between these methods is to validate the scheduling obtained

jective the selected solutions tend to get close to the worst solutions.

downtime.

three objectives.

by our proposal.

**Figure 11.** Selected solutions during 12 hours of execution. Objective: to minimize the makespan.

**Figure 12.** Selected solutions during 12 hours of execution. Objective: to maximize the use of internal production centers.

We can also see in Figures 11, 12 and 13 that the objectives "to minimize the makespan" and "to minimize the internal production centers downtime" are not conflicting, i.e., when the value of one objective has an improvement, the value of the other also tends to improve. The objective "to maximize the use of internal production centers" has conflict with the others objectives.

18 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

**Figure 11.** Selected solutions during 12 hours of execution. Objective: to minimize the makespan.

**Figure 12.** Selected solutions during 12 hours of execution. Objective: to maximize the use of internal production centers.

**Figure 13.** Selected solutions during 12 hours of execution. Objective: to minimize the internal production centers downtime.

Figure 14, 15 and 16 depict the obtained values for each selected solution and also for the best and worst solutions of the population at each generation. By analyzing the graphs pre‐ sented in these figures, we can realize the diversification of the population throughout the generations. Again we can note that the objective "to maximize the use of internal produc‐ tion centers" (Figure 15) is conflicting with the other two. While the selected solutions tend to get close to the best solutions for the other two objectives (Figures 14 and 16), for this ob‐ jective the selected solutions tend to get close to the worst solutions.

In the second experiment, the proposed method was compared with the commercial appli‐ cation PREACTOR, which is the leading software in the sector of finite capacity production planning in Brazil and worldwide, with over 4500 customers in 67 countries [26]. However, it was necessary to execute the proposed method considering only the objective "to mini‐ mize the makespan", because it was not possible to configure PREACTOR for working with three objectives.

Although the proposed method and PREACTOR perform the task scheduling, they have different purposes. PREACTOR is a universal tool of finite capacity production planning, which uses priority rules to perform the scheduling. The users of this tool can interact with the generated production planning. The proposed method is specific for garment companies, in which the large number of tasks makes difficult a manual evaluation. The purpose of the comparison between these methods is to validate the scheduling obtained by our proposal.

**Figure 16.** Best, worst and selected solutions during 12 hours of execution. Objective: to minimize the internal pro‐

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

http://dx.doi.org/10.5772/53701

21

In this experiment, five runs of the proposed method were done. After 12 hours of execu‐ tion, the proposed method has obtained an average of 32 days production planning, 17.9% lower than the 39 days production planning proposed by PREACTOR. The worst result ob‐ tained by the proposed method was 33 days production planning. It is worth to mention that PREACTOR took 12 minutes to reach its result. Figure 17 depicts that the proposed method overcomes the result obtained by PREACTOR after about 100 minutes of execution.

duction centers downtime.

**Figure 17.** Proposed method × PREACTOR.

**Figure 14.** Best, worst and selected solutions during 12 hours of execution. Objective: to minimize the makespan.

**Figure 15.** Best, worst and selected solutions during 12 hours of execution. Objective: to maximize the use of internal production centers.

**Figure 16.** Best, worst and selected solutions during 12 hours of execution. Objective: to minimize the internal pro‐ duction centers downtime.

In this experiment, five runs of the proposed method were done. After 12 hours of execu‐ tion, the proposed method has obtained an average of 32 days production planning, 17.9% lower than the 39 days production planning proposed by PREACTOR. The worst result ob‐ tained by the proposed method was 33 days production planning. It is worth to mention that PREACTOR took 12 minutes to reach its result. Figure 17 depicts that the proposed method overcomes the result obtained by PREACTOR after about 100 minutes of execution.

**Figure 17.** Proposed method × PREACTOR.

**Figure 14.** Best, worst and selected solutions during 12 hours of execution. Objective: to minimize the makespan.

20 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

**Figure 15.** Best, worst and selected solutions during 12 hours of execution. Objective: to maximize the use of internal

production centers.

## **5. Conclusion remarks**

The objective of this work is to develop a method to carry out the production scheduling of a Brazilian garment company in real time. Three objectives were considered: to minimize the total production time; to maximize the use of internal production centers; and to reduce the downtime of the internal production centers.

**References**

las, 2009.

Son, 2008.

125-133, 2008.

pp. 1-19, 2002.

V. 3, pp. 1155-1162, 2010.

2008.

[1] C. M. Vigna and D. I. Miyake, "Capacitação das operações internas para a customiza‐ ção em massa: estudos de caso em indústrias brasileiras (in portuguese)", Produto &

Using Multiobjective Genetic Algorithm and Multicriteria Analysis for the Production…

http://dx.doi.org/10.5772/53701

23

[2] D. F. Tubino, Planejamento e Controle da Produção (in portuguese), 2nd Edition, At‐

[3] R. Lindem, Algoritmos genéticos: uma importante ferramenta da inteligência compu‐

[4] K. Deb, Multiobjective optimization using evolutionary algorithms, John Wiley &

[5] J. E. C. Arroyo, P. S. Vieira and D. S. Vianna, "A GRASP algorithm for the multi-crite‐ ria minimum spanning tree problem", Annals of Operations Research, V. 159, pp.

[6] M. Ehrgott and X. Gandibleux, "A survey and annotated bibliography of multiobjec‐

[7] D. S. Vianna, J. E. C. Arroyo, P. S. Vieira and R. R. Azeredo, "Parallel strategies for a multi-criteria GRASP algorithm", Produção (São Paulo), V. 17, pp. 1--12, 2007.

[8] D. F. Jones, S. K. Mirrazavi and M. Tamiz., "Multi-objective metaheuristics: An over‐ view of the current state-of-art", European Journal of Operational Research, V. 137,

[9] E. Triantaphyllou, Multi-criteria decision making: a comparative study, Dordrecht:

[10] M. L. Pinedo, Scheduling: Theory, Algorithms, and Systems, 3rd Edition, Springer,

[11] P. Senthilkumar and S. Narayanan, "GA Based Heuristic to Minimize Makespan in Single Machine Scheduling Problem with Uniform Parallel Machines", Intelligent In‐

[12] B. Santosa, M. A. Budiman and S. E. Wiratino, "A Cross Entropy-Genetic Algorithm for m-Machines No-Wait Job-Shop Scheduling Problem", Journal of Intelligent Learn‐

[13] T. F. Abdelmaguid, "Representations in Genetic Algorithm for the Job Shop Schedul‐ ing Problem: A Computational Study", Journal Software Engineering & Applications,

[14] L. Dayou, Y. Pu and Y. Ji, "Development Of A Multiobjective GA For Advanced Planning And Scheduling Problem", The International Journal of Advanced Manu‐

tive combinatorial optimization", OR Spektrum, V. 22, pp. 425-460, 2000.

tacional (in portuguese), 2nd Edition, Rio de Janeiro: Brasport, 2008.

Produção, Bd. 10, Nr. 3, pp. 29--44, outubro 2009.

Kluwer Academic Publishers (now Springer), 2000.

formation Management, V. 3, pp. 204-214, 2011.

facturing Technology, V. 42, pp. 974-992, 2009.

ing Systems and Applications, V. 3, pp. 171-180, 2011.

To achieve this goal, initially we have defined a mixed integer programming model for the ad‐ dressed problem. Based on this model, we have proposed a method that combines a NSGA-II multiobjective genetic algorithm with the multicriteria method Weighted Sum Model - WSM. The mathematical model, the multiobjective genetic algorithm developed and its automatic combination with the multicriteria method WSM are contributions of this work.

Computational experiments were done in order to evaluate the proposed method. It was used real data provided by the analyzed garment company, which are related to May 2012 production demand. In the first experiment, the average results obtained by the proposed method were compared with the results manually obtained by the analyzed company at May 2011. Even with the increase of the production between these periods, the proposed method has decreased of 16.3% the production days. It has also got a higher rate of use and a smaller downtime rate of internal production centers. We have highlighted that the pro‐ posed method can obtain good quality solutions even when a smaller execution time is available. However, it is necessary to make an adjustment of the genetic algorithm parame‐ ters considering the available execution time.

In the second experiment, the proposed method was compared with the commercial soft‐ ware PREACTOR, considering only the objective "to minimize the makespan". The average obtained result was 17.9% better than the one obtained by PREACTOR. It was also shown that the proposed method overcame the result obtained by PREACTOR after about 100 mi‐ nutes of execution.

It is worth to mention another advantage of the proposed method: as it is based on NSGA-II model, we can easily add and remove objectives. To do that a slight modification in the pro‐ cedure that evaluates solutions is necessary. Thus, the proposed method can be suited to new needs of the garment industry or to other industrial branches.

## **Author details**

Dalessandro Soares Vianna1\*, Igor Carlos Pulini2 and Carlos Bazilio Martins3

\*Address all correspondence to: dalessandrosoares@yahoo.com.br

1 Fluminense Federal University, Department of Computation – RCM, Rio das Ostras, RJ, Brazil

2 Candido Mendes University, Candido Mendes Research Center – CEPECAM, Campos dos Goytacazes, RJ, Brazil

3 Fluminense Federal University, Department of Computation – RCM, Rio das Ostras, RJ, Brazil

## **References**

**5. Conclusion remarks**

the downtime of the internal production centers.

22 Recent Advances on Meta-Heuristics and Their Application to Real Scenarios

ters considering the available execution time.

Dalessandro Soares Vianna1\*, Igor Carlos Pulini2

nutes of execution.

**Author details**

Goytacazes, RJ, Brazil

The objective of this work is to develop a method to carry out the production scheduling of a Brazilian garment company in real time. Three objectives were considered: to minimize the total production time; to maximize the use of internal production centers; and to reduce

To achieve this goal, initially we have defined a mixed integer programming model for the ad‐ dressed problem. Based on this model, we have proposed a method that combines a NSGA-II multiobjective genetic algorithm with the multicriteria method Weighted Sum Model - WSM. The mathematical model, the multiobjective genetic algorithm developed and its automatic

Computational experiments were done in order to evaluate the proposed method. It was used real data provided by the analyzed garment company, which are related to May 2012 production demand. In the first experiment, the average results obtained by the proposed method were compared with the results manually obtained by the analyzed company at May 2011. Even with the increase of the production between these periods, the proposed method has decreased of 16.3% the production days. It has also got a higher rate of use and a smaller downtime rate of internal production centers. We have highlighted that the pro‐ posed method can obtain good quality solutions even when a smaller execution time is available. However, it is necessary to make an adjustment of the genetic algorithm parame‐

In the second experiment, the proposed method was compared with the commercial soft‐ ware PREACTOR, considering only the objective "to minimize the makespan". The average obtained result was 17.9% better than the one obtained by PREACTOR. It was also shown that the proposed method overcame the result obtained by PREACTOR after about 100 mi‐

It is worth to mention another advantage of the proposed method: as it is based on NSGA-II model, we can easily add and remove objectives. To do that a slight modification in the pro‐ cedure that evaluates solutions is necessary. Thus, the proposed method can be suited to

1 Fluminense Federal University, Department of Computation – RCM, Rio das Ostras, RJ, Brazil

2 Candido Mendes University, Candido Mendes Research Center – CEPECAM, Campos dos

3 Fluminense Federal University, Department of Computation – RCM, Rio das Ostras, RJ, Brazil

and Carlos Bazilio Martins3

new needs of the garment industry or to other industrial branches.

\*Address all correspondence to: dalessandrosoares@yahoo.com.br

combination with the multicriteria method WSM are contributions of this work.


[15] W. S. Chang and C. C. Chyu, "A Multi-Criteria Decision Making for the Unrelated Parallel Machines Scheduling Problem", Journal Software Engineering & Applica‐ tions, pp. 323-329, 2009.

**Chapter 2**

**Grasp and Path Relinking to Solve the Problem of**

The process of selecting objects, activities, people, projects, resources, etc. is one of the activi‐ ties that is frequently realized by human beings with some objective, and based on one or more criteria: economical, space, emotional, political, etc. For example, as a daily experience people should select what means of transportation and routes to utilize to arrive at a deter‐ mined destination according to the price, duration of the trip, etc. In these cases, one must select the best subset of elements based on a large set of possibilities, the best in some sense, and in many cases there is an interest in the selected elements not appearing amongst them‐ selves, if not it is better that they have different characteristics so that they can represent the existing diversity in the collection of original possibilities. Of course at this level people make these decisions intuitively, but commonsense, generally, is not a good advisor with problems that require optimized decision-making, and simple procedures that apparently offer effective solutions lead to bad decisions, thus this can be avoided by applying mathe‐ matical models that can guarantee obtainable effective solutions. In other human activities the selection of this subset has economic implications that involve a selection of a more di‐ verse subset, a crucial decision, and difficult to obtain, which requires a correct process of

In the Operations Research literature, the maximum diversity problem (MDP) can be formu‐ lated by the following manner: If *V* ={1, 2, ⋯, *n*} is the original set, and *M* is the selected

(*M* )=*div*(*M* ) (1)

© 2013 Sandoya and Aceves; licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

© 2013 Sandoya and Aceves; licensee InTech. This is a paper distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use,

distribution, and reproduction in any medium, provided the original work is properly cited.

subset, *M* ⊂*V* , the search for optimizing the objective is as follows:

*Max f* <sup>1</sup>

**Selecting Efficient Work Teams**

Fernando Sandoya and Ricardo Aceves

optimization guided by a methodical form.

http://dx.doi.org/10.5772/53700

**1. Introduction**

Additional information is available at the end of the chapter

