MPC(model predictive control) 문제를 최적화 문제인 QP(quadratic program)문제로 변환할 때 널리 사용되는 일반적인 방법( https://pasus.tistory.com/229 )은 모델이 조밀해져서 문제의 구조가 손실되는 단점이 있다.
고속 MPC(fast MPC)에서는 QP 문제로 변환할 시 적절한 변수 재정렬을 사용하여 희소(sparse)구조를 최대로 이용할 수 있도록 특별한 방법으로 변환하며, 최적화 기법을 적용할 시 warm start, fixed iteration, early termination등의 휴리스틱 기법을 이용하여 MPC 계산량을 대폭 줄이는 방법을 사용한다. fast MPC알고리즘은 스탠퍼드의 Boyd 교수와 그 제자의 논문인 'Fast Model Predictive Control Using Online Optimization'에 자세히 설명되어 있다. 여기서는 fast MPC에서 사용된 QP 변환 모델을 유도해 보고자 한다.
MPC는 다음과 같은 제약조건을 갖는 선형 시스템에서
매 시간 스텝마다 다음 목적함수가 일정 성능 예측구간
식 (1)에 의하면 시간 스텝(time step)
식 (2)의 제약조건 수식은 다음과 같이 재구성할 수 있다.
식 (3)의 목적함수도 다음과 같이 행렬 형식으로 표현할 수 있다.
이제 최적화 변수
그러면 식 (6)의 목적함수를 다음과 같이 최적화 변수의 2차함수로 바꿀 수 있다.
여기서
이다. 식 (5)의 제약조건도 다음과 같이 최적화 변수의 부등식으로 바꿀 수 있다.
여기서
이다.
시스템 방정식 (4)는 다음과 같이 최적화 변수의 등식으로 바꿀 수 있다.
여기서
이다. 식 (8)-(10)에 의하면 식 (1)-(3)의 MPC 최적화 문제는 다음과 같이 QP 최적화 문제로 변환된다.
위 최적화 문제의 해는

식 (11)의 QP 문제의 행렬과 벡터의 구조를 보면 널리 사용되는 일반적인 방법과는 달리 MPC 모델의 구조가 훼손되지 않았고 희소(sparse)행렬임을 알 수 있다. 따라서 범용 QP 솔버 대신 이를 최대로 이용할 수 있는 특화된 QP 솔버를 만들 수 있다.
'유도항법제어 > 최적제어' 카테고리의 다른 글
[Continuous-Time] 최적제어 예제 (0) | 2022.12.14 |
---|---|
[Continuous-Time] 최적제어 문제 (0) | 2022.12.13 |
[MPC] MPC를 위한 두가지 QP 모델 - 1 (0) | 2022.11.30 |
[MPC] 모델예측제어 개요 (0) | 2022.11.28 |
[PSOC-7] 유사 스펙트럴 방법 예제 (0) | 2022.04.24 |
댓글