2012-03-21 1 views
0

私たちはリングトポロジを持つカノニカルアイランド遺伝アルゴリズムを持っていると仮定します。 C++、PPL、MS Visual Studio 2010を使用しています。非同期アイランドGAアルゴリズムを編成するためにparallel_forとconcurrent_vectorを使用できますか?

PPLライブラリからparallel_forを使用すると便利です。停滞フラグが立っているときに島が隣人から最良の現在の人物を取得しなければならない場合は、どのプリミティブを使うべきですか?私はparallel_forのサイクルファイナライズの後に停滞フラグの配列をチェックしたくないので、私は "空腹の"島をオンザフライでフィードしたい。 PPLにはこの目的のための手段がありますか?各島にはそのネイバーへのポインタがあります。私はGetBestIndividual()メソッドをブロックするために、Evolve()メソッド内にある種のクリティカルセクションが必要です。 Evolve()は並列に呼び出されます(並列の場合は島の場合)。

答えて

0

critical_sectionオブジェクトを使用できます。これはPPLライブラリの一部です。

関連する問題