Optimizing ZDT2 (n=30) multi-objective problem using Genetic Algorithm - A MATLAB tutorial

preview_player
Показать описание
In this tutorial I optimized the ZDT2 test problem with 30 input variables (dimensions = 30). So this problem would be a lot harder to optimize. But remember that we know the exact solution, that makes the comparison pretty easy.

First, I show implementation of the ZDT2 multi-objective test problem and optimize it using the built-in Multi-objective Genetic Algorithm in MATLAB. The given objective function is a standard test function that helps a beginner user to understand the basic concept of optimization in MATLAB easier. The given objective function or fitness function has one vector input including 'n=30' variables and two outputs (objective values). I write two separate functions one for the fitness function and one for the main algorithm. I plot the pareto-front that illustrates the obtained solutions in a proper way. We use different setting of the algorithm using the 'optimoptions' function.

Optimizing Booth's test function using Simulated Annealing:
optimizing multi-objective ZDT1 test problem using Genetic Algorithm:
A simple optimization using Genetic Algorithm:
A simple constrained optimization using Genetic Algorithm:
A simple multi-objective optimization using Genetic Algorithm:
A mixed-integer optimization using Linear Programming:
A simple single-objective optimization using Particle Swarm Optimization Algorithm:
A simple single-objective optimization using Pattern Search:
Рекомендации по теме
Комментарии
Автор

Great Example. I'm a beginner in this field. Those tutorials are very useful. I did this problem using Matlab 2013a. You should change many lines due to the difference in MATLAB version. For Matlab 2013a you have two options for opt
second option when you want to change the parameters:
opt = gaoptimset('Display', 'iter', ...
'Generations', 500*nvar, ...
'PopulationSize', 50, ...
'TolFun', 1e-5, ...

rabeamahfoud
Автор

Which test function we have use, how can we know that

ramanuj
Автор

plz help !!

I just retype the code for testing but unfortunately Matlab complains

Error using optimoptions (line 114)
Invalid solver specified. Provide a solver name or handle (such as
'fmincon' or @fminunc).
Type DOC OPTIMOPTIONS for a list of solvers.

Error in mainZdt2 (line 8)
opt = optimoptions('gamultiobj', 'Display', 'iter', ...

BoukhariNoureddine
Автор

Hey I have three objectives, I want to maximize two and minimize one, which function should I use ?

awaissallu
Автор

optimoptions problem!!
Undefined function 'optimoptions' for input arguments of type 'function_handle'.
i tried to use optimset but still not working!

aliromeh
Автор

hey thanks your video..
how can I write genetic algorithm code for feature selection?

NO-brvx
Автор

please help
how can i write these fitness functions and each on have an interval


1-fmin-power = P / Pmax -30<= p <= 30 step 1
2-fmin-ber = log10 ( 0 . 5 )/ log10 ( Pbe ) 10^-1 <= pbe <= 10^-8
3-fmax-throughput = 1 − log2 ( M )/ log2 ( Mmax ) Mmax=4 1 <= M <= 8


f three − objective = w 1 ∗ ( fmin-po w er ) + w 2 ∗ ( fmin-ber ) + w 3 ∗ ( fmax-throughput )

aliromeh