feat(moeo): add real-valued multi-objective local search#87
Open
evvaletov wants to merge 5 commits into
Open
Conversation
Owner
|
Seems very interesting! I'll review that on a cleaned history. |
moRealVectorNeighbor: neighbor type for real-valued vector solutions with delta-based forward/backward moves via moBackableNeighbor.
7c6f45c to
53a1af8
Compare
Author
added 4 commits
April 11, 2026 20:49
- Fix copyright: single mention with correct author and year - Update website/contact URLs to current GitHub locations - Add blank line after Doxygen summary line
Add virtual finalize() and hasFinalize() to moeoAlgo/moeoPopAlgo hierarchy. NSGA-II implements finalize() to recompute fitness and diversity assignments after population modifications (e.g. immigrant integration in island model).
Replace the hasFinalize()/finalize() pattern with a moeoAlgoFinalized<MOEOT> abstract interface. Algorithms opt in by inheriting from it. Consumers check at compile time via std::is_base_of_v instead of a runtime bool.
moeoBestUnvisitedSelect: selects unvisited individuals with optional Pareto-dominance exclusion filtering. RealVectorNeighborhoodExplorer: generates random perturbation directions with geometric scaling along improving directions. Supports per-dimension epsilon and minimum scaling factors. moeoUnifiedDominanceBasedLSReal: archive-based dominance local search for real-valued multi-objective problems.
53a1af8 to
d35fe3d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add local search components for real-valued multi-objective optimisation,
enabling hybrid evolutionary + local search strategies.
moeo/src/selection/moeoBestUnvisitedSelect.h— selection operatorthat picks unvisited individuals, with optional Pareto-dominance exclusion
filtering.
moeo/src/explorer/moeoRealVectorNeighborhoodExplorer.h— neighborhoodexplorer for continuous decision spaces with geometric scaling along
improving directions.
moeo/src/algo/moeoUnifiedDominanceBasedLS_Real.h— archive-baseddominance local search algorithm combining the above components.
moeo/src/moeo— includes for the three new headers.Dependencies
moRealVectorNeighborused by the neighborhood explorerfinalize()lifecycle hookOnce those are merged, this branch can be rebased to drop the dependency
commits.