제약 최적화 (Constrained Optimization)

수학
한 줄 정의: 변수들이 만족해야 하는 등식 또는 부등식 조건 아래에서 목적함수의 최댓값이나 최솟값을 찾는 최적화 문제다.

쉽게 풀면

아무 곳에서나 최선의 답을 찾는 것이 아니라, 정해진 규칙(제약)을 반드시 지키면서 최선의 답을 찾아야 하는 문제다. 예를 들어 예산이 정해진 상태에서 만족도를 최대화하는 소비 계획을 세우는 것이 대표적인 제약 최적화 문제다. 제약이 없는 최적화보다 훨씬 현실적인 상황을 반영하지만, 풀이 방법도 그만큼 더 복잡해진다.

왜 중요한가

현실의 의사결정 문제는 대부분 아무 제약 없이 풀리지 않는다. 예산, 물리 법칙, 안전 기준, 용량 한계처럼 반드시 지켜야 하는 조건이 함께 주어지기 때문이다. 그래서 제약 최적화는 공학 설계, 경제학의 자원 배분, 기계학습의 모델 학습 등 다양한 상위 연구주제에서 문제를 수식으로 정식화하는 공통의 언어 역할을 한다. 라그랑주 승수법, KKT 조건, 볼록 최적화 이론 같은 후속 이론들도 결국 제약 최적화 문제를 어떻게 풀 것인가라는 질문에서 출발한다.

논문에서는 이렇게 쓰입니다

"자원 한도라는 부등식 제약 하에서 총 비용을 최소화하는 제약 최적화 문제를 정식화하였다."

현실의 공학·경제 문제 대부분이 자원, 안전성, 물리 법칙 등의 제약을 동반하는 제약 최적화 형태로 표현된다.

"전력망의 발전기 출력 한계와 수요-공급 균형식을 제약 조건으로 하는 제약 최적화 문제로 전력 배분 계획을 수립하였다."

전력 시스템 공학에서는 설비 용량과 안전 운전 범위를 지키면서 비용이나 손실을 최소화하는 형태로 제약 최적화가 활용된다.

"모델 파라미터가 특정 노름(norm) 제약을 만족하도록 하는 제약 최적화 문제로 정규화된 학습을 수행하였다."

기계학습 분야에서도 과적합을 막거나 원하는 특성을 강제하기 위해 파라미터에 제약을 거는 제약 최적화 형태의 학습 방식이 흔히 쓰인다.

조금 더 깊게 보면

제약 최적화 문제는 흔히 라그랑주 함수를 도입해 제약 조건을 목적함수에 결합한 뒤, KKT(Karush-Kuhn-Tucker) 조건을 만족하는 점을 최적해의 후보로 찾는 방식으로 분석한다. 목적함수와 제약이 모두 볼록(convex)한 경우에는 이 조건들이 전역 최적해를 보장하는 등 이론적으로 다루기 쉬워지지만, 비볼록 문제에서는 지역해에 그치거나 계산이 훨씬 어려워질 수 있다. 논문에서는 문제를 풀기 쉬운 형태로 바꾸는 벌점함수(penalty function)법이나 쌍대(dual) 문제로의 변환도 자주 함께 언급된다.

주의할 점

제약이 많아질수록 문제의 허용 영역이 좁아지거나 아예 해가 존재하지 않을 수도 있어, 실현가능성(feasibility) 확인이 선행되어야 한다.

관련 용어