Giá trị bóng với nước ép
Một công ty sử dụng hai máy \(M_1\) và \(M_2\) để đóng chai nước ép bưởi (\(g\)) và nước ép cam (\(o\)). Mục tiêu là tối đa hóa lợi nhuận với các ràng buộc
M1: \(6g + 5.5o \leq 40\) và M2: \(3g + 2.5o \leq 20\)
Các ràng buộc phản ánh năng suất và thời gian sẵn có của máy. Ví dụ, M1 có 40 giờ mỗi tuần và cần 6 giờ để đóng chai 1 tấn nước bưởi và 5.5 giờ cho 1 tấn nước cam.
Có thêm ràng buộc cung ứng: công ty chỉ nhận tối đa 6 tấn bưởi mỗi tuần và 12 tấn cam. Đây là các cận trên.
pulp đã được nhập sẵn cho bạn và model đã được định nghĩa, cùng với các biến g và o cho nước ép bưởi và nước ép cam.
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
- Hoàn thiện vòng lặp for để kiểm tra xem giá trị bóng có dương hay không.
- Nhập tên biến đo mức tăng cận biên của hàm mục tiêu khi ràng buộc được nới lỏng.
- Nhập tên biến đo mức độ chặt của ràng buộc.
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.
print(LpStatus[model.status])
print(f'The optimal amount of {g.name} embottled is: {g.varValue:.2f} tons')
print(f'The optimal amount of {o.name} embottled is: {o.varValue:.2f} tons')
for name, c in model.constraints.items():
# Check if shadow value is positive
if c.____ > 0:
# Enter the variable that measures marginal increase in objective when constraint is relaxed
print(f"Increasing the capacity of {name} by one unit would increase profit by {c.____} units.")
else:
# Enter the variable that measures how tight the constraint is
print(f"{name} has {c.____} units of unused capacity.")