Bắt đầu ngayBắt đầu miễn phí

Bài toán lập kế hoạch logistics 2

Bạn tiếp tục tư vấn cho một nhà sản xuất lò nướng nhà bếp để lập kế hoạch logistics. Lần này, bạn đang cố gắng xây dựng kế hoạch cho sáu tháng tới (Tháng 1–Tháng 6). Vẫn có hai kho hàng (New York và Atlanta), và bốn khu vực khách hàng (Đông, Nam, Trung Tây, Tây). Chi phí vận chuyển từ mỗi kho đến từng khu vực khách hàng được liệt kê trong bảng dưới đây. Mục tiêu của bạn là xác định số lô hàng từ mỗi kho đến các khách hàng sao cho tổng chi phí thấp nhất.

Khách hàng New York Atlanta
Đông $211 $232
Nam $232 $212
Trung Tây $240 $230
Tây $300 $280

Một dictionary Python tên là costs chứa các chi phí của mô hình, cùng ba danh sách months, warehousecustomers đã được tạo sẵn cho bạn. costs đã được in ra để bạn xem, bạn cũng có thể khám phá các danh sách trong console. Ngoài ra, mô hình đã được khởi tạo sẵ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

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa các biến quyết định trong mô hình bằng cách dùng list comprehension để lặp qua các danh sách months, warehousecustomers nhằm tạo một danh sách các khóa. Dùng danh sách khóa đó với LpVariable.dicts() để định nghĩa các biến cần thiết.
  • Định nghĩa hàm mục tiêu bằng cách cộng tất cả chi phí vận chuyển từ một kho và khách hàng cụ thể trong sáu tháng.

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.

# Define decision variables
key = [(m, w, ____) for m in months for w in warehouse for c in customers]
var_dict = LpVariable.dicts('num_of_shipments', 
                            key, 
                            lowBound=____, cat=____)

# Use the LpVariable dictionary variable to define objective
model += lpSum([costs[(w, c)] * ____[(____, ____, ____)] 
                for m in months for w in warehouse for c in customers])
Chỉnh sửa và Chạy Mã