The goal of this lab exercise is to implement an evolutionary algorithm for constrained optimization problems. Likewise in NSGA-II, also here the whole task consists of only a few modifications to the standard genetic algorithm. In particular, you should implement two variants of the adaptive penalty:
If you do not complete all parts during the lab time, finish the work at home.
The weight $r_g(t)$ is adapted in time as follows:
$\beta_1, \beta_2 > 1$ a $\beta_1 \neq \beta_2$
Implement this adaptive method.
Input | Current $r_g(t)$ |
---|---|
Input | Information about feasibility of the best solution in the last $k$ generations |
Output | Updated weight $r_g(t+1)$ |
Implement a method for computing the overall fitness of the individual in the form $fitness(x) = f(x) + r_g(t)*\sum_{i=1}^{m+p}G_i(x)$, where
Input | $f(x)$ |
---|---|
Input | $G_i(x)$ pro $i = 1 ... m+k$ |
Input | $r_g(t)$ |
Output | fitness |
Use the implemented adaptive penalty method within an evolutionary algorithm with the generational replacement strategy.
This method first sorts individuals in the current population from the best to the worst one using a stochastic Bubble-sort-like procedure. On such a population, a standard tournament selection method can be applied to choose an individual on the basis the lower rank of the individual, the better the individual is.
Implement the stochastic Bubble-sort method, for details see the lecture slides.
Input | Population of individuals; each assigned its values $f(x)$ a $\sum_{i=1}^{m+p}G_i(x)$ |
---|---|
Output | Population sorted from the best to the worst one |
Use the implemented stochastic ranking procedure together with the rank-based tournament selection within an evolutionary algorithm with the generational replacement strategy.
As the test problem we will use real-valued function optimizations. In particular, problems g06, g08, g11 a g24 from problem_definitions.
Use the already implemented operators for real-valued representation.
Problem g06:
Problem g08:
Problem g11:
Problem g24: