HolegFittnessScenario.java 939 B

1234567891011121314151617181920212223242526272829303132333435
  1. package algorithms.geneticAlgorithm.holegGA.Components;
  2. import ui.controller.Control;
  3. import ui.controller.SimulationManager;
  4. import ui.model.Model;
  5. import algorithms.geneticAlgorithm.Components.GAFittnessFunctionStrategy;
  6. public class HolegFittnessScenario implements GAFittnessFunctionStrategy<HolegIndividual>{
  7. HolegFittnessFkt singleFkt;
  8. Control controller;
  9. Model model;
  10. SimulationManager simManager;
  11. public HolegFittnessScenario(Control controller) {
  12. singleFkt = new HolegFittnessFkt(controller);
  13. model = singleFkt.getModel();
  14. }
  15. @Override
  16. public double calculateFittness(HolegIndividual candidate) {
  17. double fittness = 0;
  18. for(int i = 0; i < 100; i++){
  19. model.setCurIteration(i);
  20. fittness += singleFkt.calculateFittness(candidate);
  21. }
  22. fittness = (int)fittness;
  23. fittness = fittness * 0.01;
  24. candidate.setFittness(fittness);
  25. candidate.addLogEntry("Fittness: " + fittness);
  26. return fittness;
  27. }
  28. }