2020年中国大学生数学建模竞赛备赛(四)

第三章 非线性规划

3.1 非线性规划模型

定义:目标函数或者约束条件中包含非线性函数,就是非线性规划问题。
模型展示:
2020年中国大学生数学建模竞赛备赛(四)_第1张图片

3.1.2 MATLAB中的默认模型

2020年中国大学生数学建模竞赛备赛(四)_第2张图片

[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options);

其中: f u n fun fun是由MATLAB中的函数文件定义得到的, x 0 x0 x0 x x x的初始值, A , b , A e q , b e q A,b,Aeq,beq A,b,Aeq,beq定义了线性约束, c ( x ) , c e q ( x ) c(x),ceq(x) c(x),ceq(x)定义了非线性约束,在函数中是用 n o n l c o n nonlcon nonlcon表示以MATLAB中的函数文件定义的非线性向量函数; o p t i o n s options options定义了优化参数,使用时可以具体参考MATLAB自带的帮助文档。
下面的一个例子可以帮助你更好地理解上面的函数使用规范:

//编写.m函数文件定义目标函数
function f=fun1(x)
f=sum(x.^2)+8;
//编写.m函数文件定义对应非线性约束条件
function [g,h]=fun2(x)
g=[-x(1)^2+x(2)-x(3)^2;x(1)+x(2)^2+x(3)^3-20];//非线性不等式约束
h=[-x(1)-x(2)^2+2;x(2)+2*x(3)^2-3];//非线性等式约束
//编写主程序文件如下:
[x,y]=fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[],'fun2');

相信对 f m i n c o n fmincon fmincon函数有一定认识的你能够,根据上面的代码还原出对应的目标函数和约束条件数学表达式。

参考文献

[1]司守奎,孙玺菁. 数学建模算法与应用. 北京:国防工业出版社,2011.

你可能感兴趣的:(matlab,数学建模)