#291 closed enhancement (done)
SimOpt Redesign
Reported by: | abeham | Owned by: | abeham |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.0 |
Component: | ZZZ OBSOLETE: SimOpt | Version: | 3.2 |
Keywords: | Cc: |
Description (last modified by abeham)
Currently some things in the Simulation Optimization plugin are not solved elegantly. One problem is that manipulation operators work on the parameter vector directly. They're applied by the SimOptSequentialSubOperatorsProcessor which configures the manipulation operators, initializes the parameter vector if necessary and checks if constraints are violated. The same with SimOptSequentialSubOperatorsCrossover. Naturally this requires special manipulation operators for all the datatypes, sometimes just "reimplementing the wheel".
There are two goals with this ticket:
- Redesign the way manipulation and crossover works such that each parameter can be modified by an already exisiting operator for the representation of that parameter.
- Simplify the application of simulation-based optimization
SimOptParameterExtractor and SimOptParameterPacker are changed to extract the parameters in a subscope of their own and update or recreate the parameter vector with the parameters from the subscope. Currently they all operate directly on the parameter vector. This change allows the application of manipulation operators for each parameter type separately, as the parameter now sits in a scope of its own. Crossover is a bit more complicated and one additional operator that prepares the scope structure for ordinary crossover operators is required.
To simplify the application both manipulation and crossover will be encapsulated as much as possible in the existing operators: SimOptSequentialSubOperatorProcessor and SimOptSequentialSubOperatorCrossover. They're to be "parametrized" by suboperators for each parameter which they're supposed to manipulate or cross.
Constraint checking will be done in the redesigned ParameterPacker which calls a suboperator when constraint violations occur. The user can do whatever he wants when this occurs.
Change History (6)
comment:1 Changed 16 years ago by abeham
- Description modified (diff)
- Status changed from new to assigned
comment:2 Changed 16 years ago by abeham
- Description modified (diff)
comment:3 Changed 16 years ago by abeham
- Resolution set to fixed
- Status changed from assigned to closed
comment:4 Changed 16 years ago by swagner
- Milestone changed from 3.2 to Iteration 0
Milestone 3.2 deleted
comment:5 Changed 14 years ago by swagner
- Milestone changed from Iteration 0 to Current
Milestone Iteration 0 deleted
comment:11 Changed 14 years ago by swagner
- Milestone changed from Current to HeuristicLab 3.3.0
Milestone Current deleted
done in r637