KR100902737B1 - 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법 - Google Patents

동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법 Download PDF

Info

Publication number
KR100902737B1
KR100902737B1 KR1020020059196A KR20020059196A KR100902737B1 KR 100902737 B1 KR100902737 B1 KR 100902737B1 KR 1020020059196 A KR1020020059196 A KR 1020020059196A KR 20020059196 A KR20020059196 A KR 20020059196A KR 100902737 B1 KR100902737 B1 KR 100902737B1
Authority
KR
South Korea
Prior art keywords
node
path
turn
nodes
optimal
Prior art date
Application number
KR1020020059196A
Other languages
English (en)
Other versions
KR20040028102A (ko
Inventor
김성수
정종두
이종현
Original Assignee
주식회사 케이티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이티 filed Critical 주식회사 케이티
Priority to KR1020020059196A priority Critical patent/KR100902737B1/ko
Publication of KR20040028102A publication Critical patent/KR20040028102A/ko
Application granted granted Critical
Publication of KR100902737B1 publication Critical patent/KR100902737B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/0969Systems involving transmission of navigation instructions to the vehicle having a display in the form of a map
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/097Supervising of traffic control systems, e.g. by giving an alarm if two crossing streets have green light simultaneously

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 실제교통네트워크에서 사용될 수 있도록 회전제약 및 유턴(U-turn) 및 피턴(P-turn)을 모두 고려하여 동적 교통정보를 바탕으로 하는 차별화된 다수의 최적 경로를 탐색함으로써, 교통관제시 교통량을 효율적으로 분산시키기 위한 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법에 있어서, 출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 개체를 생성 후, 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 1 단계; 상기 생성된 개체들의 적합도 평가를 수행 후, 룰렛휠 선택방법을 사용하여 개체군의 선택 및 재생성 과정을 수행하는 제 2 단계; 상기 개체 경로에 대해 교배 연산과 돌연변이 연산 후 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 3 단계; 및 세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 2 단계부터 반복 수행하여 최적의 경로를 탐색하는 제 4 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 최적 경로 탐색 서비스 등에 이용됨.
진화 프로그램, 교통네트워크, 최적 경로, 교배, 돌연변이, 개체 생성

Description

동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법{Many most suitable path search method to do with dynamic traffic information}
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성예시도.
도 2 는 본 발명에 따른 교통네트워크의 예시도.
도 3 은 본 발명에 따른 초기 개체 생성 절차를 나타낸 일실시예 설명도.
도 4 는 본 발명에 따른 회전 금지로 인한 순환서브 경로의 예시도.
도 5 는 본 발명에 따른 순환경로 제거 과정을 나타낸 일실시예 설명도.
도 6 은 본 발명에 따른 두 개체를 공통노드를 중심으로 교배하는 과정을 나타낸 일실시예 설명도.
도 7 은 본 발명에 따른 교배로 인한 순환경로 제거 과정을 나타낸 일실시예 설명도.
도 8 은 본 발명에 따른 한 노드를 다른 한 노드로 대치하는 과정을 나타낸 일실시예 설명도.
도 9 는 본 발명에 따른 한 노드를 다른 경로 노드로 대치시키는 과정을 나타낸 일실시예 설명도.
도 10 은 본 발명에 따른 돌연변이로 인한 순환노드 제거 과정을 나타낸 일 실시예 설명도.
도 11 은 본 발명에 따른 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법에 대한 일실시예 흐름도.
도 12 는 본 발명에 따른 시스템 사용자에 따른 변경 가능 항목을 나타낸 예시도.
도 13 은 본 발명에 따른 실제 지도에 표기된 제약조건이 없는 단순화된 교통 네트워크의 예시도.
도 14 는 본 발명에 따른 세대 수 변화에 따른 진화프로그램을 이용한 최적값의 변화를 나타낸 예시도.
도 15 는 본 발명에 따른 개체집단의 크기 변화에 따른 진화프로그램을 이용한 최적값의 변화를 나타낸 예시도.
도 16 은 본 발명에 따른 각 세대의 적합도 함수의 합계에 대한 추이를 나타낸 예시도.
도 17 은 본 발명에 따른 제약 조건이 있는 지역의 교통네트워크를 나타낸 예시도.
도 18 은 본 발명에 따른 첫 번째 세대의 각 개체 경로, 경로길이 및 적합도 함수 값을 나타낸 예시도.
도 19 는 본 발명에 따른 두 번째 세대의 각 개체 경로, 경로길이 및 적합도 함수 값을 나타낸 예시도.
도 20 은 본 발명에 따른 마지막 세대의 각 개체 경로, 경로길이 및 적합도 함수 값을 나타낸 예시도.
* 도면의 주요 부분에 대한 부호의 설명
11 : 중앙처리장치(CPU) 12 : 주기억장치(MEMORY)
13 : 보조기억장치 14 : 입출력장치
본 발명은 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 큰 공간의 대규모 실제교통네트워크에서 사용될 수 있도록 회전제약 및 유턴(U-turn), 피턴(P-turn)을 모두 고려하여 동적 교통정보를 바탕으로 하는 차별화된 다수의 최적 경로를 탐색함으로써, 교통관제시 교통량을 효율적으로 분산시킬 수 있도록 하는 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
종래 최단경로탐색 알고리즘들은 순환서브경로를 포함하지 않는 단순 네트워크에서의 최단경로 탐색에 유용하다. 그러나, 현실적인 도로 교통네트워크는 회전제약 및 교통량 변수에 의해 최적 경로는 회전금지 구역에서 U턴 또는 P턴과 같은 순환서브경로를 필연적으로 포함하고 있고, 다수 최적 경로들을 미리 정해진 시 간내에 도출해내는 것이 필요하다. 그러므로, 각종 제약 사항 뿐만 아니라 동적 교통상황을 고려하여 큰 공간의 대규모 네트워크의 복잡한 도로 교통네트워크에 대해서 주행시간을 기준으로 출발지에서 목적지까지의 실질적인 다수 최적 경로들을 사용자가 정보를 요구하는 시간내에 효과적으로 도출해내는 휴리스틱 알고리즘의 개발이 요구된다.
유전자알고리즘(GA : Genetic Algorithem)은 매우 대규모 조합의 최적화 문제와 구속 조건이 많은 공학문제를 겨냥한다. 진화 방법 및 유전학 원리를 컴퓨터 알고리즘과 결합시켜 논리적으로 복잡한 문제 영역에 견고한 최적해 탐색에 효과적으로 적용된다. 다음은 최적경로안내시스템의 핵심정보인 최적경로를 찾아내기 위해 GA를 적용한 기존 연구에 대한 조사 및 분석을 하였다.
제1 선행기술은 모든 노드에 대하여 우선 순위를 중복되지 않고, 랜덤하게 설정하여 하나의 개체를 만들고, 우선 순위가 가장 높은 것을 선택하여 경로를 만들어간다. 이 선행기술에서 제시하는 방법은 유전자알고리즘 진행과정에서 새로 발생하는 개체들이 시작노드와 도착노드를 포함하는 개체의 완전성이 보장된다는 장점이 있는 반면 개체 집단 생성 시 교통 네트워크가 커지면 불완전한 경로의 경우의 수가 커질 것이라 생각된다. 유전자알고리즘 진행과정에서 개체로 표현되고 경로로 해석되는 과정이 반복되면서, 특히 노드수가 많아질 경우 계산시간과 기억용량에 부하가 생기는 단점이 있다.
제2 선행기술은 경로를 찾아가기 위해, 시작노드와 도착노드에서 동시에 랜덤하게 인접한 노드들을 연결하여 서로 만나게 함으로써 경로를 생성해 간다. 이 논문의 특징은 초기 개체 생성부터 유전자알고리즘을 사용하여 교배와 돌연변이를 적용하여 초기 개체 생성에서 보다 다양한 개체 집단을 생성하였다고 서술하고 있으나 개체생성을 위한 유전자알고리즘 적용과정이 불명확하다.
제3 선행기술은 경로를 생성하기 위해, 시작점에서 도착점까지 인접한 노드를 랜덤하게 선택하였는데, 이 방법의 단점은 네트워크의 규모가 커졌을 때 개체 생성 가능성이 적으며 비효율적이다. 이 과정에서 설정된 회전제약에 따라 이웃 노드 중 일부를 선택 대상에서 제외, U턴이 가능하도록 한 반면, P턴은 고려하지 못하였다.
제4 선행기술은 다양한 최단경로를 찾을 때 여러 지역으로 나누고 경로의 길이에 가중치를 두고서 개체를 구성함으로서 차별화된 대안경로를 구하고자 했다.
이러한 방법은 차별화된 다수 최단경로 대안을 제시함으로써 교통량 분산에 도움이 될 수 있는 장점이 있다. 경로생성 방법에서 유전자들은 각각의 노드를 나타내며, 교배와 돌연변이가 수월하다. 반면, 개체로 표현하고 경로 형태로 해석하는 과정을 반복하게 되므로, 특히 노드수가 많아질수록 계산시간 및 기억 용량에 부담이 발생하게 되어 비효율적일 수 있다.
제5 선행기술은 유전자 알고리즘을 이용하여 차별화된 다수 최적경로를 교통네트워크에서 공통 노드 또는 호의 중복을 최소화하는 방법을 서술하고 있으나 방법론이 불명확하다.
따라서, 유전자 알고리즘(GA) 방법을 네트워크에 적용하여 최적경로를 찾고자 시도한 기존방법들을 요약 분석함으로써, 각 방법들의 장점과 단점을 평가, 분 석하고, 이러한 내용을 바탕으로 이 방법들의 장점을 공유하고 단점을 보완하여 최적경로를 제시할 수 있는 방안을 필요로 한다.
본 발명은, 상기한 바와 같은 요구에 부응하기 위하여 제안된 것으로, 실제교통네트워크에서 사용될 수 있도록 회전제약 및 유턴(U-turn) 및 피턴(P-turn)을 모두 고려하여 동적 교통정보를 바탕으로 하는 차별화된 다수의 최적 경로를 탐색함으로써, 교통관제시 교통량을 효율적으로 분산시키기 위한 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명은, 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법에 있어서, 출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 개체를 생성 후, 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 1 단계; 상기 생성된 개체들의 적합도 평가를 수행 후, 룰렛휠 선택방법을 사용하여 개체군의 선택 및 재생성 과정을 수행하는 제 2 단계; 상기 개체 경로에 대해 교배 연산과 돌연변이 연산 후 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하 고, 그 외의 순환경로들을 제거하는 제 3 단계; 및 세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 2 단계부터 반복 수행하여 최적의 경로를 탐색하는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은, 프로세서를 구비한 하드웨어 시스템에, 출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 개체를 생성 후, 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 1 기능; 상기 생성된 개체들의 적합도 평가를 수행 후, 룰렛휠 선택방법을 사용하여 개체군의 선택 및 재생성 과정을 수행하는 제 2 기능; 상기 개체 경로에 대해 교배 연산과 돌연변이 연산 후 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 3 기능; 및 세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 2 기능부터 반복 수행하여 최적의 경로를 탐색하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은 GA의 개념에 기반하여 큰 공간의 대규모 네트워크의 복잡한 실제교통네트워크에서 교통정보 및 회전금지 구역과 U턴 또는 P턴을 고려한 차별화된 다수 최적경로 대안들을 산출해서 사용자가 정보를 요구하는 시간내에 제공할 수 있는 알고리즘을 개발하고자 하는 것이다.
이 시스템에 적용할 최적 경로 알고리즘의 특징은 GA에 적용시키기 위한 초기 개체 생성에서 다른 방법보다 초기개체 생성 확률을 높이고 계산시간, 기억용량 등 효율성을 높이는 것이다. 염색체(개체) 표현은 경로 자체를 사용함으로써, 비효율성과 계산시간, 기억용량의 부하를 사전에 제거했다. 알고리즘을 수행하면서 초기과정에서는 다양성을 강조하기 위해 세대수가 점점 진행되면서 우성개체들간의 교배 확률을 높이고, 또한 돌연변이율도 초기세대에는 상대적으로 크게 설정하고 세대수가 증가할수록 돌연변이율을 점점 낮게 적용함으로써 수렴성을 강조하였다.
이렇게 함으로써, 알고리즘이 진행되면서 다양성 강조에서 수렴성을 강조함으로써 최적경로를 찾아낸다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성예시도이다.
도 1에 도시된 바와 같이, 각 하드웨어 시스템의 구성요소를 제어하고 프로세스의 처리를 관리하는 중앙처리장치(CPU)(11), 본 발명이 실장되며 각종 프로세스가 수행되고 데이터가 저장되는 주기억장치(12), 상기 메모리의 저장용량의 부족을 보충하는 보조기억장치(13), 사용자와의 입출력을 전담하는 입출력 장치(14)들이 버스를 통해 상호 연결되어 있다.
도 2 는 본 발명에 따른 교통네트워크의 예시도이다.
도 2에 도시된 바와 같이, 교통네트워크에서 제안된 기종점간 경로 개체 생성방법은 도 3에 나타나 있는 바와 같이 기점 노드1과 종점 노드12 두 곳에서부터 시작하여 각 노드의 인접 노드를 확률적 랜덤선택에 의해 노드를 계속적으로 반복 해서 연결해 나간다.
다시 말해서, 도 3의 단계 0에서는 기점노드1과 종점노드12가 연결되어 있는지 확인하고 연결되어 있으면 개체를 생성하고 그렇지 않으면 단계 1로 넘어간다.
단계 1에서는 노드1의 인접노드2, 3이 노드12와 같은 노드가 있는지를 확인하여 같은 노드가 있으면 개체가 생성되고, 그렇지 않으면 단계 2로 넘어간다. 단계 2에서는 노드1의 인접노드 중 하나를 랜덤하게 선택하여 기점노드로부터 연결된 경로[1,2]를 만들고, 이 경로의 마지막 노드2의 인접노드4, 5중에서 종점노드에서 시작한 경로에 포함된 노드12 중에 같은 노드가 있는지를 확인하여 같은 노드가 있으면 서로 연결하여 개체를 생성하고, 그렇지 않으면 단계 3으로 넘어간다. 단계3에서는 노드12의 인접노드 중 하나를 랜덤하게 선택하여 종점노드로부터 연결된 경로[11,12]를 만들고, 이 경로에 마지막으로 연결된 노드11의 인접노드6, 7, 10중에서 기점노드에서 시작한 경로에 포함된 노드1, 2 중에 같은 노드가 있는지를 확인하여 같은 노드가 있으면 서로 연결하여 개체를 생성하고, 그렇지 않으면 단계 4로 넘어간다. 도 3 은 상기와 같은 방법으로 단계 7을 거쳐 새로운 개체[1,2,4,8,7,11,12]를 생성할 수 있다.
초기개체를 생성할 때 회전금지부분을 고려하여 생성한다. 회전금지(도 4의 경로[6,7,8])는 회전금지노드에 대한 정보{회전금지 중심노드의 전 노드(노드6), 회전금지 중심노드(노드7), 회전금지 중심노드의 다음 노드(노드8)}와 현재 개체에 대한 정보{현재 선택노드의 전 노드, 현재 선택노드, 새로 선택할 노드}를 비교하여 모든 것이 일치할 때 회전을 금지부분을 경로생성에서 제외시킨다.
도 4 는 본 발명에 따른 회전 금지로 인한 순환서브 경로의 예시도이다.
도 4에 도시된 바와 같이, [6, 7 ,8]경로가 회전금지라면 [1,3,6, 7 ,10,8,9,12]와 같이 7번 노드가 순환노드가 발생되지 않으면서 회전금지 부분을 피해갈 수 있는 경우(도 4의 (a) 회전 금지를 고려한 비순환경로의 예)와, [1,3,6, 7 ,11,10, 7 ,8,9,12]와 같이 7번 노드가 순환 노드가 되는 경우(도 4의 (b) 회전 금지를 고려한 순환경로의 예)가 생기게 되는데 이러한 경우의 순환노드는 제거하지 않도록 한다.
또한, 최단 경로 문제인 네트워크에서 U턴은 회전 금지를 피해가기 위한 대안이므로 회전 금지일 때만 U턴이 가능하도록 가정한다. 이 경우에도 순환서브경로가 생기게 되며 이 순환서브경로를 제거하지 않도록 한다.
도 4의 (c) 회전 금지를 고려한 U턴 가능한 순환경로의 예에서 6 -> 7 -> 8경로가 회전 금지이고, 이때 기본적으로 경로 7 -> 11 -> 7와 7 -> 10 -> 7이 U턴 가능하지만 실제 교통상황에 따라 경로 7 -> 10 -> 7을 U턴 불가능 경로로 둔다.
따라서, U턴이 가능한 경로 7 -> 11 -> 7에서는 [1,3,6, 7 ,11, 7 ,8,9,12]와 같은 경로가 생성될 수 있다. 그러나, U턴이 불가능한 경로 7 -> 10 -> 7에서는 경로 7 -> 10까지 연결되었고 다음에 노드 7이 랜덤하게 선택되었다면, 경로 7 -> 10 -> 7이 U턴 금지구역인가를 판단하여 U턴 불가능 구역이므로 경로 7 -> 10에서 다른 노드를 랜덤하게 선택하여 P턴을 형성하게 한다.
본 발명에서는 실제 교통네트워크에서 U턴과 P턴은 회전금지 구역에서 발생하기 때문에 U턴과 P턴은 회전금지 노드중심(도 4에서는 노드7)에서만 가능하게 설 정되어 있다. 따라서, 회전금지 중심노드의 유무를 판단하여 U턴과 P턴을 허용한다. 결국, 회전금지구역(6 -> 7 -> 8)을 도 4의 (a),(b),(c)와 같이 대처할 수 있는 경로 개체를 생성한다.
한편, 본 발명에서 순환서브경로를 최소화하기 위해서 다음과 같은 방법을 사용한다.
도 2에서 시작 노드1로부터 2 -> 5 -> 7 -> 8 -> 4가 선택된 뒤 노드4에서 선택될 노드는 인접노드인2와 9가 있게 된다. 여기서, 만약 노드2가 랜덤하게 선택된다면 이미 노드2가 선택된 노드이기에 순환경로가 발생하기 때문에, 먼저 노드2에서 U턴 가능, P턴 가능, 회전 금지를 판단하여, 만약 그렇다면 순환노드로써 노드2를 선택할 수 있게 하고, 그렇지 않다면 노드2가 아닌 다른 노드를 랜덤하게 선택하게 한다. 이러한 과정을 미리 정한 반복 수만큼 했음에도 순환노드가 선택될 경우(노드2가 회전금지 중심노드가 아님에도 불구하고 선택 여지가 노드2밖에 없으면 선택)에만 순환노드 경로로 인정한다. 도 5의 (a)개체에서 순환경로[6, 7 ,11,10, 7 ,8]가 노드7을 중심으로 순환경로의 타당한 정당성(U턴, P턴)이 없을 경우(경로[6,7,8]이 회전금지가 아닐 경우) 도 5의 (b)와 같이 순환경로(경로[11,10])를 제거하여 경로[6, 7 ,8]을 생성할 수 있다.
유전자 탐색의 진화 과정에서 두 가지의 중요한 요인은 개체집단의 다양성과 선택강도이다. 이 두 요인은 매우 깊은 관계가 있어, 선택 강도의 증가는 개체집단의 다양성을 감소시키고, 선택 강도의 감소는 반대로 개체집단의 다양성을 증가시킨다. 다시 말해, 강한 선택 압력은 유전자 탐색의 조기 수렴을 일으키는 반면 약 한 선택 압력은 탐색의 기능을 저하시킨다. 그러므로, 이 두 요인 사이의 균형을 유지하는 것이 표본 추출 방법에 매우 중요한 영향을 미친다.
따라서, 본 발명에서는 다수 최적경로 탐색을 위한 진화 프로그램 적용에 있어서, 초기 세대부분에서는 개체집단의 다양성의 강도를 강하게, 선택의 강도를 상대적으로 약하게 시작하여, 말기 세대부분으로 갈수록 선택강도를 증가시키고 다양성의 강도를 줄여나가는 방법을 적용한다. 후술되는 [수학식 1]에 나타낸 것처럼 초기 세대에 다양성을 강조하여 다양한 개체집단을 형성하기 위해서 돌연변이율을 크게 하였고, 세대가 진행됨에 따라 다양성을 감소시키고 선택의 강도를 높이기 위해 돌연변이율을 작게 한다. 또한, 후술되는 [수학식 2]에 표현한 것처럼 선택강도의 증가를 위해 재생성 과정에서 열성 개체(개체의 적합도 함수 값이 낮은것)를 제거하고 우성 개체(개체의 적합도 함수 값이 높은 것)의 수를 세대가 거듭할수록 많이 사용하는 방법을 적용하여 우성 개체의 교배확률을 높이도록 한다.
Figure 112002031896845-pat00001
초기에 주어지는 돌연변이 확률 ×

Figure 112002031896845-pat00002
초기에 주어지는 우성개체의 최대적용 수 - 정수화(우성개체의 최대적용 수 ×)
정수화 : 소수점 버림화하여 정수로 만듬
(
Figure 112002031896845-pat00003
: 가중치, 0 <
Figure 112002031896845-pat00004
< 1, 0 <
Figure 112002031896845-pat00005
< 1)
세대수 : 0, 1, 2, 3,······, n
두 노드 교배 연산자(two-point crossover)는 두 개체간 공통 노드가 3개(기점, 종점포함) 이상일 때만 가능하며, 3개 이상일 때는 노드를 랜덤하게 선택하여 두 교배노드를 선택한다. 따라서, 두 개체의 두 교배노드(노드7과 10) 사이의 서브 경로([ 7 ,8,9, 10 ]과 [ 7 ,11, 10 ])를 상호 교환함으로써 새로운 두 경로 개체를 생성할 수 있게 된다(도 6).
이때, 새로 연결되는 서브경로(도 6에서 [5,7,11],[6,7,8],[9,10,12],[11,10,12])에서 회전금지가 안생기면 교배를 하고, 한 경로라도 회전금지 구역이면 두 개체간 공통 노드 중 다른노드를 랜덤하게 선택하여 교배를 다시 시도한다.
도 7 은 본 발명에 따른 교배로 인한 순환경로 제거 과정을 나타낸 일실시예 설명도로서, 교배로 인해 순환노드가 생기는 경우와 이를 제거하는 과정에 대한 설명이다.
도 7에 도시된 바와 같이, 공통노드(노드6과 10)간 서브 경로([ 6 ,11,7, 10 ]와 [ 6 ,7,8,9, 10 ])를 상호 교환함으로써 순환노드(노드9)가 생기게 되는데, 이 순환노드([9,10,9])는 노드9에서의 서브경로([8,9,12])에 회전 금지가 없을 시에 제거하고 회전금지일 때는 제거하지 않는다.
한편, 본 발명에서 사용한 돌연변이 연산자에는 다음과 같은 방법이 있다.
첫 번째 방법은 생성된 개체의 한 노드를 랜덤하게 선택하여 기종점을 연결시킬 수 있는 다른 한 노드를 랜덤하게 선택하여 대치하는 방법(도 8에서 노드10을 11로 대치)으로 하였으며, 한 노드로 대치가 불가능한 경우 한 노드를 다른 경로 노드들로 대치(도 9에서 노드5를 경로 노드4 -> 8로 대치)시킴으로써 새로운 경로 개체를 생성하도록 하는 두 번째 방법을 사용한다. 이때, 돌연변이 될 특정노드의 앞 노드(도 9에서의 노드2)를 새로운 기점으로 하고, 그 특정노드의 다음 노드(도 9에서의 노드7)를 새로운 종점으로 하여 개체 생성할 때와 같은 방법으로 새로운 개체를 생성하면 된다.
이때, 회전 금지를 고려하여야 하는데 새로 연결되는 서브경로(도 8에서 [5,7,11], 도 9에서 [1,2,4],[8,7,10])에서 회전금지가 안생기면 돌연변이를 진행하고, 하나의 서브경로라도 회전금지 구역이라면 새로운 노드를 랜덤하게 선택하여 돌연변이를 다시 시도한다.
도 10 은 본 발명에 따른 돌연변이로 인한 순환노드 제거 과정을 나타낸 일실시예 설명도로서, 돌연변이를 하는 과정에서 순환노드가 생기는 경우와 U턴, P턴, 회전금지가 없을 때에 순환노드를 제거하는 방법을 설명한다.
도 10에 도시된 바와 같이, 돌연변이 전 개체인 [1,2,4, 8 ,9,12]에서 노드8을 랜덤하게 선택하고 노드8의 전노드인 노드4를 시작노드로 노드8의 다음 노드인 9를 도착노드로 하여 개체를 생성한다. 만약, 노드 [2,4,2]와 [10,9,12]가 회전 금지가 아니면 돌연변이를 수행한다. 이런 과정을 통하여 순환노드([2,4,2])가 존재하는 [1,2,4,2,5,7,10,9,12] 개체를 생성하게 된다. 만약, 노드 [1,2,5]가 회전금지 부분이라면 노드4에서 U턴이 가능하도록 순환경로 [2,4,2]를 제거하지 않고, [1,2,5]가 회전금지 부분이 아니라면 순환노드4를 제거한다.
임의의 노드 V i 에서 V j 까지의 경로는 (V i , V l ),(V l , V m ), ‥‥ (V k , V i )와 같이 각각의 호가 연속으로 연결됨으로서 형성된다. 다시 말해서, 경로는 연속된 노드 (V i , V l , V m , ‥‥, V i , V j )로 나타낼 수 있으며, 경로상에 회전금지로 인한 U턴이나 P턴이 포함되어 있을 경우는 노드의 반복이 있을 수 있다. 최적경로 문제는 임의로 주어진 두점에 대하여 총 비용이 최소값인 경로를 찾는 것이다. 그러므로, 다음과 같이 정수 계획법 모델(integer programming model)로 공식화할 수 있다.
Figure 112002031896845-pat00006
w ij =노드 i와 j가 연결된 호의 비용값(소요시간, 거리 등), 양수 값
시작점과 도착점을 포함하는 각각의 염색체에 대한 최소화 문제
Figure 112002031896845-pat00007

개체를 선택할 때 룰렛 휠 방식을 적용하기 위해 평가함수를 다음의 [수학식 4]와 같이 표현할 수 있다.
Figure 112002031896845-pat00008

Figure 112002031896845-pat00009

재평가는 계산시간을 줄이기 위해 돌연변이나, 교배를 통해 염색체의 변형이 일어난 개체만을 재평가하도록 한다.
한편, 유전자 알고리즘(GA) 또는 진화프로그램(EP)의 종료 결정 방법에는 다음과 같은 방법들을 적용한다.
1) 가장 간단한 종료 조건으로 현 세대가 사전 에 정한 반복세대수를 넘으면 종료한다.
2) 필요한 정보의 가치가 유효한 특정 시간내에 실행하고 종료한다(정보사용자가 제시).
3) 사전에 정한 일정 세대수를 진행하여 최적값 의 변화가 사전에 정한 값의 변화보다 개선이 없을 때 종료한다. 즉, 미리 정한 세대동안 알고리즘의 진전상황을 측정하는데 만일 그러한 진전이 주어진 값보다 적으면 탐색은 종료된다.
4) 여러 종류의 진화 프로그램에 있어 모든 개체들이 재평가될 필요는 없다. 그 중 몇 개는 한 세대에서 다음 세대로 넘어갈 때 아무런 수정 없이 이루어진다.
그러므로, 대체적으로 평가해야 할 함수의 수를 시작 세대에서 현재 세대까지 계산하여 시스템 관리자가 정해 놓고 탐색은 수정되어진 평가된 함수의 수가 시스템관리자가 미리 정한 평가되어야 할 함수의 수(상수 값)보다 커지면 종료한다.
5) 수렴된 대립유전자들(alleles)의 개수를 검사하여 개체집단의 수렴을 측정한다. 여기서, 대립유전자가 수렴했다함은 개체집단 중 미리 정한 비율만큼이 그 대립유전자와 같은 값일 때를 의미한다. 만일, 수렴된 대립 유전자의 개수가 전체 대립유전자의 일정 비율을 넘으면 탐색은 종료한다.
상기 조건들을 모두 종료조건으로 사용하고 조건들 중에 적어도 한가지만이라도 만족하게 되면 GA또는 EP를 종료한다.
도 11 은 본 발명에 따른 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법에 대한 일실시예 흐름도이다.
도 11에 도시된 바와 같이, 다수의 최적 경로 탐색하기 위해, 먼저 회전금지, U턴 및 P턴을 고려한 초기 개체를 생성하여(기점 및 종점노드에서 인접노드를 확률적 랜덤 선택)(1101), U턴 및 P턴이 필요한 부분을 제외한 순환노드를 제거한다(1102).
이어서, 생성된 개체들의 적합도 평가를 후술되는 [수학식 4]를 사용하여 수행하고(1103), 룰렛휠 선택방법을 사용하여 선택, 재생성한다(1104).
이후, 교배 연산을 수행하여(1105), U턴 및 P턴이 필요한 부분을 제외한 순 환노드를 제거하고(1106), 돌연변이 연산을 수행하여(1107), U턴 및 P턴이 필요한 부분을 제외한 순환노드를 제거한다(1108).
이어서, 다시 적합도 평가를 거쳐(1109) 종료조건에 맞는지 확인하여(1110) 종료조건에 맞으면 전체 진화프로그램 수행절차를 끝내게 되고, 맞지 않으면 선택, 재생성 과정에서부터 다시 반복 수행하여 최적의 경로를 탐색한다(1110).
상기한 바와 같은 구조를 갖는 본 발명의 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법의 동작을 상세하게 설명하면 다음과 같다.
즉, 본 발명에서 제시한 알고리즘의 특징은 (1101) 과정에서 개체를 생성할 때 시작점과 도착점에서 동시에 인접교점을 반복적으로 랜덤하게 선택하고, 모든 노드의 연결 상황을 확인함으로써 개체 생성의 확률 및 계산시간과 계산 기억용량의 효율성을 높인다. 또한, 염색체 표현을 경로노드 자체로 사용함으로써 특히 대규모 망에서의 효율성을 향상시킨다.
(1102)과정을 포함하여 교배 후 (1106)과정과 돌연변이 후 (1108)과정에서 회전금지 부분을 고려하여 U턴과 P턴 등 순환 경로를 허용하고, 그 외의 순환 경로들은 제거한다. (1104,1105,1107)과정에서 알고리즘 초기과정에서는 다양성을 강조하고, 상기의 [수학식 2]를 적용하여 알고리즘의 세대수가 점점 진행되면서 개체군의 적합도 함수값이 낮은 열성개체들을 제거하고 적합도 함수값이 높은 우성개체의 수를 선택하여 개체군에 참여시킴으로써 우성개체들간의 교배 확률을 높인다.
또한, 상기의 [수학식 1]을 적용하여 초기 세대에서는 다양성을 고려하기 위하여 돌연변이율을 높게 적용하고 세대가 진행될수록 수렴성을 고려하기 위하여 돌 연변이율도 점점 낮게 적용한다. 이렇게 함으로써 알고리즘이 진행되면서 다양성에서 수렴성을 강조하게 된다. (1109)과정의 종료조건은 전술하였듯이 여러 합리적인 종료조건들 중에서 한가지라도 만족하면 종료할 수 있도록 한다.
본 발명은 도 11의 진화 프로그램 수행절차에 따라 C++언어를 사용하여 프로그램한 것이다. 이 프로그램은 원천적인 프로그램의 오류가 없는 한 적용사례나 환경 변화에 따라 변경될 필요가 없다. 따라서, 적용하기 위한 교통망에 따라 시스템 관리자가 도 12에 서술되어 있는 정보 내용의 입력 데이터 파일을 생성하여 입력하여 주기만 하면 된다.
본 프로그램은 교통망의 변경이나 고객의 요구에 의한 프로그램 내부에 변경이 불가피하게 되는데 사용자에 따라 도 12와 같은 권한이 부여된다. 그리고, 시스템 관리자는 간단한 변수 값의 변경으로 고객이 원하는 정보와 교통망의 변경에 대처할 수 있게 작성된다.
예를 들어, 서울시 강북구의 실제지도를 단순화된 교통네트워크로 표시한 것이 도 13인데, 각 교차로를 노드번호로 표시하고 각 교차로를 노드번호로 지명으로 표시한다. 시작노드는 노드1, 도착노드는 노드46로 가정한다. 그리고, 각 호의 비용값 또한 도 13과 같이 임의로 가정한다.
a) Dijkstra 알고리즘에 의한 최적 경로
1--> 8--> 4--> 6--> 7--> 14--> 17--> 21--> 26--> 28--> 31--> 34--> 46
(최적값: 33)
b) EP 알고리즘에 의한 최적 경로
EP의 매개변수로 초기 개체군의 개체 수를 10, 교배 연산자의 확률값을 0.4, 초기 돌연변이 연산자의 확률값을 0.5으로 설정하고 최적 네트워크를 위한 유전자 알고리즘을 적용하여 초기 개체군의 총 적합도가 558에서 최종단계의 모든 개체의 총 적합도가 421로 개선되었으며 가장 좋은 개체의 평가 값은 Dijkstra알고리즘을 적용하여 얻은 최단경로값 33과 같은 결과를 얻을 수 있다.
1 -> 8 -> 4 -> 6 -> 7 -> 14 -> 17 -> 21 -> 26 -> 28 -> 31 -> 34 -> 46
(최적값: 33)
이와 같이, EP로 구한 첫 번째 최적경로가 Dijkstra 알고리즘으로 구한 경로와 같음으로 작은 교통네트워크를 통하여 본 논문에서 제시한 진화프로그램에 대하여 검증하였기 때문에 혼잡도가 큰 경우에도 본 발명에서 제시한 최적경로 알고리즘이 제 역할을 할 수 있음을 유추할 수 있다.
도 14 는 본 발명에 따른 세대 수 변화에 따른 진화프로그램을 이용한 최적값의 변화를 나타낸 예시도로서, 노드 300개, 호 761개, 개체집단의 크기 20개일 때 세대수가 증가함에 따라 최적값(Dijkstra알고리즘으로 구한 최적값: 581)에 근접함을 알 수 있다.(10회 반복을 통한 평균값)
도 15 는 본 발명에 따른 개체집단의 크기 변화에 따른 진화프로그램을 이용한 최적값의 변화를 나타낸 예시도로서, 노드 300개, 호 761개, 세대수 2000번일 때 초기 개체집단의 크기가 증가함에 따라 최적값(Dijkstra알고리즘으로 구한 최적값: 581)에 근접함을 알 수 있다.(10회 반복을 통한 평균값)
도 16 은 본 발명에 따른 각 세대의 적합도 함수의 합계에 대한 추이를 나타낸 예시도로서, 각 세대의 적합도 함수의 합계에 대한 변화를 보여주고 있다.
도 16에 도시된 바와 같이, 초기에는 세대의 변화에 따라 적합도 함수의 값이 민감하게 변화를 하는 것을 볼 수 있으며, 최적 값에 가까이 도달한 뒤의 세대의 변화는 적합도 함수 값에 큰 변화를 주지 않고, 미세한 변화를 가지며 개체집단을 형성하게 된다.
도 17 은 본 발명에 따른 제약 조건이 있는 지역의 교통네트워크를 나타낸 예시도로서, 도 13에 제약조건이 있는 교통네트워크이다.
도 17에 도시된 바와 같이, 회전금지 경로([8,4,6], [10,6,3], [6,7,14], [6,13,11], [12,15,19], [11,16,14], [13,19,18], [22,20,25], [27,26 ,28], [26,27,35], [37,41,36])는 11개 지역으로 임의적으로 정하였고, 실제 교통네트워크에 적용하기 위해 회전금지의 중심노드에서도 U턴 금지([15,8,15], [13,10,13], [16,18,16], [26,21,26], [41,39,41])를 임의적으로 설정한다. 시작노드는 노드1, 도착노드는 노드46로 가정한다. 그리고, 각 호의 비용값 또한 도 17과 같이 임의로 가정한다.
EP의 매개변수는 초기 개체군의 개체 수=10, 그리고 교배 연산자의 확률값을 0.4, 초기 돌연변이 연산자의 확률값을 0.5으로 설정하고 최적 네트워크를 위한 유전자 알고리즘을 모의 실험한다.
유전자 알고리즘을 이용하여 교통네트워크에서 다수 최적경로를 찾아내기 위해 최적화하기 위해, 초기화 과정으로 초기 개체군의 개체 수를 10개로 하여 염색 체를 랜덤하게 선택하여 구성된 초기 개체집단을 형성하고, 상기의 [수학식 4]를 적용하여 각 개체의 경로길이와 적합도 함수 값을 계산하면 도 18과 같다.
네트워크 문제는 시작노드에서 시작하여 도착노드까지의 최단길이가 최적의 경로이므로, 역수의 값이 가장 큰 개체4가 가장 적합도 함수가 크고, 역수의 값이 가장 작은 개체9가 가장 적합도 함수가 작은 것임을 알 수 있다. 여기서, 마지막 세대로 갈수록 다수 최적 경로 탐색과, 표본 추출에서 선택의 강도를 강하게(다양성을 약하게)하기 위해 열성 개체를 우성 개체로 교환하기 위한 자료를 얻기 위해 "elitist pool"에 우성 개체들을 저장시킨다(본 발명에서는 elitist pool을 3개의 개체로 구성한다).
이제, 룰렛 휠 선택에 의해 선택한다. 각 염색체가 상기의 [수학식 5]에 따라 선택될 확률(p)과 누적확률(q) 값을 구하면 다음과 같다.
Figure 112002031896845-pat00010
이제, 룰렛 휠 선택을 10번 할 준비가 되어 있다. 매번 새로운 개체집단을 위하여 하나의 염색체를 선택한다. 범위 [0,1]사이의 10개의 (난수)수열이 다음과 같이 생성되었다.
0.2221 0.3019 0.5581 0.1301 0.4092 0.0354 0.9203 0.0135 0.8746 0.2163
첫 번째 난수 0.2221은 q 3 보다는 작으며, 이는 즉 3번째 염색체가 새로운 개체 집단을 위해 선택된다는 것을 의미한다.
최종적으로 새로운 개체집단은 다음의 염색체들로 구성된다.
Figure 112002031896845-pat00011

이제 재 조합 연산자인 교배 연산자를 새로운 개체집단의 개체들에 적용할 준비가 되어 있다. 교배 확률은 p c =0.4이므로 염색체의 (평균적으로) 40%정도(즉, 10개중 4개)가 교배된다고 예측된다. 다음 방법으로 교배 연산을 행한다. (새로운) 개체집단의 각각의 염색체에 대하여 범위 [0,1] 사이의 난수 r을 발생하여 만일 r<0.4이면, 그 염색체를 선택하여 교배한다.
0.8739 0.9777 0.5638 0.2339 0.0764 0.4761 0.7388 0.5344 0.9894 0.0201
이 수열을 통해 교배연산에 선택된 염색체는 개체4와 개체5이다{선택 개체의 수가 홀수일 경우에는 하나를 제거(개체10)하고, 두 개(짝수 개)의 개체로 교배 쌍을 생성한다}. 따라서, 1번째 쌍(개체4, 개체5)의 공통노드 중 랜덤하게 선택된 두 노드간을 교배한다.
1번째 쌍의 노드15와 41 사이의 경로를 서로 바꿈으로써 한 쌍의 자손이 된다.
Figure 112002031896845-pat00012
다음 단계는 교배를 통해 새로 생성된 개체들 중 순환노드를 찾아 U턴과 P턴의 허용 유무를 판단하여 U턴, P턴이 필요없는 경우 제거 할 순환노드를 제거한다(개체4).
Figure 112002031896845-pat00013

개체4의 노드 28에서 순환이 생겼으나 노드 28이 회전금지의 중심노드가 아니므로 순환노드를 제거하여야 한다. 따라서,
순환 노드 제거 후 개체4 : 1 8 4 3 9 2 6 13 10 15 19 18 16 20 17 21 26 28 33 38 46
과 같은 경로가 형성된다.
이제 재 조합 연산자인 돌연변이 연산자를 새로운 개체집단의 개체들에 적용할 준비가 되어 있다. 돌연변이 확률은 p m =0.5이므로 염색체의 평균적으로 50%정도(즉, 10개중 5개)가 돌연변이된다고 예측된다. 다음 방법으로 돌연변이 연산을 행한다. 새로운 개체집단의 각각의 염색체에 대하여 범위 [0,1] 사이의 난수 r을 발생하여 만일 r<0.5이면, 그 염색체를 선택하여 돌연변이한다.
0.7748 0.4472 0.8946 0.9943 0.3898 0.0566 0.9861 0.5201 0.0126 0.3719
이 수열을 통해 돌연변이 연산에 선택된 염색체는 개체2, 개체5, 개체6, 개체9, 개체10이다. 개체 각각에서 랜덤 난수를 발생하여 하나의 유전자를 선택하여 돌연변이시키는데, 여기서는 개체2의 노드15, 개체5의 노드13, 개체6의 노드7, 개체9의 노드26, 개체10의 노드43을 돌연변이시킨다.
Figure 112002031896845-pat00014

개체들에 대해 순환노드를 제거한다(개체2, 개체5, 개체6, 개체9, 개체10).
Figure 112002031896845-pat00015

개체2의 노드 1, 개체5의 노드 10, 개체6의 노드 10, 개체9의 노드 45와 노드 46, 개체10의 노드 45에서 순환이 생겼으나 이 노드들이 회전금지의 중심노드가 아니므로 순환노드를 제거하여야 한다. 따라서,
Figure 112002031896845-pat00016

과 같은 경로가 형성된다.
지금까지 유전 과정 중 한 세대을 마쳤다. 새로운 개체집단의 평가 과정의 결과를 살펴보면 다음과 같다.
평가단계에서 각각의 염색체를 해독하고 이들의 값으로 적합도 함수의 값을 계산하면 도 19와 같다. 새로운 개체집단의 총 적합도는 623으로 이것은 이전 개체 집단의 총 적합도 값 689보다 좋은 값을 얻을 수 있다.
이제 선택과정을 다시 거치고, 유전 연산자를 적용하여 다음 세대를 계속적으로 평가한다. 이 진화 프로그램의 종료조건은 상기에서 언급한 바와 같이 5가지 조건으로 하였으며, 이 예는 3번째 종료 조건인 몇 세대간 최적값의 변화률에 따른 조건에 의해 종료가 되었으며, 이때의 세대수는 200세대였으며 그때의 개체집단과 개체의 길이 및 적합도 함수값은 도 19와 같다.
결과는 다음과 같이 서로 다른 최적 경로 세 개를 얻을 수 있다.
새로운 개체집단의 총 적합도는 362이고, 가장 좋은 개체의 평가 값은 34로 나타나 새로운 최적의 값을 얻을 수 있었다.
첫 번째 최적경로 = 1 -> 8 -> 15 -> 19 -> 18 -> 22 -> 24 -> 25 -> 21 -> 26 -> 28 -> 31 -> 34 -> 46 (최적값: 34)
두 번째 최적경로 = 1 -> 8 -> 15 -> 19 -> 18 -> 22 -> 24 -> 25 -> 21 -> 26 -> 28 -> 33 -> 34 -> 46 (최적값: 36)
세 번째 최적경로 = 1 -> 8 -> 15 -> 19 -> 18 -> 22 -> 24 -> 27 -> 35 -> 32 -> 36 -> 40 -> 46 (최적값:37)
기존의 최적경로 알고리즘인 Dijkstra의 최적경로 결과값으로 진화프로그램을 사용하여 구한 최적경로 결과값을 검증하였으며, 회전금지, U턴, P턴, U턴금지를 고려한 다수 최적 경로를 진화프로그램(EP)을 사용하여 찾아낼 수 있었다. 진화프로그램을 사용하여 노드수가 46개로 혼잡도(complexity)가 상대적으로 작은 상황에서 검증을 할 수 있었기 때문에 교통네트워크의 혼잡도가 큰 상황에서도 본 발명에서 제시한 다수 최적경로 알고리즘이 제 역할을 다할 수 있음을 확인할 수 있다.
또한, 노드수가 많아지고, 회전금지, U턴 금지, U턴, P턴등 교통네트워크의 혼잡도가 높아질수록 본 발명에서 제시한 최적경로 알고리즘의 진가는 더욱 높아질 진다.
따라서, 본 발명에서는 기존 최적경로 탐색 알고리즘이 대규모 교통네트워크에서 고려하기 어려웠던 회전금지, U턴, U턴 금지 및 P턴 등을 고려하여 제한된 시간내에 다수 최적경로를 산출해 낼 수 있는 특징이 있다. 또한, 본 발명에서 제시한 GA의 특징은 새로운 개체 생성 방법을 사용하고 개체 표현은 경로 노드 자체를 사용함으로써 최적경로 산출 계산 시간과 기억 용량을 효율화한다. 또한, GA를 수행하는 과정에서는 돌연변이율의 조정과 elitist pool 방법을 사용하여 초기 단계에는 다양성을 강조하고 세대가 거듭될수록 수렴성을 강조한다. 따라서, 본 발명에서 제시한 최적경로 알고리즘을 실제 교통네트워크에 적용하여 다수 최적경로를 찾아낼 수 있는 특징이 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 실제교통네트워크에서 사용될 수 있도록 회전제약 및 U턴, P턴을 모두 고려하여 동적 교통정보를 바탕으로 하는 차별화된 다수 최적경로를 제시함으로써, 교통관제를 할 때 교통량을 효율적으로 분산시킬 수 있다.

Claims (5)

  1. 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법에 있어서,
    출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 개체를 생성 후, 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 1 단계;
    상기 생성된 개체들의 적합도 평가를 수행 후, 룰렛휠 선택방법을 사용하여 개체군의 선택 및 재생성 과정을 수행하는 제 2 단계;
    상기 개체 경로에 대해 교배 연산과 돌연변이 연산 후 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 3 단계; 및
    세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 2 단계부터 반복 수행하여 최적의 경로를 탐색하는 제 4 단계
    를 포함하는 다수의 최적 경로 탐색 방법.
  2. 제 1 항에 있어서,
    상기 교배 연산 과정은,
    두 노드 교배연산자는 두 개체간 공통 노드가 3개(시작점, 출발점 포함) 이 상일 때만 가능하며, 3개 이상일 때 노드를 랜덤하게 선택하여 두 교배 노드를 선택하고, 두 개체의 두 교배노드 사이의 서브경로를 상호 교환하여 새로운 개체 경로를 생성하는 것을 특징으로 하는 다수의 최적 경로 탐색 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 교배 연산 후 순환경로를 제거하는 과정은,
    공통노드간 서브경로를 상호 교환하면 순환노드가 생기고, 이 순환노드는 서브경로에 회전 금지가 없을 시에 제거하고 회전금지일 때는 제거하지 않는 것을 특징으로 하는 다수의 최적 경로 탐색 방법.
  4. 제 3 항에 있어서,
    상기 돌연변이 연산 과정은,
    돌연변이될 특정노드의 앞 노드를 출발점으로 하고, 다음 노드를 도착점으로 하여 경로 생성방법으로 새로운 개체를 생성하고, 회전 금지를 고려하기 위해 새로 연결되는 서브경로에서 회전금지가 안생기면 돌연변이를 진행하고, 하나의 서브경로라도 회전금지 구역이라면 새로운 노드를 랜덤하게 선택하여 돌연변이를 다시 시도하는 것을 특징으로 하는 다수의 최적 경로 탐색 방법.
  5. 프로세서를 구비한 하드웨어 시스템에,
    출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 개체를 생성 후, 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 1 기능;
    상기 생성된 개체들의 적합도 평가를 수행 후, 룰렛휠 선택방법을 사용하여 개체군의 선택 및 재생성 과정을 수행하는 제 2 기능;
    상기 개체 경로에 대해 교배 연산과 돌연변이 연산 후 회전금지 부분을 고려하여 유턴(U-turn) 및 피턴(P-turn) 등의 순환경로를 허용하고, 그 외의 순환경로들을 제거하는 제 3 기능; 및
    세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 2 기능부터 반복 수행하여 최적의 경로를 탐색하는 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020020059196A 2002-09-28 2002-09-28 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법 KR100902737B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020059196A KR100902737B1 (ko) 2002-09-28 2002-09-28 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020059196A KR100902737B1 (ko) 2002-09-28 2002-09-28 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법

Publications (2)

Publication Number Publication Date
KR20040028102A KR20040028102A (ko) 2004-04-03
KR100902737B1 true KR100902737B1 (ko) 2009-06-15

Family

ID=37330335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020059196A KR100902737B1 (ko) 2002-09-28 2002-09-28 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법

Country Status (1)

Country Link
KR (1) KR100902737B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100500673B1 (ko) * 2002-09-28 2005-07-12 주식회사 케이티 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법
KR101026943B1 (ko) * 2004-11-04 2011-04-04 엘지전자 주식회사 피형 턴 속성의 도로를 가지는 교차로에서의 피형 턴 안내판단방법
KR102489079B1 (ko) * 2020-09-24 2023-01-16 인하대학교 산학협력단 교통취약지역을 위한 시내버스 노선의 설정 방법 및 시스템
KR102489888B1 (ko) * 2020-09-24 2023-01-18 인하대학교 산학협력단 시내버스 교통취약지역 노선 효율 개선을 위한 유전 알고리즘을 활용한 노선 최적화 방법 및 시스템
KR102470845B1 (ko) * 2020-11-27 2022-11-28 한국도로공사 통행요금 생성을 위한 최단경로 산출 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09178500A (ja) * 1995-12-26 1997-07-11 Pioneer Electron Corp カーナビゲーション装置
JPH1194579A (ja) * 1997-09-24 1999-04-09 Toyota Motor Corp 車両用最適経路算出装置、その方法及びそのためのプログラムを記録した媒体
JPH11118501A (ja) * 1997-10-17 1999-04-30 Yoshinori Haseyama 最適経路探索方法
JP2000172664A (ja) * 1998-10-02 2000-06-23 Yoshinori Haseyama 最適経路及び最適巡回経路探索方法
KR20020045916A (ko) * 2000-12-11 2002-06-20 이계철 회전 금지, 유-턴, 피-턴을 고려한 다익스트라 알고리즘또는 플로이드-워셜 알고리즘을 이용한 최단경로 산출방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09178500A (ja) * 1995-12-26 1997-07-11 Pioneer Electron Corp カーナビゲーション装置
JPH1194579A (ja) * 1997-09-24 1999-04-09 Toyota Motor Corp 車両用最適経路算出装置、その方法及びそのためのプログラムを記録した媒体
JPH11118501A (ja) * 1997-10-17 1999-04-30 Yoshinori Haseyama 最適経路探索方法
JP2000172664A (ja) * 1998-10-02 2000-06-23 Yoshinori Haseyama 最適経路及び最適巡回経路探索方法
KR20020045916A (ko) * 2000-12-11 2002-06-20 이계철 회전 금지, 유-턴, 피-턴을 고려한 다익스트라 알고리즘또는 플로이드-워셜 알고리즘을 이용한 최단경로 산출방법

Also Published As

Publication number Publication date
KR20040028102A (ko) 2004-04-03

Similar Documents

Publication Publication Date Title
US7537523B2 (en) Dynamic player groups for interest management in multi-character virtual environments
CN106656598B (zh) 电力通信网关键业务备选路由配置方法及系统
Zhu A diversity-controlling adaptive genetic algorithm for the vehicle routing problem with time windows
CN112686429B (zh) 移动机器人及其基于自适应遗传算法的路径规划方法
JP6724576B2 (ja) 多目標最適化方法及び装置
JPH11345257A (ja) ネットワークトポロジー設計装置及びネットワークトポロジー設計方法並びにネットワークトポロジー設計プログラムを記録した記録媒体
CN112181867A (zh) 基于多目标遗传算法的片上网络内存控制器布局方法
KR100902737B1 (ko) 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법
JP3792938B2 (ja) ナビゲーション装置
Karas et al. A genetic algorithm approach for finding the shortest driving time on mobile devices
González et al. A memetic algorithm for the capacitated vehicle routing problem with time windows
CN113472671A (zh) 组播路由的确定方法、装置和计算机可读存储介质
CN112330054B (zh) 基于决策树的动态旅行商问题求解方法、系统及存储介质
Pyrih et al. Research of genetic algorithms for increasing the efficiency of data routing
JP3751647B2 (ja) 状態遷移の概念を導入した問題解決演算装置および方法
CN107749819B (zh) 一种栅格网络条件下的路由选择方法及装置
Delavar et al. A GIS-assisted optimal urban route finding approach based on genetic algorithms
CN113141272B (zh) 基于迭代优化rbf神经网络的网络安全态势分析方法
KR100500673B1 (ko) 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법
Dang et al. Warm-starting nested rollout policy adaptation with optimal stopping
JP3697446B2 (ja) 状態遷移の概念を導入した問題解決演算装置および方法
CN104202766A (zh) 无线传感器网络探测节点选取方法及系统
Premkumar et al. Telecommunications network design—Comparison of alternative approaches
JPH11118501A (ja) 最適経路探索方法
JP3847317B2 (ja) 最適解探索装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130603

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140602

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160901

Year of fee payment: 8