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
Övningsinstruktioner
- Definiera begränsningarna med hjälp av
lambda-funktionenqoch 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}')