An ES does not use derivative information, it just needs to be supplied with an objective function value for each member of each population. Thus, the evaluation of the problem functions is essentially a `black box' operation as far as the ES is concerned. Obviously, in the interests of overall computational efficiency, the problem function evaluations should be performed efficiently. Depending on the nature of the system equations advice on accelerating these calculations may be found in other chapters within this project.
The guidelines for constraint handling in an ES are basically identical to those outlined in Section 4.1.2 for the Simulated Annealing algorithm. As long as there are no equality constraints and the feasible space is not disjoint, then infeasible solutions can simply be `rejected'. In an ES this means ensuring that those particular solutions are not selected as parents in the next generation.
If these conditions on the constraints are not met, then a penalty function method should be used. A suitable form for an ES is:
where w is a vector of nonnegative weighting coefficients, the vector quantifies the magnitudes of any constraint violations, M is the number of the current generation and k is a suitable exponent. The dependence of the penalty on generation number biases the search increasingly heavily towards feasible space as it progresses. Consult section 4.1.2 for more details on the penalty function method.