Lineair begrensde koekjes
Gefeliciteerd! Je koekjesbedrijf is gegroeid. Je hebt nu twee bakkerijen, \(A\) en \(B\), die je helpen je koekjes landelijk te leveren.
Elke bakkerij kan 100 koekjes per dag maken. De kosten per koekje in bakkerij \(A\) zijn \(1.5\) maal de hoeveelheid \(q\), en in bakkerij \(B\) zijn ze \(1.75q\).
De prijs is gedefinieerd als \(150 - q\).
Je bedrijf floreert en je hebt al 140 koekjes-preorders voor vandaag. Je wilt je dagwinst maximaliseren. Hoeveel koekjes moet je in elke bakkerij maken?
minimize, Bounds en LinearConstraint zijn voor je geladen en de omzetfunctie R is al gedefinieerd.
Deze oefening maakt deel uit van de cursus
Introductie tot optimalisatie in Python
Oefeninstructies
- Definieer de kostenfunctie
Cmetq[0]voor de hoeveelheden in bakkerij \(A\) enq[1]voor bakkerij \(B\). - Definieer de functie
profit. - Definieer de
boundsenconstraintsvoor je optimalisatieprobleem. - Voer de optimalisatie uit en sla op in
result.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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}')