线性规划

目的:学会用matlab、lingo软件求解线性规划问题。
二、实验要求:
1.熟悉线性规划问题的数学建模;
2.会用matlab、
lingo软件求解线性规划问题;
3.掌握线性规划的灵敏度分析。
三、实验内容:
1、求解下列线性规划问题:
(1) 给出lingo原始代码;
(2) 计算结果(包括灵敏度分析,求解结果粘贴);
(3) 回答下列问题:a) 最优解及最优目标函数值是多少;
b) 资源的对偶价格各为多少,并说明对偶价格的含义;
c) 为了使目标函数值增加最多,让你选择一个约束条件,将它的常数项增加一个单位,你将选择哪一个约束条件?这时目标函数值将是多少?
d) 对x2的目标函数系数进行灵敏度分析;e) 对第2个约束的约束右端项进行灵敏度分析;f) 结合本题的结果解释“Reduced Cost”的含义
2、 请写出调用函数linporg求解下述问题的matlab源代码,求解结果粘贴,并对结果分析。
(1):matlab代码

f=[3;2;1];
A=[1 1 1;-1 0 1;0 -1 1];
b=[6;-4;-3];
lb=[0;0;0];
[x,z]=linprog(f,A,b,[],[],lb,[])

运行结果如下:

Linprog stopped because
no point satisfies the constraints.

(2):matlab代码

f=[-2;-2];
A=[-1 1;-0.5 1];
b=[1;2];
lb=[0;0];
[x,z]=linprog(f,A,b,[],[],lb,[])

运行结果如下:

Problem is unbounded.
(3):matlab代码

f=[1;-2];
A=[-1 -1;1 -1;0 1];
b=[-2;-1;3];
lb=[0;0];
[x,z]=linprog(f,A,b,[],[],lb,[])

运行结果如下:

Optimal solution found.

x =
0
3
z =
-6
(4):matlab代码

f=[-1;-2;0;0;0];
Aeq=[1 0 1 0 0;0 1 0 1 0;1
2 0 0 1];
beq=[4;3;8];
lb=[0;0;0;0;0];
[x,z]=linprog(f,[],[],Aeq,beq,lb,[])

运行结果如下:

Optimal solution found.
x =
4.0000
2.0000
0
1.0000
0
z =
-8

3、(任务分配问题)某车间有甲、乙两台机床,可用于加工三种工件。假定这两台车床的可用台时数分别为800和900,三种工件的数量分别为400、600和500,且已知用三种不同车床加工单位数量不同工件所需的台时数和加工费用如下表。
生产的工件3的件数为 (件),设乙生产的工件1的件数为(件),生产的工件2的件数为 (件),生产的工件3的件数为(件),设加工费用为W(元)。

   则线性规划如下:

   Min W=13+9+10+11+12+8

(2)试选一数学软件计算上述模型,并给出程序源代码和计算结果报告。

解:matlab代码:

f=[13 9 10 11 12 8];
A=[0.4 1.1 1 0 0 0;0 0 0 0.5 1.2 1.3];
b=[800 900];
Aeq=[1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1];
beq=[400 600 500];
LB=[0 0 0 0 0 0];
[x,fval,exitflag]=linprog(f,A,b,Aeq,beq,LB)

运行结果:

Optimization
terminated.

x =
0.0000
600.0000
0.0000
400.0000
0.0000
500.0000
val =.3800e+04];
b=[800 900];
Aeq=[1 0 0 1 0 0;0 1 0 0 1 0;0 0 1 0 0 1];
beq=[400 600 500];
LB=[0 0 0 0 0 0];
[x,fval,exitflag]=linprog(f,A,b,Aeq,beq,LB)

运行结果:
Optimization
terminated.

x = 0.0000
600.0000
0.0000
400.0000
0.0000
500.0000

val =
1.3800e+04
1

由运行结果得,此线性规划有最优值13800(元),满足最优解的=0,=600,=0,=400,=0,=500,即在甲机床上加工的工件2为600件,不加工的工件1和工件2,在乙机床上加工的工件1为400件,加工的工件3为500件,且不加工工件2时,其加工费用最低,为13800元。

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值