|Reported by:||pfleck||Owned by:||abeham|
The ILocalImprovementOperator specifies a ProblemType and stores a Problem which is required by the LocalSearchImprovementOperator and SimulatedAnnealingImprovementOperator. Other LocalImprovementOperators, like the QAPExhaustiveSwap2LocalImprovement and the AlbaLambdaInterchangeLocalImprovementOperator, does not require this parameter.
In addition, storing the problem in the ILocalImprovementOperator causes a cycle when the operator is added to the problems OperatorCollection which causes problems when cloning the OperatorCollection.
To avoid this cycle and get rid of the unused parameter, the interface need to be split into a simple operator which does not specify the Problem and ProblemType and an operator which represents an operator graph/algorithm which requires the Problem and ProblemType.
Change History (6)
comment:4 Changed 3 years ago by pfleck
- Owner changed from pfleck to abeham
- Status changed from accepted to reviewing