交通工程系统分析实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《交通工程系统分析》
——
实验指导书
指导教师:李文勇
2015、3
《交通工程系统分析》实验内容
1.实验要求
(1)熟悉线性规划问题求解方法;
(2)熟悉非线性规划问题求解方法;掌握一维搜索方法;
(3)了解运输问题、整数规划问题、资源分配问题的求解;
(4)掌握最小树、最短路和最大流问题的求解;
(5)掌握排队论问题的求解方法;
(6)掌握预测方法在交通工程中的应用;
2、实验内容
(1)线性规划问题求解(单纯形法与对偶单纯形法、运输问题、整数规划问题、资源分配问题);
(2)非线性规划问题求解(一维搜索C语言求解程序编写);
(3)最小树、最短路和最大流问题求解
(4)排队系统分析
(5)预测方法在交通工程中的应用
(6)考核
实验一、线性、非线性规划问题求解
一、实验目的:
1、熟悉交通运营管理中的线性规划问题的求解方法(单纯形法);
2、掌握单纯形法与对偶单纯行形法;
3、了解运输问题、整数规划问题、资源分配问题的求解。
4、掌握无约束一维非线性规划问题的求解方法;
5、掌握一维搜索求解方法;
6、掌握C 语言中函数指针传递的方法;
7、了解非线性规划(有约束、无约束问题)的求解方法。
二、实验内容:
1、使用运用运筹学分析软件LP-ILP 模块进行线性规划问题的求解;
2、使用运用运筹学分析软件进行特殊线性规划运输问题、整数规划问题、资源分配问题的求解。
3、编写一维搜索的区间求解函数;
4、编写一维搜索的搜索过程函数。
5、运用运筹学分析软件NLP 模块进行非线性规划问题的求解。 例1: 4321432x x x x Z M I N +++= ..t s
203224321≥+++x x x x 202324321≥+++x x x x
0,,,4321≥x x x x
答案:3/101=x ,3/402=x ,其它为0,30=z
例2:
某厂拟生产甲、乙、丙三种产品,都需要在A 、B 两种设备上加工,有关数据如下表所示:
(1) 如何充分发挥设备能力,使产品总产值最大?
(2) 若为了提高产量,以每台时350元租金租用外厂A 设备,问是否合算? 例3:
Max z=15x 1+10x 2+7x 3 s.t.5x 1-10x 2+7x 3<=8
6x 1+4x 2+8x 3<=12 -3x 1+2x 2+2x 3<=10
x 1,x 2,x 3>=0为整数例4:
某公司设有三个加工厂A1、A2、A3和四个门市部B1、B2、B3。各加工厂的产量和各门市部的销量(单位:t )及从各加工厂到各门市部的单位运价(单位:元/t )如表1所示。在满足各门市部销售需求的情况下,如何进行调运使总的运输支出最少?
表1
例5:
有四个工人,要分别指派他们完成四项不同的工作,每人做各项工作所消耗的时间如表1所示,问应如何指派工作,才能使总的消耗时间为最少。
例6:
10
,102
)(02==+-=h x x x x f MIN
%5=ε 精确答案:75.1)(,5.0**==x f x
例7: 求解
2221)1()1()(-+-=x x X f
要求:%10=ε
精确解为:
⎥⎦⎤
⎢⎣⎡=00*X , 0)(*=X f
例8 Min (x1-3)^2 + (x2-2)^2 S.t x1+x2-4=0
三、实验要求:
(1)用管理运筹学软件求解实验内容,并记录结果;
(2)运用C 语言编程,并使用函数调用方式(指针传递)实现参数传递。
(3)对结果作适当分析; (4)完成实验报告。
实验二、最小树、最短路、最大流问题求解
一、实验目的:
1、掌握求解交通线网规划中的最小树问题求解方法;
2、掌握求解交通分配中的最短路问题求解方法;
3、掌握求解交通运输规划管理中的最大流问题求解方法;
4、了解避圈法求解最小树问题的方法;
5、掌握FLOYD法求解最短路问题的方法。
二、实验内容:
1.运筹学分析软件NET模块进行最小树、最短路经和最大流问题的求解;
2.运用编写避圈法求解最小树问题C语言程序;
3.编写FLOYD法求解最短路问题的C语言程序。
(第2、3选一)
最小树问题求解方法:
T;建立空边集图
=V
(Φ
)
,
While(T中所含边数小于n-1)
{
从E中选取当前最短边(u,v);
从E中删除边(u,v);
if((u,v)并入T中,并不产生回路,将(u,v)并入T中;
}
FLOYD法求解最短路问题的C语言参考程序:
FLOYD(A,C)
Float A[][n], C[][n];
{
for(i=0;i for(j=0;j<=n;j++) { if(C[i][j]!=max) path[i][j]=j; else path[i][j]=0; A[i][j]=C[i][j]; } for(k=0;k<=n;k++) for(i=0;i for(j=0;j<=n;j++) { if(A[i][j]>A[i][k]+A[k][j]) { A[i][j]>A[i][k]+A[k][j]; path[i][j]=path[i][k]; } } 三、实验要求: (1)运用C语言编程,交通网络输入采用文件方式; (2)对结果作适当分析; (3)完成实验报告。