- Rename method and add comments to clarify use by @chrisbloom7 in #20
- Config Cleanup: remove logger config by @chrisbloom7 in #21
- Simply configuration and overrides by @chrisbloom7 in #22
- Idea: Add library of built-in functions by @chrisbloom7 in #23
- Removed the default state change function; you are now required to define a custom
state_changefunction for the simulation (#2) - Added support for specifying a custom
termination_conditionfunction to override the default condition of the temperature reaching 0 (#5) - Added support for specifying a custom
cool_downfunction to override the default linear cooling function (#9) - Normalized configurations options such that they can be specified in a consistent way across many interfaces (#19)
Annealing::Poolhas been replaced withAnnealing::Metalwhich has a different interface from the old classAnnealing.simulate,Annealing::Simulator.newandAnnealing::Simulator#runmethod signatures have changed to accommodate normalized configuration optionsAnnealing::Simulator.newno longer raisesRuntimeErrorexceptions if configuration options are invalid. Instead, they will be raised fromAnnealing::Simulator#runasArgumentErrorexceptions.- Negative
cooling_ratevalues are no longer valid;Annealing::Simulator#runwill raise an error if one is specified - Comprehensive test suite added
- Improve private methods
- Minor code cleanup
- It allows custom configuration
- It use distance method to calculate energy
- It allows user to implement their own total energy calculator