Ràng buộc tuyến tính cho bánh quy
Chúc mừng! Doanh nghiệp bánh quy của bạn đã mở rộng. Giờ bạn có hai lò bánh, \(A\) và \(B\), để giúp giao bánh trên toàn quốc.
Mỗi lò có thể làm 100 chiếc bánh mỗi ngày; chi phí làm một chiếc bánh ở lò \(A\) là \(1.5\) nhân với sản lượng \(q\), còn ở lò \(B\) là \(1.75q\).
Giá bán được xác định bởi \(150 - q\).
Việc kinh doanh đang phát đạt và bạn đã có sẵn 140 đơn đặt trước cho hôm nay. Bạn muốn tối đa hóa lợi nhuận trong ngày. Bạn nên làm bao nhiêu bánh ở mỗi lò?
minimize, Bounds, và LinearConstraint đã được nạp sẵn cho bạn và hàm doanh thu R đã được định nghĩa.
Bài tập này là một phần của khóa học
Nhập môn Tối ưu hóa với Python
Hướng dẫn bài tập
- Định nghĩa hàm chi phí
Cdùngq[0]cho sản lượng ở lò \(A\) vàq[1]cho lò \(B\). - Định nghĩa hàm
profit. - Xác định
boundsvàconstraintscho bài toán tối ưu của bạn. - Thực hiện tối ưu hóa, lưu vào
result.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
def R(q):
return (150 - q[0] - q[1]) * (q[0] + q[1])
# Define the cost function
def C(q):
return ____
# Define the profit function
def profit(q):
return ____
# Define the bounds and constraints
bounds = Bounds(____, ____)
constraints = LinearConstraint([1, 1], ____)
# Perform optimization
result = ____(lambda q: ____,
[50, 50],
bounds=bounds,
constraints=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}')