图解法求解线性规划

发布时间:2024-11-21

实验1 图解法求解线性规划

专业班级学号 姓名报告日期 .

实验类型:●验证性实验 ○综合性实验 ○设计性实验 实验目的:进一步熟练掌握图解法求解线性规划。 实验内容:图解法求解线性规划4个(题目自选)

实验原理 线性规划图解法(线性规划解有四种情形,唯一最优解,无穷多个最解,无界解,无可行解)

实验步骤

1 要求上机实验前先编写出程序代码 2 编辑录入程序

3 调试程序并记录调试过程中出现的问题及修改程序的过程 4 经反复调试后,运行程序并验证程序运行是否正确。 5 记录运行时的输入和输出。 预习编写程序代码:

实验报告:根据实验情况和结果撰写并递交实验报告。 实验总结: 参考程序

第一题:

maxz 2x1 3x2 2x1 2x2 12 4x1 16

s.t

5x2 15 x1,x2 0

输入下面绘直线命令 line([6,0],[0,6]) ; line([4,4],[0,6]) ; line([0,6],[3,3]); 可得图形:

0123456

由上图可知,需要分别求出第一条直线与第三条直线交点,第二条直线与第三条直线交点。用求解线性方程组的左除命令 [2 2;0 5]\[12;15]; [4 0;0 5]\[12;16]; 用填充命令

fill([3,4,4],[3,3,2],'r'); 得可行域图形。

计算出该直线在坐标轴上的截距,使用两点绘直线命令 line([17/2,0],[0,17/3])

得直线的图形如上图所示,直线与可行域多边形相切。切点正好是可行域的一个角点,该角点的坐标P(4,3)就是原问题的最优解。 第二题:

maxZ 100x1 100x2

x1 x2 300 2x x 400 12s.t.

x 250 2 x1 0,x2 0

输入下面绘直线命令

>> line([0,300],[300,0]) >> line([0,200],[400,0]) >> line([0,250],[250,250]) >> hold on

>> [1 1;2 1]\[300;400]

ans =

100 200

>> [1 1;0 1]\[300;250]

ans =

50

250

>> [2 1;0 1]\[400;250]

ans =

75 250 用填充命令

>> fill([0,0,50,100,200],[0,250,250,200,0],'b') >> line([0,27500/100],[27500/100,0])

第三题:

max z = 5 x1 + 3 x2

s.t.

输入下面绘直线命令

line([3500,0],[0,3500]) line([1500,1500],[0,5000]) line([2000,0],[0,5000]) 可得图形

5000

4500

4000

3500

3000

2500

2000

1500

1000

500

由上图可知,需要分别求出第一条直线与第三条直线交点,第二条直线与第三条直线交点。用求解线性方程组的左除命令 [1 1;5 2]\[3500;10000] [1 0;5 2]\[1500;10000]

可得交点P13(1000,2500),P23(1500,1250),由此得可行域对应的多边形角点坐标如下 P0(0,0) P1(0,3500) P13(1000,2500) P23(1500,1250) P3(1500,0) 用填充命令

fill([0,0,1000,1500,1500],[0,3500,2500,1250,0],'r'), 得可行域图形:

45004000

3500300025002000150010005000

将P13的坐标代入目标函数得

zmax=5×1000+3×2500=12500 使用两点绘直线命令

line([12500/5,0],[0,12500/3])

得直线的图形上图所示,直线与可行域多边形相切。切点正好是可行域的一个角点,该角点的坐标P13(1000,2500)就是原问题的最优解。 第四题:

maxz x1 x2

2x1 x2 4 x x 2

s.t 12

2x x 412 x1,x2 0

c=[1,1];

A=[-2 1;1 -1;-2 1]; b=[4 2 4]; >> Aeq=[]; >> beq=[]; >> lb=[0,0]; >> ub=[inf,inf];

>> [x,z]=linprog(-c,A,b,Aeq,beq,lb,ub) x =

1.0e+008 *

2.5106 5.0204 z =

-7.5309e+008

>>line([0,1],[4,6]) >>line([4,2],[2,0]) [-2 1;1 -1]\[4;2] >>ans = -6 -8

>> fill([0,0,1,4,2],[0,6,6,2,0],'b')

实验总结:

通过这一次的实验,我掌握了利用matlab编程实现图解法求解线性规划问题,对图解法求解线性规划有了更加深刻的理解,并且提高了编程的能力。在今后的学习中,我也会利用所学的求解线性规划问题的方法,得到更好的掌握。

图解法求解线性规划.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219