メインコンテンツ

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

GlobalOptimSolution

最適化ソリューション

説明

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

GlobalSearchMultiStart は、GlobalOptimSolution オブジェクトのベクトルを生成します。ベクトルは目的関数の値によって、最低 (最良) から最高 (最悪) の順に並べられます。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)
  1×6 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')

Figure contains an axes object. The axes object with title Solution Function Values, xlabel Solution number, ylabel Function value contains a line object which displays its values using only markers.

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

バージョン履歴

R2010a で導入