0

私は多くの「ベクトル」を作成しました。このベクトルにはそれぞれ独自の「フィットネス」があります。フィットネスはフィットネス関数を使用して取得されます (既に行われています)。
たとえば、次のとおりです。

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;
}
4

1 に答える 1

0

アイテムのセットから最大値を持つアイテムが必要な場合は、次のようなもので十分です。

Item maxItem = null;
int maxValue = 0;
for( Item item : items ) {
    if( item.value() > maxValue ) {
        maxItem = item;
        maxValue = item.value();
    }
}
return maxItem;
于 2013-09-20T00:25:34.853 に答える