Matlab求解线性规划问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序。上机报告模板如下:
,6
3
4x
3120
x= 30 50
第2题:要求线性规划目标函数最小值,选用命令[x,f v a l]=l i n p r o g(f,A,b,A e q,b e q,v l b,v u b)编程即可。
f=[6 3 4];
A=[];
b=[];
Aeq=[1 1 1];
beq=[120];
vlb=[30;0;20];
vub=[inf;50;inf];
[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)
第3题:设每天每只鸡平均食动物饲料1x 千克,谷物饲料2x 千克。
1212min 1000(0.30.18)300180f x x x x =⨯+=+
12120.50.520%710006000x x x x +=⎧⎪≥⨯⎨⎪⨯•≤⎩
要求线性规划目标函数最小值,选用命令[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)编程运行即可。
f=[300 180];
A=[-1 0;0 7000];
b=[-0.1;6000];
Aeq=[1 1];
beq=[0.5];
vlb=[];
vub=[];
[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)
第4题:设1A 车床加工零件1B 数量为11x ,加工2B 数量为12x ,加工3B 数量为13x ,2A 车床加工零件1B 数量为21x ,加工2B 数量为22x ,加工3B 数量为23x 。
111213212223min 235336f x x x x x x =+++++
1112132122
2311211222132323803100705020x x x x x x x x x x x x ++≤⎧⎪++≤⎪⎪+≥⎪⎨+≥⎪⎪+≥⎪⎪⎩
要求线性规划目标函数最小值,选用命令[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)编程运行即可。
f=[2 3 5 3 3 6];
A=[1 2 3 0 0 0;0 0 0 1 1 3;-1 0 0 -1 0 0;0 -1 0 0 -1 0;0 0 -1 0 0 -1]; b=[80;100;-70;-50;-20];
Aeq=[];
beq=[];
vlb=zeros(6,1);
vub=[];
[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub)
第5题:设生产1A 产品为1x 件,生产2A 产品为2x ,生产3A 产品为3x 件。
123max 1254f x x x =++
12312343180264200
x x x x x x ++≤⎧⎨++≤⎩ 要求线性规划目标函数最大值,选用命令[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub),而在mtlab 中将最大值转换成最小值求解,最后再将最小值转换成最大值(fval=-fval )即可。 f=[-12 -5 -4 ];
A=[4 3 1;2 6 3];
b=[180;200];
Aeq=[];
beq=[];
vlb=zeros(3,1);
vub=[];
[x,fval]=linprog(f,A,b,Aeq,beq,vlb,vub) fval=-fval
四.上机结果
第1 题:
x =
1.0e+004 *
3.5000
0.5000
3.0000
0.0000
0.0000
fval =
-2.5000e+004 fval =
2.5000e+004
第2题:
x =
30.0000
50.0000
fval = 490.0000
第3题:x =
0.1000
0.4000 fval =
第4题:x =
70.0000
0.0000
3.3333
0.0000
50.0000
16.6667 fval = 406.6667
第5题:x =
34.0000
0.0000
44.0000 fval =
-584.0000 fval = 584.0000