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

合集下载

运筹学实验报告线性规划及其灵敏度分析

运筹学实验报告线性规划及其灵敏度分析

数学与计算科学学院实验报告
实验项目名称线性规划及其灵敏度分析
所属课程名称运筹学B
实验类型综合
实验日期2014年10月24日
班级数学1201班
学号************
成绩
附录1:源程序
附录2:实验报告填写说明
1.实验项目名称:要求与实验教学大纲一致.
2.实验目的:目的要明确,要抓住重点,符合实验教学大纲要求.
3.实验原理:简要说明本实验项目所涉及的理论知识.
4.实验环境:实验用的软、硬件环境.
5.实验方案(思路、步骤和方法等):这是实验报告极其重要的内容.概括整个实验过程.
对于验证性实验,要写明依据何种原理、操作方法进行实验,要写明需要经过哪几个步骤来实现其操作.对于设计性和综合性实验,在上述内容基础上还应该画出流程图、设计思路和设计方法,再配以相应的文字说明.对于创新性实验,还应注明其创新点、特色. 6.实验过程(实验中涉及的记录、数据、分析):写明具体实验方案的具体实施步骤,包括实验过程中的记录、数据和相应的分析.
7.实验结论(结果):根据实验过程中得到的结果,做出结论.
8.实验小结:本次实验心得体会、思考和建议.
9.指导教师评语及成绩:指导教师依据学生的实际报告内容,给出本次实验报告的评价.。

运筹学实验报告

运筹学实验报告

运筹学实验报告姓名:学号:班级:指导老师:实验内容1、线性规划问题:⎪⎪⎩⎪⎪⎨⎧≥≤+≤+≤++=0,13119241171289..68max 2121212121x x x x x x x x t s x x z (1) 给出原始代码;(2) 计算结果(包括灵敏度分析,求解结果粘贴);(3) 回答下列问题(手写):a ) 最优解及最优目标函数值是多少;b ) 资源的对偶价格各为多少,并说明对偶价格的含义;c ) 为了使目标函数值增加最多,让你选择一个约束条件,将它的常数项增加一个单位,你将选择哪一个约束条件?这时目标函数值将是多少?d ) 对x 2的目标函数系数进行灵敏度分析;e ) 对第2个约束的约束右端项进行灵敏度分析;f ) 结合本题的结果解释“Reduced Cost ”的含义。

解:(1) max =8*x1+6*x2;9*x1+8*x2<=12; 7*x1+11*x2<=24; 9*x1+11*x2<=13;(2)计算结果: Objective value: 10.66667Total solver iterations: 2 Variable Value Reduced Cost X1 1.333333 0.000000 X2 0.000000 1.111111 Row Slack or Surplus Dual Price 1 10.66667 1.000000 2 0.000000 0.8888889 3 14.66667 0.000000 4 1.000000 0.000000灵敏度分析: Objective Coefficient RangesCurrent Allowable Allowable Variable Coefficient Increase Decrease X1 8.000000 INFINITY 1.250000 X2 6.000000 1.111111 INFINITY Righthand Side RangesRow Current Allowable Allowable RHS Increase Decrease 2 12.00000 1.000000 12.00000 3 24.00000 INFINITY 14.66667 4 13.00000 INFINITY 1.000000(3)a)该LP问题的最优解x={x1,x2}={1.333333,0.000000} 目标函数值z=10.66667b)第2行资源的对偶价格为0.8888889,3、4行的对偶价格为0、0.对偶价格的含义:表示当对应约束有微小变动时, 目标函数的变化率。

运筹学综合实验报告

运筹学综合实验报告

运筹学综合实验报告本次实验中,我们使用了运筹学的方法来解决了一个经典的优化问题,即整数线性规划问题(Integer Linear Programming,简称ILP)。

一、实验目的本次实验的主要目的是熟悉ILP的求解过程,了解ILP在实际问题中的应用,以及掌握使用现代优化软件Gurobi来求解ILP的方法。

二、实验原理1. 整数线性规划问题整数线性规划问题是在所有线性规划问题中的一个非常重要的子集。

它将优化目标函数的线性组合与整数限制相结合。

一个典型的ILP问题可以被描述为:最大化(或最小化)目标函数:\max(\min) \sum_{j=1}^{n}c_j x_j满足如下的约束条件:\sum_{j=1}^{n}a_{ij} x_j \leq b_i,\ i=1,2,\cdots,mx_j \geq 0,\ j=1,2,\cdots,nx_j \in Z,\ j=1,2,\cdots,nx_j表示自变量,c_j表示目标函数中的系数,a_{ij}表示第i个约束条件中x的系数,b_i表示约束条件的右侧常数,m表示约束条件的数量,n表示变量的数量。

最后两个约束条件要求自变量只能是整数。

2. Gurobi优化软件Gurobi是一个商业优化软件,经过多年的发展,已成为当前最流行的数学优化软件之一。

Gurobi支持多种数学优化方法,包括线性规划、非线性规划、混合整数规划、二次规划等。

Gurobi使用了现代算法来实现高效的求解效果,是工业和学术界备受推崇的优化软件。

三、实验内容1. 利用Gurobi求解整数线性规划问题我们使用Gurobi来求解如下的整数线性规划问题:\max\ \ 2x_1 + 3x_2 + 7x_3满足如下的约束条件:x_1 + x_2 + x_3 \leq 6x_1 - x_2 + x_3 \leq 4x_1, x_2, x_3 \in Z,\ x_1 \geq 0,\ x_2 \geq 0,\ x_3 \geq 0我们使用Python代码来实现该问题的求解过程:```pythonimport gurobipy as gbmodel = gb.Model("integer linear programming")# Create variablesx1 = model.addVar(vtype=gb.GRB.INTEGER, name="x1")x2 = model.addVar(vtype=gb.GRB.INTEGER, name="x2")x3 = model.addVar(vtype=gb.GRB.INTEGER, name="x3")# Set objectivemodel.setObjective(2*x1 + 3*x2 + 7*x3, gb.GRB.MAXIMIZE)# Add constraintsmodel.addConstr(x1 + x2 + x3 <= 6)model.addConstr(x1 - x2 + x3 <= 4)# Optimize modelmodel.optimize()# Print resultsprint(f"Maximum value: {model.objVal}")print(f"x1 = {x1.x}")print(f"x2 = {x2.x}")print(f"x3 = {x3.x}")```运行该代码,得到的输出结果为:```Optimize a model with 2 rows, 3 columns and 6 nonzerosVariable types: 0 continuous, 3 integer (0 binary)Coefficient statistics:Matrix range [1e+00, 1e+00]Objective range [2e+00, 7e+00]Bounds range [0e+00, 0e+00]RHS range [4e+00, 6e+00]Found heuristic solution: objective 9.0000000Presolve time: 0.00sPresolved: 2 rows, 3 columns, 6 nonzerosVariable types: 0 continuous, 3 integer (0 binary)Root relaxation: objective 1.500000e+01, 2 iterations, 0.00 secondsNodes | Current Node | Objective Bounds | WorkExpl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time0 0 15.00000 0 1 9.00000 15.00000 66.7% - 0sH 0 0 14.0000000 15.00000 7.14% - 0s0 0 15.00000 0 1 14.00000 15.00000 7.14% - 0sExplored 1 nodes (2 simplex iterations) in 0.03 secondsThread count was 4 (of 4 available processors)Solution count 2: 14 9Optimal solution found (tolerance 1.00e-04)Best objective 1.400000000000e+01, best bound 1.400000000000e+01, gap 0.0000%Maximum value: 14.0x1 = 2.0x2 = 4.0x3 = 0.0```经过Gurobi的求解,我们得到了最大值为14,同时x_1=2, x_2=4, x_3=0时取到最优值。

实验报告——线性规划建模与求解

实验报告——线性规划建模与求解
fval =150.0000
exitflag =1
实验过程记录(含:基本步骤、主要程序清单及异常情况记录等)(接上页):
实验书中的实际问题求解:
解:设a 为0-1变量,表示第i根8M线材
设b 为0-1变量,表示第i根12M线材
X 表示第i根8M线材截得的第j种长度的线材数目
Y 表示第i根12M线材截得的第j种长度的线材数目
5.完成实验中的实际问题求解。
实验过程记录(含:基本步骤、主要程序清单及异常情况记录等):
习题求解
1.2将下列线性规划转化为标准型,并用程序求解。
解:转化为标准型如下:
用matlab求解命令如下:
f=[-3,4,-2,5,0,0];
aeq=[4,-1,2,-4,0,0;1,1,2,-1,1,0;-2,3,-1,2,0,-1];
b=[-60,-70,-60,-50,-20,-30]’;
lb=zeros(6,1);
[x,fval,exitflag,output,lambda]=linprog(f,a,b,[],[],lb);
解得结果为:
x =[41.9176,28.0824,35.0494,14.9506,9.8606,20.1394]
Z为浪费的线材总长度
又由于150*(8+12)远大于所需线材总长度,故知所用两种线材每种不超过150根
解不出
实验结果报告与实验总结:
对于实验指导书中matlab使用的例题和方法已经基本掌握,《运筹学》书中例题与方法处于基本了解的程度,不能灵活运用,但书后习题全都能独立完成,已经有一定解题能力。且实验书中的实际运用题的简易版问题的解题方法也已经掌握,但此实验题仍很吃力。
fval = 3.6000

运筹学实践教学报告范文(3篇)

运筹学实践教学报告范文(3篇)

第1篇一、引言运筹学作为一门应用数学分支,广泛应用于经济管理、工程技术、军事决策等领域。

本报告旨在通过运筹学实践教学,验证理论知识在实际问题中的应用效果,提高学生的实践能力和创新能力。

以下是对本次实践教学的总结和反思。

二、实践教学内容1. 线性规划问题本次实践教学选择了线性规划问题作为研究对象。

通过建立线性规划模型,我们尝试解决生产计划、资源分配等实际问题。

- 案例一:生产计划问题某公司生产A、B两种产品,每单位A产品需消耗2小时机器时间和3小时人工时间,每单位B产品需消耗1小时机器时间和2小时人工时间。

公司每天可利用机器时间为8小时,人工时间为10小时。

假设A、B产品的利润分别为50元和30元,请问如何安排生产计划以获得最大利润?- 建模:设A产品生产量为x,B产品生产量为y,目标函数为最大化利润Z = 50x + 30y,约束条件为:\[\begin{cases}2x + y \leq 8 \\3x + 2y \leq 10 \\x, y \geq 0\end{cases}\]- 求解:利用单纯形法求解该线性规划问题,得到最优解为x = 3,y = 2,最大利润为240元。

- 案例二:资源分配问题某项目需要分配三种资源:人力、物力和财力。

人力为50人,物力为100台设备,财力为500万元。

根据项目需求,每种资源的需求量如下:- 人力:研发阶段需20人,生产阶段需30人;- 物力:研发阶段需30台设备,生产阶段需50台设备;- 财力:研发阶段需100万元,生产阶段需200万元。

请问如何合理分配资源以满足项目需求?- 建模:设人力分配量为x,物力分配量为y,财力分配量为z,目标函数为最大化总效用U = x + y + z,约束条件为:\[\begin{cases}x \leq 20 \\y \leq 30 \\z \leq 100 \\x + y + z \leq 500\end{cases}\]- 求解:利用线性规划软件求解该问题,得到最优解为x = 20,y = 30,z = 100,总效用为150。

运筹学实验报告

运筹学实验报告

运筹学实验报告一实验一:线性规划【例l】某制药厂用甲、乙两台机器生产A、B两种药物。

每种药物要经过两道工序,在甲机器上搅拌,在乙机器上包装。

生产每千克药物所需的加工时间以及机器1周可用于加工的总时间如下表1所示。

已知生产每千克药物A的利润是30元,B是25元,问应如何安排1周的生产计划才能使工厂获利最大?表 1 两种药物在各机器上所需加工时间及各机器可用于加工的总时间(1)写出数学模型,建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果。

(2)将电子表格格式转换成标准模型。

(3)将结果复制到Excel或Word文档中。

(4)分析结果。

解:(1)从已知条件写出该问题的数学模型:max Z=30x1+25x2;2x1+4x2<=40;3x1+2x2<=30;x1>=0,x2>=0.建立新问题、输入选项(电子表格、变量取非负连续)、输入数据、存盘、求解模型、结果存盘、观察结果:求解模型过程Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 1X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioSlack_C1 0 2.0000 4.0000 1.0000 0 40.0000 20.0000Slack_C2 0 3.0000 2.0000 0 1.0000 30.0000 10.0000C(j)-Z(j) 30.0000 25.0000 0 0 0Simplex Tableau -- Iteration 3X1 X2 Slack_C1 Slack_C2Basis C(j) 30.0000 25.0000 0 0 R. H. S. RatioX2 25.0000 0 1.0000 0.3750 -0.2500 7.5000X1 30.0000 1.0000 0 -0.2500 0.5000 5.0000C(j)-Z(j) 0 0 -1.8750 -8.7500 337.5000(2)将电子表格格式转换成标准模型。

运筹学线性规划实验报告

运筹学线性规划实验报告

实验报告一、实验名称:线性规划问题二、实验目的:通过本实验,能掌握Spreadsheet方法,会熟练应用Spreedsheet建模与求解方法。

在Excel(或其他)背景下就所需解决的问题进行描述与展平,然后建立线性规划模型,并用Excel的命令与功能进行运算与分析。

三、实验设备计算机、Excel 四、实验内容1、线性规划其中,目标函数为求总利润的最大值。

B11=SUMPRODUCT(B6:C6,B9:C9);B14=SUMPRODUCT(B3:C3,$B$9:$C$9); B15=SUMPRODUCT(B4:C4,$B$9:$C$9); B16=SUMPRODUCT(B5:C5,$B$9:$C$9); D14=D3; D15=D4; D16=D5; 用规划求解工具求解:目标单元格为B11,求最大值,可变单元格为$B$9:$C$9,约束条件为B14:B16<=D14:D16。

在【选项】菜单中选择“采用线性模型”“假定非负”。

即可进行求解得结果,即确定产品A的产量为20,产品B的产量为24,可实现最大总利润为428。

2、灵敏度分析在【可变单元格】表中:在【可变单元格】表中:“终值”表示最优解,即产品A 产量为20,产品B 产量为24。

“递减成本”表示产品的边际收入与按影子价格折算的边际成本的差,当递减成本小于0时,表示不应该安排该产品的生产,在表中的情况反映了产品A 产品、B 都进行生产,因为在产品A 与产品B 产量增加的同时利润也是在增加的。

产量增加的同时利润也是在增加的。

“目标式系数”是在目标函数中变量的系数,也是产品A 与产品B 的单位利润。

的单位利润。

“允许的增量”“允许的增量”和“允许的减量”表示在不改变最优解结构的前提下,和“允许的减量”表示在不改变最优解结构的前提下,和“允许的减量”表示在不改变最优解结构的前提下,单个目标系数可变的单个目标系数可变的上下限。

也就是说,在目标函数中,产品A 的价值系数在(3.6,9.6】内,产品B 的价值系数不变,或者产品A 的价值不变,产品B 的价值系数在【23.3,8.75】内,最有的生产方案依旧为产品A 产量为20,产品B 产量为24,以达到最大利润。

运筹学实验报告(三)线性规划问题的编程求解

运筹学实验报告(三)线性规划问题的编程求解

a=1 2 4 0 0 4; end data end
求解可得Solution Report
Global optimal solution found. Objective value: Total solver iterations: Variable B( 1) B( 2) B( 3) C( 1) C( 2) X( 1) X( 2) A( 1, 1) A( 1, 2) A( 2, 1) A( 2, 2) A( 3, 1) A( 3, 2) Row 1 2 3 4 Value 8.000000 16.00000 12.00000 2.000000 3.000000 4.000000 2.000000 1.000000 2.000000 4.000000 0.000000 0.000000 4.000000 Slack or Surplus 14.00000 0.000000 0.000000 4.000000 14.00000 1 Reduced Cost 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 Dual Price 1.000000 1.500000 0.1250000 0.000000
3 人力资源分配问题 某昼夜服务的公交线路每天各时间段内所需司机和乘务人员人数如表 1 所示。 班次 1 2 3 时间 6:00~10:00 10:00~14:00 14:00~18:00 所需人数 60 70 60 班次 4 5 6 时间 18:00~22:00 22:00~2:00 2:00~6:00 所需人数 50 20 30
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

商学院
课程实验报告
课程名称 运筹学 专业班级 金融工程班 姓 名 指导教师 成 绩
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 建立新问题
5.输入数据。

在选择数据输入格式时,选择Spreadsheet Matrix Form则以电子表格形式输入变量系统矩阵和右端常数矩阵,是固定格式,如图5所示。

选择Normal Model Form则以自由格式输入标准模型。

图5 数据输入
6.修改变量类型。

给出了非负连续、非负整数、0-1型和无符号限制或无约束4种变量类型选型。

图6 修改变量类型
7.求解。

点击菜单栏Solve and Analyze,下拉菜单有三个选项:求解不显示迭代过程(Solve the Problem)、求解并显示单纯形法迭代步骤(Solve and Display Steps)及图解法(Graphic Method,限两个决策变量)。

选择Solve the Problem 系统直接显示求解的综合报告表如图7所示。

图7 最优解综合报告表
由图7得到例1-2的最优解为X=(0,67,146,170,87,120,17),最优值Z=617
8.结果显示及分析。

点击菜单栏Result或点击快捷方式图标,存在最优解。

图8 最优解
(三)实验收获
通过这次运用WinQSB软件求解线性规划问题,我收获了很多。

一方面学习到了线性规划模型的建立与求解方法,另一方面还提高了自己解决实际问题的能力。

本次实训,是对我运用线性规划模型解决实际问题的进一步锻炼,也是一种考验,是非常有意义的。

在这次实训中还锻炼了我其他方面的能力,提高了我的综合素质。

首先,它锻炼了我做实验的能力,提高了独立思考问题、自己动手操作的能力,在工作的过程中,复习了以前运筹学学习过的知识,并掌握了一些应用知识的技巧等。

其次,实训中的项目作业也使我更加理解线性规划问题的求解原理。

相关文档
最新文档