DOI QR코드

DOI QR Code

Sensor Node Deployment in Wireless Sensor Networks Based on Tabu Search Algorithm

타부 서치 알고리즘 기반의 무선 센서 네트워크에서 센서 노드 배치

  • Jang, Kil-woong (Department of Data Information, Korea Maritime and Ocean University)
  • Received : 2015.02.24
  • Accepted : 2015.04.06
  • Published : 2015.05.31

Abstract

In this paper, we propose a Tabu search algorithm to efficiently deploy the sensor nodes for maximizing the network sensing coverage in wireless sensor networks. As the number of the sensor nodes in wireless sensor networks increases, the amount of calculation for searching the solution would be too much increased. To obtain the best solution within a reasonable execution time in a high-density network, we propose a Tabu search algorithm to maximize the network sensing coverage. In order to search effectively, we propose some efficient neighborhood generating operations of the Tabu search algorithm. We evaluate those performances through some experiments in terms of the maximum network sensing coverage and the execution time of the proposed algorithm. The comparison results show that the proposed algorithm outperforms other existing algorithms.

본 논문에서는 무선 센서 네트워크에서 네트워크의 감시영역을 최대화하기 위해 센서 노드를 효과적으로 배치하는 타부 서치 알고리즘을 제안한다. 무선 센서 네트워크에서 센서 노드의 수가 증가하게 되면 네트워크의 감시영역을 최대화하기 위한 계산량은 급격히 늘어나게 된다. 본 논문에서는 센서 배치 밀도가 높은 네트워크에서 적정한 실행 시간 내에 네트워크의 감시영역을 최대화하는 타부 서치 알고리즘을 제안하며, 효율적인 검색을 위해 타부 서치 알고리즘의 새로운 이웃해 생성 동작을 제안한다. 제안된 알고리즘은 네트워크의 최대 감시영역과 실행속도 관점에서 성능을 평가하며, 평가 결과에서 제안된 알고리즘이 기존의 알고리즘에 비해 성능이 우수함을 보인다.

Keywords

Ⅰ. 서 론

무선 센서 네트워크 기술은 물리적인 환경을 감시하기 위한 저비용 고효율의 수단을 제공한다. 무선 센서 네트워크는 저비용의 센서 노드로 구성되어 있으며, 관심있는 영역에 대하여 현상을 감시하고 감시결과를 기지국으로 전송하는 구조를 가진다. 이러한 구조를 이용하여 무선 센서 네트워크는 환경 감시, 응급 상황, 산업진단 등 다양한 분야에 사용된다[1].

무선 센서 네트워크에서 사용되는 센서 노드는 극복 해야하는 몇 가지 문제점을 가진다. 즉 센서 노드는 대부분 제한된 자체 전력만으로 동작하고 메모리와 CPU 와 같은 노드의 자원이 부족함에 따라 노드의 전력소모를 최소화하고 노드의 생존기간을 최대화하기 위한 노력이 필요하다. 노드의 생존기간을 연장하면서 최대 감시영역을 높일 수 있는 한 가지 방법으로 효과적인 센서 노드 배치 방식을 사용하는 것이다. 센서 노드 배치 방식은 제한된 개수를 가진 센서 노드를 계획적인 방식을 이용하여 노드를 배치하는 것이다. 다양한 감시 응용 프로그램을 수행하는 무선 센서 네트워크는 감시 영역 내에서 하나 이상의 위치에 배치된 센서 노드로 구현될 수 있다. 특히 비용측면에서 이러한 센서 노드에 대한 최적의 위치를 결정하는 것은 중요한 문제이다. 센서 노드의 위치는 에너지 소비와 노드의 생존기간, 감시 영역에 중요한 영향을 미친다[2].

무선 센서 네트워크에서 센서 노드 배치 문제는 많은 수의 노드로 인하여 그 위치를 결정하는데 방대한 계산량이 필요하다. 노드 위치 결정 문제는 조합 최적화 문제로 NP-hard 문제로 증명되어 있다[2]. 특히 조합 최적화 문제는 근사치 방식을 이용하여 주로 해결하고 있다. 조합 최적화 문제에서 최적해(global solution)를 찾기 위해 모든 가능한 후보해(candidate solution)를 나열하여 해를 결정하는 완전 검색 알고리즘(exhaustive search algorithm)은 일반적인 방식이다. 그러나 완전 검색 알고리즘은 방대한 계산량으로 인하여 필요한 해를 결정하는 데 어려운 점이 있다. 따라서 계산의 어려움과 계산량을 줄이기 위해 최적해 대신에 최적해에 가까운 해를 찾을 수 있는 메타 휴리스틱 알고리즘이 대안으로 제시되고 있다[3].

본 논문에서는 센서 노드의 감시영역을 최대화하기 위한 센서 노드 배치 문제에 대하여 메타 휴리스틱 알고리즘인 타부 서치 알고리즘을 제안한다. 효율적으로 좋은 결과를 얻기 위해 제안된 알고리즘에서는 새로운 이웃해 생성 방식을 제안하며, 제안된 알고리즘을 평가하기 위해 다양한 조건하에서 감시영역과 알고리즘 실행시간 관점에서 기존의 다른 알고리즘과 비교 평가한다.

 

Ⅱ. 관련연구

네트워크의 감시영역을 늘이기 위한 연구는 꾸준히 진행되었다. Ke et al. [4]은 최소 개수의 센서 노드를 배치하여 전체 네트워크를 감시하기 위한 문제가 NP-complete임을 증명하였다. Chakrabarty et al. [5]은 3차원 감시영역에서 센서 배치 비용을 최소화하기 위한 선형 모델을 제시하였다. Rebai et al. [6]은 그리드 형태의 네트워크에서 감시영역을 최대화하기 위해 정수 선형 프로그래밍 모델을 제안하였다.

최근에는 최적화 문제를 해결하기 위해 생물학적 기술을 기반으로 한 인공 지능 방식을 사용하고 있다. 특히 센서 네트워크에서 센서 노드 배치 문제를 위하여 PSO(particle swarm optimization) 알고리즘을 적용하고 있다. 대표적인 PSO 알고리즘으로 IPO(indivisual particle optimization) [7], VFCPSO(virtual force directed co-evolutionary particle swarm optimization) [8], IPSO (improved particle swarm optimization) [9] 등이 있다.

 

Ⅲ. 문제의 정식화

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

Notations

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

본 논문의 목적함수는 무선 센서 네트워크에서 일정한 수를 가진 센서 노드를 이용하여 네트워크 감시 영역을 최대화하는 것이다. 따라서 제안된 네트워크 모델에서 감시영역을 최대화를 위한 문제는 다음과 같은 목적함수를 최대화하는 조합 최적화 문제로 정식화할 수 있다.

최대화

관하여

식 (1)은 네트워크 감시영역을 최대화하는 목적함수를 나타낸다. 식(2)는 네트워크의 모든 영역을 나타낸다. 식 (3)은 센서 노드 ni와 네트워크의 한 지점 pjk 간의 거리가 전송거리보다 짧은 경우 1을 돌려주고 그렇지 않을 경우 0을 돌려주는 이진함수를 나타낸다. 식 (4)는 센서 노드 ni와 네트워크의 한 지점 pjk 간의 유클리드 거리를 나타내는 함수이다.

 

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

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

단계 A. 인코딩 설계

단계 B. 초기해 생성

단계 C. 이웃해 생성

단계 D. 타부리스트 갱신

단계 E. 정지 기준을 만날 때까지 단계 C, D 반복

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

4.1. 인코딩 설계

제안된 알고리즘에서는 센서 노드들의 좌표에 대한 집합을 해의 인코딩으로 사용한다. 본 논문에서는 해의 인코딩을 위해 센서 노드의 위치는 랜덤하게 미리 결정하고, 이웃해 생성방식에 따라 센서 노드의 위치는 변경된다. 그림 1은 센서 노드의 좌표를 구성된 해의 인코딩을 나타낸다.

그림 1.인코딩 Fig. 1 Encoding

4.2. 초기해 생성

초기해 생성은 모든 센서 노드에 대하여 정해진 네트워크 크기 내에서 랜덤하게 노드의 위치를 결정하는 과정이다. 본 논문에서는 제안된 인코딩 방식에 적합한 초기해를 생성하여 제안된 타부 서치 알고리즘에 적용한다. 생성된 초기해에 대하여 목적함수인 네트워크 감시영역을 계산하고, 그 해에 대한 정보를 타부리스트에 저장하고 임시 최적해로 등록한다.

4.3. 이웃해 생성

메타휴리스틱 알고리즘에서 최적의 해를 찾기 위해 현재해에서 새로운 해를 생성하는 이웃해 생성 방법은 가장 중요한 단계이다. 제안된 타부 서치 알고리즘에서도 이웃해 생성을 위해 2가지 이웃해 생성 방법을 제안한다. 첫 번째 방법은 현재 센서 노드의 좌표에서 인접한 좌표로 이동하는 인접 이동방법이고, 다른 한 가지 방법은 센서 노드의 (x, y) 좌표를 서로 바꾸는 교환 이동방법이다.

먼저 인접 이동방법은 현재 센서 노드가 위치한 좌표(x, y)에서 인접한 좌표로 이동하는 것이다. 그림 2처럼 센서 노드의 좌표가 s1(x, y) 일 경우 인접한 좌표인 8개의 좌표로 이동할 수 있다. 같은 방식으로 현재해에 포함된 모든 센서 노드에 대하여 적용한다. 따라서 모든 센서 노드는 최소 3개부터 최대 8개의 좌표로 이동함으로써 그 개수만큼 새로운 이웃해를 생성할 수 있다. 두 번째로 교환 이동방법은 현재 센서 노드의 좌표 (x, y)를 서로 교환하여 좌표 (y, x)로 이동하는 것이다. 앞선 인접 이동방법을 사용하였을 때 인접한 좌표에 대해서만 해를 구할 수 있기 때문에 지역 최적해(local optimum)에 빠질 수 있다. 이를 해결하기 위해 좌표 교환 이동방법을 사용하여 인접하지 않는 다른 좌표로도 이동함으로 써 지역 최적해 문제를 해결하고자 한다. 그림 3은 현재해에 대한 좌표 이동방법을 적용한 그림이다.

그림 2.인접 이동 Fig. 2 Neighbor move

그림 3.교환 이동 Fig. 3 Swap move

4.4. 타부리스트

타부리스트는 반복되는 해를 제거하고 검색되지 않은 해의 영역을 탐색할 수 있도록 해 주는 방법이다. 동적으로 타부리스트의 크기를 변화시키는 방법은 NP-hard 문제에 대하여 효과적으로 좋은 결과를 검색하는 데 중요한 역할을 한다. 본 논문에서 제안된 알고리즘은 N개의 센서 노드에 대하여 타부리스트의 크기를 20번 주기마다 N과 3N사이의 랜덤 값으로 변화시킨다. 타부리스트가 포화 상태가 되면 가장 오래된 해를 삭제하고 새로운 해를 추가하는 방식으로 타부리스트를 관리한다.

4.5. 정지 기준

제안된 타부 서치 알고리즘의 정지 기준은 정해진 진행 횟수로 설정된다. 알고리즘 진행상에서 제안된 이동방법을 수행하여 새로운 최적해가 연속적으로 발생되지 않는 횟수가 정해진 진행 횟수에 도달하면 제안된 알고리즘은 실행을 멈춘다.

 

Ⅴ. 성능평가

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

성능평가를 위해 노드의 전송범위(R)는 20, 센서 노드의 개수(N)는 네트워크의 크기에 따라 다르게 구성하였다. 네트워크의 크기는 M × M m2 로 설정하였으며, M은 100, 200, 300으로 하였다. 각 알고리즘은 10번씩 시도하여 평균값으로 결과로 나타내었다.

그림 4(a)는 네트워크의 크기 M이 100이고 센서 노드의 수가 6에서 14일 때 센서 노드의 감시영역을 나타낸 것이다. 막대그래프의 값은 10번 시도한 결과의 평균값을 나타낸 것이고, 막대그래프 위의 에러 바(error bar)는 표준편차를 의미한다. 그림에서 제안된 알고리즘이 기존의 방식에 비해 전반적으로 다른 알고리즘에 비해 감시영역이 넓음을 알 수 있다. 네트워크 크기가 작은 경우에는 적은 수의 센서 노드만으로도 충분히 감시영역 대부분을 감시할 수 있음을 알 수 있다. 그림 4(b)는 M = 200이고, N이 30에서 50일 때 센서 노드의 감시영역을 비교한 것이다. 그림에서 제안된 타부 서치 알고리즘은 다른 알고리즘에 비해 성능이 우수함을 볼 수 있다. 그림 4(c)는 M = 300이고, N이 50에서 90일 때 센서 노드의 감시영역을 나타낸 것이다. 앞선 결과와 마찬가지로 제안된 타부 서치 알고리즘이 기존의 알고리즘에 비해 성능이 우수함을 알 수 있다. 네트워크 크기가 증가하더라도 제안된 타부 서치 알고리즘이 기존의 다른 방식에 비해 성능이 우수함을 볼 수 있었다. 이는 제안된 타부 서치 알고리즘이 기존의 검색 방식보다 성능이 우수함을 나타내며 기존의 검색 방식은 로컬 최적해에 수렴한 반면에 제안된 알고리즘은 보다 향상된 결과를 가진 해에서 수렴하기 때문이다. 즉, 제안된 타부 서치 알고리즘의 이웃해 생성방식인 인접 이동방식과 교환 이동방식이 효과적으로 동작하고 있음을 나타낸다. 또한 결과에서 어떠한 검색을 수행하지 않는 랜덤 방법보다 메타휴리스틱 방법을 사용하는 방법이 더 우수함을 볼 수 있다.

그림 4.센서 노드 수에 따른 감시영역 (a) M=100 (b) M=200 (c) M = 300 Fig. 4 Coverage according to the number of sensors (a) M=100 (b) M=200 (c) M=300

그림 5는 그림 4에서와 같은 조건에서 알고리즘의 평균 실행시간을 비교한 것이다. 작은 크기의 네트워크에서는 제안된 타부 서치 알고리즘과 랜덤 방법이 실행시간이 빨랐다. 제안된 알고리즘은 PSO 알고리즘과 마찬가지로 이웃해를 생성하지만 빠른 최적해 탐색으로 실행시간이 단축되었다. 그러나 네트워크의 크기가 커짐에 따라 이웃해 생성을 하지 않는 랜덤 방식이 가장 빠르고 제안된 타부 서치 알고리즘이 PSO 알고리즘보다 조금 더 느림을 알 수 있다. 이것은 네트워크 노드의 밀도가 커짐에 따라 제안된 타부 서치 알고리즘이 PSO 알고리즘보다 더 많은 이웃해 생성을 하기 때문이다. 하지만 제안된 타부 서치 알고리즘이 기존의 방식에 비해 비슷한 실행시간 내에서 더 넓은 감시영역을 찾고 있음을 알 수 있다. 결론적으로 성능평가 결과에서 제안된 알고리즘이 NP-hard 문제인 센서 노드 배치문제를 적정한 실행시간 내에 더 넓은 감시영역을 찾고 있으며 센서 노드 배치문제를 효과적으로 해결할 수 있음을 알 수 있었다.

그림 5.평균 실행 시간 (a) M=100 (b) M=200 (c) M=300 Fig. 5 Average execution time (a) M=100 (b) M=200 (c) M=300

 

Ⅵ. 결 론

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

References

  1. Y. C. Tseng, M. S. Pan, and Y. Y. Tsai, "Wireless sensor networks for emergency navigation," Computer, vol. 39, no. 7, pp. 55-62, 2006. https://doi.org/10.1109/MC.2006.248
  2. F. Oldewurtel and P. M¨ah¨onen, "Analysis of enhanced deployment models for sensor networks," in Proceedings of the 71st IEEE Vehicular Technology Conference, pp. 1-5, 2010.
  3. F. Glover, "Future paths for integer programming and links to artificial intelligence," Computers and Op. Res., vol. 5, pp. 533-549, 1986. https://doi.org/10.1016/0305-0548(86)90048-1
  4. W. C. Ke, B. H. Liu, and M. J. Tsai, "The criticalsquare-grid coverage problem in wireless sensor networks is NP-complete," Computer Networks, vol. 55, no. 9, pp. 2209-2220, 2011. https://doi.org/10.1016/j.comnet.2011.03.004
  5. K. Chakrabarty, S. S. Iyengar, H. Qi, and E. Cho, "Grid coverage for surveillance and target location in distributed sensor networks," IEEE Transactions on Computers, vol. 51, no. 12, pp. 1448-1453, 2002. https://doi.org/10.1109/TC.2002.1146711
  6. M. Rebai, H. Snoussi, L. Khoukhi, and F. Hnaien, "Linear models for the total coverage problem in wireless sensor networks," in Proceedings of the 5th IEEE International Conference on Modeling, Simulation and Applied Optimization, pp. 1-4, 2013.
  7. H. M. Ammari, "On the problem of k-coverage in mission oriented mobile wireless sensor networks," Computer Networks, vol. 56, no. 7, pp. 1935-1950, 2012. https://doi.org/10.1016/j.comnet.2012.02.008
  8. X. Wang and S. Wang, "Hierarchical deployment optimization for wireless sensor networks," IEEE Transactions on Mobile Computing, vol. 10, no. 7, pp. 1028- 1041, 2011. https://doi.org/10.1109/TMC.2010.216
  9. L. Zhiming and L. Lin, "Sensor node deployment in wireless sensor networks based on improved particle swarm optimization," in Proceedings of ASEMD '09, pp. 215-217, 2009.

Cited by

  1. 무선 센서 네트워크에서 해양 수색 및 구조를 위한 에너지 최적화 알고리즘 vol.22, pp.4, 2015, https://doi.org/10.6109/jkiice.2018.22.4.676
  2. A dynamic heuristic for WSNs routing vol.8, pp.1, 2015, https://doi.org/10.1080/23311916.2021.1919040