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<log> 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