Tả thuật toán TSIACO giải bài toán lập lịch sản xuất

Một phần của tài liệu Hệ kiến hai giai đoạn cho bài toán lập lịch sản xuất (Trang 45)

Bắt đầu thuật toán các vết mùi được khởi tạo một giá trị là , với

là một hằng số được gọi là thành phần khởi tạo. Giá trị khởi tạo liên quan tới cách lựa chọn để cập nhật mùi. Ví dụ, nếu mùi cần được khởi tạo với giới hạn trên của vết mùi, thì m2 bằng 1, nếu mùi cần khởi tạo bằng một nửa của giới hạn trên thì m2 bằng 0.5

Áp ụng m hình chu n của các thuật toán đàn kiến kết hợp với các đặc trưng của bài toán. Thuật toán thực hiện trong Nc vòng lặp, sử ụng một tập gồm m con kiến và tại mỗi vòng lặp, mỗi con kiến xây ựng một lời giải theo quy tắc ở mục 3.1. Sau khi một con kiến xây ựng xong lời giải, mỗi lời giải của kiến là một dãy có thứ tự của tất cả các thao tác, dãy thứ tự các thao tác này sẽ được ánh xạ sang một lịch sản xuất. Và sau khi cả đàn kiến đều tạo ra được lịch sản xuất của mình, mỗi lịch sẽ được tính thời gian hoàn thành để đánh giá “độ tốt” của lời giải các con kiến. Cuối cùng là thủ tục cập nhật mùi toàn cục cho ma trận cường độ mùi, như mục 4.4

46

Procedure h ật t án TSIACO ch i t án lập lịch sản xuất

Begin

Đặt các tha ố ệt i hởi tạ

while (chưa đủ Nc lần lặp) do

begin

Khởi tạo Mảng S rỗng

Khởi tạo mảng A chứa các giai đ ạn đầu các công việc

for to do

Kiến xây dựng lời giải;

end-for

Cập nhật vết mùi

Cập nhật lời giải tốt nhất

end;

Đưa ra lời giải tốt nhất

End;

Hình 4.2: Lược đồ thuật toán TSIACO giải bài toán lập lịch sản xuất 4.6 Độ phức tạp các thuật toán

Thuật toán được thực hiện trong Nc vòng lặp, mỗi lần lặp có k kiến xây dựng hành trình. Với đồ thị cấu trúc mô tả ở mục 4.1 thì mỗi kiến sẽ phải đi ua

n*m đỉnh (n là số công việc, m là số máy), o đó độ phức tạp của thuật toán là:

47

CHƯƠNG 5. KẾT QUẢ THỰC NGHIỆ , SO SÁNH VÀ ĐÁNH GIÁ

5.1 Bộ liệu chu n

Để chạy thực nghiệm tôi sử dụng 10 bộ d liệu: Orb1, Orb2, .., Orb10 lấy từ website http://people.brunel.ac.uk/~mastjjb/jeb/orlib/jobshopinfo.html. Đây cũng chính là bộ d liệu được Đỗ Đức Đ ng [1] đã sử dụng trong luận văn trước đây để chạy chương trình. Bộ d liệu này mô tả cho bài toán có kích thước là: 10 công việc thực hiện trên 10 máy, đây là nh ng bộ d liệu được cho là phức tạp.

Bộ d liệu là các file dạng text lần lượt là Orb1.txt, Orb2.txt, .., Orb10.txt có định dạng như sau:

- Dòng đầu tiên là hai số n, m là số công việc và số máy

- n dòng tiếp theo, mỗi dòng tương ứng mô tả cho một công việc, công việc thực hiện trên m máy mỗi c ng đoạn có hai thành phần (máy, thời gian xử lý). Các máy được đánh số từ 0.

5.2 Tiến hành chạy thực nghiệm

Kết quả thực nghiệm sẽ phụ thuộc vào các tham số cài đặt, để tiến hành so sánh với SMMAS đã làm trước đây nhằm đánh giá sự hiệu quả của mỗi thuật toán t i đã cài đặt cùng bộ các tham số Đỗ Đức Đ ng đã làm (xem [1]). Vì ACO là lớp thuật toán meta-heuristic nên mỗi lần chạy sẽ cho các kết quả cụ thể là khác nhau, nên tôi tiến hành chạy chương trình 10 lần trên mỗi bộ d liệu, thống kê kết quả thu được, so sánh thông qua 2 tiêu trí là kết quả tốt nhất và kết quả trung bình của 10 lần chạy đó.

Tác giả D.P.Williamson đã chứng minh được rằng việc tìm nghiệm xấp xỉ cho thời gian hoàn thành tất cả các công việc kh ng vượt quá 5/4 thời gian hoàn thành tối ưu cũng đã là bài toán thuộc lớp NP-khó (xem [18]). Do đó, ngoài việc so sánh hiệu quả gi a các thuật toán, luận văn còn so sánh kết quả thu đươc của

48

các thuật toán với 5/4 thời gian tối ưu (Optimization - Opt) để thấy được hiệu quả của các thuật toán ACO

Chương trình được viết bằng ngôn ng c++, sử dụng Dev-C để soạn thảo và biên dịch trên m i trường windows. Sau khi biên dịch chương trình thu được file TSIACO.exe, đặt file exe cùng thư mục với 10 file trong bộ d liệu ùng để chạy thực nghiệm

Hình 5.1: Thư mục file chương trình và liệu thực nghiệm

Từ cửa sổ cmd của windows di chuyển tới thư mục chứa file exe

Hình 5.2: Di chuyển tới thư mục chứa file chạy chương trình

Sau đó ta gọi file TSIACO.exe cùng tham số -i orbx.txt để chạy chương trình với file d liệu orbx.txt

49

Hình 5.3: Chạy chương trình với tham số file d liệu

Chương trình sẽ chạy khoảng 2 phút và ta thu được kết quả như sau

Hình 5.4: Kết quả chạy chương trình

Với hình trên ta thấy rằng, sau khi chạy chương trình với bộ d liệu orb01.txt, kết quả thời gian tốt nhất hoàn thành các công việc là 1367, trình tự thực hiện các công việc như trong phần đánh ấu trên hình. Trình tự công việc là dãy các chi tiết gồm 2 tham số (a,b) giai đoạn thứ b của công việc thứ a.

5.3 Kết uả thực nghiệm và đánh giá

Sau khi chạy chương trình với 10 bộ d liệu, mỗi bộ 10 lần như phần 5.2 tôi thống kê lại kết quả thu được phục vụ việc so sánh đánh giá

50

5.3.1 Kết quả thực nghiệm

Tiến hành thực nghiệm với các tham số ở bảng 5.1

Tham số Giá trị

Tham số bay hơi (ρ1) 0.01 Tham số bay hơi (ρ2) 0.03 Số lần lặp (Nc) 50000 Số con kiến ban (nant) 10

min 0.2

max 0.8

α 1.0

β 0.4

Bảng 5.1: Các tham số sử dụng cho các thuật toán ACO

Và thu được kết quả như bảng bên ưới

Problem Opt 5/4

Opt Best Avg %Best %Avg

Orb1 1059 1323.8 1319 1351 -0.36 2.05 Orb2 888 1110 1043 1102.7 -6.04 -0.66 Orb3 1005 1256.3 1302 1351.9 3.64 7.61 Orb4 1005 1256.3 1240 1278 -1.3 1.73 Orb5 887 1108.8 1014 1099.2 -8.55 -0.87 Orb6 1010 1262.5 1238 1310.6 -1.94 3.81 Orb7 397 496.25 485 508 -2.27 2.37 Orb8 899 1123.8 1121 1165.3 -0.25 3.69 Orb9 934 1167.5 1159 1181.4 -0.73 1.19 Orb10 944 1180 1174 1202.2 -0.51 1.88

51

Bảng trên thống kê kết quả sau 10 lần chạy thực nghiệm đối vởi cả 10 bộ d . Trong đó mỗi hàng thể hiện cho một bộ d liệu. Cột Opt - giá trị tối ưu của bài toán, 5/4 Opt - giá trị ùng để so sánh, Best – kết quả tốt nhất, Avg – kết quả trung bình, %Best – phần trăm khác biệt của kết uả tốt nhất với 5/4 Opt, %Avg – phần trăm khác biệt của kết uả trung bình so với 5/4 Opt.

Bảng kết quả trên ta thấy có tới 9 kết quả tốt nhất thu được là nhỏ hơn 5/4 kết quả tối ưu. Đặc biệt với 2 bộ d liệu số 2 và số 5 có kết quả trung bình tốt hơn cả 5/4 kết quả tối ưu của bài toán.

5.3.2 So sánh với thuật toán ACO khác

Trước đây trong luận văn thạc sĩ của Đỗ Đức Đ ng (xem [1]) có phần kết quả thực nghiệm với 3 thuật toán là SMMAS, MMAS và MLAS, trong đó thuật toán SMMAS cho kết quả tốt hơn cả, ở luận văn này tôi xin được sử dụng lại kết quả của thuật toán S AS làm cơ sở so sánh với thuật toán TSIACO

Problem Opt 5/4 Opt

SMMAS TSIACO

Best % Best Best % Best

Orb1 1059 1324 1329 0.4% 1319 -0.363 Orb2 888 1110 1090 -1.8% 1043 -6.036 Orb3 1005 1256 1301 3.6% 1302 3.6377 Orb4 1005 1256 1248 -0.7% 1240 -1.297 Orb5 887 1109 1086 -2.1% 1014 -8.55 Orb6 1010 1263 1304 3.3% 1238 -1.941 Orb7 397 496.3 509 2.6% 485 -2.267 Orb8 899 1124 1128 0.4% 1121 -0.249 Orb9 934 1168 1148 -1.7% 1159 -0.728 Orb10 944 1180 1177 -0.3% 1174 -0.508

52

Kết quả được t đậm là kết quả tốt hơn trong hai thuật toán SMMAS và TSIACO, kết quả nền xám là kết quả tốt hơn 5/4 kết quả tối ưu. Từ kết quả trên cho ta thấy TSIACO có tới 9 kết quả là tốt hơn so với SMMAS, một kết quả còn lại thì xấp xỉ với SMMAS. Chứng tỏ hiệu quả tuyệt đối của TSIACO so với SMMAS.

53

KẾT LUẬN

Phương pháp tối ưu đàn kiến là phương pháp tương đối mới mẻ và tỏ ra đặc biệt hiệu quả, điều này đã được chứng minh thông qua thực nghiệm. Phương pháp tối ưu đàn kiến lu n được quan tâm, phát triển kể từ khi giới thiệu cho đến nay thể hiện qua sự phong phú, đa ạng của các thuật toán. Các thuật toán trực tiếp đưa ra hướng tiếp cận mới giải các bài toán tối ưu tổ hợp, ua đó có nhiều ứng dụng trong thực tiễn trên các lĩnh vực như: sản xuất, truyền thông, sinh học, hoạt động xã hội …..

Bài toán lập lịch sản xuất là một trong nh ng bài toán khó, được đề xuất từ lâu, được đầu tự nghiên cứu, phát triển một cách nghiêm túc và có nhiều ứng ụng, đặc biệt là trong các uá trình tự động hóa sản xuất trong các nghành c ng nghiệp. Việc sử dụng phương pháp tối ưu đàn kiến để giải bài toán lập lịch sản xuất đã được Dorigo đề xuất từ trước với thuật toán AS, trước đây Đỗ Đức Đ ng [1] trong luận văn của mình đã từng sử dụng thuật toán S AS để giải bài toán này và thu được kết quả tốt. Với thuật toán Hệ kiến hai giai đoạn TSIACO là thuật toán rất mới có nh ng cải tiến trong việc cập nhật vết mùi bằng cách chia ra làm hai giai đoạn cập nhật. Giai đoạn đầu thuật toán sử dụng r lời giải tốt nhất để cập nhật, giai đoạn còn lại chỉ sử dụng lời giải tốt nhất toàn cục để cập nhật như trình bày ở chương 3. Qua thực nghiệm tôi làm trên cùng bộ d liệu SMMAS [1] đã sử dụng để so sánh tôi thấy rằng kết quả của mình tốt hơn đáng kể so với S AS thu được trước đây. Qua đây chúng ta thấy rằng phương pháp tối ưu đàn kiến hết sức phong phú, đa ạng là một hướng tiếp cận mới, mạnh mẽ và triển vọng còn có khả năng khai thác nghiên cứu và cải tiến mạnh hơn n a trong tương lại.

54

TÀI LIỆU THAM KHẢO

Tiếng Việt

1. Đỗ Đức Đ ng (2009), Phương pháp tối ưu đàn kiến giải bài toán lập lịch sản xuất, Luận văn thạc sĩ công nghệ th ng tin ĐHCN-ĐHQGHN. 2. Đỗ Đức Đ ng (2012), Phương pháp tối ưu đàn kiến và ứng dụng, Luận

án tiến sĩ c ng nghệ th ng tin ĐHCN-ĐHQGHN.

Tiếng Anh

3. Applegate D, and Cook W (1991), A computational study of the job- shop scheduling problem, ORSA Journal on Computing, vol 3, no. 1. 4. Blazewicz J. & Dror M. & Weglarz J. (1991), Mathematical

Programming Formulations for Machine Scheduling: A Survey,

European Journal of Operational Research, Invited Review Vol. 51 (3), pp. 283-300.

5. C. Blum and M. Dorigo (2004), The Hyper-Cube Framework for Ant Colony Optimization, IEEE Transactions on Systems, Man, and Cybernetics – Part B, Vol 34 (2), pp. 1161-1172.

6. Giffler B. & Thompson G. L. (1960), Algorithms for Solving Production Scheduling Problems, Operations Research Vol. 8 (4), pp. 487-503. 7. Jackson J. R. (1955), Scheduling a Production Line to Minimise

Maximum Tardiness, Research Report 43, Management Science

Research Projects, University of California, Los Angeles, USA.

8. Johnson S. M. (1954), Optimal Two- and Three-Stage Production Schedules with Set-Up Times Included, Naval Research Logistics.

9. J.Carlier, E.Pinson (1989), An algorithms for solving the job-shop problem, Management Science, Vol. 35, No. 2, pp. 164-176.

10. J.Käschel, T.Teich, G.Köbernik, B.Meier, Algorithms for the Job Shop Scheduling Problem – a comparison ofdifferent methods.

11. J.F.Shapiro. Mathematical Programming (1979), Structures and Algorithms. Wiley-Interscience [John Wiley & Sons], New York.

12. M. Dorigo, and T.Stützle (2004), Ant Colony Optimization, The MIT Press, Cambridge, Masachusetts.

13. M. Dorigo, V. Maniezzo and A. Colorni (1991), The Ant System: An autocatalytic optimizing process, Technical Report 91-016 Revised, Dipartimento di Elettronica, Politecnico di Milano, Milano, Italy.

14. M. Dorigo (1992), Optimization, learning and natural algorithms, PhD. dissertation, Milan Polytechnique, Italy.

15. M. Dorigo and L.M. Gambardella (1997), “Ant colony system: A cooperative learning approach to the traveling salesman problem”, IEEE Trans. on evolutionary computation, Vol 1 (1), pp. 53-66.

55

16. P. Pellegrini and A. Ellero (2008), The Small World of Pheromone Trails, Proc. of the 6th international conference on Ant Colony Optimization and Swarm Intelligence, pp. 387-394.

17. R.Bellman (1982), Mathematical aspects of scheduling and application, Pergamon Press, Oxford.

18. Siessens R. and Aarts E. and Lenstra J (1994), Job shop scheduling by local search, COSOR Memorandum 94-05, Eindhoven University of Technology, Eindhoven, The Netherlands.

19. T. Stützle and M. Dorigo (2002), A short convergence proof for a class of ACO algorithms, IEEE-EC, Vol6 (4), pp. 358-365

20. W.J. Gutjahr (2000), An Ant based System and its convergence, future generation Comput. Systems, Vol16, pp. 873-888.

21. W.J. Gutjahr (2002), ACO algorithms with guaranteed convergence to the optimal solution, Info.Proc. Lett., Vol 83 (3), pp. 145-153.

22. W. J. Gutjahr (2007), Mathematical runtime analysis of ACO algorithms: survey on an emerging issue, Swarm Intelligence, Vol 1 (1), pp. 59-79.

23. Zhaojun Zhang, Zuren Feng (2011), Two-state updating pheromone for invariant ant colony optimization algorithm, Expert System with Applications.

Một phần của tài liệu Hệ kiến hai giai đoạn cho bài toán lập lịch sản xuất (Trang 45)

Tải bản đầy đủ (PDF)

(55 trang)