我已经创建了许多“向量”,每个向量都有自己的“健身”,使用健身功能(已经完成)获得健身。
例如:
Vector v1 = new Vector();
Vector v2 = new Vector();
V1 = // some data
V2 = // some other data
double fitness1 = fitness(v1);
double fitness2 = fitness(v2);
现在我有数百个Vectors
并且每个人都拥有它自己的健身,我正在尝试创建一个名为globalbest
的函数,它返回具有最佳健身状态的Vector
,但并不总是得到最好的 !!有人可以帮我吗?这是代码:
public Vector globalbest(Vector allPopulation) {
Vector global = new Vector();
double max = 0;
for (int i = 0; i < allPopulation.size(); i++) {
double value = fitness((Vector) allPopulation.get(i));
if (value > max) {
global = (Vector) allPopulation.get(i);
max = value ;
}
}
return global;
}
答案 0 :(得分:0)
如果您希望项目具有来自一组项目的最大值,则此类内容就足够了:
Item maxItem = null;
int maxValue = 0;
for( Item item : items ) {
if( item.value() > maxValue ) {
maxItem = item;
maxValue = item.value();
}
}
return maxItem;