Kwalitee Issues

has_meta_yml

Add a META.yml to the distribution. Your buildtool should be able to autogenerate it.

use_strict

Add 'use strict' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.

Error: Algorithm::Evolutionary

prereq_matches_use

List all used modules in META.yml requires

Error:

  • Math::Random
  • Tree::DAG_Node
  • XML::Simple

no_pod_errors

Remove the POD errors. You can check for POD errors automatically by including Test::Pod to your test suite.

Error: Algorithm-Evolutionary-0.5/Evolutionary.pm -- Around line 46: Non-ASCII character seen before =encoding in 'García,'. Assuming CP1252 Algorithm-Evolutionary-0.5/Individual/String.pm -- Around line 28: Non-ASCII character seen before =encoding in 'ñ);'. Assuming CP1252 Algorithm-Evolutionary-0.5/Op/CX.pm -- Around line 38: alternative text 'http://www.cs.bham.ac.uk/~rmp/slide_book/node4.html#SECTION00444300000000000000' contains non-escaped | or / Algorithm-Evolutionary-0.5/Op/Inverover.pm -- Around line 33: alternative text 'http://www.dcs.napier.ac.uk/coil/news/feature48.html' contains non-escaped | or / alternative text 'http://www.coe.uncc.edu/~zbyszek/papers.html' contains non-escaped | or / Algorithm-Evolutionary-0.5/Op/LinearFreezer.pm -- Around line 14: L<> starts or ends with whitespace Algorithm-Evolutionary-0.5/Op/NoChangeTerm.pm -- Around line 28: Unknown directive: =head Algorithm-Evolutionary-0.5/Op/RouletteWheel.pm -- Around line 20: alternative text 'http://www.geatbx.com/docu/algselct.html#nameselectionrws' contains non-escaped | or /

has_meta_json

Add a META.json to the distribution. Your buildtool should be able to autogenerate it.

proper_libs

Move your *.pm files in a directory named 'lib'. The directory structure should look like 'lib/Your/Module.pm' for a module named 'Your::Module'. If you need to provide additional files, e.g. for testing, that should not be considered for Kwalitee, then you should look at the 'provides' map in META.yml to limit the files scanned; or use the 'no_index' map to exclude parts of the distribution.

Error: Evolutionary.pm, Experiment.pm, Individual/Base.pm, Individual/BitString.pm, Individual/String.pm, Individual/Tree.pm, Op/ArithCrossover.pm, Op/Base.pm, Op/Bitflip.pm, Op/CX.pm, Op/ChangeLengthMutation.pm, Op/Crossover.pm, Op/DeltaTerm.pm, Op/Easy.pm, Op/GaussianMutation.pm, Op/GeneralGeneration.pm, Op/GenerationalTerm.pm, Op/IncMutation.pm, Op/Inverover.pm, Op/LinearFreezer.pm, Op/Mutation.pm, Op/NoChangeTerm.pm, Op/RouletteWheel.pm, Op/TournamentSelect.pm, Op/TreeMutation.pm, Op/VectorCrossover.pm

meta_yml_has_license

Define the license if you are using in Build.PL. If you are using MakeMaker (Makefile.PL) you should upgrade to ExtUtils::MakeMaker version 6.31.

use_warnings

Add 'use warnings' (or its equivalents) to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules warn when something bad happens.

Error: Algorithm::Evolutionary

test_prereq_matches_use

List all modules used in the test suite in META.yml test_requires

Error:

  • XML::Simple

consistent_version

Split the distribution, or fix the version numbers to make them consistent (use the highest version number to avoid version downgrade).

Error: 0.5,1,1.2,1.3,1.4,1.6,1.7

has_separate_license_file

This is not a critical issue. Currently mainly informative for the CPANTS authors. It might be removed later.

has_security_doc

Add SECURITY(.pod|md). See Software::Security::Policy.

security_doc_contains_contact

Add SECURITY(.pod|md) and add a contact address. See Software::Security::Policy.

has_contributing_doc

Add CONTRIBUTING(.pod|md). See https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors.

Modules

Name Abstract Version View
Algorithm::Evolutionary Perl extension for performing paradigm-free evolutionary algorithms. 0.5 metacpan
Algorithm::Evolutionary::Experiment Class for setting up an experiment 1 metacpan
Algorithm::Evolutionary::Individual::Base Base class for chromosomes that knows how to build them, and has some helper methods. 1.7 metacpan
Algorithm::Evolutionary::Individual::BitString Classic bitstring individual for evolutionary computation; usually called I<chromosome> 1.6 metacpan
Algorithm::Evolutionary::Individual::String A character string to be evolved. Useful mainly in word games 1.4 metacpan
Algorithm::Evolutionary::Individual::Tree 1.4 metacpan
Algorithm::Evolutionary::Op::ArithCrossover Arithmetic crossover operator; performs the average of the n parents crossed 1.2 metacpan
Algorithm::Evolutionary::Op::Base Base class for OPEAL operators; operators are any object with the "apply" method, which does things to individuals or populations. 1 metacpan
Algorithm::Evolutionary::Op::Bitflip BitFlip mutation 1.2 metacpan
Algorithm::Evolutionary::Op::CX 1.2 metacpan
Algorithm::Evolutionary::Op::ChangeLengthMutation Increases/decreases by one the length of the string 1.3 metacpan
Algorithm::Evolutionary::Op::Crossover n-point crossover operator; puts a part of the second operand into the first operand; can be 1 or 2 points 1.4 metacpan
Algorithm::Evolutionary::Op::DeltaTerm Termination condition for an algorithm; checks that the difference of the best to a target is less than a delta 1 metacpan
Algorithm::Evolutionary::Op::Easy evolutionary algorithm, single generation, with variable operators. 1 metacpan
Algorithm::Evolutionary::Op::GaussianMutation Changes numeric chromosome components following the gaussian distribution 1.2 metacpan
Algorithm::Evolutionary::Op::GeneralGeneration Customizable single generation for an evolutionary algorithm. 1 metacpan
Algorithm::Evolutionary::Op::GenerationalTerm Checks for termination of an algorithm. 1 metacpan
Algorithm::Evolutionary::Op::IncMutation Increments/decrements by one the value of one of the components of the string, takes into account the char class 1.2 metacpan
Algorithm::Evolutionary::Op::Inverover Michalewicz\'s inver-over Operator. 1.3 metacpan
Algorithm::Evolutionary::Op::LinearFreezer used by Simulated Annealing algorithms 1.2 metacpan
Algorithm::Evolutionary::Op::Mutation BitFlip mutation, changes several bits in a bitstring, depending on the probability 1.3 metacpan
Algorithm::Evolutionary::Op::NoChangeTerm Checks for termination of an algorithm; terminates when several generations transcur without change 1 metacpan
Algorithm::Evolutionary::Op::RouletteWheel Fitness-proportional selection, using a roulette wheel 1 metacpan
Algorithm::Evolutionary::Op::TournamentSelect Tournament selector, takes individuals from one population and puts them into another 1 metacpan
Algorithm::Evolutionary::Op::TreeMutation 1.2 metacpan
Algorithm::Evolutionary::Op::VectorCrossover 1.4 metacpan

Other Files

Changes metacpan
MANIFEST metacpan
Makefile.PL metacpan
README metacpan