Linear beschränkte Kekse
Glückwunsch! Dein Keksunternehmen ist gewachsen. Du hast jetzt zwei Bäckereien, \(A\) und \(B\), die dir helfen, deine Kekse landesweit zu liefern.
Deine Bäckereien können jeweils 100 Kekse pro Tag herstellen, und die Kosten für die Herstellung eines Kekses betragen in Bäckerei \(A\) \(1{,}5\) mal die Menge \(q\), während sie in Bäckerei \(B\) \(1{,}75q\) betragen.
Der Preis ist definiert durch \(150 - q\).
Dein Geschäft boomt und du hast bereits 140 Keks-Vorbestellungen für den Tag. Du möchtest deinen Tagesgewinn maximieren. Wie viele Kekse solltest du in jeder Bäckerei herstellen?
minimize, Bounds und LinearConstraint wurden für dich geladen, und die Umsatzfunktion R ist bereits definiert.
Diese Übung ist Teil des Kurses
Einführung in Optimierung mit Python
Anleitung zur Übung
- Definiere die Kostenfunktion
Cund verwendeq[0]für die Mengen in Bäckerei \(A\) undq[1]für Bäckerei \(B\). - Definiere die Funktion
profit. - Definiere die
boundsundconstraintsfür dein Optimierungsproblem. - Führe die Optimierung durch und speichere das Ergebnis in
result.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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}')