AI-ParticleSwarmOptimization-Pmap

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

1.007 Mon, 09 Jan 2023 22:08:55 +0100
	- First release with Dist::Zilla.

1.006 Thu, 05 Jan 2023 11:16:26 +0100
	- Fix: MANIFEST

1.005 Mon, 17 Oct 2022 18:51:37 +0200
	- Fix in a range of randomness. Thanks to Mario Roy :-)

1.004 Sun, 16 Oct 2022 16:19:22 +0200
	- Fix of testing set.

1.003 Sun, 16 Oct 2022 16:13:19 +0200
	- Fix of testing set.

1.002 Fri, 07 Oct 2022 18:19:01 +0200
	- Fix of version number.

1.001 Fri, 07 Oct 2022 14:12:56 +0200
	- Fix in a POD.

1.000 Fri, 07 Oct 2022 10:33:30 +0200
	- First release.

LICENSE  view on Meta::CPAN

     sections when you distribute them as separate
     works. But when you distribute the same
     sections as part of a whole which is a work
     based on the Library, the distribution of the
     whole must be on the terms of this License,
     whose permissions for other licensees extend
     to the entire whole, and thus to each and every
     part regardless of who wrote it.

     Thus, it is not the intent of this section to claim
     rights or contest your rights to work written
     entirely by you; rather, the intent is to exercise
     the right to control the distribution of derivative
     or collective works based on the Library.

     In addition, mere aggregation of another work
     not based on the Library with the Library (or
     with a work based on the Library) on a volume
     of a storage or distribution medium does not
     bring the other work under the scope of this
     License.

LICENSE  view on Meta::CPAN

indirectly through you, then the only way you could satisfy
both it and this License would be to refrain entirely from
distribution of the Library.

If any portion of this section is held invalid or unenforceable
under any particular circumstance, the balance of the
section is intended to apply, and the section as a whole is
intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe
any patents or other property right claims or to contest
validity of any such claims; this section has the sole purpose
of protecting the integrity of the free software distribution
system which is implemented by public license practices.
Many people have made generous contributions to the wide
range of software distributed through that system in reliance
on consistent application of that system; it is up to the
author/donor to decide if he or she is willing to distribute
software through any other system and a licensee cannot
impose that choice.

Makefile.PL  view on Meta::CPAN

  },
  "DISTNAME" => "AI-ParticleSwarmOptimization-Pmap",
  "LICENSE" => "lgpl",
  "NAME" => "AI::ParticleSwarmOptimization::Pmap",
  "PREREQ_PM" => {
    "AI::ParticleSwarmOptimization" => "1.006",
    "List::Util" => 0,
    "Parallel::parallel_map" => "0.02"
  },
  "VERSION" => "1.008",
  "test" => {
    "TESTS" => "t/*.t"
  }
);


my %FallbackPrereqs = (
  "AI::ParticleSwarmOptimization" => "1.006",
  "List::Util" => 0,
  "Parallel::parallel_map" => "0.02"
);

README  view on Meta::CPAN


      -posMin: number, optional

	Minimum coordinate value for any dimension in the hyper space.
	Defaults to --posMax (if -posMax is negative -posMin should be set
	more negative).

      -randSeed: number, optional

	Seed for the random number generator. Useful if you want to rerun
	an optimization, perhaps for benchmarking or test purposes.

      -randStartVelocity: boolean, optional

	Set true to initialize particles with a random velocity. Otherwise
	particle velocity is set to 0 on initalization.

	A range based on 1/100th of --posMax - -posMin is used for the
	initial speed in each dimension of the velocity vector if a random
	start velocity is used.

lib/AI/ParticleSwarmOptimization/Pmap.pm  view on Meta::CPAN

Maximum coordinate value for any dimension in the hyper space. Defaults to 100.

=item I<-posMin>: number, optional

Minimum coordinate value for any dimension in the hyper space. Defaults to
-I<-posMax> (if I<-posMax> is negative I<-posMin> should be set more negative).

=item I<-randSeed>: number, optional

Seed for the random number generator. Useful if you want to rerun an
optimization, perhaps for benchmarking or test purposes.

=item I<-randStartVelocity>: boolean, optional

Set true to initialize particles with a random velocity. Otherwise particle
velocity is set to 0 on initalization.

A range based on 1/100th of -I<-posMax> - I<-posMin> is used for the initial
speed in each dimension of the velocity vector if a random start velocity is
used.

t/01_pso_multi.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;
use Test::More;
use lib '../lib';    # For development testing
use AI::ParticleSwarmOptimization::Pmap;

=head1 NAME

AI::ParticleSwarmOptimization::Pmap test suite

=head1 DESCRIPTION

Test AI::ParticleSwarmOptimization::Pmap

=cut

plan (tests => 1);

# Calculation tests.
my $pso = AI::ParticleSwarmOptimization::Pmap->new (
    -fitFunc        => \&calcFit,
    -dimensions     => 10,
    -iterations     => 10,
    -numParticles   => 1000,

    # only for many-core version # the best if == $#cores of your system
    # selecting best value if undefined
    -workers        => 4,
);



( run in 1.196 second using v1.01-cache-2.11-cpan-87723dcf8b7 )