Algorithm-Knapsack
view release on metacpan or search on metacpan
my @weights = (14, 5, 2, 11, 3, 8);
my $knapsack = Algorithm::Knapsack->new(capacity => 30, weights => \@weights);
ok(defined($knapsack) && ref($knapsack) eq 'Algorithm::Knapsack',
'new() works');
$knapsack->compute();
my @solutions = $knapsack->solutions();
ok($#solutions == 2, 'found 3 solutions');
ok(join(',', @{ $solutions[0] }) eq '0,1,3', 'first solution is correct');
ok(join(',', @{ $solutions[1] }) eq '0,1,4,5', 'second solution is correct');
ok(join(',', @{ $solutions[2] }) eq '0,2,3,4', 'third solution is correct');
ok($knapsack->{emptiness} == 0, 'emptiness is 0');
( run in 1.081 second using v1.01-cache-2.11-cpan-39bf76dae61 )