Bài toán lập lịch Job shop: Trong cuối những năm 1950, B.Gi er và GLThompson trong bài báo có tiêu đề "Các thuật toán để giải quyết các vấn đề kế hoạch sản xuất" [6] cho rằng nó không p
Trang 1TRƯỜNG ĐẠI HỌC LẠC HỒNG
***
NGUYỄN HỮU THIÊN ÂN
ỨNG DỤNG MÔ HÌNH JOB-SHOP LINH ĐỘNG ĐỂ HỖ TRỢ LẬP LỊCH SẢN XUẤT CHO MỘT CÔNG TY
Chuyên ngành Công Nghệ Thông Tin
Mã số: 60.48.02.01
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Giáo viên hướng dẫn: PGS TS Trần Văn Lăng
Đồng Nai, Năm 2012
Trang 2LỜI CẢM ƠN
Viết một luận văn là một trong những việc khó nhất mà em phải hoàn thành
từ trước đến nay Trong quá trình thực hiện luận văn em đã gặp rất nhiều khó khăn
và bở ngỡ Nếu không có những sự giúp đỡ và động viên của quý thầy cô thì có lẽ
em đã không hoàn thành luận văn này
Xin chân thành cảm ơn Phó Giáo Sư Tiến sĩ: Trần Văn Lăng đã tận tình
hướng dẫn và quý thầy cô khoa công nghệ thông tin, khoa sau đại học đã truyền dạy những kiến thức quý báu trong chương trình cao học và giúp đỡ kinh nghiệm cho luận văn hoàn thành được thuận lợi
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan: Bản luận văn tốt nghiệp này là công trình nghiên cứu thực
sự của cá nhân, được thực hiện trên cơ sở nghiên cứu lý thuyết, kiến thức kinh điển, nghiên cứu khảo sát tình hình thực tiễn và dưới sự hướng dẫn khoa học của Phó
Giáo sư Tiến sĩ: Trần Văn Lăng
Các số liệu, mô hình toán và những kết quả trong luận văn là trung thực, các chiến lược đưa ra xuất phát từ thực tiễn và kinh nghiệm, chưa từng được công bố dưới bất cứ hình thức nào trước khi trình, bảo vệ và công nhận bởi “ Hội Đồng đánh giá luận văn tốt nghiệp Thạc sĩ công nghệ thông tin ”
Một lần nữa, tôi xin khẳng định về sự trung thực của lời cam kết trên
Trang 4MỤC LỤC
Trang
Trang phụ bìa
LỜI CẢM ƠN
LỜI CAM ĐOAN
DANH MỤC CÁC TỪ VIẾT TẮT
DANH MỤC BẢNG
DANH MỤC HÌNH
CHƯƠNG 1: GIỚI THIỆU TỒNG QUAN 1
1.1 Tổng quan về bài toán lập lịch: 1
1.1.1 Bài toán lập lịch Job shop: 1
1.1.2 Phân loại các vấn đề lập kế hoạch: 3
1.2 Giới thiệu về luận văn: 5
1.2.1 Mục tiêu của luận văn: 6
1.2.2 Nội dung trình bày luận văn: 6
1.2.3 Các công việc cần thực hiện: 6
i Giai đoạn đầu tiên: 7
ii Giai đoạn thứ 2: 7
iii Giai đoạn thứ 3: 8
CHƯƠNG 2:MỘT SỐ VẤN ĐỀ HỖ TRỢ LẬP LỊCH TRONG SẢN XUẤT 10 2.1 Ý nghĩa lập kế hoạch sản xuất: 10
2.2 Mô hình dữ liệu: 13
2.3 Mô hình sản xuất: 15
2.3.1 Phân loại theo hình thức tổ chức sản xuất: 16
a Sản xuất liên tục (Flow shop): 16
b Sản xuất gián đoạn (Job shop): 16
c Sản xuất theo dự án: (Open shop) 17
2.3.2 Phương pháp quản lý sản xuất: 18
2.4 Cấu trúc hệ thống: 19
Trang 52.5 Mô hình toán học và các giải thuật: 19
2.5.1 Các phương pháp Metaheuristics: 20
2.5.1.1 Phương pháp lai metaheuristics (Hybrid metaheuristics): 20
2.5.1.2 Phương pháp tìm kiếm địa phương (Local search): 21
2.5.1.3 Lặp lại tìm kiếm địa phương (Iterated local search): 23
2.5.2 Các luật phân phối Heuristics: 24
2.5.3 Thuật toán di truyền (Genetic algorithms): 25
2.5.4 Thuật toán tìm kiếm Tabu (Tabu search): 28
2.5.5 Thuật toán mô phỏng luyện kim (Simulated Annealing): 29
2.5.6 Thuật toán tối ưu hóa thuộc địa đàn kiến (Ant Colony Optimization) : 30
2.5.6.1 Nguồn gốc thuật toán: 30
2.5.6.2 Miêu tả thuật toán ACO: 33
2.5.7 Thuật toán hệ thống đẩy (push system): 37
CHƯƠNG 3:HỆ THỐNG LẬP LỊCH TRONG SẢN XUẤT 39
3.1 Mô hình sản xuất: 39
3.1.1 Mô hình sản xuất của ngành công nghiệp dược phẩm: 39
3.1.2 Mô hình phương pháp quản lý sản xuất tại công ty BV Pharma:
40
3.1.3 Quy trình sản xuất: 42
3.1.3.1 Giai đoạn chuẩn bị: 42
3.1.3.2 Giai đoạn pha chế: 42
3.1.3.3 Giai đoạn dập viên: 43
3.1.3.4 Giai đoạn bao phim: 43
3.1.3.5 Giai đoạn ép vĩ hay vô chai: 43
3.1.3.6 Giai đoạn đóng gói: 43
3.1.4 Các yêu cầu đặt cho hệ thống lập lịch : 43
3.2 Mô hình dữ liệu : 47
3.3 Thuật toán lập lịch: 47
3.3.1 Thuật toán Jopshop: 48
Trang 63.3.2 Thuật toán lập kế hoạch đẩy: 52
3.3.3 Thuật toán tối ưu hóa thuộc địa đàn kiến (Ant Colony Optimization): 55
3.4 Cấu trúc phần mềm: 58
3.4.1 Cập nhật cơ sở dữ liệu và tạo ra một lịch trình mặc định: 58
3.4.2 Tối ưu hóa kết quả lập kế hoạch thông qua ACO: 59
3.4.3 Sửa đổi kết quả lựa chọn tối ưu hóa: 60
CHƯƠNG 4:CHƯƠNG TRÌNH THỬ NGHIỆM 62
4.1 Cấu trúc hệ thống: 62
4.2 Cơ sở dữ liệu: 62
4.3 Giao diện: 63
4.3.1 Màn hình đăng nhập: 63
4.3.2 Màn hình cập nhật thông tin đơn đặt hàng: 64
4.3.3 Màn hình cập nhật thông tin sản phẩm: 65
4.3.4 Màn hình cập nhật thông tin máy: 65
4.3.5 Màn hình cập nhật thông tin khách hàng: 66
4.3.6 Màn hình thông tin ngày nghỉ: 66
4.3.7 Màn hình thông tin tăng ca: 67
4.4 Thử nghiệm: 67
4.4.1 Hệ thống tính toán thời gian sản xuất thực tế: 68
4.4.1.1 Thời gian tiêu chuẩn của mỗi sản phẩm trên mỗi máy trạm: 69 4.4.1.2 Thời gian chờ đợi trên mỗi máy trạm: 70
4.4.1.3 Thời gian cài đặt máy: 70
4.4.1.4 Xét thời gian thực hiện trên các máy trạm: 71
4.4.2 Kết quả hoán vị của thuật toán ACO: 78
4.4.3 So sánh kết quả lập kế hoạch mặc định với kết quả của thuật toán ACO: 81 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
PHỤ LỤC
Trang 7DANH MỤC CÁC TỪ VIẾT TẮT
ADI Advance demand information Thông tin nhu cầu ứng
trước ACO Ant Colony Optimization Tối ưu hóa thuộc địa đàn
kiến MPCS manufacturing planning and control
systems
Lập kế hoạch sản xuất và hệ thống kiểm soát
MRP material requirement plan Nguyên liệu yêu cầu cho kế
hoạch PICS production and inventory control system Sản xuất và hệ thống kiểm
Trang 8DANH MỤC BẢNG
Trang Bảng 1.1 Thể hiện công việc trên các máy theo thuật toán Job-shop 4Bảng 2.1 Các nhiễu loạn trong nhà máy 15 Bảng 3.1 Thể hiện tiến trình tuần tự các 3 công việc trên 6 công đoạn làm việc 49Bảng 4.1 Dữ liệu đặt hàng tháng 7/2012[4] 67 Bảng 4.2 Mô tả thời gian tiêu chuẩn sản xuất ra sản phẩm của các máy trạm khác nhau của mỗi sản phẩm sản xuất trong công ty 69Bảng 4.3 Mô tả thời gian chờ đợi sản phẩm cần thiết trên máy trạm khác nhau 70 Bảng 4.4 Mô tả thời gian thiết lập cần thiết trên máy trạm mỗi khi hoàn tất một sản phẩm 70Bảng 4.5 Mô tả thời gian biểu được tạo ra từ hệ thống lập kế hoạch 71Bảng 4.6 Mô tả thời gian bắt đầu và thời gian kết thúc cho tất cả các sản phẩm 73Bảng 4.7 Mô tả thời gian bắt đầu và thời gian kết thúc cho tất cả các sản phẩm 74 Bảng 4.8 Mô tả thời gian bắt đầu và thời gian kết thúc cho tất cả các sản phẩm 75Bảng 4.9 Mô tả thời gian bắt đầu và thời gian kết thúc cho tất cả các sản phẩm 75Bảng 4.10 Mô tả thời gian bắt đầu và thời gian kết thúc cho tất cả các sản phẩm 76 Bảng 4.11 So sánh lịch trình mặc định với lịch trình tối ưu 81Bảng 4.12 So sánh lịch trình mặc định của tháng 4,5,6,7 với lịch trình tối ưu tháng 4,5,6,7 82
Trang 9DANH MỤC HÌNH
Trang
Hình 1.1 Một thể hiện cho bài toán Job-shop 5
Hình 1.2 Sơ đồ giai đoạn thứ 1 7
Hình 1.3 Sơ đồ giai đoạn thứ 2 8
Hình 2.1 Mô hình tiến trình xây dựng hệ thống lập lịch sản xuất 13
Hình 2.4 Sơ đồ của một công việc sản sản xuất dây chuyền 17
Hình 2.5 Sơ đồ một dây chuyền sản xuất của Open shop 18
Hình 2.3 Cấu trúc hệ thống lập lịch 19
Hình 2.4 Hoán chuyển vùng lân cận 22
Hình 2.5 Thay đổi vùng lân cận 22
Hình 2.6 Chèn vào vùng lân cận 23
Hình 2.7 Tóm tắt của ILS 23
Hình 2.8: Chu kỳ sinh sản trong một giải thuật di truyền 26
Hình 2.9 Minh họa của cây cầu nhị phân đối xứng 31
Hình 2.10: Minh họa của cây cầu nhị phân không đối xứng 33
Hình 2.11 Mô tả việc lựa chọn đường mòn pheromone của kiến 34
Hình 3.1 Mô tả tiến độ sản xuất theo đơn đặt hàng 41
Hình 3.2 Thể hiện thời gian chờ khác nhau ở một máy trạm 45
Hình 3.3 Mô hình biểu hiện lập kế hoạch sản xuất 46
Hình 3.4 Mô hình biểu hiện dữ liệu sản xuất 47
Hình 3.5 Mô hình xử lý n công việc trên m máy trạm theo thuật toán Jobshop 51
Hình 3.6 Mô hình lập lịch đẩy trong dây chuyền sản xuất 52
Hình 3.7 Mô hình xử lý n công việc trên m máy trạm theo thuật toán đẩy 54
Hình 3.8 Mô hình tối ưu hóa thuộc địa đàn kiến 57
Hình 3.9 Mô hình hiển thị biểu đồ dòng chảy của thủ tục đầu tiên vận hành hệ thống lập kế hoạch: 59
Hình 3.10 Mô hình hiển thị biểu đồ lưu lượng của kết quả thông qua việc tối ưu hóa bằng phương pháp ACO 60
Hình 3.11 Một biểu đồ lưu lượng tổng thể đơn giản hóa thủ tục hoạt động hệ thống lập kế hoạch 61
Hình 4.1 Mô hình cơ sở dữ liệu 63
Hình 4.2 Màn hình đăng nhập 64
Hình 4.3 Màn hình thông tin đơn đặt hàng 64
Hình 4.5 Màn hình thông tin máy 65
Hình 4.6 Màn hình thông tin khách hàng 66
Trang 10Hình 4.7 Màn hình thông tin ngày nghỉ 66
Hình 4.8 Màn hình thông tin tăng ca 67
Hình 4.9 Màn hình sơ đồ Gantt mặc định 78
Hình 4.10 Màn hình các giải pháp của thuật toán ACO 79
Hình 4.11 Bố trí lại kết quả từ ACO 80
Hình 4.12 Kết quả tối ưu của thuật toán ACO 81
Trang 11CHƯƠNG 1:
GIỚI THIỆU TỒNG QUAN
1.1 Tổng quan về bài toán lập lịch:
Lập kế hoạch một hệ thống sản xuất có thể là một trong những nhiệm vụ phức tạp nhất trong việc quản lý hoạt động sản xuất Vì vậy, việc trợ giúp của hệ thống phần mềm máy vi tính đã trở nên hữu ích hơn để đáp ứng nhu cầu của ngành công nghiệp Tầm quan trọng của thiết kế một hệ thống có hệ thống, đặc biệt là sử dụng các hệ thống máy tính đã làm tăng năng suất của các nhà sản xuất sản phẩm
đáp ứng nhu cầu của khách hàng Trong môi trường làm việc thực tế, các vấn đề
thích hợp nhất mà thách thức các nhà sản xuất cung cấp sản phẩm đúng thời gian cho khách hàng và quản lý các nguồn tài nguyên hữu hạn của doanh nghiệp để tối
đa hóa năng suất của doanh nghiệp
Với sự đa dạng của bài toán lập lịch chẳng hạn như: lập lịch quản lý một dự
án, lập lịch xếp lớp cho giáo viên, lập lịch sản xuất và lập lịch trong các loại ngành nghề khác nhau Trong chương này nghiên cứu về bài toán lập lịch sản xuất Do có một tính chất chung trong bài toán lập lịch sản xuất thường được mô tả dựa trên ba tính đặc tính như: công việc, môi trường máy và tiêu chuẩn tối ưu Sự phân loại này
đang dùng rộng rãi được giới thiệu qua nhiều tài liệu nghiên cứu [19]
1.1.1 Bài toán lập lịch Job shop:
Trong cuối những năm 1950, B.Gi er và GLThompson trong bài báo có tiêu
đề "Các thuật toán để giải quyết các vấn đề kế hoạch sản xuất" [6] cho rằng nó
không phải là cần thiết để tìm kiếm cho một lịch trình tối ưu trên tất cả các lịch trình
có thể, nhưng chỉ hơn một tập hợp tiến độ khả thi, được gọi là lịch trình hoạt động sản xuất
Vấn đề lập lịch sản xuất jobshop cổ điển có thể được xây dựng như sau:
Trang 12Một M tập hợp các máy m có M1, …, Mm và tập hợp J của n công việc J1,
…, Jn Công việc Jj bao gồm nj công đoạn Oij với i = 1, …, nj phải được xử lý theo
thứ tự O1j→ O2j, …, Công đoạn Oij phải được xử lý trong một thời gian pij > 0 trên một máy µij∈ M1, …, Mm Mỗi máy chỉ có thể xử lý một công việc tại một thời
điểm và µij µi+1,j với mọi j = 1,…,n và i = 1,…,nj -1, có nghĩa là không có hai công việc được xử lý trên một máy Trong công thức cổ điển có một thời gian lưu trữ công việc của các máy, nếu công việc được hoàn thành trên một máy mà máy
khác vẫn thực hiện công việc Một lịch trình được xác định bởi vector S = (Sij) của thời gian bắt đầu của cả các công đoạn Oij Lịch trình S có thể là:
− Sij + pij ≤ Si+1,j với mọi hoạt động (ưu tiên hạn chế giữa hoạt động của cùng một công việc)
− Sij +pij ≤ Suv hoăc Suv + puv ≤ Sij cho tất cả các cặp Oij,Ouv với µij = µuv, (mỗi máy chỉ xử lý một công việc tại một thời điểm)
Mục tiêu làđể xác định một lịch trình có tính khả thi S với thời gian hoàn
thành công việc Cmax = Cj , khi Cj = là thời gian hoàn tất công việc Jj
Lịch biểu S cho từng máy Mk có trình tự πk= (πk(1),…, πk(mk)) của mk công
đoạn được thực hiện trên Mk
Thể hiện công việc chung Jj được thực hiện trên các công đoạn Oij với O1j, , thường được đặc trưng bởi các yếu tố sau:
− Thời gian xử lý pịj cần thiết để xử lý công đoạn i của công việc Jj
− Tâp hợp các máy Mij đủ điều kiện cho công đoạn Oij
− Ngày bắt đầu rj là thời gian khi công đoạn đầu tiên của công việc Jj được xử
lý
− Ngày kết thúc dj là thời gian hoàn thành công việc Jj
− Dj là thời hạn mà trong đó công việc Jj phải được hoàn thành
Trang 13− Các lớp của vấn đề lập kế hoạch được quy định tại các điều khoản của ba trường α|β|γ , được giới thiệu bởi Graham et al [24] giúp phân loại các vấn
đề lập kế hoạch khác nhau, và cho phép có một cái nhìn nhanh chóng đề giải
quyết các loại vấn đề
1.1.2 Phân loại các vấn đề lập kế hoạch:
Các ký hiệu phân loại vấn đề được Graham et al [24] đưa ra như sau:
− Trường đầu tiên α đại diện cho môi trường phân xưởng sản xuất Chẳng hạn
α = J biểu thị dòng chảy công việc hoặc mô hình lập lịch công việc tương ứng Số lượng máy m là một phần của thể hiện vấn đề có thể bằng một hằng
số cố định Mỗi máy sẽ xử lý một công việc tại một thời điểm nhất định
− Trường thứ hai β bao gồm các đặc điểm công việc tức là giới hạn xử lý và ràng buộc Ngược lại với trường đầu trường này có thể rỗng, nghĩa là mặc
định của công việc không ưu tiên và độc lập
một thời gian
công việckhông thểbắt đầu trước khihoàn thànhcông việc khác)
− Trường thứ ba γ đại diện các tiêu chuẩn tối ưu của công việc Mục đích tối
ưu là đánh giá các giá trị hoặc biểu diễn tương đối khả thi của lịch trình Ví
dụ về các tiêu chuẩn thường được sử dụng giảm thiểu thời gian hoàn thành công việc Cmax (thời gian hoàn thành của tất cả các công việc trên tất cả các máy) hoặc giảm thiểu thời gian tổng lưu lượng trung bình có trọng (thời gian trung bình các công việc vẫn còn trong máy)
Với ký hiệu ba trường này, nó có thể phân loại và là tài liệu tham khảo nhanh chóng cho tất cả các biến thể của các vấn đề lập kế hoạch
Việc lập lịch biểu có thể được biểu hiện bằng biểu đồ Gantt, là một kỹ thuật
đồ họa đơn giản phù hợp cho các tình huống ít phức tạp Điều này không cung cấp
bất kỳ quy tắc nào cho việc lựa chọn, nhưng chỉ đơn giản là trình bày một kỹ thuật
Trang 14đồ họa cho kết quả hiển thị và tiến độ và kết quả đánh giá (makespan, thời gian
nhàn rỗi, thời gian chờ đợi, máy sử dụng, vv)
Để làm rõ hơn cho bài toán Jopshop này, ví dụ sau đây sẽ thể hiện việc lập
kế hoạch sản xuất trên các máy được thể hiện qua biểu đồ Gantt như sau:
Ví dụ:
Một trường hợp cụ thể cho bài toán lập lịch job-shop như sau: có 5 công việc (jobs) được xử lý trên 2 máy (machine), mỗi công việc phải được bắt đầu từ máy 1 sau đó mới đến máy 2
Như vậy: J=5, M= {M1, M2}
Thời gian xử lý công việc trên các máy như bảng sau:
Bảng 1.1 Thể hiện công việc trên các máy theo thuật toán Job-shop
Sau khi các công việc được sắp xếp để tiến hành xử lý trên máy 1 và máy 2
là S={3,2,4,5,1} Hình 1.1 sẽ biểu hiện việc sắp lịch xử lý công việc trên các máy
Trang 15Hình 1.1 Một thể hiện cho bài toán Job-shop
Ở đây giả định thời gian thiết lập được bao gồm:
− Thời gian hoàn thành công việc (makespan) Cmax = 28
− Máy 1 không có thời gian nhàn rỗi, ngoại trừ 3 đơn vị thời gian vào cuối ngày
− Máy 2 có 3 đơn vị thời gian nhàn rỗi đầu ngày cộng với 1 đơn vị thời
gian ở gần cuối ngày
− Công việc thứ 2,4,5 có tổng thời gian chờ là 6 đơn vị thời gian trên máy
2
Dựa trên bài toán lập lịch Jobshop cổ điển đã có nhiều nghiên cứu mở rộng
để hỗ trợ cho việc lập kế hoạch thực tiển như: thuật toán Taboo tìm kiếm để lập kế
hoạch công việc được trình bày của Eric Taillard (1994) [10] Kỹ thuật nhánh cận (branch and bound) [23] giải quyết vấn đề tối ưu của lịch trình Kỹ thuật di truyền [28] chọn ra một ứng viên tốt nhất để tạo một lịch trình khả thi Ngoài ra còn có các
kỹ thuật lập kế hoạch lấy cảm hứng từ tự nhiên về trí thông minh bày đàn tìm ra những con đường tối ưu từ tổ đến thức ăn Một minh chứng cho kỹ thuật này được quan sát từ đàn kiến tìm thức ăn được để xuất đầu tiên của Dorigo vào năm 1992
[17]
1.2 Giới thiệu về luận văn:
Hệ thống lập kế hoạch bằng máy tính hiện tại đang sử dụng trong công ty cho thấy không khả thi Việc tìm kiếm lộ trình sản phẩm trong số tất cả các tuyến
đường chưa cụ thể và rõ ràng Dẫn đến vấn đề khó khăn trong việc quản lý lập kế
Trang 16hoạch sản xuất Trong môi trường làm việc thực tế, lộ trình sản phẩm khác nhau
đóng một vai trò quan trọng, đặc biệt là cho sản xuất một loạt các sản phẩm cùng
một lúc Luận văn này mô tả sự phát triển của một hệ thống lập kế hoạch tạo ra sản phẩm có thể tất cả các tuyến đường Hệ thống lập kế hoạch hoạt động dựa trên khái niệm lập kế hoạch đẩy Sau đó, với sự trợ giúp của thuật toán tối ứu hóa đàn kiến (Ant Colony Optimization) tất cả các tuyến sản phẩm có thể được đánh giá theo tổng số thời gian lập kế hoạch sản phẩm
1.2.1 Mục tiêu của luận văn:
Mục tiêu của luận văn là áp dụng mô hình lập lịch trên lý thuyết dựa trên
thuật toán ACO và mô hình phù hợp để đưa vào thực tế sản xuất
Giúp doanh nghiệp có thể rút ngắn thời gian sản xuất xuống còn vài ngày, thậm chí vài giờ Điều đặc biệt, doanh nghiệp sản xuất luôn ở trong thế chủ động với các phương án khác nhau, không lệ thuộc vào sự biến đổi của quá trình sản xuất Tiết kiệm cả về thời gian lẫn công sức và sẽ mang đến lợi ích cao hơn về mặt quản lý và lợi nhuận
Giúp doanh nghiệp có thể dễ dàng quản lý sản xuất thông qua biểu đồ Gantt trong việc lập kế hoạch sản xuất cũng như thay đổi kế hoạch
1.2.2 Nội dung trình bày luận văn:
Với mục tiêu và các công việc được trình bày như trên, cấu trúc của luận văn
được trình bày như sau:
Chương 1 Giới thiệu tổng quan
Chương 2 Một số vấn đề hỗ trợ lập lịch trong sản xuất
Chương 3 Hệ thống lập lịch trong sản xuất
Chương 4 Cài đặt và thử nghiệm các chức năng của chương trình
Kết luận và hướng phát triển
1.2.3 Các công việc cần thực hiện:
Trang 17Để đạt được các mục tiêu trên, công việc nghiên cứu được phân chia thành
ba giai đoạn khác nhau:
i Giai đoạn đầu tiên:
Bao gồm các định nghĩa sơ bộ về vấn đề lập lịch, lập báo cáo vấn đề này và mục tiêu của nghiên cứu
Là một giai đoạn quan trọng mà tất cả các yếu tố nghiên cứu cần thiết được xem xét như sự đóng góp của nghiên cứu này, lĩnh vực nghiên cứu, và các phần có liên quan cho mục tiêu nghiên cứu
Hình 1.2 Sơ đồ giai đoạn thứ 1
ii Giai đoạn thứ 2:
Trong giai đoạn này, sẽ tập trung vào nghiên cứu và xem xét các nghiên cứu trước đây Cơ bản sẽ nghiên cứu dựa trên sự độc đáo của từng hệ thống Đồng thời,
Luận văn
Lựa chọn tên luận văn và các định nghĩa
Xác định mục tiêu và phạm vi nghiên cứu
Báo cáo chi tiết và tầm quan trọng của
nghiên cứu
Viết báo cáo chương I
Sai
Đúng
Trang 18thông tin từ doanh nghiệp nghiên cứu sẽ được sử dụng làm tài liệu tham khảo trong việc phát triển hệ thống lập kế hoạch
Hình 1.3 Sơ đồ giai đoạn thứ 2
iii Giai đoạn thứ 3:
Giai đoạn này sẽ thảo luận về các phương pháp đề để đạt các mục tiêu đã nêu Bao gồm làm thế nào để phát triển một hệ thống lập kế hoạch trên máy vi tính
Xem xét lý thuyết
Nhận xét hệ thống lập kế hoạch hiện tại:
scheduling)
(Intelligent based scheduling)
Colony Optimization)
Nghiên cứu từ các tạp chí liên quan, các bài báo, sách và trang web
Viết báo cáo
chương II
Phương pháp luận của luận văn
Viết báo cáo
chương III
Trang 19dựa trên các dữ liệu thu thập từ doanh nghiệp lựa chọn Hình sau là biểu đồ 1.3 biểu
hiện cho giai đoạn cuối cùng của luận văn
Hình 1.4 Sơ đồ giai đoạn thứ 3
Khái niệm thiết kế phát triển phần mềm
Lựa chọn
ngôn ngữ lập
trình
Cơ cấu hệ thống cơ
sở dữ liệu dựa trên các dữ liệu thu thập
Xây dựng và xem xét các thuật toán lập lịch trình và công nghệ tự
động
Xem xét lại hệ thống giao diện người dùng hiện có và cơ cấu giao diện hệ thống
Trang 20CHƯƠNG 2:
MỘT SỐ VẤN ĐỀ HỖ TRỢ LẬP LỊCH TRONG SẢN XUẤT
Trong sản xuất và hệ thống sản xuất, công việc khác nhau phải được xử lý bởi một số máy trong một thứ tự nhất định.Tình trạng này nhiều hoạt động thường
được phản ánh trong mô hình lập lịch trình sản xuất, nơi một số công việc được xử
lý tại một phân xưởng bao gồm một số máy Trong sản xuất thực tế, hàng ngàn cấu hình có thể tồn tại cho sản xuất Trong chương này sẽ trình bày tập trung vào các
mô hình và thuật toán hỗ trợ cho việc lập lịch sản xuất để từng bước xây dựng một
mô hình lập lịch có thể áp dụng thực tế tại công ty BV Pharma
2.1 Ý nghĩa lập kế hoạch sản xuất:
Lập kế hoạch sản xuất là việc quản lý và phân bổ các nguồn lực, sự kiện và quy trình để tạo ra hàng hóa và dịch vụ Doanh nghiệp điều chỉnh lịch trình sản xuất phải dựa trên sự sẵn có của nguồn tài nguyên, đơn đặt hàng của khách hàng và hiệu quả Mục tiêu của kế hoạch sản xuất là để cân bằng nhu cầu của khách hàng với nguồn lực sẵn có trong khi hoạt động trong cách hiệu quả nhất về chi phí [29]
Tài nguyên
− Lập kế hoạch sản xuất đòi hỏi tập trung mạnh vào sự sẵn có của các nguồn lực của một doanh nghiệp Tài nguyên bao gồm các nguyên liệu thô được sử dụng để tạo ra hàng hoá, tính sẵn có của máy và tính sẵn sàng của người lao
động Thông thường, người lập kế hoạch sản xuất theo dõi tất cả nguồn lực
và tìm thấy hạn chế hoặc mất nguồn tài nguyên mà sẽ ảnh hưởng đến mức độ
âm lượng khác nhau của sản xuất, điều này được gọi là năng lực lập kế hoạch Khi lên lịch và xác định các nguồn lực khó khăn, người này sẽ cho biết thêm nguồn cung cấp bổ sung, máy móc và nhân viên để đảm bảo mục tiêu sản xuất được đáp ứng
Đơn đặt hàng
Trang 21− Người lập kế hoạch Sản xuất xem xét đơn đặt hàng của khách hàng dựa trên khung thời gian yêu cầu, tầm quan trọng khách hàng và năng lực sản xuất có sẵn Họ làm việc chặt chẽ với doanh số bán hàng và tiếp thị để đáp ứng mong
đợi của khách hàng và tối đa hóa doanh số bán hàng
Thành phần
− Lập kế hoạch sản xuất bao gồm ra lệnh cho bộ phận sản xuất khối lượng hàng hoá sản xuất, lập kế hoạch nhân sự, để chế biến sản xuất và ngày đến hạn Sản xuất lập kế hoạch sắp xếp cần thiết giảm thời gian bảo trì thường xuyên và làm sạch
Nhân viên
− Lập kế hoạch sản xuất cố gắng để tối đa hóa các nhân viên thông qua luân chuyển công việc, lịch trình nghỉ ngơi hiệu quả, qua đào tạo và cơ hội làm việc theo nhóm Một sự cân bằng giữa công việc hoạt động quy trình, đào tạo
và nhóm tạo ra một lực lượng lao động nhiều hơn sản xuất
Dự phòng Kế hoạch
− Thông thường, người lập kế hoạch sản xuất tạo ra kế hoạch rằng tài khoản cho các vấn đề tiềm năng, chẳng hạn như mất tài nguyên, máy và tình trạng thiếu việc làm, do đó, nhân viên và quản lý biết những hành động khi đối mặt với một trục trặc bất ngờ trong sản xuất
Phần mềm
− Hầu hết các công ty sản xuất phần mềm quy mô lớn sử dụng mạnh mẽ cho lập kế hoạch, trong đó phải chiếm nhiều khó khăn phức tạp và mức độ thông tin đa dạng Phần mềm phổ biến bao gồm AMS dự án thời gian thực, 7 Artemis, Cando, Delmia 5, D-Opt, Hydra, Microsoft Project, Primavera Nhiều gói phần mềm được thiết kế phù hợp cho các ngành công nghiệp cụ thể và có thể được sửa đổi cho các nhu cầu kinh doanh cá thể
Trang 22Ngày nay các doanh nghiệp với quy mô sản xuất ngày càng lớn, số lượng sản phẩm được sản xuất ngày càng nhiều và phải mang tính cạnh tranh cao về chất lượng sản phẩm, đồng thời phải đáp ứng được nhu cầu giao hàng đúng hạng cho khách hàng Cho nên đòi hỏi doanh nghiệp phải có một lịch trình sản xuất hợp lý và tối ưu Do đó vấn đề tạo ra một hệ thống quản lý tiến trình sản xuất được đặt ra cho các doanh nghiệp là điều nên làm và đó đã trở thành một điều không thể thiếu trong việc quản lý thông tin sản xuất
Để tạo ra một mô hình hệ thống lập lịch [5] thì phải bao gồm các tiêu chí
như: yêu cầu của doanh nghiệp, thiết kế mô hình, cài đặt và thử nghiệm hệ thống
Yêu cầu của doanh nghiệp:
− Phân tích yêu cầu của doanh nghiệp theo mô hình sản xuất hiện tại bao gồm: hình thức tổ chức và phương pháp quản lý sản xuất, tiến trình sản xuất của các sản phẩm để có thể xác định được một hệ thống lập lịch biểu sản xuất
Thiết kế mô hình:
− Lựa chọn các mô hình toán học, các thuật toán lập lịch để giải quyết vấn đề
hệ thống lập lịch phù hợp với mô hình sản xuất hiện tại của doanh nghiệp Thiết kế hệ thống giao diện thuận tiện cho người sử dụng và đồng thời cũng xây dựng các chức năng hỗ trợ cho hệ thống
Cài đặt thử nghiệm hệ thống:
− Trên nền tảng của thiết kế sẽ tiến hành cài đặt cơ sở dữ liệu, các thuật toán và các chức năng của hệ thống để có thể kiểm tra hoạt động thử nghiệm của hệ thống
Trang 23Hình 2.1 Mô hình tiến trình xây dựng hệ thống lập lịch sản xuất [2]
2.2 Mô hình dữ liệu:
Môi trường sản xuất ngày nay trình bày một số xu hướng mới như nhanh chóng giao hàng, thời gian sản xuất ngắn, sản phẩm chi phí thấp, và kỹ thuật đồng thời Một doanh nghiệp thành công nói chung có thể được liên quan đến quản lý doanh nghiệp của mình, hoặc trong quá trình lập kế hoạch sản xuất, quản lý quy hoạch nguồn nhân lực Quy hoạch thường được gọi là quy hoạch xử lý vật liệu, doanh nghiệp lập kế hoạch nguồn tài nguyên hữu hạn và giao hàng (Stoop và Wiers, 1996) [26]
Stoop và Wiers (1996) tuyên bố rằng lập kế hoạch sản xuất là một phần của quy hoạch và kiểm soát của các đơn vị sản xuất cá thể Theo ông, tại mỗi trạm làm việc trong một đơn vị sản xuất, mỗi khi một công việc được hoàn thành, các công trình xử lý sẽ được tiếp tục bởi các trung tâm làm việc tiếp theo Một công việc
Trang 24hoàn thành là một sản phẩm mà thông qua các yêu cầu kiểm soát chất lượng và đã
được đóng gói để gửi cho khách hàng
Quyết định này được gọi là trình tự sản xuất Sự tồn tại của một quyết định trình tự rõ ràng trên dòng chảy công việc phụ thuộc vào cách thức lập kế hoạch
được thực hiện.Vì vậy việc phân biệt được thực hiện giữa hai cấp độ tập hợp có thể
lập kế hoạch:
i Tài nguyên cấp công việc liên quan đến việc lập kế hoạch cho mỗi tài nguyên (máy trạm) Đây là loại lập kế hoạch được đưa ra không có trình tự bởi quyết định của các xưởng
ii Đơn vị sản xuất cấp công việc chỉ được lên kế hoạch cho tổng số đơn
vị sản xuất Các hoạt động của công việc không được dự kiến Đây là loại lập kế hoạch được quyết định trình tự của các phân xưởng
Mối quan hệ lý thuyết giữa lập kế hoạch, quy hoạch và trình tự có thể được
mô tả như hình 2.2
Hình 2.2 Minh hoạ về kế hoạch, lịch trình và trình tự.(Stoop năm 1996)
Trong thực tế việc thực hiện kế hoạch hoặc dự kiến của các đơn vị sản xuất thường sai lệch từ việc thực hiện Hầu hết những sai lệch là tiêu cực, có nghĩa là hiệu suất thực tế còn tồi tệ hơn so với hiệu suất dự kiến Rõ ràng, kỳ vọng về biểu hiện thông thường quá lạc quan Trên dòng chảy sản xuất nhiễu loạn hàng ngày gây
Trang 25ra những sai lệch về hiệu suất như thể hiện trong bảng 2.1 Những nhiễu loạn có thể
được chia thành ba loại:
Bảng 2.1 Các nhiễu loạn trong nhà máy
Các loại nhiễu loạn Ví dụ
Công suất Máy gặp sự cố, bệnh tật của người vận hành máy, không có
công cụ sửa chữa máy
Đặt hàng Không có các vật liệu cơ bản, thực hiện các quy tắc sai trình
tự, làm lại đơn đặt hàng ở thời gian cao điểm
Đo lường dữ liệu Sự khác biệt giữa hiệu suất xử lý trước khi tính toán và khả
năng thời gian thực tế
2.3 Mô hình sản xuất:
Trong thực tiễn có rất nhiều kiểu, dạng sản xuất khác nhau Sự khác biệt về kiểu, dạng sản xuất có thể do sự khác biệt về trình độ trang bị kỹ thuật, trình độ tổ chức sản xuất, về tính chất sản phẩm
Mỗi kiểu, dạng sản xuất đòi hỏi phải áp dụng một phương pháp quản trị thích hợp Do đó phân loại sản xuất là một yếu tố quan trọng, là cơ sở để doanh nghiệp lựa chọn phương pháp quản trị sản xuất phù hợp Cũng vì lý do trên, việc phân loại này phải được tiến hành trước khi thực hiện một dự án quản trị sản xuất Sản xuất của một doanh nghiệp được đặc trưng trước hết bởi sản phẩm của nó Tuy nhiên có thể thực hiện phân loại sản xuất theo các đặc trưng sau đây:
− Số lượng sản phẩm sản xuất
Ví dụ: sản xuất đơn lẻ, sản xuất hàng khối hay sản xuất sản xuất hàng loạt
− Tổ chức các dòng sản xuất
Ví dụ như sản xuất một cách gián đoạn, hay liên tục dựa trên đơn đặt hàng
− Mối quan hệ với khách hàng
Ví dụ như sản xuất dựa vào yêu cầu đơn đặt hàng hay sản xuất theo dạng gia công của khách hàng
Trang 26− Kết cấu sản phẩm
Ví dụ sản xuất được kết hợp từ nhiều nguyên liệu khác nhau để tạo ra một sản phẩm hoàn chỉnh như sản phẩm máy tính xách tay
− Khả năng tự chủ trong việc sản xuất sản phẩm
Ví dụ để hoàn tất ngày giao hàng đúng như đơn hàng thì phải chuẩn bị đầy
đủ nguyên vật liệu để tạo các sản phẩm theo như yêu cầu
2.3.1 Phân loại theo hình thức tổ chức sản xuất:
Theo cách phân loại này có ba dạng sản xuất chủ yếu sau đây [1]:
− Sản xuất liên tục
− Sản xuất gián đoạn
− Sản xuất theo dự án
a Sản xuất liên tục (Flow shop):
Sản xuất liên tục là một quá trình sản xuất mà ở đó sản xuất và xử lý một khối lượng lớn một loại sản phẩm hoặc một nhóm sản phẩm nào đó Thiết bị được lắp đặt theo dây chuyền sản xuất làm cho dòng di chuyển của sản phẩm có tính chất thẳng dòng Vì các xưởng được sắp xếp thẳng dòng nên tiếng Anh gọi là Flow shop Một ví dụ về flowshop bốn máy sản xuất cho ba công được xử lý được minh họa hình 2.3
Hình 2.3 Sơ đồ sản xuất của Flow shop
b Sản xuất gián đoạn (Job shop):
Sản xuất gián đoạn là một hình thức tổ chức sản xuất ở đó xử lý, gia công, chế biến một số lượng tương đối nhỏ sản phẩm mỗi loại, song số loại sản phẩm thì
Trang 27nhiều, đa dạng Quá trình sản xuất được thực hiện nhờ các thiết bị vạn năng (máy tiện, máy phay) Việc lắp đặt thiết bị được thực hiện theo các bộ phận chuyên môn hoá chức năng Bộ phận chuyên môn hoá chức năng là bộ phận ở đó tập hợp tất cả các máy móc, thiết bị có cùng chức năng, cùng nhiệm vụ (máy tiện, máy phay, ) dòng di chuyển của sản phẩm phụ thuộc vào thứ tự các nguyên công cần thực hiện
Ví dụ cài đặt năm máy xử lý các công việc được đưa ra trong hình 2.4
Hình 2.4 Sơ đồ của một công việc sản sản xuất dây chuyền
c Sản xuất theo dự án: (Open shop)
Sản xuất theo dự án là một loại hình sản xuất mà ở đó sản phẩm là độc nhất (Ví dụ: đóng một bộ phim, đóng một con tàu, viết một cuốn sách, ) và vì lẽ đó quá trình sản xuất cũng là duy nhất, không lặp lại
Nguyên tắc của tổ chức sản xuất theo dự án là tổ chức thực hiện các công việc và phối hợp chúng sao cho giảm thời gian gián đoạn, đảm bảo kết thúc dự án
và giao nộp sản phẩm đúng thời hạn
Trong dạng sản xuất này quá trình sản xuất không ổn định, cơ cấu tổ chức bị xáo trộn rất lớn do chuyển từ dự án này sang dự án khác, tổ chức sản xuất phải đảm bảo tính chất linh hoạt cao để có thể thực hiện đồng thời nhiều dự án sản xuất cùng một lúc Sản xuất theo dự án có thể coi như một dạng đặc biệt của sản xuất gián
đoạn Hình 2.5 đại diện cho chuỗi các công việc đã được xử lý trên năm máy
Trang 28Hình 2.5 Sơ đồ một dây chuyền sản xuất của Open shop
2.3.2 Phương pháp quản lý sản xuất:
Các doanh nghiệp luôn phải tìm kiếm một phương pháp sản xuất để phục vụ cho việc quản lý Trên lý thuyết về quản lý sản xuất, các nhà nghiên cứu đã nêu ra các phương pháp quản lý như MRP, KABAN, JIT, OPT [2] Trong đó MRP là một phương pháp quản lý truyền thống đã được ứng dụng cho nghiều doanh nghiệp
− Phương pháp MRP cho phép quản lý sản xuất từ dài hạn đến ngắn hạn Đầu tiên từ yêu cầu của khách hàng hay nhu cầu thị trường tính toán kế hoạch sản xuất dài hạn, sau đó đưa ra lịch biểu chi tiết đồng thời tính toán nhu cầu nguyên vật liệu Tiến hành kiểm tra và điều chỉnh tiến độ thực hiện
− Phương pháp KABAN là phương pháp mới được phát triển ở Nhật Trong một xưởng sản xuất, chổ làm việc được đặt kế tiếp nhau, chổ phía trên (theo hướng qui trình công nghệ) chỉ sản xuất một khi được chổ làm việc dưới yêu cầu
− Phương pháp OPT được phát triển ở Mỹ dựa trên quản lý doanh nghiệp xuất phát từ chổ “ thắt cổ chai” Một chổ thắt trong doanh nghiệp có thể là một máy, một công đoạn hay dây chuyền sản xuất… mà năng lực nhỏ hơn yêu cầu
Trang 29− Phương pháp JIT có mục tiêu là sản xuất ra các sản phẩm đạt chất lượng,
đúng lúc với số lượng mông muốn
2.4 Cấu trúc hệ thống:
Một hệ thống lập lịch có thể được thiết kế và phát triển dựa trên phương pháp kết hợp các phần giao diện, động cơ lập lịch ( scheduling engine) và cơ sở dữ liệu[5]
Sự thành công của bất kỳ một phần mềm hệ thống nào cũng phụ thuộc vào
độ thân thiện và dễ dùng Trong hệ thống lập lịch giao diện có vai trò như cầu nối
giữa người dùng và hệ thống Việc thể hiện kết quả của việc lập lịch sản xuất bằng viều đồ Gantt là cần thiết vì biểu đồ Gantt là một công cụ thể hiện đơn giản và dễ nhìn
Một động cơ lập lịch bên trong là phần cốt lõi của hệ thống lập lịch Các thông tin đầu vào đi qua động cơ lập lịch được xử lý dưới các thuật toán lập lịch Vì vấn đề lập lịch là một vấn đề khó nên có rất nhiều các nghiên cứu về thuật lập lịch Việc lựa chọn một thuật toán thích hợp là vấn đề quan trọng dựa vào mô hình sản xuất và các yêu cầu của doanh nghiệp
Hình 2.3 Cấu trúc hệ thống lập lịch
2.5 Mô hình toán học và các giải thuật:
Qua các mô hình sản xuất ở trên thì doanh nghiệp sẽ phải xác định các tính chất của công việc β, cách thức xử lý công việc trên máy hay môi trường máy α, cũng đồng thời qua quá trình phân tích yêu cầu chiến lược đặc ra mục tiêu của bài
Trang 30toán lập lịch γ Trên những cơ sở đó có thể xây dựng mô hình bài toán lập lịch cho
hệ thống và lựa chọn thuật toán phù hợp
Các vấn đề lập kế hoạch công việc được coi là một trong những khó khăn nhất NP–hard về vấn đề tổ hợp Nói chung các trường hợp khó khăn nhất trong số những vấn đề lập kế hoạch là lập kế hoạch trên các máy Bởi vì tính tổng quát của
nó nên nó thu hút rất nhiều sự chú ý trong nghiên cứu Nó có thể được sử dụng như
là một mô hình đơn giản hóa cho nhiều môi trường lập kế hoạch thực tế Vấn đề này bao gồm xác định lịch trình hiệu quả nhất cho công việc được xử lý trên một số máy Mỗi công việc có một tập hợp các hoạt động trên các máy này được thực hiện theo một thứ tự quy định Đối với các máy m và các công việc j của không gian giải pháp sẽ được tính bằng công thức (n!) Giá trị này có thể tăng lên rấ nhanh và dẫn
đến sự bùng nổ tổ hợp
Để giải quyết bài toán lập lịch có rất nhiều phương pháp khác nhau, từ việc
áp dụng các thuật toán quy hoạch thuần túy cho đến các luật heuristic Tất cả các phương pháp đều có điểm mạnh và điểm yếu riêng biệt
2.5.1 Các phương pháp Metaheuristics:
Metaheuristics thường bắt đầu từ một giải pháp được tìm thấy bằng cách khám phá Trong số tất cả các công trình có thể thấy trong các tài liệu một số chi tiết thú vị sẽ được trình bày trong phần này Các thuật toán này chủ yếu là đối phó với tìm kiếm địa phương (local search - LS), mô phỏng luyện kim (simulated Annealing - SA), tìm kiếm cấm kỵ (tabu search - TS) và thuật toán di truyền (genetic algorithm - GA) hoặc các phương pháp lai kết hợp hai trong số các lớp metaheuristic khác nhau Lặp lại tìm kiếm địa phương (Iterated local search - ILS) [27] cũng sẽ được mô tả như là metaheuristic tốt nhất để giải quyết tối ưu lập lịch với các makespan cho mục tiêu theo các thí nghiệm được thực hiện bởi Ruiz và Maroto [25] trên Taillard chuẩn [9]
2.5.1.1 Phương pháp lai metaheuristics (Hybrid metaheuristics):
Trang 31Sau khi đã nghiên cứu các thuật toán khác nhau một cách riêng biệt, các nhà nghiên cứu đã nhận ra rằng nó không đầy đủ Sự kết hợp giữa các khái niệm của metaheuristics khác nhau có thể dẫn đến kết quả tốt hơn
Sự tương tác của các phương pháp khác nhau có thể diễn ra ở cấp độ thấp, kết hợp các chức năng từ metaheuristics khác nhau hoặc mức độ cao, bằng cách sử dụng một danh mục của metaheuristics để lai tạo tự động Sự phức tạp và kích thước của vấn đề có ảnh hưởng rất lớn về việc làm thế nào các chức năng khác nhau
có liên quan với nhau Đề án truyền thống là kết hợp một phương pháp thăm dò như thuật toán tiến hóa với một phương pháp tăng cường như tìm kiếm địa phương
2.5.1.2 Phương pháp tìm kiếm địa phương (Local search):
Tìm kiếm địa phương có thể được áp dụng cho những vấn đề mà mục tiêu là
để tìm một giải pháp làm giảm thiểu (hoặc tối đa) một tiêu chí trong một số các giải
pháp ứng cử viên Sau khi đã xác định một mối quan hệ khu vực trên không gian tìm kiếm, tìm kiếm địa phương bắt đầu từ một điểm và lặp đi lặp lại di chuyển đến một giải pháp hàng xóm Thông thường, tên của tìm kiếm địa phương cho biết làm thế nào các giải pháp hàng xóm được lựa chọn Nếu lấy một trong những địa phương giảm thiểu (hoặc tối đa hóa) tiêu chuẩn thì sự lựa chọn các giải pháp hàng xóm được thực hiện
Các thuật toán tìm kiếm địa phương thường là các thuật toán không đầy đủ,
có nghĩa rằng nó có thể dừng lại ngay cả khi giải pháp được tìm thấy không phải là tối ưu
Trong các tài liệu, ba thuật toán tìm kiếm địa phương thường được coi là tối
ưu lập lịch và các vấn đề khác của lập lịch:
− Hoán chuyển vị trívùng lân cận: hoán chuyển haiviệc làmliên tiếp ở vị
trí vàvị trí + 1
− Thay đổivùng lân cận: trao đổicông việcở vị trí và j
− Chèn vào vùng lân cận:loại bỏ các côngviệc ở vị trí để chèn nó tạivị trí j
Trang 32Hoán đổi di chuyển là rất nhanh nhưng giải pháp của nó có chất lượng thấp Trao đổi di chuyển và di chuyển chèn cho các giải pháp có chất lượng tương đương, nhưng bằng cách sử dụng kỹ thuật tăng tốc độ được phát triển bởi Taillard cho các thuật toán NEH [8] chèn di chuyển hoạt động nhanh hơn di chuyển thay đổi Đây là
lý do tại sao di chuyển chèn được coi là sự lựa chọn tốt nhất cho tối ưu lập lịch khi xem xét các mục tiêu makespan Hoán chuyển vùng lân cận được minh họa trong hình 2.4
Hình 2.4 Hoán chuyển vùng lân cận
Hoán chuyển vị trí vùng lân cận, kích thước của khu phố là n -1 Trong phương pháp này, thu được một hoán vị từ hoán vị bằng cách trao đổi các vị trí của hai công việc liền kề Các thuật toán dựa trên tìm kiếm địa phương này cung cấp giải pháp một cách nhanh chóng nhưng không cho phép đạt được các giải pháp có chất lượng tốt được thể hiện hình 2.5
việc tại vị trí j Tìm kiếm địa phương cho các giải pháp có chất lượng tốt, nhưng như kích thước vùng lân cận lớn, do đó thăm dò của khu phố mất nhiều thời gian
Hình 2.5 Thay đổi vùng lân cận
Trang 33của giải pháp được tìm thấy là so sánh với giải pháp thay đổi vùng lân cận nhưng
2.6
Hình 2.6 Chèn vào vùng lân cận
2.5.1.3 Lặp lại tìm kiếm địa phương (Iterated local search):
Metaheuristic khác được đưa ra bởi Stützle gọi là lặp lại tìm kiếm địa phương (ILS) đã được áp dụng cho các tối ưu lập lịch [27] Một bản tóm tắt bằng hình ảnh được trình bày trong Hình 2.7 Trong ILS có năm bước khác nhau:
− Tạo ra một giải pháp ban đầu ngẫu nhiên hoặc xây dựng một heuristic
− Áp dụng tìm kiếm địa phương
− Làm nhiễu loạn: di chuyển ngẫu nhiên trong khu phố để cao hơn
− Áp dụng tìm kiếm địa phương
− Thử nghiệm với một sự chấp nhận tiêu chí: lực lượng để hạ thấp giá của hàm mục tiêu
Hình 2.7 Tóm tắt của ILS
Trang 34Giải thuật vòng lặp:
Với N là cấu trúc vùng lân cận N: S→2s trong S
2.5.2 Các luật phân phối Heuristics:
Tất cả các công việc trong vấn đề lập lịch sẽ tạo thành các hoán vị, do đó rất nhiều phương pháp đã được đề xuất với ý tưởng trao đổi vị trí của công việc hay chèn các công việc tại các vị trí khác nhau Các heuristic NEH được coi là các heuristic tốt nhất và đã được giới thiệu bởi Nawaz et al vào năm 1983 [21] Nó được dựa trên ý tưởng rằng công việc với thời gian xử lý cao trên tất cả các máy cần phải được sắp xếp theo thứ tự càng sớm càng tốt Thủ tục đơn giản như sau:
− Tính toán tổng thời gian xử lý của từng công việc i:
− Sắp xếp các công việc theo thứ tự không tăng của và lấy hai công việc đầu tiên để so sánh hai lịch trình bằng cách bắt đầu bằng công việc
đầu tiên và sau đó thứ hai Sau đó chọn giải pháp tốt nhất
− For i = 3,…,n đặt công việc i ở mỗi vị trí có thể có trong chuỗi thu được
và lựa chọn lộ trình tốt nhất từng phần
Đối với các tổng cộng chậm trễ, đơn giản là chẩn đoán được dựa trên các quy
tắc điều phối Những quy tắc này được xác định đó là công việc sẽ được thêm vào trình tự thu được Sau đây sẽ trình bày quy tắc chính được sử dụng cho tổng các vấn
Trang 35Với s là chuỗi các công việc được lên kế hoạch, t thời điểm mà tại đó công
dự vào cuối của chuỗi Điều phối khác nhau của các quy tắc là:
được chọn
được chọn
− Chậm trễ (Slack): tại thời điểm t, công việc có giá trị tối thiểu
được chọn
− Chậm trễ cho mỗi công việc còn lại (SRMWK): tại thời điểm t, chọn
2.5.3 Thuật toán di truyền (Genetic algorithms):
Trong phân lớp của thuật toán là tối ưu hóa xác suất được lấy cảm hứng từ sự tiến hóa sinh học Nó sử dụng khái niệm "chọn lọc tự nhiên và thừa kế di truyền" [7] và đã được phát triển bởi Jon Holland vào năm 1975 [13] Trong phương pháp này, dân số của ứng cử viên phát triển tốt hơn cho một vấn đề nhất định
Trang 36Sự tiến hóa bắt đầu từ dân cư trong mỗi thế hệ và sự thích hợp của tất cả các
cá thể được đánh giá Trong sự thích hợp của họ, một số cá thể được lựa chọn một cách ngẫu nhiên từ dân số Những cá thể đó được kết hợp lại, đôi khi có những đột biến để tạo thành một quần thể mới Thế hệ mới này sẽ được sử dụng như là một cơ
sở cho vòng lặp tiếp theo Thuật toán kết thúc khi chấm dứt tình trạng đã đạt được Hình 2.8 cho thấy các chu kỳ sinh sản của GA
Hình 2.8: Chu kỳ sinh sản trong một giải thuật di truyền
Giai đoạn sinh sản là giai đoạn thứ 3 Trong số các cá thể lựa chọn, cha mẹ được lựa chọn và kết chéo để đột biến để tạo ra một đứa con Đứa trẻ này thường chia sẻ nhiều đặc điểm với cha mẹ Hoạt động này được lặp đi lặp lại cho dân số thích hợp mới được tạo ra Đây dân số mới, khác nhau với dân số đầu tiên và thường tăng ở mức trung bình GA sử dụng hai khai thác khác để thay đổi gen của trẻ :
mẹ để sản xuất một nhiễm sắc thể mới có tốt nhất từ các đặc tính của mỗi cha mẹ
trong nhiễm sắc thể từ trạng thái ban đầu của nó
Trang 37Thủ tục này có thể xây dựng quần thể tốt hơn bằng cách lặp đi lặp lại, quá trình này được lặp đi lặp lại cho đến khi một điều kiện chấm dứt đã đạt được Điều kiện chấm dứt thông thường là:
lặp đi lặp lại liên tiếp mà không còn kết quả sản xuất tốt hơn
có những cách mã hóa khác nhau Các quá trình chọn lọc và cá thể được áp dụng trên những lời giải đã được mã hóa
Giải thuật di truyền:
1 Phát sinh một quần thể khởi tạo gồm N nghiệm xi , i=1,2,…,N; Nghĩa là P0={
z1,z2,…,zN}, với xi được mã hóa thành zi, i=1,2,…,N
2 Iter=0; niter=0; P=P0; stop=false; z* là nghiệm tốt nhất trong P0, nghĩa là
3 Trong khi not stop bắt đầu
4 inter := iter+1; niter := niter +1;
5 Áp dụng thao tác chọn lựa; {chọn ra các cặp cha mẹ}
6 Áp dụng thao tác sinh sản; { để sinh ra các nghiệm con}
7 Thao tác đột biến; { làm tăng độ đa dạng của quần thể}
8 Thao tác chọn lọc; { một quần thể mới P’}
9 P := P’;
10 Nếu f(z’) < f(z*) thì bắt đầu
Trang 382.5.4 Thuật toán tìm kiếm Tabu (Tabu search):
Trong tìm kiếm địa phương hoặc khu vực, thuật toán bắt đầu từ một giải pháp ban đầu và di chuyển từ láng giềng này đến láng giềng khác càng lâu càng tốt trong khi giảm được giá trị của hàm mục tiêu TS sửa đổi các khu phố của giải pháp được tìm thấy, tạo điều kiện cho việc thăm dò các khu vực của không gian tìm kiếm chưa được khám phá bằng cách tìm kiếm địa phương [11]
Các loại khác nhau của các yếu tố có thể được lưu trong bộ nhớ Có nhiều loại khác nhau của các danh sách Tabu, một danh sách Tabu có thể chứa các giải pháp truy cập gần đây, giải pháp được loại trừ vì chúng có chứa một thuộc tính cụ thể, hoặc bị cấm di chuyển Trong trường hợp một số giải pháp được loại trừ vì các thuộc tính của chúng Trong quá trình thăm dò không gian tìm kiếm, có một nguy
cơ thiếu các giải pháp có chất lượng tốt có thể truy cập chỉ bằng cách truyền các giải pháp loại trừ Để khắc phục vấn đề này, tiêu chuẩn nguyện vọng được giới thiệu cho phép ghi đè trạng thái Tabu của một giải pháp và đưa nó vào trong các thiết lập cho phép
Các đặc tính khác của TS là các tiến trình mới không được chọn ngẫu nhiên, Tabu tìm kiếm tiến hành theo giả thiết rằng không có việc chấp nhận một giải pháp mới trừ khi nó đang tránh một con đường đã được điều tra Điều này đảm bảo các khu vực mới của không gian giải pháp các vấn đề sẽ được điều tra với mục tiêu tránh cực tiểu địa phương và cuối cùng tìm ra giải pháp mong muốn
Giải thuật Tabu Search:
Trang 392.5.5 Thuật toán mô phỏng luyện kim (Simulated Annealing):
Mô phỏng luyện kim (SA) là một thuật toán xác suất tối ưu hóa vấn đề, phát minh bởi Kirkpatrick et al vào năm 1983 [16] và Cerny vào năm 1985 [7].SA là sự khái quát của một phương pháp Monte Carlo cho khảo sát các phương trình của trạng thái và các trạng thái đông lạnh của hệ thống vật thể Tên và cảm hứng đến từ quá trình nung được sử dụng trong luyện kim Luyện kim là một xử lý nhiệt làm thay đổi cấu trúc vi mô của vật liệu Sau khi được đun nóng, vật liệu được làm lạnh
từ từ thành một cấu trúc thống nhất với những thay đổi trong thuộc tính cường độ
và độ cứng
Với nhiệt, các nguyên tử di chuyển từ vị trí ban đầu của chúng (tối thiểu địa phương của năng lượng bên trong ) và di chuyển ngẫu thông qua các trạng thái năng lượng cao hơn.Việc làm mát chậm chạp làm tăng nguy cơ của việc tìm kiếm một cấu hình với năng lượng nội bộ thấp hơn so với ban đầu Trong giải thuật SA, các giải pháp ban đầu được thay thế bằng một giải pháp lân cận được lựa chọn theo một quy luật xác suất Các phương trình năng lượng cho hệ thống nhiệt động lực học
1 Chọn một lời giải ban đầu s ∈ S;
2 Best:= c(s);
3 s*:=s;
4 Tabu_list:=∅;
5 Lặp
6 Cand(s):={ s’ ∈ N(s) | phép di chuyển từ s đến s’ không nằm trong danh
sách tabu hoặc s’ thỏa tiêu chí tham vọng};
7 Tạo lời giải ∈ Cand (s);
Trang 40tương tự với chức năng khách quan của vấn đề tổ hợp, và mặt bằng trạng thái là tương tự với mức tối thiểu
Giải thuật Simulated Annealing:
Trong thuật toán, ký hiệu random[0,1] tượng trưng cho một hàm số tạo một giá trị ngẫu nhiên giữa 0 và 1 Ngoài ra, dãy {ci} được tạo ra bời hàm số g, nghĩa là
gian tính toán cho trước
2.5.6 Thuật toán tối ưu hóa thuộc địa đàn kiến (Ant Colony Optimization) : 2.5.6.1 Nguồn gốc thuật toán:
Các giải thuật ACO đã được lấy cảm hứng từ hành vi những con kiến trong thực tế chúng đang tìm kiếm thực phẩm Trong thực tế, kiến ban đầu khám phá khu vực xung quanh tổ một cách ngẫu nhiên cho đến khi một con kiến tìm thấy nguồn thực phẩm Nó đánh giá số lượng và chất lượng của thực phẩm và mang một ít trở lại tổ Trên chuyến đi trở lại của nó, kiến gửi một lượng pheromone để làm dấu trên mặt đất Số lượng của pheromone trên tuyến đường sẽ làm tăng xác suất của một con kiến để lựa tuyến đường này Nếu nó vẫn tìm thấy thực phẩm, nó sẽ quay trở lại