4 variables problem optimization with Genetic Algorithm

3 visualizaciones (últimos 30 días)
Ali Ghalavand
Ali Ghalavand el 10 de Mayo de 2021
Comentada: Ali Ghalavand el 14 de Mayo de 2021
I have a 4 variables nonlinear problem optimization that want to solve it with Genetic Algorithm, my lower bounds are [-100 -100 -3000 -3000] and upper bounds are
[100 100 700 700]. But every time I run the program it gives me the different results for variables and the variables don't converge. How can I fix this problem to get a specific result?

Respuesta aceptada

Alan Weiss
Alan Weiss el 11 de Mayo de 2021
ga is a stochastic algorithm, and is expected to give different results on different runs. You can get reproducible behavior by setting the random seed. For example, run
rng default
before running ga.
A different question: is ga the right solver for you? See Choose a Solver.
Alan Weiss
MATLAB mathematical toolbox documentation
  3 comentarios
Alan Weiss
Alan Weiss el 13 de Mayo de 2021
You can try patternsearch from several initial points randomly chosen within bounds, as described here:
x0 = lb + rand(size(lb)).*(ub - lb);
Write a loop and see what you get.
I don't understand your question "I used the optimization toolbox and I didn't write the GA code, so where I can use the rng function?" Call the rng function before your ga call. If you canot because someone gave you precompiled code somehow, then I don't know how to help you.
Alan Weiss
MATLAB mathematical toolbox documentation
Ali Ghalavand
Ali Ghalavand el 14 de Mayo de 2021
Thank you Alan,
I wrote GA code yesterday and I used rng function then I saw the variables converged and my problem was solved.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by