《运筹学》实验教学指导书 联系客服

发布时间 : 星期日 文章《运筹学》实验教学指导书更新完毕开始阅读8a82c9c4a8114431b80dd868

END

求解这个模型并做灵敏性分析,查看报告窗口(Reports Window)。输出结果告诉我们:这个线性规划的最优解为x1=20,x2=30,最优值为z=3360,即用20桶牛奶生产A1, 30桶牛奶生产A2,可获最大利润3360元。

输出中除了告诉我们问题的最优解和最优值以外,还有许多对分析结果有用的信息。

3个约束条件的右端不妨看作3种“资源”:原料、劳动时间、车间甲的加工能力。输出中SLACK OR SURPLUS (松弛或剩余)给出这3种资源在最优解下是否有剩余:原料、劳动时间的剩余均为零(即约束为紧约束),车间甲尚余40公斤加工能力(不是紧约束)。

目标函数可以看作“效益”,成为紧约束的“资源”一旦增加,“效益”必然跟着增长。输出中DUAL PRICES(对偶价格) 给出这3种资源在最优解下“资源”增加1个单位时“效益”的增量:原料增加1个单位(1桶牛奶)时利润增长48(元),劳动时间增加1个单位(1小时)时利润增长2(元),而增加非紧约束车间甲的能力显然不会使利润增长。

这里,“效益”的增量可以看作“资源”的潜在价值,经济学上称为影子价格(shadow price),即1桶牛奶的影子价格为48元,1小时劳动的影子价格为2元,车间甲生产能力的影子价格为零。 可以用直接求解的办法验证上面的结论,即将输入文件中原料约束milk)右端的50改为51,看看得到的最优值(利润)是否恰好增长48(元)。用影子价格的概念很容易回答1):用35元可以买到1桶牛奶,低于1桶牛奶的影子价格48,当然应该作这项投资。回答2):聘用临时工人以增加劳动时间,付给的工资低于劳动时间的影子价格才可以增加利润,所以工资最多是每小时2元。

目标函数的系数发生变化时(假定约束条件不变),最优解和最优值会改变吗?这个问题不能简单地回答。

上面的输出结果给出了最优基不变条件下目标函数系数的允许变化范围:x1的系数范围为(72-8,72+24)=(64,96);x2的系数范围为(64-16,64+8)=(48,72)。

注意:x1系数的允许范围需要x2的系数64不变,反之亦然。

由于目标函数的系数变化并不影响约束条件,因此此时最优基不变可以保证最优解也不变,但最优值变化。用这个结果很容易回答附加问题3):若每公斤A1的获利增加到30元,则x1系数变为30×3=90,在允许范围内,所以不应改变生产计划,但最优值变为90×20+64×30=3720。 下面对“资源”的影子价格作进一步的分析。

影子价格的作用(即在最优解下“资源”增加1个单位时“效益”的增量)是有限制的。每增加1桶牛奶利润增长48元(影子价格),但是,约束的右端项(CURRENT RHS) 的“允许增加”(ALLOWABLE INCREASE) 和 “允许减少”(ALLOWABLE DECREASE) 给出了影子价格有意义条件下约束右端的限制范围(因为此时最优基不变,所以影子价格才有意义;如果最优基已经变了,那么结果中给出的影子价格也就不正确了)。

具体对本例来说: milk)原料最多增加10(桶牛奶),time)劳动时间最多增加53(小时)。 现在可以回答附加问题1)的第2问:虽然应该批准用35元买1桶牛奶的投资,但每天最多购买10桶牛奶。顺便地说,可以用低于每小时2元的工资聘用临时工人以增加劳动时间,但最多增加53.3333小

- 17 -

时。

需要注意的是:灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。比如对于上面的问题,“原料最多增加10(桶牛奶)”的含义只能是“原料增加10(桶牛奶)”时最优基保持不变,所以影子价格有意义,即利润的增加大于牛奶的投资。反过来,原料增加超过10(桶牛奶),最优基是否一定改变?影子价格是否一定没有意义?一般来说,这是不能从灵敏性分析报告中直接得到的。此时,应该重新用新数据求解规划模型,才能做出判断。所以严格来说,我们上面回答“原料最多增加10(桶牛奶)”并不是完全科学的。 五、实验步骤

1.启动lindo软件

2.验证教材教材《运筹学基础及应用》上第二章灵敏度分析几个例子。 3.根据实际问题建立线性规划模型

4.按照lindo软件在线性规划中灵敏度分析的使用说明将所建立的线性规划模型运用lindo软件进行灵敏度分析。 六、实验结果

例1 常山机器厂生产I、II两种产品。这两种产品都要分别在A,B,C三种不同设备上加工。按工艺资料规定,生产每件产品I需占用各设备分别为2h,4h,0h,生产每件产品II,需占用各设备分别为2h,0h,5h。已知各设备计划期内用于生产这两种产品的能力分别为12h,16h,15h,又知每生产一件产品I企业能获得2??1百元利润,每生产一件产品II企业能获得3??2百元利润,问该企业应安排生产两种产品各多少件,使得总的利润收入为最大。

例2 常山机器厂生产I、II两种产品。这两种产品都要分别在A,B,C三种不同设备上加工。按工艺资料规定,生产每件产品I需占用各设备分别为2h,4h,0h,生产每件产品II,需占用各设备分别为2h,0h,5h。已知各设备计划期内用于生产这两种产品的能力分别为12??1h,16??2h,15??3h,又知每生产一件产品I企业能获得2百元利润,每生产一件产品II企业能获得3百元利润,问该企业应安排生产两种产品各多少件,使得总的利润收入为最大。

例3 常山机器厂生产I、II两种产品。这两种产品都要分别在A,B,C三种不同设备上加工。按工艺资料规定,生产每件产品I需占用各设备分别为2h,4h,0h,生产每件产品II,需占用各设备分别为2h,0h,5h。已知各设备计划期内用于生产这两种产品的能力分别为12h,16h,15h,又知每生产一件产品I企业能获得2百元利润,每生产一件产品II企业能获得3百元利润。现在本厂又利用设备A,B,C加工产品III,每生产一件产品III企业能获得4百元利润,按工艺资料规定,生产每件产品III需占用各设备分别为2h,4h,5h,比较该企业安排生产两种产品还是三种产品总的利润收入。

例4 常山机器厂生产I、II两种产品。这两种产品都要分别在A,B,C三种不同设备上加工。按工艺资料规定,生产每件产品I需占用各设备分别为2h,4h,0h,生产每件产品II,需占用各设备分别为2h,0h,5h。已知各设备计划期内用于生产这两种产品的能力分别为12h,16h,15h,又知每生产一件产品I企业能获得2百元利润,每生产一件产品II企业能获得3百元利润。现在本厂增加设备D加工产品I,

- 18 -

II,按工艺资料规定,生产每件产品I需占用各设备分别为2h,4h,0h,3h,生产每件产品II,需占用各设备分别为2h,0h,5h,2h。已知各设备计划期内用于生产这两种产品的能力分别为12h,16h,15h,14h,比较该企业安排生产两种产品用三种设备好还是四种设备好。 七、注意事项

要求学生爱护电脑,不能损坏电脑及其他实验室设备。每次开机电脑会更新,要提醒学生把自己做的数据分析结果保存在自己的U盘或其他移动设备上。 八、实验报告的格式以及内容要求

1. 写出程序设计的代码。 2. 打印程序运行的结果。

3. 实验报告的格式:纸张大小为A4纸;页边距为上:3cm;下:2.5 cm;左:3cm; 右3 cm;整篇段落格式设定为1.5倍行距,段前,段后均为0,标点用全角;正文用宋体小四号字体;标题用黑体小四号。 九、思考题

设线性规划问题

minz?3x1?5x2?x3s..t?x1?2x2?x3?6?2x?x?3x?16?123??x1?x2?5x3?10?x1,x2?0,?X3无约束

(1) 价值系数和右端项在什么范围内变化最有基不改变。

(2) 增加一个约束条件x1?x2?x3?12,求该线性规划问题的最优解。

T(3) 若增加一个变量x4,有c4?4,P4?(1,2,1,2),试分析问题最优解的变化。

十、考核方式及评定标准

考核方式以提交的实验报告为主,参考实验课上同学们解决问题的情况而定。评定标准分为:A、B、C、D四个等级,其中A为优秀,B为良好,C为中等,D为较差。

- 19 -

实验四 整数线性规划

一、实验目的

使学生了解lindo系统,熟练利用Lindo软件,求解整数线性规划。 二、实验内容及要求

1. 安装Lindo6.1软件, 启动lindo6.1, 熟悉lindo6.1求解整数线性规划的过程和步骤。 2. 对教材《运筹学基础及应用》上第四章整数线性规划的几个例子,编写简单的LINDO程序,会利用lindo软件求解。

3.根据实际问题建立线性规划数学模型,利用lindo软件求解。 4. 对于给出的线性规划模型,利用lindo软件求解。 三、实验的重点和难点

1.实验的重点:整数线性规划

2.实验的难点:整数线性规划模型的正确建立 四、实验准备

实验室电脑需要安装lindo软件。lindo软件在整数线性规划的使用说明:

LINDO可用于求解线性纯整数规划或混合整数规划(IP),模型的输入与LP问题类似, 但需在END标志后定义整型变量。

0/1型的变量可由INTEGER(可简写为INT)命令来标识, 有以下两种可能的用法: INT vname INT n

前者只将决策变量vname标识为0/1型,

后者将当前模型中前n 个变量标识为0/1型(模型中变量顺序由模型中输入时出现的先后顺序决定, 该顺序可由输出结果中的变量顺序查证是否一致)。

一般的整数变量可用命令GIN (是GENERAL INTEGER的意思),其使用方式及格式与INT 命令相似(通过例题说明)。

1. 员工聘用问题

首先在LINDO模型窗口输入模型 :

MIN X1 + X2 + X3 + X4 + X5 + X6 + X7 SUBJECT TO

MON) X1 + X4 + X5 + X6 + X7 >= 50 TUE) X1 + X2 + X5 + X6 + X7 >= 50 WED) X1 + X2 + X3 + X6 + X7 >= 50 THU) X1+ X2 + X3 + X4 +X7 >= 50 FRI) X1 + X2 + X3 + X4 + X5 >= 80

- 20 -