Closed HeuristicLab-Trac-Bot closed 13 years ago
CrowdedComparisonSorter.cs
(2.8 KiB)CrowdedComparisonSorter.cs
CrowdingDistanceAssignment.cs
(4.0 KiB)CrowdingDistanceAssignment.cs
FastNonDominatedSort.cs
(4.7 KiB)Attached HL version 3.2 implementation of NSGA-II specific operators.
- Ported
CrowdingDistanceAssignment
operator- Added parameters to the alg and the main loop
- main loop behavior is copied from the GA
- Ported the other two operators (
FastNonDominatedSort
andCrowdedComparisonSorter
)
- Added first possibly working NSGA-II
- Added Maximization parameter to
IMultiObjectiveProblem
andIMultiObjectiveSelector
- Added maximization parameter in constructor of
CrowdedTournamentSelector
- Added a very very basic analyzer for listing the qualities on the pareto front
The NSGA-II has been implemented with a basic analyzer and has been tested briefly. I'll reassign this ticket to gkronber for testing, code review and refactoring suggestions.
A quick note on the
CrowdedTournamentSelector
: I looked it up and it is described in the original paper. The paper states that a standard binary tournament selector was used but with the new partial ordering defined on rank and crowding distance comparison. This is the intended behavior of the implemented selector. However it is more general and allows group sizes of more than 2 individuals.
Added storable attribute to CrowdedTournamentSelector with r4165.
NSGA-II should be exported to a feature branch meanwhile it is made release ready.
- Added SelectedParents parameter to define the size of the offspring population
- swinkler added the missing PreBuildEvent.cmd file in the branch
- Updated BasicMultiObjectiveQualityAnalyzer to add the scopes of the pareto front as a result object
Replying to [comment:27 vdorfer]:
r4902: adapted NSGAII to new cloning implementation
I looked through the changes. Thx!
- Merged NSGA-II into trunk
- Ranking and crowding operators moved to HeuristicLab.Optimization.Operators
CrowdedTournamentSelector
moved to HeuristicLab.Selection- Pareto front analyzer moved to HeuristicLab.Analysis with a base class should there be more (as discussed with swagner and mkommend)
r5148 (not migrated)
- Removed NSGA-II branch
Reviewed NSGA-II operators in
HeuristicLab.Analysis.MultiObjective
,HeuristicLab.Optimization.Operators.MultiObjective
andHeuristicLab.Selection
and fixed minor issues with r5438.
Tested NSGA-II algorithm with different parameter settings and the multi objective symbolic regression problem.
The implementation of operators is clean and especially easy to read, really nice work!
r5439: Not directly related to NSGA-II implementation but not worth a separate ticket... Made minor improvements in multi-objective symbolic regression problem to make it work better with NSGA-II.
Issue migrated from trac ticket # 1040
milestone: HeuristicLab 3.3.3 | component: Algorithms.NSGA2 | priority: high | resolution: done
2010-06-16 23:24:35: @abeham created the issue