メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

パターン探索用語

パターン

パターン は、パターン探索アルゴリズムが各反復で探索するポイントを決定するために使用するベクトルのセット {v i} です。セット {v i} は、目的関数の独立変数の数、N、および正の基底セットによって定義されます。パターン探索アルゴリズムで一般的に使用される 2 つの正の基底セットは、2 つの N ベクトルを持つ最大基底と、N+1 ベクトルを持つ最小基底です。

GPS では、パターンを形成するベクトルの集合は固定方向のベクトルです。たとえば、最適化問題に 3 つの独立変数がある場合、2 N 正基底のデフォルトは、次のパターン ベクトルで構成されます:

v1=[100]v2=[010]v3=[001]v4=[100]v5=[010]v6=[001]

N+1 正基底は、次のデフォルト パターン ベクトルで構成されます。

v1=[100]v2=[010]v3=[001]v4=[111]

GSS では、線形制約があり、現在のポイントが制約境界の近くにある場合を除き、パターンは GPS パターンと同一です。GSS が線形制約を持つパターンを形成する方法の説明については、Kolda、Lewis、および Torczon [1] を参照してください。線形制約がある場合、GSS アルゴリズムは GPS アルゴリズムよりも効率的です。効率性の向上を示す例については、patternsearch を用いた大域的最小値の探索 を参照してください。

MADS では、パターンを形成するベクトルのコレクションがアルゴリズムによってランダムに選択されます。ポーリング方法の選択に応じて、選択されるベクトルの数は 2 N または N+1 になります。GPS と同様に、2 つの N ベクトルは N ベクトルとその N 負で構成され、N+1 ベクトルは N ベクトルと他のベクトルの合計の負で構成されます。

参照

[1] Kolda, Tamara G., Robert Michael Lewis, and Virginia Torczon. “A generating set direct search augmented Lagrangian algorithm for optimization with a combination of general and linear constraints.” Technical Report SAND2006-5315, Sandia National Laboratories, August 2006.

メッシュ

各ステップで、patternsearchメッシュと呼ばれる点の集合を探索し、目的関数を改善する点を探します。patternsearchは次のようにメッシュを形成します。

  1. 各パターン ベクトル v i にスカラー Δ m を乗算して、ベクトル セット {d i} を生成します。Δ mメッシュ サイズ と呼ばれます。

  2. {di}現在のポイント (前のステップで見つかった最適な目的関数値を持つポイント) に追加します。

たとえば、GPS アルゴリズムを使用するとします。次の場合を考えます。

  • 現在のポイントは[1.6 3.4]です。

  • パターンはベクトルから構成されます

    v1=[10]v2=[01]v3=[10]v4=[01]

  • 現在のメッシュ サイズ Δ m4 です。

アルゴリズムはパターン ベクトルを 4 で乗算し、それを現在のポイントに追加して次のメッシュを取得します。

[1.6 3.4] + 4*[1 0] = [5.6 3.4] 
[1.6 3.4] + 4*[0 1] = [1.6 7.4] 
[1.6 3.4] + 4*[-1 0] = [-2.4 3.4] 
[1.6 3.4] + 4*[0 -1] = [1.6 -0.6]

メッシュ ポイントを生成するパターン ベクトルは、方向 と呼ばれます。

ポーリング

各ステップで、アルゴリズムは目的関数値を計算して現在のメッシュ内のポイントをポーリングします。完全なポーリング オプションが (デフォルトの) Off に設定されている場合、アルゴリズムは、目的関数の値が現在のポイントの値よりも小さいポイントを見つけるとすぐにメッシュ ポイントのポーリングを停止します。これが起こると、ポーリングは 成功 と呼ばれ、見つかったポイントが次の反復での現在のポイントになります。

アルゴリズムは、ポーリングを停止する時点までのメッシュ ポイントとその目的関数の値のみを計算します。アルゴリズムが目的関数を改善するポイントを見つけられなかった場合、ポーリングは 失敗 と呼ばれ、現在のポイントは次の反復でも同じままになります。

完全なポーリング オプションが On に設定されている場合、アルゴリズムはすべてのメッシュ ポイントで目的関数値を計算します。次に、アルゴリズムは最小の目的関数値を持つメッシュ ポイントを現在のポイントと比較します。そのメッシュ ポイントの値が現在のポイントよりも小さい場合、ポーリングは成功します。

拡大と縮小

ポーリング後、アルゴリズムはメッシュ サイズ Δ m の値を変更します。デフォルトでは、ポーリングが成功した場合は Δ m を 2 倍にし、ポーリングが失敗した場合は 0.5 倍にします。

参考

トピック