Introduction to Optimum Design
Design Process, Problem Formulation, and Graphical Analysis
- Engineering Analysis and Optimum Design
- Design Optimization Process
- Problem Formulation
- Standard Optimum Design Model
- Feasible Set and Constraint Status
- Basic Definitions of an Optimum
- Classification of Design Problems
- Graphical Solution Method
- Diagnosing the Formulation
- Minimum Report for an Optimum Design
Reference: Jasbir Singh Arora, Introduction to Optimum Design, 4th ed., Academic Press, 2017, Ch. 1-3.
이 장에서는 optimum design의 수학적 출발점만 정리한다. 개별 구조물의 계산, 소프트웨어 사용법, 단위 변환과 반복적인 설계 예제는 제외한다. 핵심은 공학적 요구사항을 design variable, objective function, constraint로 변환하고, 그 결과로 만들어진 feasible set과 optimum을 정확히 해석하는 것이다.
Engineering Analysis and Optimum Design
Engineering analysis와 engineering design은 입력과 출력의 역할이 다르다.
- Analysis: 설계 $x$와 외부 조건 $d$가 주어졌을 때 시스템 응답 $u$를 계산한다.
- Design: 요구 성능을 만족하도록 설계 $x$를 결정한다.
- Optimum design: 가능한 설계 중 objective function을 가장 작게 만드는 설계를 결정한다.
Analysis model을 추상적으로
\[R(x,u;d)=0\]이라 쓰자. 여기서 $x$는 design variable, $u$는 state 또는 response, $d$는 고정된 data와 operating condition이다. Analysis에서는 $x$가 주어지고 $u$를 계산한다. Optimum design에서는 이 analysis를 반복적으로 호출하면서 $x$를 결정한다.
따라서 optimum design은 analysis를 대체하지 않는다. 오히려 다음과 같은 nested problem을 만든다.
\[x \longrightarrow u(x) \longrightarrow \bigl(f(x,u(x)),g(x,u(x)),h(x,u(x))\bigr) \longrightarrow x_{\mathrm{new}}.\]Conventional design도 trial design을 분석하고 수정한다는 점에서 반복적이다. 차이는 수정 규칙에 있다. Conventional design은 경험과 직관에 크게 의존하지만, optimum design은 명시적인 objective와 constraint를 정의하고 수학적 알고리즘으로 설계를 갱신한다.
Design Optimization Process
공학 시스템의 설계 과정은 다음의 순환 구조로 정리할 수 있다.
- 시스템의 목적과 정량적 요구사항을 정의한다.
- 물리 모델, 데이터, operating condition을 정한다.
- 설계를 표현하는 independent variable을 선택한다.
- Trial design에 대한 engineering analysis를 수행한다.
- Performance와 feasibility를 평가한다.
- Optimization criterion에 따라 design variable을 갱신한다.
- 수렴성, feasibility, engineering validity를 확인한다.
이 과정에서 수학적으로 최적이라는 사실만으로 설계가 완성되지는 않는다. 모델의 가정이 실제 시스템을 충분히 반영하는지, 계산된 설계가 제작 가능하고 물리적으로 타당한지도 별도로 검증해야 한다.
Problem Formulation
Optimum design formulation은 서술형 설계 문제를 수학적 문제로 변환하는 과정이다. 기본 절차는 다음 다섯 단계로 구성된다.
1. Problem description
설계 대상, 목적, operating condition, 성능 요구사항을 명확하게 정의한다. “가볍게 설계한다”와 같은 표현은 objective로 정량화되어야 하며, “안전해야 한다”는 요구는 계산 가능한 constraint로 변환되어야 한다.
2. Data and analysis model
재료 특성, 외부 하중, 비용 계수, 허용 성능과 같은 고정 데이터를 정한다. 동시에 각 trial design의 response를 계산할 analysis model을 정의한다.
3. Design variables
설계자가 독립적으로 선택할 수 있는 양을
\[x=(x_1,x_2,\ldots,x_n)^T\in\mathbb{R}^n\]으로 둔다. $n$은 design degree of freedom이다. 같은 시스템도 design variable의 선택에 따라 서로 다른 optimization problem으로 정식화될 수 있다.
좋은 design variable은 다음 조건을 만족해야 한다.
- 서로 가능한 한 독립적이다.
- 값을 지정하면 하나의 trial design이 결정된다.
- objective와 constraint가 그 변수에 의존한다.
- 물리적 의미와 허용 범위가 명확하다.
4. Objective function
설계의 상대적 우수성을 측정하는 scalar function을
\[f(x)\]로 둔다. 질량, 비용, 에너지 또는 성능 손실 등이 대표적인 objective이다. 서로 다른 물리량을 하나의 objective에 결합할 때는 scale과 단위가 해석에 미치는 영향을 고려해야 한다.
5. Constraints
반드시 만족해야 하는 요구사항을 equality, inequality, bound constraint로 표현한다.
\[h_j(x)=0,qquad j=1,\ldots,p,\] \[g_i(x)\leq0,qquad i=1,\ldots,m,\] \[x^L\leq x\leq x^U.\]Equality constraint는 정확한 관계를 나타내며 feasible set의 차원을 감소시킨다. Inequality constraint는 허용 가능한 영역을 정의한다. 단순 bound는 일반 inequality로 쓸 수 있지만, 수치 알고리즘에서는 그 구조를 직접 이용하는 경우가 많다.
Standard Optimum Design Model
앞의 요소를 결합하면 표준적인 optimum design problem은
\[\begin{aligned} \underset{x\in\mathbb{R}^n}{\operatorname{minimize}}\quad & f(x) \\ \text{subject to}\quad & h_j(x)=0, && j=1,\ldots,p, \\ & g_i(x)\leq0, && i=1,\ldots,m, \\ & x^L\leq x\leq x^U \end{aligned}\]로 쓸 수 있다.
Maximization problem
\[\underset{x}{\operatorname{maximize}}\ F(x)\]은 $f(x)=-F(x)$를 정의하여 minimization problem으로 변환한다. 또한
\[G(x)\geq0\]은 $g(x)=-G(x)\leq0$으로 변환할 수 있다. 이러한 변환은 optimizer를 바꾸지 않는다.
Objective에 양의 상수 $a>0$를 곱하거나 임의의 상수 $b$를 더한
\[\widetilde{f}(x)=af(x)+b\]도 같은 minimizer를 갖는다. Constraint를 양의 상수로 scaling해도 feasible set은 변하지 않는다. 그러나 이러한 scaling은 Lagrange multiplier의 값과 수치 알고리즘의 conditioning에는 영향을 줄 수 있다.
Feasible Set and Constraint Status
Feasible set은 모든 constraint를 만족하는 설계들의 집합이다.
\[\mathcal{S} = \left\{ x\in\mathbb{R}^n: h_j(x)=0,\ g_i(x)\leq0,\ x^L\leq x\leq x^U \right\}.\]$x\in\mathcal{S}$이면 $x$는 feasible design이고, 그렇지 않으면 infeasible design이다. Inequality constraint $g_i(x)\leq0$의 상태는 다음과 같이 구분한다.
\[\begin{cases} g_i(x)=0, & \text{active}, \\ g_i(x)<0, & \text{inactive}, \\ g_i(x)>0, & \text{violated}. \end{cases}\]Equality constraint는 feasible point에서 항상 active이다. 점 $x$에서 active한 inequality의 index set을
\[\mathcal{A}(x)=\{i:g_i(x)=0\}\]이라 한다. Active set은 optimum에서 실제로 설계를 제한하는 성능 요구사항을 나타내며, 이후 KKT condition의 핵심이 된다.
Constraint를 추가하면 feasible set은 작아지거나 그대로 유지된다. 두 feasible set이 $\mathcal{S}_2\subseteq\mathcal{S}_1$을 만족한다면
\[\inf_{x\in\mathcal{S}_1}f(x) \leq \inf_{x\in\mathcal{S}_2}f(x).\]즉 minimization problem에서 요구사항을 추가하면 최적 objective는 일반적으로 개선되지 않는다.
Basic Definitions of an Optimum
$x^\star\in\mathcal{S}$가
\[f(x^\star)\leq f(x) \qquad \text{for all }x\in\mathcal{S}\]를 만족하면 global minimizer이다. 어떤 $\varepsilon>0$가 존재하여
\[f(x^\star)\leq f(x) \qquad \text{for all }x\in\mathcal{S}\cap B_\varepsilon(x^\star)\]이면 local minimizer이다. Global minimizer는 local minimizer이지만 그 역은 일반적으로 성립하지 않는다.
Existence of a global optimum
$f$가 연속이고 feasible set $\mathcal{S}$가 공집합이 아닌 compact set이면 Weierstrass theorem에 의해 global minimizer가 존재한다. 따라서 optimization problem을 정의할 때는 다음을 구분해야 한다.
- $\mathcal{S}=\varnothing$: feasible design이 존재하지 않는다.
- $\inf_{x\in\mathcal{S}}f(x)=-\infty$: objective가 아래로 유계가 아니다.
- Infimum은 유한하지만 달성되지 않는다: finite minimizer가 존재하지 않는다.
- 최소값을 달성하는 점이 하나 이상 존재한다.
Classification of Design Problems
표준 모델은 변수와 함수의 구조에 따라 분류된다.
| Criterion | Classes |
|---|---|
| Constraints | Unconstrained / constrained |
| Functions | Linear programming / nonlinear programming |
| Variables | Continuous / discrete / integer / mixed |
| Regularity | Smooth / nonsmooth |
| Model evaluation | Explicit / analysis-dependent implicit functions |
모든 objective와 constraint가 $x$에 대해 affine이면 linear programming problem이다. 하나라도 nonlinear이면 nonlinear programming problem이다. Discrete variable은 유한한 candidate set에서 값을 선택하고, integer variable은 정수값만 허용한다. Mixed-variable problem은 continuous variable과 discrete 또는 integer variable을 함께 포함한다.
Engineering analysis를 거쳐서만 계산되는 response를 사용하는 함수는 design variable의 implicit function이다. 수학적 표준형은 동일하지만, function evaluation과 sensitivity calculation에 analysis cost가 추가된다.
Graphical Solution Method
Design variable이 두 개인 경우 graphical method는 feasible set과 objective의 관계를 직접 보여준다. 다음 문제를 생각한다.
\[\begin{aligned} \underset{x\in\mathbb{R}^2}{\operatorname{minimize}}\quad & f(x_1,x_2) \\ \text{subject to}\quad & g_i(x_1,x_2)\leq0, \qquad i=1,\ldots,m. \end{aligned}\]Graphical solution은 다음 순서로 구성된다.
- 각 constraint boundary $g_i(x_1,x_2)=0$을 그린다.
- Test point를 사용하여 $g_i(x_1,x_2)\leq0$인 쪽을 판별한다.
- 모든 constraint의 feasible side를 교차하여 $\mathcal{S}$를 구한다.
-
Objective level set
\[\mathcal{L}_c=\{x:f(x)=c\}\]를 그린다.
- $c$가 감소하는 방향으로 level set을 이동시켜 feasible set과 마지막으로 만나는 점을 찾는다.
Graphical method의 목적은 대규모 문제를 푸는 것이 아니라 다음 개념을 기하학적으로 이해하는 데 있다.
- Feasible set은 constraint들의 교집합이다.
- Optimum은 objective의 level set과 feasible set의 상대적 위치로 결정된다.
- Boundary optimum에서는 하나 이상의 inequality constraint가 active일 수 있다.
- Objective contour가 active boundary와 겹치면 multiple optimum이 발생할 수 있다.
Linear programming에서 feasible set이 nonempty polytope이면 적어도 하나의 optimum은 extreme point에서 얻어진다. 그러나 optimum이 하나의 edge 전체에서 달성되면 minimizer는 유일하지 않다.
Diagnosing the Formulation
Graphical analysis는 잘못된 formulation을 진단하는 데 유용하다.
Multiple solutions
서로 다른 $x^\star_1,x^\star_2\in\mathcal{S}$가 같은 최소값을 가지면 minimizer는 유일하지 않다. 이는 오류가 아니며, 추가적인 engineering criterion으로 설계를 선택할 자유를 제공할 수 있다.
Unbounded feasible set
Feasible set이 unbounded라고 해서 반드시 finite optimum이 없는 것은 아니다. 중요한 것은 objective가 feasible direction을 따라 아래로 무한히 감소하는지 여부이다.
Infeasible problem
\[\mathcal{S}=\varnothing\]이면 요구사항들이 서로 충돌하거나 formulation이 지나치게 제한적이다. 이 경우 optimization algorithm을 변경하는 것으로는 문제를 해결할 수 없으며 constraint와 modeling assumption을 다시 검토해야 한다.
Underconstrained problem
필요한 물리적 또는 운영 constraint가 누락되면 수학적으로는 objective가 계속 개선되지만 engineering 의미가 없는 설계가 생성될 수 있다. 따라서 optimum의 수치값뿐 아니라 active constraints와 physical validity를 함께 검토해야 한다.
Minimum Report for an Optimum Design
Optimum design 결과는 적어도 다음 정보를 포함해야 한다.
- Optimum design variable $x^\star$
- Optimum objective value $f(x^\star)$
- Equality와 inequality constraint residual
- Active constraint set $\mathcal{A}(x^\star)$
- 사용한 analysis model과 고정 data
- Feasibility 및 physical validity에 대한 검증
이 장의 핵심은 optimization algorithm보다 formulation이 먼저라는 점이다. 잘못 정의된 variable, objective 또는 constraint는 수학적으로 정확히 풀더라도 잘못된 engineering design을 만든다.