무선 메쉬 네트워크에서 라우터 노드 배치를 위한 타부 서치 알고리즘

A Tabu Search Algorithm for Router Node Placement in Wireless Mesh Networks

  • cc icon
  • ABSTRACT

    본 논문에서는 무선 메쉬 네트워크에서 라우터 노드와 클라이언트 노드간의 연결설정 최대화를 위해 라우터 노드를 효과적으로 배치하는 타부 서치 알고리즘을 제안한다. 네트워크에서 라우터 노드와 클라이언트 노드의 수가 증가함에 따라 두 종류의 노드 간 연결을 위한 계산량은 급격히 늘어나게 된다. 본 논문에서는 밀집도가 높은 네트워크에서 적정한 시간 내에 최적의 노드 연결을 위한 타부 서치 알고리즘을 제안하며, 효율적인 검색을 위해 타부 서치 알고리즘의 효과적인 이웃해 생성 동작을 제안한다. 제안된 알고리즘은 라우터 노드와 클라이언트 노드간의 최대 연결수와 실행시간 관점에서 성능을 평가하며, 평가 결과에서 제안된 알고리즘이 기존의 알고리즘에 비해 성능이 우수함을 보인다.


    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.

  • KEYWORD

    무선 메쉬 네트워크 , 타부 서치 , 라우터 노드 배치 , 최적화

  • Ⅰ. 서 론

    최근 무선 메쉬 네트워크는 저비용으로 고속의 무선 인터넷 연결을 할 수 있는 중요한 네트워킹 인프라로 대두되었다[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 et al. [7]은 2개의 게이트웨이 배치문제를 제시하였다. 하나는 통신 지연을 최적화하고 또 다른 하나는 통신 비용을 최적하는 것이다. Bejerano [8]는 클러스터링 방식을 이용하여 게이트웨이를 배치하는 알고리즘을 제안하였다. 이 알고리즘은 클러스터 헤드 선택, 지연 제약을 만족하는 클러스터에 각 노드 할당, 제약 조건을 만족하지 않는 클러스터로부터 노드 탈퇴, 새로운 클러스터 선택과 같은 4개의 단계로 이루어져 있다.

    Flanklin et al. [9]은 2-계층 무선 메쉬 네트워크를 위한 노드 배치문제를 전송 범위와 연결성 관점에서 2개의 목적함수를 이용하여 알고리즘을 제안하였다. Chen et al. [10]은 방향 안테나를 이용하여 도심에서 무선 메쉬 네트워크 설계를 위한 알고리즘을 제안하였다. 메타 휴리스틱 방식을 이용한 알고리즘도 제시되었다. Vanhatupa et al. [11]은 무선 LAN에서 노드 배치를 최적화하기 위한 유전 알고리즘을 제안하였으며, Xhafa et al. [12]은 시뮬레이티드 어닐링 방식을 이용한 노드 배치문제에 대한 알고리즘을 제안하였다.

    Ⅲ. 문제의 정식화

    제안된 알고리즘을 기술하기에 앞서 라우터 노드 배치문제를 정식화하기 위해 제안된 타부 서치 알고리즘에서 사용되는 기호를 우선 정의한다.

    image

    본 논문에서는 무선 메쉬 네트워크에서 라우터 노드와 클라이언트 노드 간 연결 최대화를 위한 네트워크 모델과 제약조건을 우선 기술한다. 네트워크 모델은 비방향성 그래프인 G = (V, E)로 나타낼 수 있으며, V는 라우터 노드와 클라이언트를 포함한 모든 노드의 집합을 의미하며, E는 모든 노드간의 연결을 나타내는 링크의 집합을 의미한다. 각 링크의 길이는 노드의 전송거리보다는 짧거나 같아야 한다. 링크의 거리는 유클리드 거리함수에 의해 결정된다.

    본 논문의 목적함수는 무선 메쉬 네트워크에서 라우터 노드와 클라이언트 노드간의 연결수를 최대화하는 것이다. 따라서 제안된 네트워크 모델에서 연결 최대화를 위한 문제는 다음과 같은 목적함수를 최대화하는 조합 최적화 문제로 정식화할 수 있다.

    최대화

    image

    관하여

    image
    image

    식 (1)은 이동 노드와 라우터 노드 간의 연결을 최대화하는 목적함수를 나타낸다. 식 (2)는 라우터 노드 Mx와 클라이언트 노드 Ni 간의 거리가 전송거리보다 짧은 경우 1을 돌려주고 그렇지 않을 경우 0을 돌려주는 함수를 나타낸다. 식 (3)은 라우터 노드 M와 클라이언트 노드 N 간의 유클리드 거리를 나타내는 함수이다.

    Ⅳ. 제안된 타부 서치 알고리즘

    본 논문에서 제안된 문제에 대한 타부서치 알고리즘은 다음과 같은 순서로 진행된다.

    image

    인코딩 설계에 따라 알고리즘의 성능은 달라지기 때문에 최적의 해를 찾기 위해 적절한 해에 대한 인코딩을 설계한다. 해에 대한 인코딩이 설계되면 제약식을 만족하는 하나의 초기해를 랜덤하게 생성한다. 초기해는 타부리스트라고 불리는 메모리 리스트에 저장되고 임시 최적값으로 일단 저장된다. 초기해에 대하여 제안 된 이동 방법에 의하여 인접해를 생성한다. 생성된 인접해 중에 타부리스트에 저장되어있지 않은 해 중에 가장 우수한 해를 선택하여 타부리스트에 저장하고 임시 최적해와 비교한다. 비교된 결과에서 새로운 해가 임시 최적해보다 더 좋은 해일 경우 이 해를 임시 최적해로 바꾸고 임시 최적해를 이용하여 다음 단계의 인접해 생성을 위해 사용한다. 만약 임시 최적해보다 결과가 좋지 않을 경우에는 그 해를 임시 최적해로 저장하지 않고 다음 단계의 인접해 생성을 위해 사용한다. 이러한 방식으로 정지 기준을 만날 때까지 인접해 생성 과정을 반복하여 최적해를 찾아낸다.

       4.1. 해 인코딩

    제안된 알고리즘에서는 라우터 노드들의 좌표에 대한 집합을 해의 인코딩으로 사용한다. 본 논문에서는 해의 인코딩을 위해 라우터 노드와 클라이언트 노드의 위치는 랜덤하게 미리 결정하고, 인접해 생성방식에 따라 라우터 노드의 위치는 변경된다. 라우터 노드의 위치가 변경됨에 따라 클라이언트 노드와의 연결 상태를 저장하는 메모리를 추가로 사용한다. 그림 2는 라우터 노드의 좌표를 구성된 해의 인코딩을 나타낸다.

       4.2. 초기해 생성

    제안된 해 인코딩 방식을 이용하여 타부 서치 알고리즘에 적용할 초기해를 생성한다. 초기해 생성은 모든 라우터 노드에 대하여 정해진 네트워크 크기 내에서 랜덤하게 발생시키는 과정이다. 생성된 초기해는 타부리스트에 저장되고 임시 최적해로 등록된다. 생성된 초기해에 대하여 모든 클라이언트 노드와의 연결상태를 계산한다.

       4.3. 이동

    타부 서치에서 가장 중요한 단계는 현재해에서 새로운 해를 생성하기 위해 인접해로 이동하는 이동방법을 정의하는 것이다. 제안된 타부 서치 알고리즘의 이동방법은 현재해의 모든 요소에 대하여 순차적으로 적용된 다. 제안된 타부 서치 알고리즘에서는 두 가지의 이동방식을 사용한다. 첫 번째 방식은 현재 라우터 노드의 좌표에서 인접한 좌표로 이동하는 인접 좌표 이동방식이고, 다른 한 가지 방식은 라우터 노드의 x, y 좌표를 서로 바꾸는 좌표 교환 이동방식이다.

    먼저 인접 좌표 이동방식은 현재 라우터 노드가 위치한 좌표 x, y에서 인접한 좌표로 이동하는 것이다. 그림 3처럼 라우터 노드의 좌표가 m1(x), m1(y) 일 경우 인접한 좌표인 8개의 좌표로 이동할 수 있다. 같은 방식으로 현재해에 포함된 모든 라우터 노드에 대하여 적용한다. 따라서 모든 라우터 노드는 최소 3개부터 최대 8개의 좌표로 이동함으로써 그 개수만큼 새로운 이웃해를 생성할 수 있다.

    두 번째로 좌표 교환 이동방식은 현재 라우터 노드의 좌표 x, y를 서로 교환하여 좌표 y, x로 이동하는 방식이다. 앞선 인접 좌표 이동방식을 사용하였을 때 인접한 좌표에 대하여 해를 구할 수 있지만 지역 최적해(local optimum)에 빠질 수 있다는 문제를 가진다. 이러한 문제를 해결하기 위해 유전 알고리즘에서는 돌연변이(mutation)와 같은 방식을 사용하는 것과 마찬가지로 본 논문에서는 좌표 교환 이동방식을 사용하여 인접하지 않는 다른 좌표로 이동함으로써 지역 최적해 문제를 해결하고자 한다. 그림 4는 현재해에 대한 좌표 교환 이동방식을 적용한 그림이다.

       4.4. 타부리스트

    타부리스트는 반복되는 해를 방지하고 탐색되지 않은 수많은 해의 영역을 검색할 수 있도록 해 주는 메커니즘 중 하나이다. 특히 동적 크기의 타부리스트는 NP-hard 문제에 대하여 더 좋은 결과의 해를 검색하는 중요한 역할을 한다. 제안된 알고리즘에서는 M개의 라우터 노드에 대하여 타부리스트의 크기를 매 20번 주기마다 M과 3M사이의 값으로 변화시킨다. 타부리스트가 가득 찰 경우, 가장 오래된 해를 삭제하고 새로운 해를 추가한다.

       4.5. 정지 기준

    제안된 타부 서치 알고리즘의 정지 기준은 미리 정해진 진행 횟수에 의해 결정된다. 즉 현재해에 대하여 제안된 이동방식을 진행한 후 새로운 임시 최적해가 연속적으로 발생되지 않는 횟수가 정해진 횟수만큼 진행되면 제안된 알고리즘은 멈춘다.

    Ⅴ. 성능평가

    본 논문에서는 라우터 노드 배치문제에 대한 제안 된 타부 서치 알고리즘의 성능을 컴퓨터 시뮬레이션을 이용하여 평가하였다. 모든 실험은 Windows OS 기반의 4GB 메모리와 2.67GHz Intel processor로 구성된 PC상에서 수행되었으며, 각 알고리즘은 C++ 언어를 이용하여 구현되었다. 제안된 알고리즘의 성능을 비교 평가하기 위해 라우터 노드와 클라이언트 노드 간의 연결 수와 알고리즘 실행시간 관점에서 랜덤(Random) 방식과 기존에 제안된 시뮬레이티드 어닐링(Simulated Annealing) 알고리즘[12]을 제안된 타부 서치 알고리즘과 비교하였다.

    성능평가를 위해 노드의 전송범위(R)는 5, 라우터 노드의 개수(M)는 50, 100, 150, 200개, 클라이언트 노드의 개수(N)는 라우터 노드의 2배, 4배, 6배로 구성하였다. 네트워크의 크기는 라우터 노드의 개수인 M × M m2 로 설정하여 라우터 노드와 클라이언트 노드를 랜덤하게 생성하였다. 각 알고리즘은 10번씩 시도하여 평균 값으로 결과로 나타내었다.

    그림 5는 라우터 노드의 수가 각각 50, 100, 150, 200 일 때 클라이언트 노드의 수가 변함에 따라 라우터 노드와 클라이언트 노드간의 최대 연결수를 비교한 것이다. 막대그래프의 값은 10번 시도한 결과의 평균값을 나타낸 것이고, 막대그래프 위의 에러 바(error bar)는 표준편차를 의미한다. 그림에서 제안된 알고리즘이 기존의 방식에 비해 모든 네트워크 예제에서 성능이 우수함을 볼 수 있다. M = 50일 때, 50 × 50인 네트워크에서 클라이언트 노드의 수(N)는 100, 200, 300일 경우 3가지 알고리즘의 성능은 크게 차이가 나지 않음을 볼 수 있다. 특히 제안된 타부 서치와 시뮬레이티드 어닐링 알고리즘은 거의 같은 성능을 보이고 있다. 이는 작은 크기의 네트워크에서는 성능이 비슷함을 알 수 있다. 그러나 M이 점점 커짐에 따라 제안된 타부 서치 알고리즘이 기존의 다른 방식에 비해 성능이 우수함을 볼 수 있다. 제안된 타부 서치 알고리즘이 기존의 검색 방식보다 성능이 우수한 이유는 기존의 검색 방식은 로컬 최적해에 수렴한 반면에 제안된 알고리즘은 보다 향상 된 결과를 가진 해에서 수렴하기 때문이다. 즉, 제안된 타부 서치 알고리즘의 이웃해 생성방식인 이웃 좌표 이동방식과 좌표 교환 이동방식이 효과적으로 동작하고 있음을 나타낸다. 이 결과에서 어떠한 검색을 수행하지 않는 랜덤 방식이 가장 좋지 않은 결과를 발생시키며, 특히 네트워크의 크기가 클 경우 제안된 타부 서치 알고리즘이 기존의 검색 방식보다 좋은 결과를 얻을 수 있음을 알 수 있다.

    그림 6그림 5에서와 같은 조건에서 알고리즘의 평균 실행시간을 비교한 것이다. 작은 크기의 네트워크에서는 메타 휴리스틱 방식인 타부 서치와 시뮬레이티드어닐링이 실행시간이 빠르지만 네트워크의 크기가 커짐에 따라 이웃해 생성을 하지 않는 랜덤 방식이 가장 빠르고 제안된 타부 서치 알고리즘이 시뮬레이티드 어닐링 알고리즘보다 조금 더 느림을 알 수 있다. 이것은 제안된 타부 서치 알고리즘이 더 많은 이웃해 생성을 하기 때문에 시뮬레이티드 어닐링 알고리즘보다 조금 늦은 실행시간을 보이고 있다. 하지만 제안된 타부 서치 알고리즘이 기존의 방식에 비해 비슷한 실행시간 내에서 더 좋은 결과를 찾고 있음을 알 수 있다. 결론적으로 성능평가 결과에서 제안된 알고리즘이 NP-hard 문제인 라우터 노드 배치문제를 적정한 실행시간 내에 좋은 결과를 얻을 수 있으며 노드 배치문제를 효과적으로 해결할 수 있음을 알 수 있었다.

    Ⅵ. 결 론

    본 논문은 무선 메쉬 네트워크에서 라우터 노드와 클라이언트 노드간의 연결수를 최대화하는 타부 서치 알고리즘을 제안하였다. 효과적인 알고리즘을 설계하기 위해 라우터 노드 배치문제에 적합한 인코딩과 초기해 생성, 인접해 검색을 위한 두 가지의 이웃해 생성방식을 제안하였다. 제안된 알고리즘을 평가하기 위해 라우터 노드와 클라이언트 노드 간의 최대 연결 수와 알고리즘 실행시간 관점에서 기존의 방식과 비교 평가하였다. 비교결과에서 제안된 알고리즘이 기존의 방식보다 더 우수함을 볼 수 있었으며, 또한 무선 메쉬 네트워크에서 라우터 노드 배치문제를 효과적으로 해결할 수 있음을 볼 수 있었다.

  • 1. Akyildiz I. F., Wang X., Wang W. 2005 “Wireless mesh networks: a survey,” [Computer Networks] Vol.47 P.445-487 google doi
  • 2. Amaldi E., Capone A., Cesana M., Filippini I., Malucelli F. 2008 “Optimization models and methods for planning wireless mesh networks,” [Computer Networks] Vol.52 google doi
  • 3. Barolli A., Xhafa F., Takizawa M. 2011 “Optimization problems and resolution methods for mesh placement nodes in wireless mesh networks: A survey,” [In Proceedings of NBiS-2011] P.7-9 google
  • 4. Garey M. R., Johnson D. S. 1979 Computers and intractability A guide to the theory of NP-completeness google
  • 5. Glover F. 1986 “Future paths for integer programming and links to artificial intelligence,” [Computers and Op. Res.] Vol.5 P.533-549 google doi
  • 6. Aoun B., Boutaba R., Iraqi Y., Kenward G. 2006 “Gateway placement optimization in wireless mesh networks with QoS constraints,” [IEEE Journal on Selected Areas in Communications] Vol.24 P.2127-2136 google doi
  • 7. Wong J., Jafari R., Potkonjak M. 2004 “Gateway placement for latency and energy efficient data aggregation,” [in Proceedings of IEEE LCN] P.490-497 google
  • 8. Bejerano Y. 2004 “Efficient integration of multihop wireless and wired networks with QoS constraints,” [IEEE/ACM Transactions on Networking] Vol.12 P.1064-1078 google doi
  • 9. Franklin A. Antony, Murthy C. Siva Ram 2007 “Node placement algorithm for deployment of two-tier wireless mesh networks,” [In Proceedings of IEEE GLOBECOM] P.4823-4827 google
  • 10. Chekuri Ch., Chekuri Ch. 2007 “Urban Wireless Mesh Network Planning: The Case of Directional Antennas,” google
  • 11. Vanhatupa T., H¨annik¨ainen M., H¨am¨al¨ainen T.D. 2007 “Genetic algorithm to optimize node placement and configuration for WLAN planning,” [In Proceedings of 4th International Symposium on Wireless Communication Systems] P.612-616 google
  • 12. Xhafa F., Snchez Ch., Barolli L., Miho R. 2010 “An annealing approach to router nodes placement problem in wireless mesh networks,” [in Proceedings of CISIS] P.245-252 google
  • [그림 1.] 무선 메쉬 네트워크 구조
    무선 메쉬 네트워크 구조
  • [] 
  • [] 
  • [] 
  • [] 
  • [] 
  • [그림 2.] 해 인코딩
    해 인코딩
  • [그림 3.] 인접 좌표 이동
    인접 좌표 이동
  • [그림 4.] 좌표 교환 이동
    좌표 교환 이동
  • [그림 5.] 라우터와 연결된 클라이언트 노드의 수 (a) M = 50 (b) M = 100 (c) M = 150 (d) M = 200
    라우터와 연결된 클라이언트 노드의 수 (a) M = 50 (b) M = 100 (c) M = 150 (d) M = 200
  • [그림 6.] 평균 실행 시간 (a) M = 50 (b) M = 100 (c) M = 150 (d) M = 200
    평균 실행 시간 (a) M = 50 (b) M = 100 (c) M = 150 (d) M = 200