라그랑주 승수법

오류 제보
수치해석 최적설계 마지막 수정: 2026-10-11 04:41:06

○ 공개 검수 대기 AI 보조 작성 표시 기준 보기

1. 개요

라그랑주 승수법
Method of Lagrange Multipliers
분야제약 최적화 · 변분법 · 수치해석
고안조제프루이 라그랑주 (1788 역학 구속, 1797 극값 문제)
핵심 아이디어제약을 목적함수에 승수로 흡수
일반화KKT 조건 (부등식 제약)
주 사용처제약 해결기, 접촉 해석, 위상 최적화

마음대로 하고 싶지만 규칙은 지켜야 하는, 현생과 똑 닮은 최적화 기법.

라그랑주 승수법(method of Lagrange multipliers)은 하나 이상의 등식 제약 조건 아래에서 함수의 극값(극대·극소)을 찾는 방법이다. 제약이 없으면 그냥 기울기가 0인 점(∇f=0\nabla f = \mathbf{0})만 찾으면 되지만, “이 곡면 위에서만 움직여라” 같은 조건이 붙는 순간 이야기가 복잡해진다. 라그랑주의 통찰은 이 성가신 제약을 목적함수 안으로 흡수해 버리는 것이었다.

목적함수 f(x)f(\mathbf{x})를 제약 g(x)=0g(\mathbf{x}) = 0 아래에서 최적화한다고 하자. 라그랑주는 승수(multiplier) λ\lambda를 하나 도입해 다음 라그랑지안(Lagrangian)을 정의했다.

L(x,λ)=f(x)−λ g(x)\mathcal{L}(\mathbf{x}, \lambda) = f(\mathbf{x}) - \lambda\, g(\mathbf{x})

그리고 이 라그랑지안을 x\mathbf{x}와 λ\lambda 모두에 대해 정지점(stationary point)으로 만들면, 원래의 제약 최적화 문제가 저절로 풀린다. 제약이 슬그머니 방정식 하나로 되돌아오는 이 마법 같은 트릭이 200년 넘게 최적화·물리·구조해석의 뼈대 노릇을 하고 있다.

2. 기하학적 직관

라그랑주 승수법의 핵심은 사실 그림 한 장으로 끝난다. 제약 곡면 g(x)=0g(\mathbf{x}) = 0 위를 걸어 다니면서 ff가 가장 커지는 지점을 찾는다고 상상해 보자. 그 극점에서는 더 이상 ff를 키우는 방향으로 곡면을 따라 움직일 수 없다. 즉 ff의 기울기 ∇f\nabla f가 곡면에 접하는 방향 성분을 하나도 갖지 않아야 한다. 이 말은 곧 ∇f\nabla f가 곡면에 수직, 다시 말해 제약의 기울기 ∇g\nabla g와 나란해야 한다는 뜻이다.

∇f(x∗)=λ ∇g(x∗)\nabla f(\mathbf{x}^*) = \lambda\, \nabla g(\mathbf{x}^*)

여기서 두 기울기 벡터를 이어 주는 비례 상수가 바로 승수 λ\lambda다.1 제약이 여러 개(g1,…,gmg_1, \dots, g_m)면 각각에 승수를 붙여 ∇f=∑iλi∇gi\nabla f = \sum_i \lambda_i \nabla g_i로 확장한다. 등고선과 제약선이 서로 스치듯 접하는 그 지점, 거기가 답이다.

2.1. 손으로 검산하는 예제

둘레가 정해진 직사각형의 넓이를 최대화하는 고전 문제를 보자. x+y=cx + y = c 아래에서 f=xyf = xy를 최대화한다. L=xy−λ(x+y−c)\mathcal{L} = xy - \lambda(x + y - c)로 두면

∂L∂x=y−λ=0,∂L∂y=x−λ=0,x+y=c\frac{\partial\mathcal{L}}{\partial x} = y - \lambda = 0, \quad \frac{\partial\mathcal{L}}{\partial y} = x - \lambda = 0, \quad x + y = c

에서 x=y=λ=c/2x = y = \lambda = c/2, 최적값 f∗=c2/4f^* = c^2/4다. 이제 제약을 살짝 풀어 cc를 키우면 df∗/dc=c/2df^*/dc = c/2인데, 이게 정확히 λ\lambda와 같다. 승수가 “제약 우변을 한 단위 늘렸을 때 최적값이 얼마나 변하는가”라는 민감도라는 각주의 말이 이 예제에서 그대로 확인된다. 일반적으로 제약을 g(x)=cg(\mathbf{x}) = c로 쓰고 L=f−λ(g−c)\mathcal{L} = f - \lambda(g - c)로 두면 정칙 조건 아래 df∗/dc=λ∗df^*/dc = \lambda^*가 성립한다.

2.2. 승수가 존재하지 않는 경우

이 정리는 공짜가 아니다. 극점에서 ∇g≠0\nabla g \neq \mathbf{0}(제약이 여러 개면 ∇gi\nabla g_i들이 일차독립 — LICQ라 부른다)이라는 정칙 조건(constraint qualification)이 있어야 승수의 존재가 보장된다. 교과서 반례: 곡선 y2=x3y^2 = x^3 위에서 f=xf = x를 최소화하자. 곡선 위에서 x=y2/3≥0x = y^{2/3} \ge 0이므로 최소점은 뾰족점(cusp)인 원점이다. 그런데 거기서 ∇g=(−3x2,2y)=(0,0)\nabla g = (-3x^2, 2y) = (0, 0)이고 ∇f=(1,0)\nabla f = (1, 0)이라, 어떤 λ\lambda를 곱해도 ∇f=λ∇g\nabla f = \lambda\nabla g가 될 수 없다. 라그랑주 조건만 풀면 이 진짜 최소점을 아예 놓친다. 실무 솔버가 “LICQ 위반”, “퇴화(degenerate) 제약” 경고를 띄우면 대개 이런 상황이다.

또 라그랑주 조건은 필요조건일 뿐이다. 찾은 정지점이 최소인지 최대인지 안장인지는 2차 조건 — 라그랑지안의 헤시안 ∇xx2L\nabla^2_{\mathbf{x}\mathbf{x}}\mathcal{L}이 제약 곡면의 접공간 위에서 양의 정부호인가 — 로 따로 판정한다(테두리 헤시안 판정법이 그 행렬식 버전이다). 위 직사각형 예제에서 ∇2L\nabla^2\mathcal{L}은 (0110)\begin{pmatrix}0&1\\1&0\end{pmatrix}로 부정부호지만, 접방향 (1,−1)(1,-1)로 제한하면 −2<0-2 < 0이라 최대가 맞다.

3. 정지 조건과 연립방정식

라그랑지안의 정지 조건을 모두 적으면 다음 연립방정식이 나온다.

∇xL=0,∂L∂λ=−g(x)=0\nabla_{\mathbf{x}} \mathcal{L} = 0, \qquad \frac{\partial \mathcal{L}}{\partial \lambda} = -g(\mathbf{x}) = 0

두 번째 식이 원래의 제약 g(x)=0g(\mathbf{x}) = 0을 그대로 되돌려 준다는 점이 예쁘다. 제약을 라그랑지안에 넣었더니, 미분 한 번에 다시 튀어나오는 것이다. 결국 미지수는 x\mathbf{x}의 성분들과 λ\lambda 전부이고, 방정식 수도 정확히 그만큼이라 (보통은) 풀린다.

문제는 이 연립방정식이 대개 비선형이라는 것. 그래서 실무에서는 뉴턴-랩슨법이나 준-뉴턴법으로 반복적으로 푼다. 라그랑지안의 헤시안(Hessian)을 만들어 가우스 소거법으로 한 스텝씩 나아가는 식이다. 매 뉴턴 스텝이 푸는 선형계는 다음 블록 구조를 갖는다(AA는 제약의 야코비안, WW는 라그랑지안의 헤시안).

(WATA0)(ΔxΔλ)=−(∇xLg)\begin{pmatrix} W & A^{\mathsf T} \\ A & 0 \end{pmatrix} \begin{pmatrix} \Delta\mathbf{x} \\ \Delta\boldsymbol{\lambda} \end{pmatrix} = -\begin{pmatrix} \nabla_{\mathbf{x}}\mathcal{L} \\ \mathbf{g} \end{pmatrix}

이 행렬을 KKT 행렬, 이 계를 안장점 계(saddle-point system)라고 부른다. 오른쪽 아래 블록이 0이라 WW가 양의 정부호여도 전체 행렬은 항상 부정부호(양·음 고유값이 섞임)다. 그래서 켤레기울기법이나 촐레스키 분해를 그대로 못 쓰고, MINRES·대칭 부정부호 분해(LDLTLDL^{\mathsf T})·블록 전처리 같은 전용 도구가 따로 발달했다. “안장점”이라는 이름은 볼록 문제에서 min⁡xmax⁡λ\min_{\mathbf{x}}\max_{\lambda} 꼴의 쌍대성 구조에서 왔다. 다만 L\mathcal{L}은 λ\lambda에 대해 선형이라 ”λ\lambda 방향으로 최대”라는 표현은 쌍대 함수를 거쳐야 정확해진다 — 비볼록 문제에선 해가 라그랑지안의 진짜 안장점이라는 보장이 없다.

4. KKT 조건: 부등식으로의 확장

현실 문제는 “정확히 이 곡면 위”보다 “이 영역 안”인 경우가 훨씬 많다. 예를 들어 “응력이 항복강도를 넘지 마라”는 g(x)≤0g(\mathbf{x}) \le 0 꼴의 부등식 제약이다. 이걸 다루는 일반화가 카루시-쿤-터커 조건(KKT condition)이다. KKT는 라그랑주 조건에 두 가지를 덧붙인다.

표준형을 못박아 두자: min⁡f(x)\min f(\mathbf{x}), 제약 gi(x)≤0g_i(\mathbf{x}) \le 0, 라그랑지안 L=f+∑iμigi\mathcal{L} = f + \sum_i \mu_i g_i. (앞 절의 f−λgf - \lambda g 관습과 부호가 반대인데, 부등식에선 이 관습이 표준이다.)

  • 부호 조건: 부등식 제약의 승수는 μi≥0\mu_i \ge 0 이어야 한다.
  • 상보 여유(complementary slackness): μi gi(x)=0\mu_i\, g_i(\mathbf{x}) = 0. 즉 제약이 활성(active, 경계에 딱 붙음)이 아니면 그 승수는 0이다.

상보 여유 조건이 말하는 바는 직관적이다. 제약이 헐렁하게 안 걸린 상태(inactive)라면 그건 없는 셈 쳐도 되니 승수가 0이고, 반대로 승수가 0이 아니면 그 제약이 실제로 답을 붙들고 있다는 뜻이다.2 여기에 정지 조건 ∇f+∑iμi∇gi=0\nabla f + \sum_i \mu_i \nabla g_i = \mathbf{0}과 원래 제약 gi≤0g_i \le 0을 합친 네 묶음이 KKT 조건이고, 등식 제약과 마찬가지로 정칙 조건이 있어야 필요조건이 된다. 문제가 볼록이면(목적함수 볼록, 부등식 제약 볼록, 등식 제약 아핀) KKT가 충분조건까지 겸한다. 역사적으로는 1951년 쿤과 터커의 논문으로 알려졌다가, 1939년 카루시의 시카고 대학 석사 논문에 이미 같은 결과가 있었다는 게 뒤늦게 알려져 이름 앞에 K가 하나 더 붙었다.

KKT 조건은 오늘날 위상 최적화를 비롯한 거의 모든 제약 최적화 알고리즘의 최적성 판정 기준으로 쓰인다. 순차 이차계획법은 매 반복 KKT 계를 이차 근사로 풀고, 내점법은 상보 여유 μigi=0\mu_i g_i = 0을 μigi=−t\mu_i g_i = -t로 풀어 놓고 t→0t \to 0으로 조이는 방식이다.

5. 물리와 구조해석에서의 응용

라그랑주 승수는 순수 최적화 도구를 넘어 물리 시뮬레이션의 심장부에 들어가 있다. 승수 λ\lambda가 종종 물리적 힘의 정체를 갖기 때문이다.

  • 접촉 해석: 두 물체가 서로 파고들지 않아야 한다는 비관통(non-penetration) 조건은 부등식 제약이다. 이때 등장하는 라그랑주 승수가 바로 접촉면에서 튕겨 내는 수직 항력이 된다. 상보 여유 조건은 “떨어져 있으면 힘이 0, 힘이 있으면 딱 붙어 있다”는 물리를 정확히 표현한다.
  • 제약 해결기: 게임 엔진의 강체 관절, 로프, 도르래 같은 구속(constraint)은 라그랑주 승수로 구현된다. 매 스텝 안장점 계를 풀어 관절을 유지하는 힘(승수)을 계산한다.
  • 비압축성 유동: 나비에-스토크스 방정식에서 압력 pp는 사실 “∇⋅u=0\nabla \cdot \mathbf{u} = 0(비압축성)“이라는 제약을 강제하는 라그랑주 승수로 해석할 수 있다. CFD 하는 사람이 압력-속도 연성에 시달리는 근본 이유가 여기 있다.
  • 유한요소법의 경계 조건: 변위를 특정 값으로 고정하는 디리클레 조건을 승수로 부과하는 것이 라그랑주 승수법, 벌칙항으로 근사하는 것이 벌점법(penalty method)이다. 둘의 절충이 확장 라그랑지안(augmented Lagrangian)이다.3 1969년 헤스테네스와 파월이 독립적으로 제안한 방식으로, Lρ=f−λg+ρ2g2\mathcal{L}_\rho = f - \lambda g + \tfrac{\rho}{2}g^2를 최소화한 뒤 λ←λ−ρ g\lambda \leftarrow \lambda - \rho\, g로 승수를 갱신한다. 벌점법은 ρ→∞\rho \to \infty로 보내야만 제약 오차가 O(1/ρ)O(1/\rho)로 사라지지만, 확장 라그랑지안은 승수 갱신이 그 오차를 흡수해서 유한한 ρ\rho에서도 제약을 정확히 만족하는 해로 수렴한다. 조건수를 무한대로 망가뜨리지 않아도 된다는 게 핵심이다.

이처럼 승수는 “제약을 유지하기 위해 계가 스스로 만들어 내는 반작용”이라는 물리적 실체를 갖는다. 수학적 기교가 곧 자연의 힘이라니, 라그랑주가 변분법과 라그랑주 역학의 아버지로 불리는 데는 다 이유가 있다.

6. 관련 문서

7. Footnotes

  1. 승수의 부호는 라그랑지안을 f−λgf - \lambda g로 쓰느냐 f+λgf + \lambda g로 쓰느냐에 따라 뒤집힌다. 교과서마다 관습이 달라서, 시험 답안에서 부호 하나 때문에 피 보는 학부생이 매년 재생산된다. 최적값 자체는 부호와 무관하니 너무 억울해하지 말자. ↩

  2. λ\lambda에는 “제약을 조금 느슨하게 풀면 최적값이 얼마나 좋아지는가”라는 민감도(shadow price)의 뜻도 있다. 경제학에서 이걸 잠재가격이라 부른다. 즉 승수는 제약이 목적함수를 얼마나 옥죄고 있는지를 알려 주는 계량기다. ↩

  3. 순수 라그랑주법은 미지수(승수)를 늘려 계를 키우고, 벌점법은 큰 상수를 곱해 조건수를 망가뜨린다. 확장 라그랑지안은 둘의 단점을 적당히 나눠 가지는 정치적 타협의 산물이다. 세상에 공짜 점심은 없다. ↩

검증 자료

이 문서의 주요 출처

  1. Nocedal & Wright (2006), Numerical Optimization, 2nd ed., Springer (12장 1·2차 최적성 조건·LICQ, 16장 안장점 계, 17장 확장 라그랑지안)
  2. Kuhn & Tucker (1951), Nonlinear programming, Proc. 2nd Berkeley Symp. Math. Stat. Prob., 481-492
  3. Hestenes (1969), Multiplier and gradient methods, J. Optim. Theory Appl. 4(5), 303-320 (확장 라그랑지안·승수법)
  4. Benzi, Golub & Liesen (2005), Numerical solution of saddle point problems, Acta Numerica 14, 1-137
  5. Bertsekas (1982), Constrained Optimization and Lagrange Multiplier Methods, Academic Press (저자 공개본)
이 문서가 문제를 푸는 데 도움이 됐나요? 한 번의 클릭이 다음 검수 순서를 정합니다.

의견을 반영할게요. 감사합니다.

다음으로 읽기 유한요소법 약 5분 더 탐색 →