1.例题
min f(x) =
2.定义
非线性规划至少一个变量不是一次方
3.fmincon函数
- [x,fval] = fmicon (fun , x0 , A , b , Aeq , beq , lb , ub , nonlcon)
- x得到决策变量取值,fval得到最优解取值
- 本题:设好后fun和nonlcon函数文件以及其它参数后,执行;
- [x , y] = fmincon(' fun1' , [0;0;0] , [ ] , [ ] , [ ] , [ ] , [0;0;0] , [ ] ,' fun2 ')
fun | 单独脚本文件里定义的目标函数 |
x0 | 决策变量的初始值,不知道的话随便写一个数 |
A,b | 线性约束的不等式变量系数矩阵和常数项矩阵(都是) |
Aeq,beq | 线性约束的等式变量系数矩阵和常数项矩阵 |
lb,ub | 决策变量的最小取值和最大取值 |
nonlcon | 非线性约束,不包括等式和不等式 |
4.代码展示
function f = fun1(x)
f = sum(x.^2)+8;
function [g,h]=fun2(x)
g=[-x(1)^2+x(2)-x(2)-x(3)^2 %g是非线性不等式
x(1)+x(2)^2+x(3)-20]
h=[-x(1)-x(2)^2+2 %h是线性等式
x(2)+2*x(3)^2-3]
[x,y] = fmincon ('fun1',[10;0;0],[],[],[],[],[0;0;0],[],'fun2')
5.典型赛题
- 题目中提到“怎样安排/分配;尽量多(少);最多(少);利润最大;最合理”等,但变量为非一次方
- 投资规划:资产配置、收益率、损失率、组合投资、收益率最大、最佳投资方案
- 角度调整:飞行管理避免相撞;影院最佳视角
- 生产安排:原材料、设备有限制、总利润最大(目标函数或约束条件含有非线性变量)