非线性约束的曲奇问题
这次烘焙表现很棒!
现在请您改用 NonlinearConstraint 来解决相同的问题。
回顾烘焙厂的约束:需要至少满足 140 份预订,每家工厂每天能生产 100 片曲奇。
minimize、Bounds 和 NonlinearConstraint 已为您加载,同时还提供了收益函数 R、成本函数 C 和利润函数 profit。
本练习是课程的一部分
Python 优化入门
练习说明
- 使用
lambda函数q来定义约束,并设置下界与上界。 - 通过将目标函数、边界和约束传入
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}')