道路交通工程系统分析Word文档格式.docx
《道路交通工程系统分析Word文档格式.docx》由会员分享,可在线阅读,更多相关《道路交通工程系统分析Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
6参考资料...................................................18
1线性规划
实例:
某桥梁工地用一批长度为8.4m的角钢(数量充分多)制造钢桁架,因构造要求需将角钢截成三种不同规格的短料:
2m、3.5m、4m。
这三种规格短料需求量分别为100根、50根、50根。
试问怎样截料才能使废料最少。
1.1模型分析
这个问题是线性规划中的截料优化问题,经过分析后可以知道该批角钢有六种截法如表1所示
钢材截取方法表1
长度
根数
截法
一
二
三
四
五
六
2m
2
4
3.5m
1
4.5m
废料长(m)
0.9
0.4
1.4
所以上述问题下列数学模型来表达:
该问题为线形规划问题,为求得最优解,下面分别用Matlab和Lingo求解。
1.2用Matlab方法求解
该问题化为标准模型如下所示。
用命令:
[x,fval]==linprog(c,A,b,A1,b1,LB,UB)在MATLAB中求解。
编写M文件如下:
c=[0.9,0.4,0.9,0.4,1.4,0.4];
A=[];
b=[];
A1=[2,2,0,0,0,4;
1,0,1,0,2,0;
0,1,1,2,0,0];
b1=[100;
50;
50];
LB=[0;
0;
0];
UB=[];
[x,fval]=linprog(c,A,b,A1,b1,LB,UB)
图1线性规划模型Matlab计算结果图
如图1所示:
求得的最佳方案为
,
1.3用Lingo方法求解
在lingo模型中输入以下代码(如图2所示):
min=0.9*x1+0.4*x2+0.9*x3+0.4*x4+1.4*x5+0.4*x6;
2*x1+2*x2+4*x6=100;
x1+x3+2*x5=50;
x2+x3+2*x4=50;
x1>
=0;
x2>
x3>
x4>
x5>
x6>
点击运行后得到最优解为:
,
所以取25根全截4m的短料,25根全截3.5m短料,25根全截2m短料能达到最优
图2线性规划模型Lingo代码图
图3线性规划模型Lingo计算结果图
2运输问题
实例:
某市区交通期望图有三个起点和三个终点,始点发生的出行交通量
、终点吸引的出行交通量
及始终点之间的旅行费用如表2所示,问如何安排出行交通量
才能使总的旅行费用最小?
各OD点间出行费用表表2
始点
点
旅行费用
终点
D1
D2
D3
ai
O1
5
30
O2
10
7
O3
9
8
bj
20
50
100
2.1模型及分析
该问题属于交通分配问题。
如表2所示,可设
·
1,
,…,
为车辆出行的始点,
为各始点发生的出行交通量。
为出行的终点,
为各终点吸引的出行交通量。
总的出行交通量为N。
设从始点
到终点
的出行量为
,出行费用为
。
则总的出行费用为:
现在的问题是如何分配出行交通量
,使总出行费用为最少。
即找出
,满足
且使
最小。
本题交通分配问题可用lingo软件求解,求解过程如下
2.2用Lingo方法求解
在Lingo模型中输入下列代码(如图4所示):
sets:
row/1,2,3/:
a;
arrange/1,2,3/:
b;
link(row,arrange):
c,x;
endsets
data:
a=30,40,30;
b=20,30,50;
c=5,4,2,
10,4,7,
9,8,4;
enddata
[OBJ]min=@sum(link(i,j):
c(i,j)*x(i,j));
@for(row(i):
@sum(arrange(j):
x(i,j))=a(i);
);
@for(arrange(j):
@sum(row(i):
x(i,j))=b(j);
@for(link(i,j):
x(i,j)>
=0;
end
点击运行计算可得:
旅行费用最小为430(如图5所示)
图4运输模型Lingo代码图
图5运输模型Lingo计算结果图
3整数规划
用Lingo求解下列问题:
3.1模型及分析
将上述模型修改如下:
该整数规划问题可用Lingo进行求解,求解过程如下
3.2用Lingo方法求解
在Lingo模型中输入下列代码(如图6所示):
sets:
num_i/1..3/:
num_j/1..3/:
x,c;
link(num_i,num_j):
b=-4,3,1;
c=4,3,2;
a=-2,5,-3,
4,1,3,
0,1,1;
[OBJ]min=@sum(num_j(j):
c(j)*x(j));
@for(num_i(i):
@sum(num_j(j):
a(i,j)*x(j))>
=b(i);
@for(num_j(j):
@bin(x(j));
点击运行计算得:
(如图7所示)
图6整数规划模型Lingo代码图
图7整数规划模型Lingo计算结果图
4图与网络分析
求所示的网络中最大流。
图8
4.1模型及分析
这是个求解最大流问题,可用Matlab求解,具体的求解过程如下
4.2用Matlap方法求解
在CommandWindow中输入以下代码(如图9所示):
n=5;
C=[04200
00430
00031
00003
00000]
for(i=1:
n)for(j=1:
n)f(i,j)=0;
end;
end
n)No(i)=0;
d(i)=0;
while
(1)
No
(1)=n+1;
d
(1)=Inf;
while
(1)pd=1;
n)if(No(i))
for(j=1:
n)if(No(j)==0&
f(i,j)<
C(i,j))
No(j)=i;
d(j)=C(i,j)-f(i,j);
pd=0;
if(d(j)>
d(i))d(j)=d(i);
end
elseif(No(j)==0&
f(j,i)>
0)
No(j)=-i;
d(j)=f(j,i);
if(No(n)|pd)break;
end%
if(pd)break;
dvt=d(n);
t=n;
if(No(t)>
0)f(No(t),t)=f(No(t),t)+dvt;
elseif(No(t)<
0)f(No(t),t)=f(No(t),t)-dvt;
if(No(t)==1)for(i=1:
end;
break;
t=No(t);
wf=0;
for(j=1:
n)wf=wf+f(1,j);
f
wf
No
输入代码后按Enter键得:
该路网的最大流为4(如图10所示)
图9网络最大流模型matlab代码图
5预测分析
5.1车速预测
实例1:
某机非混行的城市道路,经调查后得到一组机动车平均车速y(km/h)与机动车交通量
(辆/h)、非机动车交通量
(辆/h),数据见表3。
试建立机动车平均车速与机动车交通量、非机动车交通量的二元线性回归方程,并预测机动车交通量、非机动车交通量分别达到100辆/h、3000辆/h时的机动车平均车速。
图10网络最大流Matlab计算结果图
机动车与非机动车车速统计表表3
编号
3
6
y
17.3
16.6
15.4
12.6
18.27
17.44
16.06
17.6
15.02
X1
80
77
101
115
79
91
66
99
123
X2
3445
3250
3116
3685
2899
337