Biscuits : contrainte non linéaire
Vous avez fait de l'excellent travail en pâtisserie!
Pouvez-vous maintenant résoudre le même problème en utilisant NonlinearConstraint?
Rappel : la contrainte pour les boulangeries est de satisfaire un minimum de 140 précommandes et chaque usine peut produire 100 biscuits par jour.
minimize, Bounds et NonlinearConstraint ont été importées pour vous, ainsi que la fonction de revenus R, la fonction de coûts C et la fonction de profit profit.
Cette activité fait partie du cours
Introduction à l'optimisation en Python
Instructions de l’exercice
- Définissez les contraintes à l'aide de la fonction
lambdaq, en fixant les bornes inférieure et supérieure. - Effectuez l'optimisation en ajoutant la fonction d'optimisation, les bornes et les contraintes à
miminize().
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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}')