As promised here is an update to what has happened. The only changes that I have done are within Coupling.java. All get set methods completed for genMax, genMin, genAvg, sumOfFitnessVal. Just so I could keep up with generation count  (without changing code in Action) added a testing global variable gen and the constructor Coupling(){gen=0;} now has gen=0. All get set methods have code that gives them values so get methods should return correct results. There might be one exception which is genAvg: Without Roulette, the current testing way of choosing parents causes the outcome to be irratic for each generation. Running the program as is and stopping it will show extreme high values for some generations mixed with extremely low values. I've started working on Roulette now. Also FitnessRatio for each Chromosome is taken care of.