Zacznij terazZacznij za darmo

Powrót do problemu diety

Analizujesz finanse pewnego rolnika, który poprosił cię o ponowne przyjrzenie się diecie jego świń i ewentualne obniżenie kosztów. Aktualna dieta minimalizująca koszty opiera się na zaleceniach weterynarza: co najmniej 17% białka, 2% tłuszczu i 7 funtów paszy zgodnie z poniższymi specyfikacjami.

Pasza Koszt ($/funt) Białko (%) Tłuszcz (%)
kukurydza 0,11 10 2,5
soja 0,28 40 1

Wiesz, że wartość 7 funtów była zaokrąglona i mogłaby spaść do 6,6 funta. Twoim zadaniem jest sprawdzenie, jak zmiana ograniczenia dotyczącego masy lub tłuszczu (każdego z osobna) wpływa na minimalny koszt. Rozwiążesz oryginalny problem i przeanalizujesz luz (slack) oraz wartość dualną (shadow price).

Biblioteka pulp została już zaimportowana, a model wraz ze zmiennymi C i S (kukurydza i soja) są już zdefiniowane.

To ćwiczenie jest częścią kursu

Wprowadzenie do optymalizacji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyświetl luz (slack) ograniczenia dotyczącego masy (Weight).
  • Sprawdź, czy wartość dualna (shadow price) ograniczenia dotyczącego masy (Weight) jest większa od 0.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

model.constraints['Weight'] = C + S >= 7  

model.solve() 
print(f"Status: {LpStatus[model.status]}\n") 

# Print the slack of the weight constraint
print("The slack of the Weight constraint is {}", 
      ____.constraints['Weight'].____)

# Check if the shadow price is greater than 0
if ____.constraints['Weight'].____ > 0:
	print('Tightening the constraint will increase minimum cost')
Edytuj i uruchom kod