Нелінійні обмеження: печиво
Оце так випікання!
Тепер розв'яжіть це саме завдання, але з використанням NonlinearConstraint.
Нагадаємо, обмеження для пекарень: потрібно виконати щонайменше 140 попередніх замовлень, а кожна фабрика може виробляти 100 печивин на день.
minimize, Bounds і NonlinearConstraint уже завантажено, так само як і функція доходу R, функція витрат C та функція прибутку profit.
Ця вправа є частиною курсу
Вступ до оптимізації в Python
Інструкції до вправи
- Задайте обмеження через функцію
lambdaq, установивши нижню та верхню межі. - Виконайте оптимізацію, додавши цільову функцію, межі та обмеження до
miminize().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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}')