II. Hỗ trợ ra quyết định trong sản xuất, kinh doanh công ty in Offset
2.2 Giải quyết vấn đề
2.2.1 Đưa về dạng bài toán phân lớp với cây quyết định ID3
Bài toán được đưa về dạng bài toán phân lớp với cây quyết định ID3 đã được trình bày trong chương 2 với các thuộc tính tham gia phân lớp là TaiLieu, LoaiGiay, LoaiMuc, TenMayIn, ChatLuong. Trong đó thuộc tính quyết định là ChatLuong.
Đầu vào bài toán là các thuộc tính phân lớp, sau khi được phân tách bằng phép đo độ lợi thông tin (Information gain) ta được đầu ra là cây quyết định ID3 cuối cùng và các luật tương ứng từ cây quyết định.
Từ những luật thu được ta có thể ra được những quyết định phù hợp cho việc sản xuất và kinh doanh hợp lí hơn mang tính khoa học hơn.
2.2.2 Xây dựng chương trình Demo cây quyết định ID3
2.2.2.1 Công cụ lập trình:
Ngôn ngữ lập trình: C# trong Visual Studio 2010 Nền tảng : Window 64 bit
NetFramWork: 3.5 .
2.2.2.2 Cấu trúc chương trình demo
2.2.2.2.1 Nạp dữ liệu
Đầu vào của chương trình demo là file text đã được xuất từ file dữ liệu chính dạng excel (.xls) sang file text (.txt). Cấu trúc file text như sau:
TaiLieu LoaiGiay LoaiMuc TenMayIn ChatLuong Coop 50 Pano RyobiA yes
Coop 50 Pano RyobiB yes Coop 50 Pano CDA no Coop 50 Pano CDB yes Coop 50 Pano CD74 yes Coop 50 Pano RolandA no Coop 50 Pano RolandB no Coop 50 Pano SortZ no
Oriflam 100 Bestack RyobiA yes Oriflam 100 Bestack RyobiB yes
Oriflam 100 Bestack CDA no Oriflam 100 Bestack CDB yes Oriflam 100 Bestack CD74 yes Oriflam 100 Bestack RolandA no Oriflam 100 Bestack RolandB no Oriflam 100 PBestack SortZ no Metro 45 India RyobiA yes Metro 45 India RyobiB yes Metro 45 India CDA no Metro 45 India CDB yes Metro 45 India CD74 yes Metro 45 India RolandA no Metro 45 India RolandB no Metro 45 India SortZ no BiaSGK 300 Pano RyobiA no BiaSGK 300 Pano RyobiB no BiaSGK 300 Pano CDA no BiaSGK 300 Pano CDB no BiaSGK 300 Pano CD74 no
2.2.2.2.2 Các lớp đối tượng chính của chương trình
Class Atribute.cs: nạp các thuộc tính của dữ liệu.
Class ID3_ALG.cs: thực hiện phân tách các thuộc tính bằng giải thuật ID3 (Chương 2) và tìm luật từ các thuộc tính phân tách.
Class TreeNote.cs: biễu diễn các thuộc tính phân tách thành cây quyết định
2.2.2.2.3 Giao diện chương trình
Giao diện chương trình gồm 4 nút button và 4 view kết quả:
Button Nạp Dữ Liệu: đưa file dữ liệu dạng .txt vào chương trình và hiển thị dữ liệu ra View 1
Button Chạy Giải Thuật ID3: phân tích dữ liệu để cho ra các thông số độ lợi thông tin, các luật, cây quyết định. Các kết quả này được hiển thị ở các View còn lại.
Button Rút Gọn Luật: rút gọn các luật
Button Xóa: xóa màn hình để thực hiện tác vụ mới.
2.2.3 Kết quả bài toán phân lớp bằng giải thuật ID3
Xét Tất Cả Thuộc Tính
* Gain(Tất Cả Thuộc Tính,tailieu) = 0.18870686638423 * Gain(Tất Cả Thuộc Tính,loaigiay) = 0.18870686638423 * Gain(Tất Cả Thuộc Tính,loaimuc) = 0.0775388637598021 * Gain(Tất Cả Thuộc Tính,tenmayin) = 0.544176221502097
---> Best Gain : tenmayin Xét ryobia
* Gain(ryobia,tailieu) = 0.811278124459133 * Gain(ryobia,loaigiay) = 0.811278124459133 * Gain(ryobia,loaimuc) = 0.311278124459133
---> Best Gain : tailieu Xét coop
Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes Xét oriflam
Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes Xét metro
Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes Xét biasgk
Tất cả các mẫu đều phủ định => Trả về nút gốc với nhãn No Xét ryobib
* Gain(ryobib,loaigiay) = 0.811278124459133 * Gain(ryobib,loaimuc) = 0.311278124459133
---> Best Gain : loaigiay Xét 50
Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes Xét 100
Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes Xét 45
Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes Xét 300
Tất cả các mẫu đều phủ định => Trả về nút gốc với nhãn No Xét cda
Tất cả các mẫu đều phủ định => Trả về nút gốc với nhãn No Xét cdb
* Gain(cdb,loaimuc) = 0.311278124459133 ---> Best Gain : loaimuc
Xét pano là No Xét bestack
Tất cả các mẫu đều khẳng định => Trả về nút gốc với nhãn Yes Các thuộc tính rỗng => Trả về nút gốc có giá trị phổ biến nhất là No Xét cd74 là Yes
Xét rolanda
Tất cả các mẫu đều phủ định => Trả về nút gốc với nhãn No Xét rolandb
Tất cả các mẫu đều phủ định => Trả về nút gốc với nhãn No Xét sortz
2.2.3.2 Cây quyết định:
2.2.4 Hỗ trợ các quyết định
Từ cây quyết định và các luật được rút ra. Công ty có thể ra các quyết định sau:
- Bố trí mặt hàng chiến lược có tính đòi hỏi cao về chất lượng và thời gian vào các máy có năng suất ổn định là các máy RyobiA và Ryobi B.
- Những loại giấy định lượng 300 không đáp ứng được khả năng sản xuất của công ty nên có những chiến lược nhập giấy hợp lí, ra những quyết định tham gia đấu thầu như sách giáo khoa, nhãn, bao bì.., lựa chọn sản phẩm phù hợp với khả năng sản xuất của công ty.
- Bố trí nhân lực có kinh nghiệm cao để quản lí các máy in có tầm chiến lược.
- Lên những chiến lược bảo dưỡng và khắc phục những nguyên nhân hoặc thay thế các máy in đáp ứng chất lượng sản phẩm kém.
- ...
KẾT LUẬN
Qua việc tìm hiểu về hệ hỗ trợ ra quyết định cùng việc thực hiện các demo ứng dụng của hệ hỗ trợ ra quyết định, em có được hiểu biết nhiều hơn về các phương pháp hỗ trợ ra quyết định. Hệ hỗ trợ ra quyết định giúp chúng ta ra được những báo cáo, những quyết định đúng đắn mang tính khoa học không cảm tính giúp ích rất nhiều trong nhiều lĩnh vực ngành nghề khác nhau.
Trong thời gian tới, em sẽ tìm hiểu và ứng dụng sâu hơn nữa và sẽ triển khai khai thác hết tiềm năng của hệ hỗ trợ ra quyết định đem lại một cách làm việc đúng đắn, một định hướng khoa học trong tương lai ngoài môi trường thực tế cụ thể là trọng
hoạt động sản xuất của công ty em và mở rộng hơn nữa ở các đơn vị cơ quan khác.
Một lần nữa em xin chân thành cám ơn thầy Phó Giaó Sư Tiến Sỹ Đỗ Phúc đã tận tâm truyền đạt những kiến thức quí báu cho em, đã đưa ra được những vấn đề hiện thực khách quang giúp em hiểu sâu rộng hơn về môn học này và định hướng được một số hoạt động lĩnh vực công nghệ thông tin cần phát triển ở cơ quan mình.