LoslegenKostenlos loslegen

Schattenpreise mit Saft

Ein Unternehmen setzt zwei Maschinen \(M_1\) und \(M_2\) ein, um Grapefruitsaft (\(g\)) und Orangensaft (\(o\)) in Flaschen abzufüllen. Ziel ist es, den Gewinn zu maximieren, unter den Nebenbedingungen

M1: \(6g + 5.5o \leq 40\) und M2: \(3g + 2.5o \leq 20\)

Die Nebenbedingungen spiegeln Produktivität und Verfügbarkeit der Maschinen wider. Zum Beispiel steht M1 40 Stunden pro Woche zur Verfügung und benötigt 6 Stunden, um 1 Tonne Grapefruitsaft abzufüllen, und 5,5 Stunden für eine Tonne Orangensaft.

Zusätzlich gibt es eine Beschaffungsbeschränkung: Das Unternehmen erhält pro Woche maximal 6 Tonnen Grapefruit und 12 Tonnen Orangen. Das sind die oberen Schranken.

pulp wurde bereits importiert und model sowie die Variablen g und o für Grapefruit- bzw. Orangensaft wurden definiert.

Diese Übung ist Teil des Kurses

Einführung in Optimierung mit Python

Kurs anzeigen

Anleitung zur Übung

  • Vervollständige die for-Schleife, um zu prüfen, ob der Schattenpreis positiv ist.
  • Gib die Variable ein, die die marginale Erhöhung der Zielgröße misst, wenn die Nebenbedingung gelockert wird.
  • Gib die Variable ein, die misst, wie eng die Nebenbedingung ist.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

print(LpStatus[model.status])
print(f'The optimal amount of {g.name} embottled is: {g.varValue:.2f} tons')
print(f'The optimal amount of {o.name} embottled is: {o.varValue:.2f} tons')

for name, c in model.constraints.items():
    # Check if shadow value is positive 
    if c.____ > 0:
    # Enter the variable that measures marginal increase in objective when constraint is relaxed
        print(f"Increasing the capacity of {name} by one unit would increase profit by {c.____} units.")
    else:
    # Enter the variable that measures how tight the constraint is
        print(f"{name} has {c.____} units of unused capacity.")
Code bearbeiten und ausführen