aboutsummaryrefslogtreecommitdiffstats
path: root/src/jcgp/backend/population/Population.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jcgp/backend/population/Population.java')
-rw-r--r--src/jcgp/backend/population/Population.java35
1 files changed, 19 insertions, 16 deletions
diff --git a/src/jcgp/backend/population/Population.java b/src/jcgp/backend/population/Population.java
index b6dd055..d99c64e 100644
--- a/src/jcgp/backend/population/Population.java
+++ b/src/jcgp/backend/population/Population.java
@@ -1,12 +1,14 @@
package jcgp.backend.population;
+import java.util.Arrays;
+import java.util.Collections;
+
import jcgp.backend.resources.Resources;
public class Population {
private final Chromosome[] chromosomes;
private final Resources resources;
- private int fittest = 0;
/**
* Initialise a random population according to the parameters specified
@@ -77,25 +79,26 @@ public class Population {
chromosomes[c].reinitialiseConnections();
}
}
-
- public void setFittest(int fittest) {
- this.fittest = fittest;
- }
-
- public void setFittest(Chromosome fittest) {
- for (int i = 0; i < chromosomes.length; i++) {
- if (chromosomes[i] == fittest) {
- this.fittest = i;
- return;
- }
- }
- }
public Chromosome getFittest() {
- return chromosomes[fittest];
+ return chromosomes[chromosomes.length - 1];
}
public int getFittestIndex() {
- return fittest;
+ return chromosomes.length - 1;
+ }
+
+ /**
+ * Sort the population into ascending order of fitness.
+ */
+ public void sortAscending() {
+ Arrays.sort(chromosomes);
+ }
+
+ /**
+ * Sort the population into descending order of fitness.
+ */
+ public void sortDescending() {
+ Arrays.sort(chromosomes, Collections.reverseOrder());
}
}