Do đó, thường phát sinh các câu hỏi như “cần cung cấp bao nhiêu thiết bị để có độ trễ thấp hơn mức có thể chấp nhận được theo qui định?” hay “ trung bình thời gian đợi của khách hàng cũn
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ ÁNH TUYẾT
VÀ
NGHIÊN CỨU VỀ HỆ THỐNG HÀNG ĐỢI
CÁC CÔNG CỤ MÔ PHỎNG HỆ THỐNG HÀNG ĐỢI
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI – 2013
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ ÁNH TUYẾT
NGHIÊN CỨU VỀ HỆ THỐNG HÀNG ĐỢI
VÀ CÁC CÔNG CỤ MÔ PHỎNG HỆ THỐNG HÀNG ĐỢI
Ngành: Công nghệ thông tin
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này là do tôi thực hiện được hoàn thành trên cơ sở tìmkiếm, thu thập, nghiên cứu, tổng hợp phần lý thuyết và các phương pháp kĩ thuật đượctrình bày bằng văn bản trong nước và trên thế giới Các tài liệu tham khảo đều đượcnêu ở phần cuối của luận văn Luận văn này không sao chép nguyên bản từ bất kì mộtnguồn tài liệu nào khác
Nếu có gì sai sót, tôi xin chịu mọi trách nhiệm
Hà Nội, tháng 09 năm 2013Học viên thực hiện
Lê Thị Ánh Tuyết
Trang 4MỤC LỤC
Chương 1 GIỚI THIỆU 1
1.1 Mục tiêu và phạm vi nghiên cứu 2
1.2 Phương pháp nghiên cứu 2
1.3 Kết quả đạt được 3
1.4 Cấu trúc luận văn 3
Chương 2 TỔNG QUAN VỀ LÝ THUYẾT HÀNG ĐỢI 4
2.1 Vai trò của lý thuyết hàng đợi 4
2.2 Khái quát về hệ thống hàng đợi 4
2.2.1 Các thành phần cơ bản của một hệ thống hàng đợi 4
2.2.2 Các biến chính của một hệ thống hàng đợi 6
2.2.3 Kí hiệu Kendall A / B / m / K / n / D 8
2.2.4 Luật Little 10
2.3 Một số mô hình hàng đợi cơ bản 11
2.3.1 Hệ thống hàng đợi cổ điển M/M/1 11
2.3.2 Hệ thống hàng đợi M/M/1/K 12
2.3.3 Hệ thống hàng đợi M/M/m 14
2.3.4 Hệ thống hàng đợi M/M/m/K 16
Chương 3 MỘT SỐ CÔNG CỤ MÔ PHỎNG HỆ THỐNG HÀNG ĐỢI 18
3.1 Các hướng tiếp cận mô phỏng 18
3.2 Ngôn ngữ mô phỏng GPSS 18
3.2.1 Giới thiệu về ngôn ngữ GPSS 18
3.2.2 Những điểm nổi bật của ngôn ngữ GPSS World 19
3.2.3 Các ứng dụng của công cụ mô phỏng GPSS World 20
3.2.4 Một số khái niệm trong GPSS World 20
3.2.5 Các thực thể trong GPSS 22
3.2.6 Cú pháp lệnh GPSS 24
3.2.7 Các khối cơ bản trong GPSS 25
3.2.8 Một số hàm thư viện 31
3.2.9 Các bước phân tích và mô phỏng bài toán trên GPSS World 31
3.3 Petri Nets và một số công cụ mô phỏng dựa trên lý thuyết Petri Nets 33
3.3.1 Các ứng dụng của Petri Nets 33
3.3.2 Lý thuyết Petri Net 34
3.3.3 Các mạng Petri ngẫu nhiên 38
3.3.4 Các bước phân tích và mô phỏng bài toán trên Petri Nets 41
Trang 53.3.5 Một số công cụ dựa trên lý thuyết Petri Nets 42
3.4 So sánh giữa Petri Nets và GPSS 45
Chương 4 ỨNG DỤNG CÔNG CỤ MÔ PHỎNG VÀO MÔ PHỎNG HỆ THỐNG HÀNG ĐỢI THỰC TẾ 47
4.1 Mô phỏng hệ thống hàng đợi không ưu tiên 47
4.1.1 Phát biểu bài toán 1 47
4.1.2 Phân tích bài toán 1 47
4.1.3 Phân tích kết quả của bài toán bằng lý thuyết hàng đợi 49
4.1.4 Mô phỏng bài toán bằng công cụ GPSS World 50
4.1.5 Mô phỏng bài toán bằng mô hình Petri Net 52
4.2 Mô phỏng bài toán hàng đợi có ưu tiên 61
4.2.1 Phát biểu bài toán 2 61
4.2.2 Phân tích bài toán 2 61
4.2.3 Phân tích kết quả bài toán bằng lý thuyết hàng đợi 63
4.2.4 Mô phỏng bài toán bằng GPSS World 63
4.2.5 Mô phỏng bài toán bằng mô hình Petri Net 65
4.3 Đánh giá các kết quả mô phỏng 71
Chương 5 KẾT LUẬN 73
5.1 Kết luận 73
5.2 Hạn chế và kiến nghị 74
PHỤ LỤC 77
Trang 6DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Ký hiệu
System
System/Personal Computer
Simulation
Trang 7DANH MỤC CÁC BẢNG
Bảng 2.1 Các tham số đặc trưng của hệ thống hàng đợi 7
Bảng 2.2 Các thành phần trong kí hiệu Kendall 9
Bảng 2.3 Một số phân phối xác suất liên quan đến A và B trong mô tả Kendall 9
Bảng 3.1 Một số khối cơ bản làm việc với giao tác 25
Bảng 3.2 Một số khối cơ bản làm việc với thiết bị 28
Bảng 3.3 Một số khối cơ bản làm việc với QUEUE 29
Bảng 3.4 Một số khối cơ bản điều khiển dịch chuyển của giao tác 29
Bảng 3.5 Các thành phần cơ bản của một Petri Net 34
Bảng 3.6 Một vài giải thích của Transitions và Places 35
Bảng 3.7 Một số kí hiệu được sử dụng trong các khái niệm 37
Bảng 3.8 So sánh một số công cụ Petri Net 42
Bảng 3.9 So sánh giữa Petri Nets và GPSS 45
Bảng 4.1 Các giá trị tham số đầu vào của t1 - thực nghiệm 1.1 55
Bảng 4.2 Các giá trị tham số đầu vào của t8 - thực nghiệm 1.1 55
Bảng 4.3 Các giá trị tham số đầu vào của t5 - thực nghiệm 1.1 56
Bảng 4.4 Các giá trị tham số đầu vào của t6 - thực nghiệm 1.1 56
Bảng 4.5 Các giá trị tham số đầu vào của t1 - thực nghiệm 1.2 57
Bảng 4.6 Các giá trị tham số đầu vào của t5 - thực nghiệm 1.2 58
Bảng 4.7 Các giá trị tham số đầu vào của t6 - thực nghiệm 1.2 58
Bảng 4.8 So sánh các kết quả đạt được đối với 3 phương pháp 60
Bảng 4.9 Các giá trị tham số đầu vào của t1 - thực nghiệm 2.1 67
Bảng 4.10 Các giá trị tham số đầu vào của t2 - thực nghiệm 2.1 68
Bảng 4.11 Các giá trị tham số đầu vào của t1 - thực nghiệm 2.2 69
Bảng 4.12 Các giá trị tham số đầu vào của t2 - thực nghiệm 2.2 69
Bảng 4.13 So sánh các kết quả đạt được đối với 3 phương pháp 71
Bảng 4.14 So sánh kết quả tính toán theo lý thuyết với kết quả mô phỏng trên GPSS và Petri Nets trong 240h. 72
Trang 8DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 2.1 Các thành phần cơ bản của một hệ thống hàng đợi 5
Hình 2.2 Kí hiệu biểu đồ thời gian cho các hệ thống hàng đợi một kênh phục vụ 6
Hình 2.3 Biểu đồ số khách hàng đến và rời khỏi hệ thống theo thời gian 7
Hình 2.4 Mô hình hàng đợi M/M/1 11
Hình 2.5 Sơ đồ tốc độ chuyển trạng thái thống M/M/1 11
Hình 2.6 Mô hình hệ thống M/M/1/K 13
Hình 2.7 Sơ đồ tốc độ chuyển trạng thái hệ thống M/M/1/K 13
Hình 2.8 Mô hình hệ thống M/M/m 14
Hình 2.9 Sơ đồ tốc độ chuyển trạng thái hệ thống M/M/m 15
Hình 2.10 Mô hình hệ thống M/M/m/K 16
Hình 3.1 Mối quan hệ giữa các đối tượng 19
Hình 3.2 Minh họa một segment 27
Hình 3.3 Mô hình một chương trình mô phỏng hệ thống hàng đợi đơn giản 32
Hình 3.4 Minh họa chương trình mô phỏng trong GPSS World 33
Hình 3.5 Minh họa các thành phần cơ bản của một Petri Net 34
Hình 3.6 Petri Net mô phỏng sản xuất/tiêu thụ sản phẩm 36
Hình 3.7 Petri Net mô phỏng hàng đợi M/M/1 39
Hình 3.8 Đồ thị reachability tương ứng 39
Hình 3.9 Petri Net mô phỏng hàng đợi M/M/1/K 40
Hình 3.10 Petri Net mô phỏng hàng đợi M/M/m/K 41
Hình 4.1 Mô tả các điều kiện bài toán 1 47
Hình 4.2 Sơ đồ thuật toán bài toán 1 48
Hình 4.3 Mô hình M/M/2/7 49
Hình 4.4 Mô hình bài toán 1 theo Petri Net 52
Hình 4.5 Cửa sổ kết quả trên các transition - thực nghiệm 1.1 56
Hình 4.6 Cửa sổ kết quả trên các place - thực nghiệm 1.1 57
Hình 4.7 Cửa sổ kết quả trên các transition - thực nghiệm 1.2 59
Hình 4.8 Cửa sổ kết quả trên các place - thực nghiệm 1.2 59
Hình 4.9 Mô tả các điều kiện bài toán 2 61
Hình 4.10 Sơ đồ thuật toán bài toán 2 62
Hình 4.11 Mô hình bài toán 2 theo Petri Net 65
Hình 4.12 Cửa sổ kết quả trên các transition - thực nghiệm 2.1 68
Hình 4.13 Cửa sổ kết quả trên các place - thực nghiệm 2.1 68
Hình 4.14 Cửa sổ kết quả trên các transition - thực nghiệm 2.2 70
Hình 4.15 Cửa sổ kết quả trên các place - thực nghiệm 2.2 70
Trang 9Chương 1 GIỚI THIỆU
Trong các hoạt động kinh tế xã hội nói chung và các hoạt động kinh doanh dịch vụ hayphục vụ nói riêng thì điều làm cho các nhà quản lý phải đau đầu đó là làm sao để đánhgiá được hiệu quả hoạt động của hệ thống, cũng như làm thế nào để dự báo được sựphát triển của hệ thống để có được những đầu tư về cơ sở vật chất cũng như nguồn
nhân lực một cách phù hợp Do đó, thường phát sinh các câu hỏi như “cần cung cấp bao nhiêu thiết bị để có độ trễ thấp hơn mức có thể chấp nhận được theo qui định?” hay “ trung bình thời gian đợi của khách hàng cũng như trung bình thời gian đáp ứng của hệ thống, hiệu suất sử dụng dịch vụ như thế nào?” Đi tìm câu trả lời cho các câu
hỏi này sẽ được dựa trên các tính toán phức tạp theo các yếu tố như chính trị, kinh tế
và kỹ thuật Nhưng chúng đều có một điểm chung đó là: trong mỗi trường hợp thì thờigian yêu cầu dịch vụ sẽ xảy ra và thời gian yêu cầu này sẽ nắm giữ dịch vụ không thể
dự đoán được, ngoại trừ biện pháp thống kê Tuy nhiên, các nghiên cứu của “Lý thuyếthàng đợi” [4,11,14,15,17] hay còn gọi là “ Lý thuyết phục vụ đám đông” sẽ cung cấpcho chúng ta các công thức toán học để giải quyết vấn đề này
Trên thực tế, các hệ phục vụ đám đông thường có đặc thù phức tạp và việc tưvấn cho các nhà quản lý, nhà hoạch định chính sách về các hệ thống này là vô cùngcần thiết sao cho khi hệ thống được đưa vào sử dụng phải đạt hiệu suất cao nhất có thể.Nên chúng ta phải tính toán, thiết lập thật rõ ràng, kỹ lưỡng, để các đặc tả về chúngphải sát với thực tiễn nhất trong điều kiện cho phép
Để làm được điều đó chúng ta cần xây dựng mô hình toán học cho từng hệthống; mô tả quá trình làm việc của các thành phần trong hệ thống; sự tương tác qualại giữa chúng theo thời gian và trong không gian, để giảm chi phí tối đa cho các hoạt
động đặc tả hệ thống Vấn đề ở đây là: cần có sự đơn giản hóa nhưng chính xác các đặc điểm của hệ thống phục vụ đám đông dưới dạng mô hình Dùng phương pháp luận nào, phương pháp nào? Xem xét phương án nào là khả thi nhất, tối ưu nhất?
Và để giải quyết các vấn đề trên, chúng ta có thể: tìm kiếm và giải quyết bằngcác mô hình toán học, hoặc tìm ra các giải thuật và sử dụng các ngôn ngữ lập trình (C++, Pascal, Java,…) xây dựng chương trình để đưa ra các kết quả cần thiết, hoặc môphỏng bằng các công cụ mô phỏng (GPSS, Petri Nets, MatLab,…) Nhưng việc sửdụng các công thức toán học mà lý thuyết hàng đợi cung cấp để tính toán, cũng như
mô phỏng hệ thống bằng cách sử dụng các ngôn ngữ lập trình truyền thống là kháphức tạp, khó khăn Vì khi lập trình chúng ta phải quản lý các sự kiện theo một môhình nhiều sự kiện xảy ra đồng thời và cần xây dựng các hàm ngẫu nhiên sinh các sựkiện
Trang 10Chính vì vậy, đã xuất hiện các ngôn ngữ mô phỏng chuyên dụng như: ngôn ngữ
lập trình GPSS (General Purpose Simulation System)[10,14,18,19], thuộc loại ngôn
ngữ lập trình hướng đối tượng, một ngôn ngữ mô phỏng các hệ thống rời rạc, đượcnhận định là hiệu quả nhất hiện nay GPSS dự đoán các hành vi trong tương lai của các
hệ thống hàng đợi Các đối tượng của ngôn ngữ này được sử dụng tương tự như cácthành phần chuẩn của một hệ thống hàng đợi, như là các yêu cầu, các thiết bị phục vụ,hàng đợi… Với tập hợp đầy đủ các thành phần như vậy cho phép xây dựng các môphỏng phức tạp trong khi vẫn đảm bảo những thuật ngữ thông thường của hệ thốnghàng đợi Ngoài ra còn phải kể đến một công cụ mô phỏng nữa cũng khá hiệu quả nhờtính trực quan và đặc biệt có sự kết hợp cơ sở toán học, đã đem lại các kết quả tínhtoán chính xác, đó là Petri Nets [5,6,8,9,12,13]
Vấn đề nghiên cứu và ứng dụng ngôn ngữ mô phỏng GPSS và Petri Nets rấtphổ biến và phát triển tại Liên bang Nga, cũng như một số quốc gia khác Tuy nhiên, ởViệt Nam vấn đề này chưa phát triển Trên cơ sở các nghiên cứu đã có, luận văn đã tậptrung vào các mục tiêu và các vấn đề cần giải quyết sau:
1.1 Mục tiêu và phạm vi nghiên cứu
Luận văn tập trung nghiên cứu về các mô hình hàng đợi cũng như một số kiến thức cơbản trong “ Lý thuyết hàng đợi” và tìm hiểu hai công cụ mô phỏng hàng đợi là GPSS
và Petri Nets
Với mục tiêu chính là hiểu được các thành phần cơ bản của một hệ thống hàngđợi, một số mô hình hàng đợi cơ bản và nắm được các công cụ mô phỏng GPSS vàPetri Nets Để từ đó vận dụng vào giải quyết các bài toán thực tế
1.2 Phương pháp nghiên cứu
Sau khi xác định rõ mục đích nghiên cứu của mình và nhận thức được tầm quan trọngcủa phương pháp nghiên cứu trong việc góp phần thành công trong nghiên cứu, tôi đãlựa chọn và phối hợp nhiều phương pháp nghiên cứu khác nhau phù hợp với khả năngcũng như yêu cầu của đề tài, bao gồm các phương pháp nghiên cứu sau:
- Phương pháp phân tích, tổng hợp: nghiên cứu các tài liệu có liên quan tới vấn đề
hệ thống hàng đợi và công cụ mô phỏng hệ thống hàng đợi, phân tích để rút ra các vấn
đề cốt lõi, sau đó tổng hợp và xâu chuỗi lại để có cái nhìn tổng thể về vấn đề đangnghiên cứu
- Phương pháp nghiên cứu thực tiễn: tìm hiểu thực trạng áp dụng, sử dụng các công
cụ mô phỏng hệ thống hàng đợi Từ đó, đưa ra các đánh giá hiệu quả của sử dụng cáccông cụ này trong việc mô phỏng hệ thống hàng đợi
Trang 11- Phương pháp thực nghiệm: thực nghiệm nhằm xác định tính khả thi, hiệu quả của
từng công cụ mô phỏng, bằng cách cài đặt và chạy thực nghiệm các công cụ mô phỏngtrên hai hệ thống điển hình cho hai lớp hệ thống hàng đợi: có ưu tiên và không ưu tiên
1.3 Kết quả đạt được
Từ việc nghiên cứu “ Lý thuyết hàng đợi và các công cụ mô phỏng hệ thống hàng đợi”luận văn đã tập trung làm rõ các thành phần cơ bản của một hệ thống hàng đợi cũngnhư một số kết quả chính của các mô hình hàng đợi cơ bản Đồng thời vận dụng cáckiến thức lý thuyết có được, sử dụng hai công cụ mô phỏng GPSS và Petri Nets vàoviệc giải quyết bài toán hàng đợi có ưu tiên và không ưu tiên trong thực tiễn Từ cáckết quả thu được đưa ra những phân tích đánh giá và rút ra bài học
1.4 Cấu trúc luận văn
Luận văn được trình bày trong năm chương với nội dung chính của mỗi chươngnhư sau:
Chương 1 – Giới thiệu
Giới thiệu về bối cảnh nghiên cứu, mục tiêu, phạm vi nghiên cứu và phương phápnghiên cứu, tóm lược các kết quả đạt được
Chương 2 - Tổng quan về lý thuyết hàng đợi
Trình bày cơ sở lý thuyết về hệ thống hàng đợi, bao gồm: các yếu tố của hệ thống hàngđợi (dòng vào, dòng ra, hàng đợi, kênh phục vụ), luật Little, các mô hình hàng đợi cơbản và các thông số về hiệu suất của hệ thống
Chương 3 – Một số công cụ mô phỏng hệ thống hàng đợi
Nêu lên các hướng tiếp cận mô phỏng: toán học, lập trình và sử dụng các công cụ môphỏng có sẵn Đồng thời, giới thiệu hai công cụ mô phỏng GPSS World, Petri-Nets vàđưa ra một số so sánh, đánh giá hai công cụ này
Chương 4 - Ứng dụng công cụ mô phỏng vào mô phỏng hệ thống hàng đợi thực tế
Ứng dụng hai công cụ mô phỏng GPSS World và Petri-Nets vào mô phỏng hai bài toánthực tế về hệ thống hàng đợi ưu tiên và hệ thống hàng đợi không ưu tiên Từ bài toán
cụ thể đó: phân tích, tính toán, tiến hành mô phỏng và đánh giá kết quả thu được
Chương 5 - Kết luận
Tóm lược kết quả chính của luận văn, rút ra kết luận và nêu định hướng phát triểntrong thời gian tới
Trang 12Chương 2 TỔNG QUAN VỀ LÝ THUYẾT HÀNG ĐỢI
Chương này tập trung vào tìm hiểu tổng quan về lý thuyết hệ thống hàng đợi: giớithiệu về lý thuyết hàng đợi, vai trò và ứng dụng của lý thyết hàng đợi, các yếu tố của
hệ thống hàng đợi gồm: dòng yêu cầu đầu vào, hàng đợi, kênh phục vụ, dòng yêu cầuđầu ra, các thông số mô tả về hệ thống; luật Little và một số mô hình hàng đợi cơ bản
2.1 Vai trò của lý thuyết hàng đợi
Lý thuyết hàng đợi là một nhánh của xác suất thống kê, được ứng dụng trong nhiềulĩnh vực khác nhau như: mạng truyền thông, các hệ thống máy tính, hệ thống nhàmáy Lý thuyết hàng đợi tập trung trả lời các câu hỏi như: trung bình thời gian đợitrong hàng đợi, trung bình thời gian phản hồi của hệ thống (thời gian đợi trong hàngđợi cộng thời gian phục vụ), nghĩa là sự sử dụng của các thiết bị phục vụ, phân phối sốlượng khách hàng trong hàng đợi, phân phối khách hàng trong hệ thống
Một hệ thống hàng đợi có thể mô tả như sau: một trung tâm dịch vụ và một mật
độ khách hàng Thông thường, trung tâm phục vụ có thể chỉ phục vụ một giới hạnkhách hàng, nếu khách hàng mới đến và các dịch vụ đã sử dụng hết, khách hàng nàyphải vào hàng đợi và đợi cho đến khi dịch vụ trở nên có sẵn hoặc ngay lập tức rời đi
Vì vậy, 3 yếu tố chính của trung tâm dich vụ là: một mật độ khách hàng, các thiết bịphục vụ và hàng đợi
2.2 Khái quát về hệ thống hàng đợi
Giới thiệu các thành phần của hệ thống hàng đợi: đầu vào, đầu ra, kênh phục vụ,nguyên tắc phục vụ, và các lý thuyết liên quan như hàm phân phối thời gian đến, hàmphân phối thời gian phục vụ, phục vụ ưu tiên hay không ưu tiên Đồng thời, trình bàymột số kết quả quan trọng của các hàng đợi cơ bản
2.2.1 Các thành phần cơ bản của một hệ thống hàng đợi
Một hệ thống hàng đợi gồm các thành phần cơ bản [11] sau:
Trang 13Hình 2.1 Các thành phần cơ bản của một hệ thống hàng đợi
Trong đó:
Tiến trình vào
Tiến trình vào (gọi tắt là dòng vào) là dòng các yêu cầu đến hệ thống hàng đợi, đòi hỏi
thỏa mãn một yêu cầu nào đó được đặc trưng bởi tốc độ đến (arrival rate), ký hiệu là
λ Do dòng các yêu cầu đầu vào là một biến ngẫu nhiên, nó được đặc trưng bởi phân
phối xác suất của hai lần đến liên tiếp của các khách hàng và được kí hiệu là A(t)
A(t) = P[thời gian giữa các khách hàng đến < t ]
Dòng vào này có thể tuân theo luật phân phối đều (D), hoặc luật phân phối mũ (M),hay luật phân phối Erlangian (Er)
Tiến trình ra
Tiến trình ra (gọi tắt là dòng ra) là dòng các yêu cầu ra khỏi hệ thống hàng đợi Được đặc trưng bởi tốc độ ra (departure rate), ký hiệu là µ. Phân phối thời gian phục vụ
phối xác suất của nó được kí hiệu là B( )
B( )=P[thời gian phục vụ < ]
Trang 14Số kênh phục vụ
Kênh phục vụ bao gồm con người cùng với các thiết bị kĩ thuật hoạt động tại một vị trí
nào đó Thường được mô tả trong biến m Đặc điểm quan trọng nhất của kênh phục vụ
hàng thứ n Thời gian phục vụ cũng là một đại lượng ngẫu nhiên tuân theo một quyluật phân phối xác suất nào đó
Khả năng của hệ thống: gồm kích thước hàng đợi và khả năng phục vụ của các kênh
phục vụ, kí hiệu: K
Nguyên tắc phục vụ
Mô tả thứ tự khách hàng được lấy ra khỏi hàng đợi và được phép vào sử dụng dịch vụ.Chẳng hạn, một số hàng đợi theo nguyên tắc phục vụ đến – trước – phục vụ - trước(first-come- first-serve viết tắt: FCFS), hay đến – sau – phục vụ - trước (last-come-first-serve viết tắt LCFS), hay thứ tự phục vụ ngẫu nhiên… Ngoài ra, khách hàng cóthể được chia thành các nhóm với độ ưu tiên của mỗi nhóm khác nhau, đó là các hệthống hàng đợi có ưu tiên
2.2.2 Các biến chính của một hệ thống hàng đợi
Đối với một hệ thống hàng đợi chúng ta quan tâm đến các tham số đặc trưng được
kí hiệu và định nghĩa [11, trang 29 ] như sau
Kênh phục vụ
Hàng đợi
C n+1
Hình 2.2 Kí hiệu biểu đồ thời gian cho các hệ thống hàng đợi một kênh phục vụ
Trong sơ đồ này:
cho cơ sở dịch vụ hay kênh phục vụ
Trang 15- Mũi tên hướng từ dưới lên chỉ vào đường kẻ ngang hàng đợi (hoặc kênh phục vụ) chỉ ra rằng một khách hàng đã vào hàng đợi (hoặc kênh phục vụ).
Trang 16ra rằng một khách hàng đã đi ra khỏi hàng đợi (hoặc kênh phục vụ)
kiện này có thể xảy ra đồng thời)
Ngoài ra, trong hệ thống hàng đợi chúng ta còn quan tâm đến các thông số khác như sốkhách hàng đến và rời khỏi hệ thống trong một khoảng thời gian, hay số khách hàngtrung bình trong hệ thống, hoặc trong hàng đợi, hệ số sử dụng của hệ thống
Hình 2.3 Biểu đồ số khách hàng đến và rời khỏi hệ thốngtheo thời gian
Các tham số đặc trưng của hệ thống hàng đợi được tóm tắt trong bảng 2.1 dưới đây:
Bảng 2.1 Các tham số đặc trưng của hệ thống hàng đợi
Trang 17Hệ thống ở trạng thái dừng (the system in the steady – state) khi
2.2.3 Kí hiệu Kendall A / B / m / K / n / D
Trang 18Các thành phần cơ bản của một hàng đợi được mô tả ngắn gọn trong kí
hiệu Kendall[16, trang 14] có dạng: A / B / m / K / n / D.
Ý nghĩa của các ký hiệu trong mô tả Kendall được trình bày trong bảng 2.2
Trang 19Sau đây là bảng các hàm phân phối xác suất của A và B.
Bảng 2.3 Một số phân phối xác suất liên quan đến A và B trong mô tả Kendall
Trang 20- Thời gian giữa hai khách hàng đến liên tiếp tuân theo luật phân phối mũ
Trang 21hàng và 17 khách hàng đợi trong hàng đợi
(lost)
Một ví dụ nữa để hiểu rõ hơn về kí hiệu Kendall là hệ thống hàng đợi G/G/1, có nghĩa
là G/G/1/∞/∞/FCFS, hệ thống có:
Luật Little [2,7] được phát biểu như sau: “Trong điều kiện trạng thái dừng, số khách hàng trung bình trong một hệ thống hàng đợi bằng với tốc độ trung bình khách hàng đến nhân với thời gian trung bình mà một khách hàng sử dụng trong hệ thống”
Trong đó:
- λ : tốc độ trung bình khách hàng đến
Một đặc tính quan trọng của luật Little là nếu thông qua đo lường trực tiếp biết đượchai trong ba thông số thì thông số thứ ba có thể được tính toán được nhờ luật Little.Đây là một đặc điểm vô cùng hữu ích, khi mà để đo tất cả ba thông số có thể khó khăntrong một số ứng dụng Luật Little được áp dụng trong nhiều môi trường bao gồm cácngành công nghiệp sản xuất và dịch vụ, cũng như trong việc đưa ra các quyết địnhhàng ngày của mỗi cá nhân
Trang 222.3 Một số mô hình hàng đợi cơ bản
Các hệ thống hàng đợi có thể phân loại theo số lượng nguồn đầu vào của chúng là hữuhạn hay vô hạn, hay căn cứ vào tiến trình vào và ra Có thể kể đến một số mô hình hệthống hàng đợi cơ bản sau:
2.3.1 Hệ thống hàng đợi cổ điển M/M/1
Đây là hệ thống hàng đợi nổi tiếng và đơn giản nhất, mô tả hệ thống như sau:
số
Hệ thống hàng đợi M/M/1 được mô hình hóa trong hình 2.4
Trang 23Gọi Pk(t): xác suất (phụ thuộc thời gian) có k khách hàng trong hệ thống tại thời điểm t.
Kí hiệu xác suất trạng thái dừng mà hệ thống là trong trạng thái k (k∈ N) là: p k
Trang 24Điều kiện dừng hệ thống hàng đợi M/M/1 là: <µ
Từ các phương trình trạng thái dừng, suy ra các xác suất trạng thái dừng [17, trang 11]của hệ thống M/M/1 như sau:
(2.6)
(
2.3.1.2 Một số thông số đo hiệu suất
Để có thể đánh giá được hiệu suất hoạt động của hệ thống hàng đợi, chúng ta cần quantâm đến một số các thông số như:
Thời gian đáp ứng trung bình
Thời gian đáp ứng trung bình T: là thời gian trung bình một khách hàng chi phí trong
hệ thống, tức là thời gian chờ đợi trong hàng đợi và thời gian được phục vụ
̃̅
̃̅
( )
2.3.2 Hệ thống hàng đợi M/M/1/K
Bây giờ chúng ta xem xét trường hợp hệ thống hàng đợi có khả năng lưu trữ hữu hạn
Cụ thể, chúng ta giả định hệ thống có thể phục vụ nhiều nhất K khách hàng (bao gồm
cả khách hàng trong kênh phục vụ và khách hàng trong hàng đợi) và các khách hàngđến bị từ chối vào hệ thống sẽ ngay lập tức rời khỏi hệ thống Khách hàng mới sẽ tiếp
Trang 25tục đến hệ thống hàng đợi, nhưng chỉ có những khách hàng đến khi hệ thống đang có íthơn K khách hàng sẽ được phép vào hệ thống.
Trang 26Một lần nữa có thể sử dụng kỹ thuật dựa trên đánh giá của các phương trình luồng để
bị giới hạn, tiến trình đến là phụ thuộc trạng: nếu có ít hơn K khách hàng trong hệthống thì tốc độ đến là λ, ngược lại tốc độ đến là 0 Xác suất trạng thái dừng [17, trang17] được xác định bởi:
Trang 27Với 1 ≤ k ≤ K và
Trang 282.3.2.2 Một số thông số đo hiệu suất
Ngoài xác suất trạng thái dừng, chúng ta còn quan tâm đến các thông số hiệu suất
Hàng đợi M/M/m (m>1) [16,17] có các phân phối thời gian đến giữa hai khách hàng
liên tiếp và phân phối thời gian phục vụ giống hàng đợi M/M/1, tuy nhiên trong trường
hợp này hệ thống có m kênh phục vụ và hàng đợi độ dài vô hạn Trạng thái hệ thống
được đặc trưng bởi số khách hàng trong hệ thống Hệ thống có:
Trang 29Hình 2.8 Mô hình hệ thống M/M/m
Trang 312.3.3.2 Đơn vị đo hiệu suất
Số khách hàng trung bình trong hệ thống:
Trang 322.3.4 Hệ thống hàng đợi M/M/m/K
Hàng đợi này là một biến thể của một hệ thống đa máy và chỉ có tối đa K khách hàng
là được phép ở lại trong hệ thống Hệ thống hàng đợi M/M/m/K [16] được mô hình hóa trong hình 2.10
Trang 332.3.4.2 Một số thông số đo hiệu suất
Trung bình chiều dài hàng đợi
Trung bình thời gian đáp ứng và thời gian đợi
Thời gian trung bình có thể đạt được bằng cách áp dụng pháp luật của Little, đó là:
̃̅
̃̅
Ngoài các hệ thống hàng đợi M/M/1, M/M/1/K, M/M/m, M/M/m/K đã giớithiệu trong luận văn, còn có rất nhiều mô hình hệ thống hàng đợi khác như
tiết trong các tài liệu [7,11,15,16]
Kết luận
Trong chương 2 luận văn đã làm rõ các thành phần cơ bản của một hệ thống hàng đợi
và một số kết luận quan trọng của lý thuyết hàng đợi như luật Little, kí hiệu Kendall vàcủa một số hàng đợi cơ bản như M/M/1, M/M/1/K, M/M/m, M/M/m/K
Tuy nhiên, để vận dụng lý thuyết hàng đợi vào các bài toán về hệ thống hàng đợitrong thực tế với rất nhiều các ràng buộc là rất khó khăn Ngày nay, với sự phát triểncủa khoa học máy tính, với ưu thế của sự tích hợp các phân phối xác suất toán học vàotrong các phần mềm mô phỏng thì việc xây dựng, thiết lập các mô hình hệ thống hàngđợi trở nên đơn giản hơn rất nhiều, khắc phục được những hạn chế của phương pháptoán học thuần túy trong giải quyết bài toán hàng đợi Chúng ta sẽ thấy được sự hiệuquả của các công cụ mô phỏng trong hai bài toán thực nghiệm sẽ được trình bày trongchương 4 của luận văn và để làm được điều đó chúng ta hãy tìm hiểu về hai công cụGPSS World và TNET, để có thể sử dụng nó vào mô phỏng các hệ thống hàng đợi thực
tế Các công cụ này cung cấp các chức năng tiện ích cho người sử dụng trong quá trình
mô phỏng
Trang 34Chương 3 MỘT SỐ CÔNG CỤ MÔ PHỎNG HỆ THỐNG HÀNG ĐỢI
Chương này giới thiệu về các hướng tiếp cận mô phỏng và trình bày chi tiết về haingôn ngữ mô phỏng GPSS và Petri- Nets
3.1 Các hướng tiếp cận mô phỏng
Nhìn chung, các hệ thống phục vụ đám đông là các hệ thống phức tạp, việc vận hành
và tính toán các đặc trưng của hệ thống để tư vấn cho nhà quản lý là một vấn đề cầnthiết
Một trong những phương pháp hiệu quả nhất để nghiên cứu các hệ thống phứctạp là phương pháp mô phỏng Một mô hình mô phỏng hoạt động của một hệ thốngthực là tái tạo quá hoạt động của nó theo thời gian Khi đó tính chất đầy đủ của các môhình mô phỏng cần đạt được là mô phỏng quá trình hoạt động của mỗi phần tử trong
hệ thống, với việc đảm bảo các logic và quy tắc của sự tương tác và phát triển củachúng cả trong thời gian và trong không gian
Khi xây dựng mô hình mô phỏng và triển khai thực hiện nó thường có hai cáchtiếp cận Một là sử dụng mô hình toán học, hay các ngôn ngữ lập trình để xây dựng môphỏng, hai là sử dụng các ngôn ngữ mô phỏng chuyên dụng Xây dựng mô hình môphỏng bằng cách sử dụng mô hình toán học, hay các ngôn ngữ lập trình truyền thống làkhá phức tạp và khó khăn Chính vì vậy, nhiều người đã lựa chọn cách tiếp cận sửdụng các ngôn ngữ mô phỏng chuyên dụng
Trong phần đầu của chương 3, sẽ trình bày một số công cụ đại diện cho cáchtiếp cận sử dụng công cụ mô phỏng chuyên dụng
3.2 Ngôn ngữ mô phỏng GPSS
Trình bày về ngôn ngữ General Purpose Simulation System-GPSS [10,14,18], một
trong các ngôn ngữ mô phỏng sự kiện rời rạc
3.2.1 Giới thiệu về ngôn ngữ GPSS
General Purpose Simulation System là một ngôn ngữ mô phỏng sự kiện rời rạcđược Geoffrey Gordon của IBM phát triển vào khoảng thập niên 1960, viết tắt làGPSS Sự ra đời của GPSS đã góp phần đưa ra các khái niệm quan trọng cho tất cả cácngôn ngữ mô phỏng (sự kiện rời rạc) thương mại trên máy tính phát triển từ đó.GPSS/PC là phiên bản cài đặt đầu tiên cho máy tính cá nhân được giới thiệu vào năm
1984 và GPSS World là một hậu duệ trực tiếp của GPSS/PC Hiện nay, GPSS Worldchạy trên môi trường Windows và được mở rộng thêm nhiều tính năng trên môi trườngInternet
Trang 35GPSS World được thiết kế để cung cấp câu trả lời một cách nhanh chóng với nỗlực ít nhất, đạt được các kết quả có độ tin cậy cao nhất, phù hợp với các mục tiêu trựcquan của mô phỏng Thêm vào đó, GPSS World còn tích hợp một hàm thư viện cáchàm phân phối xác suất, đem lại sự tiện dụng cho người viết chương trình mô phỏng.Điểm mạnh của GPSS World là trong suốt và cung cấp hình ảnh động trực quan giúpngười sử dụng có thể nhận biết được sự thay đổi của hệ thống theo thời gian Ngoài ra,GPSS World còn cung cấp các công cụ ngắt để có thể dừng mô phỏng tại bất kỳ thờiđiểm nào nhằm ghi nhận lại các chỉ số cần thiết của mô phỏng
3.2.2 Những điểm nổi bật của ngôn ngữ GPSS World
GPSS World là ngôn ngữ hướng đối tượng, bao gồm các đối tượng: Model Objects, Simulation Objects, Report Objects, Text Objects
Model Objects
Hình 3.1 Mối quan hệ giữa các đối tượng
Thông thường các dự án mô phỏng yêu cầu thực hiện một số bước như: xây dựng
mô hình và thu thập dữ liệu, kiểm tra và xác minh, mô phỏng, thử nghiệm và phân tíchcác kết quả GPSS World cung cấp nhiều giải pháp để thực hiện từng bước trên Chẳng
hạn, để tạo và chỉnh sửa một mô hình có thể sử dụng trình soạn thảo full-screen text hoặc có thể chèn các lệnh Block GPSS bằng cách điền vào chỗ trống của các hộp thoại
cung cấp sẵn
Ngoài ra, GPSS World còn có các điểm nổi bật sau:
bộ nhớ ảo cho phép các mô hình lên tới hàng tỷ byte Ưu tiên đa nhiệm và xử lý đa
luồng
các phím nóng và các điểm, các kiểm soát điểm ngắt làm cho việc kiểm tra và gỡ lỗi
dễ ràng hơn trong quá trình thử nghiệm và kiểm tra xác nhận Sau khi mô phỏng được
kiểm tra, có thể sử dụng công cụ Automatic Experiment Generators để sinh ra các thử
nghiệm tự động, hoặc sử dụng công cụ hỗ trợ các bước thiết kế các thử nghiệm củaGPSS
lệnh mô hình (Model Statement).
Trang 36ngữ lập trình theo mô phỏng đơn giản nhưng mạnh mẽ, loại bỏ các hạn chế tồn tạitrong các phiên bản GPSS cũ
được sử dụng trong các biểu thức PLUS
trợ cho việc nắm bắt và in các cửa sổ đồ họa Cửa sổ Journal ghi lại các hoạt động liên
kết với các đối tượng mô phỏng
3.2.3 Các ứng dụng của công cụ mô phỏng GPSS World
Các ứng dụng chính của công cụ mô phỏng GPSS World có thể kể đến như:
thuật hàng không và vận tải công ty)
các trung tâm thương mại
3.2.4 Một số khái niệm trong GPSS World
GPSS bao gồm 4 đối tượng: các đối tượng mô hình (Model Objects), các đối tượng mô phỏng (Simulation Objects), các đối tượng báo cáo (Report Objects), các đối tượng văn bản (Text Objects) Tất cả các đối tượng này có thể được lưu lại bất cứ khi nào.
Thông thường, một mô hình được phát triển bằng cách soạn thảo các câu lệnh
trong một đối tượng mô hình Sau đó, sử dụng lệnh Create Simulation để tạo ra một
đối tượng mô phỏng được cấu trúc theo các câu lệnh trong đối tượng mô hình, sau khi
mô phỏng hoàn tất, một đối tượng báo cáo được tự động tạo ra Đối với các đối tượng
văn bản chúng được đặt trong các câu lệnh INCLUDE để hỗ trợ phát triển các mô
phỏng lớn và cho một vài ứng dụng tiện ích khác, chẳng hạn như việc tạo ra một thưviện mã nguồn Ngoài ra, các đối tượng văn bản thường được sử dụng bởi các đốitượng mô phỏng khi thực hiện các thao tác OPEN, CLOSE, READ, WRITE và SEEK
Để có thể sử dụng tốt ngôn ngữ GPSS World vào xây dựng các mô phỏng đòi hỏingười sử dụng phải hiểu về các đối tượng này
Trang 37Các đối tượng mô hình (Model Objects)
Một đối tượng mô hình chủ yếu chứa một chuỗi các câu lệnh mô hình (Model Statement) và một tập các giá trị thiết lập được xây dựng bên trong gọi là Setting Ngoài ra, một bộ các Bookmark và một danh sách các lỗi cú pháp cũng là một phần
của đối tượng mô hình Khi một đối tượng mô phỏng được tạo ra bởi dịch các câu lệnhtrong mô hình, nó được kế thừa tất cả các thiết lập từ đối tượng mô hình mẹ
Trong đó:
- Câu lệnh mô hình (Model Statement) có thể là một câu GPSS (GPSS Statement), hoặc một định nghĩa thủ tục PLUS Các câu GPSS có thể là các câu lệnh khối (Block Statements) hoặc là các lệnh (Commands).
cho đối tượng mô hình gọi là Model Setting, hoặc đơn giản là "Settings " Các
thiết lập được thừa kế bởi các đối tượng mô phỏng và các đối tượng báo cáo sẽđưa ra các kết quả Một số các thiết lập có thể được thay đổi ngay cả sau khicác đối tượng mô phỏng được tạo ra
Các đối tượng mô phỏng - Simulation Objects
Một đối tượng mô phỏng được tạo ra bằng cách dịch các câu lệnh trong một đối tượng
mô hình (Model Object) Thực hiện bằng cách vào menu Command/Create
Simulation Sau khi một đối tượng mô phỏng được tạo thành công, lệnh này sẽ tạo ra
các trạng thái của mô phỏng
Các đối tượng báo cáo - Report Objects
Một trong những tính năng mạnh nhất của GPSS là có các báo cáo chuẩn (Standard Report) Với nỗ lực cần thiết từ các nhà phát triển mô hình, mô phỏng sẽ tự động tạo ra
các báo cáo trên tất cả các thực thể GPSS được định nghĩa trong mô hình, khi môphỏng hoàn thành Có rất nhiều cách để tùy biến các báo cáo này bằng cách chỉnh sửa
các thiết lập (Settings) trong các đối tượng mô phỏng.
Các đối tượng văn bản (Text Objects)
Đối tượng văn bản chỉ đơn giản là một cách để đại diện cho một tập tin văn bản đơngiản trong GPSS World Chúng được sử dụng chính trong lệnh INCLUDE Điều nàycho phép chia sẻ các câu lệnh mô hình trong đối tượng văn bản tới một đối tượng môhình khác Thậm chí có thể tải một câu INCLUDE vào một phím chức năng, bằng cách
đó, một danh sách lệnh phức tạp hoặc thủ tục PLUS trong một tập tin văn bản có thểđược gửi đến một mô phỏng với một phím tắt duy nhất
Trang 383.2.5 Các thực thể trong GPSS
GPSS được xây dựng xung quanh các khái niệm trừu tượng gọi là các thực thể
(Entities) Để có thể tạo ra mô hình phức tạp, người sử dụng phải hiểu về các thực thể,
các thuộc tính và các thao tác trên các thực thể đó Các thực thể GPSS là những đốitượng trừu tượng tồn tại trong một mô phỏng Các loại thực thể nổi bật nhất là các giao
tác (transactions) và các khối (blocks) Một mô phỏng có qui mô lớn sẽ bao gồm nhiều
giao tác di chuyển từ một khối vào khối tiếp theo Giao tác là loại thực thể duy nhất cóthể được xóa khỏi mô phỏng
Các thực thể GPSS được đánh số, GPSS World thường gán một giá trị duy nhất lớnhơn hoặc bằng đến 10.000 vào tên của thực thể Hầu hết các thực thể GPSS được tạo
ra tự động khi cần thiết Một số thực thể phải được khai báo cụ thể trước khi sử dụngchúng như: các biến, các thực thể lưu trữ, ma trận, bảng, các hàm…
Trong GPSS, các đối tượng có thể được phân ra 6 kiểu: các thực thể động, các thực thểkhối, các thực thể thiết bị, các thực thể tính toán, các thực thể lưu trữ và các thực thểnhóm
một khối (BLOCK) xác định nào đó, nhưng hầu hết các khối đều có thể chứa cùng lúc
nhiều giao tác khác nhau Mỗi giao tác dịch chuyển vào một khối, sau đó đến khối tiếptheo, cứ thế cho đến khi nó bị xóa bỏ, tức là rơi vào trạng thái TERMINATED hoặcquá trình mô phỏng dừng Thời gian giao tác lưu lại trong mỗi khối là đại lượng ngẫunhiên, được xác định bởi tính chất của hệ thống và trong GPSS cho phép sinh ra cácđại lượng này theo các quy luật khác nhau
3.2.5.2 Các thực thể khối
Các thực thể khối (Block Entities) là thành phần cấu trúc cơ bản của một chương trình
mô phỏng GPSS Mỗi loại khối tương ứng với một hành động trong mô phỏng Mỗigiao tác trong mô hình được chứa chính xác trong một khối, nhưng hầu hết các khối cóthể chứa nhiều giao tác
3.2.5.3 Các thực thể thiết bị
Các thực thể thuộc về thiết bị (Facility Entities) tương tự như các máy phục vụ và các thiết
bị khác của hệ thống thực Một thiết bị là một thực thể có một số thuộc tính, trong đó quantrọng nhất là thuộc tính trạng thái của thiết bị, đó là quyền sở hữu Một thiết bị có thểđược sở hữu bởi một giao tác duy nhất, trong trường hợp này thiết bị ở trạng thái là “bận”,
Trang 39ngược lại thiết bị đó không được sở hữu bởi một giao tác nào thì nó ở trạng thái là
“rảnh” Không giống như thực thể lưu trữ (Storage Entity), một thiết bị không có thểđược giải phóng bởi một giao tác mà không sở hữu nó Giao tác có quyền sở hữu một
thiết bị bằng cách nhập vào thành công khối SEIZE hoặc khối PREEMPT Nếu một
giao tác không được cấp quyền sở hữu, nó sẽ “nghỉ” trên chuỗi giao tác thiết bị(Facility Transaction Chain)
Mỗi thiết bị có một vài dòng chờ cho các giao tác đang chờ một thiết bị, đó là:
RETRY CHAIN chuỗi thử lại là danh sách các giao tác đang chờ đợi sự thay
đổi trạng thái trên thiết bịThiết bị đơn kênh, đa kênh và thiết bị chuyển logic tương ứng với máy phục vụ trong
bảo việc thu thập và xử lý dữ liệu về các giao tác được giữ lại tại một thời điểmnào đó trong mô hình, chẳng hạn trước khi vào thiết bị đơn kênh
xác suất của các đại lượng ngẫu nhiên, chẳng hạn như lưu lại thời gian chờ đợicủa các giao tác trong mô hình mô phỏng
3.2.5.5 Các thực thể tính toán
Các thực thể tính toán bao gồm:
cho bởi các biểu thức số học hay logic hoặc ở dạng bảng
Trang 40Các đối tượng thuộc nhóm gồm có:
-Numeric Group Entities – là tập hợp các giá trị số Các khối có thể sử dụng làm việc
với các thực thể nhóm số gồm có: JOIN (đưa một giá trị vào một Numeric Group);
REMOVE lấy một giá trị ra…
- Transaction Group Entities- các thực thể nhóm giao tác, các thực thể chuỗi người sử
dụng (Userchain Entities) Trong đó, các thực thể chuỗi người sử dụng được dùng đểthiết lập các hàng đợi với quy tắc phục vụ không phải FIFO
3.2.6 Cú pháp lệnh GPSS
Các lệnh của GPSS được viết theo định dạng sau:
Trong đó:
Label – Nhãn: các lệnh riêng lẻ trong chương trình có thể có nhãn để các lệnh
khác có thể tham chiếu đến Nếu trong chương trình không có những tham chiếu nàythì thành phần nhãn này của câu lệnh không nhất thiết phải có
BlockType – Kiểu khối: chứa từ khóa (tên của câu lệnh) chỉ một chức năng hay
một hàm cụ thể nào đó mà câu lệnh này sẽ thực hiện Đây là thành phần bắt buộc củamột câu lệnh
Operands – Các toán hạng: từ khóa Blocktype sẽ qui định các tham số, các toán
hạng thực thi tương ứng Những trường toán hạng này tùy thuộc vào kiểu của hàm haylệnh mà có thể chứa đến 7 toán hạng sắp xếp theo một trình tự nhất định và được kíhiệu bởi những chữ cái đầu tiên trong bảng chữ cái Latin A, B, C, D, E, F, G Các toánhạng này không nhất thiết phải thiết lập, việc thiết lập giá trị của chúng có thể theomặc định và phụ thuộc vào từng lệnh cụ thể
Comment – Phần chú giải: được đặt sau dấu “;” để chú giải nội dung cho các
dòng lệnh, có thể có chú giải hoặc không Tuy nhiên, nên có chú giải để người đọc dễhiểu hơn nội dung lập trình
Ví dụ: minh họa một chương trình mô phỏng hoạt động của một hiệu cắt tóc gồm hai
bàn cắt tóc (Barb1 và Barb2)