gamultiobj save the optimum value and population in each generation (iteration)

8 views (last 30 days)
I use gamultiobj to do a multiobjective optimization. It is possible to see the changes of parato front graphically in each iteration through the option setting. I can see the final pareto set, variable set and population of all the variables at the end of optimization. However, I want to save the population set and pareto solution set over each iteration over the optimization. In my problem I use population size 50 for 12 variables. Please help me on this.

Accepted Answer

Alan Weiss
Alan Weiss on 10 Jan 2020
You can use a custom output function, as in this example, to record the population and Pareto front. In the State Structure, the Pareto front is the set of individuals of rank 1, I believe.
Alan Weiss
MATLAB mathematical toolbox documentation
  3 Comments
Alan Weiss
Alan Weiss on 11 May 2020
Please look at the link to the State Structure in my previous answer. You will find that gamultiobj passes a state structure that has the information you are looking for to a plot function or output function. Use the plot function or output function to record whatever you want to variables in your workspace, as in the example in the link in my previous answer for recording the history.
As for setting an initial random seed, use rng.
If I have answered your questions, please Accept the answer.
Alan Weiss
MATLAB mathematical toolbox documentation
Thushara De Silva
Thushara De Silva on 11 May 2020
Assuming I will use Output Function as the example, can you please write the additional lines of codes to record the distance, FunEval, spread, and setting rng?

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!