This paper proposes a Tabu search algorithm to maximize the connectivity between the router nodes and the client nodes in wireless mesh networks. As the number of the router nodes and the client nodes in the networks increases, the amount of calculation for finding the solution would be too much increased. To obtain the optimal solution within a reasonable computation time for a high-density network, we propose a Tabu search algorithm to obtain the optimal solution for maximizing the connectivity. In order to make a search more efficient, we propose some efficient neighborhood generating operations of the Tabu search algorithm. We evaluate those performances through some experiments in terms of the maximum number of the connectivity and the execution time of the proposed algorithm. The comparison results show that the proposed algorithm outperforms other existing algorithms.
최근 무선 메쉬 네트워크는 저비용으로 고속의 무선 인터넷 연결을 할 수 있는 중요한 네트워킹 인프라로 대두되었다[1]. 무선 메쉬 네트워크는 그림 1에서와 같이 메쉬 라우터(mesh router)와 게이트웨이(gateway), 메쉬 클라이언트(mesh client)로 구성된다. 메쉬 클라이언트는 기존의 인터넷과 연결하기 위해 메쉬 라우터와 게이트웨이를 통해 접속한다. 메쉬 라우터는 기존의 라우터가 가진 기능에 메쉬 네트워킹을 위한 추가적인 기능을 가진다. 즉 다양한 무선 네트워킹 프로토콜이 사용되는 상이한 네트워크를 지원하기 위해 다양한 인터페이스를 가진다. 또한 다중 홉 통신을 통해 적은 전송 전력으로 같은 전송 범위의 통신이 가능하며, 특정 기기나 일반적인 목적의 기기에 장착할 수 있다. 반면 메쉬 클라이언트는 메쉬 네트워킹을 위한 필수 기능과 게이트웨이나 브릿지 기능을 가지지 않는 라우터로서의 기능을 가질 수 있으며 하나의 무선 인터페이스만을 가진다. 이러한 무선 메쉬 네트워크는 의료 시스템, 물류시스템, 감시 시스템, 기업 및 학교에서 광범위하게 사용될 수 있는 기술로 관심을 받고 있다[1,2].
무선 메쉬 네트워크에서 클라이언트 노드 간의 연결은 라우터나 게이트웨이를 통해 가능하기 때문에 라우터와 게이트웨이는 무선 메쉬 네트워크의 성능에 중요한 역할을 한다. 즉, 각 클라이언트 노드는 인접한 라우터의 네트워크 반경 내에서 연결 가능하다. 따라서 클라이언트간의 연결을 높이기 위해서는 라우터 노드의 배치가 중요한 요소가 된다. 기존의 연구에서 무선 메쉬 네트워크에서 클라이언트간의 연결을 높이기 위한 라우터 노드의 배치를 라우터 노드 배치문제라 정의한다[3].
무선 메쉬 네트워크에서 라우터 노드의 배치문제는 많은 수의 라우터 노드와 클라이언트 노드로 인해 라우터 노드의 위치를 결정하기 위해서 방대한 계산량이 요구된다. 이 문제는 조합 최적화 문제로서 NP-hard 문제로 증명되어 있다[4]. NP-hard 문제를 해결하기 위해 최근 수행된 대부분의 연구들은 근사치 방식으로 접근하고 있다. 이 방식들 중에 최적해(global solution)를 찾기위해서는 모든 가능한 후보해(candidate solution)를 나열하여 찾는 완전 검색 알고리즘(exhaustive search algorithm)이 일반적이다. 그러나 이 알고리즘은 방대한 계산시간이 소요된다는 문제점을 가진다. 따라서 계산의 어려움과 계산량을 줄이기 위해 최적해를 찾는대신 계산 시간은 줄이고 최적해에 가까운 해를 찾을 수 있는 메타 휴리스틱 알고리즘이 대안으로 제시되고 있다[5].
본 논문에서는 무선 메쉬 네트워크에서 라우터 노드 배치문제에 대하여 메타 휴리스틱 알고리즘인 타부 서치 알고리즘을 제안한다. 다양한 휴리스틱 알고리즘이 존재하지만 본 논문에서는 인접 검색이 다양한 타부 서치 알고리즘을 제안하였다. 효율적으로 좋은 결과를 얻기 위해 제안된 알고리즘에서는 새로운 이웃해 생성 방식을 제안하며, 제안된 알고리즘을 평가하기위해 다양한 조건하에서 라우터 노드와 클라이언트 노드 간의 최대 연결수와 알고리즘 실행시간 관점에서 기존의 다른 알고리즘과 비교 평가한다. 본 논문에서 제안된 알고리즘은 기존의 알고리즘에 비해 라우터 노드와 무선 노드의 수가 많은 대용량의 크기를 가진 네트워크에서 성능을 평가하였으며, 기존의 알고리즘에서 제시되지 않은 이웃해 방식을 제안하였다.
실행계산 관점에서 노드 배치문제는 minimum dominating set problem[6]로 귀결되는 NP-hard 문제로 증명된다. 따라서 NP-hard 문제의 크기가 클 경우에는 검색 공간에서 계산량은 엄청난 양의 조합으로 늘어남에 따라 최적 알고리즘은 이러한 문제를 해결하기에는 적합하지 않다. 이러한 이유로 인하여 노드 배치문제를 위한 기존의 알고리즘들은 휴리스틱 또는 근사치 방식을 주로 이용한다.
무선 네트워크에서 게이트웨이 배치문제는 인터페이스와 같은 물리계층모델 또는 정의된 액세스 프로토콜 없이 진행 중인 연구 문제이다. Wong
Flanklin
제안된 알고리즘을 기술하기에 앞서 라우터 노드 배치문제를 정식화하기 위해 제안된 타부 서치 알고리즘에서 사용되는 기호를 우선 정의한다.
본 논문에서는 무선 메쉬 네트워크에서 라우터 노드와 클라이언트 노드 간 연결 최대화를 위한 네트워크 모델과 제약조건을 우선 기술한다. 네트워크 모델은 비방향성 그래프인
본 논문의 목적함수는 무선 메쉬 네트워크에서 라우터 노드와 클라이언트 노드간의 연결수를 최대화하는 것이다. 따라서 제안된 네트워크 모델에서 연결 최대화를 위한 문제는 다음과 같은 목적함수를 최대화하는 조합 최적화 문제로 정식화할 수 있다.
최대화
관하여
식 (1)은 이동 노드와 라우터 노드 간의 연결을 최대화하는 목적함수를 나타낸다. 식 (2)는 라우터 노드
본 논문에서 제안된 문제에 대한 타부서치 알고리즘은 다음과 같은 순서로 진행된다.
인코딩 설계에 따라 알고리즘의 성능은 달라지기 때문에 최적의 해를 찾기 위해 적절한 해에 대한 인코딩을 설계한다. 해에 대한 인코딩이 설계되면 제약식을 만족하는 하나의 초기해를 랜덤하게 생성한다. 초기해는 타부리스트라고 불리는 메모리 리스트에 저장되고 임시 최적값으로 일단 저장된다. 초기해에 대하여 제안 된 이동 방법에 의하여 인접해를 생성한다. 생성된 인접해 중에 타부리스트에 저장되어있지 않은 해 중에 가장 우수한 해를 선택하여 타부리스트에 저장하고 임시 최적해와 비교한다. 비교된 결과에서 새로운 해가 임시 최적해보다 더 좋은 해일 경우 이 해를 임시 최적해로 바꾸고 임시 최적해를 이용하여 다음 단계의 인접해 생성을 위해 사용한다. 만약 임시 최적해보다 결과가 좋지 않을 경우에는 그 해를 임시 최적해로 저장하지 않고 다음 단계의 인접해 생성을 위해 사용한다. 이러한 방식으로 정지 기준을 만날 때까지 인접해 생성 과정을 반복하여 최적해를 찾아낸다.
제안된 알고리즘에서는 라우터 노드들의 좌표에 대한 집합을 해의 인코딩으로 사용한다. 본 논문에서는 해의 인코딩을 위해 라우터 노드와 클라이언트 노드의 위치는 랜덤하게 미리 결정하고, 인접해 생성방식에 따라 라우터 노드의 위치는 변경된다. 라우터 노드의 위치가 변경됨에 따라 클라이언트 노드와의 연결 상태를 저장하는 메모리를 추가로 사용한다. 그림 2는 라우터 노드의 좌표를 구성된 해의 인코딩을 나타낸다.
제안된 해 인코딩 방식을 이용하여 타부 서치 알고리즘에 적용할 초기해를 생성한다. 초기해 생성은 모든 라우터 노드에 대하여 정해진 네트워크 크기 내에서 랜덤하게 발생시키는 과정이다. 생성된 초기해는 타부리스트에 저장되고 임시 최적해로 등록된다. 생성된 초기해에 대하여 모든 클라이언트 노드와의 연결상태를 계산한다.
타부 서치에서 가장 중요한 단계는 현재해에서 새로운 해를 생성하기 위해 인접해로 이동하는 이동방법을 정의하는 것이다. 제안된 타부 서치 알고리즘의 이동방법은 현재해의 모든 요소에 대하여 순차적으로 적용된 다. 제안된 타부 서치 알고리즘에서는 두 가지의 이동방식을 사용한다. 첫 번째 방식은 현재 라우터 노드의 좌표에서 인접한 좌표로 이동하는 인접 좌표 이동방식이고, 다른 한 가지 방식은 라우터 노드의 x, y 좌표를 서로 바꾸는 좌표 교환 이동방식이다.
먼저 인접 좌표 이동방식은 현재 라우터 노드가 위치한 좌표 x, y에서 인접한 좌표로 이동하는 것이다. 그림 3처럼 라우터 노드의 좌표가
두 번째로 좌표 교환 이동방식은 현재 라우터 노드의 좌표 x, y를 서로 교환하여 좌표 y, x로 이동하는 방식이다. 앞선 인접 좌표 이동방식을 사용하였을 때 인접한 좌표에 대하여 해를 구할 수 있지만 지역 최적해(local optimum)에 빠질 수 있다는 문제를 가진다. 이러한 문제를 해결하기 위해 유전 알고리즘에서는 돌연변이(mutation)와 같은 방식을 사용하는 것과 마찬가지로 본 논문에서는 좌표 교환 이동방식을 사용하여 인접하지 않는 다른 좌표로 이동함으로써 지역 최적해 문제를 해결하고자 한다. 그림 4는 현재해에 대한 좌표 교환 이동방식을 적용한 그림이다.
타부리스트는 반복되는 해를 방지하고 탐색되지 않은 수많은 해의 영역을 검색할 수 있도록 해 주는 메커니즘 중 하나이다. 특히 동적 크기의 타부리스트는 NP-hard 문제에 대하여 더 좋은 결과의 해를 검색하는 중요한 역할을 한다. 제안된 알고리즘에서는
제안된 타부 서치 알고리즘의 정지 기준은 미리 정해진 진행 횟수에 의해 결정된다. 즉 현재해에 대하여 제안된 이동방식을 진행한 후 새로운 임시 최적해가 연속적으로 발생되지 않는 횟수가 정해진 횟수만큼 진행되면 제안된 알고리즘은 멈춘다.
본 논문에서는 라우터 노드 배치문제에 대한 제안 된 타부 서치 알고리즘의 성능을 컴퓨터 시뮬레이션을 이용하여 평가하였다. 모든 실험은 Windows OS 기반의 4GB 메모리와 2.67GHz Intel processor로 구성된 PC상에서 수행되었으며, 각 알고리즘은 C++ 언어를 이용하여 구현되었다. 제안된 알고리즘의 성능을 비교 평가하기 위해 라우터 노드와 클라이언트 노드 간의 연결 수와 알고리즘 실행시간 관점에서 랜덤(Random) 방식과 기존에 제안된 시뮬레이티드 어닐링(Simulated Annealing) 알고리즘[12]을 제안된 타부 서치 알고리즘과 비교하였다.
성능평가를 위해 노드의 전송범위(
그림 5는 라우터 노드의 수가 각각 50, 100, 150, 200 일 때 클라이언트 노드의 수가 변함에 따라 라우터 노드와 클라이언트 노드간의 최대 연결수를 비교한 것이다. 막대그래프의 값은 10번 시도한 결과의 평균값을 나타낸 것이고, 막대그래프 위의 에러 바(error bar)는 표준편차를 의미한다. 그림에서 제안된 알고리즘이 기존의 방식에 비해 모든 네트워크 예제에서 성능이 우수함을 볼 수 있다.
그림 6은 그림 5에서와 같은 조건에서 알고리즘의 평균 실행시간을 비교한 것이다. 작은 크기의 네트워크에서는 메타 휴리스틱 방식인 타부 서치와 시뮬레이티드어닐링이 실행시간이 빠르지만 네트워크의 크기가 커짐에 따라 이웃해 생성을 하지 않는 랜덤 방식이 가장 빠르고 제안된 타부 서치 알고리즘이 시뮬레이티드 어닐링 알고리즘보다 조금 더 느림을 알 수 있다. 이것은 제안된 타부 서치 알고리즘이 더 많은 이웃해 생성을 하기 때문에 시뮬레이티드 어닐링 알고리즘보다 조금 늦은 실행시간을 보이고 있다. 하지만 제안된 타부 서치 알고리즘이 기존의 방식에 비해 비슷한 실행시간 내에서 더 좋은 결과를 찾고 있음을 알 수 있다. 결론적으로 성능평가 결과에서 제안된 알고리즘이 NP-hard 문제인 라우터 노드 배치문제를 적정한 실행시간 내에 좋은 결과를 얻을 수 있으며 노드 배치문제를 효과적으로 해결할 수 있음을 알 수 있었다.
본 논문은 무선 메쉬 네트워크에서 라우터 노드와 클라이언트 노드간의 연결수를 최대화하는 타부 서치 알고리즘을 제안하였다. 효과적인 알고리즘을 설계하기 위해 라우터 노드 배치문제에 적합한 인코딩과 초기해 생성, 인접해 검색을 위한 두 가지의 이웃해 생성방식을 제안하였다. 제안된 알고리즘을 평가하기 위해 라우터 노드와 클라이언트 노드 간의 최대 연결 수와 알고리즘 실행시간 관점에서 기존의 방식과 비교 평가하였다. 비교결과에서 제안된 알고리즘이 기존의 방식보다 더 우수함을 볼 수 있었으며, 또한 무선 메쉬 네트워크에서 라우터 노드 배치문제를 효과적으로 해결할 수 있음을 볼 수 있었다.