[경로 계획] MATLAB 유전 알고리즘 기반 버스 스케줄링 시스템 분석 [Matlab 소스 코드 220주기 포함]

1. 소개

1 버스 스케줄링 시스템의 배경 분석.
도시 교통 시설 건설이 교통 수요 증가율에 뒤처짐에 따라 도시 교통 상황은 나날이 악화되고 있으며, 주요 교통 교차로와 일부 도로에서는 교통 혼잡이 다양하게 발생합니다. 이 문제는 도시 개발을 제한하는 병목 현상이되었습니다.
도시 교통 시스템은 도시 도로 네트워크, 차량 및 관리 시스템으로 구성된 개방적이고 복잡한 시스템입니다. 도시 교통 문제를 해결하는 방법에는 여러 가지가 있습니다. 예를 들어 현재의 번호 제한 조치가 더 나은 방법 중 하나입니다. 번호 제한 운영을 통해 버스를 타는 사람이 늘어나므로 버스 문제 해결 방법 특히 일정이 필요합니다. 대중 교통 스케줄링 시스템의 문제를 합리적으로 해결하는 것은 복잡한 문제로 사람, 차량, 도로 등 복잡한 요소를 고려해야하기 때문에 도시 도로 교통 문제를보다 잘 해결하기 위해서는 첨단 기술 방법을 사용할 필요가 있습니다. 오늘날 지능형 교통 시스템 (ITS)은이 문제를 해결하는 중요한 방법 중 하나가되었습니다.
운행중인 차량의 지능형 스케줄링은 대중 교통 차량의 지능형 디스패치에서 해결해야 할 일반적인 문제 중 하나입니다. 지능형 교통 시스템 (ITS)의 맥락에서 버스 일정 수립은 도시 대중 교통의 핵심 콘텐츠입니다. 파견 및 대중 교통 파견의 일상적인 명령 차량의 정상적인 작동을위한 중요한 기반은 버스 디스패처 및 운전자 작업의 기본 기반이기도합니다. 합리적인 버스 일정은 버스 회사가 차량 활용 효율성을 개선하고 운영 비용을 절감하며 승객 대기 시간을 줄여 서비스 품질을 개선하는 데 도움이 될 수 있습니다.
2 차량 운전 모델
여기에 사진 설명 삽입
3 승객 탑승 및 하차 모델
여기에 사진 설명 삽입
4
유전 알고리즘 적용 단계 유전 알고리즘 GA는 진화론과 유전 이론을 기반으로 한 글로벌 최적화 방법입니다.
문제를 해결하기위한 간단한 유전 알고리즘의 기본 단계는 다음과 같습니다.
(1) 초기화 : 목적 함수에 대한 실행 가능한 솔루션 집합 인 초기 모집단 P (0)로 N 개체를 무작위로 생성합니다. 진화 대수 카운터를 0으로 설정하고 최대 진화 대수 iter_max를 설정합니다.
(2) 개별 평가 : 초기 모집단을 목적 함수로 대입하고 적합 함수에 따라 현재 모집단에서 각 모집단의 적합도를 계산합니다.
(3) 종료 조건 판단 : 종료 조건이 주어지면 알고리즘이 종료 조건을 만족하는지 판단하고, 만족할 경우 (8)으로 이동합니다.
(4) 선택 작업 : 초기 그룹에 대한 선택 작업을 수행하면 좋은 개인이 복사됩니다. 큰 숫자 및 저품질 개인에게 거의 복사되거나 심지어 제거된다
(5) 크로스 오버 계산 : 크로스 오버 계산 오버 확률에 기초하여 수행되고,
(6) 돌연변이 계산 : 크로스 오버 계산 돌연변이 확률에 기초하여 수행되고,
(7) 그룹 P (t) 선택 계산 및 교차 계산을 수행합니다. 돌연변이 작업 후 N 개의 새로운 개체로 구성된 차세대 인구 P (t + 1)를 얻은 다음 (2)로 이동하고, 그렇지 않으면 (4)로 이동합니다.
(8) 지속적인 진화는 결국 객관적인 기능, 적응을 얻게 될 것입니다. 가장 높은 정도의 개인이 문제의 최적 솔루션 또는 만족스러운 솔루션으로 출력되고 계산이 종료됩니다.
여기에 사진 설명 삽입
여기에 사진 설명 삽입

둘째, 소스 코드

% 产生t(i)序列
clc,clear,close all
warning off
Tmin = 1;   % 表示相邻车辆间发车间隔的最小值(min)
Tmax = 10;  % 表示相邻车辆间发车间隔的最大值(min)
delta = 4;  % 表示相邻车辆发车间隔之差的限制值
m = 500;    % 表示总的发车次数(车次)
a = randi(10);  % t(1)第一个值的取值范围设定为1-10之间随机取值
t(1) = a;       % 赋值
maxt = 960;    % t(i)的最大值
% Loop
for i=2:m
    flag = 1;       % 标志变量
    while flag == 1
        % Tmin< t(i)-t(i-1) < Tmax
        a1 = randi(9);
        if a1>Tmin+2 && i==2
            t(i)=t(i-1)+a1; % Tmin < t(i)-t(i-1) < Tmax
            flag = 0;   % i 时间点计算完毕
        elseif a1>Tmin+2 && i>2  % |t(i+1)-2*t(i)+t(i-1)|<delta 
            t(i)=t(i-1)+a1; % Tmin < t(i)-t(i-1) < Tmax
            if abs( (t(i)-t(i-1)) -(t(i-1)-t(i-2)) )<delta
                flag = 0;  % i 时间点计算完毕
            end
        end
    end
    function flag=test(code)
% code       output: 染色体的编码值
global Tmin Tmax delta
x=code; %先解码
flag=1;
for i=3:length(x)
    else
        flag=0;
    end
end    
% 产生t(i)序列
function ret=Mutation(pmutation,lenchrom,chrom,sizepop,num,maxgen)
% 本函数完成变异操作
% pcorss                input  : 变异概率
% lenchrom              input  : 染色体长度
% chrom     input  : 染色体群
% sizepop               input  : 种群规模
% opts                  input  : 变异方法的选择
% pop                   input  : 当前种群的进化代数和最大的进化代数信息
% bound                 input  : 每个个体的上届和下届
% maxgen                input  :最大迭代次数
% num                   input  : 当前迭代次数
% ret                   output : 变异后的染色体
function t = pop_meet_conditions(maxt)
global Tmin Tmax delta m tt PP Q cita
% 输入变量说明:
% Tmin = 1;   % 表示相邻车辆间发车间隔的最小值(min)
% Tmax = 10;  % 表示相邻车辆间发车间隔的最大值(min)
% delta = 4;  % 表示相邻车辆发车间隔之差的限制值
% m = 500;    % 表示总的发车次数(车次)
% maxt = 960;    % t(i)的最大值

% 输出变量说明:
% t为满足条件的个体

a = randi(10);  % t(1)第一个值的取值范围设定为1-10之间随机取值
t(1) = a;       % 赋值

flag = 1;       % 标志变量
% Loop
while flag==1
    
    for i=2:m
        flag = 1;       % 标志变量
        while flag == 1
            % Tmin< t(i)-t(i-1) < Tmax
            a1 = randi(9);
            if a1>Tmin+2 && i==2
                t(i)=t(i-1)+a1; % Tmin < t(i)-t(i-1) < Tmax
                flag = 0;   % i 时间点计算完毕
            elseif a1>Tmin+2 && i>2  % |t(i+1)-2*t(i)+t(i-1)|<delta 
                t(i)=t(i-1)+a1; % Tmin < t(i)-t(i-1) < Tmax
                if abs( (t(i)-t(i-1)) -(t(i-1)-t(i-2)) )<delta
                    flag = 0;  % i 时间点计算完毕
                end
            end
        end
    end 

세, 실행 결과

여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

네, 비고

전체 코드 또는 작성을 위해 QQ1564658423을 추가하십시오.
과거 리뷰 >>>>>>
[ VRP] Matlab 유전 알고리즘 기반 차량 경로 문제 (시간 창 포함) [Matlab 소스 코드 002 포함]
[경로 계획] matlab A * 알고리즘 기반으로 3 차원 경로 계획 문제 해결 [Matlab 소스 포함] 코드 003 기간]
[경로] Matlab 소스 코드를 사용하여 인공 꿀벌 식민지 MATLAB 경로 계획을 기반으로 [004]
[경로] 개미 식민지 Matlab 여러 여행 세일즈맨 문제를 기반으로 계획을 해결하기 [Matlab 소스 MTSP 005]
[경로] 계획 기반 on ant colony matlab 알고리즘 기반 UAV 경로 계획 [Matlab 소스 코드 008 포함]
[경로 계획] 여러 VRP 문제를 해결하기위한 Matlab 유전 알고리즘 [Matlab 소스 코드 010 포함]
[경로 계획] Matlab 유전 알고리즘 기반 다중 센터 VRP 솔루션 [Matlab 소스 코드 Issue 011 포함]
[경로 계획] matlab 입자 군을 기반으로 한 3 차원 UAV 경로 계획 [Matlab 소스 코드 015 포함]
[ 경로 계획] 유전 알고리즘을 이용한 matlab 기반 다중 물류로 열린 차량 경로 문제를 컴파일 centers [Matlab 소스 코드 017 포함】
【경로 계획】 matlab 입자 떼를 기반으로 한 로봇 그리드 경로 계획 【Matlab 소스 코드 018 포함】
【경로 계획】 matlab ant colony 알고리즘을 기반으로 최단 경로를 해결하는 【Matlab 소스 코드 019 포함】
【경로 계획】 matlab 면역 알고리즘 기반 물류 센터 위치 문제 [Matlab 소스 코드 020 기간 포함]
[경로 계획] Matlab 인공 꿀벌 식민지 기반 UAV 3 차원 경로 계획 [Matlab 소스 코드 021 기간 포함]
[경로 계획] matalb 그리드 맵-유전 알고리즘 기반 로봇 최적 경로 계획 [Matlab 소스 코드 022 포함]
[경로 계획] Matlab 그리드 맵-유전 알고리즘 기반 로봇 최적 경로 계획 [Matlab 소스 코드 027 기간 포함]
[경로] ant colony matlab에 기반한 계획 MATLAB 소스 코드를 사용한 다중 UAV 공격 스케줄링 [034]
[path] ant colony를 기반으로 한 3 차원 경로 계획 matlab matlab 소스에 기반한 계획 [043]
[path] 입자에 기반한 계획 matlab Colony 최적화 ant colony 's 최단 경로 솔루션 [Matlab 소스 코드 076 포함]
[경로 계획] matlab ant colony 알고리즘을 기반으로 멀티 센터 VRP 문제를 해결 [Matlab 소스 코드 111 포함]
[경로 계획] 기반 matlab ant colony 알고리즘을 기반으로 시간 창으로 해결 -중심 VRP 문제 [Matlab 소스 코드 112 포함]
[경로 계획] matlab ant colony 알고리즘을 기반으로 시간 창으로 다기관 VRP 문제 해결 [Matlab 소스 코드 113 포함]
[경로 계획] matalb 기반의 다중 센터 VRP 솔루션 유전 알고리즘 [Matlab 소스 코드 114 포함]
[경로 계획] VRP 문제를 해결하기위한 Matlab 시뮬레이션 어닐링 [Matlab 소스 코드 115 포함]
[경로 계획] Matlab 별 기반 래스터 경로 계획 [Matlab 소스 코드 116 포함]
[경로 계획] Matlab 기반 A 양방향 최적화 입자 떼 그리드 맵 경로 계획 (Matlab 소스 코드 117 포함)
[TSP] Matlab 개미 식민지 알고리즘을 기반으로 GUI로 여행하는 세일즈맨 TSP 문제 해결 [Matlab 소스 코드 118 포함]
[경로 계획] 기반 Matlab 개미 식민지 알고리즘 그리드 맵 경로 계획 [Matlab 소스 코드 119 포함]
[TSP 문제] MATLAB 차등 진화 기반 TSP 문제 [matlab 소스 코드 131 포함]
[경로 계획] Matlab 유전 알고리즘 기반 여행 세일즈맨 TSP 문제 [Matlab 소스 코드 135 포함]
[경로 계획] Matlab 시뮬레이션 어닐링 알고리즘 기반 여행 세일즈맨 TSP 문제 [Matlab 소스 코드 136 기 포함]
[경로 계획] MATLAB 개미 식민지 알고리즘 기반 스마트 카 경로 계획 [Matlab 소스 코드 137 기 포함]
[경로 계획] Huawei Cup : 재난 구호에 UAV를 최적으로 사용 [Matlab 소스 코드 138 포함] 기간]
[경로 계획] matlab RRT 3 차원 경로 계획
기반 [ Matlab 소스 코드 151 포함] [경로 계획] matalb 인공 전 위장 기반 UAV 형성 경로 계획 [Matlab 155 기간 포함]
[VRP 문제] matlab 저장 기반 알고리즘 TWVRP 문제 해결 [Matlab 소스 코드 156 포함]
[VRP 문제] CVRP 문제를 해결하기위한 Matlab 저장 알고리즘 [Matlab 소스 코드 157 포함]
[VRP 문제] VRP 문제 해결을위한 Matlab tabu 검색 알고리즘 [Matlab 소스 코드 158 포함]
[VRP 문제】 matlab 시뮬레이션 어닐링을 기반으로 CVRP 문제 해결 [Matlab 소스 코드 159 포함]
[VRP 문제] matlab 인공 물고기 학교를 기반으로 시간 창으로 VRP 문제 해결 [Matlab 소스 코드 161 포함]
[VRP 문제] 용량 기반 문제 해결 matlab 유전 알고리즘 VRP 문제 [Matlab 소스 코드 162 포함]
[경로 계획] matlab 늑대 팩 알고리즘 기반 3D 경로 계획 [Matlab 소스 코드 167 포함]
[경로 계획] Matlab 인공 전위 필드 기반 UAV 3D 경로 계획 [Matlab 포함] 소스 코드 168 기간】
[경로 계획] matlab의 개선 된 차이점을 기반으로 3 차원 다중 UAV 조정 궤도 계획 [Matlab 소스 코드 169 포함]
[경로 계획] Matlab 인공 꿀벌 식민지 기반 다중 UAV 3 차원 경로 계획 [Matlab 소스 코드 170 포함] ]
[경로 계획] MATLAB 참새 검색 알고리즘 기반 UAV 3D 경로 계획 [Matlab 소스 코드 171 포함]
[경로 계획] Matlab 개미 식민지 알고리즘 기반 3D 경로 계획 [Matlab 소스 코드 179 포함]
[경로 계획] Matlab 면역 알고리즘 최단 경로 계획 [Matlab 소스 코드 194 포함]

[여행 세일즈맨 문제] 매트랩 면역 알고리즘을 기반으로 여행 세일즈맨 문제 해결 [매트랩 소스 코드 195 포함]

추천

출처blog.csdn.net/TIQCmatlab/article/details/113654878