Main Content

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

GlobalOptimSolution

最適化ソリューション

説明

GlobalOptimSolution オブジェクトには、場所、目的関数の値、開始点、または最小値につながる点など、局所最小値に関する情報が含まれています。

GlobalSearchMultiStartGlobalOptimSolution オブジェクトのベクトルを生成します。ベクトルは、目的関数の値によって、最低 (最良) から最高 (最悪) の順に並べられます。GlobalSearchMultiStart は、許容範囲内で以前に見つかったソリューションと一致するソリューションを組み合わせます。GlobalSearch の詳細については、fmincon の実行時Update Solution Set を参照してください。MultiStart の詳細については、 GlobalOptimSolution オブジェクトを作成する を参照してください。

作成

run を実行して solutions 出力を要求すると、GlobalSearchMultiStart は出力として GlobalOptimSolution オブジェクトを作成します。

プロパティ

すべて展開する

ローカル ソルバーの終了条件。整数として返されます。一般に、正の Exitflag は局所最適値に対応し、ゼロまたは負の Exitflag は局所最小値の探索が失敗したことに対応します。

Exitflag の正確な意味については、適切なローカル ソルバー関数のリファレンス ページの exitflag の説明を参照してください。

データ型: double

実数スカラーとして返される目的関数の値。lsqnonlin および lsqcurvefit ソルバーの場合、Fval は残差の二乗の合計です。

データ型: double

ローカル ソルバーによって返される出力構造。詳細については、適切なローカル ソルバー関数のリファレンス ページの output の説明を参照してください。

データ型: struct

ローカル ソリューション。problem.x0 と同じ次元の配列として返されます。

データ型: double

現在のソリューションにつながる開始点がセル配列として返されます。グローバル ソルバーの FunctionTolerance および XTolerance プロパティを設定して、別個と見なされるポイント間の距離を制御します。

データ型: cell

すべて折りたたむ

MultiStart を使用して、複数の局所最小値を持つ問題の GlobalOptimSolution オブジェクトのベクトルを作成します。

rng default % For reproducibility
ms = MultiStart;
sixmin = @(x)(4*x(1)^2 - 2.1*x(1)^4 + x(1)^6/3 ...
    + x(1)*x(2) - 4*x(2)^2 + 4*x(2)^4);
problem = createOptimProblem('fmincon','x0',[-1,2],...
    'objective',sixmin,'lb',[-3,-3],'ub',[3,3]);
[xmin,fmin,flag,outpt,allmins] = run(ms,problem,30);
MultiStart completed the runs from all start points. 

All 30 local solver runs converged with a positive local solver exitflag.

allminsGlobalOptimSolution オブジェクトのベクトルです。

disp(allmins)
  1x6 GlobalOptimSolution array with properties:

    X
    Fval
    Exitflag
    Output
    X0

返されたソリューションにおける目的関数の値をプロットします。

plot(arrayfun(@(x)x.Fval,allmins),'k*')
xlabel('Solution number')
ylabel('Function value')
title('Solution Function Values')

さまざまな解決策につながる最初のポイントを調べるには、引力の盆地を視覚化する を参照してください。

バージョン履歴

R2010a で導入