Mathematical Problems in Engineering

Volume 2013 (2013), Article ID 706350, 8 pages

http://dx.doi.org/10.1155/2013/706350

Research Article

Trim Loss Optimization by an Improved Differential Evolution

Musrrat Ali,¹ Chang Wook Ahn,¹ and Millie Pant²

¹Department of Computer Engineering, Sungkyunkwan University, Suwon 440746, Republic of Korea

²Department of Applied Science and Engineering, IIT Roorkee, Roorkee 247667, India

Received 10 April 2013; Accepted 24 June 2013

Academic Editor: Alexander P. Seyranian

Copyright © 2013 Musrrat Ali et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract.

The “trim loss problem” (TLP) is one of the most challenging problems in context of optimization research. It aims at determining the optimal cutting pattern of a number of items of various lengths from a stock of standard size material to meet the customers’ demands that the wastage due to trim loss is minimized. The resulting mathematical model is highly nonconvex in nature accompanied with several constraints with added restrictions of binary variables. This prevents the application of conventional optimization methods. In this paper we use synergetic differential evolution (SDE) for the solution of this type of problems. Four hypothetical but relevant cases of trim loss problem arising in paper industry are taken for the experiment. The experimental results compared with those of the other techniques show the competence of the SDE to solve the problem.

1. Introduction

Paper industry forms an important part of the world economy. It is a “round the clock” process industry consisting of different processes like inventory management, logistics, and so forth. The final aim, however, of a paper industry like any other industry is the satisfaction of customers. The paper rolls produced in an industry are to be cut as per the customers’ demands which vary from one customer to another. This leads to an inevitable loss of paper known as trim loss problem (TLP). It is the goal of every paper industry to efficiently satisfy the customers while minimizing the wastage due to trim loss. The industries have to maintain an efficient production plan which is economical as well as satisfactory to the customers. A systematic representation of the supply chain is shown in Figure 1 (adapted from [1]).

Figure 1: The pulp and paper supply chain.

Considering the practicality and importance of the TLP, it has been given considerable attention by the researchers for developing its model and for recommending various methods to solve it efficiently. The trim loss problem comes under the group of cutting and packing problems. Hence it is also known as cutting stock problem (CSP). In the present study, we shall use TLP and CSP alternatively.

The first general classification for cutting and packing problems is introduced in Dyckhoff [2]. Dyckhoff developed a special classification for cutting and packing problems in which he called it a typology. An improved typology was developed by Wäscher et al. [3], which is partially based on Dyckhoff’s original one, but it adopts new categorization criteria. A typology, as defined by Wäscher et al. [3], is “a systematic organization of objects into homogeneous categories on the basis of a given set of characterizing criteria.” According to the typology defined by Wäscher et al. [3], the problem we are going to solve in this study can be categorized as a two-dimensional “single stock size cutting stock problem.”

From the mathematical formulation point of view, many articles are available in which the TLP has been studied with different goals such as minimizing trim loss [4–6], minimizing the production costs [5, 7], minimizing the number of patterns [8], and minimizing the total length and overproduction [9].

It was observed that TLP can be modelled as a global optimization problem having a complex formulation (mathematical formulation of TLP is discussed in the next section), and therefore efficient techniques are required for finding its solution. Fundamentally, solution techniques for CSP exit can be categorized into three groups.

(i)Algorithmic methods: these methods though guarantee the optimal solution are usually avoided because of their high computational complexity. (ii)Heuristic methods: these methods usually generate a faster and an acceptable solution but may not find the exact optimal solution. A drawback of these methods is their domain dependency that causes the limited application of apparently similar problems [10].(iii)Metaheuristic methods: in metaheuristic methods, the solution process is often guided by some lower level heuristic. These methods usually have an ability of not being stuck in local optima that might happen with traditional heuristic techniques.

A series of articles are available in the literature using heuristic and metaheuristic methods. Some of these are linear programming approximations for the reel cutting stock [11]. However, it was observed that linear approximation was not a very pragmatic approach for solving such a complex problem. Therefore, efforts were made to solve the non linear models heuristically [8, 12, 13].

Considering the fact that the decision variables of a TLP are of integer type, therefore mixed integer linear programming (MILP) has also been applied for solving cutting stock problems. A review work on different formulations of CSP and the different techniques to solve these is given in [10]. Instances of application of heuristic techniques for solving TLP can be found in [4, 7, 14–16].

Taking into account the complexity of TLP, metaheuristic techniques are probably a more pragmatic approach for solving such problems. Different metaheuristics that have been used include tabu search [17], simulated annealing [18], PSO [19–21], genetic algorithm [22], hybrid genetic algorithm [23].

Going into the details of modelling of the TLP is out of the scope of the paper. Here, we are mainly focusing on showing the suitability of the newly proposed SDE [24] algorithm for dealing with such problems. Synergetic differential evolution (SDE), an improved version of differential evolution (DE) [25, 26] was applied to solve numerical benchmark test functions, where the results clearly indicated the competence of the algorithm. For the present study, SDE has been suitably modified, to deal with the integer/binary restrictions of TLP. The motivation behind the application of SDE for solving a TLP is that a very small improvement in a given arrangement in a cutting could save a considerably large amount of money.

The remainder of the paper is structured as follows: Section 2 gives the brief introduction of SDE. Section 3 presents the formulation of the trim loss problem. Section 4 states the implementation of SDE for solving trim loss problem. Finally, Section 5 provides the summary of the paper.

2. Synergetic Differential Evolution (SDE)

This section briefly describes SDE, an improved version of classical DE. SDE uses the concepts of opposition-based learning and random localization and has a one population set structure. The working of SDE can be understood with the help of the following steps.

Population Initialization. Construct two populations and of size NP each. Here, consists of random solutions between the lower and upper bounds and , respectively, and consists of opposite solutions obtained by using the opposition-based learning [27]. Now the initial population is constructed by taking the best solutions taken from .

Mutation. For each individual, the mutation operation is performed by randomly selecting three solutions from the population corresponding to target solution . However, unlike DE, SDE holds a tournament between the selected three individuals, and the region around the best individual of the tournament is explored:

where are randomly selected such that , is the tournament best individual, and is the control parameter such that .

Crossover. Crossover operator of synergetic differential evolution is the same as that of classical DE. This operation is performed depending on the crossover probability between the perturbed individual generated in mutation step and the target individual to obtain the trial individual, , as follows:

where and is a random parameter’s index, chosen once for each .

Selection. The selection scheme of SDE is the same as that of classical DE, but the method of updating the population is different from DE. After generation of the new individual, evaluate the objective function and compare it to its corresponding target individual by the following equation:

If new individual is better than target individual, then it replaces target individual in the current generation. This is in contrast to classical DE, where the better one of the two is added to an auxiliary population to take part in reproduction in the next generation. Therefore, SDE maintains only one population and the individuals are dynamically updated. The newly found individual entered in the population may take part in the reproduction process.

3. Mathematical Formulation

The TLP, in the context of paper, appears when a set of ordering paper products is to be cut from the large paper roll, having specified widths. The cutting method is simply a winding process, where the large paper roll is wound through the slitter and is cut by a set of knives positioned on the line (Figure 2). The objective is to minimize the trim loss while satisfying the demand specifications. In this paper, the mathematical formulation of TLP suggested by Adjiman et al. [28] and Yen et al. [29] is taken into consideration. The problem is defined as follows.

Figure 2: A schematic illustration of trim loss problem.

It is assumed that a paper roll of width is to be cut in different sizes to satisfy the customer’s demands.

The order specifications are taken as follows.

(i) rolls of order with a width are to be produced, where indicates different products. All products rolls are assumed to be of equal length. (ii)In order to design the best overall scheme, a maximum of ; different cutting patterns are assumed, where a pattern is identified by the position of the knives. (iii)Integer and binary restrictions: All the variables are either integer or binary in nature.(iv) is integer variable indicating the number of times pattern is repeated.(v) is integer variable indicating the existence of a product in a given pattern.(vi) is binary variable to introduce a change in pattern. If a new pattern is introduced (), then is equal to one.

A sample of cutting pattern is shown in Figure 3.

Figure 3: The cutting pattern.

Objective function: the actual cost of the trim loss is the total amount of raw materials used, that is, the sum all repeated patterns multiplied by a cost factor , in addition to the cost of changing knife positions between patterns. Let the pattern change be weighted by a coefficient . The trim loss problem may now be defined as:

subject to the following constraints.

The number of rolls of each product must be greater than the customer’s order.

The width of each pattern must be less than the width of raw paper roll, and width of cut product in each pattern must exceed a certain minimum :

This constraint imposes a lower bound on the total number of patterns made:

There must be at least one product in a pattern, and the total number of knives is limited to :

There must be at least one pattern after a knife change, and the maximum number of pattern repetitions is limited to :

Constraints (10) introduce an order on and variables to reduce degeneracy:

where is a set of integers.

The presence of bilinear inequality (9) makes the problem nonlinear and nonconvex.

4. Implementation of SDE for Trim Loss Problem

In [24] SDE has been applied for solving problems having continuous variables. The TLP, however, turns out to be a MINLP problem (having binary variables as well), therefore suitable changes are made in SDE to adapt it for dealing with integer as well as binary variables. This is described in the following section.

4.1. Handling of Integers and Binary Variables in SDE

In its standard form SDE can only handle the continuous variables. To make it handle the integer variables is, however, an easy task and needs only a couple of simple modifications. Integer values can be used in the evaluation of the objective function and constraints, while it works internally with continuous floating points.

According to the literature, getting the integer values for evaluating the objective function and constraints can be done in two ways by rounding the continuous variables [30] to the nearest integers and by truncating the values to integers [31].

In the present study, rounding off method is used because it has an equal probability to choose between the nearest lower and the nearest upper integer values. For example, if the continuous variable has a value of 5.7 in one case and 5.4 in the second case, then rounding off the digits takes the nearest higher integer of 6 in the first case and the nearest lower integer of 5 in the second case. Truncation, on the other hand, takes the value of 5 in both of the cases since it always takes the nearest lower integer value. Thus, it can be seen that the former method is unbiased and is therefore more reasonable.

Binary variables are also handled in the same fashion as that for integers except that in this case the bounds are restricted between 0 and 1.

4.2. Handling of Constraints

For constraint handling, the following methodology is used [32].

(i)Between two feasible solutions, the one with the best objective function value is preferred.(ii)If one solution is infeasible and the other solution is feasible, the feasible solution is preferred without considering the cost of the objective function.(iii)Between two infeasible solutions, the solution corresponding to the lowest sum of constraint violation is preferred regardless of the objective function value.

Besides, following the previous three rules, equality constraints were transformed into inequations as explained. Suppose that , are equality constraints then these are transformed to inequalities using a tolerance value as for all .

4.3. Control Parameter Settings

Fine tuning of SDE parameters was done to obtain the appropriate value of control parameters for solving the TLP. A series of experiments were conducted, and it was observed that a smaller crossover rate (<0.5) gave good results for TLP. In this study, the value of is therefore taken as 0.3. Scaling factor and population size . Considering the complexity of the problem, the number of function evaluations (NFE) was kept quite high as 15 × 10⁵. Finally, a reasonable accuracy of 10⁻⁰⁴ was taken to analyze the performance of SDE. The algorithm is executed 50 times. In order to demonstrate the efficiency of SDE, the results are also compared with GMIN-αBB [28], ILXPSO [20].

4.4. Numerical Results

To evaluate the performance of SDE, four hypothetical cases of the problem described in Section 3 have been taken. The problems specification and problem parameters are given in Tables 1 and 2. In order to minimize the effect of the stochastic nature of the algorithm, each problem is executed 50 times taking different random seeds, and the average of fitness values at the best solutions throughout the optimization run is recorded. An Intel Dual Core personal computer with 1 GB RAM is used for experiment. The experimental results in terms of best fitness value as well as best solution are given in Tables 3–6,and the cutting patterns are given in Tables 7, 8, 9 and 10. From Tables 3 and 4, we observed that all the algorithms provided the same objective value but different solutions. However, from Tables 5 and 6 it is clear that our algorithm gives the same objective value as GMIN-αBB algorithm which is also the optimal value, but the ILXPSO, a PSO variant used for solving this problem, does not achieve the global optimum. In order to satisfy the order number 3, the total trim loss in terms of width computed by ILXPSO is 1860, while by SDE, it is 1120.

Table 1: Problems taken in this study.

Problem 1
Problem 2
Problem 3
Problem 4

Product
Wid.
Qty.
Product
Wid.
Qty.
Product
Wid.
Qty.
Product
Wid.
Qty.

1
290
15
1
330
9
1
330
12
1
330
8

2
315
28
2
360
7
2
360
6
2
360
16

3
350
21
3
385
12
3
370
15
3
380
12

4
455
30
4
415
11
4
415
6
4
430
7

5
435
9
5
490
14

6
530
16

Table 2: Parameters of the problems.

Problem

1
1850
100
0.1
1
5

2
1900
200
0.1
1
5

3
2000
200
0.1
1
5

4
2200
100
0.1
1
5

Table 3: Results for the trim loss problem 1.

Algorithm
Fitness

GMIN-BB
19.6

ILXPSO
19.6

SDE
19.6

Table 4: Results for the trim loss problem 2.

Algorithm
Fitness

GMIN-BB
8.6

ILXPSO
8.6

SDE
8.6

Table 5: Results for the trim loss problem 3.

Algorithm
Fitness

GMIN-BB
10.3

ILXPSO
11.5

SDE
10.3

Table 6: Results for the trim loss problem 4.

Algorithm
Fitness

GMIN-BB
15.3

ILXPSO
16.3

SDE
15.3

Table 7: Solution results for problem 1.

Cutting pattern no.
Cutting pattern generated
Trim loss

1

20

2

30

3

45

Total trim loss

95

Table 8: Solution results for problem 2.

Cutting pattern no.
Cutting pattern generated
Trim loss

1

0

2

20

3

135

Total trim loss

155

Table 9: Solution results for problem 3.

Cutting pattern no.
Cutting pattern generated
Trim loss

1

130

2

85

Total trim loss

215

Table 10: Solution results for problem 4.

Cutting pattern no.
Cutting pattern generated
Trim loss

1

90

2

30

Total trim loss

120

So our algorithm obtained the optimal solution for all the four cases while ILXPSO obtained it for only two problems. Tables 7, 8, 9, and 10 give the optimal cutting pattern corresponding to the optimal solution obtained by SDE, and the last column of these tables gives the trim loss in terms of width. From a close observation of these tables it can be said that the trim loss is much less. There may exist more than one optimal solution of an optimization problem which are called alternate optimal solutions.

Alternate solutions obtained by the SDE are listed in Tables 11 and 12 for the problems 1 and 2, respectively. For the alternate solutions, objective value is the same while cutting pattern is different which is obvious from Tables 11 and 12. Other results which consist of the best and the worst results, standard deviation (Std.), and average values of the obtained results for all problems are recorded in Table 13. Additionally, the computational times, the number of function evaluation (NFE), and success rate (SR) are also included in Table 13. The success rate in the last column of Table 13 shows the reliability of the algorithm for that particular problem. Also variance is much less which shows the robustness of the scheme.

Table 11: Alternate optimal solutions of problem 1.

S. no.

1
9
7
3
1
—
2
2
1
1
—
3
—
2
1
2

2
11
5
3
1
1
—
2
—
2
—
3
2
2
1
1

3
12
4
3
1
—
1
2
1
—
—
3
3
2
1
1

4
8
6
5
—
1
2
2
2
—
2
—
1
1
2
2

5
14
3
2
1
—
1
2
—
—
—
5
3
2
—
1

Table 12: Alternate optimal solutions of problem 2.

S. no.

1
5
2
1
1
2
1
1
—
2
2
1
—
1
1
2

2
4
3
1
1
1
2
—
2
2
3
—
—
1
2
1

Table 13: Best, worst, mean fitness, standard deviation, average NFE, time, and success rate for all problems.

Pro.
Best
Worst
Mean
Std.
Average NFE
Time
% SR

1
19.60
20.60
19.75

205500
2.01
92

2
8.60
8.60
8.60

188000
0.90
100

3
10.30
11.30
11.05

1091500
8.35
89

4
15.30
16.30
15.85

1335000
11.80
93

The convergence graphs of SDE, illustrating the best fitness versus number of function evaluations are given in Figures 4 and 5. Furthermore, the convergence graphs of constraint violation are also illustrated in the same figures on the secondary axis.

Figure 4: Plot of fitness and constraint violation versus NFE for problem 1.

Figure 5: Plot of fitness and constraint violation versus NFE for problem 2.

Comparison of SDE with another algorithm ILXPSO on the basis of NFE and SR is given in Table 14. The success rate of SDE for problems 1–4 is 92, 100, 89, and 93, respectively while in case of ILXPSO it is 85, 80, 65, 40 respectively. It means that SDE is more reliable than ILXPSO. From Table 14, it is clear that the performance of SDE is better than that of other algorithms in both criteria. CPU absorbance time of the algorithms is not compared here, since they were implemented in completely different computational environments, while it is recorded for SDE in Table 13.

Table 14: Comparison of SDE and ILXPSO on average NFE and success rate for all problems.

Pro.
NFE
% SR

SDE
ILXPSO
SDE
ILXPSO

1
205500
375100
92
85

2
188000
375100
100
80

3
1091500
900200
89
65

4
1335000
1200200
93
40

5. Conclusions

In this paper, the performance of SDE is analyzed on a real-life problem of trim loss or TLP, arising frequently in paper industries. TLP is especially suited to investigate the efficiency of an optimization algorithm like that of SDE because of its complex mathematical model which is nonlinear and nonconvex and contains integer as well as binary variables. Also, it has several constraints associated with it. Conclusions that can be drawn at the end of this study can be summarized as follows.

(i)SDE can be easily modified for solving the problems having integer or/and binary restrictions imposed on it. (ii)SDE can deal efficiently with nonlinear/nonconvex optimization problems subject to several constraints. This is important in real-life scenarios, where usually the problems are complex in nature.(iii)SDE outperformed some of the contemporary optimization algorithms in terms of solution quality as well as convergence rate.

Acknowledgments

This research was supported by MSIP, Korea, under ITRC NIPA-2013-(H0301-13-3001) and also was supported by the National Research Foundation of Korea (NRF) Grant funded by the Korea Government (no. 2012-013-735).

References

M. A. Rodríguez and A. Vecchietti, “Enterprise optimization for solving an assignment and trim-loss non-convex problem,” Computers and Chemical Engineering, vol. 32, no. 11, pp. 2812–2822, 2008.

H. Dyckhoff, “A typology of cutting and packing problems,” European Journal of Operational Research, vol. 44, no. 2, pp. 145–159, 1990.

G. Wäscher, H. Haußner, and H. Schumann, “An improved typology of cutting and packing problems,” European Journal of Operational Research, vol. 183, no. 3, pp. 1109–1130, 2007.

I. Harjunkoski, T. Westerlund, J. Isaksson, and H. Skrifvars, “Different formulations for solving trim loss problems in a paper-converting mill with ILP,” Computers and Chemical Engineering, vol. 20, no. 1, pp. S121–S126, 1996.

I. Harjunkoski, T. Westerlund, and R. Pörn, “Numerical and environmental considerations on a complex industrial mixed integer non-linear programming (MINLP) problem,” Computers and Chemical Engineering, vol. 23, no. 10, pp. 1545–1561, 1999.

P. Trkman and M. Gradisar, “One-dimensional cutting stock optimization in consecutive time periods,” European Journal of Operational Research, vol. 179, no. 2, pp. 291–301, 2007.

I. Harjunkoski, T. Westerlund, R. Pörn, and H. Skrifvars, “Different transformations for solving non-convex trim-loss problems by MINLP,” European Journal of Operational Research, vol. 105, no. 3, pp. 594–603, 1998.

R. E. Johnston and E. Sadinlija, “A new model for complete solutions to one-dimensional cutting stock problems,” European Journal of Operational Research, vol. 153, no. 1, pp. 176–183, 2004.

M. H. Correia, J. F. Oliveira, and S. Ferreira, “Reel and sheet cutting at a paper mill,” Computers and Operations Research, vol. 31, no. 8, pp. 1223–1243, 2004.

A. I. Hinxman, “The trim-loss and assortment problems: a survey,” European Journal of Operational Research, vol. 5, no. 1, pp. 8–18, 1980.

P. C. Gilmore and R. E. Gomory, “A linear programming approach to the cutting-stock problem,” Operations Research, vol. 9, pp. 849–859, 1961.

R. W. Haessler, “A heuristic programming solution to a non-linear cutting stock problem,” Management Science, vol. 17, pp. 793–802, 1971.

I. Coverdale and F. Wharton, “An improved heuristic procedure for a nonlinear cutting stock problem,” Management Science, vol. 23, no. 1, pp. 78–86, 1976.

J. E. Beasley, “A population heuristic for constrained two-dimensional non-guillotine cutting,” European Journal of Operational Research, vol. 156, no. 3, pp. 601–627, 2004.

J. Riehme, G. Scheithauer, and J. Terno, “The solution of two-stage guillotine cutting stock problems having extremely varying order demands,” European Journal of Operational Research, vol. 91, no. 3, pp. 543–552, 1996.

T. Westerlund, “Some efficient formulations for the simultaneous solution of trim-loss and scheduling problems in the paper-converting industry,” Chemical Engineering Research and Design, vol. 76, no. 6, pp. 677–684, 1998.

R. Alvarez-Valdés, A. Parajón, and J. M. Tamarit, “A tabu search algorithm for large-scale guillotine (un)constrained two-dimensional cutting problems,” Computers and Operations Research, vol. 29, no. 7, pp. 925–947, 2002.

K. K. Lai and J. W. M. Chan, “Developing a simulated annealing algorithm for the cutting stock problem,” Computers and Industrial Engineering, vol. 32, no. 1, pp. 115–127, 1997.

S. Xianjun, Y. Li, B. Zheng, and Z. Dai, “General particle swarm optimization based on simulated annealing for multi-specification one-dimensional cutting stock problem,” in Proceedings of the IEEE International Conference on Cybernetics and Intelligent Systems (CIS '06), vol. 4456 of Lecture Notes in Computer Science, pp. 67–76, Guangzhou, China, 2007.

K. Deep, P. Chauhan, and J. C. Bansal, “Solving nonconvex trim loss problem using an efficient hybrid particle swarm optimization,” in Proceedings of the World Congress on Nature and Biologically Inspired Computing (NABIC '09), pp. 1608–1611, Coimbatore, India, December 2009.

K. Deep, P. Chauhan, and M. Pant, “New hybrid discrete PSO for solving non convex trim loss problem,” International Journal of Applied Evolutionary Computation, vol. 3, no. 2, pp. 19–41, 2012.

B. J. Wagner, “Genetic algorithm solution for one-dimensional bundled stock cutting,” European Journal of Operational Research, vol. 117, no. 2, pp. 368–381, 1999.

R. Östermark, “Solving a nonlinear non-convex trim loss problem with a genetic hybrid algorithm,” Computers and Operations Research, vol. 26, no. 6, pp. 623–635, 1999.

M. Ali, M. Pant, and A. Abraham, “Improving differential evolution algorithm by synergizing different improvement mechanisms,” ACM Transaction on Autonomous and Adaptive Systems, vol. 7, no. 2, pp. 1–32, 2012.

R. Storn and K. Price, “Differential evolution—a simple and efficient heuristic for global optimization over continuous spaces,” Journal of Global Optimization, vol. 11, no. 4, pp. 341–359, 1997.

M. Ali, M. Pant, and A. Abraham, “Simplex differential evolution,” Acta Polytechnica Hungarica, vol. 6, no. 5, pp. 95–115, 2009.

R. S. Rahnamayan, H. R. Tizhoosh, and M. M. A. Salama, “Opposition-based differential evolution,” IEEE Transactions on Evolutionary Computation, vol. 12, no. 1, pp. 64–79, 2008.

C. S. Adjiman, I. P. Androulakis, and C. A. Floudas, “Global optimization of mixed-integer nonlinear problems,” AIChE Journal, vol. 46, no. 9, pp. 1769–1797, 2000.

C. H. Yen, D. S. H. Wong, and S. S. Jang, “Solution of trim-loss problem by an integrated simulated annealing and ordinal optimization approach,” Journal of Intelligent Manufacturing, vol. 15, no. 5, pp. 701–709, 2004.

M. Srinivas and G. P. Rangaiah, “Differential evolution with tabu list for solving nonlinear and mixed-integer nonlinear programming problems,” Industrial and Engineering Chemistry Research, vol. 46, no. 22, pp. 7126–7135, 2007.

R. Angira and B. V. Babu, “Optimization of process synthesis and design problems: a modified differential evolution approach,” Chemical Engineering Science, vol. 61, no. 14, pp. 4707–4721, 2006.

K. Deb, “An efficient constraint handling method for genetic algorithms,” Computer Methods in Applied Mechanics and Engineering, vol. 186, no. 2-4, pp. 311–338, 2000.