ÎncepețiÎncepe gratuit

Prețuri umbră cu suc de fructe

O firmă folosește două mașini \(M_1\) și \(M_2\) pentru a îmbutelia suc de grapefruit (\(g\)) și suc de portocale (\(o\)). Obiectivul firmei este să maximizeze profitul, respectând constrângerile

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

Constrângerile reflectă productivitatea și disponibilitatea mașinilor. De exemplu, M1 este disponibilă 40 de ore pe săptămână și are nevoie de 6 ore pentru a îmbutelia 1 tonă de suc de grapefruit, respectiv 5,5 ore pentru o tonă de suc de portocale.

Există și o constrângere suplimentară de aprovizionare: firma primește maximum 6 tone de grapefruit pe săptămână și 12 tone de portocale. Acestea reprezintă limitele superioare.

pulp a fost deja importat, iar model a fost definit împreună cu variabilele g și o pentru sucul de grapefruit și cel de portocale.

Acest exercițiu face parte din cursul

Introducere în optimizare în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Completează bucla for pentru a include o verificare care să detecteze dacă prețul umbră este pozitiv.
  • Introdu variabila care măsoară creșterea marginală a obiectivului atunci când constrângerea este relaxată.
  • Introdu variabila care măsoară cât de strictă este constrângerea.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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.")
Editează și rulează codul