본 글은 Frank Lewis 의 책 Optimal Control 3rd Ed.를 공부하며 작성한 글입니다.
비구속 최적화 Optimization without Constraints
스칼라 값으로 정의한 성능 지표(Performance Index) L(u)는 control 혹은 decision vector u∈Rm의 함수이다. 제어 벡터 u를 이용하여 성능 지표 L(u)을 최소화하고자 한다.
최적화 문제를 풀고자 성능 지표에 대한 테일러 급수를 전개하면 다음과 같다.
dL=LTudu+12duTLuudu+O(3)
Lu는 제어 벡터에 대한 성능 지표의 기울기(Gradient) 열 벡터 이며, Luu는 헤세 행렬(Hessian matrix)이다. Luu는 curvature matrix라고도 부른다.
임계점 혹은 정점 (Critical 혹은 Stationary point)는 제어 벡터에 대해서 증분 dL이 0인 지점이다. 임계점에서는 Lu=0이며, 임계점이 지역 최소점(Local minimum)이기 위해서, curvature matrix는 양의 정정행렬, Luu>이다.
Luu가 음의 정정 행렬(Negative definite)이면 지역 최대점, 부정부호(indefinite)라면 안장점(Saddle point)이다. 준정부호(Semi-definite)라면 좀 더 알아봐서 임계점의 종류를 판별해야한다.
참고로 Critical point는 미분 불가능한 점"이거나" f′(x)=0인 점이며, Stationary point는 미분 가능"하면서" f′(x)=0인 점이다.
구속 최적화 Optimization with Constraints
제어 벡터 u∈Rm, 상태 벡터 x∈Rn에 대한 성능 지표 L(x,u)에 대해 정의하자. 구속 최적화 문제는 다음의 구속 조건 constraint equation을 만족하면서 성능 지표 L(x,u)를 최소화 하는 제어 벡터 u를 결정하는 방법이다.
f(x,u)=0
구속 조건을 만족하는 지역 최소점을 위한 필요 충분 조건을 찾고자, 3가지 관점을 고려하면서 직관을 얻어보자.
라그랑지 승수와 해밀토니언 Lagrange Multipliers and the Hamiltonian
필요 조건 Neccessary Conditions
Stationary point에서, df=0일 때 1차 근사인 dL=0이다. (1)
{dL=LTudu+LTxdx=0df=fudu+fxdx=0
위 식으로부터 자코비 행렬 fx가 정칙(nonsingular)이라면, 다음과 같이 쓸 수 있다. (2)
dx=−f−1xfudu→dL=(LTu−LTxf−1xfu)du
du를 이항하여 정리하면 다음과 같다. (3)
∂L∂u|df=0=(LTu−LTxf−1xfu)T=Lu−fTuf−TxLx
1차 근사가 0이여야 하므로, minimum을 위한 필요 조건은 다음과 같이 정리된다. (4)
Lu−fTuf−TxLx=0
충분 조건을 찾기 전에, 두 가지 방법으로 식을 조사해보면 식 (1.2-1)으로부터 대수 방정식을 정리할 수 있다.
[dLdf]=[LTxLTufxfu][dxdu]=0
위 선형 방정식의 집합은 stationary point을 정의하며, 반드시 dx,du에 대한 해를 가진다. Critical point 는 가운데의 (n+1)×(n+m) 계수 행렬이 n+1보다 작은 rank를 가지면 얻을 수 있다. 이 말인 즉슨, 열이 반드시 선형 종속적(Linearly dependent)이기 때문에, 다음을 만족하는 벡터 λ∈Rn이 존재한다. (5)
[1λT][LTxLTufxfu]=0
식으로부터, 다음을 얻을 수 있다. (6)
λT=−LTxf−1x
위의 λ를 라그랑지 승수 Lagrange multiplier라 한다. 추가적인 의미를 더 뽑고자, 식 (1)에 du=0이라 하면
∂L∂f|du=0=(LTxf−1x)T=−λ
이는 제어 벡터가 일정할 때, 구속 조건의 변화에 따른 성능 지표의 영향을 보여준다.
식 4로부터 분석에 사용할 접근 방법을 진행시켜보자. 해밀토니안 Hamiltonian 함수를 정의하기 위해 성능 지표에 구속조건을 포함해보자. (7)
H(x,u,λ)=L(x,u)+λTf(x,u)
여기서 λ∈Rn은 아직 결정되지 않은 Lagrange multiplier이다. critical point에 이르는 x,u,λ를 결정하기 위해 다음을 진행한다. (8)
dH=HTxdx+HTudu+HTλdλ
참고로 Hλ=f(x,u) 이다.
그래서 Hλ=0인 제어 벡터 u를 선택하면 구속조건 f(x,u)=0으로부터 상태 벡터 x가 결정된다. 이 상황에서 Hamiltonian은 성능 지표와 같다. (9)
H|f=0=L
그리고 f=0이라면 식 2와 같이 dx를 du에 대해 구할 수 있다. 그러면 둘의 관계에 대해서 설명하지 않아도 되며, 다음을 만족하는 Lagrange multiplier λ를 선택하자. (10)
Hx=0
그렇다면 식 (8)의 증분 dx는 더이상 dH에 영향을 주지 않는다. 참고로 다음과 같은 식으로부터 λ가 값을 가지게 된다. (11)
∂H∂x=Lx+fTxλ=0
위의 식 (9)와 (11)으로부터 (12)
dL=dH+HTudu
H=L이기 때문에, stationary point가 되려면 결국은 다음과 같은 stationary condition 을 적용해야한다. (13)
Hu=0
요약하면 구속 조건 f(x,u)를 만족하는 성능 지표 L(x,u)의 최소점을 위한 필요 조건은 다음과 같다. (14)
{∂H∂λ=f = 0 ∂H∂x=Lx+fTxλ = 0 ∂H∂u=Lu+fTuλ = 0
위 식으로부터 x,u,λ를 결정할 수 있다. 대부분 λ의 값이 관심사는 아니지만, 관심사인 x,u,L을 결정하는데 필요하다.
라그랑지 승수법 Lagrange Multipliers Method의 유용성은 다음과 같이 요약할 수 있다.
- 실제로 dx와 du는 독립적인 증분이 아니지만, 결정되지 않은 multiplier λ를 도입함으로써 추가의 자유도를 확보할 수 있으며, 증분들이 독립적인 것 마냥 dx와 du를 만드는 λ를 선택할 수 있다. 그러므로, 독립적으로 H의 기울기를 0으로 만듦으로써 critical point를 구할 수 있다.
- 그리고 Lagrange multiplier를 도입함으로써 구속 조건 f(x,u)=0를 만족하는 L(x,u) 최소화 문제를 구속조건이 없는 해밀토니언 H(x,u,λ)를 최소화 하는 문제로 바꿀 수 있다.
충분 조건 Sufficient Conditions
식 (14)는 Stationary(Critical) point를 결정한다. 이제 "이 점이 최소인가"를 보장할 필요가 있다.
(15)
(16)
최소에 대한 충분 조건을 찾으려면, 2차 항을 분석해봐야한다.
첫번째로, 위 식에 du에 대한 dx의 종속성을 포함할 필요가 있다. 그리고 Hx=0, Hu=0, df=0인 critical point 를 찾았다고 하자. 그러면 (17)
dx=−f−1xfudu+O(2)
dL=12duT[−fTuf−Tx1][HxxHxuHuxHuu][−f−1xfuI]du+O(3)
최소임을 확신하려면, 모든 증분 du에 대해서 dL은 항상 양수여야한다.
만약 curvature matrix with constant f 가 0과 같다면 이를 보장한다. (18)
Lfuu≡[−fTuf−Tx1][HxxHxuHuxHuu][−f−1xfuI]>0
Lfuu=Huu−fTuf−TxHxu−Huxf−1xfu+fTuf−TxHxxf−1xfu
선형 구속 조건을 가지는 2차 성능 지표
다음 2차 성능 지표를 보자. (20)
L(x,u)=12xTQx+12uTRu
선형 구속 조건은 다음과 같다. (21)
f(x,u)=x+Bu+c=0
위를 Static Linear Quadratic Problem (LQ) 문제라고 한다.
해밀토니언 H은 다음과 같다. (22)
H=12xTQx+12uTRu+λT(x+Bu+c=0)
Stationary point를 위한 조건은 다음과 같다.
{∂H∂λ=x+Bu+c= 0 ∂H∂x=Qx+λ= 0 ∂H∂u=Ru+BTλ= 0
위 문제를 풀고자 정리를 하면
u=−R−1BTλ
λ=−Qx
λ=Q(Bu+c)
u=R−1BTQ(Bu+c)
위로부터 정리하면 (23)
u=−(R+BTQB)−1BTQc
x=−(I−B(R+BTQB)−1BTQ)c
λ=(Q−QB(R+BTQB)−1BTQ)c=(Q−1+BR−1BT)−1c
식 (23)의 제어 벡터으로부터 최소임을 검증하기 위해, 식 (18)의 constrainted curvature matrix 를 결정하자.(24)
Lfuu=R+BTQB
R,Q>0이므로 Lfuu>0이다.
최적 값 L∗는 다음과 같다. (25)
L∗=12xT(Q+QBR−TRR−1BTQ)x
L∗=12xT(Q+QBR−1BTQ)x
L∗=12xTQT(Q−T+BR−1BT)Qx
x에 대한 λ 식으로부터
L∗=12cT(⋅)−1(⋅)Qx
L∗=12cT(⋅)−1(⋅)λ
L∗=12cTλ
끝.
[1] Lewis F. L., Vrabie D. L. and Syrmos V, L., Optimal Control, 3rd ed., Wiley, 2012.
'G.N.C. > Optimal' 카테고리의 다른 글
최적 제어 문제의 정의와 성능 측정의 선정 방법 (1) | 2023.04.30 |
---|