Closed HeuristicLab-Trac-Bot closed 12 years ago
- Added PermutationView that allows to change the permutation type
- Updated AFA and PopDiv Analyzer
- Simplified QAP name to just the instance when loading from embedded resource
- Updated code to reflect what Eric Taillard's code does at http://mistic.heig-vd.ch/taillard/codes.dir/tabou_qap.cpp which is however not quite what is described in the paper. (there's a newer implementation also)
- Updated the swap2 move evaluator to perform move evaluations in O(1) for several cases by memorizing the move quality of the previous iteration
- Added a unit test to test the new faster evaluation
- Changed the robust taboo search to use this faster evaluation
- Renamed some operators (dropping the QAP pre- and postfix)
- Changed aspiration criterion after contacting Taillard
- added option to choose between old or new adaption scheme
r6632 (not migrated), r6634
- removed branch
- removed obsolete files
A few observations from short testing:
- in the permutations view: changing the type (label: 'Value') seemingly has no effect?
- the parameter
TerminateOnOptimalSolution
is unique to robust tabu search in HeuristicLab. I think the parameter should be set to false by default and should be hidden to have consistent behavior of all algorithms in HeuristicLab.- The visualization in the solution view is not updated when a new best solution is found. The chart is redrawn only after the algorithm has been paused or stopped.
- Text in the visualization view looks 'strange' (maybe an aliasing effect?)
- Btw. the visualization is pretty cool, thanks for implementing this!
- more thorough code review will follow soon
Thanks for your comment. Regarding the extra termination criterion: I found this quite useful while testing and experimenting with the RTS and actually want to have something like this in other algorithms as well (currently I have to convert every algorithm into a user defined algorithm). Maybe the parameter should not necessarily terminate on finding the optimal solution, but something like "terminate on solution quality" with the option to map this to BestKnownQuality. Pre-release we had talked about customizable termination criteria, but this topic has not been pursued since then.
A bug has been identified, most probably in the case when all moves are tabu
- Fixed permutation view and changed label
- Fixed problem in the RTS operator when all moves are tabu (the original code continues when all moves are tabu, so this is also the case here)
- Changed the Analyzer parameter type in RTS, a FixedValueParameter is not appropriate for operator parameters
- Clearing the graphics with white color solves the text rendering problem
The issues mentioned by gkronber have all been addressed.
ascheibe and me found out that the RTS and the NSGA-II are missing the Prepare override that prevents these algorithms from running with an empty problem. This still has to be fixed.
Issue migrated from trac ticket # 1541
milestone: HeuristicLab 3.3.6 | component: Problems.QuadraticAssignment | priority: medium | resolution: done
2011-05-31 11:41:50: @abeham created the issue