KR102571957B1 - 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치 - Google Patents

유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치 Download PDF

Info

Publication number
KR102571957B1
KR102571957B1 KR1020210099823A KR20210099823A KR102571957B1 KR 102571957 B1 KR102571957 B1 KR 102571957B1 KR 1020210099823 A KR1020210099823 A KR 1020210099823A KR 20210099823 A KR20210099823 A KR 20210099823A KR 102571957 B1 KR102571957 B1 KR 102571957B1
Authority
KR
South Korea
Prior art keywords
visit
enforcement
candidate solutions
expected
time
Prior art date
Application number
KR1020210099823A
Other languages
English (en)
Other versions
KR20230018082A (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 KR1020210099823A priority Critical patent/KR102571957B1/ko
Publication of KR20230018082A publication Critical patent/KR20230018082A/ko
Application granted granted Critical
Publication of KR102571957B1 publication Critical patent/KR102571957B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/017Detecting movement of traffic to be counted or controlled identifying vehicles
    • G08G1/0175Detecting movement of traffic to be counted or controlled identifying vehicles by photographing vehicles, e.g. when violating traffic rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치가 제공된다. 일 실시예에 따르면, 그 방법은 각각 대상 단속 지역들 중의 방문 후보들의 방문 시퀀스를 나타내는 정수 벡터에 해당하는 후보 해들을 초기화하고, 후보 해들의 각 방문 시퀀스에 따른 예상 단속 수 및 이동 시간에 기초하여 후보 해들의 적합도를 평가하고, 적합도에 기초하여 유전 연산을 반복적으로 수행하여 최종 해를 결정하고, 최종 해에 대응하는 방문 시퀀스에 기초하여 주차 단속 스케줄을 결정하는 단계들을 포함할 수 있다.

Description

유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치{METHOD AND APPARATUS FOR PARKING ENFORCEMENT SCHEDULING BASED ON GENETIC ALGORITHM}
아래 실시예들은 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치에 관한 것이다.
주차공간의 확보가 차량보급의 증가를 따라가지 못한다면 필연적으로 불법주차가 늘어나게 된다. 더욱이 지하철 등 예측가능성이 높은 교통수단이 서비스되지 않는 중소도시에서는 승용차가 주요 이동수단이 되는데 사람들이 이동이 빈번한 시간 동안 특히 도심의 인구집중지역에서는 주차공간의 부족때문에 주차난이 발생하게 된다. 이를 극복하기 위해서는 우선적으로 관제시스템의 운영과 주차요금제의 운영 등을 통한 효율적인 관리에 의해 지능적인 공간사용을 추구할 수 있다. 그러나 이런 운영만으로는 다양한 원인에 의해 발생하는 주차위반을 대폭 줄이기는 미흡하기 때문에 대부분의 도시에서는 교통의 편의를 증진시키고 대중교통 활용을 유도하기 위해 이러한 주차위반을 단속하고 있다.
불법주차 단속은 고정식 CCTV, 공용버스에 탑재된 카메라, 주민 신고, 이동 단속차량을 통해 이루어진다. CCTV는 고정된 위치에 설치되어 제한된 영역의 주차위반을 단속할 수 있는 반면 이동차량은 다양한 지역을 특정 정책에 따라 옮겨가며 단속을 실시할 수 있다. 그러나 이동 단속차량의 운행은 한정된 자원의 활용에 해당하므로 효율적인 운행계획의 수립이 필요하다. 일반적으로 각 단속차량마다 할당된 지역이 있어서 이 지역을 순회하면서 불법주차 차량을 발견하고 단속하게 되는데, 어떤 순서로 순회해야 하는지 특정 지역에서 얼마만큼 단속을 수행해야 하는지 등을 결정하는 것이 중요하다.
일 실시예에 따르면, 유전자 알고리즘 기반의 주차 단속 스케줄링 방법은 각각 대상 단속 지역들 중의 방문 후보들의 방문 시퀀스를 나타내는 정수 벡터에 해당하는 후보 해들을 초기화하는 단계; 상기 후보 해들의 각 방문 시퀀스에 따른 예상 단속 수 및 이동 시간에 기초하여 상기 후보 해들의 적합도를 평가하는 단계; 상기 적합도에 기초하여 유전 연산을 반복적으로 수행하여 최종 해를 결정하는 단계; 및 상기 최종 해에 대응하는 방문 시퀀스에 기초하여 주차 단속 스케줄을 결정하는 단계를 포함한다.
상기 적합도를 평가하는 단계는 과거 주차 단속 기록을 저장하는 단속 기록 데이터베이스에 기초하여 각 방문 시퀀스의 방문 후보들 및 방문 시간들에 따른 예상 단속 수를 결정하는 단계; 및 상기 대상 단속 지역들의 위치 정보에 기초하여 각 방문 시퀀스의 방문 후보들 간의 이동 시간을 결정하는 단계를 포함할 수 있다.
상기 적합도를 평가하는 단계는 상기 예상 단속 수가 많을수록 상기 적합도가 높아지고, 상기 이동 시간이 길수록 상기 적합도가 낮아지도록, 상기 적합도를 평가하는 단계를 포함할 수 있다. 상기 적합도를 평가하는 단계는 상기 예상 단속 수에서 상기 이동 시간과 단위 단속 시간 간의 비에 따른 손실 요인을 차감하여 상기 적합도를 평가하는 단계를 포함할 수 있다.
상기 최종 해를 결정하는 단계는 상기 적합도에 기초하여 상기 후보 해들로부터 부모 해들을 선택하는 단계; 및 상기 부모 해들에 기초하여 재생산 및 변이 중 적어도 일부를 수행하여 다음 세대의 후보 해들을 결정하는 단계를 포함할 수 있다. 상기 다음 세대의 후보 해들을 결정하는 단계는 상기 다음 세대의 후보 해들에 중복이 발생하지 않도록 중복된 후보 해를 다른 후보 해로 대체하는 단계를 포함할 수 있다. 상기 최종 해는 미리 정해진 반복 횟수만큼의 진화를 통해 결정될 수 있다.
일 실시예에 따르면, 유전자 알고리즘 기반의 주차 단속 스케줄링 장치는 프로세서; 및 상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리를 포함하고, 상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는 각각 대상 단속 지역들 중의 방문 후보들의 방문 시퀀스를 나타내는 정수 벡터에 해당하는 후보 해들을 초기화하고, 상기 후보 해들의 각 방문 시퀀스에 따른 예상 단속 수 및 이동 시간에 기초하여 상기 후보 해들의 적합도를 평가하고, 상기 적합도에 기초하여 유전 연산을 반복적으로 수행하여 최종 해를 결정하고, 상기 최종 해에 대응하는 방문 시퀀스에 기초하여 주차 단속 스케줄을 결정한다.
도 1은 일 실시예에 따른 주차 단속 스케줄링 장치의 동작을 개략적으로 나타낸다.
도 2는 일 실시예에 따른 시간에 따른 차량 단속 수를 나타낸다.
도 3은 일 실시예에 따른 지리적 단속 빈도를 나타낸다.
도 4는 일 실시예에 따른 단속 지역 정보 및 방문 시퀀스를 나타낸다.
도 5는 일 실시예에 따른 유전자 알고리즘의 연산들을 나타낸다.
도 6 및 도 7은 일 실시예에 따른 진화 과정의 예시들을 나타낸다.
도 8은 다양한 스킴들 간의 비교 결과를 나타낸다.
도 9는 일 실시예에 따른 이동 거리의 영향을 나타낸다.
도 10은 일 실시예에 따른 주차 단속 스케줄링 방법을 나타내는 플로우 차트이다.
도 11은 일 실시예에 따른 주차 단속 스케줄링 장치의 구성을 나타내는 블록도이다.
도 12는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 구현될 수 있다. 따라서, 실제 구현되는 형태는 개시된 특정 실시예로만 한정되는 것이 아니며, 본 명세서의 범위는 실시예들로 설명한 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면들을 참조하여 상세하게 설명한다. 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 주차 단속 스케줄링 장치의 동작을 개략적으로 나타낸다.
도 1을 참조하면, 주차 단속 스케줄링 장치(100)는 주차 단속 기록 및 단속 지역 정보에 기초하여 주차 단속 스케줄을 생성할 수 있다. 주차 단속 차량은 주차 단속 스케줄에 따라 주차 단속을 수행할 수 있다.
단속 지역들에 관한 주차 단속 기록이 수집되어 주차 단속 스케줄링 장치(100)에 제공될 수 있다. 효율적인 순회 스케줄을 계산하기 위해서는 기존의 데이터를 적극적으로 활용하여야 하며 최근 스마트 시티에서는 센서나 다양한 방법으로 수집되어 축적된 데이터들을 기반으로 시스템 운영에 관련된 적절한 제어를 결정하고 있다. 주차 단속의 경우는 도시마다 수년간의 데이터가 저장되어 있으며 이 데이터에 의해 어떤 시간대에 어떤 장소에서 불법주차가 일어날 가능성이 많은 지 추정할 수 있다. 신규 CCTV의 설치, 주차공간의 증설 등 다양한 환경변화를 겪게 되며 변화 이전의 데이터가 현재의 상황과 다소 유리된 경우, 인공지능 등 다양한 예측 기법의 적용을 통해 그 정확성을 향상시킬 수 있다.
예측된 빈도가 주어진다면 특정 순회 스케줄의 단속 효율을 추정할 수 있고 이 효율이 가장 좋은 스케줄을 선택할 수 있다. 그러나 대상 장소가 N개, 단속 시간 구간의 수가 M 슬롯이라고 한다면 이에 해당하는 경우의 수는 NM에 달하며 컴퓨터 알고리즘에서도 상당히 시간 복잡도가 큰 문제에 속한다. 유사한 문제로는 동적 배낭 문제(random knapsack problem)와 동적 외판원 순회 문제(TSP; traveling salesman problem) 등이 있다. 기본적으로 배낭문제는 시간마다 변하는 이득이 주어져 있고 선택할 수 있는 대상의 수나 양에 제한이 있을 때 이 제한을 벗어나지 않는 범위 내에서 가장 많은 이익을 취하는 답을 찾는 문제이다. 또 동적 TSP는 어떤 장소에 있을 때의 이득보다는 모든 대상을 정확히 한 번씩 방문하면서 가장 짧은 거리 혹은 비용을 갖는 스케줄을 찾는 문제이다.
반면, 주차 단속 차량의 스케줄 문제는 특정지역에 도착했을 때의 이득(예상 단속 수), 이동에 필요한 시간 등을 모두 고려해야 하는 문제이며, 한 장소를 방문하지 않거나 여러 번 방문하는 경우도 적합한 해로 인정될 수 있다. 이런 NP(Non-polynomial) 문제들은 N이나 M이 커짐에 따라 수행시간이 폭발적으로 증가하는 특징을 갖는다. 따라서 모든 경우를 고려하여 최적의 방식을 찾아내는 exhaustive search는 방문 대상 지역이 10개 이내일 때는 적절한 시간내 스케줄을 찾을 수 있지만 대상 지역의 수가 조금만 늘어나도 수행 시간이 N배씩 지수적으로 증가할 수 있다. 따라서 최적의 해를 구하기보다는 허용할 수 있는 시간에 적절한 수준의 해를 구하는 suboptimal 방식이 적합할 수 있다.
유전자 알고리즘(genetic algorithm)은 이런 최적화 문제에 이용될 수 있다. 유전자 알고리즘은 가능한 해의 집합들을 정수 벡터로 인코딩한 다음 선택(selection), 재생산(reproduction), 변이(mutation), 적합도 평가 및 정렬(fitness evaluation) 등의 진화 과정을 통해 적자 생존 방식으로 좋은 해일 수록 끝까지 생존하여 최종 답으로 선택될 가능성을 높일 수 있다. 여기서 어떤 해, 즉 방문 시퀀스가 좋은지를 결정하는 데는 단속의 효율성, 공평성, 이동 거리의 길이 등 다양한 판단 기준이 있을 수 있고 이를 계량화하여 적합도 함수 (fitness function)로 나타내야 한다. 이와 아울러 유전자 연산들은 주어진 문제들의 요구사항에 부합하도록 수정되어야 한다. 실시예들은 주차 단속 차량의 단속 스케줄을 결정하는데 있어서 기존 단속 이력 데이터를 활용하고 유전자 알고리즘을 적용하여 예상 단속 수를 최대화할 수 있다.
일반적으로 도청, 시청과 같은 지방자치단체의 교통관련 부서들은 CCTV 이외에도 이동식 주차단속을 주기적 혹은 비주기적으로 실시하고 있으며 적발된 차량들에게는 벌금을 부과하고 있다. CCTV로부터는 실시간으로 주차장 상황정보나 단속 기록이 축적될 수 있고, 이동단속 기록은 배치모드로 일괄적으로 저장될 수 있다. 각 적발 기록들은 단속 위치 주소 및 시간과 차량과 소유주에 관련된 정보들을 포함할 수 있다. 이 정보에 의해 불법주차 빈발 지역을 파악할 수 있으며, 각 시간대별 빈도도 추정할 수 있다. 특정된 위반 고 빈발 지역에 대해서는 CCTV를 설치하거나 단속 차량 순회의 빈도를 높일 수 있다.
도 2는 일 실시예에 따른 시간에 따른 차량 단속 수를 나타낸다. 그래프(210)를 참조하면, 시간대별 빈도가 상당히 차이가 나는 것을 알 수 있다. 위반 빈도가 극히 높은 시간대에는 불법주차로 인한 생활불편이나 교통 흐름 방해가 크게 증가하므로, 이에 대한 단속이나 사전 예방이 이루어져야 한다. 또 차종별로 시간에 따른 주차위반 발생 패턴이 조금씩 달라지는 것을 알 수 있으며 추가적인 분석결과 계절, 요일별로 시간대별 위반의 패턴이 다른 것을 알 수 있다. 이런 영향 요소들의 시간대별 차이를 종합적으로 고려한 단속차량의 운행이 필요하다.
도 3은 일 실시예에 따른 지리적 단속 빈도를 나타낸다. 그래프(310)는 주어진 불법주차 정보를 이용하여 빈발 위치를 도로별로 추출하고 그 빈도를 1-10까지의 레벨로 분류하여 도시한 결과이다. 각 위반정보는 도로명 주소(로, 길)를 포함하고 있어서 같은 도로에 속하면 동일한 영역으로 그루핑할 수 있다. 도로명 주소상 대부분은 작은 영역으로 볼 수 있지만, 일부 도로는 지역적으로 넓게 퍼져 있기도 하다. 그러나 그 도로 상에서 주차위반이 자주 발생하는 지역은 작은 범위로 특정할 수 있어서 이 지점을 대표 위치로 산정할 수 있다. 빈발 지역의 경위도 좌표는 화면 좌표계로 변환되었고, 빈도 레벨은 원의 크기를 통해 표현되었다. 그래프(310)에서 보는 바와 같이 불법주차는 지역적으로 편중될 수 있으므로, 전반적인 통계를 기반으로 지역들을 클러스터로 나누어 각 이동차량에게 할당할 수 있고. 한 클러스터를 여러 단속차량이 담당하도록 할 수도 있다.
빈발 지역이 파악되고 단속차량이 배정된다면 주차단속은 특정시간대에 한 빈발 지역을 순찰함으로써 수행될 수 있다. 한 지역에서 다른 지역으로 이동할 때는 시간의 공백이 생기게 되며 이 공백은 차량의 이동시간을 통해 산정할 수 있다. 이동 중에는 주차단속을 실시하지 않는다고 가정할 수 있다. 예를 들어, A 지역에서 B 지역으로 이동하는 이동 시간은 A 지역의 대표 위치와 B 지역의 대표 위치 간의 거리를 통해 추정될 수 있다. 두 지점이 주어진다면 이들 간의 유클리디언 거리로 이동 시간을 추정하거나, 많은 지도 서비스에서 제공하는 이동 시간을 이용할 수도 있다.
표 1은 각 지역의 시간대별 발생빈도의 일부를 나타낸다. 각 순찰차마다 특정 지역들의 집합을 담당한다면 이 지역들을 어떤 순서에 따라 이동하게 된다.
9 10 11 12 13
Area 1 578 699 219 0 770
Area 2 381 183 63 0 330
Area 3 966 595 43 1 546
Area 4 274 326 44 0 331
Area 5 111 146 184 144 161
Area 6 197 114 0 0 237
Area 7 239 212 28 0 159
Area 8 233 333 22 15 253
Area 9 157 298 34 1 73
Area 10 205 313 4 0 354
단속차량의 순회 스케줄을 결정하기 위해 활용할 데이터들은 각 빈발지역별 시간대별 단속 빈도와 지역간 이동시간을 포함할 수 있다. 직관적으로 가장 많은 주차위반이 발생하는 지역에서 계속 머물러도 차량들을 충분히 적발할 수 있다. 또 이동거리가 멀지 않다면 각 시간대별로 가장 많은 주차위반이 발생하는 지역별로 순회하여도 단속의 효율을 높일 수 있다. 이 경우 특정장소에서 수 시간 동안 빈도가 가장 높다면 계속 그 지역에 머무르는 경우도 발생할 수 있다.도 4는 일 실시예에 따른 단속 지역 정보 및 방문 시퀀스를 나타낸다. 도 4를 참조하면, 단속 지역 정보(410)는 대상 단속 지역들(X1, X2, ..., Xk)의 위치 정보를 포함할 수 있다. 이러한 위치 정보에 기초하여 단속 지역들(X1, X2, ..., Xk) 간의 거리, 이동 경로, 이동 시간 등이 결정될 수 있다. 방문 시퀀스(420)는 대상 단속 지역들(X1, X2, ..., Xk) 중의 방문 후보들의 방문 순서를 나타낼 수 있다. 서로 다른 방문 시퀀스는 서로 다른 방문 후보들 및/또는 방문 순서를 특정할 수 있다. 예를 들어, 어느 방문 시퀀스는 X1, X2, X3를 순서대로 방문하는 방문 순서를 특정할 수 있고, 다른 방문 시퀀스는 X2, X6, X3를 순서대로 방문하는 방문 순서를 특정할 수 있고, 또 다른 방문 시퀀스는 X3, X2, X1을 순서대로 방문하는 방문 순서를 특정할 수 있다.
도 5는 일 실시예에 따른 유전자 알고리즘의 연산들을 나타낸다. 유전자 알고리즘(500)은 도 5에 도시된 것처럼 인구(population) 초기화(510) 이후, 선택(520), 재생산(530), 변이(540), 평가 및 정렬(550) 등의 유전자 연산들을 정해진 횟수만큼 혹은 원하는 적합도가 산출될 때까지 반복하여 결과 생성(560)을 할 수 있다. 인구는 가능한 해의 집합이며 각 해들은 정수 벡터로 표시될 수 있다. 해는 유전자 알고리즘의 유전자에 해당할 수 있다. 결과적인 해는 최종 해로 부를 수 있고, 최종 해를 도출하는 과정의 해는 후보 해로 부를 수 있다. 각 해는 방문 시퀀스에 해당한다. 만약 대상 단속 지역이 30개이고 잠정적으로 10개의 시간 슬롯의 시작마다 어느 장소로 갈지 결정한다면, 방문 시퀀스는 10개의 정수 값을 가지며 각 정수 값은 0 내지 29일 수 있다. 정수 값들은 각 대상 단속 지역에 부여된 식별 번호이다. 유전자 알고리즘(500)에서는 각 반복 단계마다 적합도가 진화 향상될 수 있다.
방문 시퀀스의 특성상 한 정수 벡터에 동일한 정수가 여러 차례 나올 수도 있으며 어느 정수는 한 번도 나타나지 않을 수 있다. TSP의 경우에는 모든 범위 내 정수가 한 번씩 정수 벡터에 나타나야 한다는 제약이 있지만 단속 스케줄 문제에는 이런 제약이 존재하지 않을 수 있다. 정수 벡터로 나타낸 방문 시퀀스는 시간 축을 고정 크기의 시간 슬롯으로 나누어 각 시간 슬롯이 시작할 때 단속 차량이 어디로 이동할지 혹은 그대로 머무를지를 결정한다고 가정할 수 있다. 어떤 정수 값이 연속으로 나타난다면 이는 연속된 시간 구간 동안 다른 지역으로 이동하지 않고 같은 지역에 머무르는 것을 의미할 수 있다.
유전자 연산에 의해 해들을 진화시키려면 먼저 적합도 함수를 정의해야 한다. 적합도는 예상 단속 효율에 해당할 수 있다. 이를 계산하는데는 대상 지역에 관련된 데이터를 전처리하여야 한다. 단속 기록들에서 불법 주차가 가장 빈번히 발생하는 지역을 선정하여 이들의 시간대별 빈도를 구하여 이차원 배열 G[i][j]에 저장할 수 있다. 인덱스 i는 지역을 나타낼 수 있다. 예를 들어, i는 0 내지 29의 값을 가질 수 있다. 인덱스 j는 시간대를 나타낼 수 있다. 예를 들어, j는 9시부터 19시까지 11시간을 나타낼 수 있다. 이때, 총시간대의 개수를 M으로 둘 수 있고, 11시간에 대한 시간 슬롯의 크기 Ts가 1시간이라면 M은 11, Ts가 30분이라면 M은 22가 될 수 있다. 이에 따라, G[i][j]는 j 시간에 i 지역을 단속했을 때의 예상 단속 수 혹은 효율을 나타낼 수 있다.
또한, 매 슬롯의 시작마다 한 지역에서 다른 지역으로 이동하게 된다면 이 시간만큼은 단속 효율이 저하될 수 있다. 만약 a 지역에서 b 지역으로 이동하는데 10분의 시간이 걸린다면 b 지역에서 얻을 수 있는 이득의 10/60이 감소할 수 있다. 이를 정량화하기 위해 30개 대상 단속 지역들 간의 거리에 따른 이동 시간을 D[][]에 저장할 수 있다. 두 지역들 간의 유클리드 거리가 같아도 이동 시간은 다를 수 있기 때문에 D[a][b]와 D[b][a]는 다를 수 있다. 또, 동일한 지역 간의 이동 시간은 0이 되어 이동에 따르는 손실은 없을 수 있다. 단속 차량이 하루의 업무를 시작하는 장소와 종료하는 장소에는 제약이 없다고 가정할 수 있다.
d를 방문 후보 지역의 수라 할 때 방문 시퀀스는 벡터 V:{vi|0<=i<(d-1)}로 나타낼 수 있고, 적합도 함수는 G 및 D를 기반으로 수학식 1과 같이 계산될 수 있다.
예를 들어, Ts=1(1시간) 혹은 Ts=0.5(30분) 등일 수 있다. 단속 이력 데이터 분석으로 산출한 G[][]가 1시간 단위의 빈도이므로 Ts가 1시간이 아니라면 이에 맞추어 빈도를 재조정할 수 있다. 만약 D[vi-1][vi] 값이 Ts보다 크게 된다면 이는 한 슬롯시간 동안 이동만 하고 단속은 할 수 없다는 의미를 가질 수 있다. 이 경우 수학식 1에서 해당 슬롯의 이득이 음수가 되는데, 이처럼 음수가 된다면 이득은 0으로 처리될 수 있다.
이와 같이 방문 시퀀스를 나타내는 정수 벡터로 인구 초기화(510)를 수행할 수 있고, 적합도 함수를 통해 유전자 연산(520 내지 550)을 구현할 수 있다. 적합도가 높은 해들이 높은 확률을 갖도록 선택(520) 및 재생산(530)이 수행될 수 있다. 예를 들어, 선택(520) 연산은 룰렛 휠(roulette wheel) 방식으로 구현될 수 있다. 적합도 값의 범위와 편차에 따라 선택(520)이 적절하게 이루어지지 않을 수 있기 때문에 10단계의 레벨을 두고 이 레벨에 따라 적합도를 보정할 수 있다. 각 진화 단계마다 인구의 각 해를 적합도에 따라 정렬하는 과정을 수행하며 각 해마다 보정 적합도를 구하고, 이들의 누적합을 추가적인 배열에 저장할 수 있다. 이후 0에서 제일 마지막 해의 누적 합 값까지의 범위에서 난수를 발생시키고, 이 난수에 해당하는 구간을 그 배열에서 찾아 재생산에 사용할 해를 선택할 수 있다. 파이썬은 bisect 라이브러리에 의해 난수 값에 따라 이에 해당하는 해의 인덱스를 이진탐색 방식을 통해 고속을 찾을 수 있도록 지원한다.
선택(520) 연산을 통해 2개의 해, P1, P2가 결정되면 이들을 부모로 하여 2개의 자식 해, C1, C2를 재생산하는데, 이는 [0, M)의 구간에서 두 개의 정수, r1, r2를 선택하고 수학식 2 및 수학식 3과 같이 서브스트링을 교환할 수 있다.
또, 진화 과정에서 부모로부터 형질을 물려받지 않은 변이(540)를 일정 주기마다 수행하며, 변이(540)는 한 해에서 임의의 두 정수를 교환할 수 있다. 그 밖에, 재생산(530)과 변이(540) 연산에는 알려진 유전자 연산이 적용될 수 있다. 경우에 따라 유전자의 유효성에 제약이 있을 때는 재생산된 C1과 C2가 유효성을 위반하는지 체크하여야 하며, 이동 스케줄에 있어서는 중복과 생략 등을 모두 허용하므로 추가적으로 고려할 제약 조건은 존재하지 않을 수 있다.
선택(520), 재생산(530), 변이(540) 등의 유전자 연산이 구현되면 이를 이용하여 진화 과정을 반복할 수 있다. 먼저 후보 해들을 초기화하여 추기 인구를 구출할 수 있다. 초기 인구 구축에 임의의 난수 선택을 이용할 수 있다. 인구는 가능한 후보 해들의 집합으로, 인구가 많은 후보 해들을 포함한다면 선택의 다양성이 증가할 수 있으나 연산 시간도 길어질 수 있다. 인구의 크기가 Np라면 각 진화 단계마다 Np/2개의 해는 생존하고 Np/2개의 해는 도태되어 새로운 자식들로 변경될 수 있다. 각 단계에서 적합도에 따라 각 해들이 정렬(550)될 수 있는데, 여기에 유전자 알고리즘(500) 수행 과정에서 가장 많은 시간이 소요될 수 있다. 이 정렬(550) 부분의 시간 복잡도는 O(NplogNp)이며 인구의 크기에 따라 결정될 수 있다.
인구 초기화(510)나 재생산(530) 등에서 새로운 해를 만들어내는 과정에서 이미 인구에 존재하는 해가 중복하여 생성될 수 있다. 11개의 정수로 구성된 경우라도 좋은 형질들이 지속적으로 유전될 가능성이 높아 실제 서치 스페이스는 상당히 축소될 수 있어서 중복 발생의 가능성이 커질 수 있다. 유전자 알고리즘(500)을 적용하는데 있어서 이런 중복된 해를 허용하게 되면 일부 해들이 편중적으로 재생산에 선택될 가능성이 높아지고 경우에 따라 어느 정도 진화가 진행된 후에는 소수의 일부 해들이 인구를 독점하는 상황이 발생할 수 있다. 중복은 의미 없는 정보가 되며 다양성에 의해 새로운 해가 생성될 가능성을 축소할 수 있다.
더욱이, 실시예들이 대상으로 하고 있는 방문 시퀀스에 있어서는 단속 가능성이 높은 소수의 지역에 대부분 머물고 일부 시간대만 다른 지역으로 이동하는 경우가 높은 적합도를 가질 수 있다. 따라서 다른 조정이 없다면 중복된 해들이 인구를 점유하는 경우가 많아질 수 있다. 중복을 배제하기 위해서 각 진화 단계의 시작 부분에서 집합 자료 구조를 생성하고 재생산(530), 변이(540), 임의 생성 과정에서 이미 집합에 있는 해가 생성되면 이를 배제하고 다른 해를 생성할 수 있다. 집합을 이용한 중복제거 과정으로 인해 시간 복잡도는 평균 Np 회 이내에 신규 후보 해를 찾는다는 가정하에 O(NplogNp)이 추가될 수 있다. 이 과정에서 도태되었던 해가 다시 생성되어도 이미 집합에서 제거된 상태이기 때문에 유효한 해로 인정할 수 있다.
진화 과정을 종료하는데 있어서 최적의 해가 어느 정도의 적합도를 갖는지 미리 알 수 없기 때문에 일정 횟수 진화 과정을 반복하고 그 단계까지 얻은 해중 가장 적합도가 높은 해를 최종 해로 결정할 수 있다. N개의 방문 후보에 대해 M 시간 슬롯 동안의 방문 스케줄에 있어서 최적의 해를 구하는데 O(NM)의 시간이 걸릴 수 있다. 예를 들어, N은 30, M은 11 혹은 22의 값을 가질 수 있다. 이 경우 일반적인 컴퓨터 사양으로는 엄청난 시간을 요구하지만, 제안된 방식은 진화 과정에서 특정 해로 빠르게 수렴해가는 과정을 보여줄 수 있다.
도 6 내지 도 9는 실시예들에 따른 유전자 알고리즘의 성능을 나타낸다. 비교대상 스케줄 방법으로 먼저 유전자 알고리즘이 수행되는 시간과 근사한 시간 동안 임의로 스케줄을 발생시켜 그 중에서 제일 좋은 스케줄을 선택하는 임의 선택 방식(random 방식)을 이용한다. 또, 가장 빈도가 높은 지역에 계속 머무르는 방식(stay 방식)과도 비교하는데, 이는 이동에 소요되는 시간이 없어 단속 효율이 향상될 수 있고 특정 지역에 주차 위반 빈도가 편중될 경우 유리할 수 있다.
각 방식에 있어서 30개의 후보 지역에 대해 아침 9시부터 오후 7시까지 한 시간 혹은 30분 단위 11개의 시간 슬롯에 대해 단속차량의 방문 스케줄을 결정하도록 하는데, 매일 고정된 지역들만 단속이 수행되는 것은 아니고 각 차량마다 할당된 지역 내에서 당일 방문하려 하는 후보 지역들을 변경할 수 있다. 또 각 스케줄에 있어서 적합도로 표현되는 이익(gain)은 스케줄에 따라 단속 차량을 운행했을 때 예상 단속 수, 혹은 효율에 해당하며 적합도와도 부합할 수 있다. 특정 후보 지역마다 하나의 단속 차량이 할당되어 있다고 가정할 수 있다.
도 6의 그래프(610)는 시간 슬롯의 크기를 1시간으로 설정했을 때, 즉 1시간마다 다른 지역으로의 이동 여부를 결정한다고 했을 때, 각 방식에 의한 예상 단속 수를 나타낸다. 이 실험에서 인구 사이즈는 60으로 설정될 수 있다. random 방식으로 스케줄을 정하면 9.89 개의 단속을 할 수 있는 반면 stay 방식으론 20.14 개의 단속을 기대할 수 있다. 이 두 방식은 진화 과정과는 관련이 없다. 제안된 유전자 알고리즘을 사용한다면 진화 과정에 따라 점차 개선되고 있으며 첫 단계에서는 6.45로 random 방식보다 낮은 성능을 보이다가 2회 진화만에 이를 넘어섰고 16회의 진화 후에는 stay 방식보다도 좋은 효율을 보인다. 이후에도 완만하게 개선이 되어 34번째 단계에서 22.23으로 수렴하는 것을 볼 수 있다.
도 7의 그래프(710)는 시간 슬롯의 크기를 30분으로 설정한 경우인데, 이 경우는 정수 벡터의 원소 수가 2배로 늘어난다. 시간 슬롯의 크기가 작다면 좀더 정밀한 스케줄을 생성할 수 있으며 빈도가 낮은 지역으로 배정이 될 때 좀더 빠르게 다른 지역으로 이동할 수 있다. 도 6과 유사한 패턴을 보이기는 하지만 정수 벡터의 길이가 2배로 늘어나기 때문에 수렴하는데 슬롯 시간이 1시간인 경우보다는 좀더 걸려서 50 단계가 소요되는데 두 경우 모두 상당히 빠른 시간에 적절한 수준의 답을 찾아낼 수 있다. 결과적으로 정밀한 스케줄을 생성하면서 적합도가 24.44로 향상됨을 보인다. 역시 초기에는 random 방식보다 적합도가 떨어지지만 4회의 진화만에 random 방식을 넘어선다. random 방식은 우수한 형질 등을 고려하지 않고 서치 스페이스가 넒은 상태에서 임의로 스케줄을 발생시키기 때문에 적합도가 높은 해를 찾지 못한다.
도 8의 그래프(810)는 인구 크기에 따른 진화 과정을 나타내며, 이 실험에서 시간 슬롯의 크기는 30분으로 설정된다. 인구 크기는 20에서 100까지 변경될 수 있고, 그래프(810)는 진화 과정에 따른 적합도를 나타낼 수 있다. 실험 결과에 의하면 인구 크기가 20과 40일 때 적합도가 22.74와 22.83에 수렴하였고 80일 때 가장 좋은 23.78을 보이기는 하지만 나머지 경우와 큰 차이가 없다. 결국, 인구 크기는 60 이상이면 유사한 수준의 적합도로 수렴하는 것을 볼 수 있다. 모든 경우에 있어서 50회 정도의 진화로 수렴되는 값을 찾을 수 있으며 더 이상 진행한다고 해도 미미한 수준이며 거의 적합도 개선은 일어나지 않을 수 있다. 이는 각 지역간 단속 수의 편차가 크기 때문일 수 있고, 더 다양한 해들을 탐색하는 경우 인구 크기의 영향이 있을 수 있다.
도 9의 그래프(910)는 진화 과정에 따른 단속 차량의 이동 거리를 비교한 결과를 나타낸다. 적합도 함수가 예상 단속 수를 기준으로 하였기 때문에 앞선 그래프(810)와 같은 단조 증가 혹은 감소 패턴이 보이지는 않으며 진화에 따라 약간의 진동을 보이다가 적합도가 수렴하여 동일 값에 머물게 되면 이동 거리도 더 이상 변화가 없게 된다. 그래프(910)에 나타난 것처럼 시간 구간의 길이를 1시간으로 하였을 때 이동 거리가 짧아질 수 있다. 즉, 어떤 장소에서 단속 효율이 저하되더라도 바로 다른 장소로 이동하지 않고 일단은 다음 슬롯의 시작 시간까지 그 장소에서 머무르는 스케줄을 지속적으로 생성하기 때문에 단속 효율은 떨어지더라도 이동 거리는 단축될 수 있다. 또, 슬롯 시간을 너무 짧게 설정하면 한 시간 슬롯의 대부분은 이동으로 소비되므로 가까운 지역으로만의 이동만 포함한 스케줄이 생성되는 경향이 나타날 수 있다.
도 10은 일 실시예에 따른 주차 단속 스케줄링 방법을 나타내는 플로우 차트이다. 도 10을 참조하면, 단계(1010)에서 주차 단속 스케줄링 장치는 각각 대상 단속 지역들 중의 방문 후보들의 방문 시퀀스를 나타내는 정수 벡터에 해당하는 후보 해들을 초기화한다.
단계(1020)에서 주차 단속 스케줄링 장치는 후보 해들의 각 방문 시퀀스에 따른 예상 단속 수 및 이동 시간에 기초하여 후보 해들의 적합도를 평가한다. 주차 단속 스케줄링 장치는 과거 주차 단속 기록을 저장하는 단속 기록 데이터베이스에 기초하여 각 방문 시퀀스의 방문 후보들 및 방문 시간들에 따른 예상 단속 수를 결정하고, 대상 단속 지역들의 위치 정보에 기초하여 각 방문 시퀀스의 방문 후보들 간의 이동 시간을 결정할 수 있다.
주차 단속 스케줄링 장치는 수학식 1에 기초하여 적합도를 평가할 수 있다. 주차 단속 스케줄링 장치는 예상 단속 수가 많을수록 적합도가 높아지고, 이동 시간이 길수록 적합도가 낮아지도록, 적합도를 평가할 수 있다. 주차 단속 스케줄링 장치는 예상 단속 수에서 이동 시간과 단위 단속 시간 간의 비에 따른 손실 요인을 차감하여 적합도를 평가할 수 있다.
단계(1030)에서 주차 단속 스케줄링 장치는 적합도에 기초하여 유전 연산을 반복적으로 수행하여 최종 해를 결정한다. 주차 단속 스케줄링 장치는 적합도에 기초하여 후보 해들에서 부모 해들을 선택하고, 부모 해들에 기초하여 재생산 및 변이 중 적어도 일부를 수행하여 다음 세대의 후보 해들을 결정할 수 있다. 주차 단속 스케줄링 장치는 다음 세대의 후보 해들에 중복이 발생하지 않도록 중복된 후보 해를 다른 후보 해로 대체할 수 있다. 최종 해는 미리 정해진 반복 횟수만큼의 진화를 통해 결정될 수 있다.
단계(1040)에서 주차 단속 스케줄링 장치는 최종 해에 대응하는 방문 시퀀스에 기초하여 주차 단속 스케줄을 결정한다. 주차 단속 스케줄은 최종 해의 최종 방문 시퀀스에 따른 방문 후보들의 방문 순서를 포함할 수 있다. 그 밖에, 주차 단속 스케줄링 방법에는 도 1 내지 도 9, 도 11, 및 도 12의 설명이 적용될 수 있다.
도 11은 일 실시예에 따른 주차 단속 스케줄링 장치의 구성을 나타내는 블록도이다. 도 11을 참조하면, 주차 단속 스케줄링 장치(1100)는 프로세서(1110) 및 메모리(1120)를 포함한다. 메모리(1120)는 프로세서(1110)에 연결되고, 프로세서(1110)에 의해 실행가능한 명령어들, 프로세서(1110)가 연산할 데이터 또는 프로세서(1110)에 의해 처리된 데이터를 저장할 수 있다. 메모리(1120)는 비일시적인 컴퓨터 판독가능 매체, 예컨대 고속 랜덤 액세스 메모리 및/또는 비휘발성 컴퓨터 판독가능 저장 매체(예컨대, 하나 이상의 디스크 저장 장치, 플래쉬 메모리 장치, 또는 기타 비휘발성 솔리드 스테이트 메모리 장치)를 포함할 수 있다.
프로세서(1110)는 도 1 내지 도 10 및 도 12의 동작을 수행하기 위한 명령어들을 실행할 수 있다. 예를 들어, 프로세서(1110)는 각각 대상 단속 지역들 중의 방문 후보들의 방문 시퀀스를 나타내는 정수 벡터에 해당하는 후보 해들을 초기화하고, 후보 해들의 각 방문 시퀀스에 따른 예상 단속 수 및 이동 시간에 기초하여 후보 해들의 적합도를 평가하고, 적합도에 기초하여 유전 연산을 반복적으로 수행하여 최종 해를 결정하고, 최종 해에 대응하는 방문 시퀀스에 기초하여 주차 단속 스케줄을 결정할 수 있다. 그 밖에, 주차 단속 스케줄링 장치(1100)에는 도 1 내지 도 10 및 도 12의 설명이 적용될 수 있다.
도 12는 일 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다. 도 12를 참조하면, 전자 장치(1200)는 프로세서(1210), 메모리(1220), 카메라(1230), 저장 장치(1240), 입력 장치(1250), 출력 장치(1260) 및 네트워크 인터페이스(1270)를 포함할 수 있으며, 이들은 통신 버스(1280)를 통해 서로 통신할 수 있다. 예를 들어, 전자 장치(1200)는 이동 전화, 스마트 폰, PDA, 넷북, 태블릿 컴퓨터, 랩톱 컴퓨터 등과 같은 모바일 장치, 스마트 워치, 스마트 밴드, 스마트 안경 등과 같은 웨어러블 디바이스, 데스크탑, 서버 등과 같은 컴퓨팅 장치, 자율주행 차량, 스마트 차량 등과 같은 차량의 적어도 일부로 구현될 수 있다. 전자 장치(1200)는 도 1의 주차 단속 스케줄링 장치(100) 및/또는 도 11의 주차 단속 스케줄링 장치(1100)를 구조적 및/또는 기능적으로 포함할 수 있다.
프로세서(1210)는 전자 장치(1200) 내에서 실행하기 위한 기능 및 명령어들을 실행한다. 예를 들어, 프로세서(1210)는 메모리(1220) 또는 저장 장치(1240)에 저장된 명령어들을 처리할 수 있다. 프로세서(1210)는 도 1 내지 도 11을 통하여 설명된 하나 이상의 동작을 수행할 수 있다. 메모리(1220)는 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 판독가능한 저장 장치를 포함할 수 있다. 메모리(1220)는 프로세서(1210)에 의해 실행하기 위한 명령어들을 저장할 수 있고, 전자 장치(1200)에 의해 소프트웨어 및/또는 애플리케이션이 실행되는 동안 관련 정보를 저장할 수 있다.
카메라(1230)는 사진 및/또는 비디오를 촬영할 수 있다. 저장 장치(1240)는 컴퓨터 판독가능한 저장 매체 또는 컴퓨터 판독가능한 저장 장치를 포함한다. 저장 장치(1240)는 메모리(1220)보다 더 많은 양의 정보를 저장하고, 정보를 장기간 저장할 수 있다. 예를 들어, 저장 장치(1240)는 자기 하드 디스크, 광 디스크, 플래쉬 메모리, 플로피 디스크 또는 이 기술 분야에서 알려진 다른 형태의 비휘발성 메모리를 포함할 수 있다.
입력 장치(1250)는 키보드 및 마우스를 통한 전통적인 입력 방식, 및 터치 입력, 음성 입력, 및 이미지 입력과 같은 새로운 입력 방식을 통해 사용자로부터 입력을 수신할 수 있다. 예를 들어, 입력 장치(1250)는 키보드, 마우스, 터치 스크린, 마이크로폰, 또는 사용자로부터 입력을 검출하고, 검출된 입력을 전자 장치(1200)에 전달할 수 있는 임의의 다른 장치를 포함할 수 있다. 출력 장치(1260)는 시각적, 청각적 또는 촉각적인 채널을 통해 사용자에게 전자 장치(1200)의 출력을 제공할 수 있다. 출력 장치(1260)는 예를 들어, 디스플레이, 터치 스크린, 스피커, 진동 발생 장치 또는 사용자에게 출력을 제공할 수 있는 임의의 다른 장치를 포함할 수 있다. 네트워크 인터페이스(1270)는 유선 또는 무선 네트워크를 통해 외부 장치와 통신할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 저장할 수 있으며 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (12)

  1. 유전자 알고리즘 기반의 주차 단속 스케줄링 방법에 있어서,
    각각 대상 단속 지역들 중의 방문 후보들의 방문 시퀀스를 나타내는 정수 벡터에 해당하는 후보 해들을 초기화하는 단계;
    상기 후보 해들의 각 방문 시퀀스에 따른 예상 단속 수 및 이동 시간에 기초하여 상기 후보 해들의 적합도를 평가하는 단계;
    상기 적합도에 기초하여 유전 연산을 반복적으로 수행하여 최종 해를 결정하는 단계; 및
    상기 최종 해에 대응하는 방문 시퀀스에 기초하여 주차 단속 스케줄을 결정하는 단계
    를 포함하고,
    상기 적합도를 평가하는 단계는
    과거 주차 단속 기록을 저장하는 단속 기록 데이터베이스에 기초하여, 상기 후보 해들의 각 방문 시퀀스에 따라 각 방문 시퀀스의 방문 후보들을 방문하는 경우 상기 방문 후보들의 각 예상 방문 시간의 각 예상 단속 수를 결정하는 단계;
    상기 대상 단속 지역들의 위치 정보에 기초하여 상기 후보 해들의 각 방문 시퀀스의 상기 방문 후보들 간의 각 이동 시간을 결정하는 단계; 및
    상기 후보 해들의 각 방문 시퀀스의 각 방문 후보의 각 예상 방문 시간의 각 예상 단속 수로부터 상기 방문 후보들 간의 각 이동 시간과 단위 단속 시간 간의 비율에 따른 손실 요인을 각각 차감하여, 상기 후보 해들의 예상 단속 효율에 대응하는 상기 후보 해들의 상기 적합도를 평가하는 단계
    를 포함하는, 주차 단속 스케줄링 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 적합도를 평가하는 단계는
    상기 예상 단속 수가 많을수록 상기 적합도가 높아지고, 상기 이동 시간이 길수록 상기 적합도가 낮아지도록, 상기 적합도를 평가하는 단계를 포함하는,
    주차 단속 스케줄링 방법.
  4. 제1항에 있어서,
    상기 적합도를 평가하는 단계는
    아래 수학식에 기초하여 상기 적합도를 평가하는 단계를 포함하고,

    상기 수학식에서 F(V)는 적합도, V는 방문 시퀀스,G[x][y]는 예상 방문 시간 슬롯 y에 방문 후보 x를 방문했을 때의 예상 단속 수, vd는 방문 시퀀스의 d번째 벡터 값, d는 방문 후보들의 수, D[a][b]는 방문 후보 a와 방문 후보 b 간의 거리, Ts는 단위 단속 시간을 나타내는,
    주차 단속 스케줄링 방법.
  5. 제1항에 있어서,
    상기 최종 해를 결정하는 단계는
    상기 적합도에 기초하여 상기 후보 해들로부터 부모 해들을 선택하는 단계; 및
    상기 부모 해들에 기초하여 재생산 및 변이 중 적어도 일부를 수행하여 다음 세대의 후보 해들을 결정하는 단계
    를 포함하는, 주차 단속 스케줄링 방법.
  6. 제5항에 있어서,
    상기 다음 세대의 후보 해들을 결정하는 단계는
    상기 다음 세대의 후보 해들에 중복이 발생하지 않도록 중복된 후보 해를 다른 후보 해로 대체하는 단계를 포함하는,
    주차 단속 스케줄링 방법.
  7. 제1항에 있어서,
    상기 최종 해는 미리 정해진 반복 횟수만큼의 진화를 통해 결정되는,
    주차 단속 스케줄링 방법.
  8. 하드웨어와 결합되어 제1항, 제3항 내지 제7항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  9. 유전자 알고리즘 기반의 주차 단속 스케줄링 장치에 있어서,
    프로세서; 및
    상기 프로세서에서 실행가능한 명령어들을 포함하는 메모리
    를 포함하고,
    상기 명령어들이 상기 프로세서에서 실행되면, 상기 프로세서는
    각각 대상 단속 지역들 중의 방문 후보들의 방문 시퀀스를 나타내는 정수 벡터에 해당하는 후보 해들을 초기화하고,
    상기 후보 해들의 각 방문 시퀀스에 따른 예상 단속 수 및 이동 시간에 기초하여 상기 후보 해들의 적합도를 평가하고,
    상기 적합도에 기초하여 유전 연산을 반복적으로 수행하여 최종 해를 결정하고,
    상기 최종 해에 대응하는 방문 시퀀스에 기초하여 주차 단속 스케줄을 결정하고,
    상기 프로세서는, 상기 적합도를 평가하기 위해,
    과거 주차 단속 기록을 저장하는 단속 기록 데이터베이스에 기초하여, 상기 후보 해들의 각 방문 시퀀스에 따라 각 방문 시퀀스의 방문 후보들을 방문하는 경우 상기 방문 후보들의 각 예상 방문 시간의 각 예상 단속 수를 결정하고,
    상기 대상 단속 지역들의 위치 정보에 기초하여 상기 후보 해들의 각 방문 시퀀스의 상기 방문 후보들 간의 각 이동 시간을 결정하고,
    상기 후보 해들의 각 방문 시퀀스의 각 방문 후보의 각 예상 방문 시간의 각 예상 단속 수로부터 상기 방문 후보들 간의 각 이동 시간과 단위 단속 시간 간의 비율에 따른 손실 요인을 각각 차감하여, 상기 후보 해들의 예상 단속 효율에 대응하는 상기 후보 해들의 상기 적합도를 평가하는,
    주차 단속 스케줄링 장치.
  10. 삭제
  11. 제9항에 있어서,
    상기 프로세서는
    상기 예상 단속 수가 많을수록 상기 적합도가 높아지고, 상기 이동 시간이 길수록 상기 적합도가 낮아지도록, 상기 적합도를 평가하는,
    주차 단속 스케줄링 장치.
  12. 제9항에 있어서,
    상기 프로세서는
    아래 수학식에 기초하여 상기 적합도를 평가하고,

    상기 수학식에서 F(V)는 적합도, V는 방문 시퀀스,G[x][y]는 예상 방문 시간 슬롯 y에 방문 후보 x를 방문했을 때의 예상 단속 수, vd는 방문 시퀀스의 d번째 벡터 값, d는 방문 후보들의 수, D[a][b]는 방문 후보 a와 방문 후보 b 간의 거리, Ts는 단위 단속 시간을 나타내는,
    주차 단속 스케줄링 장치.
KR1020210099823A 2021-07-29 2021-07-29 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치 KR102571957B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210099823A KR102571957B1 (ko) 2021-07-29 2021-07-29 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210099823A KR102571957B1 (ko) 2021-07-29 2021-07-29 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230018082A KR20230018082A (ko) 2023-02-07
KR102571957B1 true KR102571957B1 (ko) 2023-08-29

Family

ID=85221294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210099823A KR102571957B1 (ko) 2021-07-29 2021-07-29 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102571957B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172664A (ja) 1998-10-02 2000-06-23 Yoshinori Haseyama 最適経路及び最適巡回経路探索方法
JP2007187584A (ja) * 2006-01-13 2007-07-26 Navitime Japan Co Ltd 巡回経路探索機能を有するナビゲーションシステムおよび経路探索サーバならびに巡回経路探索方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101885520B1 (ko) * 2016-08-12 2018-08-06 렉스젠(주) 차량 정보 수집 장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000172664A (ja) 1998-10-02 2000-06-23 Yoshinori Haseyama 最適経路及び最適巡回経路探索方法
JP2007187584A (ja) * 2006-01-13 2007-07-26 Navitime Japan Co Ltd 巡回経路探索機能を有するナビゲーションシステムおよび経路探索サーバならびに巡回経路探索方法

Also Published As

Publication number Publication date
KR20230018082A (ko) 2023-02-07

Similar Documents

Publication Publication Date Title
Jiang et al. Deepurbanevent: A system for predicting citywide crowd dynamics at big events
Tekouabou et al. Improving parking availability prediction in smart cities with IoT and ensemble-based model
Wu et al. Learning effective road network representation with hierarchical graph neural networks
Chen et al. Dynamic planning of bicycle stations in dockless public bicycle-sharing system using gated graph neural network
Xiao et al. Demand prediction for a public bike sharing program based on spatio-temporal graph convolutional networks
Huang et al. Large scale real-time ridesharing with service guarantee on road networks
Chen et al. Dynamic cluster-based over-demand prediction in bike sharing systems
Etienne et al. Model-based count series clustering for bike sharing system usage mining: a case study with the Vélib’system of Paris
Liu et al. Inferring dockless shared bike distribution in new cities
WO2021232585A1 (zh) 基于人工智能的定位数据处理方法及相关设备
Liu et al. Think like a graph: Real-time traffic estimation at city-scale
CN115440032B (zh) 一种长短期公共交通流量预测方法
CN111462489B (zh) 交通拥堵区域预测方法及装置
Jiang et al. Transfer urban human mobility via poi embedding over multiple cities
Shao et al. The traffic flow prediction method using the incremental learning-based CNN-LTSM model: the solution of mobile application
Ruan et al. Dynamic public resource allocation based on human mobility prediction
Pecher et al. Data-driven vehicle trajectory prediction
Martin et al. Graph convolutional neural networks for human activity purpose imputation
Ishiguro et al. Taxi demand forecast using real-time population generated from cellular networks
Fan et al. Online trajectory prediction for metropolitan scale mobility digital twin
Dai et al. Cluster-based destination prediction in bike sharing system
KR102571957B1 (ko) 유전자 알고리즘 기반의 주차 단속 스케줄링 방법 및 장치
Jiang et al. VLUC: An empirical benchmark for video-like urban computing on citywide crowd and traffic prediction
JP2017107385A (ja) タスク割当装置、方法、及びプログラム
Shen et al. Research on phase combination and signal timing based on improved K-medoids algorithm for intersection signal control

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant