Revision history for PDL-Opt-Simplex-Simple 2.004 2024-12-10T10:20:47-08:00 - Updated ParticleSwarm.pm: * Modified _initParticles to scale random velocity * Updated documentation for -randStartVelocity parameter * Added comment to _randInRangePDL function - Updated Simplex/Simple.pm: * Improved comments in _build_enabled_var_list function * Minor formatting fix in _clamp_minmax function - add PDL::Opt::Simplex dependency, closes #5 2.003 2024-07-21T15:49:34-07:00 - bugfix: work-around NaNs that may arise in ::Simplex::Core. this bugfix is slightly different from the previous one, both are needed. 2.002 2024-07-20T19:09:36-07:00 - bugfix: work-around NaNs that may arise in Particle Swarm 2.001 2024-04-20T22:02:43-07:00 - bugfix: add workers as a valid option - add parallel worker test 2.0 2024-04-20T21:33:12-07:00 - Add support for parallel Simplex and ParticleSwarm workers - Catch SIGINT to provide the best values so far, and then return as if the simulation finished (without crashing). - ParticleSwarm: Pre-seed "best" values if initialGuess is provided - Simplex: move tolerance to simplex opts - bugfix: Only clamp or round variables if the variables are enabled - bugfix: Fix an undef dereference of best_minima 1.8 2023-08-16T19:18:42-07:00 - Implement the PDL::Opt::ParticleSwarm optimization algorithm to optimize PDL's. The function and log callback calling convention is intentionally similar PDL::Opt::Simplex. Code written to optimize using Simplex can be trivially converted to optimize with Particle Swarm. - Implement PDL::Opt::ParticleSwarm::Simple as a subclass of PDL::Opt::Simplex::Simple. Again, the calling convention for log and function callbacks is very similar, only the optimization-specific options differ. - PDL::Opt::Simplex::Simple: do a better job clamping min/max values during optimization so the Simplex algorithm doesn't try to work out of bounds. - PDL::Opt::Simplex::Simple: fixed a major perturb_scale bug - Lots of POD updates, now we achieve 100% POD coverage - Added many more tests - Auto-sort MANIFEST as suggested by @mohawk2 - Fixup t/{pod-coverage.t,pod.t,manifest.t} to pass RELEASE_TESTING=1 1.7 2022-11-15T19:12:30-08:00 - Reverted fix from 1.6 and increased PDL version requirement to 2.56 per @mohawk. 1.6 2022-11-13T22:37:33-08:00 - Hopefully fixed ->sclr regression reported by some testers. 1.5 2022-11-10T18:46:56-08:00 - Added option to reduce simplex search space (reduce_search) - Fixed min/max clipping bug when handling PDL-valued variables - Updated C hash. Added {best_minima} and {best_vars}. - Fixed {minima}, which is now the same as {best_minima} for backwards compatiblity because {minima} was invalid. 1.4 2022-06-18T18:37:08-07:00 - Updated documentation, usecase examples and links. - Fixed version regression, cpan saw 1.3.1 as 1.003001 but - previous versions were seen as 1.3 so 1.003 looked smaller. oops. 1.3.1 2022-06-18T17:39:57-07:00 - Fixed srand handling, added git repo info 1.3 2022-06-17T18:21:05-07:00 - Use die to cancel if simplex is not making progress. 1.2 2022-06-14T17:33:09-07:00 - Flagged PDL srand issue 1.1 2022-06-10T14:02:46-07:00 - First public release, released on an unsuspecting world. This release - has lots of great documentation. 1.0 2021-11-17T20:21:53-08:00 - Initial internal release