Xử lý nhiều phần tử
Người nông dân muốn tái sử dụng hàm tối ưu hóa trước đó để xử lý các bữa ăn phức tạp hơn cho những loài vật khác trong trang trại.
Đoạn mã trước đó đã được cung cấp. Bạn có thể điều chỉnh mã để xử lý nhiều biến tốt hơn không?
pulp đã được nhập sẵn cho bạn.
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
- Điều chỉnh khai báo biến để dùng
LpVariable.dicts(), lưu chúng vàovariablesvới tên"Food". - Điều chỉnh hàm mục tiêu để dùng
lpSum().
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.
model = LpProblem("MinCost", LpMinimize)
# Adjust the variable definition
C = LpVariable("C", lowBound=0)
S = LpVariable("S", lowBound=0)
# Adjust the objective function
cost = {'C': 0.11, 'S': 0.28}
model += 0.28*S + 0.11*C
model += 40*variables['S'] + 10*variables['C'] >= 17*(variables['C']+variables['S']), "M_protein"
model += variables['S'] + 2.5*variables['C'] >= 2*(variables['C']+variables['S']), "M_fat"
model += variables['C'] + variables['S'] >= 7, "M_weight"
model.solve()
print(f"Cost = {value(model.objective):.2f}")
print(f"Pounds of soybean = {variables['S'].varValue:.2f}, pounds of corn = {variables['C'].varValue:.2f}")