[CO+LB] Assignment/Úkol
[EN]
Part 1 (Continuous Optimization I - adaptive operators) - 5 points
- Create your own genetic operators (at least one adaptive) for continuous optimization and compare them to the default settings. You do not have to use all the functions from the BBOB benchmark. Select 4-5 of them from different groups.
- Send me a plot comparing your operators with the default settings for each of the functions you have selected. Try to comment the results with respect to the features of the selected functions. I recommend using logarithmic y-axis in the plots, otherwise the differences are not really visible. You can just call plt.yscale('log') after creating the plot (before plt.show() in plotting.py).
Part 2 (Continuous Optimization II - differential evolution) - 5 points
Try to implement your own operators inspired by differential evolution. You have several options (choose some of them, or create your own). Compare the algorithms again on a set of function from the BBOB benchmark, select both separable and non-separable functions.
- Implement the differential evolution directly.
- Try to use more than two individuals in the differential mutation.
- Try to change the parameters F and CR in an adaptive manner (or randomly).
Part 3 (Lamarckism and Baldwinism) - 5 points
- Implement lamarckian and baldwinian evolution. You can use any local search method (e.g. simulated annealing), it does not have to be gradient-based.
- Compare both Lamarck and Baldwin to your methods from the previous parts.
[CZ]
1. část (Spojitá optimalizace I - adaptivní operátory) - 5 bodů
- Napište vlastní operátory (aspoň jeden z nich adaptivní) a porovnejte je s defaultním nastavením. Nemusíte používat všechny funkce z BBOB, vyberte si jich cca 4-5 různých typů.
- Pošlete mi pro každou vámi vybranou funkci graf srovnávající vaše operátory a defaultní nastavení. Snažte se výsledky komentovat i vzhledem k vlastnostem zvolených funkcí. Doporučuji v grafech používat logaritmickou y-osu, bez toho nejsou rozdíly moc vidět. Mělo by stačit zavolat plt.yscale('log') po vytvoření grafu (před plt.show() v plotting.py).
2. část (Spojitá optimalizace II - diferenciální evoluce) - 5 bodů
Zkuste si naimplementovat vlastní operátory inspirované diferenciální evolucí a porovnejte je s operátory z minula. Máte několik možností (vyberte si nebo vymyslete vlastní). Porovnání zase dělejte na několika funkcích z BBOB (vyberte separabilní i nesaparabilní)
- Zkuste udělat přímo diferenciální evoluci
- Zkuste v diferenciální mutaci použít více než dva jedince, ze kterých se počítá rozdíl
- Zkuste měnit parametry F a CR nějak adaptivně
3. část (Lamarckismus a Baldwinismus) - 5 bodů
- Napište si lamarckismem a baldwinismem inspirovanou evoluci (nemusíte dělat nutně gradient, klidně zkuste třeba simulované žíhání).
- Porovnejte Lamarcka i Baldwina se svými dřívějšími přístupy a napište mi, na co jste přišli.