Kom igångKom igång gratis

Icke-linjär begränsad kexoptimering

Det var ett riktigt bra bakningsarbete!

Kan du nu lösa samma problem igen med hjälp av NonlinearConstraint?

Kom ihåg att bageriernas villkor är att de måste uppfylla minst 140 förbeställningar och att varje fabrik kan producera 100 kex per dag.

minimize, Bounds och NonlinearConstraint har redan laddats in åt dig, liksom intäktsfunktionen R, kostnadsfunktionen C och vinstfunktionen profit.

Den här övningen är en del av kursen

Introduktion till optimering i Python

Visa kurs

Övningsinstruktioner

  • Definiera begränsningarna med hjälp av lambda-funktionen q och ange nedre och övre gränser.
  • Utför optimeringen genom att lägga till optimeringsfunktionen, gränserna och begränsningarna i minimize().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Redefine the problem with NonlinearConstraint
constraints = NonlinearConstraint(lambda q: ____, ____, ___)

# Perform optimization
result = minimize(lambda q: ____, 
                  [50, 50], 
                  bounds=____,
                  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}')
Redigera och kör kod