KR100500673B1 - 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법 - Google Patents

진화 프로그램을 이용한 다수의 최적 경로 탐색 방법 Download PDF

Info

Publication number
KR100500673B1
KR100500673B1 KR10-2002-0059152A KR20020059152A KR100500673B1 KR 100500673 B1 KR100500673 B1 KR 100500673B1 KR 20020059152 A KR20020059152 A KR 20020059152A KR 100500673 B1 KR100500673 B1 KR 100500673B1
Authority
KR
South Korea
Prior art keywords
node
nodes
path
generation
chromosomal
Prior art date
Application number
KR10-2002-0059152A
Other languages
English (en)
Other versions
KR20040028060A (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 KR10-2002-0059152A priority Critical patent/KR100500673B1/ko
Publication of KR20040028060A publication Critical patent/KR20040028060A/ko
Application granted granted Critical
Publication of KR100500673B1 publication Critical patent/KR100500673B1/ko

Links

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/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/3676Overview of the route on the road map

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 실제 교통네트워크의 대부분의 제약상황을 고려할 수 있는 네트워크 재구성 방법을 이용하여 제약요인을 암묵적으로 네트워크에 표현하고, 재구성된 네트워크의 문제점인 계산시간과 계산량의 문제점을 개선하여 일정시간 내에 다수의 최적 경로들을 탐색할 수 있도록 하는 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법에 있어서, 교통네트워크에서 실제 노드(교차로)마다 가상 노드를 추가하여, 입력된 제약상황의 경로는 배제하면서 다른 경로들을 모두 고려할 수 있게 데이터를 재구성하는 제 1 단계; 출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 염색체 군을 생성하는 제 2 단계; 한 세대의 염색체 군에 대해, 룰렛 휠 방식을 적용하여 염색체 경로를 재배치하고, 재배치된 염색체 경로에 대해 교배 연산을 수행하여 돌연변이와 순환경로를 제거하는 제 3 단계; 및 세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 3 단계를 반복 수행하여 최적의 경로를 탐색하는 제 4 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 최적 경로 탐색 서비스 등에 이용됨.

Description

진화 프로그램을 이용한 다수의 최적 경로 탐색 방법{Many most suitable path search method to use evolution program}
본 발명은 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 교통제약 요인들을 고려할 수 있는 네트워크 재구성 방법의 취약점을 개선하고, 일정시간 내에 다수의 최적 경로들을 탐색할 수 있도록 하는 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
지능형교통시스템(ITS : Intelligent Transport System)은 도로, 차량, 신호시스템 등 기존의 교통체계 구성요소와 전자제어통신 등 첨단기술을 접목하여, 교통정보의 흐름을 원활히 하고, 구성 요소들이 상호 유기적으로 작동하게 함으로써 기존 교통시설을 효율적으로 이용하고 운전자의 편의성과 안정성을 극대화하는 차세대 교통정보시스템이다. 이러한 지능형 교통시스템의 여러 분야 중 한 부분이 첨단교통정보시스템(ATIS, Advanced Traveler Information System)이며 그 시스템의 가장 핵심이 되는 기술이 바로 최단경로 탐색이다. 교통네트워크에서 최단경로를 구하는 문제는 이미 1950년대 말부터 여러 가지 알고리즘들이 개발되었으며, 잘 알려진 알고리즘으로는 Dijkstra, Ford-Bellman, Yen, Shier, Floyd-Warshall 알고리즘 등이 있으나, 첨단교통정보시스템에 사용되기 위해서는 기존 최단 경로탐색 알고리즘으로는 현실적인 교통네트워크의 복잡한 각종 제약(회전금지, U-turn금지, U-turn, P-turn 등)과 동적 교통상황을 고려하여 다수최적경로들을 일정한 시간내에 도출해낸다는 것은 쉽지않다.
교통네트워크에서 제약상황을 고려하기 위한 연구는 크게 2가지 접근 방법에 의해 분류 될 수 있다. 첫 번째 방법으로는 네트워크를 재구성하여 교차로 제약이 암묵적으로 포함되어 있는 네트워크로 만들어 기존의 최단경로 알고리즘을 적용하는 방법이다. 이러한 네트워크의 재구성 방법은 제약이 암묵적으로 표현되어 있는 네트워크로 재구성 해주기 때문에 어떠한 알고리즘이라도 적용할 수 있다는 특징이 있다. 두 번째 접근 방법은 기존의 최단 경로 알고리즘을 수정하여 교차로 제약을 고려할 수 있도록 수정하는 방법이다. 하지만 기존의 알고리즘을 수정하는 방법은 근본적으로 실질적 교통네트워크의 최단경로를 제한된 시간 내에 구하는 것은 쉬운 일이 아니다.
교통네트워크의 제약상황들을 고려하고자 하는 기존의 연구는 다음과 같은 시도들이 있었다.
제1 선행기술에서는 기존의 Dijkstra 알고리즘에 교차로의 제약상황이 주어졌을때 이를 고려하기 위해 네트워크를 변형시킴으로써 해결하고자 하였다. 이 방법은 보다 정밀한 네트워크의 방향성을 나타낼 수 있는 장점이 있는 반면, 노드와 호의 수가 불필요하게 증가하게 되어 계산량의 급증을 야기시킬 수 있고, 고려할 수 있는 사항이 한계가 있다.
제2 선행기술에서는 회전금지를 표현하기 위해 각 노드의 전번 노드와 전전번 노드를 기억하고, 이를 알고리즘 자료로 사용하는 방법을 제시하였다. 이 방법은 회전금지가 연속해서 발생할 경우 기존의 알고리즘에 한계가 발생되며, 잘못된 정보를 가지게 될 수도 있다. 또한, 제약상황이 늘어남에 따라 필요한 기억용량과 계산량이 큰 장애 요소로 작용하게 된다.
제3 선행기술에서는 회전제약을 고려하기 위하여 회전제약이 일어나는 호를 무한대(∞)로 치환하여 구하였으며, 다른 제약상황은 가상노드를 만들어 고려하였다. 그러나, 회전금지 고려 시 회전금지가 하나 늘어날 때마다 2 n (n :회전금지 수)배로 계산량이 급증하게 된다.
제4 선행기술에서는 회전제약상황 데이터를 기억하여, 선택된 경로에 제약상황을 제외하는 방법을 사용하였으며, 다른 제약상황들은 가상의 호를 만들어 고려하였다. 그러나, 교차로에서의 피-턴(P-turn)만을 고려하였다고 가정하였기 때문에 사실적인 제약상황의 표현에 적당하지 못할 수 있다.
한편, 유전자 알고리즘 또는 진화 프로그램을 사용하여 최적경로를 찾고자 하는 기존 연구는 다음과 같은 시도들이 있었다.
제5 선행기술에서는 초기염색체 경로생성방법으로 기점 노드에서 시작하여 종점노드에 이를 때까지 현재 노드와 그 이웃 노드를 확률적 랜덤선택에 의해 경로를 생성하는 방법을 사용했다. 이 방법은 네트워크의 규모가 커지면, 개체생성 가능성이 적으며 비효율적이다.
제6 선행기술에서는 모든 노드에 우선 순위를 중복되지 않게 랜덤하게 설정하여 하나의 개체를 만드는 방법을 사용하였다. 경로생성(염색체생성)방법은 한 노드에서 이웃된 노드들 중 우선 순위가 가장 높은 것을 선택하는 과정을 반복하여 도착노드에 다다를 때까지 경로를 연결하게 된다. 개체생성에 있어서 네트워크의 규모가 커지면 불완전한 경로의 경우의 수가 커질 것이라 생각된다.
제7 선행기술에서는 경로를 찾아가기 위해 시작노드와 도착노드에서 동시에 랜덤하게 인접한 노드들을 연결하여 서로 만나게 함으로써 경로를 생성해 간다. 이 선행기술의 특징은 초기 개체 생성부터 유전자알고리즘을 사용하여 교배와 돌연변이를 적용하여 초기 개체 생성에서 보다 다양한 개체 집단을 생성하였다고 서술하고 있으나 개체생성을 위한 유전자알고리즘 적용과정이 불명확하다.
제8 선행기술에서는 유전자 알고리즘을 이용하여 최적경로로 수렴을 시키면서 공통노드, 호의 중복을 피함으로써 다양성을 갖는 최적경로를 제시한다고 서술하였으나 방법론이 불명확하다.
상기한 바와 같이, 최근 지능형교통시스템(ITS)의 개발로 효율적인 운영과 관리를 통한, 교통의 효율적인 운영과 막대한 자원의 손실을 줄이는 노력이 계속 되고 있다. 이러한 지능형교통시스템에서 가장 중요한 부분은 최적경로 탐색인데, 기존의 알고리즘들은 실제 복잡한 교통네트워크에 존재하는 다양한 제약 요인들을 모두 고려할 수 없으며, 제약요인을 고려한 알고리즘은 많은 데이터의 증가로 인한 계산시간 증가로 인해 정보를 필요로 하는 사용자들에게 다양한 최적경로를 빠른 시간 내에 제공할 수 없는 문제점이 있다.
본 발명은, 상기한 바와 같은 요구에 부응하기 위하여 제안된 것으로, 실제 교통네트워크의 대부분의 제약상황을 고려할 수 있는 네트워크 재구성 방법을 이용하여 제약요인을 암묵적으로 네트워크에 표현하고, 재구성된 네트워크의 문제점인 계산시간과 계산량의 문제점을 개선하여 일정시간 내에 다수의 최적 경로들을 탐색할 수 있도록 하는 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
상기 목적을 달성하기 위한 본 발명은, 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법에 있어서, 교통네트워크에서 실제 노드(교차로)마다 가상 노드를 추가하여, 입력된 제약상황의 경로는 배제하면서 다른 경로들을 모두 고려할 수 있게 데이터를 재구성하는 제 1 단계; 출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 염색체 군을 생성하는 제 2 단계; 한 세대의 염색체 군에 대해, 룰렛 휠 방식을 적용하여 염색체 경로를 재배치하고, 재배치된 염색체 경로에 대해 교배 연산을 수행하여 돌연변이와 순환경로를 제거하는 제 3 단계; 및 세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 3 단계를 반복 수행하여 최적의 경로를 탐색하는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.
또한, 본 발명은, 프로세서를 구비한 하드웨어 시스템에, 교통네트워크에서 실제 노드(교차로)마다 가상 노드를 추가하여, 입력된 제약상황의 경로는 배제하면서 다른 경로들을 모두 고려할 수 있게 데이터를 재구성하는 제 1 기능; 출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 염색체 군을 생성하는 제 2 기능; 한 세대의 염색체 군에 대해, 룰렛 휠 방식을 적용하여 염색체 경로를 재배치하고, 재배치된 염색체 경로에 대해 교배 연산을 수행하여 돌연변이와 순환경로를 제거하는 제 3 기능; 및 세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 3 기능을 반복 수행하여 최적의 경로를 탐색하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성 예시도이다.
도 1에 도시된 바와 같이, 본 발명이 적용되는 하드웨어 시스템은, 각 하드웨어 시스템의 구성요소를 제어하고 프로세스의 처리를 관리하는 중앙처리장치(11)와, 본 발명이 실장되며 각종 프로세스가 수행되고 데이터가 저장되는 주기억장치(12)와, 주기억장치(12)의 저장용량의 부족을 보충하는 보조기억장치(13) 및 사용자와의 입출력을 전담하는 입출력장치(14)가 버스를 통해 상호 연결되어 있다.
도 2 는 본 발명에 따른 네트워크의 가상노드 추가 상태를 나타낸 예시도이다.
도 2에 도시된 바와 같이, 네트워크 재구성은 기본적으로 각 노드마다 가상 노드를 추가시키는 것을 전제로 이루어지며, 실제 노드와 가상노드와의 연결은 존재하지 않는다. 이러한 가상 노드의 추가가 끝나면 데이터 변환 과정이 이루어지게 된다.
이 과정은 실질적으로 재구성된 네트워크가 제약상황을 고려할 수 있도록 노드와 노드사이의 호 값들을 무한대(∞)로 치환하는 단계이다. 즉, 입력된 제약상황의 경로는 배제하면서 다른 경로들을 모두 고려할 수 있게 데이터를 다시 재구성하는 것이다. 상기 도2의 가상노드를 추가시킨 네트워크에서 회전금지 구간이 B →E →D인 단일 회전금지일 경우, 실제노드 B와 가상노드 b로부터 회전금지의 중심노드 E로 진입하는 것을 막기 위해 로 치환한다. 이번에는 중심노드의 가상노드인 e에서 회전금지의 종착점인 실제노드 D와 가상노드 d로의 진입을 막기 위해 로 치환한다.
이렇게 치환함으로써, B →E →D의 회전금지만 제외된 나머지 모든 경로를 검색할 수 있게 된다. 2중 회전금지(B -> E -> D , H -> E -> F)의 경우도 비슷한 개념으로써, 우선 첫 번째 회전금지의 데이터 변환은 단일 회전금지의 경우와 동일하다. 그러나, 두 번째 회전금지는 반대로 회전금지의 출발점의 실제노드 H와 가상노드 h에서 가상노드 e로의 진입을 막는다. 또한, 중심점의 실제노드 E에서 회전금지의 종착점(노드 F, f)으로의 진입을 차단한다. 이렇게 조합을 바꿔 줌으로써 회전금지가 제외된 나머지 모든 경로를 고려할 수 있게 된다.
도 3 은 본 발명에 따른 유턴(U-turn) 금지를 고려하기 위한 데이터 변환(단일회전 금지)을 나타낸 예시도이고, 도 4 는 본 발명에 따른 유턴(U-turn) 금지를 고려하기 위한 데이터 변환(이중회전 금지)을 나타낸 예시도이다.
상기 도 3과 도 4를 이용하여 데이터 변환을 사용하면 어떠한 상황에서라도 유턴(U-turn) 금지를 고려할 수 있게 되며, 이러한 경우는 총 8가지로 분류된다.
도 5 는 본 발명에 따른 교통네트워크의 예시도이다.
도 5에 도시된 바와 같이, 교통네트워크에서 제안된 출발점 ①과 도착점 ⑪ 사이의 경로 생성 방법은 출발점(출발점의 가상노드)과 도착점(도착점의 가상노드) 두 곳에서부터 시작하여 각 노드의 인접 노드를 확률적 랜덤선택에 의해 노드를 계속적으로 연결해 나간다.
도 6 은 본 발명에 따른 단계별 염색체 생성 과정을 나타낸 일실시예 설명도이다.
도 6에 도시된 바와 같이, 도 6의 단계1에서는 출발점과 도착점을 결정하는 단계이다. 단계1의 두 노드 1과 23이 결정되고 나면, 노드 1과 23을 중간에서 연결해 줄 수 있는 노드가 있는지의 여부를 판단하게 된다. 즉, 단계2와 같이 이웃된 연결 노드 중 하나씩을 랜덤하게 선택한다.
여기서, 중요한 한가지는 출발점에서 경로를 생성해 나갈 때는 출발점에서 나아가는 방향으로 가는 새로운 노드를 생성하지만, 도착점에서 경로를 생성할 때는 도착점으로 들어오는 방향으로 오는 새로운 노드를 생성하게 된다. 이러한 두 조건을 모두 만족하는 새로운 경로들 중 같은 노드가 발견되면, 이를 선택하여 출발점에서 생성된 경로와 도착점에서 생성된 경로를 연결할 수 있게 되는 것이다. 다시말해서, 한 끝점의 연결 노드 정보와 다른 끝점의 연결 노드 정보를 비교하여 찾는 방법이다. 이 때문에 또 다른 경로를 생성할 확률을 줄이고, 빠르게 염색체 생성을 할 수 있을 것이다.
노드14는 1에서 갈 수 있는 노드들 [2, 5, 14, 17] 중 하나가 랜덤하게 선택된 것이며, 노드12는 23으로 갈 수 있는 노드들 [7 , 10 , 12 , 19 , 22 , 24] 중에서 선택된 것이다. 단계3에서도 마찬가지로 노드 14와 노드 12가 연결되어 있지 않다. 14에서 연결된 노드들 [1, 3, 6, 13, 15, 18]을 구한다. 여기서, 1은 이미 단계1에서 경로로 포함되었기 때문에 중복경로를 만들 수 없는 것에 의해 제외시켜야 한다. 또한, 도착점 생성경로의 끝점인 12로 연결될 수 있는 노드들 [8, 11, 20, 23] 중 23번 노드는 단계1에서 경로에 포함되었으므로 제외시킨다.
그리고 난 후, 이들 노드 정보들 중 같은 노드가 있다면, 두 경로는 이어지게 되는 것이고, 없다면 이들 중 하나씩을 랜덤하게 선택하여 경로를 생성해 나가는 것이다. 14에서의 연결 노드 정보는 [3, 6, 13, 15, 18]이며, 12에서의 연결 노드 정보는 [8, 11, 20]이다. 공통되는 노드가 없으므로 연결은 이루어지지 않으며, 새로운 경로를 하나씩 생성하게 된다. 14에서 연결될 노드는 3이, 12에서 연결될 노드는 8이 랜덤하게 선택되었다. 단계4에서는 3에서 연결할 수 있는 노드들[2 , 4 , 7 , 14 , 16 , 19]을 구한다. 여기서도, 단계2에서 선택된 노드 14는 제외시킨다. 8로 연결할 수 있는 노드 [4 . 7 , 12 , 16 , 19 , 24] 중 마찬가지로 12는 제외되며, 이들 중 같은 노드정보는 다음과 같이 [4 , 7 , 16, 19] 가 나타나게 되며, 이들 중 19가 랜덤하게 선택되어, 두 경로를 이어줌으로써 하나의 염색체 생성을 마치게 된다.
도 7 은 본 발명에 따른 교배와 순환경로의 제거 과정을 나타낸 일실시예 설명도이다.
도 7에 도시된 바와 같이, 두 노드 교배연산자는 두 염색체간 공통 노드가 2개 이상이 되면 가능하며, 그 이상일 때는 노드를 랜덤하게 선택하여 두 교배 노드를 선택하게 된다. 상기 도 7을 보면 두 부모 염색체(P1, P2)의 공통노드가 1, 14,20,7,23 이다. 랜덤하게 결정된 두 교배노드 (7과 23) 사이의 서브경로를 상호 교환함으로써 새로운 두 자식 개체(C1, C2)를 생성할 수 있게 된다. 교배 후에 교배되는 서브 경로의 노드와 교배되지 않는 서브경로와 겹치는 노드, 즉 순환경로가 발생될 수 있다.
도 8 은 본 발명에 따른 돌연변이와 순환경로의 제거 과정을 나타낸 일실시예 설명도이다.
돌연변이는 염색체의 각 비트마다 난수(R)를 발생시켜 돌연변이율 보다 작은 비트가 돌연변이 된다. 돌연변이되는 방법에는 크게 두 가지가 있다.
첫 번째 방법은 어느 임의의 노드가 돌연변이 될 비트라면 그 노드 앞과 뒤에 있는 노드들을 연결할 수 있는 노드들 중 한 노드를 랜덤하게 선택하여 돌연변이시키는 방법이다.
두 번째 방법은 돌연변이 될 노드를 다른 경로 노드들로 대치시킴으로써 새로운 경로 개체를 생성하도록 하는 방법이다. 이때, 돌연변이 될 특정노드의 앞 노드를 출발점으로 하고, 다음노드를 도착점으로 하여 경로 생성방법으로 새로운 개체를 생성하여 삽입하게 된다. 이러한 과정이 끝나면 순환경로가 생기는지 확인하여야 한다.
도 8에 도시된 바와 같이, 3번째 비트 노드 13의 전 노드 14와 다음노드 17을 연결할 수 있는 노드 6으로 돌연변이시킨 것이다. 돌연변이 후에 6과 6이 경로에 두번 들어감으로써 순환경로를 만들게 된다. 이때는 교배와 마찬가지로 역시 순환경로는 의미가 없으므로 이를 삭제해 버린다. 돌연변이될 비트를 경로로 삽입할 때도 마찬가지로 이러한 순환경로가 생기면 공통노드 사이의 경로는 삭제해버린다.
도 9 는 본 발명에 따른 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법에 대한 일실시예 흐름도로서, 네트워크 재구성 방법의 문제점 개선과 일정시간 내에 다수 최적경로들을 탐색할 수 있는 진화프로그램의 수행 절차를 나타낸 것이다.
도 9에 도시된 바와 같이, 교통네트워크의 노드와 노드사이의 각 호의 값(예, 소요시간)과 제약요인의 데이터 입력을 하게 된다(901). 입력 후, 단일 또는 이중 회전금지 분류 및 U턴 금지 검색을 한다(902). 네트워크 재구성은 기본적으로 각 노드마다 가상노드를 추가시키고, 실제노드와 가상노드와의 연결은 존재하지 않는다.
이어서, 가상노드 추가 후 회전 및 U턴 금지 데이터 변환과정을 거치게 된다(903). 이렇게 네트워크 재구성을 마친 후, 진화프로그램을 적용하게 되는데 출발점과 도착점 사이의 경로 생성방법은 출발점(또는 출발점의 가상노드)과 도착점(또는 도착점의 가상노드) 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤선택에 의해 노드를 계속적으로 연결하여 초기 염색체군을 생성하게 된다(904).
이렇게 생성된 염색체들의 적합도 평가를 후술되는 [수학식 1] 내지 [수학식 4]를 사용하여 수행하고(905), 룰렛휠 선택방법을 사용하여 선택, 재생성한다(906).
이어서, 상기 도 7에서 설명한 바와 같이 교배 연산을 수행하여(907) 돌연변이와 순환경로를 제거한다(908).
이어서, 다시 적합도 평가를 거쳐(909) 종료조건에 맞는지 확인하여(910) 종료조건에 맞으면 전체 진화프로그램 수행절차를 끝내게 되고, 맞지 않으면 선택, 재생성 과정에서부터 다시 반복 수행하여 최적의 경로를 탐색한다(911).
도 10 은 본 발명에 따른 회전금지, 유턴(U-turn) 금지, 유턴, 피턴(U-turn, P-turn)이 포함된 양방향 교통망에서의 적용 예시도로서, 서울시 강남구 양방향 교통망에서의 적용 예를 나타낸 것이다.
도 10에 도시된 바와 같이, 서울시 강남구 교통네트워크를 표시한 것인데, 각 교차로를 노드번호로 표시한다. 회전 금지, 유턴(U-turn), 피턴(P-turn), 유턴 금지 등은 임의적으로 결정하여 표시하였으며, U턴은 각 교차로에서만 발생한다고 가정한다. 교차로가 아닌 곳에서 U턴이 발생되도록 하려면 U턴이 발생하는 곳을 하나의 교차로로 인식하여 네트워크를 구성하도록 한다.
⊙ 회전금지가 발생하는 구간은 10개 지역 ([1,4,5], [3,6,7], [8,7,13], [12,11,5], [10,16,17], [13,19,18], [18,22,23], [20,16,15], [12,6,5], [23,18,25])
⊙ U-턴 금지가 발생하는 구간은 6개 지역 ([6,5,6], [6,12,6], [11,17,11], [6,15,16], [16,10,16], [16,17,16])
또한, 각 호의 비용 값(시간 또는 거리)은 입력 데이터를 노드가 25개 이므로 25X25행렬로 표현하여 사용하며, 이 데이터는 네트워크 재구성과정을 거쳐 가상노드를 포함한 50X50행렬로 변화된다. 진화프로그램 알고리즘의 매개변수는 여러 실험에 따라 구해진 적절한 값으로 아래와 같이 초기화시킨 후, 재구성된 네트워크 데이터를 가지고 진화 프로그램을 모의 실험한다.
⊙ 염색체 초기 개체군의 개체수 : 10
⊙ 교배율 ( P c ) : 0.3
⊙ 돌연변이율 ( P m ) : 0.2
진화프로그램을 이용하여 교통네트워크에서 다수 최적경로를 찾아내기 위해 초기화과정으로 다음의 [표 1]과 같이 초기 생성된 염색체군을 생성한다. 출발노드는 학동(노드1), 도착노드는 휘문중.고(노드25)로 가정한다. 실제노드는 노드1에서 노드 25까지이며, 노드1의 가상노드 26에서부터 노드 25의 가상노드 50까지 교통제약요소를 고려하는 네트워크 재구성을 위하여 추가된다.
표본 선택과 적합도 평가과정은 후술되는 [수학식 1] 내지 [수학식 4]를 사용하여 룰렛 휠 선택 방법을 적용한다. 각 염색체 G i (i = 1…Pop_size (염색체수))에 대한 평가함수값(경로의 총 소요시간 또는 거리) Z(Gi)를 계산한다.
Total_bit : i 번째 염색체의 총 비트 수
Node i : i 번째 비트의 노드
Dist ij : ij 사이의 소요시간 또는 거리
최소값을 갖는 Z(Gi)가 좋은 값이므로 최소화 문제이다. 이는 룰렛 휠 방법을 적용하기 위해 로 바꾸어 최대화 문제로 접근한다.
⊙ 개체 집단의 총 적합도를 계산한다.
⊙ 각 염색체에 대한 선택 확률 p i 와 누적확률 q i 를 계산한다.
상기 [표 1]을 보면 가장 큰 F i 를 가지는 5번째 염색체가 선택될 수 있는 확률이 다른 염색체 보다 크다. 후술되는 [표 2]에는 룰렛 휠 방식을 이용한 새로운 염색체 군이 나타나있다.
첫번째 난수 0.2184은 q 2 (0.0923)와 q 3 (0.338) 사이에 포함되므로 세번째 염색체가 선택되어 새로운 개체군의 첫번째 염색체로 재배치된다. 이와 같은 방법으로 개체 수 만큼 반복하여 새로운 개체군을 형성한다.
재구성된 개체 집단은 교배연산을 행하며, 각각의 염색체에 대하여 범위[0과 1]사이의 난수(R)을 발생하여 만일 R < 0.3 (교배율)이면, 그 염색체를 교배에 참여시킨다. 난수를 통해 교배 연산에 참가하는 염색체는 개체 6,7,8,10 이다(선택 개체의 수가 홀수일 경우에는 하나를 제거하고, 두개(짝수 개)의 개체로 교배 쌍을 임의로 선택한다). 첫 번째 쌍은 개체6과 개체7의 공통노드 29, 26, 35, 37, 38, 14중 노드 35와 38이 랜덤하게 선택되었으며, 첫 번째 쌍의 노드35와 노드38 사이의 경로를 서로 바꿈으로써 한쌍의 자손이 된다.
두 번째 쌍도 마찬가지 방법으로 교배가 이루어진다. 교배를 마친 개체군은 돌연변이 연산자에 적용이 되며, 돌연변이는 각 염색체 모든 비트마다 난수(R)를 발생시켜, R < 0.2 이면, 해당 비트를 돌연변이 연산시킨다. 돌연변이 될 비트들이 결정되면 그 비트 앞뒤의 노드와 연결시킬 수 있는 여러노드들 중 하나를 랜덤하게 선택하여 돌연변이 시키거나 돌연변이 비트의 앞과 뒤를 기점과 종점으로 하는 경로를 Ⅳ.1절에서 서술한 방법으로 생성하여 돌연변이시킨다. 첫 번째 염색체에서 돌연변이에 참가하는 비트 번호는 난수에 의해 [2,4,8]로 결정되었으며, 첫 번째 염색체는 하기와 같은 돌연변이 연산이 된다.
다른 염색체들도 첫 번째 염색체와 같은 방법으로 돌연변이를 하게 된다. 교배와 돌연변이를 마친 후, 개체군은 하기의 [표 3]에 나타나 있다. 지금까지가 진화 프로그램의 한 세대가 진행된 것이다. 한 세대가 끝난후의 개체 집단은 다시 상기의 [수학식 1] 내지 [수학식 4]에 의하여 평가되며, 재배치된다. 이는 총적합도( F )가 0.2505로 전세대의 총 적합도( F ) 0.2012 보다 좋은 값을 얻을 수 있다.
이제 선택과정을 다시 거치고, 유전 연산자를 적용하여 세대를 계속 진행해 나가면서 평가한다. 하기의 [표 4]에는 진화 프로그램 종료 후 마지막 개체군에 대한 평가 값 및 적합도 값이 나타나 있다.
마지막 개체군은 총 적합도( F )가 0.756으로 처음세대와 확연한 차이를 보인다. 새로운 개체집단의 총 경로 길이의 합은 196이고, 가장 좋은 값을 가지는 진화 프로그램의 염색체는 Dijkstra알고리즘에 의한 최적경로 [1 -> 2 -> 5 -> 11 -> 12 -> 18 -> 19 -> 25](최적 값:18)와 같은 값을 가진다.
상기 도 10에서 양방향 네트워크의 적합성을 검증하기 위해 노드25를 기점으로하고 1을 종점으로 하는 최적경로 [25 -> 14 -> 13 -> 12 -> 11 -> 10 -> 4 -> 1](최적값:20)는 노드1을 기점으로 하고 25를 종점으로 하는 최적경로 [1 -> 2 -> 5 -> 11 -> 12 -> 18 -> 19 -> 25](최적값:18)와 다르게 구해진다. 이는 양방향 네트워크에 적용할 수 있음을 알 수 있다.
도 11 은 본 발명에 따른 세대별 각 염색체가 가지는 평가함수 값의 합의 변화를 나타낸 예시도이다.
도 11에 도시된 바와 같이, 도 11에는 매 세대마다의 값을 표시한 것이다. 도 11을 보면 초기에는 세대의 변화에 따라 적합도 함수의 값이 민감하게 변화를 하는 것을 볼 수 있으며, 최적값에 가까이 도달한 뒤의 세대의 변화는 적합도 함수 값에 큰 변화를 주지 않고, 미세한 변화를 가지며, 개체집단을 형성하게 된다는 것을 알 수 있다.
또한, 서로 다른 다수개의 최적 경로를 얻을 수 있다. 이는 작은 네트워크를 통하여 본 발명에서 제시한 진화 프로그램에 대하여 검증하였기 때문에 혼잡도가 큰 양방향 대규모 네트워크의 경우에도 본 발명에서 제시한 최적 경로 알고리즘이 제 역할을 할 수 있음을 알 수 있다.
도 12 는 본 발명에 따른 노드 수의 증가에 따른 Dijkstra와 진화프로그램의 계산시간 변화를 나타낸 예시도이다.
도 12에 도시된 바와 같이, 본 발명에서는 네트워크에서 기존의 알고리즘인 Dijkstra의 최적 경로를 탐색하는데 걸리는 시간과 본 발명에서 제시하는 방법의 최적경로를 탐색하는데 걸리는 시간을 실제 노드수( N )를 변화시켜 가면서 비교 분석하여 진화 프로그램에 대한 적합성과 효율성을 검증한다.
네트워크에 관한 데이터는 직접 노드생성기 프로그램을 만들어서 사용하였다. 시간측정은 각 알고리즘마다 약20회 정도 시간을 측정하여 평균시간으로 평가한다.
도 12에서는 노드수( N )의 증가에 따른 각 알고리즘의 계산시간을 비교한 것이다. Dijkstra를 이용하여 최적경로를 구하는데 소요되는 계산수행시간은 노드수가 증가함에 따라 지수함수 형태로 증가하지만, 진화프로그램을 이용한 계산수행시간은 선형함수와 비슷한 형태로 증가함을 알 수 있다.
계산시간을 보면 노드가 100개 일때와 400개 일때는 Dijkstra가 최적경로를 찾는데 더 빠르다는 것을 알 수 있다. 그러나, 900개 일때부터 진화 프로그램이 Dijkstra보다 빠르게 최적 경로를 구하는 것을 볼 수 있다. 이는 교통네트워크의 노드수가 약 900개 이상이면 진화프로그램이 Dijkstra 알고리즘 보다 더 효율적이라는 것을 의미한다. 따라서, 교통네트워크의 노드수가 증가되고 복잡도가 증가할수록 본 발명에서 제시하는 방법의 효율성이 증대된다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 새로운 경로 생성 방법을 사용하여, 경로 생성 과정에 있어서 확률적으로 빠르게 생성할 수 있도록 조정할 수 있고, 경로의 표현을 경로 노드 자체를 사용함으로써, 알고리즘 내에서의 수행시간과 기억용량을 효율화시킬 수 있다.
또한, 본 발명은, 실제 교통네트워크처럼 양방향 데이터를 사용할 수 있어, 실시간으로 교통정보를 수집할 수 있다면 이는 실제 교통네트워크에 적용할 수 있고, 기존의 알고리즘을 사용하여 얻은 최적경로와 계산시간을 비교 확인함으로써 복잡성이 높은 실제 교통네트워크에 보다 효율적으로 적용할 수 있는 효과가 있다.
도 1 은 본 발명이 적용되는 하드웨어 시스템의 구성 예시도.
도 2 는 본 발명에 따른 네트워크의 가상노드 추가 상태를 나타낸 예시도.
도 3 은 본 발명에 따른 유턴(U-turn) 금지를 고려하기 위한 데이터 변환(단일회전 금지)을 나타낸 예시도.
도 4 는 본 발명에 따른 유턴(U-turn) 금지를 고려하기 위한 데이터 변환(이중회전 금지)을 나타낸 예시도.
도 5 는 본 발명에 따른 교통네트워크의 예시도.
도 6 은 본 발명에 따른 단계별 염색체 생성 과정을 나타낸 일실시예 설명도.
도 7 은 본 발명에 따른 교배와 순환경로의 제거 과정을 나타낸 일실시예 설명도.
도 8 은 본 발명에 따른 돌연변이와 순환경로의 제거 과정을 나타낸 일실시예 설명도.
도 9 는 본 발명에 따른 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법에 대한 일실시예 흐름도.
도 10 은 본 발명에 따른 회전금지, 유턴(U-turn) 금지, 유턴, 피턴(U-turn, P-turn)이 포함된 양방향 교통망에서의 적용 예시도.
도 11 은 본 발명에 따른 세대별 각 염색체가 가지는 평가함수 값의 합의 변화를 나타낸 예시도.
도 12 는 본 발명에 따른 노드 수의 증가에 따른 Dijkstra와 진화프로그램의 계산시간 변화를 나타낸 예시도.
* 도면의 주요 부분에 대한 부호의 설명
11 : 중앙처리장치(CPU) 12 : 주기억장치(MEMORY)
13 : 보조기억장치 14 : 입출력장치

Claims (5)

  1. 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법에 있어서,
    교통네트워크에서 실제 노드(교차로)마다 가상 노드를 추가하여, 입력된 제약상황의 경로는 배제하면서 다른 경로들을 모두 고려할 수 있게 데이터를 재구성하는 제 1 단계;
    출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 염색체 군을 생성하는 제 2 단계;
    한 세대의 염색체 군에 대해, 룰렛 휠 방식을 적용하여 염색체 경로를 재배치하고, 재배치된 염색체 경로에 대해 교배 연산을 수행하여 돌연변이와 순환경로를 제거하는 제 3 단계; 및
    세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 3 단계를 반복 수행하여 최적의 경로를 탐색하는 제 4 단계
    를 포함하는 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법.
  2. 제 1 항에 있어서,
    상기 제 2 단계는,
    출발점과 도착점을 결정한 후, 출발점과 도착점을 중간에서 연결해 줄 수 있는 노드가 있는지의 여부를 판단하여, 이웃된 연결 노드 중 하나씩을 랜덤하게 선택하며, 출발점에서 경로를 생성해 나갈때는 출발점에서 나아가는 방향으로 가는 새로운 노드를 생성하지고, 도착점에서 경로를 생성할 때는 도착점으로 들어오는 방향으로 오는 새로운 노드를 생성하는 것을 특징으로 하는 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 3 단계에서 교배 연산 과정은,
    두 노드 교배연산자는 두 염색체간 공통 노드가 2개 이상이 되면 가능하며, 그 이상일 때 노드를 랜덤하게 선택하여 두 교배 노드를 선택하는 것을 특징으로 하는 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법.
  4. 제 3 항에 있어서,
    상기 제 3 단계에서 돌연변이와 순환경로를 제거하는 과정은,
    돌연변이될 특정노드의 앞 노드를 출발점으로 하고, 다음 노드를 도착점으로 하여 경로 생성방법으로 새로운 개체를 생성하여 삽입한 후, 순환경로가 생기는지 확인하여 순환경로 생성시, 공통노드 사이의 경로를 삭제하는 것을 특징으로 하는 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법.
  5. 프로세서를 구비한 하드웨어 시스템에,
    교통네트워크에서 실제 노드(교차로)마다 가상 노드를 추가하여, 입력된 제약상황의 경로는 배제하면서 다른 경로들을 모두 고려할 수 있게 데이터를 재구성하는 제 1 기능;
    출발점 노드와 도착점 노드 두 곳에서부터 시작하여 각 노드의 인접노드를 확률적 랜덤 선택에 의해 노드를 계속적으로 연결해 염색체 군을 생성하는 제 2 기능;
    한 세대의 염색체 군에 대해, 룰렛 휠 방식을 적용하여 염색체 경로를 재배치하고, 재배치된 염색체 경로에 대해 교배 연산을 수행하여 돌연변이와 순환경로를 제거하는 제 3 기능; 및
    세대별로 진화해 나가면서 모든 세대의 염색체 군에 대해, 상기 제 3 기능을 반복 수행하여 최적의 경로를 탐색하는 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2002-0059152A 2002-09-28 2002-09-28 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법 KR100500673B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0059152A KR100500673B1 (ko) 2002-09-28 2002-09-28 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0059152A KR100500673B1 (ko) 2002-09-28 2002-09-28 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법

Publications (2)

Publication Number Publication Date
KR20040028060A KR20040028060A (ko) 2004-04-03
KR100500673B1 true KR100500673B1 (ko) 2005-07-12

Family

ID=37330293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0059152A KR100500673B1 (ko) 2002-09-28 2002-09-28 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법

Country Status (1)

Country Link
KR (1) KR100500673B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101196084B1 (ko) 2010-09-14 2012-11-01 인하대학교 산학협력단 유전자 알고리즘을 이용한 이동객체의 최적경로 생성 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101160508B1 (ko) * 2012-04-16 2012-06-28 삼성탈레스 주식회사 네트워크 중심전에서 전장 이동형 c4i 보안 통신 네트워크의 mpls 라우팅 경로 선택 장치 및 방법
CN113592148B (zh) * 2021-07-01 2024-03-15 合肥工业大学 改进车辆与无人机配送路线的优化方法及系统
CN114199255B (zh) * 2021-12-08 2024-05-03 南京航空航天大学 一种用于城区物流无人机终端配送航路网络的规划方法

Citations (3)

* 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 カーナビゲーション装置
KR20000038667A (ko) * 1998-12-08 2000-07-05 이계철 교통정보시스템에서 가상노드그룹 기반의 교차로표현 방법
KR20040028102A (ko) * 2002-09-28 2004-04-03 주식회사 케이티 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법

Patent Citations (3)

* 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 カーナビゲーション装置
KR20000038667A (ko) * 1998-12-08 2000-07-05 이계철 교통정보시스템에서 가상노드그룹 기반의 교차로표현 방법
KR20040028102A (ko) * 2002-09-28 2004-04-03 주식회사 케이티 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101196084B1 (ko) 2010-09-14 2012-11-01 인하대학교 산학협력단 유전자 알고리즘을 이용한 이동객체의 최적경로 생성 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
Kora et al. Crossover operators in genetic algorithms: A review
Chakroborty et al. Optimal route network design for transit systems using genetic algorithms
Zhu A diversity-controlling adaptive genetic algorithm for the vehicle routing problem with time windows
Schrimpf et al. Record breaking optimization results using the ruin and recreate principle
CN103324982B (zh) 一种基于遗传算法的路径规划方法
Singh et al. New crossover operators for real coded genetic algorithm (RCGA)
CN106656598B (zh) 电力通信网关键业务备选路由配置方法及系统
Drezner et al. Using hybrid metaheuristics for the one‐way and two‐way network design problem
Ljubic Exact and memetic algorithms for two network design problems
Vekaria et al. Selective crossover in genetic algorithms: An empirical study
KR100500673B1 (ko) 진화 프로그램을 이용한 다수의 최적 경로 탐색 방법
CN114244774B (zh) 一种基于群体智能的leo卫星网络拥塞规避组播路由方法
Ahmed et al. Hybrid genetic algorithms for the asymmetric distance-constrained vehicle routing problem
Karbowska-Chilinska et al. Genetic algorithm solving orienteering problem in large networks.
Ewing et al. Betweenness centrality in multi-agent path finding
Karas et al. A genetic algorithm approach for finding the shortest driving time on mobile devices
JP3792938B2 (ja) ナビゲーション装置
KR100902737B1 (ko) 동적 교통정보를 바탕으로 하는 다수의 최적 경로 탐색 방법
Keshavarz Vertex-coloring of fuzzy graphs: a new approach
Delavar et al. A GIS-assisted optimal urban route finding approach based on genetic algorithms
Tavares et al. GVR delivers it on time
CN115451974A (zh) 一种电力设备巡检路径规划方法、系统、设备和介质
Brown et al. Evolutionary graph compression and diffusion methods for city discovery in role playing games
Choi et al. More effective genetic search for the sorting network problem
Premkumar et al. Telecommunications network design—Comparison of alternative approaches

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: 20110701

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee