主要内容

Optimization Toolbox 函数处理的问题

下表显示可用于最小化、多目标优化、方程求解和求解最小二乘(模型拟合)问题的函数。

最小化问题

类型问题表示求解器

标量最小化

minxf(x)

满足 lb < x < ubx 是标量)

fminbnd

无约束最小化

minxf(x)

fminunc,
fminsearch

线性规划

minxfTx

满足 A·xb, Aeq·x = beq, lbxub

linprog

混合整数线性规划

minxfTx

满足 A·xb, Aeq·x = beq, lbxubx(intcon) 为整数值

intlinprog

二次规划

minx12xTHx+cTx

满足 A·xb, Aeq·x = beq, lbxub

quadprog

锥规划

minxfTx

满足 AxbdTxγA·xb, Aeq·x = beq, lbxub

coneprog

约束最小化

minxf(x)

满足 c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub

fmincon

半无限最小化

minxf(x)

满足 K(x,w) ≤ 0 for all w, c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub

fseminf

多目标优化问题

类型问题表示求解器

目标达到

minx,γγ

满足 F(x) – w·γ ≤ goal, c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub

fgoalattain

Minimax

minxmaxiFi(x)

满足 c(x) ≤ 0, ceq(x) = 0, A·xb, Aeq·x = beq, lbxub

fminimax

方程求解问题

类型问题表示求解器

线性方程

C·x = dn 个方程,n 个变量

mldivide(矩阵左除)

一元非线性方程

f(x) = 0

fzero

非线性方程

F(x) = 0n 个方程,n 个变量

fsolve

最小二乘(模型拟合)问题

类型问题表示求解器

线性最小二乘

minx12Cxd22

m 个方程,n 个变量

mldivide(矩阵左除)

非负线性最小二乘

minx12Cxd22

满足 x ≥ 0

lsqnonneg

有约束线性最小二乘

minx12Cxd22

满足 A·xb, Aeq·x = beq, lb ≤ x ≤ ub

lsqlin

非线性最小二乘

minxF(x)22=minxiFi2(x)

满足 lb ≤ x ≤ ub

lsqnonlin

非线性曲线拟合

minxF(x,xdata)ydata22

满足 lb ≤ x ≤ ub


lsqcurvefit

Optimization Toolbox™ 求解器适用于求解平滑问题。这意味着,目标函数和任何非线性约束函数应至少具有二阶连续可微性。有时,Optimization Toolbox 求解器也可以处理非平滑函数;您可以将这些求解器应用于任何问题。基础的 MATLAB® 优化求解器 fminbndfminsearchfzero 没有平滑度要求,大多数的 Global Optimization Toolbox 求解器也没有平滑度要求。

另请参阅

主题