当前位置:   article > 正文

Matlab常用求解数学规划模型代码_matlab数学模型代码

matlab数学模型代码

Matlab求解线性规划问题——linprog函数:
引用博客链接侵删

[x,fval,exitflag,output,lambda] = linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
其中,fval返回目标函数的值,exitflag是收敛标志,取1则问题收敛,output可以显示迭代总次数和使用的算法等,ambda是问题求解中用到的拉格朗日乘子。A和b矩阵对应不等式方程组,Aeq和beq矩阵对应等式方程组,LB和UB分别对应变量x的下界和上界,X0是x的初始值,OPTIONS是控制参数。

在这里插入图片描述

c=[2;3;1];
a=[1 4 2;3 2 0];
b=[8;6];
[x,fval]=linprog(c,-a,-b,[],[],zeros(3,1));
% x向量是使得目标函数取得最小值的那组决策变量
% fval是最小值
% [],[]是等式约束,本问题中没有
% zeros(3,1)是x向量的下限,是第三个约束条件
% 初始值和控制变量参数没写

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述

c=[2;3;-5];
a=[2 -5 1];
b=10;
aeq=[1 1 1];
beq=7;
% 注意matlab标准形式
[x,fval,exitflag,output,lambda]=linprog(-c,-a,-b,aeq,beq,zeros(3,1))

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Matlab求解非线性规划问题——fmincon函数:
在这里插入图片描述
其中: f1(x)=-3x1+2x2 f2(x)=4x1+3x2

x0=[1;1];
a=[2 3;2 1];
b=[18;10];
lb=[0;0];
ub=[];
x=fmincon('((-3*x(1)+2*x(2)-12)^2+(4*x(1)+3*x(2)-24)^2)^(1/2)',x0,a,b,[],[],lb,ub);
f1=-3*x(1)+2*x(2);
f2=4*x(1)+3*x(2);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/55619
推荐阅读
相关标签
  

闽ICP备14008679号