Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 468
CHƯƠNG 6
ỨNG DỤNG KỸ THUẬT MÔ PHỎNG
TRONG QUẢN LÝ & KỸ THUẬT
(SIMULATION IN ENGINEERING AND MANAGEMENT)
* MỤC TIÊU HỌC TẬP
Sau khi hoàn tất học tập chương 6, sinh viên sẽ có khả năng:
1. Mô tả các bước để thực hiện một mô phỏng.
2. Giải thích được những ưu điểm và nhược điểm của kỹ thuật
mô phỏng.
3. Áp dụng phương pháp mô phỏng Monte-Carlo trong các vấn
đề quản lý – kinh doanh và kỹ thuật.
4. Sử dụng các công cụ tin học để giải bài toán mô phỏng.
1.
GIỚI THIỆU
Hầu hết chúng ta đều biết được tầm quan trọng của việc ứng
dụng rộng rãi kỹ thuật mô phỏng trong thực tế. Trên thế giới:
+ Trong các cuộc thử nghiệm bay vào vũ trụ, người ta đã dùng mô
phỏng vật lý để tái tạo lại điều kiện không gian. Ví dụ như những
điều kiện phi trọng lực (conditions of weightlessness) được mô
phỏng bởi những phòng chứa đầy nước.
+ Tập đoàn công nghiệp Boeing và Airbus thường xây dựng những
mô hình
mô phỏng những chiếc máy bay phản lực (jet aircraft)
và sử dụng nó trong việc kiểm tra đặc điểm hệ thống khí động
trong một nghiên cứu vào năm 1901. Tuy nhiên, nó được công nhận
chính thức và đặt tên bởi 1 nhà toán học người
Hungary tên là John
Von Neumann trong khi ông làm việc dự án chế tạo bom nguyên tử
(atomic bomb) ở Los Alamos trong Thế chiến II. Trong dự án này, các
nhà vật lý phải đương đầu với một vấn đề khó khăn là làm sao xác
định được sự di chuyển của các neutron là bao xa trong các loại vật
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 470
liệu khác nhau (ví dụ: neutron diffusion in fissile material). Phương
pháp Monte Carlo đã được Von Neumann áp dụng nhờ lời đề nghị của
1 đồng nghiệp tại Los Alamos có tên Stanislas Ulam nhằm giải quyết
vấn đề trên bằng cách phát một số ngẫu nhiên để mô phỏng
hành vi
của hạt neutron.
7 bước của kỹ thuật mô phỏng:
1. Xác định vấn đề (Define a Problem);
2. Khai báo các biến liên quan đến vấn đề (Introduce Important
Variables);
3. Xây dựng mô hình mô phỏng (Construct Simulation Model);
4. Thiết lập tất cả các tình huống (hướng giải quyết) có thể có để
kiểm tra/ thử nghiệm (Specify Values to be Variables);
5. Chạy thử nghiệm (Conduct the Simulation);
6. Đưa ra kết quả (Examine the Results)
Ở bước này, ta phân tích kết quả và nếu cần thiết thì sửa đổi lại mô
hình toán và thay đổi số liệu ban đầu để xét cho tình huống khác.
7. Chọn phương án giải quyết (Select Best Course of Action)
t qu
ả
Ch
ọ
n phương án
gi
ả
i quy
ế
t
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 471
Lý thuyết của mô phỏng đã được đề cập từ lâu, tuy nhiên do khối
lượng tính toán lớn, nó chỉ thực sự phát triển mạnh sau khi có ra đời
của máy tính. Vào thời điểm đó (thập niên 1940-1950); nó thường
được dùng để giải
các bài toán về trong quân sự và quản lý. Trong
chương này, trước tiên chúng ta sẽ tìm hiểu những ưu điểm và khuyết
điểm của mô phỏng. Tiếp theo sẽ trình bày phương pháp mô phỏng
Monte Carlo và một số ứng dụng của kỹ thuật mô phỏng trong kinh
doanh quản lý như:
+ Bài toán quản lý tồn kho;
+ Bài toán xếp hàng;
+ Hoạch định …
Phần cuối chương sẽ giới thiệu vai trò của máy tính đối với kỹ
thuật mô phỏng và hướng dẫn lập trình/giải bài toán mô phỏng bằng
(Allows “what-if?” questions)
5. Nó không gây cản trở hệ thống thế giới thực (Does not interfere
with real-world system)
Mô phỏng chỉ tiến hành thử nghiệm trên mô hình chứ không thí
nghiệm trên hệ thống thực. Ví dụ như mô phỏng bệnh viện.
6. Mô phỏng có khả năng cho phép nghiên cứu sự ảnh hưởng luân
phiên của các biến lên kết quả của bài toán, từ đó ta có thể xác định
biến quan trọng nhất ảnh hưởng đến kết quả
.
(Enables study of interactions)
7. Tiết kiệm được thời gian (Enables time compression)
Ví dụ: Tác dụng của việc đặt hàng, quảng cáo, hay các chính sách trải
qua nhiều tháng (có khi cả năm) có thể tiến hành mô phỏng bằng máy
tính trong thời gian ngắn.
8. Cho phép đưa vào các tình huống phức tạp mà các phương pháp
định lượng khác không giải quyết được (Enables the inclusion of real-
world complications).
Ví dụ: Trong lý thuyết xếp hàng đòi hỏi
biến nghiên cứu phải có phân
phối dạng mũ
hoặc phân phối Posson (Exponential or Poisson
Distributions) hay một vài mô hình quản lý tồn kho và sơ đồ mạng
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 473
lưới yêu cầu biến nghiên cứu phải có phân phối chuẩn. Trong khi đó,
mô phỏng có thể sử dụng bất kỳ phân phối xác suất nào do người sử
dụng định nghĩa.
2.2. Khuyết điểm
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 474
một số mô phỏng dựa trên các phần tử ngẫu nhiên nhờ vào các giá trị
ngẫu nhiên được phát ra trong quá trình mô phỏng.
Có rất nhiều biến ngẫu nhiên (mang bản chất xác suất) trong hệ
thống thế giới thực, trong các vấn đề quản lý kinh doanh (không chắc
chắn) mà chúng ta có thể mô phỏng.
Ví dụ:
1. Nhu cầu đặt hàng cơ bản hàng ngày hoặc hàng tuần (Inventory
demand on a daily or weekly basis);
2. Thời gian chờ đặt hàng (Lead time for inventory orders to
arrive);
3. Thời gian giữa những lần hỏng máy (Times between machine
breakdowns);
4. Thời gian giữa những lần di chuyển đến phương tiện phục vụ
(Times between arrivals at a service facility);
5. Thời gian phục vụ (Service times);
6. Thời gian hoàn thành các công tác của một dự án (Times to
complete project activities);
7. Số nhân viên vắng mặt trong mỗi ngày làm việc (Number of
employees absent from work each day).
Monte
-Carlo là một kỹ thuật chọn các số ngẫu nhiên từ 1 phân bố
xác suất. Thuật ngữ Monte Carlo là vô cùng thích hợp/xác đáng bởi vì
nguyên lý cơ bản ẩn chứa sau quá trình này cũng giống như việc chơi
các trò chơi đánh bạc ở các sòng bài casino tại Monaco (bao gồm các
trò bánh xe Roulette quay tròn, đổ xúc sắc
…).
3.2. Các bước thực hiện phương pháp mô phỏng Monte Carlo
Phương pháp mô phỏng Monte-Carlo bao gồm 5 bước chính như
sau:
các cách sau:
+ Bánh xe trò chơi roulette (Spins of roulette wheel);
+ Tra bảng các số ngẫu nhiên (Table of Random Numbers) đã lập
sẵn;
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 476
+ Sử dụng các hàm phát số ngẫu nhiên trên máy tính (Computer
generating)
Bảng các số ngẫu nhiên (Table of Random Numbers): đã được
sắp xếp một cách ngẫu nhiên, vì vậy mỗi con số có cùng cơ hội xuất
hiện trong quá trình lấy mẫu.
Bảng 6.1. Bảng các số ngẫu nhiên
(Nguồn: Barry Render, Ralph M.Stair
Jr., Michael E. Hanna, 2009.
Quantitative Analysis for Management, 10
th
Edition, Prentice Hall
International, Inc)
Bước 5:
Tiến hành mô phỏng cho từng chuỗi thử
(Actually simulating a series of trials)
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 477
4.
VÍ DỤ MINH HỌA PHƯƠNG PHÁP MÔ PHỎNG MONTE
i
) cho từng quan sát = Tần số của quan sát/ Tổng số ngày quan
sát
Bảng 6.3. Xác suất nhu cầu của lốp có bố tỏa tròn
S
ố l
ư
ợng lốp xe ti
êu
T
ần số
Xác su
ất
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 478
thụ, x (cái/ngày) (ngày) P(x
i
)
0 10
10/200=0,05
1 20 0,10
2 40 0,20
3
60
5 0,15 1
Đồ thị phân phối xác suất tích lũy của lốp xe được thể hiện ở
hình 2 sẽ giúp chúng ta gán các số ngẫu nhiên ở bước tiếp theo.
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 479
Hình 6 2. Đồ thị phân phối xác suất tích lũy của lốp xe
Bước 3: Xác lập khoảng dao động tương ứng cho các số ngẫu
nhiên cho từng biến (Khoảng lấy mẫu ngẫu nhiên)
(Establishing an interval of random numbers for each variable)
Sau khi chúng ta đã thể hiện phân phối xác suất tích lũy cho mỗi
biến, chúng ta cần phải gán tập hợp các con số để thể hiện từng giá trị
kết quả có thể có của
biến nghiên cứu. Chúng được gọi là khoảng các
số ngẫu nhiên (random number intervals). Một số được gọi là ngẫu
nhiên khi nó được phát ra bởi một quá trình phát số ngẫu nhiên.
Có nhiều cách để xác định các số ngẫu nhiên miễn là nó đưa ra
được tỷ lệ đúng giữa các kết quả. Ví dụ: 01, 02, 03, 04, 05 hoặc 00,
01, 02, 03, 04 đều được. Nhưng ta nên dùng cách trước vì khoảng cuối
mỗi khoảng sẽ tương ứng với xác suất tích lũy. Nếu xác suất nhu cầu
của lốp xe ứng với 0 cái mỗi ngày là 5%, chúng ta sẽ sử dụng 5% các
số ngẫu nhiên để thể hiện tương ứng với mức nhu cầu bằng 0. Giả sử
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 480
chúng ta có 100 con số được sử dụng trong quá trình mô phỏng, chúng
2 0,2 0,35 Từ 16 đến 35
3 0,3 0,65 Từ 36 đến 65
4
0,2
0,85
T
ừ 66 đến 85
5 0,15 1 Từ 86 đến 00
Bước 4: Tạo các số ngẫu nhiên (Generating random numbers)
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 481
Có nhiều cách để phát ra các số ngẫu nhiên trong quá trình mô
phỏng như:
+ Bánh xe trò chơi roulette (Spins of roulette wheel);
+ Tra bảng các số ngẫu nhiên (Table of Random Numbers) đã lập
sẵn;
+ Sử dụng các hàm phát số ngẫu nhiên trên máy tính (Computer
generating).
Ghi chú:
-
Đối với các vấn đề lớn và phức tạp đòi hỏi phải số lượng mô phỏng
lớn thì chúng ta nên
sử dụng các hàm phát số ngẫu nhiên trên các
chương trình máy tính để phát ra các số ngẫu nhiên.
4
4 68 4
5 98 5
6 96 5
7 33 2
8 50 3
9 88 5
10 90 5
Tổng số lốp xe tiêu thụ cho 10 ngày =
39
Số lốp xe tiêu thụ trung bình cho lần mô phỏng vừa thực hiện =
39/10 = 3,9 (lốp xe/ngày).
Từ mô phỏng này, chúng ta thấy rằng số lượng
lốp xe tiêu thụ
trung
bình là 3,9 lốp xe/ ngày. Trong khi đó, nhu cầu kỳ vọng hàng
ngày/Expected Daily Demand (giá trị trung bình lý thuyết): E(x) =
n 6
i i
i 1
p(x )*x
=
=
∑
= 0,05*0 +0,1*1 + 0,2*2 + 0,3*3 + 0,2*4 + 0,15*5 = 2,95
(lốp xe/ ngày)
+ 2 biến ra quyết định là lượng đặt hàng (Order Quantity) và điểm
tái đặt hàng (Reorder Point), và
+ 2 biến xác suất là nhu cầu hàng ngày (Daily demand) và thời gian
chờ vận chuyển (Lead Time).
Tình huống: Cửa hàng vật liệu xây dựng Phương Nam
Ông Nam
, ông chủ kiêm nhà quản lý của cửa hàng vật liệu xây
dựng Phương Nam, muốn đưa ra một chính sách quản lý tồn kho tối
ưu sao cho chi phí là thấp nhất cho sản phẩm chuyên bán của cửa
hàng: mũi khoan bê tông hiệu NICHOLSON của Mỹ.
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 484
Hình 6.3. Mũi khoan bê tông
Chúng ta giải bài toán theo 7 bước của kỹ thuật mô phỏng:
Bước 1. Xác định vấn đề (Define a Problem): Ông Nam muốn tìm
một chính sách quản lý tồn kho tối ưu (tốt nhất) cho sản phẩm mũi
khoan bê tông hiệu NICHOLSON của Mỹ.
Bước 2. Khai báo các biến liên quan đến vấn đề (Introduce
Important Variables)
Ông Nam
nhận thấy có 2 biến đầu vào liên quan đến vấn đề cần
giải quyết:
+ Biến kiểm soát được (Controllable inputs) /Biến ra quyết định
(Decision Variables); và
+ Biến không kiểm soát được (Uncontrollable inputs).
Biến kiểm soát được (Controllable inputs):
+ Số lượng sản phẩm mỗi lần đặt hàng - Q (Order Quantity);
S
ố l
ư
ợng mũi
khoan tiêu thụ
(cái/ngày)-x
i
T
ần số
(ngày)
Xác su
ất
p
i
Xác su
ất
tích lũy
Kho
ảng các số
ngẫu nhiên
(1) (2) (3) (4) (5)
0 15
15/300 = 0,05
0,05
Từ 01 đến 05
1 30 0,1
0,05 + 0,1 =
kể từ lúc đặt hàng đến lúc nhận hàng ở trên là 1 biến xác
suất. Số ngày để nhận được 50 đơn đặt hàng đã gửi đi trong quá khứ
được cho như trong bảng 6.8. Tương tự như biến nhu cầu (demand) ở
trên, ông Nam đã tính toán xác suất ở cột (3) và biến đổi các dữ liệu
này (cột 1 và 2)
thành một phân bố xác suất cho biến thời gian chờ
(lead time) như trong cột (4) và gán khoảng các số ngẫu nhiên để đưa
ra thời gian chờ như trong cột (5) của bảng 6.8.
Bảng 6.8. Xác suất và khoảng các số ngẫu nhiên của thời gian chở
(Leadtime)
Lead time
(ngày
)-y
i
Tần số
(ngày
)
Xác suất
p
i
Xác suất tích
lũy
Khoảng các
số ngẫu
nhiên
(1)
(2)
(3)
Ngày bắt đầu
mô ph
ỏ
ng
Có
hàng đã
đặt đến?
Tăng tồn kho hiện
tại bằng lượng
hàng đ
ế
n
Phát ra một con số
ngẫu nhiên thể hiện
nhu cầu trong ngày
Nhu cầu
lớn hơn tồn kho
đầu kỳ?
Ghi nhận
sô lượng
END
Không
Không
Có
Có
Có
Đủ số ngày
cần mô phỏng
bài toán?
Có đơn
đặt hàng nào
chưa vận
chuy
ể
n đ
ế
n?
Đặt
hàng
Phát một số
ngẫu nhiên thể
hiện thời gian
chờ (lead time)
Tính toán: Tồn kho trung bình cuối kỳ,
= 2 thì đơn đặt hàng sẽ được thực hiện sau 3 ngày
leadtime = 3 thì đơn đặt hàng sẽ được thực hiện sau 4 ngày
Thời gian đem giao hàng = Thời gian chờ nhận hàng = leadtime
+1 (ngày)
Giả thiết tồn kho đầu kỳ vào ngày 1 (Dự trữ ban đầu) là 10 mũi
khoan bê tông.
Bước 5. Chạy thử nghiệm (Conduct the Simulation)
Giả sử mô phỏng sẽ được thực hiện cho một chu kỳ là 10 ngày
được thể hiện trong bảng sau đây:
Bảng 6.9. Mô phỏng bài toán tồn kho của cửa hàng vật liệu xây
dự ng Phương Nam
Ngày
Số
mũi
khoan
nhận
Tồn
kho
đầu
kỳ
Số
ngẫu
nhiên
1
Nhu
cầu
tiêu
thụ
Tồn
3 0 6 57 3 6-
3=3
a
<5
0 Có 02
b
1
4
0
3
94
c
5
0
2
Không
d
-
-
-
4=3<5
0
Có
14
1
Sum
41 2 3
Chú thích: Các số ngẫu nhiên 1 và 2 được lấy trong cột thứ 2
của bảng các số ngẫu nhiên.
a. Đây là lần đầu tiên tồn kho cuối kỳ (=3) < Điểm tái đặt hàng
(ROP=5) và trước đó không có đơn hàng nào được đặt cho nên ta sẽ
đặt hàng bằng cách ghi “Yes/Có” vào cột đặt hàng (8).
b. Số ngẫu nhiên 2 biểu diễn
thời gian leadtime đầu tiên được phát ra
là 02, nó được lấy từ cột thứ 2 hàng thứ 4 của bảng các số ngẫu nhiên.
c. Số ngẫu nhiên 1 biểu
diễn nhu cầu (demand) ở đây là số 94 (là số
tiếp theo của số 02 đã nói ở mục c).
d. Vào ngày 4 mặc dù tồn kho cuối kỳ (=0) < Điểm tái đặt hàng
(ROP=5), ta vẫn không đặt hàng do trước đó 1 ngày (ngày 3) ta đã đặt
hàng và hàng chưa đến.
e. Hàng đặt ở ngày 3 sẽ nhận được vào ngày 5 (do leadtime
=1 ngày
nên thời gian chờ nhận hàng = leadtime
hàng bằng cách ghi “Yes (Có)” ở cột (8).
Biến thời gian
chờ (Leadtime) cho đơn đặt hàng mới được mô phỏng
bằng cách chọn 1 số ngẫu nhiên từ bảng 7 và ghi nhận nó ở cột (9)
tương tự như biến nhu cầu (Demand).
Bước 6. Đưa ra kết quả (Examine the Results)
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.
Chương 6. Ứng dụng mô phỏng trong quản lý và kỹ thuật
GV. ThS. Nguyễn Thanh Phong- Trường Đại học Mở Tp. HCM 491
* Phân tích chi phí tồn kho của cửa hàng vật liệu xây dựng Phương
Nam:
Bởi vì mục tiêu của bài toán là cần tìm ra được 1 chính sách để việc
quản lý tồn kho tối ưu sao cho chi phí tồn kho là thấp nhất, ông Nam
cần phải tính toán các chi phí tồn kho.
Một số kết quả quan trọng:
1. Tồn kho trung bình cuối kỳ (Average Ending Invetory) =
41
10
=4,1
(mũi khoan/ngày)
2. Thất thu trung bình (Average Lost Sales) =
2
10
=0,2 (mũi
khoan/ngày)
3. Số lần đặt hàng trung bình (Average Number of Orders place) =
3
10
Vậy tổng chi phí tồn kho của 1 năm (200 ngày) = 200 * 4,72 =
944 USD
Mô phỏng được thực hiện trong nhiều ngày (100 ngày, 1000
ngày…) sẽ cho kết quả chính xác hơn. Giả sử chúng ta đã tiến hành
mô phỏng 1000 ngày bán hàng của cửa hàng Phương Nam ứng với
chính sách đặt hàng Q = 10 và ROP =5. Như vậy bài toán mô phỏng
đã hoàn tất hay chưa? Câu trả lời là chưa, nó dường như chỉ mới bắt
đầu mà thôi. Chúng ta cần phải xác nhận về giá trị cũng như tính đúng
đắn của mô hình xem thử nó có phản ánh đúng vấn đề thực tế hay
không. Như đã đề cập ở hình 1, sau khi đưa ra kết quả mô hình chúng
ta có thể quay trở lại bước 3 để hiệu chỉnh mô hình đã xây dựng cho
đến khi nó thể hiện đúng như những gì chúng ta mong đợi. Chúng ta
có thể đưa ra thêm các giá trị có thể khác của biến số để nghiên cứu
vấn đề được đúng và chính xác hơn.
Chẳng hạn như ông Nam có thể thực hiện các mô phỏng ứng với
các chiến lược tiềm năng khác nhau, nghĩa là ứng với các cặp giá trị
(Q, ROP) thay đổi. Ví dụ
cho biến thiên: Q = [6,20] và ROP = [3,10].
Ta có một số cặp như sau:
+ Q = 10, ROP = 4
+ Q = 12, ROP = 6
Generated by Foxit PDF Creator © Foxit Software
For evaluation only.