derandrandbin.java
来自「Differential Evolution(JAVA)」· Java 代码 · 共 46 行
JAVA
46 行
package DeApp1.de;
public class DERandRandBin extends DEStrategy
/***********************************************************
** **
** An interesting strategy that often works well. **
** **
** Authors: Mikal Keenan **
** Rainer Storn **
** **
***********************************************************/
{
protected double z;
protected int j;
public void apply (double F, double Cr, int dim, double[]x, double[]gen_best,
double[][]g0)
{
prepare (dim); // random i ex [0,dim-1], counter=0
z=0; // z is N(0,1) distributed gaussian variable
for (j=0; j<12; j++)
{
z = z + deRandom.nextDouble();
}
z = z-6;
for (counter=0; counter < dim; counter++)
{
if (deRandom.nextDouble() < Cr)
{
x[i] = g0[0][i] + z*(g0[1][i] - g0[2][i]);
}
else
{
//x[i] = x[i] + z*(g0[1][i] - g0[2][i]);
}
i = (i++) % dim;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?