- 23
- 0
- 约2.9千字
- 约 9页
- 2020-03-13 发布于江西
- 举报
本文档含两个 m 文件 dial.m 和 dijkstra1.m ,dial 需要调用 dijkstra1。 算例如下:
算法如下:
Dial.m
edge = [ 1 1 2 2 3 4 4 5 5 6 7 8 ;...
2 4 3 5 6 5 7 6 8 9 8 9 ;...
2 2 2 2 2 1 2 1 2 2 2 2 ; ]; n=9; weight=inf*ones(n, n);
Q = 1000;
start =1 ;
endn = 9;
=zeros(1,n);
= zeros(1,n);
theta = 1;
L = zeros(n);
OD= zeros(n);
%====================================================================
for i=1:n
weight(i, i)=0;
end
for i=1:size(edge,2)
weight(edge(1, i), edge(2, i))=edge(3, i);
end
Lmin = zeros(1,n);
for i=1: n
[dis, path]=dijkstra1(weight, i, 9) ;
s(i) = dis; % 任意节点到终点 s 的最小时间
[dis, path]=dijkstra1(weight, 1, i) ;
r(i) =dis; % 起点 r 到任意节点最小时间
end
for i = 1 : n
for j = 1:n
if weight(i,j) 0 weight(i,j) inf r(i) r(j) s(i) s(j)
L(i,j) = exp( theta *(r(j) -r(i) -weight(i,j) )) ; %所有路段似然值
end
end
end
ax =2000;
temp =0 ;
tempr =zeros(1,n);
rr= zeros(1,n);
rr = r ;
% 出发节点 i 排序
for i =1 :n
Min = 2000;
for j= 1 :n
if rr(j) Min
Min = rr(j);
temp = j ;
end
end
rr(temp)= Max;
tempr(i) =temp;
end
LW = zeros(n);
% 前向计算路段权重
for i = 1 : n
for j = 1 :n
if i == start
LW (tempr(i),j)= L(tempr(i),j) ;
else
sumlw = 0;
for tempi =1 :9
sumlw = sumlw +LW(tempi,tempr(i) );
end
LW (tempr(i),j)= L(tempr(i),j)*sumlw;
end
end
end
tempr
LW
Max =2000;
temp =0;
temps =zeros(1,n);
ss = s ;
% 到达节点 j 排序
for i =1 :n
Min = 2000;
for j= 1 :n
if ss(j) Min
Min = ss(j);
temp = j ;
end
end
ss(temp)= Max;
temps(i) =temp;
end
temps
% 反向装载流量
for j = 1 : n
tempOD =0;
for tempi =1 :9
if OD(temps(j),tempi ) 0 || OD(temps(j),tempi ) ==0 tempOD = tempOD+OD(temps(j),tempi );
end
end
for i = 1 :n
sumlw = 0;
if temps(j)== endn
for tempi =1 :9
sumlw = sumlw +LW(tempi,temps(j) );
end
OD(i,temps(j))= Q* LW(i,temps(j))/sumlw ;
else
for tempi =1 :9
sumlw = sumlw +LW(tempi,temps(j) );
end
OD(i,temps(j)) = LW(i,temps(j))*tempOD/ sumlw ;
end
end
end
OD
function [distance,path]=dijkstra1(A,s,e)
% [DISTANCE,PATH]=DIJKSTRA(A,S,E)
% returns the distance and path between the start node and the end node. %
% A: adjcent matrix
% s: start node
% e: end
原创力文档

文档评论(0)