3.3 解ファイルの関数値表示部
%% %% FUNCTIONS %%
で始まる部分には最適化アルゴリズム停止時における関数注1の値が記述されています.
%% %% FUNCTIONS %% NAME VALUE STATUS SLACK [ BOUND TYPE ] F# 1 obj -10.5 FREE [ OBJECTIVE (MINIMIZE) ] F# 2 g1 4 UPPER 1.75611081e-010 [ g1 <= 4 ] F# 3 g2 5 UPPER 7.02441660e-010 [ g2 <= 5 ] F# 4 g3 6.5 FREE 5.00000001e-001 [ g3 <= 7 ]
VALUEが「関数の値」,STATUSが「関数値が上下限のいずれに付着しているかの状態」,SLACKが「上下限値からの余裕量」,BOUND TYPEが「関数の上下限」を示しています.
F# 1から始まる行にはFという名前の関数(目的関数)の値(-10.5)と,それが最小化された("MINIMIZE")目的関数である旨が示されています.F# 2から始まる行はg1という名前の制約式の値が4であり,それが上限に等しくなっていること("UPPER"),続いてg1に課された制約の種類([]内)が示されています.
関数(制約式)の状態を示すSTATUSの意味を以下に示します.
状態を示す文字列 | 状態 |
---|---|
LOWER | 下限制約に付着(下限制約がactive) |
UPPER | 上限制約に付着(上限制約がactive) |
FREE | 上下限,いずれにも付着していない |
INFS | 上下限を違反している |
TGIN | ソフト制約が制約を違反していない |
TGOUT | ソフト制約が制約を違反し,ペナルティが発生している. |
INFSは数値的な性質の悪い問題や最適化が途中で失敗した際に出力されます.
また,半正定値制約を課した対称行列の各要素の値に関しては以下のような出力がされます.
NAME VALUE STATUS SLACK [ BOUND TYPE ] F# 1 X[1,1] 25.6995 [ MATRIXELEM ] F# 2 X[2,1] 1 [ MATRIXELEM ] F# 3 X[2,2] 25.6995 [ MATRIXELEM ]
注1)目的関数と制約式を総称してこう呼んでいます.
上に戻る