Ta giả thiết quá trình đến Poisson tốc độ λ, nghĩa là quá trình đến trung gian tn có phân bố mũ tốc độ λ. Quá trình phục vụ 𝑠𝑛 đƣợc xét một cách tổng quát nhƣng giả thiết thời gian phục vụ trong các chu kỳ là độc lập với nhau và có cùng luật phân bố.
E [t1]= 1
λ, E [t12 ] = λ2 Do đó cƣờng độ lƣu thông
ρ = E[s1 ]
E[t1]=λE [s1 ] ⇒ E 𝑠1 = 𝜌
𝜆,
-E [U1 ] = E [t1 - s1 ] = 1
λ−ρλ=1−λρ> 0
E[U21]= E[(s1-t1)2]= E[s12] - 2E[s1]λ1 +𝛌2𝟐 = E [s12] + 2(1−𝛌𝟐ρ)
Mặt khác, vì quá trình đến là Poisson nên khoảng thời gian từ một thời điểm bất kỳ đến lúccó một khách hàng tiếp theo đến hệ thống luôn có phân bố mũ. Do đó thời gian từ lúc một khách hàng rời khỏi hệ thống và hệ thống trở thành rỗng cho đến khi có một khách hàng tiếp theo đến hệthống (chu kỳ rỗi của hệ thống) cũng có phân bố mũ tốc độ λ.Vậy
E [i1 ] = λ1; E [i1
2
] = 𝛌2𝟐
Thay vào công thức (2.13) ta đƣợc công thức Pollaczek - Khinchin (P- K)cho hàng M /G/1. Wq = E 𝑠12 +2(1−ρ ) 𝛌𝟐 2(1−ρ ) λ - 2 𝛌𝟐 2 λ =λ E 𝑠1 2 2(1−ρ) (2.14) W = Wq + E [s1 ] (2.15)
Từ "kết quả nhỏ" suy ra các số đo hiệu năng còn lại.
2.3.3. Các trường hợp đặc biệt của hàng đợi M/G/1
1) Hàng M /M /1:
Quá trình đến Poisson với tốc độ đến λ, thời gian phục vụ có phân bố mũ tốc độ μ. E [s1 ] = μ2 ; E 𝑠12 = 2 μ2 ; = λμ (2.16)Wq = 2𝜆 𝜇 2 2(1−𝜆 𝜇) = 𝜆 𝜇 (𝜇 −𝜆) (2.17) W= Wq + 𝜇1 = 𝜇 (𝜇 −𝜆)𝜆 + 1𝜇 = 𝜇 (𝜇 −𝜆)1 (2.18)
L = 𝜆W = 𝜆
𝜇 −𝜆; Lq= 𝜆Wq= 𝜆2
𝜇 (𝜇 −𝜆) (2.19) 2) Hàng M / D/1:
Quá trình đến Poisson với tốc độ đến λ, thời gian phục vụ không đổi tốc độ μ. E [s1 ]= 1μ ; var [s1 ]= E 𝑠12 - E [s1 ]2=0 ⇒E 𝑠12 = 1 μ2 ; = λμ (2.20) Wq= λ μ 2 2(1−λμ)=2μ(μ−λ)λ (2.21) W= Wq + 1𝜇 = 2𝜇 (𝜇 −𝜆)𝜆 + 1𝜇 = 2𝜇 (𝜇 −𝜆)2𝜇 −𝜆 (2.22) L = 𝜆W =2𝜇 (𝜇 −𝜆)𝜆2 + 𝜇𝜆; Lq= 𝜆Wq=2𝜇 (𝜇 −𝜆)𝜆2 (2.23) 3) Hàng M / Ek/1:
Quá trình đến Poisson với tốc độ đến λ, thời gian phục vụ ngẫu nhiên độc lập có cùng phân bố Erlang- k với tốc độ μ.
E [s1 ] = μ1= λ𝑘 0 ; var [s1 ]= 𝑘 λ02 = 1 kμ2⇒E 𝑠12 = 1 kμ2 + 1 μ2; = λμ (2.24) Wq= λ (k +1) 𝑘 μ 2 2(1−μλ)= (k+1)λ 2kμ(μ−λ) (2.25) W= Wq + 1μ = 2kμ(μ−λ)(k+1)λ + μ1 (2.26) L = W =(k+1)λ2 2kμ(μ−λ) + λ μ; Lq= Wq=(k+1)λ2 2kμ(μ−λ) (2.27) Nhận xét:
1. Thời gian đợi trung bình mà một khách hàng phải mất ở hàng đợi là số đo trễ xẩyra ở hệ thống sắp hàng. Ta có
𝑊𝑞𝑀 / 𝐷/1≤𝑊𝑞𝑀 / 𝐸𝑘/1≤𝑊𝑞𝑀 / 𝐸/1 (2.28) Khi k = 1 : 𝑊𝑞𝑀 / 𝐸𝑘/1=𝑊𝑞𝑀 / 𝑀/1
Khi k →∞: lim𝑘→∞𝑊𝑞𝑀 / 𝐸𝑘/1 =.𝑊𝑞𝑀 / 𝐷/1
2. Xét hệ toạ độ trực chuẩn Oxy. Trên trục hoành ta chọn các hoành độ
nguyên k = 1, 2,..., trục tung chọn đơn vị là λ
làhyperbol 𝑘+1
2𝑘 = 1 2 + 2𝑘1 đạt cực đại bằng 1 khi k = 1 và tiệm cận đến 1
2 khi k →∞.
3. Hệ số λ
2μ(μ−λ)lớn nếu λ gần bằng μ. Nhƣ vậy khi tốc độ đến gần với tốc độ phục vụthì hàng đợi tăng lên nhanh chóng tỉ lệ nghịch với hiệu số hai tốc độ.
1 2
Hình 2.1: Đồ thị biểu diễn tốc độ phục vụ
2.3.4. Phương pháp chuỗi Markov nhúng áp dụng cho hàng G/M /1
Xét hệ thống sắp hàng có 1 server, các chu kỳ thời gian phục vụ sn độc lập cùng có phân bố mũ tốc độ μ. Quá trình đến là độc lập, tổng quát, có cùng phân bố và thời gian đến trung gian là biến ngẫu nhiên có hàm phân bố H(u).
Ta xét chuỗi Markov nhúng là số khách hàng trong hàng tại những thời điểm khi có khách hàng mới đến hệ thống.
Gọi q là trạng thái của hệ thống khi có 1 ngƣời mới đến và gọi q'là trạng thái sau khi có 1 ngƣời tiếp theo đến :
q'= q +1−N
1 2
k
λ μ(μ − λ)
Trong đó N là số khách hàng đƣợc phục vụ trong chu kỳ giữa hai lần đến. Vì phân bố mũ có tính chất "không nhớ" nên số khách hàng N đƣợc phục vụ trong chu kỳ giữa 2 lần đến chỉ phụ thuộc vào độ dài của khoảng và q mà không phụ thuộc vào phạm vi phục vụ mà khách hiện tại đã đƣợc nhận phục vụ. Với các giả thiết này công thức (2.29) xác định chuỗi Markov có xác suất chuyển P= [ pij] thỏa mãn [6]: pij=P 𝑞′ = j⎤ 𝑞 = y =Wn+1 0 𝑛ế𝑢 𝑗 > 𝑖 + 1 𝑃 N = i + 1 − j 𝑛ế𝑢 𝑖 + 1 ≥ 𝑗 ≥ 1 (2.30) Đặt ak= P{N = k} thì pij= 0 𝑛ế𝑢 𝑗 > 𝑖 + 1 𝑎𝑖+1−𝑗 𝑛ế𝑢 𝑖 + 1 ≥ 𝑗 ≥ 1 (2.31)
Áp dụng công thức xác suất đầy đủ và từ giả thiết thời gian phục vụ có phân bố mũ với tốc độ μ có thể chứng minh đƣợc:
ak= 𝑒−μu 𝑢𝑘μ
k
𝑘!
∞
0 dH(u) (2.32)
trong đó H(u) là hàm phân bố của chu kỳ đến trung gian.
Cuối cùng các xác suất chuyển pi0 ( j = 0 ) là xác suất mà tất cả i ngƣời trong hàng đã đƣợc phục vụ trƣớc khi có ngƣời mới đến.
pi0=1- ∞𝑗 =1pij= 1- a0- a1 -…- ai (2.33) Vậy ma trận xác suất chuyển
P= 𝑟0 𝑎0 𝑟1 𝑎1 0 0 𝑎0 0 0 … … 0 … … 𝑟2 𝑎2 𝑟3 𝑎3 𝑎1 𝑎0 𝑎2 𝑎1 0 … . 𝑎0 … . … … … … … … … … … … . … . . . . ⎤ (2.34)
trong đó ri= 1−a0 – a1−…−ai.
Hệ thống đạt trạng thái ổn định khi ρ< 1 hay ∞𝑘=0𝑘𝑎𝑘 >1 Phân bố dừng Π = [π0 ,π1,π2 ,...] có dạng π = (1−ξ0 )ξ 0 𝑖 ; i = 0,1,2,... (2.35) trong đó ξ0 là nghiệm duy nhất của phƣơng trình
f (ξ0 )= ξ0 (0<ξ0<1) với f(ξ)= ∞𝑘=0𝑎𝑘ξ𝑘 (2.36)
Thời gian đợi W
Nếu ρ < 1thì hệ thống đạt trạng thái ổn định, khi đó hàm phân bố độ dài của hàng cũng đạt đến phân bố ổn định. Với điều kiện này ta xét thời gian đợi W .
Xác suất không phải đợi là r0 = 1−ξ0 .
Nếu khách hàng đến và đã có n ≥ 1 khách hàng ở trong hàng thì anh ta phải đợi với tổng số n lần phục vụ có phân bố độc lập và cùng phân bố mũ trƣớc khi đến lƣợt anh ta.
Ta biết rằng tổng của n phân bố mũ độc lập tham số μ là phân bố Erlang-
n tham số μ . Do đó P 𝑊 < t ⎤ có n người trong hàng = 𝑢 𝑛τn −1 (𝑛−1)! t 0 eμτd , n≥ 1 (2.37) Mặt khác: P có n ngƣời trong hàng = π= 1 − ξ 0 ξ0n, 𝑛 ≥ 1 (2.38) Áp dụng công thức xác suất đầy đủ ta đƣợc
W(t) =P 𝑊 < t
= ∞𝑛=1P 𝑊 < t ⎤ có n người trong hàng P có n ngƣời trong hàng .+ π0 =(1 − ξ0) 𝑢𝑛τ n −1 (𝑛−1)! t 0 e−μτd +(1 − ξ0). W(t)=(1 − ξ0) + ξ0( 1 − e−μt(1−ξ0) ) (2.39)
2.3.5. Các cận trên của thời gian đợi trung bình của hàng
nhỏ".Tuy nhiên trong trƣờng hợp tổng quát chƣa có qui tắc tính E[i1] và E[𝑖12]
G/G/1
Thay cho công thức tính chính xác ngƣời ta tìm các cận trên và cận dƣới của chúng. Ở đây ngƣời ta nêu một vài cận trên cho Wq
Vì số hạng E[𝑖1
2]
E[𝑖1]≥ 0 nên Wq≤ E[𝑈.2]
−2E[𝑈] (2.40)
-Mặt khác ta còn có thể chứng minh đƣợc là: −2E[U]Wq ≤ var[U] và − 2E[U] > 0 do đó Wq≤ var [𝑈]
−2E[𝑈] (2.41) 3. Khi cƣờng độ lƣu thông ρ→ 0 thì thời gian rỗi i1 tiến đến 0. Điều này làm cho E[𝑖12]
tiến đến 0 nhanh hơn E[i1]. Do đó [E[𝑖1
2] E[𝑖1] ] →0 vì vậy [ [ [ ( [ [ [ 1 1 1 1 1 lim 2 [ 2 [ 2 [ 2(1 ) 0 1 1 v u v t v s v t v s v U W q E U E u E u ar ] ar ]+ ar ] ar ]+ ar ]) ar ] ] ] ] (2.42)
2.4. Một số bài toán tổng quát trong siêu thị
Bài toán 1:
Trong một ngày siêu thị mở cửa phục vụ trong thời gian là t giờ, tại bãi đỗ xe của siêu thị có n vị trí đỗ xe ô tô, mỗi vị trí chỉ đỗ đƣợc duy nhất 1 xe. Cứ trung bình t’giây thì có một xe đến mua hàng, thời gian khách vào mua
hàng chính là thời gian mà ô tô của khách đỗ tại bãi gửi xe. Yêu cầu của bài toán là mô phỏng lại hoạt động của bãi đỗ xe trong một ngày làm việc.
Bài toán 2:
Siêu thị có một bãi đậu xe với số lƣợng n vị trí đỗ xe. Nếu tất cả các vị trí đều có xe thì bãi đậu xe sẽ thông báo không nhận thêm xe và khi đó phải tìm vị trí đậu xe ở ngoài khu vực của siêu thị. Thời gian khách hàng đi từ bãi đậu xe vào đến siêu thị đƣợc ƣớc tính khoảng t
siêu thị có m xe đẩy cho khách mua hàng và m’ giỏ hàng xách tay cho các khách hàng mua sắm nhỏ (số lƣợng mua hàng nhỏ hơn 10 loại hàng hóa). Phục vụ siêu thị có x quầy thu ngân, trong đó quầy số 1 là quầy phục vụ các khách hàng mua nhanh với một số lƣợng hàng tối thiểu (nhỏ hơn 10 loại hàng hóa).
Luồng khách hàng (xe ô tô) đến mua hàng đƣợc phân bố trong khoảng thời gian trung bình từ tn giây. Nếu bãi xe có chỗ trống thì khách hàng sẽ vào đậu xe và mua hàng.
Nếu ngƣời mua hàng mua nhiều hơn 10 loại hàng hóa thì họ sẽ lấy xe đẩy, trong trƣờng hợp ngƣợc lại, họ chỉ lấy giỏ hàng xách tay. Sau khi ngƣời mua hàng lấy xe đẩy hay giỏ xách tay, có thể coi số hàng họ mua là những con số ngẫu nhiên trong miền giá trị từ 5 đến 100 loại hàng.
Thời gian mua hàng của 1 khách hàng đƣợc tính bằng tỷ lệ số lƣợng hàng đƣợc mua nhân với thời gian chi phí cho 1 món hàng là tm giây.
Khi mua hàng xong, ngƣời khách hàng sẽ đến quầy thu ngân để trả tiền, quầy thu ngân sẽ mất thời gian tƣơng ứng cho việc thanh toán của 1 khách hàng là 2 giây cho mỗi món hàng và cộng thêm một khoảng thời gian T giây cho một khách hàng.
Sau khi mua hàng xong, khách hàng sẽ mất thời gian từ tt giây cho
việc ra khỏi siêu thị để lên xe ô tô và ra khỏi bãi đậu xe. Các yêu cầu đặt ra:
1. Xây dựng mô phỏng mô hình làm việc của siêu thị trong thời gian của 1 ca làm việc liên tục (8 tiếng đồng hồ).
2. Đƣa ra các con số đặc trƣng của siêu thị này: hệ số sử dụng của các loại xe đẩy, giỏ hàng, của các quầy thu ngân.
GPSS World có một ƣu điểm là tính trong suốt với các dẫn chứng cụ thể nhƣ sau:[5]
- Đầu tiên, nếu chúng ta mô phỏng theo dạng "hộp đen" (Black-Box), chúng ta không thể quan sát bên trong hộp này có những thành phần gì, chúng hoạt động ra sao, tƣơng tác với nhau thế nào. Điều này dẫn đến việc chúng ta không thể kiểm soát đƣợc hộp đen ngay tại thời điểm làm việc, cũng nhƣ không thể dự đoán đƣợc hành vi của nó trong tƣơng lai. Đó là điều không ai muốn.
- Thứ hai, chỉ thật sự có lợi cả về mặt mục tiêu cũng nhƣ về vấn đề thời gian khi và chỉ khi chúng ta mô phỏng thành công. Trên cơ sở đó, khi có sự thay đổi nhân lực, những thành viên mới đến làm việc sẽ hiểu đƣợc và tiếp quản đƣợc những công việc đã làm, cũng nhƣ phát triển tiếp sau này.
- Thứ ba, một vấn đề nhỏ nhƣng có ý nghĩa khi mô phỏng. Đó là làm sao chúng ta có thể nhận thấy động lực học bên trong (Internal Dynamics) hệ thống tại thời điểm quyết định khi một ngƣời có kinh nghiệm tiến hành mô phỏng.
GPSS World đƣợc thiết kế với những điểm mạnh có thể liệt kê nhƣ: - Là ngôn ngữ hƣớng đối tƣợng, chạy đƣợc trên nhiều nền tảng hệ điều hành khác nhau nhƣ Windows, Linux.
- Hình ảnh hóa các mô hình, từ đó giúp ngƣời dùng hiểu rõ, nắm bắt mô hình tốt nhất có thể, đồng thời sao lƣu lại dƣới dạng hình ảnh thống kê dễ hiểu.
- Khả năng tƣơng tác của nó giúp ngƣời dùng dễ dàng tìm hiểu và vận hành các bài toán mô phỏng nhờ giao diện thân thiện.
- Tích hợp các cở sở phân tích dữ liệu để tính toán các thành phần trong hệ thống một cách trực quan.
- Là công cụ có thể làm nhiều việc khác nhau tại một thời điểm (Multitask) và hoạt động trên cơ sở sử dụng bộ nhớ ảo, do đó không tốn kém tài nguyên của máy tính.
Để nghiên cứu các bài toán hàng đợi nói chung và siêu thị nói riêng, cần tiến hành theo 7 bƣớc để thực hiện mô phỏng trên công cụ GPSS[1]:
Bƣớc 1:Đánh giá bài toán theo ghi chú Kendall để xác định các yếu tố A/B/m/K theo lý thuyết hàng đợi
Bƣớc 2: Xác định A, B thuộc loại phân phối xác suất nào (mục 2.2)
Bƣớc 3: Sau khi xác định xong A, B thì chúng ta chọn lựa các tham số theo hàm GENERATE của GPSS.
Bƣớc 4: Thiết lập lƣu đồ thuật toán, lập các biến, các Block, các Transaction… theo yêu cầu của bài toán
Bƣớc 5: Viết mã nguồn cho bài toán dựa theo giải thuật.
Bƣớc 6: Chạy chƣơng trình, sửa lỗi trong quá trình viết mã nguồn…
Bƣớc 7: Hiển thị kết quả, đánh giá kết quả trong sự so sánh với tính toán lý thuyết từ mô hình đƣợc trình bày trong các mục 2.3, 2.4 của chƣơng này.
2.6. Kết luận chƣơng
Trong chƣơng này trình bày về một số dạng bài toán tổng quát sử dụng hàng đợi trong siêu thị BigC Hà Nội. Bên cạnh đó, chƣơng này còn trình bày các hàng đợi cơ bản và phân tích một số các ƣu điểm, nhƣợc điểm của các hệ thống hàng đợi, từ đó đánh giá và đƣa ra các mô hình hàng đợi sử dụng cho bài toán mô phỏng trong siêu thị BigC Hà Nội.
Chƣơng 3
BÀI TOÁN MÔ PHỎNG BÃI GỬI XE TẠI SIÊU THỊ BIG C – HÀ NỘI
3.1 Bài toán bãi xe tại siêu thị (mô hình hoạt động đơn giản) 3.1.1 Mô tả bài toán 3.1.1 Mô tả bài toán
Tại bãi đỗ xe của siêu thị BigC Hà Nội có 100 chỗ đỗ xe, mỗi chỗ chỉ đỗ đƣợc đúng 1 chiếc. Cứ trung bình 30 ± 5 giây thì có một xe đến mua hàng. Thời gian xe ô tô đậu ở bãi đậu xe đƣợc tính là thời gian khách hàng vào mua hàng và là một khoảng thời gian đƣợc phân bố theo dạng hàm mũ (EXPONENTIAL) với giá trị trung bình là 60 phút.
- Cần mô phỏng lại hoạt động của bãi đỗ xe trong thời gian 1 ca làm việc của siêu thị 8 tiếng.
3.1.2 Phân tích bài toán
- Mô hình phân tích
Hình 3.1: Mô hình hàng đợi của bãi xe
Các xe ô tô xếp hàng đi vào bãi gửi xe theo cƣờng độ xuất hiện là 30±5 giây, tức là λ = 1/30. Bãi xe có kích cỡ là 100 chỗ gửi xe, mỗi xe ở trong bãi trung bình 60 phút (tƣơng đƣơng 3600 giây), tức là mỗi kênh phục vụ sẽ có cƣờng độ phục vụ là μ=1/3600.
λ
- Sơ đồ thuật toán
Hình 3.2: Sơ đồ thuật toán mô phỏng bãi xe
3.1.3 Giải bài toán
- Với thời gian mô phỏng là 8h, tổng thời gian mô phỏng là T=8.60.60 = 28800 giây. Theo lý thuyết về bài toán hàng đợi M/M/k với k = 100, ta sẽ có
Bắt đầu
Sinh ngẫu nhiên xe vào bãi 30±5 giây
Kiểm tra bãi xe còn trống hay
không
Xe vào bãi, ở đó 60 phút
Xe ra khỏi bãi, giải phóng chỗ trống
Xe bỏ đi Kiểm tra thời gian mô phỏng
End Hết thời gian
- Số xe ô tô đến siêu thị là:
N1 = T.λ = 28800. 1/30 = 960 (xe)
- Số xe ô tô có thể đƣợc phục vụ tại siêu thị là: N2 = 100.T.μ = 100.28800.1/3600 = 800 (xe) - Số xe không vào siêu thị là 960 – 800 = 160 (xe)
3.1.4 Mô hình GPSS World
******************************************************* * Mô hình bãi đậu xe tại siêu thị * *******************************************************
MESTA STORAGE 100 ;Số chỗ đậu xe trong bãi đỗ là 100 chiếc.
GENERATE 30,5,,,1;trung bình 30 +- 5 giây có 1 khách hàng đến siêu thị
GATE SNF MESTA,OTKAZ ;Kiểm tra bãi đỗ xe còn trống hay không *******************************************************
ENTER MESTA ;Xe đi vào vị trí còn trống
ADVANCE (EXPONENTIAL (1,0,3600));Thời gian xe ô tô sử dụng bãi đỗ xe LEAVE MESTA ;Giải phóng vị trí đỗ xe