Multiplicadores de Lagrange

Os multiplicadores de Lagrange convertem um problema de otimização restrita em um sistema de equações sem restrições. O insight geométrico-chave: no ótimo restrito, a função objetivo e a restrição compartilham a mesma tangente, significando que seus gradientes são paralelos. O multiplicador mede o quanto o valor ótimo muda quando a restrição é relaxada.

Intuição geométrica

Considere minimizar \(f(x,y)\) sujeito a \(g(x,y) = 0\). A restrição define uma curva em \(\mathbb{R}^2\). Conforme nos movemos ao longo dessa curva, \(f\) muda. O mínimo restrito ocorre onde não conseguimos mais diminuir \(f\) movendo-nos ao longo da restrição.

Em qualquer ponto da restrição, podemos decompor o movimento em dois componentes: ao longo da restrição (tangencial) e perpendicular a ela (normal). O gradiente \(\nabla g\) é perpendicular à curva de restrição. No ótimo restrito, o componente tangencial de \(\nabla f\) deve ser zero: caso contrário, poderíamos nos mover ao longo da restrição para diminuir \(f\). Isso significa que \(\nabla f\) não tem componente ao longo da restrição, ou seja, \(\nabla f\) também é perpendicular à restrição. Como tanto \(\nabla f\) quanto \(\nabla g\) são perpendiculares à restrição, eles devem ser paralelos:

\[\nabla f(x^*) = \lambda \nabla g(x^*)\]

para algum escalar \(\lambda\) (o multiplicador de Lagrange).

Gráfico de contorno mostrando curvas de nível de f e a curva de restrição com o ponto ótimo em que os gradientes são paralelos

No ótimo \((1,2)\), \(\nabla f = (2, 4)\) e \(\nabla g = (1, 2)\) são paralelos: \(\nabla f = 2\nabla g\), então \(\lambda^* = 2\). As curvas de nível de \(f\) (círculos) são tangentes à linha de restrição no ponto ótimo.

O Lagrangiano

O método dos multiplicadores de Lagrange introduz a função Lagrangiana:

\[\mathcal{L}(x, \lambda) = f(x) + \lambda g(x)\]

O ótimo restrito é um ponto estacionário de \(\mathcal{L}\) em relação a \(x\) e \(\lambda\). Igualando a zero todas as derivadas parciais, obtemos as condições de Lagrange:

\[\frac{\partial \mathcal{L}}{\partial x_i} = \frac{\partial f}{\partial x_i} + \lambda \frac{\partial g}{\partial x_i} = 0 \quad \forall i\]

\[\frac{\partial \mathcal{L}}{\partial \lambda} = g(x) = 0\]

A segunda condição simplesmente impõe a restrição. Juntas, elas dão \(n+1\) equações em \(n+1\) incógnitas \((x_1, \ldots, x_n, \lambda)\).

Exemplo 1: distância mínima a uma reta

Minimizar \(f(x,y) = x^2 + y^2\) (distância ao quadrado a partir da origem) sujeito a \(g(x,y) = x + 2y - 5 = 0\).

Lagrangiano: \(\mathcal{L} = x^2 + y^2 + \lambda(x + 2y - 5)\).

Condições de primeira ordem:

\[\frac{\partial \mathcal{L}}{\partial x} = 2x + \lambda = 0 \implies x = -\lambda/2\]

\[\frac{\partial \mathcal{L}}{\partial y} = 2y + 2\lambda = 0 \implies y = -\lambda\]

\[\frac{\partial \mathcal{L}}{\partial \lambda} = x + 2y - 5 = 0\]

Substituindo \(x = -\lambda/2\) e \(y = -\lambda\) na restrição:

\[-\lambda/2 + 2(-\lambda) = 5 \implies -5\lambda/2 = 5 \implies \lambda = -2\]

Portanto \(x^* = 1\), \(y^* = 2\), \(f^* = 1^2 + 2^2 = 5\).

O ponto mais próximo da origem na reta \(x + 2y = 5\) é \((1, 2)\), a uma distância de \(\sqrt{5}\).

Múltiplas restrições de igualdade

Com \(m\) restrições de igualdade \(g_j(x) = 0\), \(j=1,\ldots,m\), o Lagrangiano se torna:

\[\mathcal{L}(x, \lambda) = f(x) + \sum_{j=1}^m \lambda_j g_j(x)\]

\[\nabla_x \mathcal{L} = \nabla f(x) + \sum_{j=1}^m \lambda_j \nabla g_j(x) = 0\]

\[g_j(x) = 0, \quad j = 1, \ldots, m\]

Isso dá \(n + m\) equações em \(n + m\) incógnitas. A interpretação geométrica se estende: no ótimo, \(\nabla f\) fica no subespaço gerado por \(\{\nabla g_1, \ldots, \nabla g_m\}\).

Exemplo 2: maximização de utilidade (restrição orçamentária)

Um consumidor maximiza a utilidade \(U(x,y) = x^{0,5} y^{0,5}\) (Cobb-Douglas) sujeita a uma restrição orçamentária \(2x + 3y = 12\) (preços 2 e 3, renda 12).

Lagrangiano: \(\mathcal{L} = x^{0,5}y^{0,5} + \lambda(12 - 2x - 3y)\).

Condições de primeira ordem:

\[\frac{\partial \mathcal{L}}{\partial x} = \frac{1}{2}x^{-0,5}y^{0,5} - 2\lambda = 0 \implies \frac{y^{0,5}}{2x^{0,5}} = 2\lambda\]

\[\frac{\partial \mathcal{L}}{\partial y} = \frac{1}{2}x^{0,5}y^{-0,5} - 3\lambda = 0 \implies \frac{x^{0,5}}{2y^{0,5}} = 3\lambda\]

Usando diretamente a condição da TMS (taxa marginal de substituição):

\[\frac{UM_x}{UM_y} = \frac{p_x}{p_y} \implies \frac{y}{x} = \frac{2}{3} \implies y = \frac{2x}{3}\]

Substituindo na restrição orçamentária: \(2x + 3 \cdot \frac{2x}{3} = 12 \implies 4x = 12 \implies x^* = 3\), \(y^* = 2\).

Utilidade ótima: \(U^* = \sqrt{3 \cdot 2} = \sqrt{6} \approx 2,449\). Multiplicador: \(\lambda^* = \frac{y^{0,5}}{4x^{0,5}} = \frac{\sqrt{2}}{4\sqrt{3}} = \frac{1}{4}\sqrt{2/3} \approx 0,204\).

Gráfico de contorno da utilidade Cobb-Douglas com a restrição orçamentária e a cesta de consumo ótima

Interpretação econômica do multiplicador

O multiplicador de Lagrange \(\lambda^*\) mede a sensibilidade do valor ótimo à restrição:

\[\lambda^* = \frac{df^*}{db}\]

em que \(b\) é o lado direito da restrição \(g(x) = b\). Se a restrição é \(g(x) = 0\) e a relaxamos para \(g(x) = \varepsilon\), o valor ótimo muda por aproximadamente \(\lambda^* \varepsilon\).

No exemplo de utilidade: \(\lambda^* \approx 0,204\) significa que aumentar o orçamento em R$1 aumenta a utilidade ótima em aproximadamente 0,204 unidades. Esse é exatamente o conceito de preço sombra em programação linear: as variáveis duais são multiplicadores de Lagrange das restrições da PL.

Essa interpretação torna os multiplicadores economicamente significativos: eles são o valor marginal de relaxar cada restrição em uma unidade.

Qualificação de restrição

As condições de Lagrange são necessárias para a otimalidade, mas exigem uma condição de regularidade chamada qualificação de restrição (CQ). A mais comum é a CQ de Independência Linear (LICQ): os gradientes \(\nabla g_1(x^*), \ldots, \nabla g_m(x^*)\) devem ser linearmente independentes no ponto ótimo.

Se a LICQ falhar (por exemplo, duas restrições são tangentes uma à outra no ótimo), os multiplicadores de Lagrange podem não existir ou não ser únicos. Nesses casos, o método falha em encontrar o ótimo correto.

⚠️ As condições de Lagrange são necessárias, mas não suficientes em geral

Para problemas não convexos, um ponto que satisfaz as condições de Lagrange poderia ser um mínimo local, máximo local, ou ponto de sela. Sempre verifique as condições de segunda ordem ou confirme que o problema é convexo.

Para problemas convexos (\(f\) convexa, restrições afins), qualquer ponto que satisfaça as condições de Lagrange é um mínimo global. Esse é o caso prático mais importante: quando \(f\) é convexa e as restrições são lineares, as condições de Lagrange dão o ótimo global.

Extensão para restrições de desigualdade: KKT

Os multiplicadores de Lagrange lidam apenas com restrições de igualdade. Para restrições de desigualdade \(g_i(x) \leq 0\), a extensão são as condições de Karush-Kuhn-Tucker (KKT), que adicionam:

  • Viabilidade dual: \(\lambda_i \geq 0\) para restrições de desigualdade.
  • Folga complementar: \(\lambda_i g_i(x^*) = 0\) para cada \(i\). Ou a restrição está ativa (\(g_i = 0\), qualquer \(\lambda_i \geq 0\)) ou o multiplicador é zero (\(\lambda_i = 0\), restrição inativa).

A KKT unifica os multiplicadores de Lagrange (restrições de igualdade, qualquer \(\lambda\)) com o caso de desigualdade (\(\lambda \geq 0\), folga complementar). Ela é a condição de otimalidade fundamental para a otimização restrita.

💡 Multiplicadores de Lagrange em R

library(nloptr)

# Minimize f(x,y) = x^2 + y^2 subject to x + 2y = 5
f    <- function(x) x[1]^2 + x[2]^2
grad_f <- function(x) c(2*x[1], 2*x[2])
h    <- function(x) x[1] + 2*x[2] - 5   # equality constraint = 0

res <- nloptr(x0 = c(0, 0),
              eval_f = f,
              eval_grad_f = grad_f,
              eval_g_eq = h,
              opts = list(algorithm="NLOPT_LD_SLSQP", xtol_rel=1e-8))
res$solution   # c(1, 2)
res$objective  # 5

# For linear constraints: use lpSolve or CVXR
# For general nonlinear: use nloptr with SLSQP or COBYLA