12345678910111213141516171819202122232425262728293031323334353637383940 |
- package algorithms.geneticAlgorithm.holegGA.Components;
- import java.util.ArrayList;
- import algorithms.geneticAlgorithm.Components.GACrossoverStrategy;
- import algorithms.geneticAlgorithm.Components.GAFittnessFunctionStrategy;
- import algorithms.geneticAlgorithm.Components.GAIndividual;
- import algorithms.geneticAlgorithm.Components.GAMutationStrategy;
- import algorithms.geneticAlgorithm.Components.GASelectionStrategy;
- public class AlgoRunnable implements Runnable {
- GASelectionStrategy selection;
- GACrossoverStrategy crossover;
- GAMutationStrategy mutation;
- GAFittnessFunctionStrategy fittness;
- ArrayList<GAIndividual> individuals;
- ArrayList<GAIndividual> nextGen;
-
- public AlgoRunnable(GASelectionStrategy selection, GACrossoverStrategy crossover,
- GAMutationStrategy mutation, GAFittnessFunctionStrategy fittness, ArrayList<GAIndividual> individuals, ArrayList<GAIndividual> nextGen){
- this.selection = selection;
- this.crossover = crossover;
- this.mutation = mutation;
- this.fittness = fittness;
- this.individuals = individuals;
- this.nextGen = nextGen;
-
- }
- @Override
- public void run() {
- individuals = crossover.crossOver(individuals);
- for(GAIndividual individual : individuals){
- individual = mutation.mutateIndividual(individual);
- fittness.calculateFittness(individual);
- }
- nextGen.addAll(individuals);
- }
- }
|