GACrossoverStrategy.java 604 B

12345678910111213141516171819202122232425262728293031
  1. package algorithms.geneticAlgorithm.Components;
  2. import java.util.ArrayList;
  3. import java.util.Random;
  4. public abstract class GACrossoverStrategy<I extends GAIndividual> {
  5. protected double crossProb;
  6. protected Random rng;
  7. public GACrossoverStrategy(double prob){
  8. crossProb = prob;
  9. rng = new Random();
  10. }
  11. public GACrossoverStrategy(){
  12. crossProb = 0.7;
  13. rng = new Random();
  14. }
  15. public abstract ArrayList<I> crossOver(ArrayList<I> parents);
  16. public void setCrossoverProbability(double prob){
  17. crossProb = prob;
  18. }
  19. public double getCrossoverProbability(){
  20. return crossProb;
  21. }
  22. }