모델 예측 제어

편집 역사 토론
최적설계 시뮬레이션 수치해석 마지막 수정: 2026-07-27 04:38:47

1. 개요[편집]

모델 예측 제어
Model Predictive Control
약칭MPC · 이동 구간 제어(RHC)
핵심매 스텝 유한 구간 최적제어 문제를 풀고 첫 입력만 적용
산업 도입DMC(Cutler & Ramaker, 1979)
안정성 이론Mayne et al.(2000)
온라인 부담QP 또는 NLP 1회/샘플

계획은 100스텝치를 세우고, 실행은 1스텝만 한다. 그리고 다음 샘플에 계획을 통째로 다시 세운다.

모델 예측 제어(Model Predictive Control, MPC)는 매 제어 주기마다 시스템의 예측 모델을 이용해 유한한 미래 구간에 대한 최적제어 문제를 풀고, 그 최적 입력열 중 첫 번째 입력만 실제로 적용한 뒤 다음 샘플에서 문제를 처음부터 다시 푸는 제어 기법이다. 이 “풀고-버리고-다시 풀고”를 반복하는 구조 때문에 이동 구간 제어(receding horizon control)라고도 부른다.

미래 99스텝치 계산을 매번 버린다는 게 낭비처럼 보이지만, 바로 그 버리는 행위가 피드백이다. 실제 시스템은 모델과 다르게 움직이므로, 다음 샘플에서 측정된 진짜 상태로 문제를 다시 푸는 순간 모델 오차·외란이 자동으로 보정된다. 개루프 최적화를 반복해서 폐루프 제어를 만드는 발상이 MPC의 전부라고 해도 과언이 아니다.

2. PID와 무엇이 다른가[편집]

PID 제어는 오차 하나를 보고 반응하는 무기억(memoryless) 피드백이다. 잘 튜닝하면 강력하지만 세 가지를 구조적으로 못 한다 — 제약을 모른다, 다입력 다출력 연성을 모른다, 미래를 모른다. 밸브가 100%에서 포화되면 PID는 적분기가 폭주(windup)하고, 5초 뒤에 온도가 상한을 칠 예정이어도 지금은 오차가 0이니 가만히 있는다.

MPC는 이 세 가지를 최적화 문제의 제약과 예측으로 명시한다. 선형 이산시간 모델을 예로 들면 매 샘플 다음 문제를 푼다.

minu0,,uN1  k=0N1(xkTQxk+ukTRuk)+xNTPxN\min_{u_0,\dots,u_{N-1}} \; \sum_{k=0}^{N-1}\left(x_k^{\mathsf T} Q x_k + u_k^{\mathsf T} R u_k\right) + x_N^{\mathsf T} P x_N s.t.xk+1=Axk+Buk,x0=x^(t),uU,xX\text{s.t.}\quad x_{k+1} = A x_k + B u_k,\quad x_0 = \hat{x}(t),\quad u \in \mathcal{U},\quad x \in \mathcal{X}

QQ 는 상태 편차를, RR 는 입력 사용량을 벌하는 가중치이고 PP 는 종단 비용이다. U\mathcal{U} 에 액추에이터 포화가, X\mathcal{X} 에 안전 한계(온도 상한, 차선 경계)가 그대로 들어간다. 즉 제약이 사후 클리핑이 아니라 설계 변수로 승격된다. 이게 MPC가 공정 산업을 정복한 이유다 — 화학 플랜트의 돈은 대부분 “제약 경계에 최대한 바짝 붙어서 운전하기”에서 나오니까.

3. 온라인으로 푸는 볼록 문제[편집]

선형 모델 + 이차 비용 + 선형 제약이면 위 문제는 정확히 볼록 이차계획법 문제다. 정식화는 두 갈래.

  • 조밀(condensed) 형식: 상태를 xk=Akx0+Bux_k = A^k x_0 + \sum B u 로 소거해 결정변수를 입력열만 남긴다. 변수는 NmNm 개로 줄지만 헤세 행렬이 밀집이 된다. 지평선 NN 이 짧을 때 유리.
  • 희소(sparse) 형식: 상태와 입력을 모두 변수로 두고 동역학을 등식 제약으로 남긴다. KKT 행렬이 블록 삼중대각이 되어 리카티 재귀로 O(N(n+m)3)O(N(n+m)^3)NN 에 선형이다. 긴 지평선의 국룰.

푸는 알고리즘은 활성집합법(웜스타트가 좋아 이전 해를 재활용할 수 있음), 내점법(반복 수가 문제 크기에 둔감), 그리고 1차 방법인 ADMM 계열(OSQP)이 경쟁한다. 임베디드 MPC에서 OSQP·qpOASES·HPIPM 같은 이름이 나오는 게 이 대목이다.

또 하나의 길은 명시적 MPC(explicit MPC)다. 벰포라드(A. Bemporad) 등이 2002년에 보인 것처럼, 상태를 파라미터로 본 다중파라미터 QP의 해는 상태공간을 다면체로 분할한 구간별 아핀 함수다. 오프라인에서 이 분할을 미리 계산해 두면 온라인에서는 룩업 테이블 조회만 하면 된다. 다만 분할 영역 수가 상태 차원에 대해 조합적으로 폭발해서, 실전에서는 상태 3~5개 이하의 소형 문제 전용이다.

매 샘플마다 조밀 정식화의 상자제약 QP를 투영 좌표하강으로 실제로 풀고 첫 입력만 인가한다. 위 패널의 반투명 주황 곡선이 그 샘플의 N스텝 예측이고 옅은 잔상이 직전 예측들이다 — 이 부채꼴이 한 칸씩 밀려가는 것이 곧 후퇴 지평이다. 아래 패널은 인가된 입력과 포화 한계선이라, 참조 계단이 바뀔 때마다 제약이 활성화되는 순간이 그대로 보인다. 지평 N을 줄이면 다가오는 계단을 늦게 알아채 추종이 근시안적으로 나빠지고, 입력 가중 ρ를 키우면 입력이 한계선에서 물러난다. 플랜트는 점성 마찰이 있는 이중적분기를 정확 이산화한 2상태 선형계이며, 예측 모델을 플랜트와 동일하게 두고 종단 비용·종단 집합과 상태 제약은 생략했다.

4. 안정성은 공짜가 아니다[편집]

MPC의 오래된 함정: 매 스텝 최적이라고 폐루프가 안정한 건 아니다. 지평선이 짧으면 제어기는 “구간 끝까지만 예쁘게” 만들고 그 너머를 방치해 근시안적으로 발산할 수 있다. 1990년대 내내 이걸 정리한 결과가 오늘날의 표준 레시피다.

  1. 종단 비용 PP 를 국소 무제약 최적제어의 가치함수로 잡는다. 선형계라면 이산 리카티 방정식의 해가 그것이다.
  2. 종단 집합 Xf\mathcal{X}_f 를 국소 LQR 게인 아래 제어 불변(control invariant)이고 제약을 만족하는 영역으로 잡고, xNXfx_N \in \mathcal{X}_f 를 제약으로 추가한다.

이 두 조건이 있으면 이전 해의 꼬리에 국소 제어를 이어 붙인 것이 항상 다음 스텝의 실행가능해가 되므로 재귀적 실행가능성이 보장되고, 최적 비용함수 V(x)V^\star(x) 가 리아푸노프 함수가 되어 V(x+)V(x)(x,u)V^\star(x^+) - V^\star(x) \le -\ell(x,u) 로 단조 감소한다. 곧 점근 안정성. 메인(D. Q. Mayne) 등의 2000년 서베이가 이 논증을 정리한 표준 문헌이다.1

5. 비선형 MPC와 실시간 반복[편집]

모델이 비선형이면 온라인 문제는 비볼록 NLP가 되고, 전역해는 포기하고 뉴턴-랩슨법 계열의 국소해로 만족한다. 실무 골격은 직접 다중 슈팅(direct multiple shooting) — 지평선을 구간으로 쪼개 각 구간을 독립 적분하고 연속성을 등식 제약으로 붙인다. 나쁜 초기추정에서도 잘 버티고 병렬화가 쉬워 국룰이 됐다.

문제는 시간이다. 샘플 주기가 10 ms인데 SQP를 수렴시킬 여유가 없다. 여기서 나온 것이 실시간 반복(real-time iteration, RTI): 매 샘플에 SQP를 딱 한 번만 돌린다. 계산을 측정 전에 끝낼 수 있는 준비 단계(선형화·행렬 분해)와 측정 직후의 피드백 단계(작은 QP 한 번)로 쪼개, 측정에서 입력까지의 지연을 수백 마이크로초로 줄인다. 어차피 다음 샘플에 또 푸니까 한 판에 수렴시킬 이유가 없다는 발상이 MPC 철학과 정확히 같은 결이다.2

6. 쌍대성과 이웃 분야[편집]

이동 구간 추정(MHE)은 MPC를 시간축에서 뒤집은 것이다. 미래 NN 스텝의 입력을 최적화하는 대신 과거 NN 스텝의 측정 창에 대해 상태 궤적을 최소제곱으로 맞춘다. 제약을 다룰 수 있다는 점에서 칼만 필터보다 강하고, 비용도 비슷하게 비싸다. MPC + MHE 조합이 비선형 제약 시스템의 표준 세트.

동적 계획법 관점에서 보면 MPC는 온라인으로 푸는 근사 DP다. 무한 구간 벨만 방정식을 전 상태공간에 대해 푸는 대신, 지금 있는 그 한 점에서만 NN 스텝 앞을 내다보고 종단 비용으로 나머지를 근사한다. 강화 학습이 가치함수를 데이터로 학습해 오프라인 정책을 만드는 것과 정확히 대비되는 선택이며, 요즘은 RL로 배운 가치함수를 MPC의 종단 비용에 꽂거나 MPC를 RL의 안전 필터로 쓰는 하이브리드가 활발하다.3

관점MPCLQRRL
계산 시점온라인, 매 샘플오프라인 1회오프라인 학습
제약 처리명시적불가보상으로 간접
모델필수필수선택

7. 응용[편집]

  • 공정 산업: 원조. 1970년대 셸(Shell)의 DMC와 프랑스의 MAC이 출발점이고, 지금도 정유·석유화학 플랜트 수천 기의 상위 제어층은 전부 MPC다. 목적함수에 경제성을 직접 넣은 EMPC(economic MPC)도 여기서 나왔다.
  • 자율주행: 궤적 추종과 회피를 하나의 제약 최적화로 묶는다. 차량 동역학이 비선형이라 NMPC + RTI가 표준.
  • 로켓 착륙: 연료 최적 강하 유도를 볼록 문제로 바꾸는 무손실 볼록화(lossless convexification)가 핵심 기여였다. 비볼록 추력 하한 제약을 볼록 완화해도 해가 같음을 증명해, 온보드에서 내점법으로 실시간 해결이 가능해졌다.4
  • 데이터센터 냉각·건물 HVAC: 열용량이라는 거대한 저장 장치와 시간대별 전기요금을 예측해 미리 식혀 두는 식의 제어. 미래를 아는 제어기만 할 수 있는 일이다.

8. 관련 문서[편집]

9. Footnotes[편집]

  1. Mayne, D. Q., Rawlings, J. B., Rao, C. V., Scokaert, P. O. M. (2000). “Constrained model predictive control: Stability and optimality”, Automatica. 이 논문 이후 “종단 비용 + 종단 집합”은 MPC 논문의 국룰 세트가 됐다. 반대로 현장 튜닝파는 “지평선을 충분히 길게 잡으면 다 해결된다”며 종단 집합을 생략하는데, 실은 그것도 (준안정성 이론으로) 어느 정도 정당화된다.

  2. 그래서 NMPC 코드의 프로파일을 뜨면 대부분의 시간이 QP가 아니라 모델 적분과 민감도 계산에 가 있다. 여기서 자동 미분이 결정적으로 쓰인다 — 야코비안을 손으로 짜던 시절 대비 개발 기간이 자릿수로 줄었다.

  3. 요약하면 MPC는 “생각을 실행 시점에”, RL은 “생각을 미리”. 전자는 모델이 필요하고 계산이 비싸며, 후자는 데이터가 필요하고 보장이 약하다. 세상에 공짜는 없다.

  4. Açıkmeşe, B. & Ploen, S. R. (2007). 이후 화성 착륙 유도와 재사용 발사체 회수의 이론적 토대가 됐다. “실시간 볼록 최적화로 로켓을 세운다”는 문장은 20년 전이면 SF 취급받았을 것이다.