Option to define 'number of Pareto solutions' when using gamultiobj?

2 visualizaciones (últimos 30 días)
Hyun-Joong
Hyun-Joong el 4 de Nov. de 2014
Respondida: arushi el 29 de Ag. de 2024
I'm trying to solve a multi-objective optimization problem using the gamultiobj function.
I have a short question.
Is there there any method to control the number of Pareto solutions, which are the output of the optimization?
One funny thing is, I solve the same problem with same option (default) using two different computers, for which different version of Matlabs have been installed (2012a and 2014a).
And I found that the number of Pareto fronts were different each other.
I understand that the solutions may (or should) not equal, because of randomness of moga.
But I think that the number of pareto solutions can be determined by user before the optimization.
In short, please let me know if there is any options to control number of solutions.
Else, is there anyone who can explain that why the number of solutions are different when using different version of matlab?
  1 comentario
dralp
dralp el 18 de Nov. de 2020
Hello, did you find the answer to your question? I have the same issue, and I feel it is right in front of my eyes somewhere. Morelikely to do with "optimoptions" settings.

Iniciar sesión para comentar.

Respuestas (1)

arushi
arushi el 29 de Ag. de 2024
Hi Hyun,
The `gamultiobj` function in MATLAB is used for multi-objective optimization using a genetic algorithm. The number of Pareto-optimal solutions (or Pareto front size) that you get as output can indeed vary between runs due to the stochastic nature of genetic algorithms. However, there are some ways to influence the number of solutions:
Controlling the Number of Pareto Solutions
1. Population Size:
- The population size in genetic algorithms directly influences the diversity of solutions. A larger population size can result in more Pareto solutions.
2. Generations:
- Increasing the number of generations can give the algorithm more time to explore the solution space, potentially resulting in a more refined Pareto front.
3. ParetoFraction:
- The `ParetoFraction` option controls the fraction of the population that is kept on the Pareto front. Increasing this fraction can increase the number of solutions.
4. Crossover and Mutation:
- Adjusting the crossover and mutation rates can also influence the diversity of solutions. Higher mutation rates can introduce more diversity, potentially affecting the number of Pareto solutions.
Recommendations
- Set a Random Seed:To ensure reproducibility across different runs and versions, you can set a random seed using `rng`.
- Experiment with Options: Adjust the `PopulationSize`, `Generations`, and `ParetoFraction` to find a balance that provides a satisfactory number of solutions for your specific problem.
- Version Consistency: If consistency across different machines is critical, consider using the same MATLAB version on both machines or explicitly setting options to minimize differences.
Hope this helps.

Categorías

Más información sobre Multiobjective Optimization en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by