📄 psorealpopulation.java
字号:
// Decompiled by Jad v1.5.7f. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3)
// Source File Name: PSORealPopulation.java
package ci.ec.pso.real;
import ci.ec.real.ECRealIndividual;
import java.io.PrintStream;
// Referenced classes of package ci.ec.pso.real:
// PSOBaseRealPopulation, PSOParameters, PSORealIndividual
public class PSORealPopulation extends PSOBaseRealPopulation
{
public PSORealPopulation()
{
}
public PSORealPopulation(int i, int j)
{
super(i, j);
fitness = new double[i];
for(int k = 0; k < i; k++)
fitness[k] = 0.0D;
}
public PSORealPopulation(int i, int j, PSOParameters psoparameters)
{
super(i, j);
parameters = psoparameters;
fitness = new double[populationSize];
for(int k = 0; k < populationSize; k++)
fitness[k] = 0.0D;
}
public static void main(String args[])
{
PSOParameters psoparameters = new PSOParameters(0.90000000000000002D, 20, 100D, 200D, 30D, 80D, 1000, "Sphere", 10);
PSORealPopulation psorealpopulation = new PSORealPopulation(2, 3, psoparameters);
System.out.println("PSORealPopulation(2,3,pa) rp1: \n" + psorealpopulation);
psorealpopulation.initialization(psorealpopulation.parameters.getMaximumPosition());
psorealpopulation.evaluate();
System.out.println("rp1 after initialization \n" + psorealpopulation);
int i = psorealpopulation.getBest();
System.out.println("best individual is the " + i + "th individual\n");
PSOBaseRealPopulation psobaserealpopulation = new PSOBaseRealPopulation(psorealpopulation);
psorealpopulation.initialization(psorealpopulation.parameters.getMaximumPosition());
System.out.println("rp2 :\n" + psobaserealpopulation);
System.out.println("new rp1:\n" + psorealpopulation);
}
public PSOBaseRealPopulation getUpdateVelocityStep(PSOBaseRealPopulation psobaserealpopulation, int i)
{
PSOBaseRealPopulation psobaserealpopulation1 = new PSOBaseRealPopulation(populationSize, individualLength);
for(int j = 0; j < populationSize; j++)
psobaserealpopulation1.realIndividual[j] = realIndividual[j].velocityUpdateStep(psobaserealpopulation.realIndividual[j], psobaserealpopulation.realIndividual[i]);
return psobaserealpopulation1;
}
public double getInitialWeight()
{
return parameters.getInitialWeight();
}
public double[] getFitness()
{
return fitness;
}
public void evaluate()
{
for(int i = 0; i < populationSize; i++)
fitness[i] = realIndividual[i].evaluate(parameters.getFunctionName(), parameters.getFunctionDimension());
}
public int getBest()
{
int i = 0;
double d = 0.0D;
for(int j = 0; j < populationSize; j++)
if(fitness[j] >= d)
{
i = j;
d = fitness[j];
}
return i;
}
public String toString()
{
String s = "";
s = s + parameters.toString();
s = s + super.toString();
s = s + "fitness : ";
for(int i = 0; i < populationSize; i++)
s = s + fitness[i] + " ";
s = s + "\n";
return s;
}
private PSOParameters parameters;
private double fitness[];
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -