Phát triển mô hình sự kiện rời rạc
Bạn được giao xây dựng một mô hình sự kiện rời rạc cho hoạt động nông trại nhằm phân bổ nguồn lực, tăng năng suất và xác định–loại bỏ các nút thắt cổ chai.
Bạn vẫn đang thảo luận với đồng nghiệp về các quy trình liên quan và mức độ chi tiết cần thể hiện trong mô hình. Vì vậy, nhóm đã thống nhất tổng hợp thông tin vào một dictionary tên là process_dict với cấu trúc sau. Ý tưởng là dictionary này sẽ được cập nhật khi có thêm thông tin về các quy trình.
process_dict = {
"Process name 1": <duration>,
"Process name 2": <duration>,
...
}
Hãy xây dựng một mô hình sự kiện rời rạc tổng quát tên discrete_model_farm() có thể lập lịch cho bất kỳ số lượng sự kiện rời rạc nào được định nghĩa trong dictionary.
Các đối số đầu vào của mô hình (theo thứ tự):
process_dict: Dictionary chứa thông tin về các quy trìnhsimulation_time: Thời gian mô phỏng
Thời gian trong mô hình được đo bằng ngày.
Bài tập này là một phần của khóa học
Mô phỏng Sự kiện Rời rạc bằng Python
Hướng dẫn bài tập
- Khởi tạo các biến trạng thái của mô hình,
time(theo dõi thời gian) vàsupply_chain(theo dõi số chu kỳ) và đặt cả hai về 0. - Xác định điều kiện kết thúc để mô hình chạy khi
timenhỏ hơnsimulation_time. - Cộng thời lượng của quy trình vào biến trạng thái
time.
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 discrete_model_farm(process_dict, simulation_time):
# Initiate variables
time = ____
supply_chain = ____
# Define ending condition
while ____ < ____:
supply_chain += 1
process_names = list(process_dict.keys())
for p in range(len(process_names)):
event_duration = process_dict[process_names[p]]
# Add the process duration
____ += event_duration
print(f"{process_names[p]} (completed): time = {time}")
print(f"COMPLETED: Production cycle #{supply_chain} | Time = {time} days")