运筹学最短路径实验

运筹学最短路径实验
运筹学最短路径实验

运筹学论文最短路问题

运筹学论文 ——旅游路线最短问题摘要: 随着社会的发展,人民的生活水平的提高,旅游逐渐成为一种时尚, 越来越多的人喜欢旅游。而如何才能最经济的旅游也成为人民考虑的一项 重要环节,是选择旅游时间最短,旅游花费最少还是旅游路线最短等问题 随之出现,如何决策成为一道难题。然而,如果运用运筹学方法来解决这 一系列的问题,那么这些问题就能迎刃而解。本文以旅游路线最短问题为 列,给出问题的解法,确定最短路线,实现优化问题。 关键词:最短路 0-1规划约束条件 提出问题: 从重庆乘飞机到北京、杭州、桂林、哈尔滨、昆明五个城市做旅游,每个城市去且仅去一次,再回到重庆,问如何安排旅游线路,使总旅程最短。 各城市之间的航线距离如下表: 重庆北京杭州桂林哈尔滨昆明 重庆0 1640 1500 662 2650 649 北京1640 0 1200 1887 1010 2266 杭州1500 1200 0 1230 2091 2089 桂林662 1887 1230 0 2822 859 哈尔滨2650 1010 2091 2822 0 3494 昆明649 2266 2089 859 3494 0 问题分析: 1.这是一个求路线最短的问题,题目给出了两两城市之间的距离,而在最短路线中,这些城市有的两个城市是直接相连接的(即紧接着先 后到达的关系),有些城市之间就可能没有这种关系,所以给出的两 两城市距离中有些在最后的最短路线距离计算中使用到了,有些则 没有用。这是一个0-1规划的问题,也是一个线性规划的问题。 2.由于每个城市去且仅去一次,最终肯定是形成一个圈的结构,这就

导致了这六个城市其中有的两个城市是直接相连的,另外也有两个 城市是不连接的。这就可以考虑设0-1变量,如果两个城市紧接着 去旅游的则为1,否则为0。就如同下图 实线代表两个城市相连为1, 虚线代表没有相连为0 3.因为每个城市只去一次,所以其中任何一个城市的必有且仅有一条进入路线和一条出去的路线。 LINGO解法: 为了方便解题,给上面六个城市进行编号,如下表(因为重庆是起点, 将其标为1) 假设:设变量x11。如果x11=1,则表示城市i与城市j直接相连(即先后紧接到达关系),否则若x11=0,则表示城市i与城市j不相连。 特别说明:xij和xji是同一变量,都表示表示城市i与城市j是否有相连的关系。这里取其中xij (i

运筹学典型考试试题及答案

二、计算题(60分) 1、已知线性规划(20分) MaxZ=3X1+4X2 X1+X2≤5 2X1+4X2≤12 3X1+2X2≤8 X1,X2≥0 其最优解为: 基变量X1X2X3X4X5 X33/2 0 0 1 -1/8 -1/4 X25/2 0 1 0 3/8 -1/4 X1 1 1 0 0 -1/4 1/2 σj 0 0 0 -3/4 -1/2 1)写出该线性规划的对偶问题。 2)若C2从4变成5,最优解是否会发生改变,为什么? 3)若b2的量从12上升到15,最优解是否会发生变化,为什么? 4)如果增加一种产品X6,其P6=(2,3,1)T,C6=4该产品是否应该投产?为什么?解: 1)对偶问题为 Minw=5y1+12y2+8y3 y1+2y2+3y3≥3 y1+4y2+2y3≥4 y1,y2≥0 2)当C2从4变成5时, σ4=-9/8 σ5=-1/4 由于非基变量的检验数仍然都是小于0的,所以最优解不变。 3)当若b2的量从12上升到15 X=9/8 29/8 1/4 由于基变量的值仍然都是大于0的,所以最优解的基变量不会发生变化。 4)如果增加一种新的产品,则 P6’=(11/8,7/8,-1/4)T σ6=3/8>0 所以对最优解有影响,该种产品应该生产 2、已知运输问题的调运和运价表如下,求最优调运方案和最小总费用。(共15分)。 B1B2B3产量销地 产地 A1 5 9 2 15 A2 3 1 7 11 A3 6 2 8 20 销量18 12 16 解:初始解为

计算检验数 由于存在非基变量的检验数小于0,所以不是最优解,需调整 调整为: 重新计算检验数 所有的检验数都大于等于0,所以得到最优解 3、某公司要把4个有关能源工程项目承包给4个互不相关的外商投标者,规定每个承包商只能且必须承包一个项目,试在总费用最小的条件下确定各个项目的承包者,总费用为多少?各承包商对工程的报价如表2所示: (15分) 项目 投标者 A B C D 甲 15 18 21 24 乙 19 23 22 18 丙 26 17 16 19 丁 19 21 23 17 答最优解为: X= 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 总费用为50 4. 考虑如下线性规划问题(24分) B 1 B 2 B 3 产量/t A 1 15 15 A 2 11 11 A 3 18 1 1 20 销量/t 18 12 16 B 1 B 2 B 3 产量/t A 1 5 13 0 15 A 2 -2 0 0 11 A 3 0 0 20 销量/t 18 12 16 B 1 B 2 B 3 产量/t A 1 15 15 A 2 11 11 A 3 7 12 1 20 销量/t 18 12 16 B 1 B 2 B 3 产量/t A 1 5 13 0 15 A 2 0 2 2 11 A 3 0 0 0 20 销量/t 18 12 16

运筹学上机实验指导书.

运筹学上机实验指导书 重庆交通大学管理学院

目录 绪论 运筹学上机实验软件简介 第一章运筹学上机实验指导 §1.1 中小型线性规划模型的计算机求解 §1.2 大型线性规划模型的编程计算机求解 §1.3线性规划的灵敏度分析 §1.4运输问题数学模型的计算机求解 §1.5目标规划数学模型的计算机求解 §1.6整数规划数学模型的计算机求解 §1.7 指派问题的计算机求解 §1.8最短路问题的计算机求解 §1.9最大流问题的计算机求解 第二章LINGO软件基础及应用 §2.1 原始集(primitive set)和派生集(derived set)与集的定义 §2.2 LINGO中的函数与目标函数和约束条件的表示 §2.3 LINGO中的数据 §2.4 LINDO简介

第三章运筹学上机实验及要求 实验一.中小型线性规划模型的求解与Lingo软件的初步使用实验二.中小型运输问题数学模型的Lingo软件求解。 实验三.大型线性规划模型的编程求解。 实验四.运输问题数学模型的Lingo编程求解。 实验五.分支定界法上机实验 实验六.整数规划、0-1规划和指派问题的计算机求解 实验七:最短路问题的计算机求解 实验八:最大流问题的计算机求解 实验九:运筹学综合实验

绪论 运筹学是研究资源最优规划和使用的数量化的管理科学,它是广泛利用现有的科学技术和计算机技术,特别是应用数学方法和数学模型,研究和解决生产、经营和经济管理活动中的各种优化决策问题。 运筹学通常是从实际问题出发,根据决策问题的特征,建立适当的数学模型,研究和分析模型的性质和特点,设计解决模型的方法或算法来解决实际问题,是一门应用性很强的科学技术。运筹学的思想、内容和研究方法广泛应用于工程管理、工商企业管理、物流和供应链管理、交通运输规划与管理等各行各业,也是现代管理科学和经济学等许多学科研究的重要基础。 在解决生产、经营和管理活动中的实际决策问题时,一般都是建立变量多、约束多的大型复杂的运筹学模型,通常都只能通过计算机软件才能求解,因此,学习运筹学的计算机求解和进行上机实验,就是运筹学教学的重要组成部分。 现在求解各类运筹学模型的软件多种,主要有Microexcel,Matlab,LINDO,LINGO,WinQSB和英国运筹学软件Dash-Xpress。Microexcel主要利用规划求解来解线性规划模型,WinQSB功能比较齐全,但是主要适合解决规模较小的运筹学模型,英国运筹学软件Dash-Xpress现在在中国的使用率不高,Matlab是通过矩阵的方法解决线性规划,对非线性规划和其它运筹学模型特别是大规模的模型的输入不太方便,。而LINGO和LINDO是使用最广泛的运筹学专业软件,前者功能强大,能解决几乎所有的运筹学优化模型,后者主要功能是线性规划模型的求解。在LINGO中模型的输入和编程都比较方便,可解决大规模的运筹学模型。因此,本课程的教学就是以LINGO为主,适当补充Excel和LINDO作为运筹学上机软件,后者的优势主要在于能获得最优单纯形表以进行更全面地灵敏度分析。 LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。 LINGO全称是Linear INteractive and General Optimizer的缩写---交互式的线性和通用优化求解器。它是一套设计用来帮助您快速,方便和有效的构建和求解线性,非线性,和整数最优化模型的功能全面的工具.包括功能强大的建模语言,建立和编辑问题的全功能环境,读取和写入Excel和数据库的功能,和一系列完全内置的求解程序. 运行环境:Win9x/NT/2000/XP/2003/Vista/Win7 软件类别:国外软件/工具软件/计算工具 软件语言:英文 LINGO 是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。LINGO 提供强大的语言和快速的求解引擎来阐述和求解最佳化模型。LINGO具有如下的优势: 1.简单的模型表示 LINGO 可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。LINGO的建模语言允许您使用汇总和下标变量以一种易懂的直观的方式来表达模型,非常类似您在使用纸和笔。模型更加容易构建,更容易

《运筹学B》实验指导书(2版)

《运筹学B》实验指导书 (第二版) 南昌航空大学数信学院应用数学系 邱根胜编 2011年09月

目录 实验1、用Lingo求解最短路、最小树问题 (4) 实验2、用Lingo求解最大流、最小费用流问题 (11) 实验3、利用Lingo求解排队与存贮模型 (16) 实验4、利用数学软件求解对策论问题 (30) 实验5、运筹学综合应用 (37)

一、授课对象 四年制本科数学与应用数学、信息与计算科学专业。 二、课程类型 专业选修课 三、实验的性质、目的与任务 1、实验性质 《运筹学B》实验是一门重要的专业课实验。要求通过上机实验,使学生了解运筹学中的网络优化、排队论、对策论等在实际中的应用,了解运筹学解决实际问题的基本方法,培养建模能力和计算机应用能力。 2、实验的目的 培养与提高学生分析问题和解决问题的能力、自学能力,利用运筹学和数学软件求解实际问题的能力,以及程序设计能力。 3、实验的任务 应用Matlab、lindo/lingo求解网络优化模型、排队与存储模型、对策论模型等,加深对运筹学方法的理解,并初步具有利用运筹学和计算机软件解决实际问题的能力。 五、实验内容与实验要求 实验一、用Lingo求解最短路、最小树问题 实验要求: 1、了解Lingo软件求解一般数学规划的方法; 2、理解最短路问题和最小树的数学规划模型。 实验二、用Lingo求解最大流、最小费用流问题 实验要求: 1、熟悉Lingo软件求解一般数学规划的方法;

2、熟悉最大流、最小费用流问题的数学规划模型; 3、掌握利用Lingo求解最大流、最小费用流问题的数学模型的用法。 实验三、利用Lingo求解排队与存贮模型 实验要求: 1、理解排队论与存贮论中的几个基本模型; 2、利用Lingo求解排队与存贮模型。 实验四、利用数学软件求解对策论问题 实验要求: 1、了解将对策论模型转化为数学规划模型的方法; 2、利用Lingo求解对策论模型。 实验四、运筹学综合应用 本实验为综合性实验,主要内容为对一个实际问题,能利用运筹学建立模型,并利用计算机编程求解,培养学生数学建模的能力和计算机应用能力。 实验要求: 1、根据要求选取一个实际问题,利用运筹学知识,建立实际问题的数学模型; 2、利用数学软件求解模型,并对结果进行分析、讨论,最后给出问题的解决方案; 3、写出实验报告。 注:从12学时的实验内容中选择8学时的实验内容,其中有一个综合性实验。 六、主要参考书 [1] 谢金星,薛毅编著,《优化建模与LINDO/LINGO》,清华大学出版社,2005年7月。 [2]《运筹学》教材编写组编,《运筹学》(第三版),清华大学出版社,2005年6月, [3] 姜启源,邢文训,谢金星等,《大学数学实验》,清华大学出版社,2005年。 [4] 胡运权主编,《运筹学教程》(第三版),清华大学出版社,2007年。

运筹学最短路径实验

实验项目:最短路径问题 实验学时: 4 实验日期:2012年11月30日 实验要求:案例 模型 分析 实验内容:用最短路径模型解决具体问题 前言 运输是物流过程的主要职能之一,也是物流过程各项业务的中心活动。物流过程中的其它各项活动,如包装、装卸搬运、物流信息等,都是围绕着运输而进行的。可以说,在科学技术不断进步、生产的社会化和专业化程度不断提高的今天,一切物质产品的生产和消费都离不开运输。物流合理化,在很大程度上取决于运输合理化。所以,在物流过程的各项业务活动中,运输是关键,起着举足轻重的作用。而有效的缩减路径可以使得运输费用降低。本文运用Dijkstra 算法求出最短路径,以最大限度地节约运输费用降低物流成本,Dijkstra 算法用于求解最短路径问题最常用的方法之一。 Dijkstra 算法的基本步骤如下: (1)给起点1v 以P 标号()01=v p ,其余各点均给以T 标号,()∞+=i V T 。 (2)若i v 点为刚得到的p标号的点,考虑这样的点为j v ,考虑()j i v v ,这条边,且 ()j v 为T 标号,对j v 的T 标号进行如下更改 ()()()[] ij i j j l v P v T v T +=,min (3)比较所有具有T标号的点,把最小者改为P标号,即()()[] i v V P i min =,当存在两个以上最小者时,可同时改为P标号,若全部点均为P标号,则停止,否则- i v 代i v 改为第二步重做。

案例分析 下图所示是某地区交通运输的示意图,试问从1v 出发,经哪条路线达到8v 才能使总行程最短?使用Dijkstra 求解。 2v 5 4v 9 6v 4 4 7 5 4 1v 8v 6 4 5 1 3v 7 5v 6 7v 步骤: 1. 首先给1v 以P 标号,()01=V P ,给其余所有的点以T 标号,()()8,,2,1 =+∞=i V T i 2. (1)考察点1V ,边()()3121,,,V V V V ()()()[][]()()()[][]6 60,min ,min 440,min ,min 1313312122=+∞+=+==+∞+=+=l V P V T V T l V P V T V T (2)比较所有T 标号()(){}32,V T V T ,()42=V T 最小,所以给2V 以P 标号,令 ()42=V P ,记录路径()21,V V 3. (1) 2V 为刚得到P 标号的点,考察边()()5242,,,V V V V ()()()[][]954,min ,min 24244=+∞+=+=l V P V T V T ()()()[][]844,min ,min 25255=+∞+=+=l V P V T V T (2)比较所有T 标号,()()(){}543,,V T V T V T ,()63=V T 最小,给3V 以P 标号,令 ()63=V P ,记录路径()31,V V 4. (1)3V 为刚得到P 标号的点,考察()()5343,,,V V V V ()()()[][]946,9min ,min 34344=+=+=l V P V T V T ()()()[][]876,8min ,min 35355=+=+=l V P V T V T (2)比较所有T 标号,()(){}54,V T V T ,()85=V T 最小,给5V 以P 标号,令

运筹学最短路例2解题步骤

解:1.给起点标以v1(0,s) 2. I={v1}, J={v2,v3,v4,v5,v6,v7} 弧集合{(v i,v j)| v i∈I,v j∈J }={(v1,v2),(v1,v3),(v1,v4)} 并有:s12=l1+c12=0+2=2 s13=l1+c13=0+5=5 s14=l1+c14=0+3=3 min(s12,s13,s14)=s12=2 给弧(v1,v2)的终点v2标以(2,1) 3.此时I={v1,v2} J={v3,v4,v5,v6,v7}弧集合{(v i,v j)|v i∈I,v j∈J }={(v1,v3)(v1,v4)(v2,v3)} 并有:s23=l2+c23=2+2=4 min(s13,s14,s23)=s14=3 此时,给弧(v1,v4)的终点v4标以(3,1) 4. 此时I={v1,v2,v4} J={v3,v5,v6,v7} 弧集合{(v i,v j)| v i∈I,v j∈J } ={(v1,v3),( v2,v3),( v2,v6),( v4,v3),( v4,v5) } 并有:s26=l2+c26=2+7=9 s43=l4+c43=3+1=4 s45=l4+c45=3+5=8 min(s13,s23 ,s26,s43,s45)=s23=s43=4 此时,给弧(v2,v3)的终点v3标以(4,2) 给弧(v4,v3)的终点v3标以(4,4)

5.此时I={v1,v2,v3,v4 } J={ v5,v6,v7 } 弧集合{(v i,v j)|v i∈I,v j∈J }= { ( v2,v6),( v3,v6),( v3,v5),( v4,v5) } 并有:s36=l3+c36=4+5=9 s35=l3+c35=4+3=7 min(s26,s36 ,s35,s45 )=s35=7 此时,给弧(v3,v5)的终点v5标以(7,3) 6. 此时I={v1,v2,v3,v4 ,v5} J={ v6,v7 } 弧集合{(v i,v j)|v i∈I,v j∈J } = { ( v2,v6),( v3,v6),( v5,v6) } 并有:s56=l5+c56=7+1=8 min(s26,s36 ,s56 )=s56=8 此时,给弧(v5,v6)的终点v6标以(8,5) 7. 此时I={v1,v2,v3,v4 ,v5, v6} J={ v7 } 弧集合{(v i,v j)|v i∈I,v j∈J } = {( v6,v7) } 并有:s67=l6+c67=8+5=13 ∴此时最短路径为:v1→v2→v3→v5→v6→v7 或 v1→v4→v3→v5→v6→v7 距离为:13

2015《运筹学》实验指导书

《运筹学》实验指导书中南民族大学管理学院信息管理系编写

《运筹学》实验报告撰写规范 一、所提交的实验报告一律要求为“打印”纸质版,纸张大小要求为B5纸,不得用A4纸。 二、实验报告格式统一使用“中南民族大学管理学院实验报告.doc”模版。 第一封面处修改姓名、学号、年级、专业即可,保持原有模板中的字体及对齐方式。 第二报告模板中已填写部分不要改动,包括目录页中的实验名称、每个实验的实验属性与实验时间等。 第三不要自行更改模板的任何格式和内容,包括页面设置、字体、表格、页眉、页脚等所有内容。 第四前一个实验项目完成后,后一个实验项目应另起一页,所提供的模板已经对此进行了划分,请不要删除各实验项目之间的分页符。指导教师批阅部分保证留出3行。 三、严格按照所提供的实验模板填写相关内容。其中: (1)实验报告“步骤与分析”部分撰写格式为5号仿宋_GB2312,单倍行距,首行缩进2个字符。 (2)实验报告中“实验步骤”栏目要求详细写出实验过程(附截图)。 (3)实验报告中“实验结果分析”栏目主要分析结果所涉及的知识点以及心得体会。 四、不提交实验报告或所提交实验报告不符合要求

者期末考试不及格。 五、发现有抄袭他人者,抄袭者和被抄袭者期末考试均按不及格处理。 六、实验成绩由格式分和内容分两部分构成,其中格式占30分,内容占70分,不符合本规范要求的将扣除格式分。

目录 实验一线性规划求解(1) 实验二线性规划求解(2) 实验三线性规划建模求解(1)实验四线性规划建模求解(2)实验五运输问题 实验六LINOG软件初步应用

实验一、线性规划求解(1)(验证型) 一、实验目的 1.理解线性规划解的基本概念;并掌握线性规划的求解原理和方法。 2.掌握运用“管理运筹学软件”对线性规划问题进行建模与求解;并学会灵敏度分析方法。 二、实验内容: 1.认真阅读下列各题,注意每个问题的特征; 2.用本书附带的《管理运筹学软件》求解下列问题,并记录结果;(对照书第3章有关软件的介绍理解计算结果的相关解释,要求包含全部运算结果及相关的敏感性分析结果) 3.对结果作适当分析(与图解对比); 4.完成实验报告。(如有余力,以该软件做一下课后题,对单纯形法相对照) (1) max z=x1+x2 s.t. x1+2x2<=4 x1-2x2>=5 x1,x2>=0 (2) max z=2x1+x2 s.t. x1+x2>=2 x1-2x2<=0 x1,x2>=0 (3) min z=x1+x2+x3+x4+x5+x6 s.t. x1+x6>=60 x1+x2>=70 x2+x3>=60 x3+x4>=50 x4+x5>=20 x5+x6>=30 x1,…x6>=0

运筹学实验指导书

运筹学实验指导书-CAL-FENGHAI.-(YICAI)-Company One1

实验一、线性规划综合性实验 一、实验目的与要求: 使学生掌握线性规划建模的方法以及至少掌握一种线性规划软件的使用,提高学生应用线性规划方法解决实际问题的实践动手能力。通过实验,使学生更深入、直观地理解和掌握线性规划的基本概念及基本理论和方法。要求学生能对一般的线性规划问题建立正确的线性规划数学模型,掌握运筹学软件包线性规划模块的操作方法与步骤,能对求解结果进行简单的应用分析。 二、实验内容与步骤: 1.选择合适的线性规划问题 学生可根据自己的建模能力,从本实验指导书提供的参考选题中或从其它途径选择合适的线性规划问题。 2.建立线性规划数学模型 学生针对所选的线性规划问题,运用线性规划建模的方法,建立恰当的线性规划数学模型。 3.用运筹学软件求解线性规划数学模型 学生应用运筹学软件包线性规划模块对已建好的线性规划数学模型进行求解。 4.对求解结果进行应用分析 学生对求解结果进行简单的应用分析。 三、实验例题: (一)线性规划问题 某集团摩托车公司产品年度生产计划的优化研究 1)问题的提出 某集团摩托车公司是生产各种类型摩托车的专业厂家,有30多年从事摩托车生产的丰富经验。近年来,随着国内摩托车行业的发展,市场竞争日趋激烈,该集团原有的优势逐渐丧失,摩托车公司的生存和发展面临严峻的挑战。为此公司决策层决心顺应市场,狠抓管理,挖潜创新,从市场调查入手,紧密结合公司实际,运用科学方法对其进行优化组合,制定出1999年度总体经济效益最优的生产计划方案。 2)市场调查与生产状况分析 1998年,受东南亚金融风暴的影响,国内摩托车市场出现疲软,供给远大于需求,该集团的摩托车生产经营也出现开工不足、库存增加和资金周转困难等问题。 该集团共有三个专业厂,分别生产轻便摩托车、普通两轮车和三轮摩托车三大系列产品。

运筹学实验指导书Excel版

运筹学 实验报告册(适用于经济管理类专业) 学号: 姓名: 专业:信息管理与信息系统

实验一线性规划的Excel求解与软件求解 一、实验目的 熟悉Excel软件、管理运筹学软件,掌握线性规划的Excel求解和管理运筹学软件求解。 二、实验要求 能识别线性规划有关问题并建立相应的线性规划模型,能写出线性规划的标准形式,理解线性规划解的概念,理解单纯形法原理。 三、实验原理及内容 依据单纯形法求解原理及步骤,在Excel界面中输入数据,进行求解。熟悉线性规划模型的建立过程,掌握数据整理与Excel规划求解的操作步骤。线性规划模型的建立,数据的输入与求解是最基础的要求。 本节实验要求完成以下内容: 1、线性规划模型的建立; 2、Excel界面内数据的输入; 3、利用Excel规划求解进行线性规划模型的求解。 四、实验步骤及结论分析 1、某饲养场养动物出售,设每头动物每天至少需700g蛋白质、30g矿物质、100mg维生素。现有五种饲料可供选用,各种饲料每kg营养成分含量及单价如表示。 饲料蛋白质(g)矿物质(g)维生素(mg)价格(元/kg) 1 3 1 0.5 0.2 2 2 0.5 1.0 0.7 3 1 0.2 0.2 0.4 4 6 2 2 0.3 5 18 0.5 0.8 0.8 (1)建立这个问题的线性规划模型 Min f=0.2X1+0.7X2+0.4X3+0.3X4+0.8X5 约束条件: 3X1+2X2+X3+6X4+18X5>=700 X1+0.5X2+0.2X3+2X4+0.5X5>=30 0.5X1+X2+0.2X3+2X4+0.5X5>=100 X1,X2,X3,X4,X5>=0 (2)对建立的模型进行Excel求解 2、福安商场是个中型的百货商场,它对销售人员的需求经过统计分析如下所示:

最短路径问题的算法分析及建模案例

最短路径问题的算法分析及建模案例

最短路径问题的算法分析及建模案例 一.摘要 (3) 二.网络最短路径问题的基础知识 (5) 2.1有向图 (7) 2.2连通性................... 错误!未定义书签。 2.3割集....................... 错误!未定义书签。 2.4最短路问题 (8) 三.最短路径的算法研究.. 错误!未定义书签。 3.1最短路问题的提出 (9) 3.2 Bellman最短路方程错误!未定义书签。 3.3 Bellman-Ford算法的基本思想错误!未定义书签 3.4 Bellman-Ford算法的步骤错误!未定义书签。 3.5实例....................... 错误!未定义书签。 3.6 Bellman-FORD算法的建模应用举例错误!未定义 3.7 Dijkstra算法的基本思想 (9) 3.8 Dijkstra算法的理论依据 (9) 3.9 Dijkstra算法的计算步骤 (9) 3.10 Dijstre算法的建模应用举例 (10) 3.11 两种算法的分析错误!未定义书签。

1.Diklstra算法和Bellman-Ford算法 思想有很大的区别错误!未定义书签。 Bellman-Ford算法在求解过程中,每 次循环都要修改所有顶点的权值,也就 是说源点到各顶点最短路径长度一直 要到Bellman-Ford算法结束才确定下 来。...................... 错误!未定义书签。 2.Diklstra算法和Bellman-Ford算法 的限制.................. 错误!未定义书签。 3.Bellman-Ford算法的另外一种理解错误!未定 4.Bellman-Ford算法的改进错误!未定义书签。 摘要 近年来计算机发展迅猛,图论的研究也得到了很大程度的发展,而最短路径 问题一直是图论中的一个典型问题,它已应用在地理信息科学,计算机科学等 诸多领域。而在交通路网中两个城市之间的最短行车路线就是最短路径问题的 一个典型例子。 由于最短路径问题在各方面广泛应用,以及研究人员对最短路径的深入研究, 使得在最短路径问题中也产生了很多经典的算法。在本课题中我将提出一些最 短路径问题的算法以及各算法之间的比较,最后将这些算法再应用于实际问题

运筹学实验指导书

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所示。

最短路径问题的算法分析及建模案例

最短路径问题的算法分析及建模案例 一.摘要 (2) 二.网络最短路径问题的基础知识 (3) 2.1有向图 (5) 2.2连通性.............................................................................................. 错误!未定义书签。 2.3割集.................................................................................................. 错误!未定义书签。 2.4最短路问题 (6) 三.最短路径的算法研究............................................................................. 错误!未定义书签。 3.1最短路问题的提出 (6) 3.2 Bellman最短路方程...................................................................... 错误!未定义书签。 3.3 Bellman-Ford算法的基本思想.................................................... 错误!未定义书签。 3.4 Bellman-Ford算法的步骤............................................................ 错误!未定义书签。 3.5实例.................................................................................................. 错误!未定义书签。 3.6 Bellman-FORD算法的建模应用举例............................................ 错误!未定义书签。 3.7 Dijkstra算法的基本思想 (6) 3.8 Dijkstra算法的理论依据 (6) 3.9 Dijkstra算法的计算步骤 (6) 3.10 Dijstre算法的建模应用举例 (7) 3.11 两种算法的分析........................................................................... 错误!未定义书签。 1.Diklstra算法和Bellman-Ford算法思想有很大的区别 ...... 错误!未定义书签。 Bellman-Ford算法在求解过程中,每次循环都要修改所有顶点的权值,也就是说 源点到各顶点最短路径长度一直要到Bellman-Ford算法结束才确定下来。错误!未定义书签。 2.Diklstra算法和Bellman-Ford算法的限制.......................... 错误!未定义书签。 3.Bellman-Ford算法的另外一种理解........................................ 错误!未定义书签。 4.Bellman-Ford算法的改进........................................................ 错误!未定义书签。

运筹学实验指导书(第1部分)汇总

预备知识 WinQSB 软件操作指南 [WinQSB 软件简介] QSB 是 Quantitative Systems for Business 的缩写,早期的版本是在 DOS 操作系统下运行的, 后来发展成为在 Windows 操作系统下运行的 WinQSB 软件,目前已经有2.0 版。该软件是由美籍华人 Yih-Long Chang 和 Kiran Desai 共同开发,可广泛应用于解决管理科学、决策科学、运 筹学及生产管理等领域的问题。该软件界面设计友好,使用简单,使用者很容易学会并用它来解 决管理和商务问题,表格形式的数据录入以及表格与图形的输出结果都给使用者带来极大的方便,同时使用者只需要借助于软件中的帮助文件就可以学会每一步的操作。 WinQSB 应用软件包可求解如下19 类问题: 序 号 程 序 缩 写、文件名 名称 应用范围 1 Acceptance Sampling Analysis A SA 抽样分析 各种抽样分析、抽样方案设 计、假设分析 2 Aggregate Planning A P 综合计划编制 具有多时期正常、加班、分时、转包生产量,需求量,储 存费用,生产费用等复杂的整体综合生产计划的编制方法。将问题归结到求解线性规划模 型或运输模型 3 decision analysis D A 决策分析 确定型与风险型决策、贝叶斯决策、决策树、二人零和对策、蒙特卡罗模拟。 4 Dynamic Programming D P 动态规划 最短路问题、背包问题、生产 与储存问题 5 Facility Location and Layout F LL 设备场地布局 设备场地设计、功能布局、线 路均衡布局 6 Forecasting and Linear regression F C 预测与线性回归 简单平均、移动平均、加权移 动平均、线性趋势移动平均、 指数平滑、多元线性回归、

运筹学实验指导书

实验一、线性规划综合性实验 一、实验目的与要求: 使学生掌握线性规划建模的方法以及至少掌握一种线性规划软件的使用,提高学生应用线性规划方法解决实际问题的实践动手能力。通过实验,使学生更深入、直观地理解和掌握线性规划的基本概念及基本理论和方法。要求学生能对一般的线性规划问题建立正确的线性规划数学模型,掌握运筹学软件包线性规划模块的操作方法与步骤,能对求解结果进行简单的应用分析。 二、实验内容与步骤: 1.选择合适的线性规划问题 学生可根据自己的建模能力,从本实验指导书提供的参考选题中或从其它途径选择合适的线性规划问题。 2.建立线性规划数学模型 学生针对所选的线性规划问题,运用线性规划建模的方法,建立恰当的线性规划数学模型。 3.用运筹学软件求解线性规划数学模型 学生应用运筹学软件包线性规划模块对已建好的线性规划数学模型进行求解。 4.对求解结果进行应用分析 学生对求解结果进行简单的应用分析。 三、实验例题: (一)线性规划问题 某集团摩托车公司产品年度生产计划的优化研究 1)问题的提出 某集团摩托车公司是生产各种类型摩托车的专业厂家,有30多年从事摩托车生产的丰富经验。近年来,随着国内摩托车行业的发展,市场竞争日趋激烈,该集团原有的优势逐渐丧失,摩托车公司的生存和发展面临严峻的挑战。为此公司决策层决心顺应市场,狠抓管理,挖潜创新,从市场调查入手,紧密结合公司实际,运用科学方法对其进行优化组合,制定出1999年度总体经济效益最优的生产计划方案。 2)市场调查与生产状况分析 1998年,受东南亚金融风暴的影响,国内摩托车市场出现疲软,供给远大于需求,该集团的摩托车生产经营也出现开工不足、库存增加和资金周转困难等问题。 该集团共有三个专业厂,分别生产轻便摩托车、普通两轮车和三轮摩托车三大系列产品。在市场调查的 1999年该集团可供摩托车生产的流动资金总量为4000万元,年周转次数为5次,生产各种型号摩托车资金占用情况如下表2 经预测三种系列摩托车1999年产销率及仓储面积占用情况如下表3 公司1999年可提供的最大仓储能力为3000个仓储单位,库存产品最大允许占用生产资金为1600万元。

运筹学实验指导书Excel版样本

运筹学 实验报告册 ( 适用于经济管理类专业) 学号: 姓名: 专业: 信息管理与信息系统

实验一线性规划的Excel求解与软件求解 一、实验目的 熟悉Excel软件、管理运筹学软件, 掌握线性规划的Excel求解和管理运筹学软件求解。 二、实验要求 能识别线性规划有关问题并建立相应的线性规划模型, 能写出线性规划的标准形式, 理解线性规划解的概念, 理解单纯形法原理。 三、实验原理及内容 依据单纯形法求解原理及步骤, 在Excel界面中输入数据, 进行求解。熟悉线性规划模型的建立过程, 掌握数据整理与Excel规划求解的操作步骤。线性规划模型的建立, 数据的输入与求解是最基础的要求。 本节实验要求完成以下内容: 1、线性规划模型的建立; 2、 Excel界面内数据的输入; 3、利用Excel规划求解进行线性规划模型的求解。 四、实验步骤及结论分析 1、某饲养场养动物出售, 设每头动物每天至少需700g蛋白质、30g矿物质、 100mg维生素。现有五种饲料可供选用, 各种饲料每kg营养成分含量及单价如表示。

要求确定既满足动物生长的营养需要, 又使费用最省的选用饲料的方案。 (1)建立这个问题的线性规划模型 Min f=0.2X1+0.7X2+0.4X3+0.3X4+0.8X5 约束条件: 3X1+2X2+X3+6X4+18X5>=700 X1+0.5X2+0.2X3+2X4+0.5X5>=30 0.5X1+X2+0.2X3+2X4+0.5X5>=100 X1,X2,X3,X4,X5>=0 ( 2) 对建立的模型进行Excel求解 2、福安商场是个中型的百货商场, 它对销售人员的需求经过统计分析如下所示: 时间所需售货员人数 星期日28人 星期一15人 星期二24人 星期三25人 星期四19人 星期五31人 星期六28人 天, 并要求休息的两天是连续的, 问应该如何安排售货人员的作息, 既满足了工作需要, 又是配备的售货人员的人数最少? ( 用管理运筹学软件求解)

运筹学最短路问题作业

作业: 课堂作业:书本P182第5题第(1)题 ()? ??=)这条弧,未经过(这条弧,经过(j i j ij V V V V f 0)(1i 6714131220...81510m in f f f f z ++++= ()()()()?????????????===-=+-=-+++=+-+=++-=+++-=-+=++7,6,5,4,3,2;6,5,4,3,2,1101 00000000167576765646365255753 6434146353231334122523 141312j i f f f f f f f f f f f f f f f f f f f f f f f f f ij ,或 最短路径为7521v v v v --- 课后作业: 1、 求下列赋权无向网络图s 到t 的最短路径 P:∑∈= A v v ij ij j i f w z ),(min 3 2 5 6 3 4 4 7 1 2 2 4 3 7 S 1 2 3 4 5 6 t 8 6 1

()??? ????=-=-≠=-==-∈=∑∑∑∑∑∑t i f f t s i f f s i f f A v v f ji ij ji ij ji ij j i ij ,1,,0,110,,或 最短路径为 S-3-5-T 2、某公司正在研制一种有极好销售潜力的新产品。当研究工作接近完成时,公司获悉一家竞争者正计划生产这种产品。要突击赶制出这种产品以参与竞争,还有四个互不重叠的阶段。为了加快进度,每个阶段都可采取“优先”或“应急”的措施。不同的措施下每段工作所需要的时间(月)和费用(百万元)如小下表示。现有一千万元资金供这四个阶段使用,则每段应采取什么措施能使这种产品尽早上市。试将此问题化成最短路问题并求解。 阶段 措施 剩余研究 试制 工艺设计 生产与调拨 时间 费用 时间 费用 时间 费用 时间 费用 正常 5 1 优先 4 2 3 2 5 3 2 1 应急 2 3 2 3 3 4 1 2 43131211...245m in f f f f Z ++++=

运筹学C语言实现Dijkstra算法求解图的最短路径

西安科技大学 运筹学课程设计报告姓名:袁薪洋

一、算法思想 运用Dijkstra算法求解图的最短路径。 Dijkstra算法思想为:设G=(V,E)是一个带权有向图,把图中顶点集合V分成两组,第一组为已求出最短路径的顶点集合(用S 表示,初始时S中只有一个源点,以后每求得一条最短路径, 就将加入到集合S中,直到全部顶点都加入到S中,算法就结束了),第二组为其余未确定最短路径的顶点集合(用U表示),按最短路径长度的递增次序依次把第二组的顶点加入S中。在加入的过程中,总保持从源点v到S中各顶点的最短路径长度不大于从源点v到U中任何顶点的最短路径长度。此外,每个顶点对应一个距离,S中的顶点的距离就是从v到此顶点的最短路径长度,U中的顶点的距离,是从v到此顶点只包括S中的顶点为中间顶点的当前最短路径长度。 二、算法流程或步骤 Dijkstr算法具体步骤: (1)初始时,S只包含源点,即S=,v的距离为0。U包含除v 外的其他顶点,U中顶点u距离为边上的权(若v与u有边)或)(若u不是v的出边邻接点)。 (2)从U中选取一个距离v最小的顶点k,把k,加入S中(该选定的距离就是v到k的最短路径长度)。 (3)以k为新考虑的中间点,修改U中各顶点的距离;若从源点v到顶点u(u U)的距离(经过顶点k)比原来距离(不经过顶点

k)短,则修改顶点u的距离值,修改后的距离值的顶点k的距离加上边上的权。 (4)重复步骤(2)和(3)直到所有顶点都包含在S中。 三、算法源程序 #include int m; int n; float a[100][100]; float dist[100]; int prev[100]; float MAX_V ALUE=10000; void dijkstra() { if(m<0||m>n) //当无顶点的情况 return; bool *s=new bool[n+1]; for(int i=0;i

相关文档
最新文档