4 variables problem optimization with Genetic Algorithm

3 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

Alan Weiss
Alan Weiss am 11 Mai 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 Kommentare
Alan Weiss
Alan Weiss am 13 Mai 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 am 14 Mai 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by