matlab线性规划与非线性规划

matlab线性规划与非线性规划

函数调用的形式为  [x,fval] = linprog(f,A,b,Aeq,beq,lb,ub,x0)

[x,fval]返回值中x为最优解,fval为最优值.

lb和ub    分别表示自变量的上下界组成的向量,如果没有上下界,该选项用[]表示,如果只有部分变量有上下界,其余的变量没有,那么可以把没有上下界的变量的上下界设为-inf或者inf使lb或者ub的长度符合要求.

x0    表示变量的初始值,可以缺省.

 

还可使用optimtool工具箱

matlab线性规划与非线性规划

这个工具箱还能解决非线性规划

当解决线性规划问题时,solver那里选择linprog

一些非线性规划常用的solver介绍

1.fmincon

调用格式为x=fmincon(fun,x0,A,B,Aeq,Beq,LB,UB,NONLCON,OPTIONS)

fun是m文件定义的函数x0是x的初始值,NONLCON是用m文件定义的非线性向量函数C(X),

Ceq(x),OPTIONS定义了优化参数,可缺省

其标准形为

matlab线性规划与非线性规划

例子:

matlab线性规划与非线性规划

2.无约束极值问题

matlab线性规划与非线性规划

options可以选择是否使用用户提供的梯度下降公式,设定迭代次数,例如

matlab线性规划与非线性规划

3.fminbnd

matlab线性规划与非线性规划

4.fminimax

matlab线性规划与非线性规划

例子

matlab线性规划与非线性规划