Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)

62 180 0
Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)Thuật toán phỏng luyện kim với bài toán lập lịch thi đấu thể thao (LV thạc sĩ)

1 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH KHOA HỌC MÁY TÍNH ĐỀ TÀI: THUẬT TỐN PHỎNG LUYỆN KIM VỚI BÀI TOÁN LẬP LỊCH THI ĐẤU THỂ THAO Học viên: Ngô Thị Thanh Thúy Giáo viên hướng Dẫn: TS Nguyễn Tân Ân Thái Nguyên 2016 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn MỤC LỤC PHẦN MỞ ĐẦU Lý chọn đề tài Mục đích nghiên cứu Nhiệm vụ nghiên cứu Những đóng góp khóa luận 4.1 Ý nghĩa khoa học 4.2 Ý nghĩa thực tiễn Cấu trúc khóa luận CHƯƠNG GIẢI THUẬT PHỎNG LUYỆN KIM 1.1 Bài tốn NP-Khó 1.1.1 Bài toán NP-Khó 1.1.2 Bài toán lập lịch 1.2 Giải thuật luyện kim 10 1.2.1 Lịch sử vấn đề 10 1.2.2 Thuật toán 10 1.2.3 Biểu diến toán học thành phần giải thuật 12 1.2.4 Sơ đồ chung thuật toán luyện kim 16 1.2.5 Một số trường hợp giải thuật 19 1.2.6 Khung giải thuật luyện kim 22 CHƯƠNG GIẢI THUẬT PHỎNG LUYỆN KIM SONG SONG 27 2.1 Song song hóa giải thuật luyện kim 27 2.2 Di chuyển song song cho giải thuật luyện kim 29 2.2.1 Cơ di chuyển song song 29 2.2.2 Mơ hình thực 30 2.3 Khung thuật toán luyện kim song song 35 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn CHƯƠNG THỬ NGHIỆM GIẢI BÀI TOÁN LẬP LỊCH THI ĐẤU BẰNG GIẢI THUẬT PHỎNG LUYỆN KIM 37 3.1 Bài toán lập lịch thi đấu 37 3.1.1 Vấn đề lập lịch thi đấu thể thao 37 3.1.2 Giới thiệu toán 38 3.2 Giải toán lập lịch thi đấu với giải thuật luyện kim 39 3.2.1 Định nghĩa toán 39 3.2.2 Thuật toán luyện kim cho toán lập lịch thi đấu 41 3.3 Cài đặt thuật toán 50 3.3.1 Hàm đọc vào liệu toán 50 3.3.2 Khởi tạo lời giải 51 3.3.3 Sinh lời giải láng giềng 53 3.3.4 Tính số ràng buộc 54 3.3.5 Hàm sức khỏe 56 3.4 Kết thực nghiệm 58 PHẦN KẾT LUẬN 60 TÀI LIỆU THAM KHẢO 61 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn DANH MỤC HÌNH VẼ Hình 1.1: Sơ đồ bước nhảy không gian lời giải 11 Hình 1.2: Sơ đồ thuật tốn 12 Hình 1.3: Chu trình nhiệt độ T 14 Hình 1.4: Giá trị hàm sức khỏe tăng nhiệt độ giảm 14 Hình 2.1: Biểu đồ hoạt động mơ hình đồng tồn cục 31 Hình 2.2: Biểu đồ thực cho mơ hình khơng đồng tồn cục 32 Hình 2.3: Cấu trúc gói di chuyển lân cận 34 Hình 3.1: Giả mã thuật tốn SA cho toán lập lịch thi đấu 43 Hình 3.2: Giả mã hàm khởi tạo lời giải 52 Hình 3.3: Bảng kết toán lập lịch thi đấu mơi trường 59 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn PHẦN MỞ ĐẦU Lý chọn đề tài Trong thực tế, ta gặp khơng tốn khơng có giải thuật để giải có giải thuật để giải độ phức tạp tính tốn lại q lớn Khi người ta phải áp dụng phương pháp tính tốn phi truyền thống Với giải thuật này, thường ta đạt nghiệm chấp nhận khả đạt nghiệm tối ưu Giải thuật luyện kim giải thuật Bài toán lập lịch thi đấu thể thao tốn thuộc loại NP-Khó Với giải thuật thơng thường khơng thể có lời giải phạm vi thời gian thực tế cho phép Có thể có nhiều cách giải phi truyền thống để tìm lời giải chấp nhận cho tốn Trong khn khổ luận văn thạc sỹ, chọn cách giải giải thuật luyện kim nhằm minh họa cho phần lý thuyết Tên đề tài luận văn: “Thuật toán luyện kim với toán lập lịch thi đấu thể thao” Mục đích nghiên cứu Mục đích nghiên cứu đề tài: tìm hiểu thuật tốn luyện kim, cải tiến thuật tốn thích hợp để giải tốn lập lịch thi đấu nhằm tìm kết tốt cho tốn Từ đó, đưa ứng dụng để giải toán lập lịch thi đấu thể thao Nhiệm vụ nghiên cứu Những nhiệm vụ việc nghiên cứu đề tài này: - Nghiên cứu tổng quan thuật tốn mơ luyện kim - Tìm hiểu khung thuật toán luyện kim - Trên sở khung thuật tốn tìm hiểu, viết cải tiến hàm để sử dụng cho toán lập lịch thi đấu Tối ưu cách giải đề đưa lời giải tốt Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn Những đóng góp khóa luận 4.1 Ý nghĩa khoa học - Tìm hiểu thuật tốn meta – heuristic cụ thể thuật toán luyện kim để giải tốn tối ưu khó - Giải toán ứng dụng thực tế toán lập lịch thi đấu 4.2 Ý nghĩa thực tiễn Áp dụng toán giải vào việc lập lịch thi đấu thực tế để đem lại hiệu doanh thu cho kinh tế Cấu trúc khóa luận Cấu trúc khóa luận bao gồm phần: Phần mở đầu: Giới thiệu lý chọn đề tài, cấu trúc đề tài, nhiệm vụ kết đề tài Phần nội dung: Trình bày nội dung cụ thể đề tài, bao gồm chương: CHƯƠNG Giải thuật luyện kim Giới thiệu tổng quan tốn NP-Khó, thuật tốn luyện kim CHƯƠNG Giải thuật luyện kim song song Tìm hiều giải thuật luyện kim song song: Song song hóa giải thuật luyện kim, Di chuyển song song cho giải thuật luyện kim, Khung thuật toán luyện kim song song CHƯƠNG Thử nghiệm giải toán lập lịch thi đấu giải thuật luyện kim Áp dụng khung thuật toán luyện kim chương để giải toán lập lịch thi đấu Phần kết luận: Đưa kết luận hướng phát triển cho luận văn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn CHƯƠNG GIẢI THUẬT PHỎNG LUYỆN KIM 1.1 Bài toán NP-Khó 1.1.1 Bài tốn NP-Khó 1.1.1.1 Lớp tốn P Định nghĩa Ta Chúng ta gọi P lớp tốn giải thời gian đa thức, NP lớp toán định mà để xác định câu trả lời “yes” đưa chứng ngắn gọn dễ kiểm tra, co-NP lớp toán định mà để xác định câu trả lời “no” đưa chứng ngắn gọn dễ kiểm tra Ví dụ: Bài tốn khung nhỏ giải nhờ thuật toán Prim với thời gian 0(n2) thuộc lớp toán P 1.1.1.2 Lớp toán NP Định nghĩa Ta gọi NP lớp toán định mà để xác nhận câu trả lời ‘yes’ ta đưa chứng ngắn gọn dễ kiểm tra Ví dụ: Bài tốn kiểm tra tính hợp số: “Có phải n hợp số không?”, để xác nhận câu trả lời ‘yes’ cho đầu vào n ta đưa ước số b (1< b < n) n Để kiểm tra xem b có phải ước số n hay khơng ta thực phép chia n cho b sau thời gian đa thức Trong ví dụ dễ thấy b chứng ngắn gọn (b> (istream& is, Problem& pbm) { int l; is >> pbm._n; //đọc vào số đội toán //đọc vào ma trận đường pbm._k = pbm._n*(pbm._n*2-2); pbm._matrix = new int*[pbm._n]; for (int i = 0; i < pbm._n; i++) { pbm._matrix[i] = new int[pbm._n]; for (int j = 0; j < pbm._n; j++) { is >> l; pbm._matrix[i][j] = l; } } return is; } 3.3.2 Khởi tạo lời giải Khởi tạo lịch trình ngẫu nhiên S lời giải ban đầu, cho S lịch trình khả thi Lịch trình S bao gồm: n dòng n đội thi đấu 2*n-2 cột 2*n-2 vòng đấu Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn 52 Dưới giả mã để khởi tạo lịch trình ban đầu RANDOMSCHEDULE() { Q  {(t, w) | t ϵ Teams&w ϵ Weeks}; GENERATESCHEDULE(Q, S); return S; } bool GENERATESCHEDULE(Q, S) { if Q =  then return true; end if select t, w ϵ Q such that  t ' , w' ϵ Q : t ' , w'  t, w ; Choise  {1, -1, …, t – 1, - (t - 1), t +1, - ( t+1),…, n, -n}; 10 forall o ϵ Choise inradom order 11 if o, w  Q then 12 S[t, w]  o; 13 if o > then S[o, w]  -t; 14 15 else S[-o, w]  t; 16 17 end if 18 if GENERATESCHEDULE(Q\{ t, w , | o |, w }, S) then 19 return true; 20 end if 21 end if 22 end forall 23 return false; 24 } Hình 3.2: Giả mã hàm khởi tạo lời giải Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn 53 Sử dụng tập hợp Q bao gồm tất vị trí (Team, Week) để hồn thành lịch trình Đầu tiên, khởi tạo tập hợp Q sau gợi đến thủ tục đệ quy GENERATESCHEDULE Trong thủ tục đệ quy GENERATESCHEDULE: lựa chọn vị trí , theo thứ tự từ điển thử tất trường hợp thực cách lựa chọn ngẫu nhiên với đội đá sân nhà sân khách Nếu đối thủ o không w lịch trình S cập nhật thuật toán gọi đệ quy với tập hợp Q mà bị xóa Quá trình gọi đệ quy kết thúc Q rỗng Khi đó, lịch trình S sinh 3.3.3 Sinh lời giải láng giềng Sử dụng phương pháp tìm kiếm lân cận SwapHomes(S, Ti, Tj) sinh lời giải láng giềng S’ cách đổi sân nhà thành sân khách (và ngược lại) đội i, j void DefaultMove::Apply (Solution& sol) coust { //Body of operator int n = sol.pbm().n(); int i, j; srand(time(NULL)); i = rand()%n; j = rand()%n; while(i==j) { j=rand()%n; } Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn 54 sol.change(I,j); } Hàm Apply() sinh lời giải cách: chọn i, j ngẫu nhiên từ 1n, loại trường hợp i = j Sau gọi đến hàm đổi chỗ change() để thực việc đổi sân nhà sân khách đội i, j void Solution::change(const int i, const int j) { int n = _pbm.n(); int k = 2*n-2; int tg, tg1, tg2, so = 0; for (int t=0; t : lịch trình khơng khả thi - Nếu số ràng buộc = : lịch trình khả thi int Solution ::nbv()const { int i, j, n ; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www lrc.tnu.edu.vn 55 n = _pbm.n() ; int dem = ; //đếm số ràng buộc lịch trình S // tính số ràng buộc H1 : đội chơi liên tiếp sân nhà sân //khách lần (k>3) tăng biến dem for (i=0 ;i3) dem++; else k=1; } } if(k>3) dem++; } //tính số ràng buộc H2: đội i chơi sân nhà vòng j chơi //trên sân khách vòng j+1 tăng biến dem for(i=0;i

Ngày đăng: 02/11/2017, 10:26

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan