运筹学实验

合集下载

运筹学实验报告

运筹学实验报告

《运筹学》实验报告成绩:班级:学号:姓名:实验一、线性规划(25分)一、实验目的:安装WinQSB软件,了解WinQSB软件在Windows环境下的文件管理操作,熟悉软件界面内容,掌握操作命令;利用WinQSB软件求解线性规划问题。

二、实验内容:安装与启动软件;建立新问题,输入模型,求解模型,结果的简单分析。

三、操作步骤:(1)安装与启动WinQSB软件(5分)1.安装双击Setup.exe,弹出窗口如下图0—1所示:图0—1输入安装的目标文件夹,点Continue按钮,弹出窗口如图0—2所示:图0—2输入用户名和公司或组织名称,点Continue按钮进行文件的复制,完成后弹出窗口如图0—3:图0—3显示安装完成,点“确定”退出。

WinQSB软件安装完毕后,会在开始→程序→WinQSB中生成19个菜单项,分别对应运筹学的19个问题。

如图0—4所示:图0—42.启动在开始菜单中选择Linear and Integer Programming,运行后出现启动窗口如下图0—5所示:图0—5(2)建立线性规划问题并输入模型(5分)选题:P32例八,题目如下:miz z=-3x1+x2+x3x1-2x2+x3≤11-4x1+x2+2x3≥3-2x1 +x3=1x1,x2,x3≥0输入数据,如下图所示:、(3)分析模型并求解(5分)计算结果:a) 运用软件计算的具体过程:b)计算的最终结果如下:(4)实验结果分析(5分)最优解=[4,1,9],即x1=4,x2=1,x3=9最优值=-2,min z=-2四、实验中遇到的主要问题及解决方法(5分)起初未能正确的Variable Type选择导致了计算结果出现错误,最后仔细的检查了操作过程,改变了Variable Type,得出了正确的结果。

实验二、运输问题(25分)一、实验目的:熟悉运用WinQSB软件求解运输问题和指派问题,掌握操作方法。

二、实验内容:求解实际中某一运输问题,建立、输入并求解模型,结果的简单分析。

运筹学综合实验报告

运筹学综合实验报告

运筹学综合实验报告本次实验中,我们使用了运筹学的方法来解决了一个经典的优化问题,即整数线性规划问题(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时取到最优值。

运筹学实验报告

运筹学实验报告

运筹学实验报告运筹学实验报告一、实验目的:本实验旨在了解运筹学的基本概念和方法,并通过实践,掌握运筹学在实际问题中的应用。

二、实验过程:1.确定运筹学的应用领域:本次实验选择了物流配送问题作为运筹学的应用领域。

2.收集数据:我们选择了一个小型企业的物流配送数据进行分析,并将数据录入到计算机中。

3.建立模型:根据所收集的数据,我们建立了一个代表物流配送问题的数学模型。

4.运用运筹学方法进行求解:我们运用了线性规划的方法对物流配送问题进行求解,并得到了最优解。

5.分析结果:通过分析最优解,我们得出了一些有关物流配送问题的结论,并提出了一些优化建议。

三、实验结果:通过运用运筹学方法对物流配送问题进行求解,我们得到了一个最优解,即使得物流成本最低的配送方案。

将最优解与原始的配送方案进行对比,我们发现最优解的物流成本降低了20%,节省了货物运输的时间,减少了仓储成本。

四、实验结论:通过本次实验,我们了解了运筹学的基本概念和方法,并成功应用运筹学方法解决了物流配送问题。

通过分析最优解,我们发现采用最优解可以降低物流成本,提高配送效率。

因此,我们得出结论:运筹学在物流配送问题中的应用具有重要意义,可以帮助企业降低成本、提高效率。

五、实验心得:通过本次实验,我对运筹学有了更深入的了解。

通过实践应用运筹学方法,我明白了运筹学的实用性和价值。

在以后的工作中,我会更加注重运筹学方法的应用,以解决实际问题,提高工作效率。

本次实验不仅增强了我的动手实践能力,也培养了我分析和解决问题的能力。

我将继续学习和探索运筹学的知识,为将来的工作打下坚实的基础。

运筹学实验心得

运筹学实验心得

运筹学实验心得运筹学是一门研究决策和优化问题的学科,通过数学建模和分析,帮助人们在面对复杂的决策问题时做出最优的选择。

在学习运筹学的过程中,我参与了一次实验,通过实践运用运筹学的知识和方法,深刻体会到了它的重要性和实用性。

在这次实验中,我们小组的任务是在有限的资源下,通过运筹学的方法来安排一所医院的医生排班。

我们需要考虑到医生的工作时间、休假时间、不同科室的需求以及患者的就诊需求等因素。

我将整个实验过程分为以下几个部分进行总结和分享。

我们需要进行问题分析和建模。

在实验开始之前,我们小组对问题进行了全面的分析,确定了问题的约束条件和目标。

通过对医生排班的需求进行细致的分析,我们将问题抽象为一个数学模型,将各种变量和约束条件进行数学化的表示。

这个过程需要我们对运筹学的知识有深入的理解和灵活的运用,确保模型的准确性和合理性。

接着,我们使用合适的算法和工具来求解模型。

在这个实验中,我们使用了线性规划和整数规划的方法来求解医生排班问题。

通过建立相应的数学模型,我们将问题转化为一个数学规划问题,然后使用计算机软件来求解最优解。

在求解的过程中,我们需要根据实际情况调整模型的参数和约束条件,以得到符合实际需求的结果。

在实验过程中,我们还进行了模型的验证和灵敏度分析。

通过与实际情况的对比,我们可以评估模型的准确性和可行性。

同时,我们还对模型中的参数和约束条件进行了灵敏度分析,考察它们对最优解的影响程度。

这个过程帮助我们更好地理解问题的本质,为模型的优化提供了依据。

我们对实验结果进行了评估和总结。

通过对实验结果的分析,我们可以评估模型的性能和可行性。

同时,我们还可以根据实验结果提出相应的改进意见,进一步优化模型和算法。

通过总结实验过程中的经验和教训,我们可以更好地应用运筹学的方法解决实际问题。

通过这次实验,我深刻体会到了运筹学的重要性和实用性。

它不仅可以帮助我们在面对复杂的决策问题时做出最优的选择,还可以提高我们的分析和建模能力。

运筹学实验报告

运筹学实验报告

《运筹学》实验报告河南理工大学经管学院班级:人力11—1班姓名:陈浩学号:311110030120实验一线性规划1.某工厂要用三种原材料C、P、H混合调配出三种不同规格的产品A、B、D,已知产品的规格要求,产品单价,每天能供应的原材料数量及原材料单价分别见下表1和2。

该厂应如何安排生产,使利润收入为最大?表1产品名称规格要求单价(元/kg)原材料C不少于50%50A原材料P不超过25%原材料C不少于25%35B原材料P不超过50%D不限25表2原材料名称每天最多供应量(kg)单价(元/kg)C100 65P 100 25H 60 35解:(1)依题意得到模型:260260150125253550max 321321321≤++≤≤≤++=x x x x x x x x x z(2)建立新问题:(3)解得:实验二运输问题2.设有三个化肥厂(A, B, C)供应四个地区(I, II, III, IV)的农用化肥。

假定等量的化肥在这些地区使用效果相同。

各化肥厂年产量,各地区年需要量及从各化肥厂到各地区运送单位化肥的运价表如下表所示。

试求出总的运费最节省的化肥调拨方案。

需求地区化肥厂I II III IV 产量A B C 1614191313202219231715—506050最低需求最高需求305070703010不限注意:表格中的运价可以填入M(任意大正数)。

解:(1)建立新问题:得:(2)求解问题,观察求解结果:3.人事部门欲安排四人到四个不同岗位工作,每个岗位一个人。

经考核五人在不同岗位的成绩(百分制)如下表所示,如何安排他们的工作使总成绩最好,应淘汰哪一位。

工作人员人力资源物流管理市场营销信息管理甲乙丙丁戊8595828676928783908573787980929095908893解:(1)建立新问题(2)修改各个人名和任务名:(3)得:(4)解得:实验三整数规划4.某厂拟建两种不同类型的冶炼炉。

运筹学实验报告

运筹学实验报告

运筹学实验报告一实验一:线性规划【例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)将电子表格格式转换成标准模型。

运筹学实验报告

运筹学实验报告

1、实验目的和任务训练建模能力.应用EXCEL建模及求解的方法应用;通过实验进一步掌握运筹学有关方法原理、求解过程,提高学生分析问题和解决问题能力。

2、实验仪器、设备及材料计算机、Excel3、实验内容、炼油厂的生产计划问题例一炼油厂的生产计划某炼油厂的工艺流程图如图 1-1所示。

炼油厂输入两种原油(原油 1和原油2)。

原油先进入蒸馏装置,每桶原油经蒸馏后的产品及份额见表1-1,其中轻、中、重石脑油的辛烷值分别为90、80和70。

石脑油部分直接用于发动机油混合,部分输入重整装置,得辛烷值为115的重整汽油。

1桶轻、中、重石脑油经重整后得到的重整汽油分别为、、桶。

蒸馏得到的轻油和重油,一部分直接用于煤油和燃料油的混合,一部分经裂解装置得到裂解汽油和裂解油。

裂解汽油的辛烷值为105。

1桶轻油经裂解后得桶裂解油和桶裂桶汽油;1桶重油裂解后得桶裂解油和桶裂解汽油。

其中裂解汽油用于发动机油混合,裂解油用于煤油和燃料油的混合。

渣油可直接用于煤油和燃料油的混合,或用于生产润滑油。

1桶渣油经处理后可得桶润滑油。

混合成的高档发动机油的辛烷值应不低于 94,普通的发动机油辛烷值不低于84。

混合物的辛烷值按混合前各油料辛烷值和所占比例线性加权计算。

规定煤油的气压不准超过 1kg/cm2,而轻油、重油、裂解油和渣油的气压分别为、、和0.05kg/cm 2。

而气压的计算按各混合成分的气压和比例线性加权计算。

燃料油中,轻油、重油、裂解油和渣油的比例应为 10:3:4:1。

已知每天可供原油1为20000桶,原油2为30000桶。

蒸馏装置能力每天最大为45000桶,重整装置每天最多重整10000桶石脑油,裂化装置能力每天最大为8000桶。

润滑油每天产量就在500~1000桶之间,高档发动机油产量应不低于普通发动机油的40%。

又知最终产品的利润(元 /桶)分别为:高档发动机油700,普通发动机油600,煤油400,燃料油350,润滑油150,试为该炼油厂制定一个使总盈利为最大的计划。

运筹学实验

运筹学实验

试验一Matlab基本运算练习一、实验内容:矩阵运算和基于矩阵的代数运算二、实验目的:1、熟悉有关矩阵运算的各种命令。

2、能熟练地进行代数运算,包括计算矩阵的加、减、乘、逆和方阵的行列式等。

3、能求解线性方程组。

4、能运用矩阵方法求解代数问题。

三、基本知识MA TLAB的操作对象是矩阵,标量为1×1的矩阵,向量为1×n矩阵,多项式也可用矩阵表示.1.矩阵输入矩阵输入有两种方式:(1) 用中括号表示,每行元素间用逗号或空格分开,行与行之间用分号隔开;(2) a=初始值:步长:终值,可输入行矩阵.例如输入a=[1 2 3; 4 5 6; 7 8 9]或a=[1,2,3;4,5,6;7,8,9]会得到同样的结果:a=1 2 34 5 67 8 9输入a=2:2:10得到从2到10的以2为公差的数组:a =2 4 6 8 102.多项式的表示法和运算MA TLAB用行向量来表示一个多项式.例如6xp可用矩阵表示为:x)(3+-=xp=[1 0 –1 6]MA TLAB提供的多项式运算函数名见表1-1表1-1例1 求解方程 1223-=-x x x .解 输入如下命令 syms xs=solve('x^3-2*x^2=x-1') 或 syms xs= x^3-2*x^2-x+1; solve(s) 例2 求多项式12)(23--=x x x p 的微分. 解 输入 p=[1 -2 0 -1]; q=polyder(p) 得 q =3 -4 03.矩阵运算 1.MA TLAB 提供的一些特殊矩阵,见(表1-2).例如rand(3,9)产生一3行9列的矩阵,其元素数值范围为(0,1). 2.运算符,见(表1-3).3.关系运算符,见(表1-4).4.矩阵运算的命令符,见(表1-5).若方程组为B AX =,且1-A 存在,则B A X 1-=.因此可用B A X \=或B A X /=计算线性方程组的解.例3 已知矩阵A 、B 、b 如下⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=741056143A ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=201181697431B []531=b(1) 输入矩阵A 、B 、b;(2) 求X1=A 的转置,X2=A+B,X3=AB; (3) 求X4=A 的行列式,X5=A 的秩; (4) 求X6=A 的逆;(5) 求方程组AX=b 的解向量.解 完成上述求解的命令为: (1)A=[3 4 –1;6 5 0;1 –4 7]B=[1 3 4;7 9 16;8 11 20] b=1:2:5 (2) x1=A'x2=A+B x3=A*B 得 x1 =3 6 145 -4 - 1 0 7 x2 =4 7 3 13 14 16 9 7 27 x3 =23 34 56 41 63 104 29 44 80(3) x4=det(A) x5=rank(A) 得 x4 = -34 x5 = 3 (4)x6=inv(A) 得 x6 =-1.0294 0.7059 -0.1471 1.2353 -0.6471 0.1765 8529 -0.4706 0.2647(5)x=inv(A)*b ’ 得 x = 0.3529 0.1765 7647例4 求方程组⎪⎩⎪⎨⎧=--+=--+=+--22302212432143214321x x x x x x x x x x x x 的解.解 输入A=[2 -1 -1 1 1;1 2 -1 -2 0;3 1 -2 -1 2]; A([1,2],:)=A([2,1],:)得A =1 2 -1 -2 02 -1 -1 1 13 1 -2 -1 2输入A(2,:)=A(2,:)-2*A(1,:);A(3,:)=A(3,:)-3*A(1,:)得A =1 2 -1 -2 00 -5 1 5 10 -5 1 5 2输入A(3,:)=A(3,:)-A(2,:)得A =1 2 -1 -2 00 -5 1 5 10 0 0 0 1由线性代数知识知方程组无解.试验二Matlab函数运算练习一、实验内容:Matlab函数编写方法与应用二、实验目的:1.区别M 脚本文件(M-Script) 和M 函数(M-function)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、实验题目
运筹学实验2-线性规划灵敏度分析
某公司生产三种产品A1、A2、A3,它们在B1、B2两种设备上加工,并耗用C1、C2两种原材料,已知生产单位产品耗用的工时和原材料以及设备和原材料的最多可使用量如表 C -7所示。

表 C -7 生产三种产品的有关数据
已知对产品A2的需求每天不低于70件,A3不超过240件。

经理会议讨论如何增加公司收入,提出了以下建议: (a )产品A3提
价,使每件利润增至60元,但市场销量将下降为每天不超过210件;
(b )原材料C2是限制产量增加的因素之一,如果通过别的供应商提供补充,每千克价格将比原供应商高20元;
(c )设备B1和B2每天可各增加40 min 的使用时间,但相应需支付额外费用各350元; (d )产品A2的需求增加到每天100件;
(e )产品A1在设备B2上的加工时间可缩短到每件2 min ,但每天需额外支出40元。

分别讨论上述各条建议的可行性,哪些可直接利用“敏感性报告”中的信息,哪些需要重新规划求解
2、模型
设1X 为A1的产量,2X 为A2的产量,3X 为A3的产量
1)数学模型
由题目可建立线性规划模型: 2)用Excel 建模求解
3、实验结果及敏感性分析 1)实验结果
以得出题得最优解 x1=0,x2=70,x3=230 时,为 12900,即生产 A1,A2,A3 产品分别是 0 件, 70 件,230 件时,公司可获得最大利润 12900 元
2)敏感性报告
A3 产品每件利润提到 60 元,这在灵敏度分析的最优基不变范围 A3[,50+∞]内,但市 场销量下降为不超过 210 件,而从求解报告中中最优解 A3=230 时,有最大,故此建议可行。

有敏感性报告知C2的影子价格为20,即C2的增加会导致利润增加,利润系数在 A1[30-∞,30+35];A2[0, 50];A3[, 50+∞]) 范围内变动, 最优基不变目标函数值减少,所以要重新规划求解。

设备B1和B2每天可各增加40min的使用时间,而从第一个求解报告知B1还有60资源未利用B 2的资源刚好用完,于是,只需增加B2的时间,且根据上面结果可知每增加1单位的B2,利润可提高15元,则增加40min可以提高利润15*40=600, 再减去所要费用350得到利润增加量为250.即总利润为 13150元,故此建议可行。

④从求解报告的第6行及灵敏度分析的第6行分别可知A2的资源已用完,且其再最优基不变条件下可改变值为[-∞,70],于是根据产品A2的需求量增加到每天100件;重新建立模型得:
100;
X
240;
X
300;
X
+
X
+
X
420;
4X
+
1X160;
2X
+
3X
430;

X
+
2X
+
X
;
50X
+
20X
+
30X
=
max
2
3
3
2
1
22
1
3
2
1
3
2
1





最优目标函数值为12000,即最大利润为12000元<12900, 故此建议不可行。

⑤在原模型的求解报告中知最优目标函数值为12900元时,产品A1的加工件数是0,则A1在设备B2上的加工时间可缩短到每件2min,不影响最优结果。

通过这次运筹学的实验,对线性规划问题进行了建模,求解,灵敏度分析,得出求解报告和灵敏度分析报告,并据此分析各条建议的可行性。

相关文档
最新文档