Začněte nyníZačněte zdarma

Maximalizace užitku

Bill je začínající student hry na klavír, který rozděluje hodiny studia mezi klasickou hudbu \(c\) a moderní hudbu \(m\). Jeho preference jsou vyjádřeny funkcí užitku, kterou jsi právě vykreslil/a:

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

Denně věnuje studiu celkem 2 hodiny (\(c+m=2\)). Pomoz Billovi najít optimální studijní plán.

np a minimize jsou již načteny. Z knihovny SymPy jsou importovány symbols, diff a solve, proměnné c a m jsou definovány jako symbols a funkce užitku U je také připravena.

Toto cvičení je součástí kurzu

Introduction to Optimization in Python

Zobrazit kurz

Pokyny k cvičení

  • Definuj funkci užitku rozbalením vars a vrať negovanou funkci.
  • Definuj funkci omezení.
  • Nastav omezení pomocí type a fun.
  • Proveď optimalizaci a získej výsledky pro c a m.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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))
Upravit a spustit kód