メインコンテンツ

Optimization Toolbox の関数が扱う問題

R2026b

次の表は、最小化、多目的最適化、方程式解法、および最小二乗 (モデルフィッティング) 問題の解法に使用可能な関数を示しています。

最小化問題

種類定式化ソルバー

スカラー最小化

minxf(x)

条件 lb < x < ub (x はスカラー)

fminbnd

制約なし最小化

minxf(x)

fminunc,
fminsearch

線形計画法

minxfTx

条件 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

linprog

混合整数線形計画法

minxfTx

条件 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub, x(intcon) は整数値です。

intlinprog

二次計画法

minx12xTHx+cTx

条件 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

quadprog

錐計画法

minxfTx

条件 ‖A⋅x−b‖≤dT⋅x−γ, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

coneprog

制約付き最小化

minxf(x)

条件 ineqnonlin(x) ≤ 0, eqnonlin(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fmincon

半無限最小化

minxf(x)

条件 K(x,w) ≤ 0 for all w, ineqnonlin(x) ≤ 0, eqnonlin(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fseminf

多目的最適化問題

種類定式化ソルバー

ゴール到達

minx,γγ

条件 F(x) – w·γ ≤ goal, ineqnonlin(x) ≤ 0, eqnonlin(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fgoalattain

ミニマックス

minxmaxiFi(x)

条件 ineqnonlin(x) ≤ 0, eqnonlin(x) = 0, A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

fminimax

方程式を解く問題

種類定式化ソルバー

線形方程式

C·x = d、n 個の方程式、n 個の変数

mldivide (行列の左除算)

1 変数の非線形方程式

f(x) = 0

fzero

非線形方程式

F(x) = 0、n 個の方程式、n 個の変数

fsolve

最小二乗 (モデル当てはめ) の問題

種類定式化ソルバー

線形最小二乗法

minx12‖C⋅x−d‖22

m 個の方程式、n 個の変数

mldivide (行列の左除算)

非負の線形最小二乗法

minx12‖C⋅x−d‖22

条件 x ≥ 0

lsqnonneg

制約付き線形最小二乗法

minx12‖C⋅x−d‖22

条件 A·x ≤ b, Aeq·x = beq, lb ≤ x ≤ ub

lsqlin

非線形最小二乗法

minx‖F(x)‖22=minx∑iFi2(x)

条件 lb ≤ x ≤ ub

lsqnonlin

非線形曲線近似

minx‖F(x,xdata)−ydata‖22

条件 lb ≤ x ≤ ub


lsqcurvefit

Optimization Toolbox™ ソルバーは "滑らかな" 問題に適用されます。つまり、目的関数と非線形制約関数は、少なくとも 2 回連続して微分可能である必要があります。場合によっては、Optimization Toolbox ソルバーは滑らかでない関数で機能することがあります。任意の問題で自由に試してください。基本の MATLAB® 最適化ソルバー fminbnd、fminsearch、および fzero には平滑性要件がなく、ほとんどの Global Optimization Toolbox ソルバーには平滑性要件がありません。

参考

トピック