ComenzarEmpieza gratis

Maximización de utilidad

Bill es un estudiante de piano en formación que reparte horas de estudio entre música clásica \(c\) y moderna \(m\). Sus preferencias se representan con la misma función de utilidad que acabas de graficar:

\(U(c, m)=c^{0.7}m^{0.3}\).

Las horas de estudio suman 2 al día (\(c+m=2\)). Ayuda a Bill a encontrar el plan de estudio óptimo.

np y minimize ya han sido cargados. Ya hemos importado symbols, diff y solve de SymPy, definido c y m como symbols y definido la función de utilidad U por ti.

Este ejercicio forma parte del curso

Introducción a la optimización en Python

Ver curso

Instrucciones del ejercicio

  • Define la función de utilidad desempaquetando vars y devolviendo la función negada.
  • Define la función de restricción.
  • Configura la restricción con type y fun.
  • Realiza la optimización y extrae los resultados para c y m.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Define the utility function
def utility_function(vars):
    ____
    return ____

# Define the constraint function
def constraint(vars):
    return ____

initial_guess = [12, 12]  

# Set up the constraint
constraint_definition = {____}

# Perform optimization
result = ____
____ = result.____

print("Optimal study hours for classical music:", round(c, 2))
print("Optimal study hours for modern music:", round(m, 2))
Editar y ejecutar código