Option to define 'number of Pareto solutions' when using gamultiobj?
조회 수: 2 (최근 30일)
이전 댓글 표시
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
dralp
2020년 11월 18일
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.
답변 (1개)
arushi
2024년 8월 29일
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.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Multiobjective Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!