Loading [MathJax]/jax/output/CommonHTML/jax.js
반응형

본 글은 Frank Lewis 의 책 Optimal Control 3rd Ed.를 공부하며 작성한 글입니다.

 

비구속 최적화 Optimization without Constraints

스칼라 값으로 정의한 성능 지표(Performance Index) L(u)는 control 혹은 decision vector uRm의 함수이다. 제어 벡터 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

제어 벡터 uRm, 상태 벡터 xRn에 대한 성능 지표 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=f1xfududL=(LTuLTxf1xfu)du

du를 이항하여 정리하면 다음과 같다. (3)

Lu|df=0=(LTuLTxf1xfu)T=LufTufTxLx

1차 근사가 0이여야 하므로, minimum을 위한 필요 조건은 다음과 같이 정리된다. (4)

LufTufTxLx=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=LTxf1x

위의 λ라그랑지 승수 Lagrange multiplier라 한다. 추가적인 의미를 더 뽑고자, 식 (1)에 du=0이라 하면

Lf|du=0=(LTxf1x)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와 같이 dxdu에 대해 구할 수 있다. 그러면 둘의 관계에 대해서 설명하지 않아도 되며, 다음을 만족하는 Lagrange multiplier λ를 선택하자. (10)

Hx=0

그렇다면 식 (8)의 증분 dx는 더이상 dH에 영향을 주지 않는다. 참고로 다음과 같은 식으로부터 λ가 값을 가지게 된다. (11)

Hx=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 Hx=Lx+fTxλ = 0 Hu=Lu+fTuλ = 0 

위 식으로부터 x,u,λ를 결정할 수 있다. 대부분 λ의 값이 관심사는 아니지만, 관심사인 x,u,L을 결정하는데 필요하다.

라그랑지 승수법 Lagrange Multipliers Method의 유용성은 다음과 같이 요약할 수 있다.

  1. 실제로 dxdu는 독립적인 증분이 아니지만, 결정되지 않은 multiplier λ를 도입함으로써 추가의 자유도를 확보할 수 있으며, 증분들이 독립적인 것 마냥 dxdu를 만드는 λ를 선택할 수 있다. 그러므로, 독립적으로 H의 기울기를 0으로 만듦으로써 critical point를 구할 수 있다.
  2. 그리고 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=f1xfudu+O(2)

dL=12duT[fTufTx1][HxxHxuHuxHuu][f1xfuI]du+O(3)

최소임을 확신하려면, 모든 증분 du에 대해서 dL은 항상 양수여야한다.

만약 curvature matrix with constant f 가 0과 같다면 이를 보장한다. (18)

Lfuu[fTufTx1][HxxHxuHuxHuu][f1xfuI]>0

Lfuu=HuufTufTxHxuHuxf1xfu+fTufTxHxxf1xfu

 

선형 구속 조건을 가지는 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 Hx=Qx+λ= 0 Hu=Ru+BTλ= 0 

위 문제를 풀고자 정리를 하면

u=R1BTλ

λ=Qx

λ=Q(Bu+c)

u=R1BTQ(Bu+c)

위로부터 정리하면 (23)

u=(R+BTQB)1BTQc

x=(IB(R+BTQB)1BTQ)c

λ=(QQB(R+BTQB)1BTQ)c=(Q1+BR1BT)1c

식 (23)의 제어 벡터으로부터 최소임을 검증하기 위해, 식 (18)의 constrainted curvature matrix 를 결정하자.(24)

Lfuu=R+BTQB

R,Q>0이므로 Lfuu>0이다.

최적 값 L는 다음과 같다. (25)

L=12xT(Q+QBRTRR1BTQ)x

L=12xT(Q+QBR1BTQ)x

L=12xTQT(QT+BR1BT)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.

728x90

'G.N.C. > Optimal' 카테고리의 다른 글

최적 제어 문제의 정의와 성능 측정의 선정 방법  (1) 2023.04.30

+ Recent posts