Engineering
-
최적설계 | 비제약조건 문제 수치해법(3): 구간감소법Engineering/Optimum Design 2025. 3. 28. 18:00
1. 구간감소법 목적함수가 간단하면 최적성의 필요조건과 충분조건을 고려하여 이동거리를 해석적으로 결정할 수 있다. 그러나 대부분의 문제는 목적함수가 간단하지 않기 때문에 해석적 풀이가 어려우므로, 이동거리를 수치적으로 결정하는 방법들이 고안되었다. 이때 이동거리를 유일한 변수로 가지고 있는 함수가 일정 구간에서 하나의 최소값이 존재한다고 가정한다. 수치적 방법을 이용하는 구간감소법은 이동거리를 하나의 값이 아닌 불확실 구간으로 결정하며, 해당 구간의 길이가 허용오차보다 작아질 때까지 반복해서 줄여간다. 이는 불확실 구간에서 함수값을 계산하고, 해당 값들을 비교하여 최소값이 없는 구간을 제거함으로써 이루어진다. 불확실 구간의 길이가 허용오차보다 작아지면 상한과 하한의 평균값으로 이동거리를 결정한다. ..
-
최적설계 | 비제약조건 문제 수치해법(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_{..
-
최적설계 | 비제약조건 문제 수치해법(1): 최속강하법Engineering/Optimum Design 2025. 3. 14. 18:00
1. 경사도 기반 수치해법 비선형·비제약조건 최적설계문제는 해석적인 방법으로 다루기에는 다소 무리가 있어, 이를 풀기 위한 수치적 방법들이 개발되었다. 경사도 기반 수치해법은 이러한 문제를 다루는 수치적 방법들 중 가장 기본적인 방법으로, 초기 설계를 시작으로 최적성 조건을 만족할 때가지 동일한 계산을 되풀이하며 국소적 최소점을 탐색한다. 경사도 기반의 최적화 방법은 k+1번째 연산에서 아래와 같은 형식으로 기술된다. 아래와 같이 기술된 반복법은 최적성 조건들을 만족하거나 종료 판정 기준을 충족할 때까지 계속된다. 이 반복 방법은 비선형·비제약조건 문제뿐만 아니라 제약조건 문제에도 적용 가능하다. $$ \begin{align} \textbf{x}^\left( k + 1 \right) = \textb..
-
최적설계 | 파이썬 기반 선형계획문제 알고리즘 scipy.optimize.linprogEngineering/Optimum Design 2025. 1. 31. 18:00
1. SciPy 패키지 SciPy는 파이썬 기반의 오픈소스 패키지로, 최적화를 비롯하여 적분, 보간, 미분방정식 등의 과학기술 계산 문제를 다루기 위한 다양한 알고리즘을 제공한다. 파이썬 기반의 연산 패키지인 NumPy와도 호환이 가능해 복잡하게 형식을 정의할 필요가 없어 편리하게 이용할 수 있다. 해당 라이브러리는 아래 명렁어를 명령 프롬프트에 입력하여 설치할 수 있으며, 아래 링크로 접속하면 SciPy 라이브러리에 대한 설명을 확인할 수 있다.pip install scipy SciPy User Guide — SciPy v1.15.1 ManualSciPy User Guide SciPy is a collection of mathematical algorithms and convenience funct..
-
최적설계 | 심플렉스법(2)Engineering/Optimum Design 2025. 1. 24. 18:00
1. 인위변수 표준화한 선형계획문제의 기저해가 음수라면, 해당 설계대안은 기저유용해가 아니므로 심플렉스법을 적용할 수 없다. 이때 음이 아닌 값을 갖는 인위변수(artificial variable)를 도입하여 심플렉스법을 적용하면 초기 기저유용해를 찾을 수 있으며, 해당 초기 기저유용해를 시작으로 심플렉스법을 적용하여 최적해를 탐색할 수 있다. 심플렉스법을 총 두 번 적용하는 것이다. 단, 첫 번째로 심플렉스법을 적용할 때에는 인위변수를 소거하기 위해 인위가격함수를 정의하고, 인위변수를 비기저변수로 만듦으로써 인위가격함수를 최솟값인 0으로 만드는 것을 목표로 한다. 인위가격함수는 인위변수의 합으로 다음과 같이 정의한다. $$ \begin{align} \omega=\sum x_j \end{align}$..
-
최적설계 | 심플렉스법(1)Engineering/Optimum Design 2025. 1. 17. 18:00
1. 선형계획문제의 볼록성 일반적인 최적설계문제에서 등호제약조건이 선형이고 부등호제약조건이 볼록이면, 해당 설계문제의 유용집합은 볼록집합이다. 만약 해당 유용집합 내에서 도출한 설계대안이 국소적 최소라면, 해당 설계대안은 전역적 최소이다. 선형계획문제에서는 모든 함수가 선형이므로 선형계획문제는 볼록집합이며, 하나의 국소적 최적이 존재한다면 해당 설계대안이 전역적 최적해이다. 또한 선형계획문제에서의 최적해는 항상 유용영역의 경계 부분, 특히 유용영역의 꼭짓점 중 하나에 존재한다. 이는 최적해가 유용영역의 내부에도 존재할 수 있는 일반적인 비선형문제와는 다르다는 것을 보여준다. 2. 선형계획문제의 기저해 표준선형계획문제는 일반적으로 등호제약조건의 수보다 설계변수의 수가 많아 무한 가지의 설계대안이 도..
-
최적설계 | 선형계획법Engineering/Optimum Design 2025. 1. 10. 18:00
1. 선형계획법 목적함수와 제약함수가 설계변수에 대하여 선형함수인 최적설계문제를 선형계획문제(linear programming problem)라고 한다. 선형계획문제의 모든 목적함수 또는 가격함수(cost function)와 제약조건은 다음과 같은 형태로 나타낼 수 있다. $$ \begin{align} f \left( \mathbf{x} \right) &= c_1x_1 + c_2x_2 + \cdots + c_kx_k \\\\ &= \sum_{i=1}^{k}c_ix_i \\\\ &= \mathbf{c}^T\mathbf{x} \end{align}$$ $$ \begin{align} a_{i1}x_1 + a_{i2}x_2 + \cdots + a_{ik}x_k &\leq b_i~~~~\Leftrightarro..
-
최적설계 | 카루시-쿤-터커 KKT 최적성 조건(2)Engineering/Optimum Design 2024. 10. 18. 18:00
1. KKT 최적성 조건의 대안 형식 앞서 소개한 KKT 최적성 조건에서 부등호제약조건을 완화변수 없이 나타내보자. 표준화된 최적화 문제를 완화변수 없이 라그랑주 함수로 나타내면 다음과 같다. $$ \begin{align} L \left( \textbf{x} \right) &= f\left ( \textbf{x} \right)+\sum_{i=1}^{p}v_{i}h_i\left( \textbf{x} \right)+\sum_{j=1}^{m}u_{j} g_{j}\left ( \textbf{x} \right ) \\\\ &=f\left ( \textbf{x} \right ) + \textbf{v}^{T}\mathbf{h}\left ( \textbf{x} \right ) + \textbf{u}^{T} \mat..