Bugfix; better name for MutateGAStandard
This commit is contained in:
parent
1431bc4769
commit
ebe02870df
@ -6,7 +6,7 @@ import java.util.BitSet;
|
|||||||
import eva2.server.go.operators.crossover.CrossoverGANPoint;
|
import eva2.server.go.operators.crossover.CrossoverGANPoint;
|
||||||
import eva2.server.go.operators.crossover.InterfaceCrossover;
|
import eva2.server.go.operators.crossover.InterfaceCrossover;
|
||||||
import eva2.server.go.operators.mutation.InterfaceMutation;
|
import eva2.server.go.operators.mutation.InterfaceMutation;
|
||||||
import eva2.server.go.operators.mutation.MutateGAStandard;
|
import eva2.server.go.operators.mutation.MutateGANBit;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
|
||||||
@ -25,7 +25,7 @@ public class GAIndividualBinaryData extends AbstractEAIndividual implements Inte
|
|||||||
|
|
||||||
public GAIndividualBinaryData() {
|
public GAIndividualBinaryData() {
|
||||||
this.m_MutationProbability = 0.1;
|
this.m_MutationProbability = 0.1;
|
||||||
this.m_MutationOperator = new MutateGAStandard();
|
this.m_MutationOperator = new MutateGANBit();
|
||||||
this.m_CrossoverProbability = 1.0;
|
this.m_CrossoverProbability = 1.0;
|
||||||
this.m_CrossoverOperator = new CrossoverGANPoint();
|
this.m_CrossoverOperator = new CrossoverGANPoint();
|
||||||
this.m_GenotypeLength = 20;
|
this.m_GenotypeLength = 20;
|
||||||
|
@ -8,7 +8,7 @@ import eva2.server.go.individuals.codings.ga.InterfaceGADoubleCoding;
|
|||||||
import eva2.server.go.operators.crossover.CrossoverGANPoint;
|
import eva2.server.go.operators.crossover.CrossoverGANPoint;
|
||||||
import eva2.server.go.operators.crossover.InterfaceCrossover;
|
import eva2.server.go.operators.crossover.InterfaceCrossover;
|
||||||
import eva2.server.go.operators.mutation.InterfaceMutation;
|
import eva2.server.go.operators.mutation.InterfaceMutation;
|
||||||
import eva2.server.go.operators.mutation.MutateGAStandard;
|
import eva2.server.go.operators.mutation.MutateGAUniform;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ public class GAIndividualDoubleData extends AbstractEAIndividual implements Inte
|
|||||||
|
|
||||||
public GAIndividualDoubleData() {
|
public GAIndividualDoubleData() {
|
||||||
this.m_MutationProbability = 0.1;
|
this.m_MutationProbability = 0.1;
|
||||||
this.m_MutationOperator = new MutateGAStandard();
|
this.m_MutationOperator = new MutateGAUniform();
|
||||||
this.m_CrossoverProbability = 0.7;
|
this.m_CrossoverProbability = 0.7;
|
||||||
this.m_CrossoverOperator = new CrossoverGANPoint();
|
this.m_CrossoverOperator = new CrossoverGANPoint();
|
||||||
this.m_Range = new double[1][2];
|
this.m_Range = new double[1][2];
|
||||||
|
@ -3,13 +3,11 @@ package eva2.server.go.individuals;
|
|||||||
|
|
||||||
import java.util.BitSet;
|
import java.util.BitSet;
|
||||||
|
|
||||||
import eva2.server.go.individuals.codings.ga.GAStandardCodingDouble;
|
|
||||||
import eva2.server.go.individuals.codings.ga.GAStandardCodingInteger;
|
import eva2.server.go.individuals.codings.ga.GAStandardCodingInteger;
|
||||||
import eva2.server.go.individuals.codings.ga.InterfaceGADoubleCoding;
|
|
||||||
import eva2.server.go.individuals.codings.ga.InterfaceGAIntegerCoding;
|
import eva2.server.go.individuals.codings.ga.InterfaceGAIntegerCoding;
|
||||||
import eva2.server.go.operators.crossover.CrossoverGANPoint;
|
import eva2.server.go.operators.crossover.CrossoverGANPoint;
|
||||||
import eva2.server.go.operators.mutation.InterfaceMutation;
|
import eva2.server.go.operators.mutation.InterfaceMutation;
|
||||||
import eva2.server.go.operators.mutation.MutateGAStandard;
|
import eva2.server.go.operators.mutation.MutateGANBit;
|
||||||
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
import eva2.server.go.problems.InterfaceOptimizationProblem;
|
||||||
import eva2.tools.math.RNG;
|
import eva2.tools.math.RNG;
|
||||||
|
|
||||||
@ -31,7 +29,7 @@ public class GAIndividualIntegerData extends AbstractEAIndividual implements Int
|
|||||||
|
|
||||||
public GAIndividualIntegerData() {
|
public GAIndividualIntegerData() {
|
||||||
this.m_MutationProbability = 0.1;
|
this.m_MutationProbability = 0.1;
|
||||||
this.m_MutationOperator = new MutateGAStandard();
|
this.m_MutationOperator = new MutateGANBit();
|
||||||
this.m_CrossoverProbability = 0.7;
|
this.m_CrossoverProbability = 0.7;
|
||||||
this.m_CrossoverOperator = new CrossoverGANPoint();
|
this.m_CrossoverOperator = new CrossoverGANPoint();
|
||||||
this.m_Range = new int[1][2];
|
this.m_Range = new int[1][2];
|
||||||
|
@ -16,13 +16,13 @@ import eva2.tools.math.RNG;
|
|||||||
* Time: 10:03:37
|
* Time: 10:03:37
|
||||||
* To change this template use Options | File Templates.
|
* To change this template use Options | File Templates.
|
||||||
*/
|
*/
|
||||||
public class MutateGAStandard implements InterfaceMutation, java.io.Serializable {
|
public class MutateGANBit implements InterfaceMutation, java.io.Serializable {
|
||||||
private int m_NumberOfMutations = 1;
|
private int m_NumberOfMutations = 1;
|
||||||
|
|
||||||
public MutateGAStandard() {
|
public MutateGANBit() {
|
||||||
|
|
||||||
}
|
}
|
||||||
public MutateGAStandard(MutateGAStandard mutator) {
|
public MutateGANBit(MutateGANBit mutator) {
|
||||||
this.m_NumberOfMutations = mutator.m_NumberOfMutations;
|
this.m_NumberOfMutations = mutator.m_NumberOfMutations;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ public class MutateGAStandard implements InterfaceMutation, java.io.Serializable
|
|||||||
* @return The clone
|
* @return The clone
|
||||||
*/
|
*/
|
||||||
public Object clone() {
|
public Object clone() {
|
||||||
return new MutateGAStandard(this);
|
return new MutateGANBit(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method allows you to evaluate wether two mutation operators
|
/** This method allows you to evaluate wether two mutation operators
|
||||||
@ -38,8 +38,8 @@ public class MutateGAStandard implements InterfaceMutation, java.io.Serializable
|
|||||||
* @param mutator The other mutation operator
|
* @param mutator The other mutation operator
|
||||||
*/
|
*/
|
||||||
public boolean equals(Object mutator) {
|
public boolean equals(Object mutator) {
|
||||||
if (mutator instanceof MutateGAStandard) {
|
if (mutator instanceof MutateGANBit) {
|
||||||
MutateGAStandard mut = (MutateGAStandard)mutator;
|
MutateGANBit mut = (MutateGANBit)mutator;
|
||||||
if (this.m_NumberOfMutations != mut.m_NumberOfMutations) return false;
|
if (this.m_NumberOfMutations != mut.m_NumberOfMutations) return false;
|
||||||
return true;
|
return true;
|
||||||
} else return false;
|
} else return false;
|
||||||
@ -86,7 +86,7 @@ public class MutateGAStandard implements InterfaceMutation, java.io.Serializable
|
|||||||
* @return A descriptive string.
|
* @return A descriptive string.
|
||||||
*/
|
*/
|
||||||
public String getStringRepresentation() {
|
public String getStringRepresentation() {
|
||||||
return "GA standard mutation";
|
return "GA n-Bit mutation";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**********************************************************************************************************************
|
/**********************************************************************************************************************
|
||||||
@ -97,13 +97,13 @@ public class MutateGAStandard implements InterfaceMutation, java.io.Serializable
|
|||||||
* @return The name.
|
* @return The name.
|
||||||
*/
|
*/
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return "GA standard mutation";
|
return "GA n-Bit mutation";
|
||||||
}
|
}
|
||||||
/** This method returns a global info string
|
/** This method returns a global info string
|
||||||
* @return description
|
* @return description
|
||||||
*/
|
*/
|
||||||
public static String globalInfo() {
|
public static String globalInfo() {
|
||||||
return "The standard mutation switches n bits of the GA genotype.";
|
return "Switch n bits of the GA genotype.";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** This method allows you to set the number of mutations that occur in the
|
/** This method allows you to set the number of mutations that occur in the
|
@ -51,7 +51,7 @@ public class MutateGAUniform implements InterfaceMutation, Serializable {
|
|||||||
|
|
||||||
public void init(AbstractEAIndividual individual,
|
public void init(AbstractEAIndividual individual,
|
||||||
InterfaceOptimizationProblem opt) {
|
InterfaceOptimizationProblem opt) {
|
||||||
if (useInvertedLength && (individual instanceof InterfaceGAIndividual)) setBitwiseProb(((InterfaceGAIndividual)individual).getGenotypeLength());
|
if (useInvertedLength && (individual instanceof InterfaceGAIndividual)) setBitwiseProb(1./((double)((InterfaceGAIndividual)individual).getGenotypeLength()));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,6 +70,7 @@ public class MutateGAUniform implements InterfaceMutation, Serializable {
|
|||||||
return bitwiseProb;
|
return bitwiseProb;
|
||||||
}
|
}
|
||||||
public void setBitwiseProb(double bitwiseProb) {
|
public void setBitwiseProb(double bitwiseProb) {
|
||||||
|
if (bitwiseProb <0. && (bitwiseProb > 1.)) System.err.println("Warning, probability should be within [0,1], given: " + bitwiseProb);
|
||||||
this.bitwiseProb = bitwiseProb;
|
this.bitwiseProb = bitwiseProb;
|
||||||
}
|
}
|
||||||
public String bitwiseProbTipText() {
|
public String bitwiseProbTipText() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user