西华大学上机实验报告
课程名称:运筹学 指导教师:施浩然 整数规划求解 年级/专业:2009水利水电工程 姓名:丁冬冬 实验成绩: 实验日期:2011年11月 实验学时: 3 实验名称:线性规划求解、运输问题、学号:312009080801417 一、实验目的
掌握线性规划求解的基本方法,熟悉灵敏度分析的步骤和内容;掌握运输问题的模型,概念,求解方法;掌握整数规划的算法。在熟悉lingo软件基本功能基础上,能熟练操作,正确完成模型求解过程及分析过程。 二、实验内容或设计思想
1.lingo软件和运筹学实验软件的安装及菜单熟悉了解.
2.lingo软件和运筹学实验软件应用内容之:任选几种不同类型的LP输入计算程序,运行求解;完成产销平衡的运输问题求解;求解任一整数规划。
三、实验环境与工具
计算机,lingo软件,运筹学软件
四、实验过程或实验数据
1、用lingo求解线性规划
某家具公司制造书桌、餐桌和椅子,所用的资源有三种:木料、木工和漆工。生产数据如下表所示:
木料 漆工 木工 每个书桌 每个餐桌 每个椅子 现有资源总数 7单位 4单位 2单位 6单位 2单位 1单位 1.5单位 46单位 20单位 8单位 1.5单位 0.5单位 30单位 20单位 成品单价 50单位 若要求桌子的生产量不超过5件,如何安排三种产品的生产可使利润最大? 用DESKS、TABLES和CHAIRS分别表示三种产品的生产量,建立LP模型。
max=50*desks+30*tables+20*chairs; 7*desks+6*tables+chairs<=46;
4*desks+2*tables+1.5*chairs<=20; 2*desks+1.5*tables+.5*chairs<=8; tables<=5;
Global optimal solution found.
Objective value: 272.0000 Total solver iterations: 2
Variable Value Reduced Cost DESKS 0.000000 6.000000 TABLES 1.600000 0.000000
CHAIRS 11.20000 0.000000
Row Slack or Surplus Dual Price 1 272.0000 1.000000 2 25.20000 0.000000 3 0.000000 12.00000 4 0.000000 4.000000
5 3.400000 0.000000
2、用LINGO软件计算运输问题
6个发点8个收点的最小费用运输问题。产销单位运价如下表。 单 位 销地 运 B1 B2 B3 B4 B5 B6 B7 B8 价 产地 A1 A2 A3 A4 A5 A6 销量 8 4 5 7 2 5 35 2 9 2 6 3 5 37 6 5 1 7 9 2 25 7 3 9 3 5 2 32 4 8 7 11 7 8 41 2 5 4 2 2 1 36 5 8 3 7 6 4 43 9 2 3 1 5 3 38 产量 80 55 57 43 41 52 使用LINGO软件,编制程序如下: model: sets:
warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand;
links(warehouses,vendors): cost, volume; endsets
min=@sum(links: cost*volume); @for(vendors(J):
@sum(warehouses(I): volume(I,J))=demand(J)); @for(warehouses(I):
@sum(vendors(J): volume(I,J))<=capacity(I));
data:
capacity=60 55 51 43 41 52;
demand=35 37 22 32 41 32 43 38; cost=6 2 6 7 4 2 9 5 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3; enddata end
Global optimal solution found.
Objective value: 638.0000 Total solver iterations: 16
Variable Value Reduced Cost
CAPACITY( WH1) 80.00000 0.000000 CAPACITY( WH2) 55.00000 0.000000 CAPACITY( WH3) 57.00000 0.000000 CAPACITY( WH4) 43.00000 0.000000 CAPACITY( WH5) 41.00000 0.000000 CAPACITY( WH6) 52.00000 0.000000 DEMAND( V1) 35.00000 0.000000 DEMAND( V2) 37.00000 0.000000 DEMAND( V3) 25.00000 0.000000 DEMAND( V4) 32.00000 0.000000 DEMAND( V5) 41.00000 0.000000 DEMAND( V6) 36.00000 0.000000 DEMAND( V7) 43.00000 0.000000 DEMAND( V8) 38.00000 0.000000 COST( WH1, V1) 8.000000 0.000000 COST( WH1, V2) 2.000000 0.000000 COST( WH1, V3) 6.000000 0.000000 COST( WH1, V4) 7.000000 0.000000 COST( WH1, V5) 4.000000 0.000000 COST( WH1, V6) 2.000000 0.000000 COST( WH1, V7) 9.000000 0.000000 COST( WH1, V8) 5.000000 0.000000 COST( WH2, V1) 4.000000 0.000000 COST( WH2, V2) 9.000000 0.000000 COST( WH2, V3) 5.000000 0.000000 COST( WH2, V4) 3.000000 0.000000 COST( WH2, V5) 8.000000 0.000000 COST( WH2, V6) 5.000000 0.000000 COST( WH2, V7) 8.000000 0.000000 COST( WH2, V8) 2.000000 0.000000 COST( WH3, V1) 5.000000 0.000000 COST( WH3, V2) 2.000000 0.000000 COST( WH3, V3) 1.000000 0.000000 COST( WH3, V4) 9.000000 0.000000 COST( WH3, V5) 7.000000 0.000000 COST( WH3, V6) 4.000000 0.000000 COST( WH3, V7) 3.000000 0.000000 COST( WH3, V8) 3.000000 0.000000 COST( WH4, V1) 7.000000 0.000000 COST( WH4, V2) 6.000000 0.000000 COST( WH4, V3) 7.000000 0.000000 COST( WH4, V4) 3.000000 0.000000 COST( WH4, V5) 11.00000 0.000000 COST( WH4, V6) 2.000000 0.000000 COST( WH4, V7) 7.000000 0.000000 COST( WH4, V8) 1.000000 0.000000 COST( WH5, V1) 2.000000 0.000000 COST( WH5, V2) 3.000000 0.000000 COST( WH5, V3) 9.000000 0.000000 COST( WH5, V4) 5.000000 0.000000 COST( WH5, V5) 7.000000 0.000000 COST( WH5, V6) 2.000000 0.000000 COST( WH5, V7) 6.000000 0.000000 COST( WH5, V8) 5.000000 0.000000 COST( WH6, V1) 5.000000 0.000000 COST( WH6, V2) 5.000000 0.000000 COST( WH6, V3) 2.000000 0.000000 COST( WH6, V4) 2.000000 0.000000 COST( WH6, V5) 8.000000 0.000000 COST( WH6, V6) 1.000000 0.000000 COST( WH6, V7) 4.000000 0.000000