Tập hợp mô phỏng: lấy mẫu Monte Carlo

Mô phỏng Sự kiện Rời rạc bằng Python

Diogo Costa (PhD, MSc)

Adjunct Professor, University of Saskatchewan, Canada & CEO of ImpactBLUE-Scientific

Phản hồi hệ thống theo các kịch bản khác nhau

  • Quy trình phi tất định gây biến thiên phản hồi hệ thống
  • Video trước: Cách mô hình hóa quy trình phi tất định
  • Mô tả lan truyền bất định trong mô hình
  • Nghiên cứu phản hồi hệ thống theo kịch bản khác nhau

Điều này hỗ trợ

  • Lập kế hoạch mở rộng kinh doanh
  • Thực hiện stress test
  • Chuẩn bị cho tình huống cực đoan
Mô phỏng Sự kiện Rời rạc bằng Python

Lấy mẫu Monte Carlo

  • Lặp lại lấy mẫu ngẫu nhiên
  • Mô hình hóa hệ thống với thay đổi nhỏ
  • Xem phản hồi hệ thống trước thay đổi

Không gian tham số khi số mẫu tăng

Biểu đồ kết quả 100 mẫu Monte Carlo. Chưa thấy rõ mẫu hình kết quả mô hình.

Biểu đồ kết quả 1500 mẫu Monte Carlo. Một số mẫu hình đã thấy nhưng còn hạn chế.

Biểu đồ kết quả 5000 mẫu Monte Carlo. Mẫu hình rõ ràng, hiện cấu trúc dạng lưới.

Mô phỏng Sự kiện Rời rạc bằng Python

Lấy mẫu Monte Carlo: khảo sát quy trình

Ví dụ: Chạy Monte Carlo để hiểu miền đầu ra của bộ phát sự kiện theo phân phối chuẩn (Gauss)

import random as rd
import numpy as np
import matplotlib.pyplot as plt

# Generating samples: Gaussian distribution
duration_sample = [rd.gauss(25, 5) 
for i in range(5000)]

# Plotting
plt.scatter(duration_sample, np.r_[0:5000], 
marker='.', c=duration_sample, cmap='CMRmap')
plt.xlabel("Duration [min]")
plt.ylabel("Monte Carlo Runs")

Vẽ kết quả Biểu đồ hiển thị lấy mẫu Monte Carlo cho thời lượng sinh theo phân phối chuẩn.

Mô phỏng Sự kiện Rời rạc bằng Python

Lấy mẫu Monte Carlo: mô hình sự kiện rời rạc

Mục tiêu cốt lõi

  • Khám phá bất định của mô hình
  • Do các quy trình phi tất định gây ra
  • Định lượng/đặc trưng bất định
  • Hỗ trợ ra quyết định

Sơ đồ một hệ gồm bốn trạng thái, các quy trình làm thay đổi trạng thái. Vì mỗi lần lặp có biến thiên thời lượng, số khả năng trạng thái hệ tăng dần theo chuỗi quy trình.

Mô phỏng Sự kiện Rời rạc bằng Python

Lấy mẫu Monte Carlo: mô hình sự kiện rời rạc

  • Bất định trong thời lượng từng quy trình lan truyền qua hệ thống

  • Dẫn đến các quỹ đạo mô hình khác nhau

  • Gọi là Response Envelope

Ví dụ:

n_trajectories = 50

process_1 = {"Name": "Raw_material", 
             "OperationTime": 20, 
             "MaxDelayTimePercent": 10}
process_2 = {"Name": "Unloading", 
            "OperationTime": 15, 
            "MaxDelayTimePercent": 5}

Biểu đồ hiển thị “response envelope” của một hoạt động sản xuất gồm chuỗi quy trình tuần tự.

Mô phỏng Sự kiện Rời rạc bằng Python

Hãy thực hành!

Mô phỏng Sự kiện Rời rạc bằng Python

Preparing Video For Download...