Tuesday, 28 March 2017

FITNESS FUNCTIONS

fitness function is a particular type of objective function that is used to summarise, as a single figure of merit, how close a given design solution is to achieving the set aims.
In particular, in the fields of genetic programming and genetic algorithms, each design solution is commonly represented as a string of numbers (referred to as a chromosome). After each round of testing, or simulation, the idea is to delete the 'n' worst design solutions, and to breed 'n' new ones from the best design solutions. Each design solution, therefore, needs to be awarded a figure of merit, to indicate how close it came to meeting the overall specification, and this is generated by applying the fitness function to the test, or simulation, results obtained from that solution.
The reason that genetic algorithms cannot be considered to be a lazy way of performing design work is precisely because of the effort involved in designing a workable fitness function. Even though it is no longer the human designer, but the computer, that comes up with the final design, it is the human designer who has to design the fitness function. If this is designed badly, the algorithm will either converge on an inappropriate solution, or will have difficulty converging at all.
Moreover, the fitness function must not only correlate closely with the designer's goal, it must also be computed quickly. Speed of execution is very important, as a typical genetic algorithm must be iterated many times in order to produce a usable result for a non-trivial problem.
Fitness approximation may be appropriate, especially in the following cases:
  • Fitness computation time of a single solution is extremely high
  • Precise model for fitness computation is missing
  • The fitness function is uncertain or noisy.
Two main classes of fitness functions exist: one where the fitness function does not change, as in optimizing a fixed function or testing with a fixed set of test cases; and one where the fitness function is mutable, as in niche differentiation or co-evolving the set of test cases.
Another way of looking at fitness functions is in terms of a fitness landscape, which shows the fitness for each possible chromosome.
Definition of the fitness function is not straightforward in many cases and often is performed iteratively if the fittest solutions produced by GA are not what is desired. In some cases, it is very hard or impossible to come up even with a guess of what fitness function definition might be. Interactive genetic algorithms address this difficulty by outsourcing In applied mathematics, test functions, known as artificial landscapes, are useful to evaluate characteristics of optimization algorithms, such as:
  • Convergence rate.
  • Precision.
  • Robustness.
  • General performance.
Here some test functions are presented with the aim of giving an idea about the different situations that optimization algorithms have to face when coping with these kinds of problems. In the first part, some objective functions for single-objective optimization cases are presented. In the second part, test functions with their respective Pareto fronts for multi-objective optimization problems (MOP) are given.
The artificial landscapes presented herein for single-objective optimization problems are taken from Bäck,[1] Haupt et al.[2] and from Rody Oldenhuis software.[3] Given the number of problems (55 in total), just a few are presented here. The complete list of test functions is found on the Mathworks website.[4]
The test functions used to evaluate the algorithms for MOP were taken from Deb,[5] Binh et al.[6] and Binh.[7] You can download the software developed by Deb,[8] which implements the NSGA-II procedure with GAs, or the program posted on Internet,[9] which implements the NSGA-II procedure with ES.
Just a general form of the equation, a plot of the objective function, boundaries of the object variables and the coordinates of global minima are given herein.

Test functions for single-objective optimization[edit]

NamePlotFormulaGlobal minimumSearch domain
Rastrigin functionRastrigin function for n=2
Ackley's functionAckley's function for n=2
Sphere functionSphere function for n=2
Rosenbrock functionRosenbrock's function for n=2
Beale's functionBeale's function
Goldstein–Price functionGoldstein–Price function
Booth's functionBooth's function
Bukin function N.6Bukin function N.6
Matyas functionMatyas function
Lévi function N.13Lévi function N.13
Three-hump camel functionThree Hump Camel function
Easom functionEasom function
Cross-in-tray functionCross-in-tray function
Eggholder functionEggholder function
Hölder table functionHolder table function
McCormick functionMcCormick function
Schaffer function N. 2Schaffer function N.2
Schaffer function N. 4Schaffer function N.4
Styblinski–Tang functionStyblinski-Tang function..

Test functions for constrained optimization[edit]

NamePlotFormulaGlobal minimumSearch domain
Rosenbrock function constrained with a cubic and a line[10]Rosenbrock function constrained with a cubic and a line,
subjected to: 
Rosenbrock function constrained to a disk[11]Rosenbrock function constrained to a disk,
subjected to: 
Mishra's Bird function - constrained[12]Bird function (constrained),
subjected to: 
Townsend function[13]Heart constrained multimodal function,
subjected to: where: t = Atan2(y/x)
Simionescu function[14]Simionescu function,
subjected to:  

Test functions for multi-objective optimization[edit]

NamePlotFunctionsConstraintsSearch domain
Binh and Korn function:Binh and Korn function
Chakong and Haimes function:Chakong and Haimes function
Fonseca and Fleming function:[15]Fonseca and Fleming function
Test function 4:[7]Test function 4.[7]
Kursawe function:[16]Kursawe function.
Schaffer function N. 1:[17]Schaffer function N.1. Values of  from  to  have been used successfully. Higher values of  increase the difficulty of the problem.
Schaffer function N. 2:Schaffer function N.2.
Poloni's two objective function:Poloni's two objective function
Zitzler–Deb–Thiele's function N. 1:Zitzler-Deb-Thiele's function N.1.
Zitzler–Deb–Thiele's function N. 2:Zitzler-Deb-Thiele's function N.2.
Zitzler–Deb–Thiele's function N. 3:Zitzler-Deb-Thiele's function N.3.
Zitzler–Deb–Thiele's function N. 4:caption2  = Zitzler-Deb-Thiele's function N.4
Zitzler–Deb–Thiele's function N. 6:Zitzler-Deb-Thiele's function N.6.
Viennet function:Viennet function.
Osyczka and Kundu function:Osyczka and Kundu function.
CTP1 function (2 variables):[5]CTP1 function (2 variables).[5].
Constr-Ex problem:[5]Constr-Ex problem.[5]

No comments:

Post a Comment