1. 개요[편집]
| 라그랑주 승수법 Method of Lagrange Multipliers | |
|---|---|
| 분야 | 제약 최적화 · 변분법 · 수치해석 |
| 고안 | 조제프루이 라그랑주 (1788) |
| 핵심 아이디어 | 제약을 목적함수에 승수로 흡수 |
| 일반화 | KKT 조건 (부등식 제약) |
| 주 사용처 | 제약 해결기, 접촉 해석, 위상 최적화 |
마음대로 하고 싶지만 규칙은 지켜야 하는, 현생과 똑 닮은 최적화 기법.
라그랑주 승수법(method of Lagrange multipliers)은 하나 이상의 등식 제약 조건 아래에서 함수의 극값(극대·극소)을 찾는 방법이다. 제약이 없으면 그냥 기울기가 0인 점(∇f = 0)만 찾으면 되지만, “이 곡면 위에서만 움직여라” 같은 조건이 붙는 순간 이야기가 복잡해진다. 라그랑주의 통찰은 이 성가신 제약을 목적함수 안으로 흡수해 버리는 것이었다.
목적함수 를 제약 아래에서 최적화한다고 하자. 라그랑주는 승수(multiplier) 를 하나 도입해 다음 라그랑지안(Lagrangian)을 정의했다.
그리고 이 라그랑지안을 와 모두에 대해 정지점(stationary point)으로 만들면, 원래의 제약 최적화 문제가 저절로 풀린다. 제약이 슬그머니 방정식 하나로 되돌아오는 이 마법 같은 트릭이 200년 넘게 최적화·물리·구조해석의 뼈대 노릇을 하고 있다.
2. 기하학적 직관[편집]
라그랑주 승수법의 핵심은 사실 그림 한 장으로 끝난다. 제약 곡면 위를 걸어 다니면서 가 가장 커지는 지점을 찾는다고 상상해 보자. 그 극점에서는 더 이상 를 키우는 방향으로 곡면을 따라 움직일 수 없다. 즉 의 기울기 가 곡면에 접하는 방향 성분을 하나도 갖지 않아야 한다. 이 말은 곧 가 곡면에 수직, 다시 말해 제약의 기울기 와 나란해야 한다는 뜻이다.
여기서 두 기울기 벡터를 이어 주는 비례 상수가 바로 승수 다.1 제약이 여러 개()면 각각에 승수를 붙여 로 확장한다. 등고선과 제약선이 서로 스치듯 접하는 그 지점, 거기가 답이다.
3. 정지 조건과 연립방정식[편집]
라그랑지안의 정지 조건을 모두 적으면 다음 연립방정식이 나온다.
두 번째 식이 원래의 제약 을 그대로 되돌려 준다는 점이 예쁘다. 제약을 라그랑지안에 넣었더니, 미분 한 번에 다시 튀어나오는 것이다. 결국 미지수는 의 성분들과 전부이고, 방정식 수도 정확히 그만큼이라 (보통은) 풀린다.
문제는 이 연립방정식이 대개 비선형이라는 것. 그래서 실무에서는 뉴턴-랩슨법이나 준-뉴턴법으로 반복적으로 푼다. 라그랑지안의 헤시안(Hessian)을 만들어 가우스 소거법으로 한 스텝씩 나아가는 식이다. 승수가 방정식 차원을 하나 늘려 놓기 때문에, 이 계를 흔히 안장점 계(saddle-point system)라고 부른다. 최적화된 해에서 라그랑지안은 방향으로 최소, 방향으로 최대인 안장점 구조를 갖기 때문이다.
4. KKT 조건: 부등식으로의 확장[편집]
현실 문제는 “정확히 이 곡면 위”보다 “이 영역 안”인 경우가 훨씬 많다. 예를 들어 “응력이 항복강도를 넘지 마라”는 꼴의 부등식 제약이다. 이걸 다루는 일반화가 카루시-쿤-터커 조건(KKT condition)이다. KKT는 라그랑주 조건에 두 가지를 덧붙인다.
- 부호 조건: 부등식 제약의 승수는 이어야 한다.
- 상보 여유(complementary slackness): . 즉 제약이 활성(active, 경계에 딱 붙음)이 아니면 그 승수는 0이다.
상보 여유 조건이 말하는 바는 직관적이다. 제약이 헐렁하게 안 걸린 상태(inactive)라면 그건 없는 셈 쳐도 되니 승수가 0이고, 반대로 승수가 0이 아니면 그 제약이 실제로 답을 붙들고 있다는 뜻이다.2 KKT 조건은 오늘날 위상 최적화를 비롯한 거의 모든 제약 최적화 알고리즘의 최적성 판정 기준으로 쓰인다.
5. 물리와 구조해석에서의 응용[편집]
라그랑주 승수는 순수 최적화 도구를 넘어 물리 시뮬레이션의 심장부에 들어가 있다. 승수 가 종종 물리적 힘의 정체를 갖기 때문이다.
- 접촉 해석: 두 물체가 서로 파고들지 않아야 한다는 비관통(non-penetration) 조건은 부등식 제약이다. 이때 등장하는 라그랑주 승수가 바로 접촉면에서 튕겨 내는 수직 항력이 된다. 상보 여유 조건은 “떨어져 있으면 힘이 0, 힘이 있으면 딱 붙어 있다”는 물리를 정확히 표현한다.
- 제약 해결기: 게임 엔진의 강체 관절, 로프, 도르래 같은 구속(constraint)은 라그랑주 승수로 구현된다. 매 스텝 안장점 계를 풀어 관절을 유지하는 힘(승수)을 계산한다.
- 비압축성 유동: 나비에-스토크스 방정식에서 압력 는 사실 “(비압축성)“이라는 제약을 강제하는 라그랑주 승수로 해석할 수 있다. CFD 하는 사람이 압력-속도 연성에 시달리는 근본 이유가 여기 있다.
- 유한요소법의 경계 조건: 변위를 특정 값으로 고정하는 디리클레 조건을 승수로 부과하는 것이 라그랑주 승수법, 벌칙항으로 근사하는 것이 벌점법(penalty method)이다. 둘의 절충이 확장 라그랑지안(augmented Lagrangian)이다.3
이처럼 승수는 “제약을 유지하기 위해 계가 스스로 만들어 내는 반작용”이라는 물리적 실체를 갖는다. 수학적 기교가 곧 자연의 힘이라니, 라그랑주가 변분법과 라그랑주 역학의 아버지로 불리는 데는 다 이유가 있다.
6. 관련 문서[편집]
- 변분법 · 라그랑주 역학
- 위상 최적화 · 최소자승법
- 제약 해결기 · 접촉 해석
- 뉴턴-랩슨법 · 준-뉴턴법 · 가우스 소거법
- 카루시-쿤-터커 조건
- 나비에-스토크스 방정식 · 유한요소법
7. Footnotes[편집]
-
승수의 부호는 라그랑지안을 로 쓰느냐 로 쓰느냐에 따라 뒤집힌다. 교과서마다 관습이 달라서, 시험 답안에서 부호 하나 때문에 피 보는 학부생이 매년 재생산된다. 최적값 자체는 부호와 무관하니 너무 억울해하지 말자. ↩
-
에는 “제약을 조금 느슨하게 풀면 최적값이 얼마나 좋아지는가”라는 민감도(shadow price)의 뜻도 있다. 경제학에서 이걸 잠재가격이라 부른다. 즉 승수는 제약이 목적함수를 얼마나 옥죄고 있는지를 알려 주는 계량기다. ↩
-
순수 라그랑주법은 미지수(승수)를 늘려 계를 키우고, 벌점법은 큰 상수를 곱해 조건수를 망가뜨린다. 확장 라그랑지안은 둘의 단점을 적당히 나눠 가지는 정치적 타협의 산물이다. 세상에 공짜 점심은 없다. ↩