1、创建目标函数,myobj(x)
f=-(2*x1+3*x1^2+3*x2+x2^2+x3)
2、创建约束条件函数,mycon(x)
根据给出的条件,来写不等式条件和等式条件
3、使用fmincon()函数,求解x1,x2,x3。即
[x,fval,exitflag]=fmincon(@myobj,x0,[],[],[],[],lb,ub,@mycon)
这里,x0—初值,lb,ub—xi的上下限
4、得到x1,x2,x3,进行验证是否满足约束条件
非线性规划方法求解问题 ,可以用matlab 的最优化工具箱求解,求解过程如下:
1、创建目标函数文件,即 myfun6.m。其内容
y=-x(1).*x(2).*x(3)
2、创建约束条件函数文件,即 mycon6.m。其内容
c(1)=(x(1)-2*x(2)-2*x(3))
c(2)=(x(1)+2*x(2)+2*x(3))-72
c(3)=x(2)-10
c(4)=-x(2)-20
ceq = 10-(x(1)-x(2))
3、点击matlab 主菜单中的APP,再点击Optimization菜单,选择Solver的 fmincon,然后输入相关内容,如图所示。
4、输入后点击Start,可以得到结果。即
x1=20,x2=10,x3=16
最大值约为3200
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)