-
최적설계 | 비제약조건 문제 수치해법(2): 공액경사법Engineering/Optimum Design 2025. 3. 21. 18:00
1. 공액경사법
공액경사법(conjugate gradient method)은 최속강하법의 수렴률을 개선한 방법으로, 연속된 두 단계에서 서로 직교하는 최속강하 방향들의 중앙을 가로지르도록 방향을 설정하여 최소점을 탐색한다. 공액경사법에서 탐색 방향은 아래와 같이 정의된다. 식을 살펴보면 이전 단계에서의 정보가 포함되어 있는 것을 알 수 있다. 이와 같이 공액경사법은 이전 단계에서의 경사도 벡터와 탐색 방향, 현재 단계에서의 경사도 벡터를 고려하여 탐색 방향을 결정한다.
$$ \begin{align} \textbf{d}^{\left(k\right)} &= -\textbf{c}^{\left(k\right)} + \beta_{k} \textbf{d}^{\left(k-1\right)} \\\\ \beta_{k} &= \left ( \frac{\left\| \textbf{c}^{\left(k\right)} \right\|}{\left\| \textbf{c}^{\left(k-1\right)} \right\|} \right )^{2} = \frac{\textbf{c}^{\left(k\right)}\cdot\textbf{c}^{\left(k\right)}}{\textbf{c}^{\left(k-1\right)}\cdot\textbf{c}^{\left(k-1\right)}} \end{align}$$
이를 강하 조건에 대입하면 아래와 같은 식을 얻을 수 있다. 이때 두 번째 항이 음이거나 0이면 강하 조건을 만족한다. 만약 이전 단계에서 이동거리 필요조건을 만족한다면 두 번째 항이 0이 되므로, 이는 이동거리가 정확하게 결정되는한 공액경사 방향은 강하 방향이라는 것이 보장된다.
$$ \begin{align} \textbf{c}^{\left(k\right)} \cdot \textbf{d}^{\left(k\right)} = -\left\| \textbf{c}^{\left(k\right)} \right\| + \beta_{k}\left(\textbf{c}^{\left(k\right)} \cdot \textbf{d}^{\left(k-1\right)}\right) < 0 \end{align}$$2. 이동거리 결정
탐색 방향을 결정했다면, 주어진 방향을 따라 얼마나 이동할지 결정한다. 해당 단계에서는 설계변수와 탐색 방향이 결정되어 있으므로 목적함수를 아래와 같은 일변수 함수로 볼 수 있으며, 이때 유일한 미지수는 이동거리이다. 이로써 다변수 최소화 문제가 일변수 최소화 문제로 축소된다.
$$ \begin{align} f \left (\textbf{x}^{\left(k+1\right)}\right) = f \left (\textbf{x}^{\left(k\right)}+\alpha_k \textbf{d}^{\left(k\right)}\right) = \overline{f} \left( \alpha_k \right) \end{align}$$
위와 같은 목적함수를 최소화하면 이동거리를 결정할 수 있다. 이때 이동거리를 결정하기 위한 필요조건과 충분조건은 다음과 같다.
$$ \begin{align} \frac{\partial \overline{f} \left( \alpha_k \right)}{\partial \alpha} &= 0 \\\\ \frac{\partial^2 \overline{f} \left( \alpha_k \right)}{\partial \alpha^2} &> 0 \end{align}$$
목적함수의 형태가 간단하다면 최적성의 필요조건과 충분조건을 사용해 이동거리를 해석적으로 결정하는 것이 가능하다. 하지만 대부분의 문제는 목적함수의 형태가 복잡하기 때문에 이동거리를 해석적으로 결정하기 쉽지 않다. 따라서 수치적으로 이동거리를 결정하여 최적점을 탐색하는 방법들이 고안되었다. 아래 링크로 접속하면 이동거리를 결정하는 다양한 수치 방법론을 확인할 수 있다.최적설계 | 비제약조건 문제 수치해법(3): 구간감소법
1. 구간감소법 목적함수가 간단하면 최적성의 필요조건과 충분조건을 고려하여 이동거리를 해석적으로 결정할 수 있다. 그러나 대부분의 문제는 목적함수가 간단하지 않기 때문에 해석적
vedacube.tistory.com
3. 알고리즘
공액경사법 알고리즘 공액경사법 또한 초기 설계변수에서 강하 방향을 정의하고, 그 방향의 절대값이 0이 아니라면 목적함수를 줄이기 위해 해당 방향으로 최대한 멀리 이동한다. 새로운 설계변수를 갱신한 뒤, 해당 설계변수에서 강하 방향을 정의하고 전체 과정을 반복한다. 특정 설계변수 지점에서 경사도의 크기가 허용오차보다 작다면 탐색을 종료한다.
[함께 읽으면 좋은 페이지]
최적설계 | 비제약조건 문제 수치해법(1): 최속강하법
1. 경사도 기반 수치해법 비선형·비제약조건 최적설계문제는 해석적인 방법으로 다루기에는 다소 무리가 있어, 이를 풀기 위한 수치적 방법들이 개발되었다. 경사도 기반 수치해법은 이러한
vedacube.tistory.com
참고문헌
- Arora, J. S. (2016). Introduction to optimum design. Elsevier.반응형'Engineering > Optimum Design' 카테고리의 다른 글
최적설계 | 제약조건 문제 수치해법(1): 설계문제 선형화 (0) 2025.05.02 최적설계 | 비제약조건 문제 수치해법(3): 구간감소법 (0) 2025.03.28 최적설계 | 비제약조건 문제 수치해법(1): 최속강하법 (0) 2025.03.14 최적설계 | 파이썬 기반 선형계획문제 알고리즘 scipy.optimize.linprog (1) 2025.01.31 최적설계 | 심플렉스법(2) (0) 2025.01.24