Optymalizacja wielowymiarowa

Wprowadzenie do optymalizacji w Pythonie

Jasmin Ludolf

Content Developer

Fabryka herbatników

 

Funkcja celu:

  • $F = K^{0.34} \times L^{0.66}$
    • $F$: funkcja produkcji
    • Praca ($L$): godziny pracy pracowników
    • Kapitał ($K$): godziny pracy maszyn
    • Problem wielowymiarowy

 

Herbatniki na linii produkcyjnej.

Wprowadzenie do optymalizacji w Pythonie

Pochodne cząstkowe

 

Jednozmiennowa

 

Funkcja celu:

$p = 40q - 0.5q^2$

Pochodna: nachylenie funkcji celu zmienia się wraz ze zmianą jednej zmiennej

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

 

Wielozmiennowa

 

Funkcja celu:

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

Pochodne cząstkowe: jak nachylenie zmienia się względem każdej zmiennej

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

Wprowadzenie do optymalizacji w Pythonie

Rozwiązywanie problemów wielowymiarowych

 

Funkcja celu:

  • $F = K^{0.34} \times L^{0.66}$
    • $F$: funkcja produkcji
    • Praca ($L$): godziny pracy pracowników
    • Kapitał ($K$): godziny pracy maszyn
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)
[]
Wprowadzenie do optymalizacji w Pythonie

Nasza funkcja produkcji

 

Funkcja celu:

  • $F = K^{0.34} \times L^{0.66}$
  • Wraz ze wzrostem $K$ i $L$, $F$ rośnie
  • Brak maksimów i minimów!

Wykres 3D funkcji produkcji herbatników.

Wprowadzenie do optymalizacji w Pythonie

Ograniczenia różniczkowania

 

Należy uważać na:

  • Brak pochodnej
  • Nieciągłości
  • Funkcje rosnące lub malejące

 

  • Nieróżniczkowalne: nie można optymalizować za pomocą różniczkowania

Trzy wykresy funkcji, dla których różniczkowanie nie znajdzie maksimów ani minimów.

Wprowadzenie do optymalizacji w Pythonie

Czas na ćwiczenia!

Wprowadzenie do optymalizacji w Pythonie

Preparing Video For Download...