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

15 views (last 30 days)
Thushara De Silva on 9 Jan 2020
Commented: Thushara De Silva on 11 May 2020 at 11:58
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.

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

Thushara De Silva on 11 May 2020 at 1:36
I was able to save the population and Pareto front from history. There are several several graphical option in gamultiobj iterations. Can I save the the records such as distance, spread, FunEval? In addition, how do you I set the random seed in gamultiobj ?
Alan Weiss on 11 May 2020 at 9:07
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.
Alan Weiss
MATLAB mathematical toolbox documentation
Thushara De Silva on 11 May 2020 at 11:58
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?