运筹学实验报告
- 格式:doc
- 大小:66.50 KB
- 文档页数:22
运筹学综合实验报告本次实验中,我们使用了运筹学的方法来解决了一个经典的优化问题,即整数线性规划问题(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%,节省了货物运输的时间,减少了仓储成本。
四、实验结论:通过本次实验,我们了解了运筹学的基本概念和方法,并成功应用运筹学方法解决了物流配送问题。
通过分析最优解,我们发现采用最优解可以降低物流成本,提高配送效率。
因此,我们得出结论:运筹学在物流配送问题中的应用具有重要意义,可以帮助企业降低成本、提高效率。
五、实验心得:通过本次实验,我对运筹学有了更深入的了解。
通过实践应用运筹学方法,我明白了运筹学的实用性和价值。
在以后的工作中,我会更加注重运筹学方法的应用,以解决实际问题,提高工作效率。
本次实验不仅增强了我的动手实践能力,也培养了我分析和解决问题的能力。
我将继续学习和探索运筹学的知识,为将来的工作打下坚实的基础。
实验二案例4.3 便民超市的网点布设一、背景资料介绍便民超市的网点布设:南平市规划在其远郊建一卫星城镇,下设20个街区,如图所示。
各街区居民数预期为1、4、9、13、17、20各12000人;2、3、5、8、11、14、19各14000人;6、7、10、12、15、16、18各15000人。
便民超市准备在上述街区进行布点。
根据方便就近的原则,在某一街区设点,该点将服务于该街区及相邻街区。
例如在编号为3的街区设一超市点,它服务的街区为1、2、3、4、6。
由于受到经费限制,便民超市将在上述20个街区内先设两个点。
请提供你的建议:在哪两个街区设点,使其服务范围的居民人数为最多。
二、数学模型的建立1、根据图示及材料可以总结出以下表格:2、设街区编号为Xi,在第i个街区设点能服务到的人数为a i令Xi=1时,表示在第i街区设点;Xi=0时,表示在第i街区不设点{10,2..m ax )20,193,2,1(01201201或目标函数:个街区不设点,在第个街区设点,在第==⎩⎨⎧=⋯⋯==∑∑==i i i i i i i i x x a t s x aZ i i i x三、数据输入方法1、打开运筹学软件,点击整数规划,选择纯整数规划,单击菜单中的“新建”2、在变量个数中输入:20,在约束条件中输入:21,选择Max ,然后单击确定3、在目标函数中变量X1,X2,……X19,X20所对应的系数分别填入:4、共设21个约束条件(j=21),前20个约束条件是为了保证Xi=0或1,第21个约束条件是为了保证从20个街区中选2个。
(1)在约束条件j (j=1、2、3…18、19、20)中:除了变量Xi (当i=j 时)的系数填“1”,其余变量的系数都填“0”,符号都选择“≤”,b 的值都为“1”;(2)在约束条件j (j=21)中:所有变量Xi 的系数都填“1”,符号选择“=”,b 的值为“2”四、数据输出解读1、所有数据输入完后,单击“解决”按钮,得到如下“提示信息”对话框2、单击“确定”后,得到“结果输出”表格3、结果表明:当便民超市在街区6和14设点时,其服务范围内的居民人数为最多;此时,预期最多服务人数为208000人。
第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)将电子表格格式转换成标准模型。
一、引言运筹学是一门应用数学的分支,它运用数学模型、统计方法和计算机技术等工具,对复杂系统进行优化和决策。
为了更好地理解和掌握运筹学的理论和方法,提高实际操作能力,我们开展了大学生运筹学实训。
以下是本次实训的报告。
二、实训目的1. 理解运筹学的基本概念、原理和方法;2. 学会运用运筹学解决实际问题;3. 提高团队协作和沟通能力;4. 培养独立思考和创新能力。
三、实训内容1. 线性规划(1)实训目的:通过线性规划实训,掌握线性规划问题的建模、求解和结果分析。
(2)实训内容:以生产问题为例,建立线性规划模型,运用单纯形法求解最优解。
2. 整数规划(1)实训目的:通过整数规划实训,掌握整数规划问题的建模、求解和结果分析。
(2)实训内容:以背包问题为例,建立整数规划模型,运用分支定界法求解最优解。
3. 非线性规划(1)实训目的:通过非线性规划实训,掌握非线性规划问题的建模、求解和结果分析。
(2)实训内容:以旅行商问题为例,建立非线性规划模型,运用序列二次规划法求解最优解。
4. 网络流(1)实训目的:通过网络流实训,掌握网络流问题的建模、求解和结果分析。
(2)实训内容:以运输问题为例,建立网络流模型,运用最大流最小割定理求解最优解。
5. 概率论与数理统计(1)实训目的:通过概率论与数理统计实训,掌握概率论与数理统计的基本概念、原理和方法。
(2)实训内容:以排队论为例,建立概率模型,运用排队论公式求解系统性能指标。
四、实训过程1. 组建团队,明确分工;2. 针对每个实训内容,查阅相关资料,了解理论背景;3. 根据实际问题,建立数学模型;4. 选择合适的算法,进行编程实现;5. 对结果进行分析,总结经验教训。
五、实训成果1. 理解了运筹学的基本概念、原理和方法;2. 掌握了线性规划、整数规划、非线性规划、网络流和概率论与数理统计等运筹学工具;3. 提高了团队协作和沟通能力;4. 培养了独立思考和创新能力。
六、实训心得1. 运筹学是一门实用性很强的学科,它可以帮助我们解决实际问题,提高工作效率;2. 在实训过程中,我们要注重理论联系实际,将所学知识应用于实际问题的解决;3. 团队协作和沟通能力在实训过程中至关重要,要学会与团队成员共同进步;4. 实训过程中,我们要敢于尝试,勇于创新,不断提高自己的实践能力。
运筹学实验报告总结心得1. 背景运筹学是以数学模型为基础,结合管理科学、经济学和计算机科学等方法,研究在有限资源的条件下优化决策问题的学科。
本次实验旨在通过运筹学方法解决一个实际的问题,并从中探索运筹学的实际应用价值。
2. 分析2.1 问题描述本次实验中,我们需要解决一个物流配送的问题。
具体问题是:给定一定数量的货物和一些配送车辆,如何确定最优的配送路线和配送顺序,以使得总体的运输成本最小。
2.2 求解思路为了解决这个问题,我们采用了TSP(Traveling Salesman Problem,旅行商问题)的算法。
TSP是一种经典的组合优化问题,通过寻找最短的闭合路径,将n个城市依次访问一遍。
我们将货物所在的位置作为城市,将物流中心作为起始点和终点,通过TSP算法确定最优的配送路线。
2.3 模型设计我们将问题抽象成图论问题,货物的位置和物流中心可以看作图的顶点,两个顶点之间的距离可以看作图的边。
我们首先计算出所有顶点之间的距离,并构建一个距离矩阵。
然后,通过TSP算法,求解最优的路径。
3. 结果通过我们的实验,我们成功地解决了物流配送问题,并得到了最优的配送路线和顺序。
我们以图的形式展示了最优路径,并计算出了最小的运输成本。
4. 建议在实验过程中,我们发现了一些可以改进的地方。
首先,我们可以考虑引入实时交通信息来调整路径,以避免拥堵和路况不佳的区域。
其次,我们可以进一步优化TSP算法,以提高求解效率和准确度。
最后,我们还可以考虑引入其他因素,如货物的紧急程度或优先级,来调整配送顺序,以更好地满足客户需求。
5. 总结通过本次实验,我们深入了解了运筹学的应用,特别是在物流配送方面的应用。
我们成功地解决了一个实际问题,并得到了有用的结果和结论。
我们还发现了一些可以改进的地方,为进一步研究和应用运筹学提供了方向。
运筹学作为一门跨学科的领域,具有广泛的应用前景。
通过运筹学方法,我们可以帮助企业和组织优化决策,提高效率,降低成本。
运筹学实验报告实验目的:了解及掌握运筹学一些常用软件,如excel,WinQsb:实验步骤1用Excel求解数学规划例:求max=2x1+x2+x34x1+2x2+2x2≥42x1+4x2≤204x1+8x2+2x3≤4步骤:1.输入模型数据制E3的公式到E4-E6:3.从“工具”菜单中选择“规划求解”,将弹出的“规划求解参数”窗口中的目标单元格设为$E$3,可变单元格设为$B$2:$D$2,目标为求最大值: 4.添加约束:由于本例的约束条件类型分别为<=、>=和=,因此要分3次设置,每次设置完毕后都要单击“添加”按钮,如下图。
添加完成后选择“确定”返回。
5.单击“选项”按钮,将“规划求解选项”窗口中的“采用线性模型”和“假定非负”两项选中后点“确定”返回,设置好参数的界面如下图:6.单击“求解”按钮,得到问题的最优解为:x1 =1,x2=0,x3=0,max Z=2。
2.winQSB求解线性规划及整数规划[例]求解线性规划问题:Minz=2x1—x2+2x32x1+2x2+x3=43x1+x2+x4=6第1步:生成表格选择“程序,生成对话框:第2步:输入数据单击“OK”,生成表格并输入数据如下第3步:求解):x1,x2,x3决策变量(Decision Variable最优解:x1=2,x2=0,x3=0目标系数:c1=2,c2= -1,c3=2最优值:4;其中x1贡献4、x2,x3贡献0;检验数(Reduced Cost):0,0,1.75。
目标系数的允许减量(Allowable Min.c[j])和允许增量(Allowable Max.c[j]):目标系数在此范围变量时,最优基不变。
约束条件(Constraint):C1、C2;左端(Left Hand Side):4,6右端(Right Hand Side):4,6松驰变量或剩余变量(Slack or Surplus):该值等于约束左端与约束右端之差。
运筹学实验心得(精选5篇)运筹学实验心得篇1实验心得:1.背景与目标:运筹学是一门决策支持学科,它使用数学模型和算法来解决实际生活中的优化问题。
本实验的目标是通过学习运筹学的基本理论和方法,提高自己在实际问题中的决策能力和解决问题的能力。
2.实验内容:本实验包括了几个重要的运筹学主题,包括线性规划、整数规划、非线性规划和动态规划等。
我们首先学习了这些基本概念和算法,然后通过具体案例进行了实践操作,并运用所学知识对实际生活中的一些问题进行了分析和解决。
3.实验结果与收获:通过实验,我们成功地运用运筹学方法解决了一些实际问题。
例如,我们使用线性规划算法解决了货物配送问题,并使用整数规划算法解决了人员调度问题。
同时,我们也收获了一些理论知识和实践经验。
我们学会了如何使用数学模型和算法来解决实际问题,并提高了自己的决策能力和解决问题的能力。
4.反思与建议:在实验过程中,我们遇到了一些困难和挑战。
例如,有时候我们无法理解复杂的数学模型和算法,或者无法找到合适的实际问题来验证我们的知识。
因此,我们建议在学习运筹学时,应该注重基本概念和算法的学习,并积极寻找合适的实际问题来巩固和应用所学知识。
总的来说,这次实验让我们更加深入地了解了运筹学的魅力和价值,也让我们更加坚定了自己的学习方向和目标。
运筹学实验心得篇2当然,我可以帮助您撰写一篇运筹学实验的心得体会。
以下是一个可能的示例:---标题:运筹学实验:理论到实践的桥梁摘要:这篇*分享了一次运筹学实验的经历,描述了实验中的问题、解决方法以及所学到的经验教训。
关键词:运筹学,实验,问题解决,学习经验---运筹学是我在大学期间最喜爱的科目之一。
它提供了一种实用且富有挑战性的方法来理解和解决现实世界中的优化问题。
然而,真正将理论与实际联系起来的,是我的第一次运筹学实验。
实验开始时,我被一大堆复杂的数学模型和计算机程序搞得眼花缭乱。
理论知识和抽象的模型使我有些晕头转向,但我还是勇敢地面对了挑战。
运筹学实验报告运筹学实验报告一、引言运筹学是一门研究如何有效地进行决策和规划的学科。
它利用数学、统计学和计算机科学的方法,帮助解决各种实际问题。
本次实验旨在通过实际案例,探讨运筹学在实践中的应用。
二、问题描述我们选择了一个物流配送问题作为本次实验的研究对象。
假设有一家电商公司,需要将一批商品从仓库分配给不同的客户。
每个客户的需求量和距离仓库的距离都不同。
我们的目标是找到一种最优的配送方案,以最小化总配送成本。
三、数学模型为了解决这个问题,我们采用了整数规划模型。
首先,我们定义了以下变量:- Xij:表示将商品从仓库i分配给客户j的数量- Di:表示仓库i的供应量- Dj:表示客户j的需求量- Cij:表示将商品从仓库i分配给客户j的单位运输成本然后,我们建立了以下约束条件:1. 每个仓库的供应量不能超过其库存量:∑Xij ≤ Di2. 每个客户的需求量必须得到满足:∑Xij ≥ Dj3. 分配的商品数量必须是非负整数:Xij ≥ 0最后,我们的目标是最小化总配送成本:Minimize ∑Cij*Xij四、实验步骤1. 收集数据:我们收集了仓库的库存量、客户的需求量和单位运输成本的数据,并进行了整理和清洗。
2. 建立数学模型:根据收集到的数据,我们建立了上述的整数规划模型。
3. 求解模型:我们使用了运筹学软件对模型进行求解,并得到了最优的配送方案和总配送成本。
4. 分析结果:我们对结果进行了分析,比较了不同方案的优劣,并提出了一些建议。
五、实验结果与分析经过运筹学软件的求解,我们得到了最优的配送方案和总配送成本。
通过与其他方案的比较,我们发现该方案在成本上具有明显的优势。
同时,我们还发现一些仓库和客户之间的距离较远,可能会导致运输时间和成本增加。
因此,我们建议公司可以考虑优化仓库和客户的布局,以减少运输成本。
六、实验总结本次实验通过运筹学的方法,解决了一个物流配送问题。
我们通过建立数学模型、求解模型和分析结果,得出了最优的配送方案和总配送成本。
一、实习目的本次实习旨在使我对运筹学有一个更深入的了解,掌握运筹学的基本原理和方法,提高运用运筹学解决实际问题的能力。
通过实习,我将学会如何运用运筹学的方法对实际问题进行分析和求解,提高自己的综合素质。
二、实习时间2022年6月1日至2022年7月31日三、实习单位某知名企业四、实习内容1. 了解运筹学的基本原理和方法在实习期间,我首先对运筹学的基本原理和方法进行了系统学习。
通过阅读相关书籍和资料,我对线性规划、整数规划、网络流、动态规划、排队论等运筹学方法有了较为全面的了解。
2. 参与实际项目在实习期间,我参与了企业的一个实际项目,该项目涉及到生产计划与调度问题。
我运用所学的运筹学知识,对该项目进行了分析和求解。
(1)问题背景该企业主要生产电子产品,产品种类繁多,生产周期较短。
为了提高生产效率,降低生产成本,企业希望优化生产计划与调度。
(2)问题建模根据企业实际情况,我将生产计划与调度问题建模为一个线性规划问题。
模型中,变量表示生产任务,约束条件包括生产设备能力、生产周期、原材料供应等。
(3)求解方法运用Lingo软件,对所建立的线性规划模型进行求解。
通过调整参数,寻找最优的生产计划与调度方案。
(4)结果分析根据求解结果,我对最优方案进行了详细分析,包括生产任务分配、生产设备使用、原材料消耗等方面。
通过对比不同方案,为企业提供了优化生产计划与调度的建议。
3. 总结与反思通过本次实习,我对运筹学在实际问题中的应用有了更深入的认识。
以下是我对实习过程的总结与反思:(1)理论联系实际实习过程中,我深刻体会到理论联系实际的重要性。
在解决问题时,要善于将所学知识运用到实际中,提高自己的实际操作能力。
(2)运用软件求解在实际问题中,运用运筹学软件求解问题是一种高效的方法。
通过学习Lingo软件,我掌握了如何运用软件进行建模和求解,提高了自己的工作效率。
(3)团队协作实习过程中,我与团队成员共同完成了项目。
《运筹学》实验报告指派问题班级:姓名:学号:指导教师:《运筹学》实验报告(一)一.实验目的熟练的掌握整数规划,0-1规划问题的数学模型的建立于求解和数据分析二.实验要求利用EXCEL软件求解整数规划和0-1规划模型三.实验准备Pc486微机、Windows环境、Excel软件四.实验内容及步骤实验内容:某公司面临5项任务,计划派甲、乙、丙、丁、戊分别去做。
由于戊临时被公司派往国外,因此公司只有让甲、乙、丙、丁中的一个人同时担任两项任务,其他三人仍旧单独完成一项任务。
各人完成相应任务时间如下表。
请为公司制定一个总工时最小的指派方案。
实验内容分析:本题中研究的是制定一个总工时最小的工作任务分配方案即本题是一个0-1规划问题。
又本题中是四个员工五个任务的不平衡的分配任务,所以可以有增加虚拟人物的方式来解决不平衡问题也可以直接用抽屉原则来解决不平衡问题。
方法一:(虚拟人物法)建立数学模型:变量:甲员工做A任务为X11,甲员工做B任务为X12,甲员工做C任务为X13,甲员工做D任务为X14,甲员工做E任务为X15,乙员工做A任务为X21,乙员工做B任务为X22,乙员工做C任务为X23,乙员工做D任务为X24,乙员工做E任务为X25,丙员工做A 任务为X31,丙员工做B任务为X32,丙员工做C任务为X33,丙员工做D任务为X34,丙员工做E任务为X35,丁员工做A任务为X41,丁员工做B任务为X42,丁员工做C任务为X43,丁员工做D任务为X44,丁员工做E任务为X45,虚拟员工做A任务为X51,虚拟员工做B任务为X52,虚拟员工做C任务为X53,虚拟员工做D任务为X54 ,虚拟员工做E任务为X55目标:总工时最小的人员安排方法约束:每人(包括虚拟人物)只能做一项任务即决策变量的0-1约束。
规划模型如下:MINZ(x)=25X11+29X12+31X13+42X14+37X15+39X21+38X22+26X23+20X24 +33X25+34X31+27X32+28X33+40X34+32X35+24X41+42X42+36X43+23X44+45X45+24X51+27X52+26X53+20X54+32X55X11+ X21+ X31+ X41+ X51=1X12+ X22+ X32+ X42+ X52=1X13+ X23+ X33+ X34+ X35=1X14+ X24+ X34+ X44+ X45=1X15+ X25+ X35+ X45+ X55=1 s.t. X11+ X12+ X13+ X14+ X15=1X21+ X22+ X23+ X24+ X25=1X31+ X32+ X33+ X34+ X35=1X41+ X42+ X43+ X44+ X45=1X51+ X52+ X53+ X54+ X55=1X ij=0或1(i=0-5,j=0-5)用EXCEL求解上式,过程如下:输入效率矩阵、方案矩阵和约束条件单元格公式:求解参数对话框如图所示:最终结果为:最小总工时131甲做A任务乙做C任务和D任务丙做E任务丁做B任务方法二:(抽屉原则法)建立数学模型:设甲员工做A任务为X11,甲员工做B任务为X12,甲员工做C任务为X13,甲员工做D任务为X14,甲员工做E任务为X15,乙员工做A任务为X21,乙员工做B任务为X22,乙员工做C任务为X23,乙员工做D任务为X24,乙员工做E任务为X25,丙员工做A任务为X31,丙员工做B任务为X32,丙员工做C任务为X33,丙员工做D任务为X34,丙员工做E任务为X35,丁员工做A任务为X41,丁员工做B任务为X42,丁员工做C任务为X43,丁员工做D任务为X44,丁员工做E任务为X45。
实习报告一、实习背景与目的随着我国经济的快速发展,市场竞争日益激烈,企业对运筹学人才的需求也越来越大。
为了提高我在运筹学方面的实际操作能力,将所学知识应用到实际问题中,我选择了运筹学实习。
本次实习旨在加深我对运筹学理论的理解,提高运用运筹学方法解决实际问题的能力,培养我的团队协作和沟通能力。
二、实习内容与过程实习期间,我参与了某物流公司的仓储优化项目。
项目主要针对物流公司在仓储管理过程中遇到的问题,如仓库空间利用率低、货物摆放不合理等,运用运筹学方法进行优化。
1. 数据收集与分析:首先,我们通过实地考察和与公司员工的交流,收集了该公司仓储管理的相关数据,如仓库尺寸、货物种类、货物体积等。
然后,我们对收集到的数据进行了整理和分析,为后续的模型建立提供了基础。
2. 模型建立:在充分了解物流公司仓储管理现状的基础上,我们运用运筹学中的线性规划、整数规划等方法,建立了仓储优化模型。
模型主要包括货物的摆放规则、仓库空间的合理分配等约束条件,目标是最小化仓库空间的浪费。
3. 模型求解与分析:利用运筹学软件,我们对建立的模型进行了求解。
通过对求解结果的分析,我们发现优化后的仓库布局可以显著提高仓库空间的利用率,减少货物摆放不合理的现象。
同时,我们还针对求解结果提出了相应的改进措施,如调整货物摆放规则、优化仓库分区等。
4. 成果展示与讨论:最后,我们将实习成果以报告的形式进行了展示,并与指导老师和企业相关人员进行了讨论。
大家针对报告内容和优化方案提出了宝贵的意见和建议,使我们更加明确了运筹学在实际应用中的价值。
三、实习收获与反思通过本次实习,我对运筹学在实际问题中的应用有了更深入的了解,收获如下:1. 理论知识与实践操作相结合:本次实习使我明白了运筹学理论知识在解决实际问题中的重要性,同时也提高了我的实际操作能力。
2. 团队协作与沟通能力的培养:在实习过程中,我与同学们共同探讨问题、分工合作,有效提高了团队协作能力。
哈工大运筹学实验报告实验实验一:货物运输问题的数学建模与求解实验目的:1.了解货物运输问题的数学建模方法;2.掌握货物运输问题的线性规划求解方法;3.学会使用运筹学软件求解货物运输问题。
实验原理:货物运输问题属于线性规划问题的一种,其目标是在满足供需平衡和运输容量限制的前提下,使运输成本最小化。
实验内容:1.问题描述:公司有m个供应点和n个需求点,其中每个供应点的供应量为si (i=1,2,…,m),每个需求点的需求量为dj (j=1,2,…,n)。
公司希望通过运输将货物从供应点送到需求点,各供应点到需求点的单位运输成本为aij (i=1,2,…,m; j=1,2,…,n)。
公司希望确定每个供应点与需求点之间的货物运输量xij,以及总运输成本C,使总运输成本最小。
2.数学建模:设xij表示从第i个供应点到第j个需求点的货物运输量,C表示总运输成本,则该问题的数学模型可以描述为:min C = ∑(i=1 to m) ∑(j=1 to n) aij * xijsubject to:∑(j=1 to n) xij = si, i=1,2,…,m∑(i=1 to m) xij = dj, j=1,2,…,nxij ≥ 0, i=1,2,…,m; j=1,2,…,n3.求解方法:利用运筹学软件求解上述线性规划问题,得到最优解。
实验步骤:1.在运筹学软件中新建一个线性规划模型;2.设定决策变量、目标函数和约束条件,并输入相应参数;3.运行求解算法,得到最优解。
实验结果:根据实验步骤,通过运筹学软件求解货物运输问题,得到最优解如下:供应点1到需求点1的运输量为x11=200;供应点1到需求点2的运输量为x12=150;供应点2到需求点1的运输量为x21=100;供应点2到需求点2的运输量为x22=250;总运输成本最小为C=900。
实验总结:通过本次实验,我了解了货物运输问题的数学建模方法,并掌握了线性规划求解的基本步骤。
一、实验背景运筹学是一门应用数学的分支,它运用数学模型和算法来解决各种优化问题。
随着现代科技的发展,运筹学在各个领域的应用越来越广泛,如生产管理、物流运输、资源分配等。
为了提高学生运用运筹学知识解决实际问题的能力,我们开展了运筹学实训实验。
二、实验目的1. 熟悉运筹学的基本概念和常用方法;2. 掌握线性规划、整数规划、运输问题、目标规划等运筹学模型;3. 学会运用计算机软件解决实际问题;4. 培养学生的团队合作精神和创新意识。
三、实验内容本次实验主要包括以下内容:1. 线性规划:以生产计划问题为例,建立数学模型,并运用Excel规划求解器求解最优解。
2. 整数规划:以人员排班问题为例,建立数学模型,并运用Lingo软件求解最优解。
3. 运输问题:以物流配送问题为例,建立数学模型,并运用Lingo软件求解最优解。
4. 目标规划:以投资组合问题为例,建立数学模型,并运用Lingo软件求解最优解。
四、实验步骤1. 线性规划实验(1)问题分析:某企业需要生产甲、乙两种产品,已知生产甲、乙两种产品所需的原料、劳动力及设备等资源消耗量,以及产品的售价和利润。
(2)模型建立:根据问题分析,建立线性规划模型,目标函数为最大化利润,约束条件为资源消耗量不超过限制。
(3)求解:运用Excel规划求解器求解最优解。
2. 整数规划实验(1)问题分析:某公司需要安排员工值班,要求每天至少有3名员工值班,且员工值班时间不能超过一周。
(2)模型建立:根据问题分析,建立整数规划模型,目标函数为最小化员工值班成本,约束条件为员工值班时间不超过限制。
(3)求解:运用Lingo软件求解最优解。
3. 运输问题实验(1)问题分析:某物流公司需要将货物从A、B两个仓库运送到C、D两个销售点,已知各仓库的货物量、各销售点的需求量以及运输成本。
(2)模型建立:根据问题分析,建立运输问题模型,目标函数为最小化运输成本,约束条件为各仓库的货物量不超过需求量。
一、实习概况1. 实习时间:20XX年X月至20XX年X月2. 实习地点:[实习单位名称]3. 实习目的:通过本次运筹学实训,加深对运筹学基本理论和方法的理解,提高解决实际问题的能力,培养团队协作精神。
二、实习内容1. 实训课程概述:本次实训主要围绕运筹学的核心内容展开,包括线性规划、整数规划、网络流、非线性规划、决策分析等。
2. 实训项目:(1)线性规划问题建模与求解(2)整数规划问题建模与求解(3)网络流问题建模与求解(4)非线性规划问题建模与求解(5)决策分析案例研究三、实训过程1. 线性规划问题建模与求解(1)问题描述:以某企业生产计划问题为例,建立线性规划模型,求解最优生产方案。
(2)模型建立:根据实际问题,确定决策变量、目标函数和约束条件。
(3)求解方法:运用单纯形法进行求解。
(4)结果分析:比较不同方案的成本和产量,得出最优生产方案。
2. 整数规划问题建模与求解(1)问题描述:以某企业投资组合优化问题为例,建立整数规划模型,求解最优投资方案。
(2)模型建立:根据实际问题,确定决策变量、目标函数和约束条件。
(3)求解方法:运用分支定界法进行求解。
(4)结果分析:分析不同投资组合的风险和收益,得出最优投资方案。
3. 网络流问题建模与求解(1)问题描述:以某物流公司运输调度问题为例,建立网络流模型,求解最优运输方案。
(2)模型建立:根据实际问题,确定决策变量、目标函数和约束条件。
(3)求解方法:运用最大流最小割定理进行求解。
(4)结果分析:分析不同运输路径的成本和时间,得出最优运输方案。
4. 非线性规划问题建模与求解(1)问题描述:以某工厂生产优化问题为例,建立非线性规划模型,求解最优生产方案。
(2)模型建立:根据实际问题,确定决策变量、目标函数和约束条件。
(3)求解方法:运用拉格朗日乘数法进行求解。
(4)结果分析:分析不同生产方案的成本和产量,得出最优生产方案。
5. 决策分析案例研究(1)问题描述:以某企业新产品研发项目为例,运用决策树法进行决策分析。
第1篇一、引言运筹学作为一门应用广泛的学科,其核心在于运用数学模型和算法解决实际问题。
为了更好地理解和掌握运筹学的理论和方法,本次实践教学报告以XX项目为例,详细阐述运筹学在实际问题中的应用过程。
二、项目背景与目标1. 项目背景XX项目是XX公司为提高生产效率、降低成本而提出的一个优化问题。
公司现有生产线,由于设备老旧、工艺流程不合理等原因,导致生产效率低下,成本较高。
为了解决这一问题,公司决定运用运筹学方法进行生产线优化。
2. 项目目标通过运筹学方法,对XX项目生产线进行优化,实现以下目标:- 提高生产效率,降低生产周期;- 降低生产成本,提高企业经济效益;- 优化生产线布局,提高生产线柔性。
三、运筹学方法选择与应用1. 方法选择针对XX项目的特点,本次实践选择了以下运筹学方法:- 线性规划(Linear Programming,LP)- 整数规划(Integer Programming,IP)- 模拟退火算法(Simulated Annealing,SA)2. 方法应用(1)线性规划首先,根据XX项目实际情况,建立了线性规划模型。
模型中包含决策变量、目标函数和约束条件。
通过求解线性规划模型,得到了最优的生产方案,包括各设备的生产能力分配、生产顺序安排等。
(2)整数规划由于部分设备的生产能力为整数,因此采用整数规划方法对模型进行改进。
通过求解整数规划模型,进一步优化了生产方案,使得设备利用率达到最大化。
(3)模拟退火算法为了提高生产方案的鲁棒性,采用模拟退火算法对优化后的生产方案进行全局搜索。
通过模拟退火算法,得到了一组更加优化的生产方案,提高了生产线的柔性。
四、结果与分析1. 结果经过运筹学方法的应用,XX项目生产线优化取得了以下成果:- 生产效率提高了XX%;- 生产周期缩短了XX天;- 生产成本降低了XX%;- 生产线柔性得到了显著提高。
2. 分析(1)线性规划方法的应用使得生产线设备利用率得到最大化,从而提高了生产效率;(2)整数规划方法的应用确保了设备生产能力的合理分配,避免了生产过程中的资源浪费;(3)模拟退火算法的应用使得生产方案具有更好的鲁棒性,提高了生产线的柔性。
运筹学实验报告专业:班级:ﻩ姓名:ﻩﻩ学号:指导教师:数学与应用数学专业2015—12—18实验目录一、实验目得ﻩ3二、实验要求ﻩ3三、实验内容..................................................................................................................... 31、线性规划ﻩ32、整数规划ﻩ63、非线性规划 (13)4、动态规划........................................................................................................... 145、排队论ﻩ19四、需用仪器设备........................................................................................................... 26五、MATLAB优化工具箱使用方法简介 (26)六、LINGO优化软件简介.......................................................................................... 26七、实验总结ﻩ27一、实验目得1、会利用适当得方法建立相关实际问题得数学模型;2、会用数学规划思想及方法解决实际问题;3、会用排队论思想及方法解决实际问题;4、会用决策论思想及方法解决实际问题;5、掌握MATLAB、LINGO等数学软件得应用;二、实验要求1、七人一组每人至少完成一项实验内容;2、每组上交一份实验报告;3、每人进行1~2分钟实验演示;4、实验成绩比例:出勤:40%课堂提问:20%实验报告:30%实验演示:10%.三、实验内容1、线性规划例运筹学74页14题Minz=—2x—x2s、t、2x1+5x2≤60x1+x2≤183x1+x2≤44X2≤10X1,x2≥0用matlab运行后得到以下结果:theprogramis with the linear programmingPlease inputtheconstraintsnumber of the linear programmingm=6m=6Please input the variantnumber of the linear programming n=2n =2Please input cost array oftheobjective functionc(n)_T=[-2,—1]’c=-2-1Pleaseinputthe coefficient matrix of the constraints A(m,n)=[2,5;1,1;3,1;0,1;—1,0;0,-1]A =2 51 13 10 1-1 00 —1Please input the resource arrayof the program b(m)_T=[60,18,44,10,0,0]’b=601844100Optimization terminated、Theoptimization solution of the programmingis:x =13、00005、0000The optimizationvalue of the programming is:opt_value=-31、0000LINDO程序在命令窗口键入以下内容:max —2x—ysubject to2x+5y〈=60x+y〈=183x+y<=44y<=10end按solve键在reports window出现:Globaloptimal solution found、Objective value: 0、000000Total solver iterations:0Variable ValueReduced CostX 0、000000 2、000000Y 0、000000 1、000000RowSlackorSurplus Dual Price1 0、0000001、0000002 60、000000、0000003 18、00000 0、0000004 44、000000、0000005 10、000000、0000002、整数规划课本第二章79页1题Max z=100x1+180x2+70x3s、t、40x1+50x2+60x3≤100003 x1+6x2+ 2x3≤600x1≤130X2≤80x3≤200x1x2x3≥0程序运行及结果:biprogramthe program is with the binary linear programmingﻫPlease input theconstraintsnumber of the programming m=5ﻫm =ﻫ5ﻫﻫPlease input the variant number of the programming n=5ﻫﻫn =ﻫ5ﻫﻫPlease input cost array of the objective functionc(n)_T=[100,180,70]'ﻫﻫPlease input the coeffic70c =ﻫﻫ100ﻫ180ﻫient matrix of the constraints A(m,n)=[40,50,60;3,6,2;1,0,0;0,1,0;0,0,1]A =ﻫﻫ40 50 60ﻫ 3 62ﻫ 1 0 0010 10ﻫPleaseinputthe resource arrayoftheprogram b (m)_T=[10000;600;130;80;200]b =ﻫﻫ10000ﻫ60013020080ﻫOptimization terminated、ﻫTheoptimization solution of theprogramming is:ﻫx=ﻫ00ﻫ0Theoptimization value of the programmingis:opt_value=0程序名:intprogram b程序说明:% the programm is withthe integerlinear programmingusebranchand boundmethod!ﻫ%这个程序就是用分支定界法解决整数规划问题ﻫ%please input theparametersin the main function in themandwinowsﻫ%请在命令窗口输入这个主要定义函数得参数ﻫfunction[x,f]=ILp(c,A,b,vlb,vub,x0,neqcstr,pre)ﻫ% min f=c'*x,s、t、A*x〈=b,vlb〈=x〈=vubﻫ%f得最小值等于c得转置乘以x,A乘以x小于等于b,x大于等于vlb小于等于vubﻫ%the vecto rs of xis required as integers as whole%x就是整个得整数需要% x0 is the initialization,'[]’is also okﻫ% x0就是初始值,”[]"也可以就是。
% neqcstr is thenumber of equational constraints,when 0 can be deleteﻫ%neqcstr就是平均约束条件得数目,当0能删除时% pre is the concise rate% pre就是简明率ﻫ% x is the integer optimization and fis the optimal value% x就是整数规划,f 就是最优值ﻫ%%%%%%%%%%%%%%%%ﻫif nargin<8,pre=0;%nargin is the factually in put variants number (这个参数就是实际输入得变量个数)if nargin<7,neqcstr=0;ﻫif nargin<6,x0=[];ifnargin<5,vub=[];if nargin<4,vlb=[];ﻫendﻫendﻫendendﻫendﻫﻫ%%%%%%%%%%%%%%%%%%ﻫ% set tocolumn vectorsﻫ%建立列向量ﻫx0=x0(:);ﻫc=c(:);ﻫb=b(:); vlb=vlb(:);vub=vub(:);mm=1;j=1;ﻫnvars=length(c'); %number of variants(变量得个数)ﻫfvub=inf;xall=[];fall=[];x_f_b=[];ﻫ[xtemp,ztemp,how]=lp(c,A,b,vlb,vub,x0,neqcstr,-1);ﻫftemp=c’*xtemp;ﻫ%%%%%%%%%%%%%%%%%%%%%%%ﻫifstrcmp(how,'ok') %pare betweenhowand ok(how与ok之间得比较)ﻫtemp0=round(xtemp);%临时变量四舍五入temp1=floor(xtemp);%取比其小得整数temp2=find(abs(xtemp-temp0)〉pre);ﻫmtemp=length(temp2);if ~isempty(temp2)ﻫx_f_b=[xtemp;ftemp;vlb;vub];ﻫwhile j〈=mmﻫi=1;while i<=mtemp%%%%%%%%%%%%%%%%%%%%%ﻫifx_f_b(nvars+1,j)〈=fvubvlbl=x_f_b(nvars+2:2*nvars+1,j);ﻫvubl=x_f_b(2*nvars+2:3*nvars+1,j);vubl(temp2(i))=temp1(temp2(i));ﻫ[xtemp,z,how]=lp(c,[A;c’],[b;fvub],vlbl,vubl,x0,neqcstr,-1);ﻫftemp=c’*xtemp; ﻫif strcmp(how,'ok’)ﻫtempl0=round(xtemp);ﻫtempl1=floor(xtemp);templ2=find(abs(xtemp-templ0)〉pre);if isempty(templ2)xall=[xall,xtemp];ﻫfall=[fall,ftemp];fvub=min([fvub,fall]);ﻫelseifftemp<=fvubx_f_b=[x_f_b,[xtemp;ftemp;vlbl;vubl]];ﻫendﻫendend%%%%%%%%%%%%%%%%%%ﻫif x_f_b(nvars+1,j)<=fvubﻫvlbr=x_f_b(nvars+2:2*nvars+1,j);ﻫvlbr(temp2(i))=temp1(temp2(i))+1;ﻫvubr=x_f_b(2*nvars+2:3*nvars+1,j);ﻫ[xtemp,z,how]=lp(c,[A;c'],[b;fvub],v lbr,vubr,x0,neqcstr,—1);ftemp=c’*xtemﻫif stp;ﻫrcmp(how,’ok')ﻫtempr0=round (xtemp);ﻫtempr1=floor(xtemp);tempr2=find(abs(xtemp-tempr0)〉pre);if isempty(tempr2)ﻫxall=[xall,xtemp];fall=[fall,ftemp];fvub=min([fvub,fall]);ﻫelseifftemp〈=fvubﻫx_f_b=[x_f_b,[xtemp;ftem p;vlbr;vubr]];endﻫendﻫendﻫ%%%%%%%%%%%%%%%%%%%%%ﻫi=i+1;ﻫend %the second whilexint=x_f_b(1:nvars,:);ﻫ[m,mm]=size(xint);j=j+1; ﻫﻫifj〉mmbreakﻫend %theend because thebreak (因为中断而结束)ﻫtemp0=round(xint(:,j));ﻫtemp1=floor(xint(:,j));temp2=find(abs(xint(:,j)-temp0)〉pre);mtemp=length(temp2);end % the end of while(结束当前)else%correspond thesecondif(符合第一个如果)ﻫx=xt emp;f=ftemp;ﻫend % theend of second if(第二个如果得结束)%%%%%%%%%%%%%%%%%%5if~isempty(fall)ﻫfmin=min(fall);nmin=find(fall==fmin);ﻫx=xall(:,nmin);f=fmin;ﻫendﻫelse %correspond the first if(符合第一个如果)ﻫendx=nan*ones(1,nvars);ﻫLINDO程序例99页第6题第二问在命令窗口键入以下内容:max —11x1—4x2st—x1+2x2<=45x1+2x2〈=162x1-x2〈=4endgin x1gin x2按solve键在reportswindow出现:Globaloptimal solution found、Objective value: 0、000000Extendedsolver steps:Total solveriterations:0Variable Value Reduced CostX1 0、000000 11、00000X2 0、000000 4、000000Row Slack or Surplus DualPrice10、0000001、0000002 4、000000 0、0000003 16、00000 0、0000004 4、000000 0、0000003、非线性规划程序名:unpfun1函数unpfun1函数执行实例:(课本第四章152页16题)min4x1+6x2-2x1x2-2x^2,取初始点x0=(1;1)在命令窗口键入以下内容:f = 4*x(1)-2*x(1)*x(2)—x(2)^2-6*x(2);[x,fval]=fminunc(unpfun1,x0)(调用无约束线性规划函数)按运行按钮在solutionreport 窗口得到以下结果:Warning: Gradient must be provided for trust—region method;using line-search method instead、〉In fminunc at 265Optimization terminated:relative infinity—norm of gradient less than options、TolFun、x =1、0e-006 *0、2541 -0、2029fval =1、3173e—0134、动态规划程序名: dynamic;dynfun1_1,dynfun1_2,dynfun1_3;例180页第一题程序说明:dynamic程序:%the programm is withthe dynamic programminguse the recurisive method for the last to first%this is the main function of the methodfunction[p_opt,fval,u]=dynprog(x,DecisFun,ObjFun,TransFun)% thefunctionis to solve the dynamic example in the textbook%x isthe situationvariant and its column number represent the stage situation% subfunction DecisFun(k,x)is to solve the decisionvariant of k stage variant x%subfunction ObjFun(k,x,u)is to stage index function%subfunction TransFun(k,x,u) is thestage transformation function,u isthecorresponding decision variant%p_opt hasfour output,the first is thenumber of thestage,the second is the optimal roadof decision% the third isthe optimal stategies of the decision ,the forth is the index functiongroup、% fvalis a column vector,is to represent the optimal value correspend tothe initialstage is x%k=length(x(1,:));f_opt=nan*ones(size(x));d_opt=f_opt;t_vubm=inf*ones(size(x));x_isnan=~isnan(x);t_vub=inf;%%%%%%%%%%%%%%%%%% to caculate the teminate valuestmp1=find(x_isnan(:,k));tmp2=length(tmp1);fori=1:tmp2u=feval(DecisFun,k,x(i,k));tmp3=length(u);for j=1:tmp3tmp=feval(ObjFun,k,x(tmp1(i),k),u(j));iftmp<=t_vubf_opt(i,k)=tmp;d_opt(i,k)=u(j);t_vub=tmp;endendend%%%%%%%%%%%%%%%%% recurisivefor ii=k—1:-1:1tmp10=find(x_isnan(:,ii));tmp20=length(tmp10);for i=1:tmp20u=feval(DecisFun,ii,x(i,ii));tmp30=length(u);forj=1:tmp30tmp00=feval(ObjFun,ii,x(tmp10(i),ii),u(j));tmp40=feval(TransFun,ii,x(tmp10(i),ii),u(j));tmp50=x(:,ii+1)-tmp40;tmp60=find(tmp50==0);if~isempty(tmp60),if nargin〈5tmp00=tmp00+f_opt(tmp60(1),ii+1);iftmp00〈=t_vubm(i,ii)f_opt(i,ii)=tmp00;d_opt(i,ii)=u(j);t_vubm(i,ii)=tmp00;endendendendendendfval=f_opt(tmp1,1);%%%%%%%%%%%%%%%%%%% to write the index and parameter or resultp_opt=[];tmpx=[];tmpd=[];tmpf=[];tmp0=find(x_isnan(:,1));tmp01=length(tmp0);for i=1:tmp01tmpd(i)=d_opt(tmp0(i),1);tmpx(i)=x(tmp0(i),1);tmpf(i)=feval(ObjFun,1,tmpx(i),tmpd(i));p_opt(k*(i-1)+1,[1,2,3,4])=[1,tmpx(i),tmpd(i),tmpf(i)];for ii=2:ktmpx(i)=feval(TransFun,ii—1,tmpx(i),tmpd(i));tmp1=x(:,ii)—tmpx(i);tmp2=find(tmp1==0);if ~isempty(tmp2)tmpd(i)=d_opt(tmp2(1),ii);endtmpf(i)=feval(ObjFun,ii,tmpx(i),tmpd(i));p_opt(k*(i—1)+ii,[1,2,3,4])=[ii,tmpx(i),tmpd(i),tmpf(i)];endenddynfun2_1程序:function u=dynfun2_1(k,x)ifx==1u=[2,3,4];elseif x==2u=[5;6];elseif x==3u=[5;6];elseif x==4u=[5;6];elseifx==5u=[7;8;9];elseifx==6u=[7;8;9];elseif(x==7)|(x==8)|(x==9)u=10;elseif x==10u=10;enddynfun2_2程序:function v=dynfun2_2(k,x,u)tt=[3;2;1;4;3;1;3;3;5;2;5;1;1;4;2;3;1;5];tmp=[x==1&u==2,x==1&u==3,x==1&u==4,x==2&u==5,x==2&u==6,、、、x==3&u==5,x==3&u==6,x==4&u==5,x==4&u==6,、、、x==5&u==7,x==5&u==8,x==5&u==9,x==6&u==7,x==6&u==8,x ==6&u==9,x==&u==10,x==8&u==10,x==9&u==10];v=tmp*tt;dynfun2_3程序:functiony=dynfun2_3(k,x,u)y=u;在命令窗口得程序执行过程与结果如下:>〉x=nan*ones(3,5);〉〉x>(1,1)=1;〉>x(1:3,2)=(2:4)';>>x(1:2,3)=[5,6]';〉>x(1:3,4)=(7:9)';>〉x(1,5)=10;〉>[p,f]=dynamic(x,'dynfun2_1',’dynfun2_2','dynfun2_3')得到以下结果:p =1 1 322 3 5 1357 24 7 10 3510 100f =8该结果表明最短路线为1 3 5 7 10最短路程为85排队论程序:queueM/M/1/k系统课本270页例8、2、5程序及结果如下:queuethe program is with queueing theoryPlease input the system pattern:M/M/1/inf=1,M/M/1/k=2,M/M /c/inf=3,M/M/c/m/m=4!Pattern=2Pt=2(该数字表示选择M/M/1/k系统)Please input the averagearrival number in unit time lapta=10lapta =10Please input the average service number in unit timemu=30mu =30Please input the parameter k=2k =2输出结果如下:The service intensity(Untruth)ofthe system is:ru =0、3333The averagequeue length is:L=0、3846(平均队长)The average waiting length is:Lq =0、0769(平均等待队长)The lost possibility is:p_k =0、0769Theaverage lost customer number in unit time is:lapta_L =0、7692The truth average arrival customer number inunit time is:lapta_e=9、2308The average delay time is:W=0、0417(平均逗留时间)The averagewaiting time is:Wq =0、0083(平均等待时间)The average service intensity(efficent and truth)of the system is:ru_e=0、3077若按照甲方案,则如下结果:theprogramiswith queueing theoryPlease input the system pattern:M/M/1/inf=1,M/M/1/k=2,M/M/c/inf=3,M/M/c/m/m=4!Pattern=2Pt =2Please inputthe average arrival number in unit time l apta=10lapta =10Please input the average service number in unit time mu=30mu =30Pleaseinput the parameter k=3k =3输出结果如下:The service intensity(Untruth) of thesystem is:ru=0、25The average queue length is:L =0、3176The average waiting length is:Lq =0、0706The lost possibility is:p_k=0、0118Theaverage lost customer number in unit timeis: lapta_L =0、1176The truth average arrival customer number in unit time is:lapta_e =9、8824The average delaytime is:W =0、0321The average waiting timeis:Wq =0、0071The average serviceintensity(efficent and truth) of the system is:ru_e =0、2471the program is with queueing theoryPlease inputthe system pattern:M/M/1/inf=1,M/M/1/k=2,M/M/c/inf=3,M/M/c/m/m=4! Pattern=2Pt =2Please input the average arrival numberinunit time lapta=10lapta=10Pleaseinput the average service number inunit time mu =40mu=40Please input theparameter k=2k =2输出结果如下:Theservice intensity(Untruth) of the systemis:ru =0、25The average queue length is:L =0、2857The averagewaiting lengthis:Lq =0、0476The lost possibility is:p_k =0、0476The average lostcustomer number in unit time is:lapta_L =0、4762The truth average arrivalcustomer number inunit time is:lapta_e=9、5238The average delay time is:W=0、03The average waiting time is:Wq =0、005The average serviceintensity(efficent and truth) of the system is:ru_e =0、2381theprogram is with queueing theoryPlease input the system pattern:M/M/1/inf=1,M/M/1/k=2,M/M/c/inf=3,M/M/c/m/m=4! Pattern=2Pt =2Please input the average arrival number in unit time lapta=30lapta =30Please input the average service number in unit time mu=30mu =30Pleaseinput the parameter k=2k =2输出结果如下:The service intensity(Untruth) of the system is:ru =1The average queue length is:L =1The average waiting length is:Lq =0、3333The lost possibility is:p_k =0、3333The average lost customernumber in unit timeis: lapta_L =10The truthaverage arrival customer number in unit time is:lapta_e =20The average delay timeis:W =0、05Theaverage waiting time is:Wq=0、0167The average service intensity(efficent and truth) of t hesystem is:ru_e =0、6667四、需用仪器设备PC i5、windows XP、MATLABR2007a、LINGO11五、MATLAB优化工具箱使用方法简介MATLAB优化工具箱具有强大得科学计算能力,在工程设计领域得到了广泛得应用、简要介绍了MATLAB优化工具箱,通过对MATtAB优化工具箱中fmincon函数得语法进行分析,提出了结构优化设计得通用求解方法、首先,合理设置优化目标函数与约束条件、然后,使用MATLAB优化工具箱进行编程计算、结果显示,与其她方法相比,使用MATLAB优化工具箱进行优化,不仅可以提高计算精度,而且可以减少计算时间、因此,在结构工程设计领域有较强得实际应用价值、六、LINGO优化软件简介lingo就是用来求解线性与非线性优化问题得简易工具。