Bài toán bãi xe tại siêu thị (mô hình hoạt động đơn giản)

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu lý thuyết hàng đợi và mô phỏng bãi gửi xe tại siêu thị big c hà nội (Trang 42)

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

TERMINATE ; OTKAZ TERMINATE 0

GENERATE 28800 ;Thời gian mô phỏng là 8x60x60 giây TERMINATE 1 ;

START 1 ;

Kết quả thực hiện:

GPSS World Simulation Report - sieuthi_1.14.1

Sunday, April 12, 2015 10:10:25

START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 28800.000 9 0 1

NAME VALUE MESTA 10000.000 OTKAZ 7.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY 1 GENERATE 961 0 0 2 GATE 961 0 0 3 ENTER 845 0 0 4 ADVANCE 845 95 0 5 LEAVE 750 0 0 6 TERMINATE 750 0 0 OTKAZ 7 TERMINATE 116 0 0 8 GENERATE 1 0 0 9 TERMINATE 1 0 0

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY MESTA 100 5 0 100 845 1 90.106 0.901 0 0

Kết quả mô phỏng cho thấy nhƣ sau:

- Số xe ô tô đến siêu thị: 961 xe - Số xe ô tô vào đƣợc vào siêu thị để mua hàng: 845 xe. - Số xe ô tô đã đƣợc phục vụ xong là: 750 xe

- Số xe ô tô vẫn đang còn ở trong bãi đỗ xe của siêu thị sau khi kết thúc

8h mô phỏng là: 95 xe

- Số xe ô tô không vào đƣợc siêu thị (bỏ về): 116 xe

Nhận xét:

Bảng 3.1. So sánh kết quả tính toán theo lý thuyết với tính toán trong GPSS với thời gian T = 8 giờ

Tính toán theo lý thuyết

Tính toán trong GPSS

Số xe ô tô đến siêu thị 960 961

Số xe ô tô đƣợc vào phục vụ tại siêu thị 800 845 Số xe ô tô đã đƣợc phục vụ tại siêu thị 800 750 Số xe ô tô không vào đƣợc siêu thị 160 116 Số xe ô tô vẫn ở bãi xe sau khi kết thúc ca

làm việc 8h

Không tính

được 95

3.2 Bài toán mô phỏng hoạt động của siêu thị 3.2.1 Mô tả bài toán 3.2.1 Mô tả bài toán

Siêu thị BigC Hà Nội có một bãi đậu xe với số lƣợng 100 chỗ. Nếu tất cả các chỗ đề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 chỗ đậu xe ở ngoài khu vực của BigC. 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 60 ± 40 giây theo một hàm phân bố đều. Tại siêu thị có 100 xe đẩy cho khách mua hàng và 50 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

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ừ 30 ± 5 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à 60 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 = 90 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ừ 60 ± 50 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:

3. 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ồ).

4. Đƣ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.

3.2.2 Phân tích bài toán

- Mô phỏng hình ảnh thực tế

Hình 3.3: Mô hình minh họa hoạt động của siêu thị

- Mô hình phân tích

Hình 3.4: Mô hình hoạt động các hàng đợi của siêu thị

Khách hàng dùng giỏ Khách hàng dùng xe đẩy Phục vụ nhanh Phục vụ thƣờng Bãi xe 100 chỗ Khách hàng (60 ±40) Bãi xe đầy 50 giỏ 100 xe đẩy Quầy số 1: Phục vụ nhanh Quầy 2,3,4,5: Phục vụ thƣờng Bãi xe đầy Bãi xe 100 chỗ Khách hàng 60± 40

- Sơ đồ thuật toán

Hình 3.5. Sơ đồ thuật toán mô phỏng hàng đợi của siêu thị

3.2.3 Giải bài toán

- Số lƣợng khách hàng (xe ô tô xuất hiện) đến mua hàng là: 28800. 1/30 = 960

- Tỷ lệ giữa khách hàng mua từ 2 đến 9 món hàng (mua bằng giỏ hàng) với khách hàng mua bằng xe đẩy (từ 10 đến 99 món hàng) là: 7/40.

- Thời gian trung bình một khách hàng ở siêu thị là: + Thời gian gửi xe: 60 (giây)

Star t

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, khách hàng vào mua hàng Khách hàng chọn xe đẩy, giỏ hàng, chọn hàng, thanh toán tiền Xe bỏ đi Kiểm tra thời gian

mô phỏng

End

Hết thời gian Còn thời gian mô phỏng

Xác định các giá trị thời gian khách mua hàng Xe rời bãi

+ Thời gian mua hàng: số món hàng x 60 giây: (100+6)/2 . 60 = 3180 (giây) + Thời gian thanh toán tiền: (100+6)/2 .2 + 90 = 196 (giây)

+ Thời gian mang hàng ra xe và rời khỏi bãi xe:60 (giây) + Tổng thời gian: 3496 (giây)

- Số lƣợng khách hàng có thể đƣợc phục vụ ở siêu thị là: 28800/3496 x 100 = 823.

3.2.4 Mô hình GPSS World

3.2.4.1 Cách tiếp cận để giải quyết bài toán đặt ra

Xuất hiện một số điểm đặc biệt đáng phải lƣu ý khi giải quyết các yêu cầu đặt ra: Cần thiết phải thiết lập một luồng các khách hàng đến siêu thị trong một khoảng thời gian là 1 ca làm việc. Trong khoảng thời gian mô phỏng, cần xác định một đơn vị chung để tiến hàng mô phỏng đƣợc tính bằng giây, do đặc điểm các đơn vị thời gian khác nhau ở mỗi hàng đợi, vì vậy tổng thời gian mô phỏng sẽ là 8x60x60 giây. Thiết lập mô hình mô phỏng và có thể tách chúng thành một số khối (Block) khác nhau nhƣ:

+ Block 1 mô tả các thông tin về các hàm làm việc của siêu thị;

+ Block 2 mô tả các thông tin về lƣợng khách hàng đến mua hàng, xác định số lƣợng hàng đƣợc mua theo hƣớng từ việc các khách hàng lựa chọn xe đẩy hay giỏ hàng.

+ Trong Block 3 sẽ mô tả và tính toán các giá trị thống kê tại các hàng đợi trong việc lấy giỏ hàng;

+ Trong Block 4 sẽ mô tả và tính toán các giá trị thống kê tại các hàng đợi trong việc lấy xe đẩy;

+ Block 5 sẽ mô phỏng các yêu cầu dịch chuyển theo từng trạng thái hệ thống;

+ Trong Block 6 sẽ đƣa ra các số liệu thống kê đối với quầy thu ngân số 1 (quầy thu ngân cho các khách hàng mua nhanh);

+ Block 8 sẽ tính toán và đƣa ra các số liệu dạng bảng về thời gian làm việc của hệ thống và số lƣợng hàng hóa đƣợc mua, giải phóng đối tƣợng mua hàng sau 1 phiên mua hàng;

+ Block 9 mô tả các luồng khách hàng đến tham gia mua hàng;

+ Block 10 mô tả toàn bộ thời gian mua hàng để kiểm soát trong suốt thời gian hệ thống thực hiện mô phỏng.

3.2.4.2 Chương trình bằng ngôn ngữ GPSS để mô phỏng bài toán

; Block 1

RMULT 1187 ; xác định một tập hợp các hệ số nhân tƣơng ứng cho ; bộ sinh số ngẫu nhiên

kassa_2 EQU 2 ; quy định cụ thể số lƣợng các kênh dịch vụ và tƣơng ứng ; với hàng đợi cho họ

kassa_N EQU 5 ; số lƣợng quầy thu ngân là 5.

time_work VARIABLE 8#60#60 ; xác định hệ thống mô phỏng tính bằng giây

n_pokupok VARIABLE (RN1@96+5) ; số lƣợng hàng mua mỗi ngƣời mua từ 5 ;đến 100 món hàng

finance VARIABLE (RN1@3+1)#40+150 ; biến xác định số tiền thanh toán

; Mua sắm

time_system TABLE M1,1000,1000,7 ; tạo ra một bảng đại diện cho

; Một tập hợp các số cho biểu đồ

pokupki TABLE P$kol_pokupok,10,10,10 ; mỗi số nguyên

; Đại diện cho một lớp của các tần số trong biểu đồ n_pokupatel TABLE X$pokupatel,100,50,12

park STORAGE 100 ; năng lực của các bãi đậu xe, số lƣợng xe cho phép telejka STORAGE 100 ; số lƣợng xe đẩy cho phép

korzina STORAGE 50 ; số giỏ

kassir VARIABLE (P$kol_pokupok)#2+90 ; biến quy định cụ thể

; thời gian của nhân viên thu ngân tại ngƣời mua dịch vụ time_mag VARIABLE P$kol_pokupok#60 ; thời gian tìm kiếm hàng của một ngƣời

INITIAL X$pokupatel,0 ; xác định giá trị ban đầu

; giá trị của ai là giá trị đƣợc lƣu trữ trong đầu của sự thay đổi là 0

******************************************

; Block 2

parking TRANSFER Both,,Lost ; nếu bãi xe rảnh thì phục vụ, ngƣợc lại sẽ ;chuyển sang Lost

ENTER park ; Cho xe vào bãi gửi

ADVANCE 60,40 ;ngƣời mua vào siêu thị

SAVEVALUE pokupatel+,1 ;tăng số lƣợng ngƣời mua hàng lên 1

ASSIGN kol_pokupok,V$n_pokupok ;gán tham biến cho giá trị số lƣợng hàng ;hóa đƣợc mua

ASSIGN oplata,V$finance ; Gán các tham biến cho việc thanh toán tiền TEST LE P$kol_pokupok,10,Qtelejka ; xác định ngƣời mua hàng bằng xe đẩy

; hay giỏ hàng

GATE SNF korzina,Qtelejka ; kiểm tra số lƣợng còn lại của xe đẩy và giỏ hàng

*******************************************

; Block 3

QUEUE korzina_Q ; Hàng đợi của giỏ hàng

ENTER korzina ; thu thập thông tin về việc sử dụng giỏ hàng DEPART korzina_Q ; giải phóng hàng đợi

ASSIGN tara,korzina ; Gán các tham biến của giỏ hàng

TRANSFER ,magazin ; chuyển các yêu cầu từ thời điểm khách vào siêu thị

*********************************************

; Block 4

Qtelejka QUEUE telejka_Q ; Hàng đợi của xe đẩy

DEPART telejka_Q ; giải thoát hàng đợi

ASSIGN tara,telejka ; Gán các tham biến của xe đẩy

**********************************************

; Block 5

magazin ADVANCE V$time_mag ;Thời gian mua hàng của khách hàng trong ;siêu thị

TEST LE P$kol_pokupok,10,min_och ;xác định hình thức của ngƣời mua hàng COUNT L kassir_0,kassa_2,kassa_n,1,Q ; xác định số lƣợng đối tƣợng

;thỏa mãn các yêu cầu đầu bài TEST E P$kassir_0,0,min_och ; xác định các yêu cầu tiếp theo

**********************************************

; Block 6

QUEUE bistro_q ; Lấy các thông tin thống kê hàng đợi của quầy phục vụ nhanh SEIZE bistro

DEPART bistro_q ; Giải phóng hàng đợi

ADVANCE V$kassir ; Lấy thời gian phục vụ ở quầy phục vụ nhanh RELEASE bistro

LEAVE P$tara ;hoàn thành việc thống kê hàng đợi ở quầy phục vụ nhanh TRANSFER ,fin ; chuyển đối tƣợng đến block FIN

**********************************************

; Block 7

min_och SELECT MIN min_ocher,kassa_2,kassa_n,,Q ; chọn đối tƣợng ;thỏa mãn điều kiện QUEUE P$min_ocher

DEPART P$min_ocher ADVANCE V$kassir RELEASE P$min_ocher LEAVE P$tara ********************************************** ; Block 8

fin TABULATE time_system ; đặt thời gian để mô phỏng

TABULATE pokupki ; Lấy thông tin về số lƣợng hàng hóa đƣợc mua SAVEVALUE pokupatel-,1 ; giảm số lƣợng khách hàng 1 đơn vị

ADVANCE 60,50 ; LEAVE park TERMINATE lost TERMINATE ******************************************** ; Block 9

GENERATE 30,5,,,1 ; Sử dụng hàm phân bố xác suất ; đối với khách mua hàng

TRANSFER ,parking

**********************************************

; Block 10

GENERATE V$time_work ; xác định thời gian mô phỏng của hệ thống TABULATE n_pokupatel ; Lấy thông tin về số lƣợng khách đến siêu thị TERMINATE 1

Kết quả của quá trình mô phỏng:

GPSS World Simulation Report - sieuthi_2.7.1 Sunday, April 12, 2015 16:22:42

START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 28800.000 47 5 3 NAME VALUE BISTRO 10028.000 BISTRO_Q 10027.000 FIN 36.000 FINANCE 10010.000 KASSA_2 2.000 KASSA_N 5.000 KASSIR 10017.000 KASSIR_0 10025.000 KOL_POKUPOK 10020.000 KORZINA 10016.000 KORZINA_Q 10024.000 LOST 42.000 MAGAZIN 18.000 MIN_OCH 29.000 MIN_OCHER 10026.000 N_POKUPATEL 10013.000 N_POKUPOK 10009.000 OPLATA 10021.000 PARK 10014.000 PARKING 1.000 POKUPATEL 10019.000 POKUPKI 10012.000 QTELEJKA 14.000 TARA 10023.000 TELEJKA 10015.000 TELEJKA_Q 10022.000 TIME_MAG 10018.000 TIME_SYSTEM 10011.000 TIME_WORK 10008.000

PARKING 1 TRANSFER 960 0 0 2 ENTER 671 0 0 3 ADVANCE 671 2 0 4 SAVEVALUE 669 0 0 5 ASSIGN 669 0 0 6 ASSIGN 669 0 0 7 TEST 669 0 0 8 GATE 45 0 0 9 QUEUE 45 0 0 10 ENTER 45 0 0 11 DEPART 45 0 0 12 ASSIGN 45 0 0 13 TRANSFER 45 0 0 QTELEJKA 14 QUEUE 624 0 0 15 ENTER 624 0 0 16 DEPART 624 0 0 17 ASSIGN 624 0 0 MAGAZIN 18 ADVANCE 669 65 0 19 TEST 604 0 0 20 COUNT 44 0 0 21 TEST 44 0 0 22 QUEUE 37 0 0 23 SEIZE 37 0 0 24 DEPART 37 0 0 25 ADVANCE 37 0 0 26 RELEASE 37 0 0 27 LEAVE 37 0 0 28 TRANSFER 37 0 0 MIN_OCH 29 SELECT 567 0 0 30 QUEUE 567 27 0 31 SEIZE 540 0 0 32 DEPART 540 0 0 33 ADVANCE 540 4 0 34 RELEASE 536 0 0 35 LEAVE 536 0 0 FIN 36 TABULATE 573 0 0 37 TABULATE 573 0 0 38 SAVEVALUE 573 0 0 39 ADVANCE 573 2 0

40 LEAVE 571 0 0 41 TERMINATE 571 0 0 LOST 42 TERMINATE 289 0 0 43 GENERATE 960 0 0 44 TRANSFER 960 0 0 45 GENERATE 1 0 0 46 TABULATE 1 0 0 47 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 2 143 0.941 189.538 1 821 0 0 0 6 3 133 0.896 193.969 1 736 0 0 0 7 4 130 0.879 194.695 1 779 0 0 0 7 5 134 0.872 187.480 1 823 0 0 0 7 BISTRO 37 0.135 105.297 1 0 0 0 0 0

QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY 2 10 6 149 6 5.718 1105.207 1151.579 0 3 10 7 140 4 5.449 1120.991 1153.962 0 4 10 7 137 3 5.253 1104.265 1128.987 0 5 9 7 141 3 5.031 1027.637 1049.977 0 TELEJKA_Q 1 0 624 624 0.000 0.000 0.000 0 KORZINA_Q 1 0 45 45 0.000 0.000 0.000 0 BISTRO_Q 1 0 37 34 0.006 4.402 54.290 0

STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY PARK 100 0 0 100 671 1 93.710 0.937 0 0 TELEJKA 100 5 0 100 624 1 90.202 0.902 0 0 KORZINA 50 49 0 3 45 1 0.894 0.018 0 0

TABLE MEAN STD.DEV. RANGE RETRY FREQUENCY CUM.% TIME_SYSTEM 4190.597 1979.354 0 - 1000.000 46 8.03 1000.000 - 2000.000 25 12.39 2000.000 - 3000.000 101 30.02 3000.000 - 4000.000 117 50.44 4000.000 - 5000.000 71 62.83 5000.000 - 6000.000 79 76.61 6000.000 - _ 134 100.00

Kết quả mô phỏng cho thấy nhƣ sau:

- Số xe ô tô (khách hàng) đến mua hàng: 960 - Số khách hàng vào đƣợc siêu thi (gửi xe): 671

- Số khách hàng bỏ về: 289

- Số khách hàng vào đƣợc siêu thị nhƣng chƣa mua hàng: 2 - Số khách hàng thực hiện mua hàng: 669 - Số khách hàng mua hàng bằng giỏ hàng: 45 - Số khách hàng mua hàng bằng xe đẩy: 624

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu lý thuyết hàng đợi và mô phỏng bãi gửi xe tại siêu thị big c hà nội (Trang 42)