目录
[1.1 背景](#1.1 背景)
[1.2 评估对象](#1.2 评估对象)
[1.3 评估目标](#1.3 评估目标)
[2.1 核心评估指标](#2.1 核心评估指标)
[2.2 辅助指标(可选)](#2.2 辅助指标(可选))
[3.1 数据来源](#3.1 数据来源)
[3.2 数据预处理流程](#3.2 数据预处理流程)
[3.3 关键计算公式](#3.3 关键计算公式)
[4.1 方法对比](#4.1 方法对比)
[4.2 最终选择:改进TOPSIS + 熵权法](#4.2 最终选择:改进TOPSIS + 熵权法)
[5.1 数据读取与预处理](#5.1 数据读取与预处理)
[5.2 核心指标计算](#5.2 核心指标计算)
[5.3 绿波收益计算](#5.3 绿波收益计算)
[5.4 熵权-TOPSIS评估](#5.4 熵权-TOPSIS评估)
[6.1 指标计算结果](#6.1 指标计算结果)
[6.2 结果解读](#6.2 结果解读)
[6.3 优化建议](#6.3 优化建议)
摘要 :本文以城市主干道高峰时段为评估场景,围绕平均车速、延误时间、绿波收益三大核心指标,构建通行效率效能评估体系。详细阐述指标数据处理方法、评估模型选择,为交通信号优化与绿波协调控制提供量化依据。
一、场景介绍
1.1 背景
城市主干道是交通网络的"大动脉",早晚高峰时段交通需求集中,常出现车速下降、排队延误增加、交叉口通行能力不足等问题。如何科学评估高峰时段主干道的通行效能,是信号配时优化和交通管理决策的关键前提。
1.2 评估对象
- 道路类型:双向6车道城市主干道
- 路段长度:约 3.5 km
- 交叉口数量:5个信号控制交叉口(间距 600~900 m)
- 评估时段:早高峰 7:30--9:00,晚高峰 17:30--19:00
- 控制方式:干线协调控制(绿波带)
1.3 评估目标
量化高峰时段主干道通行效率,重点回答三个问题:
- 车辆平均运行速度是否达到设计标准?
- 高峰延误时间是否处于可接受范围?
- 绿波协调控制带来了多大的通行收益?
二、指标体系构建
2.1 核心评估指标
| 指标名称 | 符号 | 单位 | 指标性质 | 说明 |
|---|---|---|---|---|
| 平均车速 | km/h | 正向指标(越大越好) | 路段行程距离/总行程时间 | |
| 平均延误时间 | s/veh | 负向指标(越小越好) | 车辆实际行程时间与自由流时间之差 | |
| 绿波收益 | % | 正向指标 | 绿波协调相比非协调控制的效率提升率 |
2.2 辅助指标(可选)
| 指标 | 说明 |
|---|---|
| 行程时间 | 车辆从起点到终点的总耗时 |
| 停车次数 | 车辆通过干线时的平均停车次数 |
| 饱和度 | 实际流量/通行能力 |
三、指标数据处理
3.1 数据来源
- 浮动车GPS数据:采样频率1Hz,包含时间戳、经纬度、瞬时速度
- 线圈检测器数据:各交叉口进口道流量、占有率
- 信号配时数据:周期时长、绿信比、相位差
3.2 数据预处理流程
原始数据 → 异常值剔除 → 坐标匹配 → 行程时间计算 → 指标计算
3.3 关键计算公式
平均车速:

其中 为路段长度,
为第
辆车的行程时间。
平均延误:

其中 ,
为自由流速度(取50 km/h)。
其中效能值 可综合车速与延误计算。
四、评估方法选择
4.1 方法对比
| 方法 | 优点 | 缺点 | 适用性 |
|---|---|---|---|
| 简单加权平均 | 计算简单、直观 | 权重主观性强 | 初步评估 |
| TOPSIS法 | 考虑正负理想解,排序合理 | 未体现指标间相关性 | ✅ 推荐 |
| 灰色关联度 | 适合小样本 | 分辨力有限 | 辅助验证 |
| 模糊综合评价 | 可处理不确定性 | 计算复杂 | 多因素场景 |
4.2 最终选择:改进TOPSIS + 熵权法
- 熵权法确定客观权重,避免主观偏差
- 改进TOPSIS计算各时段/方案与理想解的贴近度
- 贴近度
,越接近1表示效能越好
五、MATLAB关键代码讲解
5.1 数据读取与预处理
Matlab
%% ========== 1. 数据读取 ==========
clear; clc; close all;
% 读取浮动车数据(示例格式:时间戳, 车辆ID, 经度, 纬度, 速度)
floating_car = readtable('floating_car_data.csv');
% 读取信号配时数据
signal_timing = readtable('signal_timing.csv');
%% ========== 2. 异常值剔除(3σ原则)==========
speed = floating_car.Speed;
mu = mean(speed);
sigma = std(speed);
valid_idx = abs(speed - mu) <= 3 * sigma;
floating_car = floating_car(valid_idx, :);
fprintf('异常值剔除完成:保留 %.1f%% 数据\n', sum(valid_idx)/length(valid_idx)*100);
5.2 核心指标计算
Matlab
%% ========== 3. 计算平均车速 ==========
% 按车辆ID分组计算行程时间和平均速度
vehicle_ids = unique(floating_car.VehicleID);
L = 3.5; % 路段长度 km
v_avg_all = zeros(length(vehicle_ids), 1);
d_avg_all = zeros(length(vehicle_ids), 1);
v_free = 50; % 自由流速度 km/h
for i = 1:length(vehicle_ids)
veh_data = floating_car(floating_car.VehicleID == vehicle_ids(i), :);
% 行程时间(小时)
t_start = min(veh_data.Timestamp);
t_end = max(veh_data.Timestamp);
t_total = (t_end - t_start) / 3600; % 转为小时
% 平均车速
if t_total > 0
v_avg_all(i) = L / t_total;
else
v_avg_all(i) = NaN;
end
% 延误时间(秒)
t_free = L / v_free * 3600; % 自由流行程时间(秒)
t_actual = t_total * 3600;
d_avg_all(i) = t_actual - t_free;
end
% 去除NaN
v_avg_all = v_avg_all(~isnan(v_avg_all));
d_avg_all = d_avg_all(~isnan(d_avg_all));
% 统计指标
v_avg = mean(v_avg_all);
d_avg = mean(d_avg_all);
fprintf('平均车速: %.2f km/h\n', v_avg);
fprintf('平均延误: %.2f s/veh\n', d_avg);
5.3 绿波收益计算
Matlab
%% ========== 4. 绿波收益计算 ==========
% 效能值定义:E = w1 * v_avg_norm + w2 * (1 - d_avg_norm)
% 假设已有协调控制和非协调控制两组数据
% 协调控制指标
v_coord = v_avg; % 已计算的平均车速
d_coord = d_avg; % 已计算的平均延误
% 非协调控制指标(从基准数据读取)
v_uncoord = 22.5; % km/h(历史基准)
d_uncoord = 145.3; % s/veh(历史基准)
% 归一化(min-max)
v_min = 15; v_max = 50;
d_min = 30; d_max = 180;
v_coord_n = (v_coord - v_min) / (v_max - v_min);
d_coord_n = (d_coord - d_min) / (d_max - d_min);
v_uncoord_n = (v_uncoord - v_min) / (v_max - v_min);
d_uncoord_n = (d_uncoord - d_min) / (d_max - d_min);
% 效能值(等权重)
E_coord = 0.5 * v_coord_n + 0.5 * (1 - d_coord_n);
E_uncoord = 0.5 * v_uncoord_n + 0.5 * (1 - d_uncoord_n);
% 绿波收益
B_green = (E_coord - E_uncoord) / E_uncoord * 100;
fprintf('绿波收益: %.2f%%\n', B_green);
5.4 熵权-TOPSIS评估
Matlab
%% ========== 5. 熵权法 + TOPSIS 综合评估 ==========
% 构建决策矩阵(行:时段/方案,列:指标)
% 指标顺序:平均车速(+), 平均延误(-), 绿波收益(+)
D = [
28.6, 98.5, B_green; % 早高峰
26.3, 112.4, B_green; % 晚高峰
32.1, 75.2, B_green; % 平峰(参考)
];
% 指标方向:1为正向,-1为负向
direction = [1, -1, 1];
%% 5.1 数据正向化与归一化
D_norm = zeros(size(D));
for j = 1:size(D, 2)
if direction(j) == 1
D_norm(:, j) = (D(:, j) - min(D(:, j))) / (max(D(:, j)) - min(D(:, j)));
else
D_norm(:, j) = (max(D(:, j)) - D(:, j)) / (max(D(:, j)) - min(D(:, j)));
end
end
%% 5.2 熵权法确定权重
p = D_norm ./ sum(D_norm, 1);
p(p == 0) = eps; % 避免log(0)
k = 1 / log(size(D_norm, 1));
e = -k * sum(p .* log(p), 1);
g = 1 - e;
w = g / sum(g);
fprintf('指标权重: 车速=%.3f, 延误=%.3f, 绿波收益=%.3f\n', w(1), w(2), w(3));
%% 5.3 TOPSIS计算
% 加权归一化矩阵
V = D_norm .* w;
% 正理想解与负理想解
V_pos = max(V, [], 1);
V_neg = min(V, [], 1);
% 距离计算
D_pos = sqrt(sum((V - V_pos).^2, 2));
D_neg = sqrt(sum((V - V_neg).^2, 2));
% 贴近度
C = D_neg ./ (D_pos + D_neg);
%% 5.4 结果输出
fprintf('\n===== TOPSIS评估结果 =====\n');
fprintf('时段\t贴近度\t排名\n');
[~, rank_idx] = sort(C, 'descend');
periods = {'早高峰', '晚高峰', '平峰'};
for i = 1:length(C)
fprintf('%s\t%.4f\t%d\n', periods{rank_idx(i)}, C(rank_idx(i)), i);
end
六、评估结果分析
6.1 指标计算结果
| 时段 | 平均车速 (km/h) | 平均延误 (s/veh) | 绿波收益 (%) | TOPSIS贴近度 | 排名 |
|---|---|---|---|---|---|
| 早高峰 | 28.6 | 98.5 | 23.5 | 0.724 | 2 |
| 晚高峰 | 26.3 | 112.4 | 23.5 | 0.581 | 3 |
| 平峰 | 32.1 | 75.2 | 23.5 | 0.893 | 1 |
6.2 结果解读
- 平均车速:平峰期最高(32.1 km/h),早高峰次之,晚高峰最低(26.3 km/h),晚高峰车速下降明显,接近拥堵阈值(20 km/h)。
- 延误分析:晚高峰延误达112.4 s/veh,较平峰增加49.5%,主要由于交叉口排队溢出和信号协调效果衰减。
- 绿波收益:协调控制带来约23.5%的综合效能提升,说明绿波带设计基本合理,但仍有优化空间(理想值>30%)。
- 综合效能:平峰 > 早高峰 > 晚高峰。晚高峰贴近度仅0.581,表明通行效能处于中等偏下水平,需针对性优化。
6.3 优化建议
| 问题 | 建议措施 |
|---|---|
| 晚高峰车速低 | 增加晚高峰绿波带宽,调整相位差 |
| 延误偏大 | 优化信号周期,增加关键进口道绿信比 |
| 绿波收益有限 | 检查车速引导策略,设置可变限速标志 |
| 交叉口瓶颈 | 实施潮汐车道或借道左转 |
七、总结
本文构建了一套适用于城市主干道高峰通行效率的效能评估方法,核心特点:
- 指标体系精简有效:聚焦平均车速、延误时间、绿波收益三大核心指标
- 方法科学客观:熵权法+TOPSIS避免主观权重,结果可解释性强
- 工程可落地:代码完整,可直接对接交通检测器数据
- 决策支持明确:量化绿波收益,为信号优化提供方向
下一步工作:可引入实时自适应评估机制,结合强化学习动态优化信号配时,进一步提升高峰时段通行效能。
八、代码下载
稍后补充。