1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- package algorithms.geneticAlgorithm.holegGA.Components;
- import java.util.ArrayList;
- public class HolegGeneration {
-
- ArrayList<HolegIndividual> generation;
- int genCount;
- String name;
- String log;
-
- public HolegGeneration(int genCount){
- this.genCount = genCount;
- generation = new ArrayList<HolegIndividual>();
- if(genCount >= 0){
- name = "Generation " + genCount;
- }else{
- name = "Original Network";
- }
- }
-
-
-
- public void setGeneration(ArrayList<HolegIndividual> generation){
- this.generation = generation;
- }
-
- public ArrayList<HolegIndividual> getGeneration(){
- return generation;
- }
-
- public int getGenCount(){
- return genCount;
- }
-
- @Override
- public String toString(){
- return name;
- }
-
- public String getInformation(){
- log = "";
- if(generation.size() > 0){
- addLogEntry("Avg Fittness: " + getAvgFittness());
- addLogEntry("Max Fittness: " + getMaxFittness());
- addLogEntry("Min Fittness: " + getMinFittness());
- }
- return log;
- }
-
- public double getAvgFittness(){
- double fittness = 0;
- for(HolegIndividual i : generation){
- fittness += i.getFittness();
- }
- return (fittness/generation.size());
- }
-
- public double getMinFittness(){
- double fittness = generation.get(0).getFittness();
- for(HolegIndividual i : generation){
- if(i.getFittness() < fittness){
- fittness = i.getFittness();
- }
- }
- return fittness;
- }
-
- public double getMaxFittness(){
- double fittness = generation.get(0).getFittness();
- for(HolegIndividual i : generation){
- if(i.getFittness() > fittness){
- fittness = i.getFittness();
- }
- }
- return fittness;
- }
-
- public void addLogEntry(String entry){
- log += "\n" + entry;
- }
- }
|