Opened 2 years ago
Last modified 15 months ago
#2987 accepted feature request
Implement MOEA/D algorithm in HeuristicLab
Reported by: | bburlacu | Owned by: | bburlacu |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.x Backlog |
Component: | Algorithms.DataAnalysis | Version: | branch |
Keywords: | Cc: |
Description
The MOEA/D algorithm is a capable metaheuristic for multi-objective optimization. It would be nice to have it in HeuristicLab.
Publication
MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition
Features for HeuristicLab Implementation
- should work with any encoding
- extends BasicAlgorithm, supports Pause
- can use existing operators and analyzers out of the box
- can be extended to implement different flavours (MOEA/D-DRA, MOEA/D-STM, etc.)
Change History (9)
comment:1 Changed 2 years ago by bburlacu
- Status changed from new to accepted
- Type changed from defect to feature request
comment:2 Changed 2 years ago by bburlacu
comment:3 Changed 2 years ago by bburlacu
comment:4 Changed 2 years ago by bburlacu
r16630: Migrate to new persistence. Add support for objective scaling.
comment:5 Changed 2 years ago by bburlacu
- Prevent updating the Ideal and Nadir points with NaN or Infinity values.
- Simplify algorithm code (use arrays instead of lists).
- Add missing StorableType attributes.
- Add hypervolume analysis for the pareto fronts.
comment:6 Changed 2 years ago by bburlacu
r16657: Improve performance by caching parameter values. Fix plugin dependencies in Plugin.cs.frame
comment:7 Changed 2 years ago by bburlacu
r16688: Eliminate unnecessary cloning. Update to HEAL.Attic-pre4, fix AssemblyTitle
comment:8 Changed 2 years ago by bburlacu
r16714: Reference HEAL.Attic dll from HL bin folder and add HeuristicLab.Attic to plugin dependencies.
comment:9 Changed 15 months ago by kyang
EMOA/D may stuck in a specific region (objective space) without any updates:
- DTLZ3: Only explore the region within $f_2 \in (0,0.1)$
- DTLZ7: Only explore the region within $f_2 \in (0,0.8)$
r16557: Branch HeuristicLab.Algorithms.DataAnalysis and add initial implementation adapted from jMetal.
r16560: Create separate plugin for MOEA/D
r16561: Store the population as a List, so it can be cleared when the algorithm is finished in order to save memory. Unversion generated files (Plugin.cs and AssemblyInfo.cs)
TODO
support all encodings (currently only Symbolic Expressions)proper wiring (+ handle all events)