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

Lineárně omezené sušenky

Gratulujeme! Tvůj sušenkový byznys se rozrostl. Nyní máš dvě pekárny, \(A\) a \(B\), které ti pomáhají doručovat sušenky po celé zemi.

Každá pekárna dokáže upéct 100 sušenek denně. Náklady na výrobu jedné sušenky v pekárně \(A\) jsou \(1{,}5\) násobek množství \(q\), v pekárně \(B\) pak \(1{,}75q\).

Cena je definována jako \(150 - q\).

Tvůj byznys se daří a na dnešní den už máš 140 předobjednávek. Chceš maximalizovat denní zisk. Kolik sušenek by měla upéct každá pekárna?

Funkce minimize, Bounds a LinearConstraint jsou již načteny a funkce výnosů R je předem definována.

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

Introduction to Optimization in Python

Zobrazit kurz

Pokyny k cvičení

  • Definuj funkci nákladů C s využitím q[0] pro množství v pekárně \(A\) a q[1] pro pekárnu \(B\).
  • Definuj funkci profit (zisk).
  • Definuj bounds (meze) a constraints (omezení) pro svůj optimalizační problém.
  • Proveď optimalizaci a výsledek ulož do proměnné result.

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

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

def R(q):
    return (150 - q[0] - q[1]) * (q[0] + q[1])

# Define the cost function
def C(q): 
  return ____

# Define the profit function
def profit(q): 
  return ____

# Define the bounds and constraints
bounds = Bounds(____, ____) 
constraints = LinearConstraint([1, 1], ____) 

# Perform optimization
result = ____(lambda q: ____,                 
                  [50, 50],              
                  bounds=bounds,
                  constraints=constraints)

print(result.message)
print(f'The optimal number of biscuits to bake in bakery A is: {result.x[0]:.2f}')
print(f'The optimal number of biscuits to bake in bakery B is: {result.x[1]:.2f}')
print(f'The bakery company made: ${-result.fun:.2f}')
Upravit a spustit kód