• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab 线性规划问题(来自CSDN by WC 1.7.2016 用于个人学习)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.Matlab规定线性规划的标准形式为: 
 
几个不等式是问题的约束条件,记为 s.t.(即 subject to)。 MATLAB中求解线性规划的命令为: 
[ x,fval ]=linprog(f,A,b) 
[ x,fval ]=linprog(f,A,b,Aeq,beq) 
[ x,fval ]=linprog(f,A,b,Aeq,beq,lb,ub) 
其中:返回的x为决策向量的取值; 返回的fval是目标函数的最大值;f为价值向量;A和b对应的是线性不等式约束;Aeq和beq对应的是线性等式约束;lb和ub分别对应的是决策向量的下界向量和上界向量。

eg: 
 
(1)化为Matlab标准型,即 

minw=2x13x2+5x3


(2)求解的Matlab程序如下:

 

f=[-2,-3,5]\'
A=[-2,5,-1;1,3,1];  b=[-10;12];
Aeq=[1,1,1];    beq=7;
[x,fval]=linprog(f,A,b,Aeq,beq,zeros(3,1));
x
fval=-fval
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里的zeros(3,1)是为了产生3行1列的全0矩阵,对应着x1,x2,x3均大于等于0的约束条件。 
得出结果如下如所示: 

2.可以转化为线性规划的问题 

min|x1|+|x2|++|xn|


(1) 
 
可进一步把模型改写为: 

 

eg: 
 
做变量变换 
 
并把新变量重新排列成一维向量 
 
即可把模型变换为线性规划模型,其中: 
 
(2) 
计算的MATLAB程序如下所示:

c=[1:4];c=[c,c]\';
a=[1,-1,-1,1;1,-1,1,-3;1,-1,-2,3]; a=[a,-a];
b=[-2;-1;1/2];
[y,fval]=linprog(c,a,b,[],[],zeros(8,1));
x=y(1:4)-y(5:8)
  • 1
  • 2
  • 3
  • 4
  • 5

得出的结果如下图所示: 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab中文论坛发布时间:2022-07-18
下一篇:
手机UC下载视频M3U8转MP4 - 疯狂delphi发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap