搜档网
当前位置:搜档网 › 运筹学实验一线性规划求解、运输问题、整数规划求解

运筹学实验一线性规划求解、运输问题、整数规划求解

西华大学上机实验报告

一、实验目的

掌握线性规划求解的基本方法,熟悉灵敏度分析的步骤和内容;掌握运输问题的模型,概念,求解方法;掌握整数规划的算法。在熟悉lingo软件基本功能基础上,能熟练操作,正确完成模型求解过程及分析过程。

二、实验内容或设计思想

1.lingo软件和运筹学实验软件的安装及菜单熟悉了解.

2.lingo软件和运筹学实验软件应用内容之:任选几种不同类型的LP输入计算程序,运行求解;完成产销平衡的运输问题求解;求解任一整数规划。

三、实验环境与工具

计算机,lingo软件,运筹学软件

四、实验过程或实验数据

1、用lingo求解线性规划

用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

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软件计算运输问题

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( 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

VOLUME( WH1, V2) 37.00000 0.000000 VOLUME( WH1, V3) 0.000000 3.000000 VOLUME( WH1, V4) 0.000000 4.000000 VOLUME( WH1, V5) 41.00000 0.000000 VOLUME( WH1, V6) 2.000000 0.000000 VOLUME( WH1, V7) 0.000000 4.000000 VOLUME( WH1, V8) 0.000000 4.000000 VOLUME( WH2, V1) 0.000000 2.000000 VOLUME( WH2, V2) 0.000000 7.000000 VOLUME( WH2, V3) 0.000000 2.000000 VOLUME( WH2, V4) 14.00000 0.000000 VOLUME( WH2, V5) 0.000000 4.000000 VOLUME( WH2, V6) 0.000000 3.000000 VOLUME( WH2, V7) 0.000000 3.000000 VOLUME( WH2, V8) 0.000000 1.000000 VOLUME( WH3, V1) 0.000000 5.000000 VOLUME( WH3, V2) 0.000000 2.000000 VOLUME( WH3, V3) 14.00000 0.000000 VOLUME( WH3, V4) 0.000000 8.000000 VOLUME( WH3, V5) 0.000000 5.000000 VOLUME( WH3, V6) 0.000000 4.000000 VOLUME( WH3, V7) 43.00000 0.000000 VOLUME( WH3, V8) 0.000000 4.000000 VOLUME( WH4, V1) 0.000000 5.000000 VOLUME( WH4, V2) 0.000000 4.000000 VOLUME( WH4, V3) 0.000000 4.000000 VOLUME( WH4, V4) 5.000000 0.000000 VOLUME( WH4, V5) 0.000000 7.000000 VOLUME( WH4, V6) 0.000000 0.000000 VOLUME( WH4, V7) 0.000000 2.000000 VOLUME( WH4, V8) 38.00000 0.000000 VOLUME( WH5, V1) 35.00000 0.000000 VOLUME( WH5, V2) 0.000000 1.000000 VOLUME( WH5, V3) 0.000000 6.000000 VOLUME( WH5, V4) 0.000000 2.000000 VOLUME( WH5, V5) 0.000000 3.000000 VOLUME( WH5, V6) 6.000000 0.000000 VOLUME( WH5, V7) 0.000000 1.000000 VOLUME( WH5, V8) 0.000000 4.000000 VOLUME( WH6, V1) 0.000000 4.000000 VOLUME( WH6, V2) 0.000000 4.000000 VOLUME( WH6, V3) 11.00000 0.000000 VOLUME( WH6, V4) 13.00000 0.000000 VOLUME( WH6, V5) 0.000000 5.000000 VOLUME( WH6, V6) 28.00000 0.000000 VOLUME( WH6, V7) 0.000000 0.000000 VOLUME( WH6, V8) 0.000000 3.000000 Row Slack or Surplus Dual Price

1 638.0000 -1.000000

2 0.000000 -2.000000

3 0.000000 -2.000000

4 0.000000 -3.000000

5 0.000000 -3.000000

6 0.000000 -4.000000

7 0.000000 -2.000000

8 0.000000 -5.000000

9 0.000000 -1.000000

10 0.000000 0.000000

12 0.000000 2.000000

13 0.000000 0.000000

14 0.000000 0.000000

15 0.000000 1.000000

3、用lingo解整数规划问题

min=5*x1+x2+3*x3+7*x4+x5+x6+3*x7;

6*x1+3*x2+2*x3+x4+x5>=50;

x2+2*x4+x5+5*x6>=35;

x3+x5+3*x7>=10;

在lingo窗口输入以下代码,

min=5*x1+x2+3*x3+7*x4+x5+x6+3*x7;

6*x1+3*x2+2*x3+x4+x5>=50;

x2+2*x4+x5+5*x6>=35;

x3+x5+3*x7>=10;

@gin(x1);@gin(x2);@gin(x3);

@gin(x4);@gin(x3);@gin(x6);@gin(x7);

END

运行结果为:

Global optimal solution found.

Objective value: 27.00000

Extended solver steps: 0

Total solver iterations: 4

Variable Value Reduced Cost

X1 0.000000 5.000000

X2 14.00000 1.000000

X3 0.000000 2.000000

X4 0.000000 7.000000

X5 10.00000 0.000000

X6 3.000000 1.000000

X7 0.000000 0.000000

Row Slack or Surplus Dual Price

1 27.00000 -1.000000

2 2.000000 0.000000

3 4.000000 0.000000

4 0.000000 -1.000000

五、总结

正确安装了运筹学的lingo实验软件,对lingo软件的菜单有了一定的了解和熟悉,掌握了线性规划求解的基本方法,了解灵敏度分析的步骤和内容;掌握了运输问题的模型,概念,求解方法;掌握了整数规划的算法。在熟悉lingo软件基本功能基础上,基本能够熟练操作,正确完成模型求解过程及分析过程。认识到了软件求解问题的优越性,顺利完成了实验任务。

运筹学实验报告-线性规划

商学院 课程实验报告 课程名称 运筹学 专业班级 金融工程班 姓 名 指导教师 成 绩 2018年 9 月 20日 学号:

表2 所需营业员统计表 星期一二三四五六日需要人数300 300350400480600 550 3.建立线性规划模型 设x j(j=1,2,…,7)为休息2天后星期一到星期日开始上班的营业员数量,则这个问题的线性规划问题模型为 minZ=x1+x2+x3+x4+x5+x6+x7 {x1+x4+x5+x6+x7≥300 x1+x2+x5+x6+x7≥300 x1+x2+x3+x6+x7≥350 x1+x2+x3+x4+x7≥400 x1+x2+x3+x4+x5≥480 x2+x3+x4+x5+x6≥600 x3+x4+x5+x6+x7≥550 x≥0,j=1,2,…,7 (二)操作步骤 1.将WinQSB安装文件复制到本地硬盘,在WinQSB文件夹中双击setup.exe。 图1 WinQSB文件夹 2.指定安装软件的目标目录,安装过程中输入用户名和单位名称(任意输入),安装完毕之后,WinQSB菜单自动生成在系统程序中,熟悉软件子菜单内容和功能,掌握操作命令。

图2 目标目录 3.启动线性规划和整数规划程序。点击开始→程序→WinQSB→Linear and Lnteger Programming,屏幕显示如图3所示的线性规划和整数规划界面。 图3 线性规划 4.建立新问题或打开磁盘中已有文件。按图3所示操作建立或打开一个LP问题,或点击File→New Problem建立新问题。点击File→Load Problem打开磁盘中的数据文件,点击File→New Problem,出现图4所示的问题选项输入界面。 图4 建立新问题

运筹学实验指导书

Excel中规划求解宏模块的使用 Excel自带的宏模块“规划求解”可用于求解线性规划、非线性规划、整数规划的最优解。 规划求解宏模块在Excel普通运行状况下一般不会启动,当需要调用时,可以从工具菜单条中加载宏来启动,其基本步骤如下。 (1)在工具菜单中选择“加载宏”选型。 (2)在加载宏对话框中选择“规划求解”选型。 图0-1加载“规划求解”宏 (3)如果成功加载,则在工具菜单条中会出现“规划求解”选型。 由此,可以运用规划求解宏模块求解任何一个线性规划问题、整数规划问题、非线性规划问题,分别举例说明如下。 例1 营养配餐问题 根据生物营养学理论,一个成年人每天要维持人体正常的生理健康需求,需要从食物中获取3000卡路里热量、55g蛋白质和800mg钙。假定市场上可供选择的食品有猪肉、鸡蛋、大米和白菜,这些食品每千克所含热量和营养成分以及市场价格如表1-1所示。如何选购才能在满足营养的前提下,使购买食品的总费用最小? 表0-1 营养配餐问题数据表

解,建立该问题的线性规划模型如下: 假设x j (j=1,2,3,4)分别为猪肉、鸡蛋、大米和白菜每天的购买量,则其线性规划模型为: ??? ??? ?=≥≥+++≥+++≥++++++=)4,3,2,1(080050030020040055 1020605030002009008001200..24820min 43214 32143214 321j x x x x x x x x x x x x x t s x x x x z j 第一步:需要在Excel 中建立该问题的电子表格模型,如图0-2所示。 图0-2 营养配餐问题的Excel 表模型 其中单元格B10:E10设置为决策变量单元格,F12设置为目标单元格,F4:F6设置为三个约束条件的左边项,即表示实际获得的营养。目标单元格和约束条件左边项的函数如图0-3所示 图0-3营养配餐问题中的公式设置 函数sumproduct(区域1,区域2)为Excel 的常用函数,表示将区域1中对应元素与区域2中对应元素相乘后再相加。 第二步:调用Excel 中的“规划求解”宏,并设置目标单元格、可变单元格(即决策变量)、约束条件地址参数,如图0-4所示。

运筹学中的线性规划与整数规划

运筹学中的线性规划与整数规划在运筹学中,线性规划和整数规划是两个常用且重要的数学模型。它们被广泛应用于资源分配、生产调度、物流管理等问题的决策过程中。本文将介绍线性规划和整数规划的基本概念、数学模型以及求解方法。 一、线性规划 线性规划是一种通过线性关系来描述问题的数学模型。它的目标是在给定的约束条件下,找到使目标函数达到最优的决策变量取值。线性规划模型一般可以表示为如下形式: Max/Min Z = c₁x₁ + c₂x₂ + ... + cₙxₙ s.t. a₁₁x₁ + a₁₂x₂ + ... + a₁ₙxₙ ≤ b₁ a₂₁x₁ + a₂₂x₂ + ... + a₂ₙxₙ ≤ b₂ ... aₙ₁x₁ + aₙ₂x₂ + ... + aₙₙxₙ ≤ bₙ x₁, x₂, ..., xₙ ≥ 0 其中,Z表示目标函数值,c₁, c₂, ..., cₙ表示目标函数的系数,x₁, x₂, ..., xₙ为决策变量,a₁₁, a₁₂, ..., aₙₙ为约束条件的系数,b₁, b₂, ..., bₙ为约束条件的右侧常数。 线性规划的求解方法主要有两类:图形法和单纯形法。图形法适用于二维问题,通过绘制目标函数和约束条件在坐标系中的图形,找到

交点来确定最优解。而单纯形法适用于多维问题,通过迭代计算,逐 步接近最优解。 二、整数规划 整数规划是线性规划的一种特殊情况,它要求决策变量的取值必须为整数。整数规划模型可以表示为如下形式: Max/Min Z = c₁x₁ + c₂x₂ + ... + cₙxₙ s.t. a₁₁x₁ + a₁₂x₂ + ... + a₁ₙxₙ ≤ b₁ a₂₁x₁ + a₂₂x₂ + ... + a₂ₙxₙ ≤ b₂ ... aₙ₁x₁ + aₙ₂x₂ + ... + aₙₙxₙ ≤ bₙ x₁, x₂, ..., xₙ ∈ Z 其中,Z表示目标函数值,c₁, c₂, ..., cₙ表示目标函数的系数,x₁, x₂, ..., xₙ为整数决策变量,a₁₁, a₁₂, ..., aₙₙ为约束条件的系数,b₁, b₂, ..., bₙ为约束条件的右侧常数。 由于整数规划中决策变量的取值范围更为限制,整数规划的求解更加困难。常用的整数规划求解方法有分支定界法、割平面法和整数规 划启发式算法等。 三、线性规划与整数规划的应用 线性规划和整数规划在实际应用中有着广泛的应用。以下列举几个常见的应用领域:

运筹学实验一线性规划求解、运输问题、整数规划求解

西华大学上机实验报告 一、实验目的 掌握线性规划求解的基本方法,熟悉灵敏度分析的步骤和内容;掌握运输问题的模型,概念,求解方法;掌握整数规划的算法。在熟悉lingo软件基本功能基础上,能熟练操作,正确完成模型求解过程及分析过程。 二、实验内容或设计思想 1.lingo软件和运筹学实验软件的安装及菜单熟悉了解. 2.lingo软件和运筹学实验软件应用内容之:任选几种不同类型的LP输入计算程序,运行求解;完成产销平衡的运输问题求解;求解任一整数规划。 三、实验环境与工具 计算机,lingo软件,运筹学软件 四、实验过程或实验数据 1、用lingo求解线性规划 用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

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软件计算运输问题 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

运筹学实验6整数规划

实验六、用EXCEL 求解整数规划 用单纯形法求解线性规划问题,最优解可能是整数,也可能不是整数,但在很多实际问题中,要求全部或部分变量的取值必须是整数,如所求的解是安排上班的人数,按某个方案裁剪钢材的根数,生产设备的台数等等。对于整数解的线性规划问题,不是用四舍五入或去尾法对线性规划的非整数解加以处理都能解决的,而要用整数规划的方法加以解决,如分枝定界法和割平面算法。这些算法比单纯形法更为复杂,因此,一般的学习者要想掌握整数规划的数学算法有一定的困难。然而事实上,由于Excel 的[工具][规划求解]可以求解整数规划问题,所以,对于一个真正有志于运用运筹学方法解决生产经营中问题的管理者来说,算法将不是障碍因素。 一、实验目的 1、 掌握如何建立整数线性规划模型,特别是0~1逻辑变量在模型中的应用。 2、 掌握用Excel 求解整数线性规划模型的方法。 3、 掌握如何借助于Excel 对整数线性规划模型进行灵敏度分析,以判断各种可能 的变化对最优方案产生的影响。 4、 读懂Excel 求解整数线性规划问题输出的运算结果报告和敏感性报告。 二、 实验内容 1、 整数规划问题模型 该问题来自于《运筹学基础及应用》(第四版)胡运权主编P126习题4.13,题目如下: 需生产2000件某种产品,该种产品可利用A 、B 、C 、D 设备中的任意一种加工,已知每种设备的生产准备结束费用、生产该产品时的单件成本以及每种设备限定的最大加工数量(件)如表1所示,问企业应该如何安排设备生产该产品才能使得总的生产成本最少,试建立该问题的数学模型并求解。 该产品可以利用四种不同的设备加工,由于采用不同的设备加工需要支付不同的准备结束费用,而如果不采用某种设备加工,是不需要支付使用该设备的准备结束费用的,所以必须借助于逻辑变量来鉴定准备结束费用的支付。 再设 ,种设备加工的产品数量 为利用第设;4,3,2,1=j j x j ⎪⎩⎪⎨ ⎧=>=)种设备生产(即,若不使用第 )种设备生产(即若使用第000,1j j i x j x j y 4,3,2,1=j 则问题的整数规划模型为: 43214321281624207008009801000min x x x x y y y y z +++++++= ⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨ ⎧==≥≤≤≤≤=+++4 ,3,2,110,01600120010009002000..4 43322114321 j y x y x y x y x y x x x x x t s j j ,或

运筹学实验报告(一)线性规划问题的计算机求解

运筹学实验报告 实验课程:运筹学实验日期: 2020 年4月4日任课教师:杨小康 班级:数学1802 姓名:王超学号:2501180224 一、实验名称: 简单线性规划模型的求解与Lingo软件的初步使用 二、实验目的: 了解Lingo软件的基本功能和简单线性规划模型的求解的输入和输出结果。熟悉Lingo 软件在运筹学模型求解中的作用,增强自身的动手能力,提高实际应用能力 三、实验要求: 1、熟悉Lingo软件的用户环境,了解Lingo软件的一般命令 2、给出Lingo中的输入,能理解Solution Report中输出的四个部分的结果。 4、能给出最优解和最优值; 5、能给出实际问题的数学模型,并利用lingo求出最优解 四、报告正文(文挡,数据,模型,程序,图形): 1.在Lingo中求解下面的线性规划数学模型; (1) 12 13 24 125 12345 max25 4 3 .. 28 ,,,,0 z x x x x x x s t x x x x x x x x =+ += ? ?+= ? ? ++= ? ?≥ ?

(2) 12 1 2 12 12 max23 4 3 .. 28 ,0 z x x x x s t x x x x =+ ≤ ? ?≤ ? ? +≤ ? ?≥ ?

(3) 12 1 2 12 12 max2 4 3 .. 28 ,0 z x x x x s t x x x x =+ ≤ ? ?≤ ? ? +≤ ? ?≥ ?

(4) 12 12 12 12 max3 24 ..3 ,0 z x x x x s t x x x x =+ -≤ ? ? -+≤ ? ?≥ ?

运筹学实验报告

实验一:线性规划问题 1、实验目的: ①学习建立数学模型的方法,并懂得区别运筹学中不同分支的数学模型的特点。 ②掌握利用计算机软件求解线性规划最优解的方法。 2、实验任务 ①结合已学过的理论知识,建立正确的数学模型; ②应用运筹学软件求解数学模型的最优解 ③解读计算机运行结果,结合所学知识给出文字定性结论 3、实验仪器设备:计算机 4、实验步骤: (1)在主菜单中选择线性规划模型,在屏幕上就会出现线性规划页面,如图所示。(2)在点击“新建”按钮以后,按软件的要求输入目标函数个数和约束条件个数,输入目标函数及约束条件的各变量的系数和b值,并选择好“≥”、“≤”或“=” 号,如图所示。 (3)当约束条件输入完毕后,请点击“解决”按钮,屏幕上将显现线性规划问题的结果,如图所示。 例题一:

例题二: 例题三:

例题四:

例题五

5、试验体会或心得 运筹学是一门实用的学科,学习运筹学,结合生活实际运用运筹学,我们可以将资源最大化利用。学习理论的目的就是为了解决实际问题。线性规划的理论对我们的实际生活指导意义很大。当我们遇到一个问题,需要认真考察该问题。如果它适合线性规划的条件,那么我们就利用线性规划的理论解决该问题。 线性规划指的是在资源有限的条件下,为达到预期目标最优,而寻找资源消耗最少的方案。其数学模型有目标函数和约束条件组成。一个问题要满足一下条件时才能归结为线性规划的模型:⑴要求解的问题的目标能用效益指标度量大小,并能用线性函数描述目标的要求;⑵为达到这个目标存在很多种方案;⑶要到达的目标是在一定约束条件下实现的,这些条件可以用线性等式或者不等式描述。所以,通过这次实验,不仅对运筹学的有关知识有了进一步的掌握,同时对在自己的计算机操作水准也有了很大的提高。这次实验让我懂得了运筹学在电脑的应用,让我对运输与数学相结合的应用理解更深了。

运筹学实验

运筹学实验 《运筹学实验》1——线性规划建模与求解(周二、三) 一.实验目的及要求 1. 掌握线性规划建模的方法与过程,体会线性规划建模的核心思想。 2. 掌握线性规划问题的求解方法。 3.掌握用Matlab或LINDO求解线性规划问题的基本方法和步骤,学会分析Matlab或LINDO的计算结果。 4.锻炼应用所学知识解决综合性问题的能力 二.实验设备与器件 1.安装win98系统以上的计算机 2.malab6.0或LINDO6.01或更高版本的软件 三.实验原理 ①线性规划常见可以解决资源分配问题,成本效益平衡问题。在求解线性规划时,常用的方法有图解法和单纯形法。单纯形法基本思路是:先找出一个基本可行解,判断其是否为最优解,如果不是最优解,则转换到相邻的基本可行解,并使目标函数值不断增大,直到找出最优解或判断有无界解、无解为止。本实验是合理利用线材问题属于解决资源分配问题 ②使用LINDO 6.01进行操作:LINDO(Linear Interactive and Discrete Optimizer)是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题,因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO 中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。 四.实验内容 实验准备:

1 自学运筹学实验指导书第一、二两章,复习巩固Matlab基础知识; 2 复习课本《运筹学基础及应用》第一章,熟悉线性规划模型建模的过程,模型标准化及模型求解的思路和过程,最优解判定的准则和方法。 实验内容: 1 自学运筹学实验指导书第三章,掌握线性规划模型求解的软件技术; 2 利用软件实现运筹学实验指导书第三章所有例题的求解计算; 3 参照例题,总结提炼线性规划建模与求解过程的主要难点问题、模型求解的程序命令及其适用条件等,形成便于自己理解的规范的操作指南; 4 利用前面总结的方法,完成如下习题的求解: ● 1.7 化标准型并用程序命令求解 ● 1.12 建立模型,化标准型并用程序命令求解 5 完成如下实际问题的建模与求解。 线材切割问题 在很多工程领域,都有线材切割问题。这一问题可表述为: 设能购买到的不同长度的原线材有m种,长度分别为L1,...,Lm,这些原线材只是长度不同,其它都相同。某工程中所要切割出的线材长度分别为li,i=1,2,...,n(这里li < 所有Li),对应数量分别为Ni,i=1,2,...,n。设计优化计算方案,求出分别需要购买多少根不同长度的原线材,并能给出切割方案及线材利用率。 具体事例 现假设某装修工程中需要对铝合金线材进行切割,工程能购买到的同一规格的铝合金线材有二种长度,一种长度是8米,另一种是12米。现在假设要切割长度和数量如下所示的铝合金线材: 表 5.1 编号长度(单位:米)数量(单位:根) 1 6.20 90

运筹学中的线性规划和整数规划

运筹学中的线性规划和整数规划运筹学是一门涉及决策分析、优化、模型构建和仿真等知识领域的学科,应用广泛,如供应链管理、交通规划、制造业生产、金融投资等方面。其中,线性规划和整数规划是运筹学中最为基础和重要的优化技术,被广泛应用于各个领域。 一、线性规划 线性规划是一种在一组线性约束条件下,求解线性目标函数极值问题的数学方法。在生产、运输、选址等问题中,线性规划都有着重要的应用。其数学模型可以表示为: $\max c^Tx$ $s.t. Ax \leq b,x\geq 0$ 其中$c$为目标函数的向量,$x$为决策变量向量,$A$为约束矩阵,$b$为约束向量,$c^Tx$表示目标函数的值,$\leq$表示小于等于。

如果目标函数和约束都是线性的,则可以通过线性规划的求解 方法来确定决策变量的最优值。线性规划的求解方法一般分为单 纯形法和内点法两种方法。 单纯性法是线性规划中最为常用的方法,通过对角线交替调整,逐步从可行解中寻找最优解,收敛速度较快,但是存在不稳定的 情况。 内点法是近年来发展起来的用于求解大规模线性规划问题的数 值方法,其核心思想是迭代求解一系列线性方程组,每次保持解 在可行域内部,直到找到最优解为止。这种方法对大规模问题求 解能力强,使用较多。 二、整数规划 整数规划是线性规划的升级版,它要求决策变量必须取整数值。整数规划在很多实际问题中都有着重要的应用,比如很多生产过 程中需要将生产数量取整数,物流路径问题需要选取整数条路径等。

与线性规划不同的是,整数规划是NP难问题,没有一种有效的算法能够完全解决所有的整数规划问题。因此,通常需要采用分支定界、割平面等方法来求解。 分支定界是一种常用的整数规划求解方法。它通过将整数规划问题分为多个子问题,依次求解这些子问题并优化当前最优解,以逐步逼近最优解。割平面法则是在分支定界方法的基础上加入约束条件,使得求解过程更加严格化,最终得到更好的结果。 总的来说,运筹学中线性规划和整数规划是不可或缺的优化工具,我们可以通过理论和实践加深对它们的理解。未来,在更加复杂的实际应用场景下,这两种技术也将不断发展和创新,为各种决策分析和优化问题提供更加高效和精确的解决方案。

运筹学实验报告(一)线性规划问题的计算机求解-(1)

运筹学实验报告(一)线性规划问题的计算机 求解-(1) -CAL-FENGHAI.-(YICAI)-Company One1

运筹学实验报告实验课程:运筹学实验日期: 任课教师:王挺

第五种方案0 3 0 0 第六种方案0 1 1 3 第七种方案0 0 2 1 设:第i种方案需要的钢管为Xi根(其中i=1,2...6),可得: minz=X1+X2+X3+X4+X5+X6+X7 解:model: min= X1+X2+X3+X4+X5+X6+X7; 3*X1+2*X2+2*X3+X4>=100; X2+2*X4+3*X5+X6>=150; X3+X6+2*X7>=120; end Objective value: 135.0000 Infeasibilities: 0.000000 Total solver iterations: 2 Variable Value Reduced Cost X1 0.000000 0.2500000 X2 0.000000 0.1666667 X3 50.00000 0.000000 X4 0.000000 0.8333333E-01 X5 50.00000 0.000000 X6 0.000000 0.1666667 X7 35.00000 0.000000 4人力资源分配问题 某昼夜服务的公交线路每天各时间段内所需司机和乘务人员人数如表1所示。 班次时间所需人数班次时间所需人数 1 6:00~10:00 60 4 18:00~22:00 50 2 10:00~14:00 70 5 22:00~2:00 20 3 14:00~18:00 60 6 2:00~6:00 30 设司机和乘务人员分别在各时间段开始时上班,并连续工作8小时,问该公交线路应怎样安排司机和乘务人员,既能满足工作需要,又使配备司机和乘务人员的人数最少?

运筹学实验线性规划实验报告

荆楚理工学院 运筹学实训实验室实验报告 课程名称:运筹学实训 专业:数学与应用数学 实验题目 利用excel 实现单纯形表计算 学生姓名 李武阳 赵星浩 王 铖 学 号 2016409010113 2016409010114 2018ZSB091107 班级 16级数学与应用数学1班 指导教师 张玲 实验日期 2018.10.10 成绩 一、实验目的与要求: 1、理解单纯形算法的原理和基本过程 2、能利用EXCEL 实现单纯形表计算 二、实验任务: 利用excel 实现下列线性规划问题的单纯形算法的过程 1、在excel 中输入单纯形表; 2、在表格中计算检验数; 3、在表格中实现换基运算; 4、在表格中实现初等行变换。 用单纯形法解决下面线性规划问题(用大M 法); ⎪⎪⎩⎪⎪⎨⎧≥≥≥+≥+++-=0,,0 -222-622max 32132313213 21x x x x x x x x x x x x x Z 三、实验步骤和结果,(给出主要过程的文字说明,包含代码、图、表) 1、在excel 表格中输入题目数据;

2、计算检验数,找出最大的检验数并进基X2退基X9; 3、重复换基,当人工变量全部退基时候,X4的检验数为1.25理应进基,但X4所在列的系数均小于等于0,即线性规划问题有无界解。(具体计算过程如下所示) 由上面的结果可以得到: 此线性方程组的可行域是无界的,所以该线性方程组无有限解。 四、实验总结(对实验过程进行分析,总结实验过程中出现的问题、体会和收获) 本次实验在excel表格中完成,所以容易因为看错数字而出错,单纯形表的运算性质决定在一步错之后往往需要重新算,所以比较费时费力,我们在计算时要注意每个量及每一步的进基和出基的选择。但是我们可以利用这个方法可以解决实际问题中比较复杂的一些线性规划问题,特别是一些手工计算难以求解的问题。 五附录 Excel

运筹学excel运输问题实验报告(一)

运筹学excel运输问题实验报告(一) 运筹学Excel运输问题实验报告 实验目的 通过运用Excel软件解决运输问题,加深对运输问题的理解和应用。 实验内容 本实验以四个工厂向四个销售点的运输为例,运用Excel软件求解运输问题,主要步骤如下: 1.构建运输问题表格,包括工厂、销售点、单位运输成本、每个工 厂的供应量、每个销售点的需求量等内容。 2.使用Excel软件的线性规划求解工具求解该运输问题,确定每条 路径上的运输量和总运输成本。 3.对结果进行分析和解释,得出优化方案。 实验步骤 1.构建运输问题表格 工厂/销售点 A B C D 供应量 1 4元/吨8元/吨10元/吨11元/吨35吨 2 3元/吨7元/吨9元/吨10元/吨50吨 3 5元/吨6元/吨11元/吨8元/吨25吨 4 8元/吨7元/吨6元/吨9元/吨30吨 需求量45吨35吨25吨40吨 2.使用Excel软件的线性规划求解工具求解该运输问题 在Excel软件中选择solver,按照下列步骤完成求解:

1.添加目标函数:Total Cost=4AB+8AC+10AD+11AE+ 3BA+7BC+9BD+10BE+5CA+6CB+11CD+8CE+ 8DA+7DB+6DC+9DE 2.添加约束条件: •A供应量: A1+A2+A3+A4=35 •B供应量: B1+B2+B3+B4=50 •C供应量: C1+C2+C3+C4=25 •D供应量: D1+D2+D3+D4=30 •A销售量: A1+B1+C1+D1=45 •B销售量: A2+B2+C2+D2=35 •C销售量: A3+B3+C3+D3=25 •D销售量: A4+B4+C4+D4=40 3.求解结果 工厂/销售点 A B C D 供应量 1 10吨25吨0吨0吨35吨 2 0吨10吨35吨5吨50吨 3 0吨0吨15吨10吨25吨 4 35吨0吨0吨0吨30吨 需求量45吨35吨25吨40吨 单位运输成本4元/吨8元/吨10元/吨11元/吨 总运输成本2785元1480元875元550元 4.结果分析和解释 通过求解结果可知,工厂1最终向A销售10吨、向B销售25吨;工厂2最终向B销售10吨、向C销售35吨、向D销售5吨;工厂3最终向C销售15吨、向D销售10吨;工厂4最终向A销售35吨。总运输成本为5485元。 根据求解结果可以得出(见下表): 工厂/销 售点 A B C D 总供给 量 总需求 量运输路径 1 10250吨0吨35吨45吨1A → A1A → B

管理运筹学实验报告

学生实验报告 课程名称:《管理运筹学》 年级: 专业: 指导教师: 学号: 姓名: 实验地点: 学年至学年度第学期

目录 实验一线性规划建模及求解 实验二运输问题 实验三整数规划问题 实验四目标规划 实验五用lingo求解简单的规划问题

实验一线性规划建模及求解 实验目的: 1.掌握线性规划模型建立; 2.掌握管理运筹学软件的使用方法; 3. 掌握线性规划的求解原理和方法。 实验内容: 某轮胎厂计划生产甲、乙两种轮胎,这两种轮胎都需要在A、B、C三种不同的设备上加工。每个轮胎的工时消耗定额、每种设备的生产能力以及每件产品的计划如表所示。问在计划内应该如何安排生产计划,使总利润最大? 产品甲产品乙生产能力/h 设备A 7 3 215 设备B 4 5 205 设备C 2 4 180 70 65 - 计划利润(元/ 件) (1)请建立模型。 (2)根据建立的模型,请使用“管理运筹学”软件求得结果(将单纯形表计算过程和结果输出窗口进行截图,然后根据截图回答应如何安排生产计划,总利润为多少)。

答:如截图所示,应该安排生产甲产品20件,乙产品25件,且总利润最大为3025元 指导教师批阅: (1)实验态度:不认真(),较认真(),认真() (2)实验内容:不完整(),较完整(),完整() (3)实验步骤:不清晰(),较清晰(),清晰() (4)实验结果:不正确(),基本正确(),正确() (5)其它补充: 评阅教师(签字):

实验二:运输问题 实验目的: 1.理解运输问题基本概念; 2.掌握管理运筹学软件的使用方法; 3. 掌握表上作业法。 实验内容: 某集团公司在全国三个分公司生产同一种设备,发往5个地区,各产地的产量、各需求地区的需求量和单位运费如下表所示,其中第二个地区的需求115台必须满足。求使得总运费最少的方案。 (1)给出产销平衡与运价表。 (2)将产销平衡与运价表输入到软件中进行计算,对结果进行截图并解释。 销地 B1 B2 B3 B4 B5 产量/台 运输单价 产地 A1 15 15 20 20 40 50 A2 15 40 15 30 30 100 A3 25 35 40 55 25 130 需求量/台25 115 60 30 70 300 280

运筹学实验一:规划求解操作(线性规划问题)

实验一:规划求解操作(线性规划问题) 一、实验目的 在Excel 软件中加载规划求解工具,使用Excel 软件求解线性规划问题。 二、实验内容 1. 在Excel 软件中,加载“规划求解”工具。 2. 在Excel 窗体上输入问题的数据及计算公式。 3. 使用规划求解进行分析,找出线性规划问题的最优解。 4. 对结果进行简单分析。 某营养师建议一位缺铁质与维生素B 的病人,应在一段时间内摄取至少2400mg 的铁质、2100mg 的维生素B1与1500mg 的维生素B2。现在考虑A, B 两个牌子的维生素,A 牌的维生素每颗含40mg 铁质、10mg 维生素B1与5mg 维生素B2;B 牌的维生素每颗含10mg 铁质,以及各15mg 的维生素B1与B2。已知A 牌维生素每颗6元,B 牌每颗为8元。试问在满足营养师建议的情况下,A 与B 两种厂牌的维生素各应服用多少才能使花费的费用最少? 12 121 212 12min 684010240010152100 .5151500,0 z x x x x x x s t x x x x =++≥⎧⎪+≥⎪⎨+≥⎪⎪≥⎩ 三、实验步骤 1. 加载规划求解工具,如图1-1a~图1-1c 。 2. 在窗体上输入问题数据及模块,服用量可先输入任意数值,如图1-2。 3. 输入目标函数和约束的计算公式,如图1-3。 4. 打开规划求解工具,如图1-4。

5. 完成规划求解的参数设定,如图1-5a~图1-5d。 6. 找出线性规划问题的最优解,如图1-6a与图1-6b。 图1-1a 加载规划求解工具 图1-1b 加载规划求解工具

运筹学实验报告之整数线性规划

数学与软件科学学院 实验报告 学期:2012_至_2013 第_1_ 学期 2012_年12_月13_日 课程名称:_运筹学 专业:数学与应用数学__ 2011级__1__班 实验编号:3 实验项目____整数线性规划__ 指导教师__黄娟___ 姓名: 杨志刚 学号: 20110601051 实验成绩:_____ 一、实验目的及要求 利用Matlab 求解整数线性规划,掌握相关函数的调用格式和参数的具体含义。 二、实验内容 把优化问题转化为Matlab 能识别的矩阵运算, 调用Matlab 提供的优化函数, 编写相应的M 文件,并执行相应的程序。 三、实验步骤(该部分不够填写.请填写附页) 整数线性规划的求解步骤 <1> 把整数线性规划化为要求的格式 <2> 将程序BranchBound.m 放到当前目录中。 <3> 编写M 文件(ILP.m),并保存。 f=[-3 -2]'; a=[-1 2; 5 2; -1 -1]; b=[4; 16; 1]; [x,f_opt]= BranchBound(f, a, b, [], []) <4> 运行M 文件。 在》后输入ILP ,按“Enter”键。 ⎪⎪⎪⎩⎪⎪⎪⎨⎧≤--≤+≤+---=为整数2121212121,1162542..23min x x x x x x x x t s x x z

0-1规划的求解步骤 <1> 把0-1规划化为要求的格式 <2> 编写M 文件(ILP01.m),并保存。 f=[0 0 0 0 0 0 -30 -30 -45 -45 -55 -55 -50 -50]'; a=[400 0 320 0 560 0 250 0 330 0 500 0 450 0;0 400 0 320 0 560 0 250 0 330 0 500 0 450; 0 0 0 0 0 0 1 1 0 0 0 0 0 0 ; 0 0 0 0 0 0 0 0 1 1 0 0 0 0 ;0 0 0 0 0 0 0 0 0 0 1 1 0 0 ;0 0 0 0 0 0 0 0 0 0 0 0 1 1]; b=[1000; 1500; 1; 1;1;1]; a_eq=[1 1 0 0 0 0 0 0 0 0 0 0 0 0; 0 0 1 1 0 0 0 0 0 0 0 0 0 0; 0 0 0 0 1 1 0 0 0 0 0 0 0 0 ]; b_eq=[1 1 1]; [x,f_opt,flag]=bintprog(f, a, b, a_eq, b_eq) f_min=180+f'*x <3> 运行M 文件。 在》后输入ILP01,按“Enter”键。 实 验 报 告 附 页 ⎪⎪⎪⎪⎩ ⎪⎪⎪⎪⎨⎧)5050555545453030(180)(min 7271626152514241x x x x x x x x x f +++++++-=100045050033025056032040071615141312111≤++++++x x x x x x x 150045050033025056032040072625242322212≤++++++x x x x x x x ,14241≤+x x ,15251≤+x x ,16261≤+x x ,17271≤+x x ,11211=+x x ,12221=+x x ,13231=+x x 2,1,7,,2,1,10===j i x ij 或..t s

运筹学上机实验

运筹学课内实验报告 这个学期我们进行了为期三周的运筹学上机实验。这次的实验内容主要是线性规划,对偶理论以及运输问题。在实验中我们依靠WinQSB软件来实现各个问题的解答。 WinQSB是一种教学软件,对于非大型的问题一般都能计算,较小的问题还能演示中间的计算过程,特别适合多媒体课堂教学。该软件可应用于管理科学、决策科学、运筹学及生产运作管理等领域的求解问题, 首先我们要做得第一步就是熟悉软件的界面,内容以及操作方式。我们主要进行的操作就是建立新问题,输入模型,求解模型,以及对结果的简单分析。 在第一部分线性规划问题中,我们要解决的问题分别是夹菜第一章第六节的例10、例11、例13以及课后作业题1.9和1.11。 下面我将展示我的求解过程和求解结果。 例10的求解过程 合理利用线材问题。现在要做100套钢架,每套用长为2.9m,2.1m和1.5m 的元钢各一根。已知原料长7.4m,问应如何下料,使用的原材料最省。 在解题过程中,我们NEW PROBLEM命令中输入所需的变量,输入完成后出现下图。 在菜单中选择运行结果。得出的结果如下图。

从图中我们可以看出,X1为方案1,按方案1应下料30根,X2为方案2,按方案2 应下料10根,X3为方案3,按方案3应下料50根。即需90根原材料可以制造100套钢架。 例11.某工厂要用三种原材料C、P、H混合调配出三种不同规格的产品A、B、D。已知产品规格要求,产品单价,每天能供应的原材料数量以及原材料单价,分别见表,该厂如何安排生产,使利润收入为最大。 用WINQSB求解问题如下。 在NEW PROBLEM中输入所需变量。点击确定,出现下表。 点击运行,求出结果如下。

运筹学实验报告

运 筹 学 实 验 报 告 学院:经济管理学院 专业班级:工商11-2班 姓名:石慧婕 学号:311110010207

实验一线性规划 一实验目的 学习WinQSB软件的基本操作,利用Linear Programming功能求解线性规划问题。掌握线性规划的基本理论与求解方法,重点在于单纯形法的应用以及灵敏度分析方法。 二、实验内容 安装WinQSB软件,了解WinQSB软件在Windows环境下的文件管理操作,熟悉软件界面内容,掌握操作命令。利用Linear Programming功能建立线性模型,输入模型,求解模型,并对求解结果进行简单分析。 三实验步骤 1.将WinQSB文件复制到本地硬盘;在WinQSB文件夹中双击setup、exe。 2.指定安装WinQSB软件的目标目录(默认为C:\ WinQSB)。 3.安装过程需要输入用户名与单位名称(任意输入),安装完毕之后,WinQSB菜单自动生成在 系统程序中。 4.熟悉WinQSB软件子菜单内容及其功能,掌握操作命令。 5.求解线性规划问题。启动程序开始→程序→WinQSB→Linear and Integer Programming。 某工厂要用三种原材料C、P、H混合调配出三种不同规格的产品A、B、D。已知产品的规格要求,产品单价,每天能供应的原材料数量及原材料单价分别见下表1与2。该厂应如何安排生产,使利润收入为最大? 表1 表2

C P H 100 100 60 65 25 35 (1)计算过程 (1)利用WinQSB软件,根据建立的数据模型,设定完成后建立问题的电子表格;在电子表格中输入各个系数,保存。如下图: 点击菜单栏Solve and Analyze中的Solve the Problem项或者点击工具栏中的图标用单纯形法求解,查瞧求解得出的结果; (2)点击菜单栏Solve and Analyze中的Solve and Display Steps,查瞧单纯形法在求解该问题时的具体迭代步骤;

运筹学实验报告

运筹学实验报告 一、实验名称线性规划问题 1、实验目的: ①学习建立数学模型的方法,并懂得区别运筹学中不同分支的数学模型的特点。 ②掌握利用计算机软件求解线性规划最优解的方法。 2、实验任务 ①结合已学过的理论知识,建立正确的数学模型; ②应用运筹学软件求解数学模型的最优解 ③解读计算机运行结果,结合所学知识给出文字定性结论 3、实验仪器设备:计算机 4、实验步骤:

5、试验体会或心得 通过上机实践,基本上学会使用软件求解运筹学中常见的数学模型。学会了对具体方法与模型的学习,在分析问题,设置变量是要有清晰的思路。对问题的分析、建模,锻炼了我思考能力,同时提高了分析和建模的能力。认识到了运筹学在经营管理中作为提高决策水平的方法和工具的作用,了解了运筹学在分析与解决实际问题过程中的基本思想和基本思路,更好的铺垫了以后的学习。运筹学模型的建立与求解,是对实际问题的概括与提炼,是对实际问题的数学解答。而通过本次的实验,我也深刻的体会到这一点。将错综复杂的实例问题抽象概括成数学数字,再将其按要求进行求解得到结果,当然还有对结果的检验与分析也是不可少的。在这一系列的操作过程中,不仅可以体会到数学问题求解的严谨和规范,同时也有对运筹学解决问题的喜悦。

二、实验名称整数规划与运输问题 1、实验目的: ①学习建立数学模型的方法,并懂得区别运筹学中不同分支的数学模型的特点。 ②掌握利用计算机软件求解最优物资调运方案的方法。 ③掌握利用计算机软件求解整数规划的方法。 2、实验任务 ①结合已学过的理论知识,建立正确的数学模型; ②应用运筹学软件求解数学模型的最优解 ③解读计算机运行结果,结合所学知识给出文字定性结论 3、实验仪器设备:计算机 4、实验步骤:

相关主题