jenes.tutorials.problem6
Class KnapsackGA

java.lang.Object
  extended by jenes.GeneticAlgorithm<BooleanChromosome>
      extended by jenes.tutorials.problem6.KnapsackGA

public class KnapsackGA
extends GeneticAlgorithm<BooleanChromosome>

Tutorial showing how to minimization and maximization sub-prolems can cohesists in the breeding structure of Jenes. This class implements a genetic algorithm for solving the Knapsack problem.

Since:
1.0
Version:
1.0
Author:
Luigi Troiano, Pierpaolo Lombardi

Nested Class Summary
 
Nested classes/interfaces inherited from class jenes.GeneticAlgorithm
GeneticAlgorithm.ElitismStrategy, GeneticAlgorithm.ResizeStrategy, GeneticAlgorithm.Statistics
 
Field Summary
 
Fields inherited from class jenes.GeneticAlgorithm
algorithmListeners, body, DEFAULT_GENERATION_LIMIT, DEFAULT_HISTORY_SIZE, elitism, elitismStrategy, fullEvaluationForced, generation, generationLimit, generationListeners, initialPopulation, MAX_HISTORY_SIZE, MIN_HISTORY_SIZE, random, randomization, resizeStrategy, statistics
 
Constructor Summary
KnapsackGA(int popsize, int generations, double[] utilities, double[] weights)
           
 
Method Summary
 void evaluateIndividual(Individual<BooleanChromosome> individual)
          Evaluates a single individual.
 double getCapacity()
           
 double getUtilityOf(Individual<BooleanChromosome> individual)
           
 double getWeightOf(Individual<BooleanChromosome> individual)
           
 void setCapacity(double capacity)
           
 
Methods inherited from class jenes.GeneticAlgorithm
addAlgorithmEventListener, addGenerationEventListener, addStage, applyElitism, end, evaluatePopulation, evaluatePopulation, evolve, evolve, evolve, getBody, getCurrentPopulation, getElitism, getElitismStrategy, getGeneration, getGenerationLimit, getHistoryAt, getHistorySize, getInitialPopulation, getNextPopulation, getRandomization, getResizeStrategy, getStatistics, isBiggerBetter, isFullEvaluationForced, onGeneration, onInit, onStart, onStop, randomizeIndividual, randomizePopulation, removeAlgorithmEventListener, removeGenerationEventListener, setBiggerIsBetter, setElitism, setElitismStrategy, setFullEvaluationForced, setGenerationLimit, setHistorySize, setRandomization, setRandomization, setResizeStrategy, start, stop, toString, updateStatistics
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

KnapsackGA

public KnapsackGA(int popsize,
                  int generations,
                  double[] utilities,
                  double[] weights)
Method Detail

getCapacity

public double getCapacity()

setCapacity

public void setCapacity(double capacity)

getUtilityOf

public double getUtilityOf(Individual<BooleanChromosome> individual)

getWeightOf

public double getWeightOf(Individual<BooleanChromosome> individual)

evaluateIndividual

public void evaluateIndividual(Individual<BooleanChromosome> individual)
Description copied from class: GeneticAlgorithm
Evaluates a single individual. This evaluation of individuals is specifically related to the problem to solve, thus it is an abstract method requiring an implementation by the sublass.

Specified by:
evaluateIndividual in class GeneticAlgorithm<BooleanChromosome>
Parameters:
individual - the individual to be evaluated