Improving the Efficiency of Genetic Algorithms for Constrained Optimization
چکیده
The efficiency of a Genetic Algorithm for constrained parameter optimization depends heavily on the ratio of feasible to infeasible area in its rectangular search space. We show an algorithm based on existing mathematical programming methods which improves this ratio assuming a set of linear constraints. We approximate the feasible area by a multidimensional ellipsoid and rotate the original search space parallel to its main axes. The minimum volume hyper rectangle we can wrap around the rotated constraint set gives us a new rectangular search space. In addition to that we propose to continue with a local search algorithm for fine tuning. To demonstrate the use of the proposed method, we perform test runs on randomly generated cases as well as on three selected examples. * Research performed while visiting the Department of Engineering-Economic Systems and Operations Research (now Management Science and Engineering), Stanford University, during 1997. † Corresponding author. Email address: michael.osullivan@auckland.ac.nz (M. J. O’Sullivan) ‡ Research performed while a PhD student in the Department of Engineering-Economic Systems and Operations Research (now Management Science and Engineering), Stanford University, during 1997. Abstract The efficiency of a Genetic Algorithm for constrained parameter optimization depends heavily on the ratio of feasible to infeasible area in its rectangular search space. We show an algorithm based on existing mathematical programming methods which improves this ratio assuming a set of linear constraints. We approximate the feasible area by a multidimensional ellipsoid and rotate the original search space parallel to its main axes. The minimum volume hyper rectangle we can wrap around the rotated constraint set gives us a new rectangular search space. In addition to that we propose to continue with a local search algorithm for fine tuning. To demonstrate the use of the proposed method, we perform test runs on randomly generated cases as well as on three selected examples.The efficiency of a Genetic Algorithm for constrained parameter optimization depends heavily on the ratio of feasible to infeasible area in its rectangular search space. We show an algorithm based on existing mathematical programming methods which improves this ratio assuming a set of linear constraints. We approximate the feasible area by a multidimensional ellipsoid and rotate the original search space parallel to its main axes. The minimum volume hyper rectangle we can wrap around the rotated constraint set gives us a new rectangular search space. In addition to that we propose to continue with a local search algorithm for fine tuning. To demonstrate the use of the proposed method, we perform test runs on randomly generated cases as well as on three selected examples. Introduction Genetic Algorithms (GAs) are used more and more for numerical optimization and conquered their place among other classical optimization techniques. Due to their robustness and flexibility they are mainly applied on complex, nonlinear, even stochastic optimization problems of moderate size. One important issue for an optimization algorithm is to handle constraints. The search space for a Genetic Algorithm has the form of an n-dimensional rectangle. However real world problems have more constraints than upper and lower bounds on the variables. In special cases it is possible to get rid of constraints using a problem specific coding scheme and problem specific operators to preserve feasibility of solutions (e.g.:[1]). In the other cases the feasible area is smaller than the search space, which makes the GA inefficient. This detail is especially important for problems where running time is a major concern. General applicable methods for handling constraints are: penalty functions and repair or mapping algorithms [2], [1], [3] to name the most important ones. In this paper we present a method to improve the efficiency of handling linear constraints in general which can be applied in combination with all known constraint handling techniques for GAs. We show a polynomial time algorithm to minimize the infeasible area in the search space by rotating the coordinate system before starting the GA. The GA then works more efficiently in a transformed coordinate system, still using constraint handling techniques. The feasible area is a polyhedral set defined by the linear constraints (figure 1). We approximate this area by a multidimensional ellipsoid (figure 3) using Semi Definite Programming (SDP). The smallest rectangle one can wrap around an ellipsoid has sides parallel to its principle axes. Therefore we rotate the original search space parallel to the main axes of the ellipsoid. The smallest n-dimensional rectangle in the rotated system is then obtained via a sequence of linear programs (LPs). Since the replacement of the original polyhedral set by an ellipsoid is just an approximation we refine the search by a local gradient method. Finally we check the improvement by comparing the volume of the new box to the original one. Minimizing the infeasible area typically has many local optima, so the overall optimal rotation can only be found by global optimization, which would require a large computational effort especially in higher dimensions and with large constraint sets. The algorithm presented here uses a heuristic to get find the global optimum. In the following paragraphs we briefly sketch the underlying theory for our algorithm, describe the algorithm itself and eventually show the benefits of the algorithm by some experimental results. The Problem Genetic Algorithms are often applied to numerical optimization problems. Without loss of generality we assume continuous variables in R . This mathematical program can be written in the following form: optimize , ( ) z f x x xn = 1 2 , , , K where the objective function z is an arbitrary function in R . The search space for Genetic Algorithms is defined as an n-dimensional rectangle in R , defined by lower and upper bounds of the variables S n ⊆ R n