DOI QR코드

DOI QR Code

A Study on the Performance Improvement of Harmony Search Optimization Algorithm

HS 최적화 알고리즘 성능 향상에 관한 연구

  • Lee, Tae-Bong (Department of Electronic Engineering, Gachon University)
  • 이태봉 (가천대학교 전자공학과)
  • Received : 2021.08.09
  • Accepted : 2021.10.23
  • Published : 2021.10.31

Abstract

Harmony Search(HS) algorithm is an emerging meta-heuristic optimization algorithm, which is inspired by the music improvisation process and has been successfully applied to solve different optimization problems. In order to further improve the performance of HS, this paper proposes a new method which is called Fast Harmony Search(FSH) algorithm. For the purpose, this paper suggest a method to unify two independent improvisation processes by newly defining the boundary value of a object variable using HM. As the result, the process time of the algorithm is shorten and explicit decision of bandwidth is no more needed. Furthermore, exploitative power of random selection is improved. The numerical results reveal that the proposed algorithm can find better solutions and is faster when compared to the conventional HS.

Harmony Search(HS) 알고리즘은 음악 즉흥 연주 프로세스에서 영감을 받은 메타 휴리스틱 최적화 알고리즘으로 다양한 최적화 문제를 해결하는 데 성공적으로 적용되어 왔다. 본 논문에서는 HS의 성능을 더욱 향상시키기 위해 FSH(Fast Harmony Search) 알고리즘을 제안하였다. 이를 위해 본 논문에서는 HM을 이용하여 목적 변수의 경곗값을 새롭게 정의하여 독립적인 두 개의 화음개선과정을 하나로 통합하는 방법을 제안하였다. 그 결과 알고리즘의 처리 시간이 단축되고 대역폭의 명시적인 결정이 더이상 필요하지 않게 되었다. 또한, 무작위 선택의 활용능력이 향상되었다. 수치적 예시 결과는 제안된 알고리즘이 기존의 HS에 비해 더 나은 해를 찾을 수 있으며 속도 또한 빠르다는 것을 보여준다.

Keywords

Ⅰ. 서론

최근 자연을 모방한 새로운 메타 휴리스틱 최적화 기법에 관한 연구에 대한 강한 요구가 있다. 자연현상을 모방한 알고리즘은 기존 고전적 수학적 알고리즘이 갖는 복잡함과 초깃값에 대한 민감성 등과 같은 단점을 극복하고자 1970년대 이후 많이 고안되어 연구되었다[1-5]. 그 중 대표적인 것이 유전자 알고리즘(GA: genetic algorithm), 개미군집최적화(ACO: ant colony optimization), 그리고 입자군집최적화(PSO: particle swam optimization), 등이 있다[6-8]. 그 중 비교적 최근에 개발된 HS 알고리즘은 음악인이 즉흥적 연주 시 연주자들이 화음을 개선해 나가는 방식을 모방한 것이다[9]. 고전적 기법과 달리 HS와 같은 진화적인 기법(evolutionary algorithm)은 비수학적 알고리즘으로 목적변수에 대한 초깃값을 요구하지 않으며 경사법(gradient search) 대신 확률변수 기법 (stochastic random search)을 기반으로 하고 있다.

진화적 기법의 전역 최적 해를 찾는 성능은 기존 정보를 활용하는 활용능력(exploitative power)과 새로운 영역을 탐색하는 탐색능력(exploration power))에 달려 있다. HS는 이들 둘 간의 균형이 좋고 비교적 구현이 쉬워 다양한 최적화 문제 해결에 성공적으로 적용되어 왔다[10]. 그러나 많은 장점에도 불구하고 알고리즘 매개변수를 고정된 값으로 설정한다거나 매개변수 값을 잘못 설정한 경우 국지 값으로 수렴하게 되는 단점이 있다. 이러한 단점을 극복하고 알고리즘 성능을 향상시키기 위한 많은 노력이 있었다. HS를 개량한 알고리즘으로는 Improved Harmony Search(IHS), Global-best Harmony Search(GHS), 및 Self-adaptive harmony search 등이 있다[11-13]. 또한 이태봉[14]은 HS의 핵심 알고리즘 매개변수 HMCR 값과 새로운 하모니 조성에 대한 확률적 분석을 통해 HS의 활용능력과 탐색능력을 정량적으로 결정하는 방안을 제시하였다.

HS에서 새로운 예비해를 구성할 때 HM을 이용하는 지역탐색과 무작위 선택을 하는 전역탐색은 수식적으로 독립적인 관계에 있다. 본 연구에서는 두 가지 탐색이 하나의 수식을 바탕으로 매개변수 값에 따라 이루어질 수 있도록 하였다. 두 과정이 수식적으로 통합되면 첫째는 알고리즘의 수행 속도가 빨라지며 둘째 HS 알고리즘에서 매우 중요하고 결정하기 어려운 대역폭을 명시적으로 결정하지 않아도 되며 셋째 전역탐색을 HM 값을 기반으로 함으로 전역탐색의 활용능력이 향상된다.

제시된 알고리즘의 효능과 성능을 확인하기 위해 저차원 함수와 고차원 함수를 대상으로 HS와 비교하여 알고리즘의 개선효과를 확인하였다.

Ⅱ. HS 개요

HS는 Geem 등(2001)[9]이 음악 연주가들이 즉흥 연주를 할 때 좋은 하모니를 이루는 과정을 모방하여 제안한 발견적 탐색법이다. 이 과정은 구체적으로 다음과 같은 세 가지 방법을 통해 이루어진다고 할 수 있다.

① 기억 속 음을 연주.

② 기억 속 음을 기준으로 그에 이웃한 음을 연주.

③ 기억에 의존하지 않고 악기의 음역에서 임의로 선택하여 연주.

HS는 위 세 가지 방식을 각각 ‘기억회상’, ‘피치조정’ 및 ‘무작위 선택’으로 구분하여 목적변수 값을 확률적으로 선택해 가며 해벡터(solution vector)를 생성해 목적함수에 적용한다. 이 과정에서 더 좋은 해(화음)가 Harmony Memory(HM)에 저장된 안 좋은 해를 대치한다. HS의 매개변수는 Harmony Memory Size(HMS), Harmony Memory Considering Rate(HMCR), Pitch Adjusting Rate(PAR), 그리고 대역폭 bw가 있다. 알고리즘 구현은 단계별로 다음과 같이 이루어진다.

Step 1. 최적화 문제와 알고리즘 매개변수 초기화.

Step 2. HM 초기화.

Step 3. 새로운 하모니 즉 해 벡터를 생성.

Step 4. HM 최신화.

Step 5. 중단 요건 검사.

Step 6. 중단 또는 Step 3-4 반복

2-1 문제 및 알고리즘 초기화

제한 조건이 없는 최적화 문제는 일반적으로 다음과 같이 나타낼 수 있다.

Min.(or Max.)f(x), x = [x1 x2 ⋯ xn], xi ∊ Bi, (i = 1, ⋯, n)       (1)

(1)식에서 f(x)는 목적함수이고 xi는 목적변수이며 연속이거나 이산적이며 n은 목적변수의 개수이다. Bi는 각 목적변수 범위를 나타내는 집합으로 다음과 같이 정의된다.

Bi = {xi | Li ≤ xi ≤ Ui}, (i = 1, ⋯, n)       (2)

알고리즘 초기화에는 해 벡터를 저장하기 위한 HM의 크기 HMS와 HM에서 목적변수를 선택할 확률값 HMCR 피치조정 여부를 결정할 확률값 PAR 그리고 피치조정을 할 때 적용되는 대역폭 bw 및 알고리즘 반복시수 또는 종료 조건이 필요하다.

2-2 HM 초기화

HM은 알고리즘 수행 과정에서 최신의 좋은 화음 즉, 현재까지 가장 좋은 해를 저장하는 장소로 그 크기 HMS를 정의한 후 균일분포 확률변수에 의해 결정되는 값을 이용하여 다음과 같이 초기화한다.

xji = Li + rand(0, 1)⋅(Ui - Li), i = 1, ⋯, n j = 1, 2, ⋯, HMS       (3)

rand(a, b)은 구간 (a, b)에서 정의되는 균일분포 확률변수에 의해 결정되는 무작위 값이다. HM에 저장된 초기 해 벡터는 다음과 같이 나타낼 수 있다.

\(\begin{aligned}\mathrm{HM}=\left[\begin{array}{c}x^{1} \\ \vdots \\ x^{\mathrm{HMS}}\end{array}\right], x^{j}=\left[\begin{array}{llll}x_{1}^{j} & x_{2}^{j} & \cdots & x_{n}^{j}\end{array}\right], j=1, \cdots\end{aligned}\)       (4)

2-3 새로운 하모니 생성

새로운 하모니, 즉 예비해 xN = {xN1, xN2, ⋯, xNn}는 각 원소 xNi 가 ‘기억회상’, ‘피치조정’ 및 ‘무작위 선택’ 세 가지 방식 중 하나가 확률적으로 선택돼 결정된다. 기억회상과 피치조정은 xNi 을 HM에 저장된 기존 값 중 하나를 기반으로 결정하는 HM 참조방식이고 무작위 선택은 기존 값이 아닌 변수 범위 내에서 임의의 값을 선택하는 방식이다. HM의 참조 여부를 결정하는 확률은 HMCR 값에 의해 다음 식과 같이 결정된다.

\(\begin{aligned}x_{i}^{N} \longleftarrow\left\{\begin{array}{lll}x_{i}^{N} \in\left\{x_{i}^{1}, x_{i}^{2}, \cdots, x_{i}^{\mathrm{HMS}}\right\}, & \text { w.p. } & \text { HMCR } \\ x_{i}^{N}=L_{i}+\operatorname{rand}(0,1) \cdot\left(U_{i}-L_{i}\right) & \text { w.p. } & (1-\mathrm{HMCR})\end{array}\right.\end{aligned}\)       (5)

(5)식에서 HM의 값이 선택된 경우 그 값을 그대로 사용할 것인지 아니면 피치조정을 할 것인지 다시 한번 확률적 결정을 하게 된다. 이때 사용되는 알고리즘 확률 매개변수가 확률값 PAR이며 피치조정 여부는 다음 식과 같이 결정된다.

\(\begin{aligned}x_{i}^{N} \longleftarrow\left\{\begin{array}{ll}x_{i}^{N}+\operatorname{rand}(-1,1) \cdot \mathrm{bw}_{i}, & \text { w.p. HMCR } \cdot \text { PAR } \\ x_{i}^{N}, & \text { w.p. HMCR } \cdot(1-\mathrm{PAR})\end{array}\right.\end{aligned}\)       (6)

(6)식에서 bwi는 변수 xi의 피치 조정 대역폭이다. 결과적으로 새로운 하모니 조성을 위해 각 변수를 선택하는 방식은 ‘기억회상’, ‘피치조정’ 및 ‘무작위 선택’ 세 가지 중 하나이며 각 방식의 확률적 선택은 다음 식 (7)과 같다.

\(\begin{aligned}x_{i}^{N}\left\{\begin{array}{lll}x_{i}^{N} \in\left\{x_{i}^{1}, x_{i}^{2}, \cdots, x_{i}^{H M S}\right\}, & \text { w.p. } & \text { HMCR } \cdot(1-\mathrm{PAR}) \\ x_{i}^{N}=x_{i}^{N}+\operatorname{rand}(-1,1) \cdot \mathrm{bw}_{i}, & \text { w.p. } & \text { HMCR } \cdot \text { PAR } \\ x_{i}^{N}=L_{i}+\operatorname{rand}(0,1) \cdot\left(U_{i}-L_{i}\right), & \text { w.p. } & (1-\mathrm{HMCR})\end{array}\right.\end{aligned}\)        (7)

2-4 HM 최신화

단계 3에서 결정된 새로운 하모니는 목적함수에 적용되어 그 결과를 HM내 가장 나쁜 결과와 비교하여 더 좋은 경우 새로운 하모니는 해당 하모니를 대체한다. 이러한 해벡터 즉 하모니 개선과정을 그림으로 나타내면 그림 1과 같다[14].

HHHHBI_2021_v25n5_403_f0001.png 이미지

그림 1. HS의 하모니 개선과정

Fig. 1. HS process of harmony improvisation

단계 3과 4의 새로운 하모니 생성과 최신화 과정은 미리 설정된 종료 기준을 만족할 때까지 반복된다. 지금까지 설명한 HS의 단계별 알고리즘 전개 과정을 그림으로 나타내면 다음 그림 2와 같다[14].

HHHHBI_2021_v25n5_403_f0002.png 이미지

그림 2. HS 알고리즘의 단계별 최적화 절차

Fig. 2. Optimization step procedure of the harmony search algorithm

Ⅲ. FHS(Fast Harmony Search)

앞에서 살펴봤듯이 기존 HS는 피치조정에 필요한 대역폭의 명시적인 결정이 필요하고 HM을 기반으로 하는 지역탐색과 전역탐색은 서로 독립적인 구조를 갖는다.

본 연구에서는 지역탐색에 필요한 대역폭과 전역탐색을 HM을 기반으로 하나의 구조로 통합하였다. 지금부터 이에 대해 살펴보기로 한다.

(2)식으로 정의된 변수의 경계는 (4)식과 같이 HM에 저장된 값 xji를 이용하여 다음과 같이 나타낼 수 있다.

\(\begin{aligned}\left\{\begin{array}{l}L_{i}=x_{i}^{j}+\left(L_{i}-x_{i}^{j}\right) \\ U_{i}=x_{i}^{j}+\left(U_{i}-x_{i}^{j}\right)\end{array} \quad, i \in 1 \sim n, j \in 1 \sim \mathrm{HMS}\right.\end{aligned}\)       (8)

(8)식을 이용하면 변수 xi의 임의 영역을 변숫값 xji을 중심으로 다음과 같이 정의 할 수 있다.

xji + p ⋅ (Li - xji) ≤ xi ≤ xji + p ⋅ (Ui - xji), i ∊ 1 ∼ n, j ∊ 1 ∼ HMS       (9)

(9)식에서 매개변수 p는 xji를 중심으로 탐색 영역을 결정하며 0 ≤ p ≤ 1 이다. p = 1이면 xi의 영역은 Li ≤ xi ≤ Ui 인 전역이 되고 p < 1인 경우 xji를 중심으로 전역보다 작은 국지영역이 된다. 새로운 변숫값 xNi 결정을 위해 Vi를 다음과 같이 정의하자.

\(\begin{aligned}V_{i}=\left\{\begin{array}{ll}L_{i}, & \text { w.p. } 0.5 \\ U_{i}, & \text { w.p. } 0.5\end{array}\right.\end{aligned}\)       (10)

(10)식을 이용하여 (7)식의 xNi 을 다음 식과 같이 정의하자.

xNi = xji + rand(0, 1) ⋅ p ⋅ (Vi - xji), i ∊ 1 ∼ n, j ∊ 1 ∼ HMS       (11)

그러면 xNi 는 p값에 따라 다음 식 (12)와 같이 나타낼 수 있다.

\(\begin{aligned}x_{i}^{N}=\left\{\begin{array}{ll}x_{i}^{j}+\operatorname{rand}(0,1) \cdot\left(V_{i}-x_{i}^{j}\right) & , \text { if } p=1 \\ x_{i}^{j} & , \text { if } p=0 \\ x_{i}^{j}+\operatorname{rand}(0,1) \cdot p \cdot\left(V_{i}-x_{i}^{j}\right), & \text { if } 0<p<1\end{array}\right.\end{aligned}\)       (12)

(12)식에 따라 결정된 xNi 값은 다음 식 (13)과 같다.

\(\begin{aligned}\left\{\begin{array}{ll}L_{i} \leq x_{i}^{N} \leq U_{i} & , \text { if } p=1 \\ x_{i}^{N}=x_{i}^{j} & , \text { if } p=0 \\ x_{i}^{j}+p \cdot\left(L_{i}-x_{i}^{j}\right) \leq x_{i}^{N} \leq x_{i}^{j}+p \cdot\left(U_{i}-x_{i}^{j}\right) & , \text { if } 0<p<1\end{array}\right.\end{aligned}\)       (13)

(13)식의 관계는 다음과 같이 그림 3.으로 나타낼 수 있다.

HHHHBI_2021_v25n5_403_f0003.png 이미지

그림 3. 식 (13)에 대한 도식적 표현

Fig. 3. Schematic figure for eq. (13)

따라서 p = 1인 경우 xNi 는 xji 값을 중심으로 전역탐색에 의해 결정되고 p = 0인 경우 피치조정 없는 기억회상이 된다. 0 < p < 1인 경우 피치조정이 이루어지며 대역폭은 다음과 같이 나타낼 수 있다.

\(\begin{aligned}\mathrm{bw}_{i}=\left\{\begin{array}{l}\Delta_{i L}=p \cdot\left(L_{i}-x_{i}^{j}\right) \\ \Delta_{i U}=p \cdot\left(U_{i}-x_{i}^{j}\right)\end{array}, p<1\right.\end{aligned}\)       (14)

이제 (11)식의 p를 다음식과 같이 결정하게 되면

\(\begin{aligned}p=\left\{\begin{array}{lll}1, & \text { w.p. } & (1-\mathrm{HMCR}) \\ \delta, & \text { w.p. } & \operatorname{HMCR} \cdot \mathrm{PAR} \\ 0, & \text { w.p. } & \operatorname{HMCR}(1-\mathrm{PAR})\end{array}, \delta<1\right.\end{aligned}\)       (15)

(11)식으로 HS의 구현이 가능하다. (11)식과 (15)식으로 xNi 을 결정하게 되면 (14)식의 대역폭은 xji을 중심으로 폭의 크기가 대칭적인 기존 대역폭과 다르게 |Li - xji|와 |Ui - xji|중 큰쪽의 대역폭이 더 큰 비대칭적인 구조가 되며 이러한 결과는 매우 합리적이라 할 수 있다.

p = 1인 전역탐색의 경우 기존과 달리 HM에 저장된 해를 이용하게 되어 알고리즘의 정보 활용성이 증대된다. 이와 더불어 새로운 방식은 대역폭의 초기화가 필요하지 않으며 전역탐색과 지역탐색이 하나로 통합되어 알고리즘 수행속도가 빠르게 된다.

Ⅳ. 예시 및 성능 비교

기존 알고리즘(HS)과 제시된 알고리즘(FHS) 성능 비교를 위해 4차원 이하 저차원 함수 3개와 n = 10인 고차원 함수 2개를 사용하였다. 다음 표 1은 예시에 사용한 함수들이다. 두 종류 함수 모두에 대해 100번 반복 실행하였다.

표 1. 예시에 사용한 함수

HHHHBI_2021_v25n5_403_t0001.png 이미지

Table 1. Functions for Numerical example

알고리즘 수행을 위해 사용한 매개변수 값은 HMS = 10, HMCR = 0.85, PAR = 0.75 이다. 두 알고리즘의 성능평가를 위한 지표로 알고리즘 평균실행 시간을 통해 수행속도를, 알고리즘 효율성 평가를 위해 평균오차, 표준편차, 최고해 및 허용오차에 대한 성공률을 비교하였다. 이를 위해 저차원 함수의 경우 알고리즘 실행시수를 Maxit = 70,000로 허용오차를 하고 고차원 함수의 경우 Maxit = 100,000로, 로 설정하였다. 다음 표 2는 그 결과를 나타낸다.

표 2. HS vs. FHS 성능 비교

HHHHBI_2021_v25n5_403_t0002.png 이미지

Table 2. performance comparison of HS vs. FHS

표 2에서 보듯이 기존 HS보다 FHS가 저차원과 고차원 모든 함수와 평가지표에서 우수함을 알 수 있다. 본문에서 주장한 것과 같이 알고리즘 수행시간의 차이가 매우 크다는 것을 알 수 있다. 저차원 함수의 경우 평균 2.17배, 고차원 함수의 경우 평균 3.6배 차이가 난다. 허용오차에 대한 성공률 또한 전반적으로 많은 차이가 있으며 차원이 높은 경우 그 차이가 크게 나타남을 보여주고 있다. 목적변수의 수가 많을수록 더 큰 차이를 보이고 있다. 수행속도의 차이는 FHS가 HM 참조와 무작위 선택을 하나로 통합한 결과로 나타나는 효과이다.

Ⅴ. 결론

본 연구에서는 기존 HS에서 서로 독립적인 관계를 갖는 HM 참조와 무작위 선택을 하나의 과정으로 통합하였다. 이를 통하여 기존 HS에서 필수적인 대역폭 설정이 필요 없게 되었고 새로운 목적변수 값을 결정하는 알고리즘 수행시간을 줄일 수 있었다. 또한 전역탐색을 HM을 기반으로 함으로써 알고리즘의 기존 정보 활용성을 높여 전역탐색의 효율성을 높일 수 있었다.

제시한 알고리즘을 종래 HS와 비교한 결과 알고리즘 수행속도가 매우 빨라졌음을 확인 할 수 있었으며 이러한 효과는 목적변수 수가 많을수록 더욱 크게 나타났다. 아울러 다른 성능평가 지표들도 HS보다 우수함을 확인 할 수 있었다. 이것은 FHS에 새롭게 적용되는 매개변수가 지역탐색과 전역탐색에 매우 효과적임을 보여준다.

향후 FHS에서 도입된 매개변수 p의 선택방법 개선을 통해 FHS의 성능을 한 층 더 개선 할 수 있을 것이다. 이와 더불어 IHS 등 그동안 발표된 HS 성능 개선 방식에 FSH를 적용하면 더 좋은 결과가 있을 것으로 기대된다.

References

  1. T. Back, D. Fogel, and Z. Michalewicz, Handbook of Evolutionary Computation. London, U.K.: xford Univ. Press, 1997.
  2. A. E. Eiben and J. E. Smith, Introduction to Evolutionary Computing. New York: Springer-Verlag, 2003.
  3. A. P. Engelbrecht, Fundamentals of Computational Swarm Intelligence. Hoboken, NJ: Wiley, 2006.
  4. J. Kennedy, R. C. Eberhart, and Y. Shi, Swarm Intelligence. San Francisco, CA: Morgan Kaufmann, 2001.
  5. Slowik, A., Kwasnicka, H. Evolutionary algorithms and their applications to engineering problems. Neural Comput. & Applic. 32, 12363-12379, 2020. https://doi.org/10.1007/s00521-020-04832-8
  6. M. Dorigo and G. Di Caro, "Ant colony optimization: a new meta-heuristic," Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat. No. 99TH8406), 1999, pp. 1470-1477, Vol. 2.
  7. EBERHART, Russell; KENNEDY, James. Particle swarm optimization. In: Proceedings of the IEEE international conference on neural networks. 1995. pp.1942-1948.
  8. GOLDBERG, David E.; HOLLAND, John H. Genetic algorithms and machine learning, Machine learning, 1988, 3.2: pp.95-99. https://doi.org/10.1023/a:1022602019183
  9. Z. W. Geem, J. H. Kim, and G. V. Loganathan, "A new heuristic optimization algorithm: Harmony search," J. Simul., vol. 76, no. 2, pp. 60-68, Feb. 2001. https://doi.org/10.1177/003754970107600201
  10. A. A. Al-Omoush, A. A. Alsewari, H. S. Alamri and K. Z. Zamli, "Comprehensive Review of the Development of the Harmony Search Algorithm and its Applications," in IEEE Access, vol. 7, pp. 14233-14245, 2019, https://doi.org/10.1109/access.2019.2893662
  11. MAHDAVI, Mehrdad; FESANGHARY, Mohammad; DAMANGIR, E. An improved harmony search algorithm for solving optimization problems, Applied mathematics and computation, Vol.188, No.2: pp.1567-1579, 2007. https://doi.org/10.1016/j.amc.2006.11.033
  12. OMRAN, Mahamed GH; MAHDAVI, Mehrdad. Global-best harmony search, Applied mathematics and computation, Vol.198, No.2: pp.643-656, 2008, https://doi.org/10.1016/j.amc.2007.09.004
  13. WANG, Chia-Ming; HUANG, Yin-Fu. Self-adaptive harmony search algorithm for optimization, Expert Systems with Applications, Vol.37, No.4, pp.2826-2837, 2010. https://doi.org/10.1016/j.eswa.2009.09.008
  14. T. B. Lee, "Analytic Approach to Determin Algorithm Parameters of HS Optimization," Trans. of KIEE vol. 68, no. 4, pp. 200-206, 2019. https://doi.org/10.5370/KIEEP.2019.68.4.200