Giải quyết một số bài toán bằng mô hình hàng đợi
Trang 1ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
TIỂU LUẬN MÔN HỌC MÔ PHỎNG NGẪU NHIÊN
Đề tài:
GIẢI QUYẾT MỘT SỐ BÀI TOÁN
BẰNG MÔ HÌNH HÀNG ĐỢI
Thầy giáo hướng dẫn: PGS.TS Trần Lộc Hùng Học viên thực hiện: Trần Thái Sơn
Lớp Cao học Khoa học máy tính – Khoá 2008-2010
Huế, tháng 6/2009
Trang 2A LỜI NÓI ĐẦU 1
B NỘI DUNG 3
1 CƠ SỞ MÔ PHỎNG NGẪU NHIÊN 3
1.1 Khái niệm về mô phỏng ngẫu nhiên 3
1.2 Các công cụ chủ yếu của mô phỏng 3
1.2.1 Nguồn ngẫu nhiên 3
1.2.2 Mô hình ngẫu nhiên 4
1.3 Một số phân phối xác suất thường gặp 5
1.4 Các bước cơ bản khi sử dụng mô phỏng ngẫu nhiên: 7
2 HỆ THỐNG HÀNG ĐỢI: 9
2.1 Mô tả hệ thống: 9
2.2 Phân tích thành phần của hệ thống: 10
2.3 Một số quy tắc phục vụ của hàng đợi 10
2.4 Ký hiệu Kendall: 11
2.5 Các quá trình ngẫu nhiên trong hệ thống: 13
2.6 Mục tiêu xây dựng mô hình: 13
2.7 Phân phối số khách hàng trong hệ thống ở chế độ dừng (biến Z): 13
2.8 Luật Little và các phép trung bình đối ngẫu: 15
3 BÀI TOÁN ỨNG DỤNG HỆ THỐNG HÀNG ĐỢI 16
C KẾT LUẬN 22
D TÀI LIỆU THAM KHẢO 23
A LỜI NÓI ĐẦU
Hầu hết các hiện tượng tự nhiên và xã hội đều có tính chất ngẫu nhiên và có thể được đặt trưng bằng dãy gồm các biến ngẫu nhiên có phân phối xác định nào đó Khi họ các biến ngẫu nhiên phụ thuộc vào thời gian ta gọi là quá trình ngẫu nhiên
1
Trang 3Quá trình vận hành của một hệ thống vật lý theo thời gian, tín hiệu truyền dẫn
và nhiễu của một hệ thống viễn thông, quá trình sắp hàng ở một tổng đài, là các quá trình ngẫu nhiên
Hệ thống hàng đợi là một hệ thống biến động theo thời gian và các trạng thái của nó phát sinh ngẫu nhiên Phương pháp giải quyết các bài toán trên các mô hình hàng đợi chủ yếu vào phân tích các quá trình ngẫu nhiên độc lập làm hệ thống thay đổi trạng thái liên tục theo thời gian Từ các nghiên cứu cụ thể trên một số phân phối thường gặp, một số mô hình được trình bày một cách tường minh dưới dạng: phân phối xác suất của biến đặc trưng của hệ thống Các hệ thống quan trọng sẽ được xem xét: hệ thống khách hàng – phục vụ, hệ thống quản lý kho và hệ thống sử dụng thiết bị
Tiểu luận: “Giải quyết một số bài toán bằng mô hình hàng đợi” nhằm mục
đích đưa ra cơ chế hoạt động của hàng đợi và ứng dụng vào việc giải quyết tối ưu bài tóan kinh doanh Nội dung chính của tiểu luận gồm:
- Cơ sở mô phỏng ngẫu nhiên
- Hệ thống hàng đợi
- Bài toán ứng dụng hệ thống hàng đợi
Bản thân xin chân thành cảm ơn Thầy giáo PGS.TS Trần Lộc Hùng đã tận
tình hướng dẫn, cung cấp các tài liệu để tôi hoàn thành tiểu luận này Do khả năng có hạn nên tiểu luận không tránh khỏi những thiếu sót và hạn chế Rất mong nhận được
sự góp ý và chỉ bảo của thầy để bản thân có thể hoàn chỉnh hơn nữa những hiểu biết của mình
Trang 4B NỘI DUNG
1 CƠ SỞ MÔ PHỎNG NGẪU NHIÊN
1.1 Khái niệm về mô phỏng ngẫu nhiên
Mô phỏng (Simulation) được ứng dụng rộng rãi trong kinh tế, kỹ thuật và nhiều lĩnh vực khác Theo từ điển chính xác Oxford, bản 1976, " Mô phỏng có nghĩa
là giả cách, … làm ra vẻ như, hành động như, bắt chước giống với, mang hình thức của, giả bộ như …, làm giả các điều kiện của tình huống nào đó thông qua một mô hình với mục đích huấn luyện hoặc tiện lợi"
Về mặt ý nghĩa kỹ thuật, mô phỏng (hay nói đúng hơn, phương pháp mô phỏng) hàm chứa việc áp dụng một mô hình nào đó để tạo ra kết quả, chứ không có nghĩa là thử nghiệm một hệ thống thực tế nào đó đang cần nghiên cứu hay khảo sát Nếu mô hình có chứa các thành phần hay yếu tố ngẫu nhiên thì chúng ta có mô phỏng ngẫu nhiên
Thuật ngữ " Phương pháp Monte-Carlo" xuất hiện từ thế chiến thứ hai khi tiến hành các mô phỏng ngẫu nhiên trong quá trình phát kiến bom nguyên tử Ngày nay, thuật ngữ này đôi khi cũng được dùng đồng nghĩa với thuật ngữ phương pháp mô phỏng ngẫu nhiên, như khi ta nói phương pháp Monte-Carlo tính tích phân chẳng hạn, tuy nhiên, nó không được sử dụng một cách rộng rãi
Chúng ta xét mô phỏng trên hai quan điểm: Nghệ thuật và kỹ thuật (với tứ cách một công cụ), mà trong một số trường hợp khó phân định ranh giới rạch ròi Trong phần này chúng ta nghiên cứu mô phỏng ngẫu nhiên về phương diện một số kỹ thuật, công cụ thường sử dụng
1.2 Các công cụ chủ yếu của mô phỏng
1.2.1 Nguồn ngẫu nhiên.
Để áp dụng mô phỏng ngẫu nhiên trước hết cần phải có được một nguồn các
số ngẫu nhiên Các số ngẫu nhiên như vậy có thể được tạo ra bởi các hàm sinh số ngẫu nhiên
Trong nhiều ngôn ngữ lập trình (như Visual C++, hay Builder C++ 5.0, Pascal, …), ta sẽ thấy có một cặp hàm dạng RAND(seed) và RANDOM(seed) để
3
Trang 5phát sinh các số được coi là ngẫu nhiên Các tham số seed ở trên được gọi là hạt mầm ngẫu nhiên, đóng vai trò khởi tạo dãy số ngẫu nhiên.
Thông thường, các nguồn này được coi như tồn tại một cách đương nhiên Câu hỏi đặt ra là chúng đã đủ "tốt" hay chưa? Trong tiểu luận này chúng ta không đi sâu vào việc phân tích các vấn đề trên Một cách khái quát có thể nói rằng, các số được gọi là các số ngẫu nhiên được tạo ra như vậy còn xa mới thực sự ngẫu nhiên Một cách chính xác hơn, chúng ta có thể gọi là các số giả ngẫu nhiên mà thôi Chất lượng của nguồn ngẫu nhiên có thể ảnh hưởng rất lớn tới kết quả nghiên cứu khi sử dụng phương pháp mô phỏng ngẫu nhiên
1.2.2 Mô hình ngẫu nhiên
Hai lý do chính cho việc áp dụng mô phỏng ngẫu nhiên là:
- Tổng hợp dữ liệu theo sự phân loại nhất định
- Đưa ra các dự báo
Muốn áp dụng mô phỏng ngẫu nhiên cần phải có mô hình Như vậy, mục đích của mô phỏng ngẫu nhiên cũng gần với mục đích của mô hình hoá (modelling) Có hai loại mô hình thường được áp dụng, đó là: mô hình cơ chế (mechanistic model) và
mô hình tiện dụng (convenient model) Cả hai loại này đều có thể được sử dụng để trợ giúp các công việc nghiên cứu, khảo sát nhằm gia tăng sự nhận biết và tìm kiếm tri thức, dự báo và hỗ trợ việc ra quyết định
Để ứng dụng một mô hình, ta có hai sự lựa chọn sau:
- Tiến hành việc phân tích về mặt toán học để tìm hiểu hành vi của mô hình Vấn đề này nhiều khi trở nên rất phức tạp với các hệ phi tuyến nhiều biến, do đó chúng ta cần đặt ra thêm các giả thiết Tuy nhiên những giả thiết "chặt chẽ quá" của toán học đôi khi trở nên "đáng nghi ngờ" trong thực tế
- Thí nghiệm với mô hình đang xem xét Đối với các mô hình ngẫu nhiên các giá trị phản hồi (đầu ra) sẽ biến thiên, vì vậy chúng ta cần tạo ra hàng loạt các thể hiện (dữ liệu nhân tạo) với những bộ tham số khác nhau của mô hình
Đôi khi cũng cần xem xét tới sự lựa chọn thứ ba, đó là tiếp cận (hybrid approach) của hai lựa chọn trên
Trang 61.3 Một số phân phối xác suất thường gặp
Để áp dụng mô phỏng ngẫu nhiên cần biết một số kiến thức cơ bản mà chúng
ta sẽ nhắc lại ngay sau đây Biến ngẫu nhiên là một khái niệm quan trọng trong xác suất thống kê Một cách giản lược, biến ngẫu nhiên còn gọi là đại lượng ngẫu nhiên, được hiểu là biến nhận giá trị tuỳ thuộc vào kết quả của phép thử (phép đo, quan sát, thí nghiệm) mà không thể đoán trước được
Biến ngẫu nhiên chia làm hai loại chính: rời rạc và liên lục Biến rời rạc có thể nhận các giá trị từ một tập hợp (có lực lượng) hữu hạn hoặc đếm được Biến liên tục
là một khái niệm toán học về loại biến ngẫu nhiên có thể nhận các giá trị dày sát nhau trên một hoặc một số khoảng đoạn số thực nào đó (để trình bày vấn đề đơn giản, ở đây chúng ta chỉ nói tới biến ngẫu nhiên nhận các giá trị là số thực) Trong thực tế, không có một đại lượng ngẫu nhiên nào là liên tục theo nghĩa tuyệt đối, chẳng qua là chúng ta không nhận biết được (một cách cố ý hay không cố ý) khoảng cách giữa các giá trị rất sát nhau của nó mà thôi
Phân phối xác suất của biến ngẫu nhiên rời rạc được minh họa qua ví dụ sau: Xét biến X có thể rơi vào một trong ba trạng thái được định lượng bởi các giá trị 6, 9,
12 với các xác suất tương ứng của các trạng thái là 0,3, 0,4 và 0,3 Chú ý rằng tổng các xác suất bằng 1 (100%) được phân phối vào các giá trị biến ngẫu nhiên X có thể lấy như trình bày trong bảng sau đây, được gọi là bảng phân phối xác suất
(Chú ý: ∑p i = 1)Một số phân phối xác suất thường dùng của biến ngẫu nhiên liên tục và rời rạc được liệt kê dưới đây:
a Phân phối đều trong [0,1):
X nhận các giá trị thuộc nửa khoảng [0,1) với khả năng như nhau Hàm mật độ xác suất f(x) của nó được biểu diễn như hình 1 dưới:
5
P(xa)
f(x)
xP(x<a)
1
Trang 7Hình 1, Đồ thị hàm mật độ phân phối đều
b Phân phối Poisson:
Với một hệ thống hàng chờ một kênh, số X tín hiệu đến trong một khoảng thời gian là một biến ngẫu nhiên
Giả sử số tín hiệu đến trung bình trong một khoảng thời đã biết được (kí hiệu
λ), thì với một số điều kiện nhất định có thể coi X tuân theo luật phân phối xác suất Poisson như sau:
! 2
! 1
! 0
2 1 0
Chú ý rằng số đặc trưng cho giá trị trung bình của biên ngẫu nhiên X được gọi
tán các giá trị của X xung quanh giá trị kỳ vọng của nó được gọi là độ lệch chuẩn σ Với phân phối Poisson thì σ 2= λ
c Phân phối mũ:
Trên đây ta đã xét phân phối Poisson của số các tín hiệu đến trong một đơn vị thời gian Một kiểu biến ngẫu nhiên thường xét là khoảng thời gian giữa hai tín hiệu liên tiếp sẽ tuân theo phân phối mũ Đây là biến ngẫu nhiên liên tục chỉ nhận các giá trị không âm với hàm mật độ xác suất là f(T)= λe−λT Ký hiệu biến ngẫu nhiên
t t
=
≤
0
t Do đó hàm phân phối xác suất của T là
Trang 8F(t)= T t
T dT e t e e
dT t
f = λ −λ = − −λ = − −λ
0 )
(
d Phân phối chuẩn tắc N(0,1):
Giả sử X là biến ngẫu nhiên có phân phối chuẩn tắc N(0,1) Lúc đó nó có kỳ
2
Cho X là biến ngẫu nhiên tuân theo luật phân phối chuẩn N(m,σ 2) có kỳ vọng
m
X −
thì Z là một biến ngẫu nhiên tuân theo luật phân phối chuẩn tắc N(0,1)
1.4 Các bước cơ bản khi sử dụng mô phỏng ngẫu nhiên:
Có 10 bước cơ bản thường sử dụng trong khi dùng phương pháp mô phỏng ngẫu nhiên để nghiên cứu và giải quyết các bài toán thực tế:
Bước 1: Xác định vấn đề mô phỏng và lập kế hoạch nghiên cứu
Bước 2: Chọn dữ liệu và xây dựng mô hình toán học tương ứng để giải quyết vấn
đề đặt ra
Bước 3: Kiểm tra hiệu lực
Bước 4: Xây dựng thuật toán và viết chương trình để chuyển đổi từ mô hình toán
học sang mô hình mô phỏng có thể kiểm nghiệm với sự giúp đỡ của máy tính điện tử
Bước 5: Chạy chương trình
Bước 6: Kiểm tra
Bước 7: Thiết kế thí nghiệm
Bước 8: Tạo sản phẩm
7
Trang 9Bước 9: Trên cơ sở rút ra từ phương pháp mô phỏng ngẫu nhiên, tiến hành phân
tích, đánh giá vấn đề thực tế và rút ra các kết luận cần thiết
Bước 10: Báo cáo kết quả
Các bước trên thể hiện bằng lưu đồ sau:
Đặt bài toán và kế hoạch nghiên cứu
Có
Trang 10Trên đây là các bước cần làm khi áp dụng mô phỏng ngẫu nhiên để tìm ra các phương án hợp lý cho các bài toán thực tế Ngoài ra, mô phỏng còn được áp dụng để giải quyết nhiều vấn đề khác.
2 HỆ THỐNG HÀNG ĐỢI:
2.1 Mô tả hệ thống:
Hệ thống hàng đợi hay còn gọi là hệ thống khách hàng và phục vụ Hệ thống được xây dựng nhằm phục vụ các nhu cầu phát sinh từ một quần thể nhất định Chẳng hạn: quầy bán hàng, dịch vụ du lịch, ngân hàng, phòng đào tạo chăm lo các đăng ký học tập của học sinh… Như vậy, hệ thống hàng đợi bao gồm bộ phận tiếp nhận khách hàng, các trạm phục vụ khách hàng (số lượng nhiều hay ít là tùy thuộc vào số lượng khách hàng) Bộ phận khác phát sinh từ ngoài vào là quần thể mà từ đó khách hàng đi tới hệ thống Hai bộ phận này kết hợp với nhau và tạo ra sự hoạt động của hệ thống: thời gian phục vụ khách hàng, số khách hàng chờ được phục vụ tạo thành hàng đợi, quy tắc phục vụ khách hàng như thế nào là hợp lý…
Người quản trị hệ thống khách hàng và phục vụ phải xác định cho được những chi phí vô ích Những chi phí vô ích này tạo thành tính không hiệu quả của hệ thống
Có hai dạng chi phí vô ích:
- Chi phí của khách hàng phải chờ trong hệ thống trước khi được phục vụ Chi phí này có thể hiểu được một cách tương đương là trong cùng một khoảng thời gian quản lý T, nếu khách hàng chờ lâu thì lượng khách hàng chờ tới trong khoảng thời gian T giảm
- Chi phí cho các trạm phục vụ khách hàng nhưng lại không có khách hàng Như vậy trong khoảng thời gian quản lý T, tỷ lệ thời gian phục vụ khách hàng tạo thành hiệu suất U của một trạm phục vụ Hiệu suất càng gần 1 thì chi phí vô ích càng nhỏ và ngược lại, nếu hiệu suất gần bằng 0 thì chi phí vô ích càng lớn
Đây là hai loại chi phí ngược nhau: nếu giảm chi phí vô ích từ phía khách hàng tức là giảm thời gian chờ của khách hàng thì phải tăng số trạm phục vụ; và như vậy làm tăng chi phí vô ích từ phía phục vụ Ngược lại nếu muốn giảm chi phí vô ích
từ phía phục vụ thì phải giảm số trạm phục vụ nhưng điều này lại làm tăng thời gian
9
server
Trang 11chờ của khách hàng Rõ ràng muốn tăng tính hiệu quả hoạt động của hệ thống thì cần phải cân đối tổng thể từ hai loại chi phí này.
Input Output
Hình 2 : Mô hình xếp hàng đơn giản nhất là chỉ có một hàng đợi đơn
Trong hệ thống xếp hàng này các khách hàng vào từ phía bên trái và ra khỏi phía bên phải Vòng tròn miêu tả server (hệ thống phục vụ) Ví dụ trong một dãy quầy thanh toán tiền trong một siêu thị, server sẽ là các nhân viên thao tác máy đếm tiền Trong mạng dữ liệu, server là phương tiện truyền dẫn liên kết đầu ra, các đường dây, trung kế, CPU Còn hình chữ nhật mô tả hàng đợi (queue) mà nó chứa các khách hàng trước khi được vào phục vụ tại server Đôi khi ta có thể gọi hệ thống như vậy là một hệ thống xếp hàng hay một hàng đợi tuỳ thuộc vào hoàn cảnh cụ thể Trong trường hợp đó, khi dùng từ hàng đợi ta hiểu là toàn bộ hệ thống xếp hàng bao gồm các yêu cầu đang đợi dịch vụ và các yêu cầu đang được phục vụ Do đó thuật ngữ độ dài hàng đợi được hiểu là số các yêu cầu đang đợi cộng thêm các yêu cầu đang được phục vụ
2.2 Phân tích thành phần của hệ thống:
Nội lực: Cơ sở tiếp nhận khách hàng nơi mà khách hàng phải chờ trước khi được phục vụ, các trạm phục vụ khách hàng (hoặc các nhân viên phục vụ), quy tắc phục vụ khách hàng sao cho hiệu quả hoặc phải phù hợp với tình hình hiện tại của hệ thống, khả năng phục vụ khách hàng của các trạm: phục vụ nhanh hay chậm…
Ngoại lực: Quần thể nơi phát sinh ra khách hàng và số khách hàng phát sinh đi tới hệ thống
2.3 Một số quy tắc phục vụ của hàng đợi
Thứ tự mà theo đó các công việc trong hàng xếp được phục vụ gọi là quy tắc phục vụ Hầu như các hệ thống xếp hàng ngày nay được sử dụng để phục vụ khách hàng theo trình tự mà chúng tới Trình tự phục vụ đó là FIFS (First In First Served) : đến trước phục vụ trước hay còn gọi là FCFS (First Come First Served) Ngoài ra, còn có một số kiểu phục vụ khác như là:
Queue
Trang 12 LCFS (Last Come First Served) hay LIFO (Last In First Out) : Theo đó các khách hàng đến sau sẽ được phục vụ trước.
sẽ thế chỗ của khách hàng đang được phục vụ cho đến khi nó được phục vụ xong thì phục vụ có thể tiếp tục đối với khách hàng bị thế chỗ ngay nơi mà nó
bị ngắt trước đây, trong trường hợp đó ta có dịch vụ với quyền ưu tiên phục
vụ trước_LIFOPR
được phân chia thành một số các khoảng nhỏ có độ dài cố định và được gọi là các lượng tử (quantum) Một khách hàng mới tham gia vào hàng đợi và chờ
để lên được đầu hàng theo nguyên tắc FCFS và cuối cùng khách hàng nhận được một lượng tử cho quá trình phục vụ Khi lượng tử này hết mà khách hàng vẫn cần được phục vụ thì khách hàng đó phải quay trở về đầu hàng đợi
và quá trình lặp lại cho tới khi khách hàng đó được phục vụ xong
hàng
• Vị trí số 3: tham số s là các trạm phục vụ khách hàng
phải đợi
sinh Lực lượng có thể vô hạn cũng như hữu hạn với số lượng nhiều hoặc ít
11