Multivariat optimering

Introduktion till optimering i Python

Jasmin Ludolf

Content Developer

Kexfabriken

 

Målfunktion:

  • $F = K^{0.34} \times L^{0.66}$
    • $F$: produktionsfunktion
    • Arbete ($L$): timmar nedlagda av arbetare
    • Kapital ($K$): timmar maskiner är i drift
    • Multivariat problem

 

Kex på ett löpande band.

Introduktion till optimering i Python

Partiella derivator

 

Univariat

 

Målfunktion:

$p = 40q - 0.5q^2$

Derivata: målfunktionens lutning förändras med en enda variabel

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

 

Multivariat

 

Målfunktion:

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

Partiella derivator: hur lutningen förändras med avseende på varje variabel

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

Introduktion till optimering i Python

Lösa multivariata problem

 

Målfunktion:

  • $F = K^{0.34} \times L^{0.66}$
    • $F$: produktionsfunktion
    • Arbete ($L$): timmar nedlagda av arbetare
    • Kapital ($K$): timmar maskiner är i drift
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)
[]
Introduktion till optimering i Python

Vår produktionsfunktion

 

Målfunktion:

  • $F = K^{0.34} \times L^{0.66}$
  • När $K$ och $L$ ökar, ökar även $F$
  • Inga maxima eller minima!

Ett 3D-diagram över kexproduktionsfunktionen.

Introduktion till optimering i Python

Deriveringens begränsningar

 

Var uppmärksam på:

  • Ingen derivata
  • Diskontinuiteter
  • Växande eller avtagande funktioner

 

  • Icke-differentierbar: kan inte optimeras med derivering

Tre diagram över funktioner där derivering inte kan hitta maxima eller minima.

Introduktion till optimering i Python

Nu kör vi en övning!

Introduktion till optimering i Python

Preparing Video For Download...