Introduction to Optimization in Python
Jasmin Ludolf
Content Developer
Objective function:
$P = 40q - 0.5q^2$
Objective function:
$P = 40q - 0.5q^2$
Objective function:
$P = 40q - 0.5q^2$
Derivative: describes how the slope behaves
$\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
Optimum is found where the derivative function equals zero
Optimum $q$ satisfies:
$\frac{dP}{dq} = 40 - q = 0$
q_opt = solve(dp_dq)
print(f"Optimum quantity: {q_opt}")
Optimum quantity: [40.0000000000000]
Objective function:
$p = 40q - 0.5q^2$
q_opt = solve(p_prime)
print(f"Optimum quantity: {q_opt}")
Optimum quantity: [40.0000000000000]
Derivative:
$\frac{dp}{dq} = 40 - q$
Second derivative:
$\frac{d^2p}{dq^2} = -1 < 0$
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