Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
243,5 KB
Nội dung
M« h×nh m« pháng c¬ b¶n
CHƯƠNG 1.MÔHÌNHMÔPHỎNGCƠ BẢN
1.1. GIỚI THIỆU.
1.1.1. Tính tất yếu của mô phỏng
Mô phỏng là một phương pháp sử dụng rộng rãi khi nghiên cứu các hệ thống tự nhiên và kỹ
thuật, các quá trình và hiện tượng, trong nhiều lĩnh vực khác nhau. Môphỏng được phát triển
trên cơ sở sử dụng các môhình toán học, các môhình tự nhiên và bán tự nhiên với sự trợ giúp
của máy tính và một số kỹ thuật khác để diễn tả lại các quá trình hay hiện tượng của thế giới
thực. Các quá trình hay hiện tượng được quan tâm gọi là hệ thống và để nghiên cứu nó một
cách khoa học phải nắm bắt các giả thiết, quy luật hoạt động của hệ thống đó. Tập hợp các giả
thiết và quy luật, thường được đưa ra dưới dạng các công thức toán học hay quan hệ logic gọi
là mô hình.
Đối với các môhình đủ đơn giản có thể sử dụng các phương pháp toán học (đại số, giải tích
hay lý thuyết xác suất) khi nghiên cứu và sẽ có các kết quả chính xác về hệ thống, phương
pháp này được gọi là phương pháp phân tích. Tuy nhiên hầu hết các hệ thống thực đều quá
phức tạp để xây dựng các môhình chỉ sử dụng phương pháp này, các môhình này phải
nghiên cứu bằng phương pháp hiệu quả hơn là mô phỏng. Phương pháp môphỏng sử dụng
máy tính để ước lượng môhình số và dữ liệu được tập hợp từ môhình nhằm diễn tả lại các
đặc tính của mô hình.
Mô phỏng được ứng dụng trong rất nhiều lĩnh vực khác nhau. Dưới đây là một số lĩnh vực cụ
thể mà môphỏng đã trở thành công cụ hữu ích và hiệu quả:
• Thiết kế và phân tích các hệ thống sản xuất.
• Ước lượng phần cứng và phần mềm cho các hệ thống máy tính.
• Ước lượng các hệ thống vũ khí quân sự mới hay tác chiến.
• Thiết kế hệ thống thông tin liên lạc và giao thức truyền.
• Thiết kế và điều hành các hệ thống giao thông như đường cao tốc, sân bay, đường
hầm, bến cảng…
• Ước lượng, thiết kế các hệ thống phục vụ như bệnh viện, bưu điện, nhà hàng,…
• Phân tích các hệ thống tài chính, kinh tế.
Mô phỏng là một trong những ngành kỹ thuật được sử dụng rộng rãi nhất trong công tác
nghiên cứu và quản lý khoa học về kỹ thuật. Môphỏng mới chỉ được phát triển trong vài năm
gần đây, tuy nhiên giá trị và tính hiệu quả ngày càng tăng do sự cải thiện đáng kể về máy tính
và phần mềm mô phỏng.
Tuy nhiên cũng có một vài trở ngại hạn chế sự ứng dụng rộng rãi của mô phỏng. Thứ nhất,
các môhình được nghiên cứu thường rất phức tạp và việc viết chương trình môphỏng gặp
nhiều khó khăn. Trong những năm gần đây, sự hạn chế này được khắc phục do phát triển
nhiều phần mềm tốt có khả năng tự động cung cấp các tính năng cần thiết để mã hoá (coding)
mô hìnhmô phỏng. Thứ hai, các hệ thống phức tạp cần một số lượng lớn máy tính. Điều này
cũng được khắc phục do máy tính ngày càng rẻ. Do đó cùng với sự phát triển của công nghệ
sản xuất máy tính (cải thiện tốc độ, giá thành hạ) và công nghệ phần mềm, môphỏng ngày
càng là một công cụ mạnh và không thể thiếu khi nghiên cứu các hệ thống phức tạp và các hệ
thống phục vụ huấn luyện.
1
M« h×nh m« pháng c¬ b¶n
1.1.1. Hệ thống, môhình và mô phỏng.
Hệ thống được định nghĩa là tập hợp các thực thể (người hoặc máy) có các tác động lẫn nhau
nhằm đạt được một mục đích nào đó (Định nghĩa của Schmidt và Taylor năm 1970). Thực tế,
hệ thống còn phụ thuộc vào các đối tượng nghiên cứu cụ thể, có thể tập hợp các thực thể tạo
nên hệ thống này lại là tập hợp con đối với toàn bộ hệ thống cho nghiên cứu khác. Hệ thống
được định nghĩa như sau:
Hệ thống được xác định bởi tập hợp (T, U, Y, Q, Ω, δ, λ), trong đó:
♦ T là tập hợp thời gian.
♦ U là tập đầu vào, chứa các giá trị có thể có của đầu vào hệ thống.
♦ Y là tập đầu ra, chứa các giá trị kết quả của hệ thống.
♦ Q là tập trạng thái.
♦ Ω là tập các hàm đầu vào.
♦ δ tập hợp các hàm chuyển dịch trạng thái, δ: Q×T×T×Ω → Q.
♦ λ tập hợp đầu ra λ: Q → Y.
Hình 1.1. Sơ đồ minh hoạ hệ thống.
Trạng thái hệ thống là tập hợp tất cả các biến mô tả hệ thống tại từng thời điểm và có quan hệ
với đối tượng nghiên cứu. Các biến này được gọi là biến trạng thái của hệ thống. Ký hiệu
trạng thái hệ thống (S
1
, S
2
, , S
n
), n là số thành phần của vectơ trạng thái, S
i
(i=
n,1
) là các
thành phần trạng thái. Tập hợp các trạng thái của hệ thống Q gọi là không gian trạng thái.
Sự kiện là biến cố xảy ra mà có thể thay đổi trạng thái hệ thống, ký hiệu là (t, S
1
S
2
, , S
n
),
trong đó t là thời gian xảy ra sự kiện.
Ví dụ 1.1: Đối với hoạt động của một ngân hàng, có thể các biến trạng thái là số trạm
thu ngân bận, số khách hàng và điểm thời gian mỗi khách hàng đến. Kí hiệu n, k ∈ N
là trạm thu ngân bận và số khách hàng, t là thời gian đến của khách hàng, ta có (n, k, t)
biểu diễn trạng thái của hệ thống. Vậy có không gian trạng thái của hệ thống là Q =
{(n, k, t)| n,k∈N, t∈R }.
2
S
1
S
2
S
3
S
4
S
5
Mô hình
Đầu ra
Đầu v oà
Hệ thống
M« h×nh m« pháng c¬ b¶n
Hệ thống có thể phân thành 2 loại rời rạc và liên tục. Hệ thống rời rạc là hệ thống mà biến
trạng thái thay đổi theo từng khoảng thời gian, tức tồn tại các khoảng thời gian mà trạng thái
hệ thống không đổi. Ví dụ trên là một hệ thống rời rạc vì các biến trạng thái chỉ thay đổi tại
các thời các thời điểm khách hàng đến và rời hệ thống. Hệ thống liên tục là hệ thống mà biến
trạng thái thay đổi tương ứng với thời gian. Ví dụ máy bay đang bay với biến trạng thái là vận
tốc và vị trí là một hệ thống liên tục vì các biến trạng thái thay đổi tương ứng với thời gian.
Rất ít hệ thống thực tế là hoàn toàn rời rạc hoặc hoàn toàn liên tục nhưng hầu hết các hệ thống
loại nào đó thường chiếm ưu thế nên có thể phân hệ thống hoặc rời rạc, hoặc liên tục. Khái
niệm rời rạc hay liên tục ở đây chỉ là tương đối, đặc biệt đối với các hệ thống được xây dựng
bằng các môhình số và được môphỏng trên máy tính. Vì khi xây dựng các môhình số cho hệ
thống ta đã rời rạc hoá thời gian thực.
Đối với một hệ thống, ta cần nghiên cứu theo giai đoạn hoạt động trong các điều kiện khác
nhau nhằm tìm ra quan hệ lôgic giữa các thành phần hoặc xác định được nguyên tắc làm việc
của nó khi thay đổi điều kiện. Sau đây ta xét các phương pháp khác nhau khi nghiên cứu một
hệ thống, được mô tả ở Hình 1.2.
• Thí nghiệm với hệ thống thực và môhình của hệ thống:
Thí nghiệm với các hệ thống thực: thay đổi cơ cấu vật lý của hệ thống hay điều kiện làm việc
và cho hệ thống hoạt động dưới điều kiện mới. Điều này có thể đạt được mục đích nghiên cứu
một số tính năng của hệ thống. Tuy nhiên, phương pháp ít khả thi đối với các hệ thống phức
tạp, đặc biệt là các hệ thống sản xuất hiện đại, các hệ thống vũ khí hạt nhân chiến lược hay hệ
thống có thời gian làm việc dài. Vì vậy cần thiết xây dựng môhình thể hiện đúng các đặc tính
của hệ thống và nghiên cứu môhình thay thế cho hệ thống thực.
Hình 1.2. Các phương pháp nghiên cứu hệ thống
• Môhình vật lý và môhình toán học:
Từ “mô hình” ở đây có thể là buồng tập lái máy bay để huấn luyện phi công, hay một chiếc
tàu chiến trong một bể bơi Đó là các ví dụ về môhình vật lý, nhưng không có một loại mô
hình cụ thể nào để nghiên cứu và phân tích các hệ thống tương tự. Lợi ích của môhình vật lý
là có được các kết quả nghiên cứu trực quan về hệ thống, tuy nhiên ít có kết quả về quan hệ
lôgic và các đại lượng trong hệ thống. Môhình toán học cho một hệ thống là các thành phần
3
Hệ thống
Thí nghiệm với
hệ thống hiện tại
Thí nghiệm với
mô hình hệ thống
Mô hình vật lý Môhình toán học
Phương pháp
phân tích.
Mô phỏng
M« h×nh m« pháng c¬ b¶n
logic, đại lượng và quan hệ mà khi thay đổi thì môhình thay đổi theo, vì vậy hệ thống cũng
thay đổi. Có lẽ môhình toán học đơn giản nhất là quan hệ d = rt, trong đó r là vận tốc
chuyển động của vật thể, t là thời gian chuyển động và d là quảng đường đi được của vật thể.
Đây là một môhình đúng đối với một số hệ thống đơn giản nhưng quá nghèo nàn khi thể hiện
một số hệ thống ( ví dụ giờ cao điểm trên một đường phố).
• Phương pháp phân tích và mô phỏng:
Sau khi đã xây dựng được môhình toán học, cần phải kiểm tra xem nó có thể hiện đúng hệ
thống mà môhình xây dựng trên đó. Nếu môhình đủ đơn giản, có thể nghiên cứu thông qua
các quan hệ và đại lượng để đưa ra kết quả chính xác, gọi là phương pháp phân tích. Ví dụ
trong môhình d = rt, nếu biết khoảng cách d và vận tốc r của vật thể, ta có thể làm việc với
mô hình thông qua quan hệ t = d/r, đó chính là thời gian cần tìm. Đối với những môhình mà
phương pháp phân tích quá phức tạp, có tốc độ tính toán lớn hay môhình toán học của hệ
thống phức tạp thì phương pháp này tỏ ra kém hiệu quả. Khi đó các hệ thống này thường
được nghiên cứu thông qua mô phỏng. Như đã nêu ở trên môphỏng là phương pháp hiệu quả
đối với nhiều hệ thống trong nhiều lĩnh vực khác nhau, đặc biệt đối với các hệ thống phức tạp.
Chúng ta đã đề cập đến khái niệm môhình toán học và nghiên cứu chúng bằng môphỏng (từ
đây về sau gọi là môhìnhmô phỏng), nhưng khả năng ứng dụng còn tuỳ thuộc vào các bài
toán cụ thể. Môhìnhmôphỏngcó thể chia làm ba loại chính:
• Môhìnhmôphỏng tĩnh và động (Static vs. Dynamic): Môhìnhmôphỏng tĩnh là
mô hình chỉ thể hiện hệ thống tại các thời điểm hay môhình mà thời gian không được chú ý
đến. Ví dụ điển hình là các môhình Monte Carlo, được xét ở phần 8.3. Môhìnhmô phỏng
động là môhình thể hiện hệ thống gắn với thời gian như hệ thống vận chuyển trong nhà máy.
• Môhìnhmôphỏng tất định và ngẫu nhiên (Deterministic vs. Stochastic): Nếu mô
hình môphỏng không chứa các yếu tố ngẫu nhiên được gọi là môhình tất định. Ví dụ các
phương trình phản ứng hoá học là môhình tất định vì kết quả phản ứng xảy ra theo các quy
luật hoá học, không có yếu tố ngẫu nhiên. Trong các môhình tất định, kết quả được xác định
thông qua đại lượng đầu vào và các quan hệ trong mô hình, như vậy trong mọi trường hợp kết
quả giống nhau đối với một mô hình. Nhiều hệ thống thực mà môhình của nó chứa ít nhất
một yếu tố ngẫu nhiên, các môhình này được gọi là môhình ngẫu nhiên. Ví dụ đối với các hệ
thống hàng đợi và hệ thống tồn kho (được xét ở phần sau) là các môhìnhmôphỏng ngẫu
nhiên. Đối với loại môhình này thay các yếu tố ngẫu nhiên bằng các yếu tố tất định thì mô
hình không thể hiện đúng hệ thống cần nghiên cứu. Khó khăn lớn nhất khi môhình hoá các hệ
thống này là cần ước lượng các yếu tố ngẫu nhiên để môhình thể hiện đúng các đặc tính của
hệ thống thực.
• Môhìnhmôphỏng rời rạc và liên tục (Discrete vs. Continuous): Ta định nghĩa mô
hình môphỏng rời rạc và liên tục tương ứng với cách định nghĩa các hệ thống rời rạc và liên
tục ở trên. Các khái niệm và môphỏng (sự kiện) rời rạc và môphỏng liên tục được đề cập
trong mục 3 và mục 8. Khi đề cập đến các môhình rời rạc không chỉ sử dụng để môhình hoá
các hệ thống rời rạc và ngược lại. Sử dụng môhình rời rạc hay liên tục cho hệ thống cụ thể
còn phụ thuộc vào các đối tượng nghiên cứu. Ví dụ đối với môhình dòng chảy giao thông
4
M« h×nh m« pháng c¬ b¶n
trên đường là rời rạc nếu chỉ xét đến đặc tính và sự chuyển động của từng chiếc xe. Nhưng
dòng chảy giao thông được xét đến trong các phương trình khác nhau của môhình liên tục.
Mô hìnhmôphỏng được xét đến trong phần dưới đây là môhình rời rạc, động và ngẫu
nhiên, từ đây gọi là môhình sự kiện rời rạc.
1.1.2. Môphỏngmôhình sự kiện rời rạc.
Mô phỏng sự kiện rời rạc là môhình hoá hệ thống, trong đó các biến trạng thái thay
đổi theo khoảng thời gian. Sự kiện là biến cố xảy ra có thể làm thay đổi trạng thái hệ thống.
Do đó tại những điểm thời gian mà trạng thái hệ thống thay đổi thì xảy ra các sự kiện.
Ví dụ 1.2: Xét một hệ thống phục vụ chỉ có một server như hoạt động của bàn
thông tin ở sân bay, buồng khám bệnh của một dịch vụ y tế,… Ở đây, chúng ta cần
phải ước lượng thời gian đợi trung bình của một khách hàng khi đến hệ thống. Thời
gian đợi là khoảng thời gian từ khi khách hàng đến hệ thống đến khi được phục vụ.
Các biến trạng thái cho môphỏng sự kiện rời rạc của hệ thống là trạng thái server (bận
hay rỗi), số khách hàng đợi trong hàng đợi và thời gian đến của mỗi khách hàng trong
hàng đợi. Khi khách hàng đến hệ thống hoặc được phục vụ ngay (server sẽ chuyển
trạng thái từ rỗi sang bận) hoặc xếp vào cuối hàng đợi (server bận). Khi server phục
vụ xong một khách hàng, số khách hàng trong hàng đợi xác định trạng thái của server,
hoặc chuyển sang trạng thái rỗi khi hàng đợi rỗng, hoặc tiếp tục đối với khách hàng
đầu tiên của hàng đợi. Thời gian đến của một khách hàng cần để tính thời gian đợi khi
đã biết thời gian bắt đầu được phục vụ của khách hàng đó. Đối với hệ thống này có hai
loại sự kiện xảy ra: khách hàng đến và kết thúc phục vụ một khách hàng tức khách
hàng rời hệ thống. Khách hàng đến là một sự kiện vì khi nó xảy ra trạng thái server
(biến trạng thái) thay đổi từ rỗi sang bận hoặc số khách hàng trong hàng đợi (biến
trạng thái) tăng thêm 1. Tương tự, khách hàng rời hệ thống cũng là một sự kiện vì
trạng thái server chuyển từ bận sang rỗi hoặc số khách hàng trong hàng đợi giảm 1.
Trong ví dụ trên, có hai loại sự kiện xảy ra làm thay đổi trạng thái hệ thống. Tuy
nhiên, trong một vài môhìnhmôphỏng sự kiện rời rạc, sự kiện xảy ra không ảnh hưởng đến
trạng thái hệ thống. Ví dụ sự kiện kết thúc môphỏng hệ thống tại một điểm thời gian hay sự
kiện mà khi xảy ra thay đổi hoạt động của hệ thống. Vì vậy trong khái niệm sự kiện, ta định
nghĩa có thể làm thay đổi trạng thái hệ thống.
a) Đồng hồ mô phỏng.
Vì môhình đang xét là môhìnhmôphỏng động nên cần lưu giữ thời gian trong quá
trình môphỏng cho các xử lý về sau. Ta gọi biến lưu giá trị thời gian môphỏng là đồng hồ
mô phỏng (simulation clock). Đơn vị của thời gian trong môphỏng không được xác định rõ
ràng, nó cùng đơn vị với tham số đầu vào và tuỳ thuộc vào môhình cụ thể. Nói chung không
có tính tương ứng giữa thời gian thực và thời gian môphỏngmôhình trên máy tính, trừ các
mô hìnhmôphỏng ứng với thời gian thực.
Có hai phương pháp cơbản khi sử dụng đồng hồ mô phỏng: xác định thời gian sự kiện tiếp
theo và gia tăng bước thời gian đều. Phương pháp thứ nhất được sử dụng bởi tất cả các ngôn
ngữ môphỏng chính và những người sử dụng ngôn ngữ lập trình chung như C, Foxtran,
Pascal,… Nó rất có hiệu quả khi sử dụng cho các môhìnhmôphỏng sự kiện rời rạc, thời gian
mô phỏng dài và khoảng thời gian giữa các sự kiện có phương sai lớn. Phương pháp thứ hai là
trường hợp đặc biệt của phương pháp thứ nhất khi gia tăng bởi các khoảng thời gian bằng
5
M« h×nh m« pháng c¬ b¶n
nhau. Tuy nhiên nó không kém hiệu quả khi môhìnhcó các khoảng thời gian giữa các sự kiện
có phương sai bé và môphỏng các hệ thống liên tục.
• Xác định thời gian sự kiện tiếp theo:
Khởi tạo đồng hồ môphỏng bằng 0 khi bắt đầu môphỏng và xác định thời gian xảy ra
sự kiện tiếp theo. Tăng đồng hồ môphỏng đến giá trị thời của sự kiện gần nhất trong các sự
kiện sắp xảy ra, cập nhật lại thông tin của hệ thống và xác định thời gian xảy ra sự kiện tiếp
theo. Tiếp tục tăng đồng hồ môphỏng đến sự kiện sắp xảy ra nhất và thực hiện các thao tác
như bước đầu… Quá trình môphỏng cứ tiếp tục như thế đến khi kết thúc mô phỏng. Vì trạng
thái hệ thống chỉ thay đổi khi xảy ra sự kiện nên quá trình nhảy giá trị thời gian của đồng hồ
mô phỏng từ sự kiện này đến sự kiện tiếp theo đã bỏ qua các giai đoạn “bất động” của hệ
thống và không ảnh hưởng đến kết quả mô phỏng. Giai đoạn “bất động” của hệ thống là
khoảng thời gian giữa hai sự kiện và không có sự thay đổi trạng thái.
Ví dụ 1.3: Chúng ta xét phương pháp xác định thời gian sự kiện tiếp theo cho hệ thống
hàng đợi đơn một server trong ví dụ 1.2. Ta kí hiệu các đại lượng như sau:
- t
i
là thời gian đến của khách hàng thứ i (t
0
= 0).
- SA là trạng thái server (=idle hoặc busy).
- A
i
= t
i
- t
i-1
là khoảng thời gian đến giữa khách hàng thứ i-1 và khách hàng thứ i.
- S
i
là thời gian mà server phục vụ khách hàng thứ i (không tính thời gian khách hàng
ở trong hàng đợi).
- D
i
là thời gian đợi trong hàng đợi của khách hàng thứ i.
- c
i
= t
i
+ D
i
+ S
i
là thời gian khách hàng thứ i rời hệ thống.
- e
i
là thời gian sự kiện thứ i xảy ra (không phân biệt loại sự kiện và e
0
= 0)
Hình 1.3. Phương pháp xác định sự kiện tiếp theo cho hệ thống hàng đợi một server.
Các đại lượng trên đều là các biến ngẫu nhiên. Giả sử ta biết phân bố xác suất của các khoảng
thời gian đến A
1,
A
2
, … và thời gian phục vụ S
1
, S
2
, S
3
, … và có hàm phân bố xác suất tương
ứng F
A
, F
S
. Thông thường F
A
, F
S
được xác định thông qua quá trình tập hợp dữ liệu của hệ
thống và xử lý số liệu bằng một số kỹ thuật thống kê để xác định các hàm phân bố. Tại thời
điểm e
0
= 0, trạng thái server rỗi và t
1
được xác định qua A
1
(A
1
là giá trị của biến ngẫu nhiên
sinh ra bởi F
A
). Đồng hồ môphỏng được tăng từ e
0
đến e
1
= t
1
. Vì khách hàng đến tại thời
điểm t
1
được phục vụ ngay (SA = idle) và có D
1
= 0 và SA = busy. Ta có thời gian rời hệ
thống của khách hàng thứ nhất là c
1
= S
1
+ t
1
, S
1
được sinh từ F
S
. Thời gian đến của khách
6
M« h×nh m« pháng c¬ b¶n
hàng thứ hai là t
2
= t
1
+ A
2
(A
2
được sinh từ F
A
). Nếu t
2
< c
1
, mô tả ở hình 1.3, đồng hồ mô
phỏng nhảy từ e
1
lên e
2
= t
2
(nếu ngược lại đồng hồ môphỏng nhảy đến c
1
). Vì khách hàng thứ
hai đến và SA = busy nên xếp vào hàng đợi và lưu lại thời gian đến, thời gian phục vụ không
được tính ở đây nhưng thời gian đến của khách hàng thứ ba là t
3
= t
2
+ A
3
. Nếu c
1
< t
3
, như
hình vẽ, đồng hồ môphỏng tăng từ e
2
đến e
3
= c
1
và khách hàng này rời hệ thống, khách hàng
đầu tiên trong hàng đợi được phục vụ, có thời gian đợi là D
2
= c
1
– t
2
và c
2
= c
1
+ S
2
(S
2
được
sinh từ F
S
), hàng đợi giảm một khách hàng. Đồng hồ môphỏng sẽ nhảy đến sự kiện gần nhất
sắp xảy ra…
• Gia tăng bước thời gian đều:
Đối với phương pháp này, đồng hồ môphỏng tăng lên các khoảng
∆
t bằng nhau, từ (n-1)∆t
đến n∆t. Sau mỗi bước tăng thời gian, xác định các sự kiện xảy ra trong khoảng [(n-1)∆t,
n∆t). Nếu có một hay nhiều sự kiện xảy ra trong đó thì các sự kiện này được xét đến ở thời
điểm n∆t. Hình vẽ 1.04 minh hoạ phương pháp này, trong đó đồng hồ môphỏng nhảy qua các
điểm ∆t, 2∆t, 3∆t, … và e
i
(i=1,2…) là các sự kiện (không phải giá trị thứ i của đồng hồ mô
phỏng). Trong khoảng đầu tiên [0, ∆t) có một sự kiện xảy ra tai e
1
và được xét đến tại ∆t.
Khoảng [∆t, 2∆t) không có sự kiện nào, khoảng [2∆t, 3∆t) có hai sự kiện e
2
, e
3
và được xét
đến tại 3∆t… Như vậy trong các môhình phải quy ước thứ tự xử lý của các sự kiện khi trong
khoảng có nhiều sự kiện xảy ra. Bất lợi của phương pháp này là sai số thời gian do các sự
kiện chỉ được xử lý ở cuối mỗi khoảng thời gian, do đó kết quả môphỏng không đúng với mô
hình. Tuy nhiên điều này có thể giải quyết được phần nào khi ta giảm
∆
t tức là tăng các
khoảng chia, như vậy sẽ làm tăng thời gian xử lý mô phỏng. Vì những lý do này nên phương
pháp này không được sử dụng khi khoảng thời gian giữa các sự kiện có phương sai lớn.
Hình 1.4. Sơ đồ phương pháp gia tăng bước thời gian đều
Phương pháp này thường được sử dụng trong các hệ thống mà có thể giả thiết rằng các sự
kiện chỉ xuất hiện tại các thời điểm n
∆
t. Ví dụ dữ liệu của các hệ thống kinh tế thường thay
đổi hàng năm do đó có thể sử dụng phương pháp này với
∆
t = 1 năm.
b) Xây dựng các thành phần cho môhìnhmôphỏng sự kiện rời rạc.
Dù môphỏng đã được ứng dụng trong nhiều hệ thống thực, các môhìnhmôphỏng sự kiện rời
rạc cần chia thành các thành phần rời rạc và có các quan hệ logic giữa các thành phần đó giúp
người lập trình dễ cài đặt, tìm lỗi và nâng cấp chương trình. Các thành phần của môhình mô
phỏng sự kiên rời rạc sử dụng phương pháp xác định thời gian sự kiện tiếp theo:
•Trạng thái hệ thống: tập hợp các biến cần thiết để mô tả hệ thống tại một thời điểm.
•Đồng hồ mô phỏng: biến lưu thời gian môphỏng hiện tại.
•Danh sách sự kiện: danh sách chứa thời gian của các sự kiện sắp xảy ra.
•Bộ đếm thống kê: các biến lưu thông tin thống kê về hiệu suất hệ thống.
•Thủ tục Initialization: thủ tục khởi tạo môhình khi bắt đầu.
•Thủ tục Timing: thủ tục xác định sự kiện tiếp theo trong danh sách sự kiện và đặt đồng hồ
mô phỏng đến giá trị này khi sự kiện xảy ra.
•Thủ tục Event:thủ tục cập nhật trạng thái hệ thống khi mỗi sự kiện xảy ra
7
M« h×nh m« pháng c¬ b¶n
•Thủ tục Library: tập hợp các thủ tục tạo biến ngẫu nhiên từ các phân bố xác suất được xác
định trong mô hình.
•Tạo báo cáo: thủ tục tính các ước lượng (từ bộ đếm thống kê) của các đại lượng đo hiệu
suất và tạo báo cáo khi kết thúc.
•Chương trình chính: thủ tục gọi thủ tục Timing để xác định sự kiện tiếp theo, chuyển điều
khiển đến thủ tục Event để cập nhật trạng thái hệ thống. Chương trình chính cũng kiểm tra
đầu ra và gọi thủ tục Tạo báo cáo khi kết thúc mô phỏng.
Hình 1.5. Sơ đồ khối phương pháp xác định sự kiện tiếp theo.
Quan hệ lôgic giữa các thành phần này được mô tả ở hình 1.4. Khi môphỏng bắt đầu, chương
trình chính gọi thủ tục Initialization, khi đó đặt đồng hồ môphỏng bằng 0, khởi tạo trạng thái
hệ thống, bộ đếm thống kê và danh sách sự kiện. Sau đó điều khiển sẽ trả về chương trình
chính và thủ tục Timing được gọi để xác định sự kiện sắp xảy ra nhất, nếu sự kiện loại i được
xác định thì đặt đồng hồ môphỏng đến thời gian của sự kiện này. Chương trình chính sẽ gọi
thủ tục Event cho loại i, khi đó sẽ có ba thao tác: (1) trạng thái hệ thống được cập nhật, (2)
thông tin về hiệu suất hệ thống được lưu bởi bộ đếm thống kê, (3) thời gian của sự kiện loại i
8
Bắt đầu
Gọi thủ tục Initialization.
Bước lặp
Gọi thủ tục Timing.
2. Gọi thủ tục Event i.
Xác định sự kiện
tiếp theo loại i
Tăng đồng hồ mô
phỏng.
1
Thủ tục Initialization
Đặt đồng hồ môphỏng = 0
Khởi tạo trạng thái hệ thống
v bà ộ đến thống kê
Khởi tạo danh sách sự kiện
0
Thủ tục Event i
Cập nhật trạng thái hệ thống
Cập nhật bộ đếm thống kê
Tạo sự kiện tiếp theo v à đưa
v o danh sách sà ự kiện
Thủ tục Library
Tạo các biến ngẫu
nhiên
Kết thúc
No
yes
Tạo báo cáo
Tính các ước lượng cần thiết.
In báo cáo
Kết thúc
2
Thủ tục Timing
M« h×nh m« pháng c¬ b¶n
tiếp theo được sinh từ hàm phân bố xác suất tương ứng và thêm vào danh sách sự kiện. Sau
khi hoàn thành các thao tác này, hoặc thủ tục Event hoặc chương trình chính sẽ kiểm tra điều
kiện dừng của mô phỏng. Nếu kết thúc mô phỏng, thủ tục Tạo báo cáo được gọi, tính các ước
lượng cần thiết và in kết quả mô phỏng. Nếu chưa kết thúc, thực hiện vòng lặp chương trình
chính-thủ tục timing-chương trình chính-thủ tục event-kiểm tra điều kiện kết thúc cho đến khi
điều kiện đầu ra được thoả mãn.
Như đã đề cập ở phần 2, hệ thống là tập hợp các thực thể. Các thực thể mô tả đặc tính của hệ
thống gọi là thuộc tính, và trong môhìnhmôphỏng sự kiện rời rạc các thuộc tính này là một
phần của trạng thái hệ thống. Hơn nữa, các thực thể với một số thuộc tính chung được nhóm
thành danh sách (file hoặc tập hợp), mỗi thực thể là một bản ghi trong danh sách. Đối với hệ
thống hàng đợi đơn một server trong ví dụ 1.2 và 1.3, các thực thể là server và khách hàng.
Server có thuộc tính “trạng thái server” (IDLE hay BUSY) và khách hàng đợi trong hàng đợi
có thuộc tính thời gian đến (số khách hàng trong hàng đợi có thể xem là một thuộc tính của
server). Hơn nữa, các khách hàng trong hàng đợi được nhóm thành một danh sách, mỗi khách
hàng là một bản ghi.
Tổ chức và hoạt động của chương trình môphỏng sự kiện rời rạc sử dụng phương pháp thời
gian sự kiện tiếp theo, có thể cài đặt bằng một ngôn ngữ như Pascal, C, Foxtran, được gọi là
phương pháp tính thời gian sự kiện để môhình hoá mô phỏng. Thời gian các sự kiện sắp xảy
ra được đưa vào môhình và thời gian sự kiện xảy ra được xác định trước thông qua phân bố
xác suất tương ứng. Ngoài ra có một phương pháp có thể được lựa chọn khi xây dựng mô
hình là phương pháp quá trình, thay thế quan sát môphỏng theo các thành phần thực thể
riêng biệt và viết các mô tả thực thể khi nó hoạt động trong hệ thống: mã hoá các môhình mô
phỏng tại điểm quan sát cần phần mềm môphỏng riêng.
1.1.4 Các bước nghiên cứu mô phỏng.
Chúng ta xem lại một cách chi tiết các bước xây dựng môphỏng các sự kiện rời rạc, từ đó có
một phương pháp tổng quát các bước xây dựng một chương trình mô phỏng. Hình1. là các
bước thực hiện khi nghiên cứu một môphỏng và quan hệ giữa các bước. Tuy nhiên không
phải tất cả các môphỏng đều tuân theo sơ đồ này, một vài nghiên cứu chỉ có một số bước.
1. Xây dựng bài toán và kế hoạch nghiên cứu: mỗi nghiên cứu đều bắt đầu với bài
toán rõ ràng, xác định được đối tượng, có nhiều hy vọng thành công. Toàn bộ nghiên cứu
được kế hoạch hoá về con người, giá cả và thời gian cho từng khía cạnh của nghiên cứu.
2. Tập hợp dữ liệu và xây dựng mô hình:Thông tin và dữ liệu về hệ thông quan tâm
cần được tập hợp, sử dụng nó để xác định nguyên tắc hoạt động và các phân bố cho biến ngẫu
nhiên sử dụng trong mô hình. Xây dựng môhình toán học và logic của hệ thống thực. Một mô
hình phải đủ chi tiết chứa đủ các tính chất của hệ thống mà nó thay thế. Tuy nhiên không cần
một ánh xạ một-một giữa các thành phần của môhình và các thành phần của hệ thống thực.
3. Đánh giá? Mặc dù chúng ta tin rằng sự đánh giá có thể thực hiện trong suốt quá
trình nghiên cứu mô phỏng, có một vài điểm trong nghiên cứu mà ở đó cần có sự đánh giá cụ
thể. Trong xây dựng mô hình, bắt buộc đối với người lập môhình xét đến ảnh hưởng của con
người trong nghiên cứu, những người có quan hệ mật thiết với hoạt động của hệ thống thực.
Đó cũng là lời khuyên đối với người lập môhình khi đưa ra quyết định (hoặc đưa người sử
dụng vào mô hình) trên một cơ sở nào đó. Điều này sẽ làm tăng giá trị thực của môhình và độ
tin cậy của mô hình. Thêm vào đó, cần phải có đầy đủ các phân bố xác suất xác định để sinh
các đầu vào ngẫu nhiên.
9
M« h×nh m« pháng c¬ b¶n
4. Xây dựng chương trình và kiểm tra. Môhìnhmôphỏngcó thể được viết bằng một
ngôn ngữ thông dụng như FOXTRAN, Pascal, C hay bằng một ngôn ngữ môphỏng như
GPSS, SIMAN, SIMSCRIPT II.5 hoặc SLAM II.
5. Tạo các lần chạy thử. Các lần chạy thử của môhình đã kiểm tra dùng cho mục
đích đánh giá trong bước 6.
6. Đánh giá ? Các lần chạy thử được sử dụng để kiểm tra độ nhạy đầu ra môhình khi
có sự thay đổi nhỏ của đầu vào. Nếu đầu ra thay đổi lớn, một ước lượng tốt hơn của tham số
đầu vào cần đạt được. Nếu một hệ thống tương tự với hệ thống đã có, đầu ra của các lần chạy
thử của môhìnhcó thể so sánh với hệ thống thực.
7. Thiết kế thử nghiệm: Cần phải quyết định những gì về thiết kế hệ thống nếu, như
một vài trường hợp trong thực hành, có nhiều lựa chọn. Thông thường, một quyết định chính
xác không thể đưa ra vào lúc này. Vì thế sử dụng đầu ra của các lần chạy sản phẩm (bước 8)
của các thiết kế hệ thống được lựa chọn và một số kỹ thuật khác. Với mỗi thiết kế hệ thống
10
no
yes
yes
Xây dựng b i toán v kà à ế
hoạch nghiên cứu
1
Tập hợp dữ liệu v xây à
dựng mô hình
2
Xây dựng chương trình
máy tính v kià ểm tra
4
Chạy thử chương trình
5
Đánh giá?
6
Thiết kế thử nghiệm
7
Chạy sản phẩm
8
Phân tích dữ liệu ra
9
T i lià ệu, kết quả
10
Đánh giá?
3
no
Hình 1.47. Các bước
nghiên cứu mô phỏng.
[...]... = 1.7 T3 = (8.6 7.2) = 1.4 Thay s vo phng trỡnh (1.2 ) ta cú: iT i =0 i = (0 ì 3.2) + (1 ì 2.3) + (2 ì 1.7 ) + (3 ì 1.4 ) = 9.9 (1.3 ) Vỡ vy c lng cn tớnh l: q (n) =9.9/8.6 = 1.1 5 Mi s hng khỏc 0 v phi biu thc 1.3 tng ng vi mt trong cỏc phn din tớch hỡnh 1.6 : 1ì2.3 tng ng phn nht (4 phn), 2 1.7 tng ng vi phn cú mu sm hn (2 phn) v 3 1.4 tng ng vi phn mu m (1 phn) Nh vy ta cú th núi: Phng trỡnh 1.2 ... Hỡnh 1.7 Q(t), thi gian n v i ca mt h thng hng i n mt server v c lng ca q(n) c tớnh nh sau: 13 Môhìnhmôphỏngcơbản q ( n) = T (n) Q(t )dt (1.4 ) T ( n) Biu thc (1.2 ) v (1.4 ) l cỏch tớnh c lng ca q(n) Nhng biu thc (1.4 ) thng c dựng hn vỡ tớch phõn trong biu thc c tớnh n gin t din tớch cỏc hỡnh ch nht, trong quỏ trỡnh mụ phng tớnh q (n) bng cỏch cng thờm din tớch cỏc hỡnh ch nht Mt khỏc biu thc (1.4 )... = ip i (1.1 ) i =1 Trong ú pi l h s quan sỏt ca thi gian trong quỏ trỡnh mụ phng m cú i khỏch hng trong hng i Nu gi Ti l tng thi gian m hng i cú i khỏch hng v T(n) = T0 + T1 + T2 + v pi = Ti/T(n), vỡ vy cụng thc 1.1 cú th vit li: q ( n) = iT i =1 i (1.2 ) T ( n) 12 Môhình mô phỏngcơbản Hỡnh 1.6 minh ho hm Q(t) theo thi gian cho h thng ang xột vi n=6 Khỏch hng n ti cỏc thi im 0.4, 1.6 , 2.1,... ng ca h thng vi s liu ó dựng hỡnh 1.7 v 1.8 Ta mụ phng h thng vi n = 6, e0 = 0 v 13 s kin xy ra e1, e2, , e13 Gi s rng khong thi gian n v thi gian phc v c xỏc nh nh sau: A1= 0.4, A2= 1.2 , A3= 0.5, A4= 1.7 , A5 = 0.2, A6 = 1.6 , A7 = 0.2, A8 = 1.4 , A9 = 1.9 , S1 = 2.0, S2 = 0.7, S3 = 0.2, S4 = 1.1 , S5 = 3.7, S6 = 0.6, Cỏc Ai v Si c to t cỏc phõn b xỏc sut tng ng Hỡnh 1.8 th hin hot ng ca h thng theo tng... khỏch hng th 3 n: Vỡ trng thỏi server 1 nờn hng i tng thờm 1, thi gian n lu vo v trớ th hai trong hng i Quỏ trỡnh n tip theo c xỏc nh vi ti t + A4 15 Môhình mô phỏngcơbản = 2.1 + 1.7 = 3.8 Hai phn din tớch di B(t) v Q(t) c cp nht vi khng thi gian 2.1 -1.6 =0.5 S kin tip theo c xỏc nh l khỏch hng 1 ri h thng ti t=2.4 +t = 24:khỏch hng th nht kt thỳc: Trng thỏi server vn l 1 v khỏch hng th hai t hng i... Mụ phng bt u vi trng thỏi Trng v IDLE, tc khụng cú khỏch hng no v trng thỏi server ri Ti thi im 0, ta i khỏch hng u tiờn n v cú khong thi gian A1 (A1 >= 0) Ta s mụ KH n h thng Hỡnh 1.6 Mụ hỡnh SSQ 11 Môhình mô phỏngcơbản phng h thng ny cho n khi cú khỏch hng th n ri khi hng i bt u c phc v Lu ý thi gian kt thỳc mụ phng theo cỏch trờn l mt bin ngu nhiờn ph thuc vo cỏc bin ngu nhiờn: thi gian phc v... ớch khi xỏc nh cỏc nỳt c chai (hiu sut gn 100%) hay cụng sut ti hn, iu ny quan trng khi server l cỏc mỏy t tin nh robot trong cỏc h thng sn xut hay cỏc mỏy tớnh ln trong cỏc h x lý d liu 14 Môhình mô phỏngcơbản Túm li, cú ba i lng o hiu sut l: thi gian i trung bỡnh d (n) , thi gian trung bỡnh ca khỏch hng trong hng i q (n) v h s thi gian server bn u (n) Thi gian trung bỡnh trong hng i l mt vớ.. .Mô hình mô phỏngcơbản c mụ phng, quyt nh a ra da trờn iu kin u cho mụ phng, thi gian quỏ (nu cú), thi gian mụ phng v s ln mụ phng cho mi ln sa i Khi thit k v to cỏc ln chy sn phm, cú th s dng k thut gim phng... thi gian m B(t) = 1 Hỡnh 1.8 l s ca B(t) i vi mụ phng ó s dng trong hỡnh 1.6 vi Q(t) Trong trng hp ny ta cú: (3.3 0.4) + (8.6 3.8) 7.7 u ( n) = = = 0.90 (1.5 ) 8.6 8.6 Nh vy server lm vic 90% thi gian mụ phng, ú l mt hiu sut cao Phng trỡnh 1.5 chớnh l din tớch di ng B(t) trong khi mụ phng, õy B(t) nhn giỏ tr 0 hoc 1 Ta cú: 0 u ( n) = T (n) 0 B(t )dt (1.6 ) T ( n) Hỡnh 1.8 B(t), thi gian n v i... ti, danh sỏch s kin c cp nht: quỏ trỡnh n tip theo vi A2 =1.2 ti thi im 0.4 +1.2 =1.6 , v khỏch hng 1 ri h thng vi S 1=2.0 ti 0.4+2.0=2.4 S khỏch hng i n=1 v D1=0 c thờm vo tng thi gian i Cỏc phn din tớch di ng Q(t) v B(t) c cp nht Cui cựng lu li thi gian s kin cui cựng l 0.4 v xỏc nh c thi gian s kin tip theo l khỏch hng th hai n ti t =1.6 +t = 1.6 : khỏch hng th hai n: Vỡ khỏch hng ny n v gp server bn . M« h×nh m« pháng c¬ b¶n
CHƯƠNG 1. MÔ HÌNH MÔ PHỎNG CƠ BẢN
1. 1. GIỚI THIỆU.
1. 1 .1. Tính tất yếu của mô phỏng
Mô phỏng là một phương pháp sử dụng. bài
toán cụ thể. Mô hình mô phỏng có thể chia làm ba loại chính:
• Mô hình mô phỏng tĩnh và động (Static vs. Dynamic): Mô hình mô phỏng tĩnh là
mô hình chỉ thể