Bài tập ràng buộc nhu cầu phụ thuộc
Bạn đang xây dựng kế hoạch sản xuất cho 5 sản phẩm (A đến E). Một đơn vị sản phẩm E gồm 2 đơn vị A và 1 đơn vị C. Sản phẩm C cũng được bán trực tiếp cho khách hàng. Khoảng thời gian lập kế hoạch là 3 tháng. Bạn muốn xác định lượng sản xuất theo tháng cho từng sản phẩm sao cho đáp ứng nhu cầu khách hàng và tối thiểu hóa tổng chi phí.
Một Pandas DataFrame tên là demand đã được in ra bảng điều khiển, chứa nhu cầu hàng tháng của khách hàng cho mỗi sản phẩm. Ngoài ra, mã PuLP để khởi tạo mô hình, định nghĩa biến quyết định, hàm mục tiêu và ràng buộc sao cho sản lượng lớn hơn hoặc bằng nhu cầu đã được cung cấp cho bạn.
Bài tập này là một phần của khóa học
Phân tích Chuỗi Cung Ứng với Python
Hướng dẫn bài tập
- Hoàn thiện mã cho các ràng buộc bao gồm nhu cầu phụ thuộc của sản phẩm A và 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.
# Initialize, Define Decision Vars., Objective Function, and Constraints
model = LpProblem("Aggregate Production Planning", LpMinimize)
time = [0, 1, 2]
prod = ['A', 'B', 'C', 'D', 'E']
X = LpVariable.dicts("prod", [(t, p) for p in prod for t in time],
lowBound=0, cat="Integer")
model += lpSum([costs.loc[t, p]*X[(t, p)] for p in prod for t in time])
for p in prod:
for t in time:
model += X[(t, p)] >= demand.loc[t, p]
# Define Dependent Demand Constraints
for t in time:
model += ____ * X[(t, 'E')] <= X[(t, 'A')]
model += ____ * X[(t, ____)] + demand.loc[t, ____] <= X[(t, ____)]