Otimização multivariada

Introdução à Otimização em Python

Jasmin Ludolf

Content Developer

A fábrica de biscoitos

 

Função objetivo:

  • $F = K^{0.34} \times L^{0.66}$
    • $F$: função de produção
    • Trabalho ($L$): horas dos trabalhadores
    • Capital ($K$): horas de operação das máquinas
    • Problema multivariado

 

Biscoitos em uma linha de produção.

Introdução à Otimização em Python

Derivadas parciais

 

Univariada

 

Função objetivo:

$p = 40q - 0.5q^2$

Derivada: a inclinação da função objetivo muda com alterações em uma única variável

$\frac{dp}{dq} = 40 - q$

 

Multivariada

 

Função objetivo:

$F = K^{0.34} \times L^{0.66}$

Derivadas parciais: como a inclinação muda em relação a cada variável

$\frac{\partial F}{\partial K}$ e $\frac{\partial F}{\partial L}$

Introdução à Otimização em Python

Resolvendo problemas multivariados

 

Função objetivo:

  • $F = K^{0.34} \times L^{0.66}$
    • $F$: função de produção
    • Trabalho ($L$): horas dos trabalhadores
    • Capital ($K$): horas de operação das máquinas
from sympy import symbols, diff, solve

K, L = symbols('K L') F = K**.34 * L**.66
dF_dK = diff(F, K) dF_dL = diff(F, L)
crit_points = solve([dF_dK, dF_dL], (K, L))
print(crit_points)
[]
Introdução à Otimização em Python

Nossa função de produção

 

Função objetivo:

  • $F = K^{0.34} \times L^{0.66}$
  • À medida que $K$ e $L$ aumentam, $F$ aumenta
  • Sem máximos ou mínimos!

Um gráfico 3D da função de produção de biscoitos.

Introdução à Otimização em Python

Os limites da diferenciação

 

Atenção para:

  • Sem derivada
  • Descontinuidades
  • Funções crescentes ou decrescentes

 

  • Não diferenciável: não pode ser otimizada por diferenciação

Três gráficos de funções em que a diferenciação não encontra máximos ou mínimos.

Introdução à Otimização em Python

Vamos praticar!

Introdução à Otimização em Python

Preparing Video For Download...