• Tidak ada hasil yang ditemukan

3.2 Adaptive Sampling Kriging Algorithm

3.2.2 제안하는 알고리즘

Kriging 방법은 정확한 목적함수 영역을 보간하기 위해 적절한 수의 샘플이 필요 하다. 하지만 목적함수 영역을 모를 때 샘플의 수를 지정하기란 어려운 문제가 있 다. 이러한 문제를 해결하기 위해 본 논문에서는 ASKA(adaptive sampling kriging algorithm)를 제안한다. ASKA는 MJS를 이용하여 초기해를 생성한다. 3.1.2 (1)에서 설명한 것처럼 MJS는 임의성을 유지하면서 문제영역 전체에 샘플을 뿌리는 방식으 로, 효과적인 샘플링을 할 수 있다. 그림 3.7은 샘플 수가 25개로 동일하고 목적함 수가 식 3.3일 때, 보간된 대리모델의 목적함수 영역을 나타낸다. 그림 3.5.(a)의 실 제 문제 영역과 비교 했을 때, MJS가 더 효과적인 초기해 생성 방법이라고 할 수 있다. 또한 ASKA는 두 가지 개념을 사용하여 함수호출 횟수를 줄이면서, 추가되는 샘플 수를 효과적으로 조절한다.

a b

c d

그림 3.7. 3차원과 등고선으로 나타낸 대리모델. (a)랜덤 샘플링으로 생성한 3차원 영역.

(b)랜덤 샘플링으로 생성한 등고선. (c)MJS로 생성한 3차원 영역. (d)MJS로 생성한 등고선.

Fig. 3.7. Three-dimensional plot and contour plot of kriging surrogate model.

(a)Three-dimensional plot using random sampling. (b)Contour plot using random sampling. (c)Three-dimensional plot using MJS method. (d)Contour plot using

MJS method.

그림 3.8. CSS를 이용해 샘플을 생성하는 예시.

Fig. 3.8. Example of generating samples by CSS.

(1) Compact Search Sampling

Compact Search Sampling(CSS)은 해 근처에 샘플을 추가함으로써 정확도를 향 상시키는 방법이다. CSS를 실행하기 위해, MATLAB의 contour 함수로부터 얻을 수 있는 대리모델의 등고선 정보가 사용된다[51].

먼저, 초기 샘플 또는 기존 샘플로 생성된 대리모델로 대략적인 목적함수 영역이 추정된다. 대리모델은 실제 영역이 아니고 보간된 값이므로, 대리모델을 구성하는 점들을 단순히 비교해서 추정 최적해를 추가적인 함수호출 없이 계산할 수 있다.

하나의 CSS 샘플은 추정 최적해에 생성한다. 등고선 정보를 이용하여 추정 최적해 근처를 둘러싸고 있는 가장 가까운 점들을 구할 수 있는데, 그중 한 점을 또다른 CSS 샘플로 추가한다. 두 점에서 함수 호출을 통해 실제 값이 계산된다.

그림 3.8은 CSS 샘플이 생성되는 예시를 보여준다. 좌측 그림에서 배경에 보이는 등고선은 검정색 점으로 표시된 기존 샘플들에 의해 생성된 kriging 대리 모델이다.

그림을 확대해보면, 계산에 의해 정해진 최적점과 파란색 점 중 점 하나가 붉은색 으로 표시되어있다. 두 붉은색 점에서 함수 호출이 이루어진다.

(2) Exclusive Space-Filling Method

미탐색 지역의 최적해를 탐색하는 능력을 최대화하고, 해의 다양성을 보장하기 위해 ASKA는 변이를 생성하는 수단으로 Exclusive Space-Filling Method(ESM)를 사용한다. 기존 space filling method는 목적함수 영역에 격자를 만들고 기존 샘플과 거리를 비교하여 가장 멀리 떨어진 지점에 변이를 생성하는 방법이다. 그림 3.8.(a) 에서 검정색 격자가 전체 목적함수 영역을 나누고 있고 각 격자점들이 새로운 샘플 의 후보이다. 먼저, dstij-p라고 표기된 각 격자점에서 샘플까지 거리가 계산된다. 이

때, (i, j)는 격자점의 번호를 나타내고, p는 샘플의 번호를 나타낸다. 그리고 lij 라고 표기된 각 격자점의 최소 거리가 각 점의 dstij-p의 비교를 통하여 계산된다. 예를 들어, 격자점 (1, 1)에서 최소 거리는 dst11-1이다. 마지막으로, 추가적인 점이 최소 거리가 가장 큰 점, 다시 말해서 기존 샘플에서 가장 멀리 떨어진 점에 생성된다.

하나의 샘플이 추가되면, 새롭게 생성된 샘플을 포함하여 전체 과정이 반복되고, 변 이 수가 충족될 때 까지 알고리즘을 반복한다. ESM과 기존 space-filling method의 차이점은, ESM은 격자점 중 배타지역에 포함된 샘플들을 배제한다는 점이다. 샘플 이 존재하는 영역을 구분하기 위해서 ESM은 생성된 대리모델의 등고선 정보를 이 용한다. 그림 3.10에서 배타 지역은 붉은색 실선으로 표시되어있고, 그 영역은 예상 된 최적해를 둘러싸는 가장 먼 등고선으로 정의된다. 배타 지역은 샘플이 존재하므 로, 비교적 신뢰성이 있는 영역으로 간주한다. 경계가 정해지면, 배타 지역 내부의 격자점들은 후보에서 제외가 된다. 예를 들어, 그림 3.9.(b)에서 추가되는 점은 격자 점 (3, 4), (3, 5), (4, 3), (4, 4), (4, 5), (5, 3), (5, 4), (5, 5)를 제외한 격자점 중 최 소 거리가 가장 먼 점에 생성된다. 전체 문제영역에 걸쳐서 샘플링을 하는 대신, ESM은 샘플이 존재하는 지역, 즉 배타지역에 추가적인 샘플 생성을 방지하여 함수 호출횟수를 줄이고 해의 다양성을 보장해준다.

a b

그림 3.9. ESM의 개념도. (a)(1, 1)점에서 거리 계산. (b)거리와 배타 지역을 고려한 변이 생성.

Fig. 3.9. Conceptual Schematic of exclusive space-filling method. (a)Calculation of distance from lattice point (1, 1). (b)Mutant generation considering distance and

exclusive area.

그림 3.10. 배타 지역 설정 예시.

Fig. 3.10. Setting of exclusive area ASKA의 구현 과정은 아래와 같고 그림 3.11에 나타난다.

Step 1. 문제 정의

목적함수를 설정하고, 설계변수의 최대 및 최소 범위, 초기 샘플 개수, 종료 조건 과 같은 제한 사항 등을 정의한다.

Step 2. 초기 샘플 N개 생성 : MJS

초기 샘플을 전 문제영역에 걸쳐 N개 생성한다. 모든 샘플들은 MJS를 이용하여 문제영역에 고르게 분포되고 임의성을 가지면서 생성된다. 생성된 초기 샘플을 이 용하여 대략적인 목적함수영역이 추정될 수 있다.

Step 3. Kriging 대리 모델 생성

존재하는 N개 샘플로 kriging 대리 모델을 생성한다. 이때, 추가적인 함수호출은 필요하지 않고 기존 샘플을 이용하여 목적함수 영역을 보간하여 추정된 목적함수 영역이 생성된다. 이때, 추정된 영역의 최적점을 각 점의 단순비교를 통해 계산할 수 있다. MATLAB의 contour 함수를 이용하여 값이 같은 지점들의 등고선 정보를 얻을 수 있다.

Step 4. CSS 샘플 추가

두 개의 CSS 샘플이 kriging 대리 모델의 추정된 최적점과 최적점을 둘러싸는 가장 가까운 등고선 상에 존재하는 임의의 점에 생성된다. 이를 통해 세대가 지날 수록 해의 정확도를 향상시킨다.

Step 5. ESM 샘플 추가

Kriging 대리모델의 등고선 정보를 이용하여 추정 최적점을 둘러싸고 있는 가장 먼 등고선으로 배타 지역을 설정한다. 변이는 배타 지역을 제외한 격자점 중 기존 샘플과 가장 멀리 떨어진 격자점에 생성된다. 변이의 개수가 만족 될 때까지 추가 된 샘플을 포함하여 ESM을 반복한다.

Step 6. 수렴성 판별

Step 1에서 정의된 수렴 조건을 만족하면 알고리즘이 종료되고, 최적해가 도출된 다. 수렴 조건은 추정 최적해가 개선되지 않는 상태가 되면 알고리즘을 종료한다고 설정하였다. 만약 수렴 조건을 만족하지 않으면 Step 3으로 되돌아가 추가된 샘플 을 포함한 샘플 N개로 알고리즘을 반복한다.

그림 3.11. ASKA의 순서도.

Fig. 3.11. Flow chart of the ASKA.