#577 closed enhancement (done)
Change SA model
Reported by: | abeham | Owned by: | abeham |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.0 |
Component: | ZZZ OBSOLETE: SA | Version: | 3.2 |
Keywords: | Cc: |
Description (last modified by abeham)
Making use of the ChildrenInitializer in the SA algorithm decreases the performance of the algorithm considerably. It is probably feasible to model the SA without it and change the fitness comparer to compare between parent branch and mutant branch.
Also the algorithm complexity would increase to a much higher degree than the felt complexity of SA.
Additionally the VariablesCopier can be removed then.
Change History (7)
comment:1 Changed 16 years ago by abeham
- Description modified (diff)
comment:2 Changed 16 years ago by abeham
- Status changed from new to assigned
comment:3 Changed 16 years ago by abeham
comment:4 Changed 15 years ago by abeham
fixed cross thread exception in r3282
comment:5 Changed 15 years ago by abeham
- Resolution set to fixed
- Status changed from assigned to closed
SA has been changed in 3.3, the move concept made a lot of things easier and Analyzers can be set to log after a certain interval.
comment:6 Changed 14 years ago by swagner
- Milestone changed from Iteration 4 to Current
Milestone Iteration 4 deleted
comment:11 Changed 14 years ago by swagner
- Milestone changed from Current to HeuristicLab 3.3.0
Milestone Current deleted
An updated model has been placed into the workbenches repository (rev 149). The concept of the inner loop at the same temperature has been dropped to see if this has a significant effect on the performance (tests pending). Such an inner loop can also be modeled by increasing the annealing parameter so that it would not cool so quickly. The downside of dropping the inner loop however is that the quality calculator in the main loop will collect a lot of values (as much as the size of MaximumIterations). Therefor the quality is logged only at certain intervals. A ModuloComparator (iteration % !logInterval == 0) is one way to solve this problem (in the model it is currently implemented as a ProgrammableOperator). If implemented, this operator would belong into HeuristicLab.Operators (separate ticket required)