A real coded genetic algorithm for solving integer and mixed integer optimization problems

https://doi.org/10.1016/j.amc.2009.02.044Get rights and content

Abstract

In this paper, a real coded genetic algorithm named MI-LXPM is proposed for solving integer and mixed integer constrained optimization problems. The proposed algorithm is a suitably modified and extended version of the real coded genetic algorithm, LXPM, of Deep and Thakur [K. Deep, M. Thakur, A new crossover operator for real coded genetic algorithms, Applied Mathematics and Computation 188 (2007) 895–912; K. Deep, M. Thakur, A new mutation operator for real coded genetic algorithms, Applied Mathematics and Computation 193 (2007) 211–230]. The algorithm incorporates a special truncation procedure to handle integer restrictions on decision variables along with a parameter free penalty approach for handling constraints. Performance of the algorithm is tested on a set of twenty test problems selected from different sources in literature, and compared with the performance of an earlier application of genetic algorithm and also with random search based algorithm, RST2ANU, incorporating annealing concept. The proposed MI-LXPM outperforms both the algorithms in most of the cases which are considered.

Introduction

A mixed integer programming problem is an optimization problem, linear or nonlinear, with or without constraints, in which some or all decision variables are restricted to have integer values. Such problems frequently arise in various application fields such as process industry, finance, engineering design, management science, process flow sheets, portfolio selection, batch processing in chemical engineering, and optimal design of gas and water distribution networks. Other areas of application in which such problems also arise are automobile engineering, aircraft design, and VLSI manufacturing.

The general mathematical model of a mixed integer programming problem (MIPP) is:minf(x,y),subject to:gj(x,y)bj,j=1,,r1,hj(x,y)=bj,j=r1+1,,r1+r2,xiLxixiU,i=1,,n1,yiLyiyiU:integer,i=1,,n2,x=[x1,x2,,xn1]T,y=[y1,y2,,yn2]T.Several classical computational techniques (such as branch and bound technique, cutting planes technique, outer approximation technique etc.), which are reasonably efficient, have been proposed in literature for solving mixed integer programming problems ([3], [4], [5], [6], [7]). These techniques are applicable to a particular class of problems. In the case of non-convex problems these techniques may cut-off the global optima.

In the last two decades many stochastic algorithms are developed and suitably updated for mixed integer programming problems. Simulated annealing technique, first proposed by Kirkpatrick et al. [8], has proved a valuable tool in solving real and combinatorial global optimization problems ([9], [10]). However, algorithms of this class generally posses the ability to provide near global optimal solutions, but the quality of the obtained solution is not stable and the computational time required is generally large. Other techniques such as Differential Evolution ([11]), Line-up competition algorithm ([12]) and Particle Swarm Optimization ([13]) are also used for integer and mixed integer programming problems.

Controlled random search techniques CRS1 and CRS2 ([14], [15]) are stochastic algorithms for global optimization problems in which decision variables may have both integer as well as real values. Mohan and Shanker [16] developed an improved version of CRS2 algorithm which uses quadratic approximation in place of simplex approach adopted in CRS2 version and named it RST2 algorithm. Later on, [17] developed a controlled random search technique, called the RST2ANU algorithm. This algorithm incorporates the simulated annealing concept in RST2 algorithm. RST2ANU algorithm is claimed to be more reliable and efficient than RST2 algorithm, and shown to be effective in solving integer and mixed integer constrained optimization problems as well. Salcedo [18] has used an adaptive controlled random search for such problems.

Genetic algorithms (GAs) are general purpose population based stochastic search techniques which mimic the principles of natural selection and genetics laid down by Charles Darwin. The concept of GA was introduced by Holland [19]. This approach was first used to solve optimization problem by De-Jong [20]. A detailed implementation of GA may be found in [21].

In a GA, a population of potential solutions, termed as chromosomes (individuals), is evolved over successive generations using a set of genetic operators called selection, crossover and mutation operators. First of all, based on some criteria, every chromosome is assigned a fitness value, and then a selection operator is applied to choose relatively ‘fit’ chromosome to be part of the reproduction process. In reproduction process new individuals are created using crossover and mutation operators. Crossover operator blends the genetic information between chromosomes to explore the search space, whereas mutation operator is used to maintain adequate diversity in the population of chromosomes to avoid premature convergence.

The way the variables are coded is clearly essential for GAs’ efficiency. Real coded genetic algorithms (RCGAs), which use real numbers for encoding, have fast convergence towards optima than binary and gray coded GAs ([22]). Also, RCGAs overcomes the difficulty of “Hamming Cliff” as in binary coded GAs. In the case of integer and mixed integer programming problems many applications of GAs are available in literature, some of these use binary coded representation ([23], [24], [25], [26]) and some use real coded representation ([27], [28], [29], [30]). Most of the above approaches use round off of real variable to deal with integer restriction of decision variables. Also, they may differ from each other in the terms coding (binary or real), crossover operator, mutation operator, selection technique and constraint handling approach used in their algorithm. Till date there is no single combination of crossover operator, mutation operator, selection technique and constraint handling approach which is a completely robust GA for solving integer and mixed integer nonlinear programming problems.

The above works motivate us to develop an efficient algorithm for integer and mixed integer nonlinear programming problems. Hence, we have suitably modified and extended the recently developed real coded genetic algorithm, LXPM by Deep and Thakur [1], [2], to handle integer restrictions on some or all decision variables. Also, a truncation procedure is incorporated for those variables which have integer restriction. Moreover, a parameter free constraint handling technique is incorporated into LXPM algorithm for handling of constraints. This new version is called MI-LXPM algorithm. The proposed algorithm creates more randomness for efficient handling of integer restrictions on decision variables and increases the possibility to obtain the global optimal solution.

The paper is organized as follows: The proposed MI-LXPM algorithm is described in Section 2. Laplace crossover, Power mutation, tournament selection technique, truncation procedure for integer restrictions and constraint handling techniques are discussed in some details in sub Sections 2.1 Laplace crossover, 2.2 Power mutation, 2.3 Selection technique, 2.4 Truncation procedure for integer restrictions, 2.5 Constraint handling approach, respectively. The algorithm is finally outlined in sub Section 2.6. It is applied to a set of 20 test problems in Section 3 and its performance is compared with that of AXNUM and RST2ANU algorithms. Discussion on the numerical results follows in Section 4. Conclusions, based on the present study, are finally drawn in Section 5.

Section snippets

MI-LXPM algorithm

MI-LXPM algorithm is an extension of LXPM algorithm, which is efficient to solve integer and mixed integer constrained optimization problems. In MI-LXPM, Laplace crossover and Power mutation are modified and extended for integer decision variables. Moreover, a special truncation procedure for satisfaction of integer restriction on decision variables and a ‘parameter free’ penalty approach for constraint handling are used in MI-LXPM algorithm. More details of these operators are defined in

Solution of test problems

MI-LXPM algorithm, developed in the previous section, is used to solve a set of 20 test problems taken from different sources in the literature. These are listed in Appendix. These include integer and mixed integer constrained optimization problems. All (except 16) are nonlinear. The number of unknown decision variables in these problems varies from 2 to 100. The results are presented in Table 1.

Performance of MI-LXPM algorithm is compared with the earlier RCGA (we call it AXNUM algorithm),

Discussion on the results

In the MI-LXPM algorithm, like other genetic algorithms, finding appropriate value of parameters is the most important and difficult task. Difficulty in parameter fine tuning increases in the case of RCGAs, since the number of parameters involved in RCGAs are more than in binary GAs. For a given test suit, an extensive computational exercise has to be carried out to determine the most optimum parameters setting for MI-LXPM. The most efficient parameter setting found by our experiments were as

Conclusions

In this paper, a real coded genetic algorithm MI-LXPM is proposed for solution of constrained, integer and mixed integer optimization problems. In this algorithm a special truncation procedure is incorporated to handle integer restriction on the decision variables and “parameter free” penalty approach is used for the constraints of the optimization problems.

The performance of the proposed MI-LXPM algorithm is compared with AXNUM and RST2ANU algorithm on a set of 20 test problems. Our results

Acknowledgement

One of the authors (Krishna Pratap Singh) would like to thank Council for Scientific and Industrial Research (CSIR), New Delhi, India, for providing him the financial support vide Grant number 09/143(0504)/2004-EMR-I.

References (41)

  • K. Deep et al.

    A new crossover operator for real coded genetic algorithms

    Applied Mathematics and Computation

    (2007)
  • M.W. Cooper

    Survey of methods for nonlinear integer programming

    Management Science

    (1981)
  • H.M. Salkin

    Integer Programming

    (1975)
  • C.A. Floudas

    Nonlinear Mixed-integer Optimization. Fundamentals and Applications

    (1995)
  • I.E. Grossmann

    Review of non-linear mixed integer and disjunctive programming techniques

    Optimization and Engineering

    (2002)
  • S. Kirkpatrick et al.

    Optimization by simulated annealing

    Science

    (1983)
  • A. Sonilah

    Simulated anneling for manufacturing systems layout design

    European Journal of Operational Research

    (1995)
  • B.V. Babu, R. Angira, A differential evolution approach for global optimization of minlp problems, in: Proceedings of...
  • W.L. Price

    Global optimization by controlled random search

    Journal of Optimization: Theory and Applications

    (1983)
  • W.L. Price

    Global optimization algorithms for cad workstation

    Journal of Optimization: Theory and Application

    (1987)
  • Cited by (609)

    View all citing articles on Scopus
    View full text