동적 최적화(dynamic optimization) 문제는 최적제어(optimal control) 문제라고도 하는데 매우 광범위한 영역에서 사용되고 있다.
예를 들면 인공위성을 궤도에 올리는 위한 가장 효율적인 연료 사용 전략이나 화학 공정 시설을 가동하는 가장 경제적인 방법을 찾는 문제 등을 들 수 있다. 이러한 동적 최적화 문제의 기본 가정은 동적 모델(dynamic model)이 주어진다는데 있다. 동적 모델의 예로서 다음과 같이 이산시간(discrete-time) 차분 방정식(difference equation)으로 표현된 비선형 시스템을 들 수 있다.
여기서
여기서

그런데 여기서 한가지 문제점은 최적제어 시퀀스
MPC는 RHC(receding horizon control), DMC(dynamic matrix control)등으로도 불리는데, 1970년대 초반 Shell Oil사에서 DMC라는 이름으로 처음 사용되었다고 한다. MPC는 고전 PID제어에 이어서 산업 현장에서 두번째로 많이 사용되는 제어 알고리즘이라고 알려져 있는데, 전통적으로 화학 공정 제어, 공급망 관리, 경제 및 금융의 확률적 제어 문제, 동적 헤징(hedging) 및 수익 관리 등에 적용되었고, 최근에는 무인 항공기나 로봇의 경로 계획 및 제어, 우주선의 랑데부, 잠수함 또는 미사일의 유도제어 등 반응 속도가 매우 빠른 시스템으로도 응용 범위를 넓히고 있다.
MPC는 제어입력과 상태변수 제약조건, 시간지연, 비최소 위상(nonminimum phase) 동역학 등을 갖는 비선형이 매우 강한 시스템도 제어할 수 있지만, 실제로는 제어입력과 상태변수 제약조건이 있는 다변수 선형 시스템의 제어에 사용되는 경우가 많다. MPC에 사용되는 선형 동적 모델과 제약조건은 다음과 같다.
여기서 시스템의 동적 모델 (3)은 물리 법칙에 의해서 유도되는게 대부분이지만, 산업 현장에서 사용되는 MPC는 데이터를 기반으로 식별(identification)된 시스템 모델이나 신경망으로 구현된 모델을 사용하기도 한다. 최근에는 딥러닝과 강화학습을 MPC와 결합시킨 연구가 진행되고 있으며 일부 좋은 결과를 보여주고 있기도 하다.
식 (4)로 주어지는 목적함수는 기존의 LQ (linear quadratic) 최적제어에서 사용되는 상태 및 입력변수에 관한 2차함수이다. 식 (5)는 입력과 출력 또는 상태변수에 관한 제약조건으로서 부등식은 입출력 벡터의 성분(element)별로 적용된다.
MPC의 제어 목적은 상태변수 또는 출력의 미래 동작을 최적화하기 위해 미래 제어입력의 시퀀스를 계산하는 것이다. 최적화는 예측구간(prediction horizon)이라는 제한된 일정 시간 구간내에서 수행된다. 여기서 MPC가 기존 최적제어와 다른 점은 고정된 일정 시간 구간이 아닌 이동 시간 구간 (receding horizon)이라는 새로운 개념을 도입했다는 데 있다.

MPC의 기본 절차는 다음과 같다. 우선 현재 시간
여기서 오픈-루프 제어 시퀀스를 일정 성능 예측구간
MPC의 장점은 다음과 같다. 우선 MPC는 고유한 특성으로 인해 피드백 제어 구조를 갖는다. 그리고 매 시간 스텝마다 최적화를 수행하는 고성능 제어 법칙으로서 안정성이 보장되며 우수한 추종(tracking) 성능을 갖고 비선형 시스템으로 쉽게 확장시킬 수 있다. 무엇보다도 MPC의 큰 장점은 제어기 설계단계에서 시스템에 가해지는 제한조건을 명시적으로 다룰 수 있다는 것을 들 수 있다.
반면에 MPC는 매 시간 스텝마다 최적화를 온라인에서 수행해야 하므로 상당한 계산량과 컴퓨팅 리소스가 요구된다. 따라서 과거에는 화학 공정 제어와 같은 느린 시스템에서만 사용할 수 있었다. 하지만 최근에는 컴퓨팅 성능과 최적화 알고리즘의 급속한 발전 덕분에 빠른 동역학을 갖는 시스템에도 MPC가 점차 적용 가능해지고 있다.
알고리즘 면에서 고속의 MPC를 구현하기 위한 방안으로는 각 상태변수에 대한 최적화 결과를 미리 계산하여 룩업 테이블(lookup table) 형태로 저장하고 온라인에서 테이블을 검색하여 꺼내 쓰는 explicit MPC 알고리즘과, 최적화 문제의 계산량을 대폭 줄여서 온라인상에서도 고속의 MPC 계산을 가능하게 한 fast MPC 알고리즘이 개발되어 있다.
식 (3), (4), (5)로 주어지는 동적 최적화 문제는 QP(quadratic program) 문제 ( https://pasus.tistory.com/27 )로 변환한 후 정적 최적화(static optimization) 기법을 적용하여 푸는 것이 일반적이다. 다음에는 최적화 문제 변환 과정에 대해서 알아보기로 한다.
'유도항법제어 > 최적제어' 카테고리의 다른 글
[MPC] MPC를 위한 두가지 QP 모델 - 2 (0) | 2022.12.03 |
---|---|
[MPC] MPC를 위한 두가지 QP 모델 - 1 (0) | 2022.11.30 |
[PSOC-7] 유사 스펙트럴 방법 예제 (0) | 2022.04.24 |
[PSOC-6] 유사 스펙트럴 방법 (Pseudospectral Method) (0) | 2022.04.23 |
[PSOC-5] 가우시안 쿼드래처 (Gaussian Quadrature) (0) | 2021.12.18 |
댓글