Tên trường Mô tả Kiểu dữ liệu
Queue_id (*) Mã queue INT
Queue_name Tên queue VARCHAR
Queue_manager_id Mã quản lý queue: 1: queue thường, 2: queue vip, 3: queue blacklist
INT
Bảng- 4-2 – CSDL Queue dịch vụ 4.4.3 Bảng tbl_agent – Tư vấn viên
Tên trường Mô tả Kiểu dữ liệu
Queue_id (*) Mã queue INT
Agent_id (*) Mã tư vấn viên VARCHAR
Priority Độ ưu tiên trực trong queue INT
Bảng- 4-3 – CSDL Tư vấn viên 4.4.4 Bảng tbl_param – Tham số
Tên trường Mô tả Kiểu dữ liệu
Id (*) Mã tham số INT
Param_name Tên tham số VARCHAR
Value_a Giá trị min trong số mờ tam giác FLOAT
Value_b Giá trị max trong số mờ tam giác FLOAT
Bảng- 4-4 – CSDL Tham số 4.4.5 Bảng tbl_shift – Ca trực
Tên trường Mô tả Kiểu dữ liệu
Shift_Id (*) Mã ca làm việc INT
Shift_name Tên ca làm việc VARCHAR
Start_Shift_time Thời gian bắt đầu ca trực TIME End_Shift_time Thời gian kết thúc ca trực TIME
Time_Shift Thời gian trực FLOAT
Rush_level Độ cao điểm của ca trực INT
Type Loại ca trực: 0- thường và 1- bổ
sung
INT
Pre_level Độ ưu tiên của ca trực INT
74
4.4.6 Bảng tbl_rule – Luật
Tên trường Mô tả Kiểu dữ liệu
Rule_Id (*) Mã luật INT
Wait_time Thời gian chờ INT
Rate Tỉ lệ cuộc gọi INT
Pre_level Mức độ ưu tiên ca trực INT
Rush_level Mức độ cao điểm của ca trực INT
Agent_number Số lượng agent INT
75
CHƯƠNG 5- CÀI ĐẶT VÀ KẾT QUẢ
5.1 Cài đặt chương trình
Chương trình sử dụng kiến trúc MVC, MVC chia một ứng dụng ra làm ba thành phần (component) khác nhau Model, View và Controller. Các thành phần của kiến trúc MVC có một trách nhiệm duy nhất và không phụ thuộc vào các thành phần khác. Những sự thay đổi trong một thành phần sẽ không có hoặc là có rất ít ảnh hưởng đến các thành phần khác. Trách nhiệm của mỗi thành phần là:
Model: Model được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu vào từ người dùng sẽ thông qua View được kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận, và lưu dữ liệu là một phần của Model
View: View hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gửi đi các yêu cầu đến bộ điều khiển, sau đó là nhận lại các phản hồi từ bộ điều khiển và hiển kết quả cho người dùng. Các trang HTML, JSP, các thư viện và các file nguồn là một phần của thành phần View
Controller: Controller là tầng trung gian giữa Model và View. Controller được giao nhiệm vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ máy khách được thực hiện bởi một chức năng logic thích hợp từ thành phần Model và sau đó sinh ra các kết quả cho người dùng và được thành phần View hiển thị. ActionServlet, Action, ActionForm và struts-config.xml là các phần của Controller.
Á p dụng công nghệ JDBC (Java Database Connectivity) để cài đặt chương trình, kết hợp sử dụng cơ sở dữ liệu MySQL.
76
5.2 Kết quả chương trình
5.2.1 Đầu vào cần chuẩn bị cho lập lịch
- Dữ liệu cuộc gọi trong quá khứ: dữ liệu xuất ra từ hệ thống ở dạng file excel và có các cột thông tin: Mã cuộc gọi, thời điểm bắt đầu cuộc gọi, thời điểm kết thúc cuộc gọi, mã queue của cuộc gọi, thời gian chờ tiếp nhận
- Thông tin danh sách agent: Mã agent, queue phục vụ, mức độ ưu tiên cho queue tương ứng
- Thông tin ca trực: Tên ca trực, thời điểm bắt đầu ca, thời điểm kết thúc ca trực, thời gian ca trực, mức độ cao điểm
- Công thức mờ hóa dữ liệu đầu vào - Các luật suy diễn áp dụng
5.2.2 Các bước thực hiện để lập lịch cho tổng đài
- Bước 1: Đăng nhập vào ứng dụng với vai trò giám sát viên
77 Màn hình cho giám sát viên hiển thị như sau:
Hình- 5-2- Màn hình Giám sát viên
- Bước 2: Chọn chức năng “Lập lịch trực”, màn hình hiển thị như sau:
Hình- 5-3- Màn hình Lập lịch trực
78
Hình- 5-4 – Màn hình Nhập dữ liệu lập lịch trực
Nhấn nút và tìm tới file excel dữ liệu cuộc gọi trên máy local như đã chuẩn bị trước
Nhập thời gian của ca trực từ - đến hợp lệ Nhập số tư vấn viên cần để lập lịch hợp lệ
Nhấn “Thực hiện”, màn hình kết quả hiển thị như sau:
Hình- 5-5- Màn hình Kết quả lập lịch
- Bước 3: Xuất kết quả, trên màn hình “Kết quả lập lịch” nhấn nút “Xuất excel” để xuất lịch trực dạng excel.
- Bước 4: Trong quá trình lập lịch, giám sát viên có thể thực hiện thay đổi một số thông tin đầu vào phù hợp để lập lịch cho thời điểm hiện thời
79
Hình- 5-6- Màn hình Thêm mới tư vấn viên
Chỉnh sửa các tham số mờ hóa các dữ liệu
80
Thêm mới, chỉnh sửa, xóa ca trực trên hệ thống
Hình- 5-8-Màn hình Thêm mới, Sửa, Xóa ca trực 5.3 Đánh giá kết quả thực nghiệm
5.3.1 Thử nghiệm khi thay đổi tham số mờ hóa
Lần 1: Dữ liệu nhập cho lập lịch như sau (file dữ liệu cuộc gọi tháng 10/2015):
Hình- 5-9-Dữ liệu nhập lần 1
81
Hình- 5-10-Kết quả lập lịch lần 1
Lần 2: Thay đổi dữ liệu “Số tư vấn viên/queue” như sau (vẫn sử dụng file dữ liệu tháng 10/2015)
82 Kết quả lập lịch trực của chương trình như sau:
Hình- 5-12-Kết quả lịch trực lần 2
Như vậy, khi thay đổi số agent cần trong 1 queue trong lần 2, ca trực “Bổ sung 1” đã được xếp tư vấn viên trực đẩy đủ. Kết quả này cũng cho thấy sự ưu tiên đối với các ca trực chính so với các ca trực bổ sung. Nếu số tư vấn viên cần cho ca trực tăng lên thì số lượng tư vấn viên sẽ không được bố trí cho các ca trực bổ sung nữa.
5.3.2 Đánh giá chương trình
Chương trình lập lịch đã cài đặt chạy ổn định và cho kết quả tương đối nhanh, thời gian cho kết quả trung bình khoảng 1 phút (thời gian này phụ thuộc vào dung lượng file dữ liệu cuộc gọi đã import vào chương trình).
83
So với cách lập lịch truyền thống, thời gian này nhanh hơn rất nhiều. Đối với một giám sát viên có kinh nghiệm thì cần khoảng 4 giờ để xếp lịch cho các tư vấn viên trong vòng 1 tuần, như vậy là lịch của một ngày thì giám sát viên cần khoảng hơn 30 phút. Chương trình này giúp cho giám sát viên tiết kiệm rất nhiều thời gian trong công việc. Đồng thời với cách lập lịch thủ công, nếu tư vấn viên có bất kỳ thay đổi nào về thời gian làm việc (vì các lý do cá nhân muốn thay đổi lịch trực) thì giám sát viên phải mất thời gian cân đối và sắp xếp lại lịch trực đã xuất. Còn đối với ứng dụng, giám sát viên chỉ cần loại bỏ tư vấn viên đó và thực hiện chạy lại ứng dụng và xuất kết quả.
Tuy nhiên, công việc tính toán của ứng dụng để có kết quả như mong muốn lại phụ thuộc khá nhiều vào kinh nghiệm của giám sát viên. Những kinh nghiệm này được đặt thành các luật, các tham số đầu vào cho ứng dụng. Nên cần có giám sát viên có kinh nghiệm lâu năm và có đúc kết luật lập lịch chặt chẽ, để máy móc có thể cho kết quả như mong đợi.
Thực nghiệm khi thay đổi số lượng tư vấn viên cần thiết cho mỗi queue, khi có cả ca trực bổ sung và ca trực chính.
Lần 1: Dữ liệu cuộc gọi sử dụng là của tháng 10 năm 2015 và các thông số nhập vào bao gồm:
o Thời gian trực: từ 2 giờ đến 8 giờ
o Số lượng tư vấn viên/ queue: từ 5 đến 10 người o Kết quả: Chỉ có ca trực chính được xếp người trực
Lần 2: Dữ liệu cuộc gọi sử dụng là của tháng 10 năm 2015 và các thông số nhập vào bao gồm:
o Thời gian trực: từ 2 giờ đến 8 giờ
o Số lượng tư vấn viên/ queue: từ 1 đến 4 người
84
Như vậy, khi thay đổi số agent cần trong 1 queue trong lần 2, ca trực bổ sung đã được xếp tư vấn viên trực đẩy đủ. Kết quả này cũng cho thấy sự ưu tiên đối với các ca trực chính so với các ca trực bổ sung. Đồng thời cũng cho thấy, ứng dụng cài đặt này đã đáp ứng được yêu cầu của phương pháp lập lịch đề xuất.
85
CHƯƠNG 6-KẾT LUẬN
6.1 Kết luận
Với đề tài “Hệ trợ giúp ra quyết định lập lịch hỗ trợ tư vấn tổng đài”, luận văn đã đạt được những kết quả như sau:
1. Sử dụng mô hình mờ để xây dựng phương pháp lập lịch trực cho các tổng đài tư vấn đa dịch vụ. Phương pháp lập lịch đơn giản và có dựa vào dữ liệu trong quá khứ của tổng đài để có thể đưa ra lịch trực phù hợp với mỗi tổng đài.
2. Từ phương pháp lập lịch đã nghiên cứu, thực hiện cài đặt chương trình hỗ trợ lập lịch trực tư vấn tổng đài. Chương trình xây dựng trên nền tảng ứng dụng, sử dụng ngôn ngữ lập trình Java và cơ sở dữ liệu MySQL. Chương trình cho kết quả chính xác theo phương pháp đã nghiên cứu và giao diện dễ sử dụng.
3. Trong quá trình nghiên cứu phương pháp lập lịch trực và cài đặt chương trình, tôi nhận thấy khuyết điểm của phương pháp này khi khối lượng dữ liệu cuộc gọi nạp vào chương trình tăng lên. Đồng thời, quá trình nạp dữ liệu vẫn được thực hiện thủ công.
6.2 Định hướng phát triển
Hiện tại ứng dụng “Hỗ trợ lập lịch tư vấn tổng đài” đang hoạt động độc lập và quá trình nạp dữ liệu thực hiện thủ công, do vậy luận văn hướng tới áp dụng module lập lịch vào hệ thống quản lý tổng đài. Lập lịch sẽ là một chức năng trong hệ thống quản lý tổng đài, và thực hiện lấy dữ liệu cuộc gọi trực tiếp từ cơ sở dữ liệu chung.
Do đề tài hướng tới một phương pháp lập lịch đơn giản nên yếu tố dự đoán số lượng cuộc gọi đã được loại bỏ. Đó cũng là một nhược điểm của chương trình, chương trình chưa thể tự cập nhật các tham số và điều chỉnh tham số theo sự biến động của dữ liệu. Để đạt được hiệu quả cao hơn trong kết quả lập lịch, luận văn
86
mong muốn sẽ phát triển thêm phần tự động cập nhật lại các tham số cho công thức mờ hóa trong chương trình.
Ngoài ra hiện tại, chương trình chỉ có thể thực hiện lập lịch trực cho một ngày, do vậy giám sát viên vẫn phải thực hiện công việc này hàng ngày. Hướng phát triển cao hơn cho module có thể thực hiện lập lịch cho tổng đài trong vòng một tuần. Và nếu có sự thay đổi nhân sự, giám sát viên có thể thực hiện lập lịch lại cho những ngày còn lại.
87
TÀ I LIỆU THAM KHẢO
[1]. Đỗ Ngọc Anh, Bùi Trần Quang Vũ (2005), Khóa luận logic mờ, số mờ và hệ mờ, Đại học Quốc gia Thành phố Hồ Chí Minh.
[2]. Andreas Beer, Johanness Garter, Nysret Musliu, Werner Shafhauser and Woflgang Slany, Scheduling Breaks in Shift Plans for Call Centers, Graz University of Technology, 8010 Graz, Austria
[3]. Alex Fukunaga, Ed Hamilton, Jason Fama, David Andre, Ofer Matan, Illah Nourbakhsh, Staff Scheduling for Inbound Call Centers and Customer Contact Centers, Blue Pumpkin Software 884 Hermosa Court, Suite 100 Sunnyvale, CA 94086
[4]. Đinh Thị Bảo (2014), Tập mờ viễn cảnh và ứng dụng, Đại học Quốc gia Hà Nội, Trường Đại học Công nghệ, tr. 10-11.
[5]. Chen G. and Pham T.T. (2001), Fuzzy Sets, Fuzzy Logic and Fuzzy Control Systems, CRC Press, USA.
[6]. Dubois D. and Prade H. (1999), Fuzzy Sets in Approximate Reasoning and Information Systems, Kluwer Academic Publishers, USA.
[7]. Nguyễn Văn Định, Bài giảng môn Logic mờ và ứng dụng, Khoa CNTT- Học viện Nông nghiệp Việt Nam.
[8]. PGS.TS Trần Đình Khang, Bài giảng hệ trợ giúp quyết định, Viện công nghệ thông tin và truyền thông, Đại học Bách khoa Hà Nội
[9]. Noah Gans, Haipeng Shen,Yong-Pin Zhou (04/2015), Parametric Forecasting and Stochastic Programming Models for Call-Center Workforce Scheduling.
[10]. Sandjai Bhulai, Ger Koole and Auke Pot, Simple Methods for Shift Scheduling in Multi-Skill Call Centers, Vrije Universiteit, De Boelelaan 1081a, 1081 HV Amsterdam, The Netherlands