[제어이론] 모델 예측 제어 (MPC: Model Predictive Control) (3)

Study/Control Theory · 2020. 4. 10. 09:41

참고: datascienceschool.net/view-notebook/0c66f1810445488baf19cac79305793b/

 

MPC에 대해 좀 더 깊은 이해

 

MPC의 비용함수를 풀 때 QP Solver를 사용한다.

 

QP Solver와 관련된 방법은 아래와 같은 두가지 방법에 기초하여 분류될 수 있다. (예외도 반드시 존재한다.)

 

  1. Active Set Method

  2. Inner Point Method

 

1. Active Set Method

 

KKT-point → 제약 조건이 있는 최적화 문제를 풀 때 사용된다.

  • 연립방정식 제한조건이 있는 경우 ⇒ Lagrangian
    → 새로운 최적화 문제를 풀어야한다.

  • 연립부등식 제한조건이 있는 경우 ⇒ KKT 조건
    → 해당 조건을 만족하도록 하는 복잡한 과정을 거쳐야 함

QP Solver와 관련된 방법은 아래와 같은 두가지 방법에 기초하여 분류될 수 있다. (예외도 반드시 존재한다.)

 

1. 연립방정식 제한 조건을 갖는 경우

 

1) 라그랑주 승수법

 

목적함수를 원래의 목적함수에 제한조건 등식에 람다를 곱한 함수를 목적 함수로 구성한다.

 

제한조건의 등식 하나마다 새로운 람다_i를 추가해줘야한다.

 

따라서, 제약조건이 M개이면 람다_i~M 개의 변수가 새로 생긴 것과 같다.

 

이와 같이 M개의 람다가 추가된 확장된 목적함수 h는 입력변수가 더 늘어났기 때문에 gradient 벡터를 0 벡터로 만드는 최적화 조건이 다음처럼 N+M개가 된다.

 

 

위의 N+M개의 연립 방정식을 풀면 N+M개의 아래와 같은 M개의 미지수를 구할 수 있다.

 

 

이러한 결과에서 다음과 같은 변수의 값이 우리가 찾는 제약조건 (g)을 만족하며 목적함수 (f)를 최소로 만드는 해이다.

 

 

 

2) 라그랑주 승수의 의미

 

최적화 문제에서 등식 제약조건 g가 있고 없고에 따라 해의 값이 달라진다면,

 

해당 등식 제약조건에 대응하는 각각의 g가 0이 아닌 값이어야 한다.

 

위와 같은 조건을 만족할 때만 제약조건이 있는 문제의 최적화 조건이 같아지므로 최적화 해의 위치도 같게 나온다.

 

 

 

 

2. 연립부등식 제약조건을 갖는 경우

 

다음과 같은 부등식 (inequality) 제약조건이 있는 최적화 문제를 고려한다.

 

부등식의 방향이 반대라면, 양 변에 -1을 곱해준다.

 

이러한 부등식 제약조건이 있는 문제도 마찬가지로 라그랑주 승수 방법을 이용해 목적함수를 다음과 같이 구성한다. 

 

연립방정식 제약조건과는 달리, 최적화 해를 구하기 위해선 KKT (Karush-Kuhn-Tucker) 조건을 만족해야 한다.

 

 

첫번째 조건은 모든 x에 대한 새롭게 구성된 목적함수 h의 미분값이 0이어야 한다.

(람다에 대한 미분값은 0이 아니어도 된다.)

 

두번째 조건은 모든 람다와 람다에 대한 목적함수 h의 미분값의 곱이 0이어야 한다.

 

두번째 조건을 만족하기 위해선 두가지 상황이 가능하다.

 

1) 람다가 0이다.

2) 람다에 대한 미분값이 0이다.

 

=> 람다에 대한 미분값이 꼭 0이 아니어도 된다.

 

세번째 조건은 KKT 조건이 실제로 부등식 제약조건이 있는 최적화 문제와 같은 문제임을 보장하는 조건이다.

최적점의 위치는 붉은 점으로 표시되어 있다.

 

첫번째 제약조건의 경우는 최적화 문제의 해가 조건 내에 있기 때문에 조건에 따라 해가 바뀌지 않는다.

 

두번째 제약조건의 경우는 해가 조건 밖에 있기 떄문에 최적해의 위치가 달라졌다.

-> 해의 위치가 제약조건 영역의 경계선 (boundary line)에 있다.

 

따라서 부등식 제약조건이 있는 최적화 무제는 두가지 경우 중 하나의 상황이 된다.

 

1) 결과에 영향을 주지 않는 쓸모 없는 제약조건

2) 결과에 영향을 주는 제약조건 

 

두번째 경우는 등식 제약조건과 동일하게 동작한다. (경계선에 해가 있으므로)

 

결국 다시 말하면, 제약조건에 상관없거나 연립부등식 제약조건일 때와 같은 해를 도출하게된다.

 

KKT 조건 중 두번째 조건이 의미하는 것은 다음과 같다.

 

윗 식에서 x와 람다는 KKT 조건을 풀어서 구한 최적문제의 해이다.

 

만약 g가 0이면, 부등식 제약조건은 등식 제약조건이 된다.

(부등식 제약조건에서 만족해야 할 사항과 동일하다.)

 

등식 제약조건에서 쓸모 없는 제약조건의 경우를 제외하면 람다는 0이 아닌 값을 가진다.

(람다가 0일 경우 새롭게 구성된 목적함수 h와 본래 목적함수 k가 동일해진다. 즉, 제약조건이 있건없건 관계가 없어진다.)

 

반대로 g가 0이 아니라면, 해는 g가 표현하는 곡선으로 부터 떨어져 있기 떄문에 부등식 제약조건의 의미가 없어진다.

 

따라서, 목적함수 h는 람다에 대한 항이 있으나 없으나 같은 해를 가진다.  => 람다는 0이된다.

 

부등식 제약조건이 있는 최적화 문제는 각 제약조건에 대해 위의 두 가지 경우를 가정하여 각각 풀어보며 최적해를 찾는다.

 

 

반응형