Univariační optimalizace

Introduction to Optimization in Python

Jasmin Ludolf

Content Developer

Příklad: Optimalizace ve výrobě

 

Účelová funkce:

$P = 40q - 0.5q^2$

  • Univariační: jedna proměnná

Zisk v závislosti na množství.

Introduction to Optimization in Python

Příklad: Optimalizace ve výrobě

 

Účelová funkce:

$P = 40q - 0.5q^2$

  • Univariační: jedna proměnná

Zisk v závislosti na množství.

Introduction to Optimization in Python

Výpočet derivací

 

Účelová funkce:

$P = 40q - 0.5q^2$

Derivace: popisuje chování sklonu

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

from sympy import symbols, diff, solve


q = symbols('q')
P = 40 * q - 0.5 * q**2
dp_dq = diff(P)
print(f"The derivative is: {dp_dq}")
The derivative is: 40 - 1.0*q
1 https://docs.sympy.org/latest/index.html
Introduction to Optimization in Python

Kritický bod

Optimum je tam, kde se derivace rovná nule

  • Kritické body: body, kde je derivace nulová

Optimum $q$ splňuje:

$\frac{dP}{dq} = 40 - q = 0$

q_opt = solve(dp_dq)
print(f"Optimum quantity: {q_opt}")
Optimum quantity: [40.0000000000000]
Introduction to Optimization in Python

Maximum, minimum, nebo ani jedno?

 

Zisk v závislosti na množství.

 

Účelová funkce:

$p = 40q - 0.5q^2$

q_opt = solve(p_prime)
print(f"Optimum quantity: {q_opt}")
Optimum quantity: [40.0000000000000]
Introduction to Optimization in Python

Konvexnost a konkávnost

 

Konkávní funkce.

  • Maximum

 

Konvexní funkce.

  • Minimum
Introduction to Optimization in Python

Druhá derivace

 

  • Derivace derivace
  • Rychlost změny sklonu při změně proměnné

 

    1. derivace v bodě $< 0$: Maximum
    1. derivace v bodě $> 0$: Minimum
    1. derivace v bodě $= 0$: ani jedno

Zisk v závislosti na množství.

Introduction to Optimization in Python

Příklad: Maximum, minimum, nebo ani jedno?

 

Derivace:

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

 

Druhá derivace:

$\frac{d^2p}{dq^2} = -1 < 0$

  • Maximum!

 

d2p_dq2 = diff(dp_dq)

sol = d2p_dq2.subs('q', q_opt)
print(f"The 2nd derivative is: {sol}")
The 2nd derivative is: -1.0000000000000
Introduction to Optimization in Python

Derivace v optimalizaci

 

  • První derivace
    • Hledání kritických bodů v optimalizačních úlohách
  • Druhá derivace
    • Určení minima nebo maxima
Introduction to Optimization in Python

Lass uns üben!

Introduction to Optimization in Python

Preparing Video For Download...