1. Trang chủ
  2. » Luận Văn - Báo Cáo

Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu

68 37 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 1,04 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH TRẦN VĂN HẢI GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG TRONG BÀI TỐN XẾP THỜI KHĨA BIỂU CHO TRƯỜNG CAO ĐẲNG NGHỀ BẠC LIÊU Chuyên ngành: Công nghệ thông tin Mã số: 8.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Người hướng dẫn khoa học: TS Vũ Chí Cường NGHỆ AN, 2018 LỜI CẢM ƠN Luận văn thạc sĩ với đề tài “Giải thuật di truyền ứng dụng tốn xếp thời khóa biểu cho trường Cao đẳng nghề Bạc Liêu” kết trình cố gắng khơng ngừng thân giúp đỡ, động viên khích lệ thầy cơ, bạn bè, đồng nghiệp người thân Qua trang viết này, xin gửi lời cảm ơn tới người giúp đỡ thời gian học tập hoàn thành luận văn Xin chân thành cảm ơn Lãnh đạo Trường Đại học Vinh, Viện Kỹ thuật Công nghệ giúp đỡ, hỗ trợ để tơi hồn thành tốt công việc học tập nghiên cứu khoa học Tôi xin cảm ơn Lãnh đạo Trường Cao đẳng Nghề Bạc Liêu tạo điều kiện thời gian, cơng việc để tơi theo học hồn thành khóa học Đặc biệt em xin tỏ lịng kính trọng biết ơn sâu sắc thầy giáo TS Vũ Chí Cường trực tiếp tận tình hướng dẫn, đưa gợi ý, góp ý, chỉnh sửa cung cấp tài liệu thông tin khoa học cần thiết cho luận văn Cuối xin chân thành cảm ơn đồng nghiệp, đơn vị cơng tác giúp đỡ tơi q trình học tập thực Luận văn Nghệ An, ngày tháng năm 2018 Tác giả Trần Văn Hải MỤC LỤC LỜI CẢM ƠN MỤC LỤC DANH MỤC BẢNG BIỂU MỞ ĐẦU Lý chọn đề tài Lịch sử vấn đề Đối tượng phạm vi nghiên cứu Mục đích, nhiệm vụ nghiên cứu Phương pháp nghiên cứu Đóng góp luận văn Cấu trúc luận văn 10 Chương BÀI TỐN THỜI KHĨA BIỂU VÀ CÁC PHƯƠNG PHÁP TIẾP CẬN GIẢI QUYẾT 12 1.1 Bài toán thời khóa biểu 12 1.1.1 Bài toán lập lịch 12 1.1.2 Bài tốn thời khóa biểu 13 1.2 Các phương pháp giải toán 16 1.2.1 Giải thuật vét cạn 16 1.2.2 Giải thuật leo đồi 16 1.2.3 Giải thuật luyện kim 17 1.2.4 Giải thuật di truyền 17 1.2.5 Giải thuật tối ưu đàn kiến 18 1.3 Đánh giá, lựa chọn phương pháp cách tiếp cận toán 18 Chương GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG 19 2.1 Lịch sử đời 19 2.2 Giải thuật di truyền 19 2.3 Cơ chế thực giải thuật di truyền 22 2.3.1 Cách biểu diễn nhiễm sắc thể 22 2.3.2 Quá trình khởi tạo quần thể 25 2.3.3 Quá trình chọn lọc 26 2.3.4 Quá trình lai ghép 26 2.3.5 Quá trình đột biến 29 2.3.6 Các tham số cần sử dụng giải thuật di truyền 30 2.3.7 Điều kiện kết thúc giải thuật di truyền 30 2.3.8 Thuật toán GA 31 2.4 Ứng dụng giải thuật di truyền 32 2.4.1 Bài toán người du lịch (TSP) 32 2.4.2 Bài toán lập lịch 33 2.4.3 Phân hoạch đối tượng đồ thị 33 2.4.4 Vạch đường cho robot di chuyển 34 Chương ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO BÀI TOÁN XẾP THỜI KHÓA BIỂU Ở TRƯỜNG CAO ĐẲNG NGHỀ BẠC LIÊU 35 3.1 Trường Cao đẳng nghề Bạc Liêu 35 3.2 Bài toán xếp thời khóa biểu Trường Cao đẳng nghề Bạc Liêu 37 3.3 Ứng dụng Giải thuật di truyền giải toán 39 3.2.1 Dữ liệu toán 39 3.2.2 Phân tích tốn 44 3.2.3 Biểu diễn quần thể 50 3.2.4 Khởi tạo quần thể 50 3.2.5 Đánh giá cá thể 52 3.2.6 Lai ghép 53 3.2.7 Đột biến 55 3.2.8 Thuật tốn 57 3.3 Kết thực nghiệm đánh giá 60 3.3.1 Môi trường cách tổ chức thực nghiệm 60 3.3.2 Trường hợp 1: Lớp học bố trí phịng học cố định 60 3.3.3 Trường hợp 2: Lớp học bố trí phịng học tùy ý 61 3.3.4 Trường hợp 3: Lớp học bố trí tùy ý 11 phòng 62 3.3.5 Trường hợp 4: Lớp học bố trí tùy ý 09 phòng 63 3.3.6 Trường hợp 5: Lớp học bố trí tùy ý 07 phịng 63 3.3.7 Đánh giá 64 KẾT LUẬN 65 Kết đạt 65 Hạn chế, hướng phát triển 65 TÀI LIỆU THAM KHẢO 67 DANH MỤC BẢNG BIỂU Hình 1.1 Quy trình xếp thời khóa biểu 14 Hình 2.1 Sơ đồ tổng quan giải thuật di truyền 22 Hình 2.2 Bài tốn tối ưu 23 Hình 2.3 Ví dụ NST 12 bit 24 Hình 2.4 Ví dụ khởi tạo cá thể 25 Hình 2.5 Ví dụ lai ghép đơn điểm (single point crossover) 27 Hình 2.6 Ví dụ lai ghép đa điểm 28 Hình 2.7 Ví dụ lai ghép mặt nạ 29 Hình 2.8 Ví dụ đột biến 30 Hình 2.9 Nghiệm tốn 1.1 32 Hình 3.1 Sơ đồ cấu tổ chức Trường Cao đẳng nghề Bạc Liêu 36 Hình 3.2 Biểu diễn cá thể thời khóa biểu 45 Hình 3.3 Minh họa lỗi ràng buộc học qua trưa 64 Bảng Bảng Bảng Bảng Bảng Bảng Bảng 1.1 Nội dung công việc xếp thời khóa biểu 15 2.1 Hai cách biểu diễn nhiễm sắc thể 23 3.1 Danh sách giảng viên 39 3.2 Danh sách môn học 40 3.3 Danh sách phòng học 40 3.4 Danh sách lớp học 41 3.5 Bảng phân công giảng dạy 42 Biểu 3.1 Giá trị đánh giá thời khóa biểu tốt (13 phịng cố định) 61 Biểu 3.2 Giá trị đánh giá thời khóa biểu tốt (13 phòng tùy ý) 62 Biểu 3.3 Giá trị đánh giá thời khóa biểu tốt (11 phòng tùy ý) 62 Biểu 3.4 Giá trị đánh giá thời khóa biểu tốt (09 phịng tùy ý) 63 Biểu 3.5 Giá trị đánh giá thời khóa biểu tốt (07 phịng tùy ý) 63 MỞ ĐẦU Lý chọn đề tài Ngày nay, cơng nghệ thơng tin ngày đóng vai trò quan trọng đời sống kinh tế, xã hội quốc gia giới, khơng thể thiếu xã hội ngày phát triển đại Việc áp dụng công nghệ thông tin vào tất lĩnh vực ứng dụng phù hợp cấp thiết với xu hướng Tại Trường Cao đẳng nghề Bạc Liêu, việc áp dụng công nghệ thông tin triển khai từ sớm nhằm tận dụng tối đa lợi ích mà mang lại Tuy nhiên nội dung áp dụng thường chưa đồng Trong khi, số nghiệp vụ chuyên môn Nhà trường thực tương đối hoàn chỉnh ứng dụng phần mềm máy tính phục vụ cho cơng tác quản lý nhân sự, quản lý điểm xếp loại sinh viên, thống kê, quản lý sách thư viện, áp dụng công nghệ thơng tin vào giảng điện tử,… cơng việc xếp thời khóa biểu chưa áp dụng cách triệt để Hiện công việc xây dựng thời khóa biểu Phịng Đào tạo Khoa chuyên môn thực cách thủ công Trong năm học có lần xếp thời khóa biểu Mỗi lần xếp thời khóa biểu, cán phụ trách xếp tốn nhiều thời gian cơng sức hồn thành được, mà cơng bố thời khóa biểu có số giáo viên phản đối thời khóa biểu giáo viên khơng hợp lý (các tiết dạy, tiết nghỉ không theo nguyện vọng), Từ nhu cầu thực tiễn trên, việc tìm hiểu tốn xếp thời khóa biểu nghiên cứu xây dựng chương trình thời khóa biểu hợp lý Trường Cao đẳng nghề Bạc Liêu cần thiết, nội dung phù hợp với yêu cầu luận văn thạc sĩ công nghệ thông tin Chính tơi lựa chọn đề tài làm luận văn tốt nghiệp Lịch sử vấn đề Giải thuật di truyền (tên tiếng Anh Genetic Algorithms, viết tắt GA) giáo sư J.H Holland công bố lần vào năm 1962 Giải thuật di truyền hình thành dựa quan niệm “q trình tiến hóa tự nhiên q trình hồn hảo hợp lý nhất, tự q trình mang tính tối ưu” Từ đời nay, GA nhiều nhà toán học, nhà tin học nghiên cứu vấn đề lý thuyết ứng dụng GA nhánh lớn lĩnh vực nghiên cứu thuật tốn tiến hóa (tên tiếng Anh Evolutionary Algorithms, viết tắt EAs) GA nói riêng EAs nói chung mạnh thật việc giải tốn khó, toán tối ưu số tối ưu tổ hợp Một ứng dụng kinh điển GA tốn xếp thời khóa biểu Tại Việt Nam, nghiên cứu EAs nói chung, GA nói riêng ứng dụng nhận quan tâm nhiều nhà khoa học Đối với toán ứng dụng GA để xếp thời khóa biểu, số tác giả nghiên cứu triển khai luận văn tốt nghiệp cao học thạc sĩ ngành công nghệ thông tin Tiêu biểu số kể đến: - Tính tốn tiến hóa ứng dụng lập thời khóa biểu trường trung học phổ thơng ThS Trần Quốc Hưng Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội năm 2004 (xem [11]) - Ứng dụng giải thuật di truyền để xếp thời khóa biểu hệ tín cho trường đại học ThS Phạm Anh Tuấn Trường Đại học Đà Nẵng năm 2012 (xem [12]) - Giải thuật di truyền tốn lập thời khóa biểu ThS Đồng Văn Tuấn Trường Đại học Công nghệ thông tin Truyền thông – Đại học Thái Nguyên năm 2014 (xem [10]) Trong cơng trình này, tốn xếp thời khóa biểu nghiên cứu giải Tuy nhiên dừng lại toán cụ thể đơn vị, trường mà chưa thể mở rộng cách tổng quát Đối tượng phạm vi nghiên cứu - Nghiên cứu toán xếp thời khóa biểu nói chung tốn xếp thời khóa biểu trường cao đẳng nghề - Nghiên cứu giải thuật di truyền ứng dụng Bao gồm đặc điểm, đặc trưng giải thuật di truyền, thành phần thuật toán di truyền: Khởi động quần thể ban đầu, đánh giá độ thích nghi cá thể, tốn tử di truyền điều kiện dừng - Ứng dụng giải thuật di truyền vào giải toán xếp thời khóa biểu Trường Cao đẳng nghề Bạc Liêu Mục đích, nhiệm vụ nghiên cứu Xây dựng phần mềm xếp thời khóa biểu Trường Cao đẳng nghề Bạc Liêu thích nghi, linh hoạt, đáp ứng yêu cầu ràng buộc toán thực tế nhà trường Phần mềm hướng tới đáp ứng yêu cầu ràng buộc tổng quát đơn vị đào tạo khác Phương pháp nghiên cứu - Nghiên cứu, tìm hiểu tài liệu liên quan; - Phân tích thiết kế phần mềm; - Viết chương trình; - Thử nghiệm phân tích kết Đóng góp luận văn Luận văn bổ sung thêm tài liệu tham khảo lý thuyết thực nghiệm giải thuật di truyền Các kết nghiên cứu luận văn lần 10 khẳng định tính ứng dụng hiệu GA tốn tối ưu khó nói chung tốn thời khóa biểu nói riêng Phần mềm xếp thời khóa biểu nghiên cứu, xây dựng luận văn thỏa mãn điều kiện ràng buộc chung tốn xếp thời khóa biểu, phần mềm cịn cho phép Trường Cao đẳng nghề Bạc Liêu linh hoạt chủ động phương án khác việc xếp thời khóa biểu hàng năm, như: - Có thể ghép lớp khác học chung mơn học - Có thể quy định buổi học (buổi sáng, buổi chiều ngày) cho lớp học - Có thể quy định trước lớp học sử dụng phịng học cụ thể - Có thể quy định trước môn học sử dụng một nhóm phịng học cụ thể - Có thể quy định trước lớp môn học sử dụng một nhóm phịng học cụ thể - Cho phép khai báo thời gian bận phòng học - Cho phép khai báo thời gian bận giáo viên - Cho phép giảm thiểu số lượng phòng học phải sử dụng Cấu trúc luận văn Báo cáo luận văn cấu trúc 03 chương Chương Bài tốn thời khóa biểu phương pháp tiếp cận giải Mô tả chung tốn thời khóa biểu phương pháp tiếp cận để giải toán Chương Giải thuật di truyền ứng dụng Mô tả lý thuyết giải thuật di truyền, trình bày số lĩnh vực ứng dụng giải thuật di truyền 54 // không lai ghép, copy cá thể thứ return new Schedule( *this, false ); // tạo cá thể (thời khóa biểu) mới, copy tham số thiết lập Schedule* n = new Schedule( *this, true ); // xác định số lượng lớp môn học int size = (int)_classes.size(); vector cp( size ); // xác định số điểm lai ghép cách ngẫu nhiên for( int i = _numberOfCrossoverPoints; i > 0; i ) { while( ) { int p = rand() % size; if( !cp[ p ] ) { cp[ p ] = true; break; } } } hash_map::const_iterator it1 = _classes.begin(); hash_map::const_iterator it2 = parent2._classes.begin(); // tạo cá thể (thời khóa biểu) cách kết hợp cá thể cha mẹ bool first = rand() % == 0; for( int i = 0; i < size; i++ ) { if( first ) { // chèn thông tin lớp môn học từ cá thể thứ n->_classes.insert( pair( ( *it1 ).first, ( *it1 ).second ) ); // copy khe thời gian lớp môn học từ cá thể thứ for( int i = ( *it1 ).first->GetDuration() - 1; i >= 0; i ) 55 n->_slots[ ( *it1 ).second + i ].push_back( ( *it1 ).first ); } else { // chèn thông tin lớp môn học từ cá thể thứ hai n->_classes.insert( pair( ( *it2 ).first, ( *it2 ).second ) ); // copy khe thời gian lớp môn học từ cá thể thứ hai for( int i = ( *it2 ).first->GetDuration() - 1; i >= 0; i ) n->_slots[ ( *it2 ).second + i ].push_back( ( *it2 ).first ); } // kiểm tra điểm lai ghép để lựa chọn cá thể if( cp[ i ] ) // thay đổi nguồn cá thể cha mẹ first = !first; it1++; it2++; } n->CalculateFitness(); 3.2.7 Đột biến - Tham số đầu vào: o Xác suất đột biến (sử dụng tham số hệ thống MUTATION_PROBILITY) o Số lượng vị trí đột biến (số lớp mơn học bị đột biến thời khóa biểu, sử dụng tham số hệ thống MUTATION_SIZE) - Quy trình o Kiểm tra xác suất đột biến, khơng đột biến bỏ qua o Xác định ngẫu nhiên vị trí đột biến 56 o Thực đột biến, điểm đột biến thực bố trí khe thời gian cách ngẫu nhiên Kiểm tra điều kiện ràng buộc o Đánh giá cá thể // kiểm tra xác suất đột biến if( rand() % 100 > _mutationProbability ) return; // xác định số lượng lớp môn học int numberOfClasses = (int)_classes.size(); // xác định số lượng khe thời gian thời khóa biểu int size = (int)_slots.size(); // duyệt qua số vị trí (số lớp mơn học) bị đột biên for( int i = _mutationSize; i > 0; i ) { // lựa chọn ngẫu nhiên lớp môn học bị đột biến int mpos = rand() % numberOfClasses; int pos1 = 0; hash_map::iterator it = _classes.begin(); for( ; mpos > 0; it++, mpos ) ; // xác định khe thời gian lớp môn học chọn pos1 = ( *it ).second; CourseClass* cc1 = ( *it ).first; // bố trí đột biến khe thời gian ngẫu nhiên cho lớp môn học chọn int nr, dur, day, room, time, pos2, ses; list x = cc1->GetGroups(); StudentsGroup* y= x.back(); room = y->GetRoomId(); ses = y->GetSession(); bool done; { 57 done=false; nr = Configuration::GetInstance().GetNumberOfRooms(); dur = cc1->GetDuration(); day = rand() % DAYS_NUM; // phòng học chưa bố trí trước chọn ngẫu nhiên // học chưa bố trí chọn ngẫu nhiên // học bố trí buổi sáng chọn ngẫu nhiên buổi sáng // học bố trí buổi chiều chọn ngẫu nhiên buổi chiều pos2 = day * nr * DAY_HOURS + room * DAY_HOURS + time; // kiểm tra bận phòng học giáo viên } while (done); // bố trí khe thời gian cho lớp học phần for( int i = dur - 1; i >= 0; i ) { // loại bỏ khe thời gian bố trí // xác định khe thời gian _slots.at( pos2 + i ).push_back( cc1 ); } // thay đổi vị trí khe thời gian cá thể (thời khóa biểu) _classes[ cc1 ] = pos2; } CalculateFitness(); 3.2.8 Thuật tốn - Tham số đầu vào o Kích thước quần thể POP_SIZE o Xác suất lai ghép CROSSOVER_PROBILITY o Số vị trí lai ghép CROSSOVER_POINTS o Xác suất đột biến MUTATION_PROBILITY o Số vị trí đột biến MUTATION_SIZE 58 o Số cá thể sản sinh hệ (là số cá thể bị thay hệ) REPLACE_BY_GENERATION o Kích thước nhóm cá thể tốt TRACK_BEST - Quy trình o B1: Khởi tạo nhóm cá thể tốt o B2: Khởi tạo quần thể gồm POP_SIZE cá thể ngẫu nhiên o B3: Xác định cá thể tốt quần thể o B4: Sản sinh REPLACE_BY_GENERATION cá thể hệ ▪ Lựa chọn ngẫu nhiên cá thể làm cá thể cha mẹ ▪ Thực thuật toán lai ghép với xác suất lai ghép CROSSOVER_PROBILITY, Số vị trí lai ghép CROSSOVER_POINTS ▪ Thực thuật tốn đột biên với xác suất đột biến MUTATION_PROBILITY, Số vị trí đột biến MUTATION_SIZE o B5: Thay cá thể xấu hệ cá thể // khởi tạo nhóm cá thể tốt ClearBest(); // khởi tạo quần thể ngẫu nhiên int i = 0; for( vector::iterator it = _chromosomes.begin(); it != _chromosomes.end(); ++it, ++i ) { // loại bỏ cá thể từ lần chạy trước if( *it ) delete *it; // tạo cá thể bổ sung vào quần thể *it = _prototype->MakeNewFromPrototype(); 59 AddToBest( i ); } _currentGeneration = 0; while( ) { Schedule* best = GetBestChromosome(); 60 WKӱEәVXQJFiWKӇPӟLYjRQKyPF iFFiWKӇWӕW AddToBest( ci ); } WuPFiWKӇWӕWQKҩW if( best != GetBestChromosome() && _observer ) _observer->NewBestChromosome( *GetBestChromosome() ); _currentGeneration++; } 3.3 .ӃWTXҧWKӵFQJKLӋP YjÿiQKJLi 3.3.1 0{LWUѭӡQJ YjFiFKWәFKӭF WKӵFQJKLӋP 7KXұWWRiQ*$FKREjLWRiQWKӡLN %ҥF/LrXÿѭӧFFjLÿһWWUrQQJ{QQJӳ 6WXGLR&K~QJW{LWәFKӭFYұQ YjRNKiFQKDX FK~QJW{LJӑLOjFiF QJKӧS 0ӛLPӝWWU W{LFKRWKXұWWRiQYұQKjQK PӝWFiFKQJүX QKLrXOҫQNKiF YұQKjQKWURQJNKRҧQJWKӡLJLDQQKL 7ҥLPӛLWKӃ NӃWTXҧWKӵFQJKLӋPÿѭӧFJKLQKұQO ánh JLiFӫDFiWKӇ WKӡLNKyDELӇX WӕW *LiWUӏFiFWKDPVӕFӫDJLҧLWKXұ JӗP - tFKWKѭӟFTXҫQWKӇ3RS6L]H ;  - ;iFVXҩWODLJKpS&526629(5B352%, = 80%; - 6ӕYӏWUtODLJKpS&526629(5B32,1 = 2; - ;iFVXҩW ÿӝWELӃQ087$7,21B352%,/,7< = 3%; - 6ӕYӏWUtÿӝWELӃQ087$7,21B6,=( = 2; - 6ӕFiWKӇÿѭӧFVҧQVLQKWURQJWKӃ PӛLWKӃKӋ 5(3/$&(B% P13 để gán cố định cho lớp học 02 phòng thực hành PMT1, PMT2 sử dụng cho mơn Tin học (sử dụng phịng Lab) 01 sân bãi NhaThiDau sử dụng cho môn Giáo dục thể chất Kết giá trị đánh giá cá thể tốt qua hệ thể Biểu 3.1 Biểu 3.1 Giá trị đánh giá thời khóa biểu tốt (13 phịng cố định) 3.3.3 Trường hợp 2: Lớp học bố trí phịng học tùy ý Trong trường hợp này, chúng tơi sử dụng 13 phòng học P1 -> P13, nhiên chúng tơi khơng gán cố định phịng học mà lớp học phịng học miễn thỏa mãn ràng buộc toán Kết giá trị đánh giá cá thể tốt qua hệ thể Biểu 3.2 62 Biểu 3.2 Giá trị đánh giá thời khóa biểu tốt (13 phịng tùy ý) 3.3.4 Trường hợp 3: Lớp học bố trí tùy ý 11 phòng Biểu 3.3 Giá trị đánh giá thời khóa biểu tốt (11 phịng tùy ý) 63 3.3.5 Trường hợp 4: Lớp học bố trí tùy ý 09 phòng Biểu 3.4 Giá trị đánh giá thời khóa biểu tốt (09 phịng tùy ý) 3.3.6 Trường hợp 5: Lớp học bố trí tùy ý 07 phòng Biểu 3.5 Giá trị đánh giá thời khóa biểu tốt (07 phịng tùy ý) 64 3.3.7 Đánh giá Các kết thực nghiệm cho thấy tốn xếp thời khóa biểu giải tất trường hợp Tuy nhiên trường hợp khơng gian lựa chọn tốn bị thu hẹp (ít phịng học hơn) thời gian xếp cần phải nhiều Trong số ràng buộc ràng buộc học qua trưa thường bị vi phạm nhiều (xem Hình 3.3, lớp CD03 học mơn Chinh tri cô P.T.Hong từ tiết đến tiết ngày thứ 2) Tuy nhiên trường hợp cho thuật toán dừng lại giải tay mà khơng cần tìm kiếm nghiệm cuối Hình 3.3 Minh họa lỗi ràng buộc học qua trưa 65 KẾT LUẬN Kết đạt Luận văn bổ sung thêm tài liệu tham khảo lý thuyết thực nghiệm giải thuật di truyền Các kết nghiên cứu luận văn lần khẳng định tính ứng dụng hiệu GA toán tối ưu khó nói chung tốn thời khóa biểu nói riêng Phần mềm xếp thời khóa biểu với ứng dụng giải thuật di truyền nghiên cứu, xây dựng luận văn thỏa mãn điều kiện ràng buộc chung toán xếp thời khóa biểu, phần mềm cịn cho phép Trường Cao đẳng nghề Bạc Liêu linh hoạt chủ động phương án khác việc xếp thời khóa biểu hàng năm, như: - Có thể ghép lớp khác học chung môn học - Có thể quy định buổi học (buổi sáng, buổi chiều ngày) cho lớp học - Có thể quy định trước lớp học sử dụng phòng học cụ thể - Có thể quy định trước mơn học sử dụng một nhóm phịng học cụ thể - Có thể quy định trước lớp mơn học sử dụng một nhóm phòng học cụ thể - Cho phép khai báo thời gian bận phòng học - Cho phép khai báo thời gian bận giáo viên - Cho phép giảm thiểu số lượng phòng học phải sử dụng Hạn chế, hướng phát triển ... 35 Chương ỨNG DỤNG GIẢI THUẬT DI TRUYỀN VÀO BÀI TOÁN XẾP THỜI KHÓA BIỂU Ở TRƯỜNG CAO ĐẲNG NGHỀ BẠC LIÊU 3.1 Trường Cao đẳng nghề Bạc Liêu Trường Cao đẳng nghề Bạc Liêu có tiền thân Trường Cơng... TRƯỜNG CAO ĐẲNG NGHỀ BẠC LIÊU 35 3.1 Trường Cao đẳng nghề Bạc Liêu 35 3.2 Bài tốn xếp thời khóa biểu Trường Cao đẳng nghề Bạc Liêu 37 3.3 Ứng dụng Giải thuật di truyền giải toán ... giải toán tối ưu tốn xếp thời khóa biểu Trong luận văn này, sử dụng giải thuật di truyền để giải tốn xếp thời khóa biểu 19 Chương GIẢI THUẬT DI TRUYỀN VÀ ỨNG DỤNG Chương trình bày đặc điểm Giải

Ngày đăng: 01/08/2021, 11:43

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Hoàng Kiếm, Lê Hoàng Thái, Giải thuật di truyền, cách giải tự nhiên các bài toán trên máy tính, NXB Giáo dục, 2000 Sách, tạp chí
Tiêu đề: Giải thuật di truyền, cách giải tự nhiên các bài toán trên máy tính
Nhà XB: NXB Giáo dục
[2]. Nguyễn Đình Thái, Trí tuệ nhân tạo - Lập trình tiến hóa (http://ngocchistar.gocom.vn/ebook/Tin-Hoc-Lap-Trinh-p34704c54641/tri-tue-nhan-taolap-trinh-tien-hoa-i37988) Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo - Lập trình tiến hóa
[3]. Nguyễn Đình Thúc, Lập trình tiến hóa, Nhà xuất bản Giáo dục (http://www.box.net/public/pbuo21pcrp) Sách, tạp chí
Tiêu đề: Lập trình tiến hóa
Nhà XB: Nhà xuất bản Giáo dục (http://www.box.net/public/pbuo21pcrp)
[4]. PGS.TS. Nguyễn Thanh Thủy , Trí tuệ nhân tạo – Các phương pháp giải quyết vấn đề và kỹ thuật xử lý tri thức, NXBGiáo dục, 1995 Sách, tạp chí
Tiêu đề: Trí tuệ nhân tạo – Các phương pháp giải quyết vấn đề và kỹ thuật xử lý tri thức
Nhà XB: NXBGiáo dục
[5]. Stuart J. Russell and Peter Norvig, Artifical Intelligence: A Modern Approach, Prentice Hall. Second edition, 2002 Sách, tạp chí
Tiêu đề: Artifical Intelligence: A Modern Approach
[6]. John H. Holland, Adaptation in natural and artificial systems, University of Michigan Press, 1975 Sách, tạp chí
Tiêu đề: Adaptation in natural and artificial systems
[7]. Vũ Chí Cường, Một lớp thuật toán phỏng tiến hóa sinh học dựa trên thông tin định hướng giải bài toán đa cực trị, Luận án Tiến sĩ chuyên ngành Cơ sở toán trong tin học, Học viện Kỹ thuật Quân sự, 2016 Sách, tạp chí
Tiêu đề: Một lớp thuật toán phỏng tiến hóa sinh học dựa trên thông tin định hướng giải bài toán đa cực trị
[8]. Hồ Minh Đích, Nghiên cứu giải thuật di truyền ứng dụng vào giải một số bài toán thống kê, Luận văn thạc sĩ Công nghệ thông tin, Đại học Đà Nẵng, 2011 Sách, tạp chí
Tiêu đề: Nghiên cứu giải thuật di truyền ứng dụng vào giải một số bài toán thống kê
[9], Phan Việt Anh, Bùi Thu Lâm, Giải thuật di truyền và ứng dụng trong hỗ trợ lập lịch điều hành công tác bệnh viện, Chuyên san Công nghệ thông tin và truyền thông, Học viện Kỹ thuật Quân sự, 2015 Sách, tạp chí
Tiêu đề: Giải thuật di truyền và ứng dụng trong hỗ trợ lập lịch điều hành công tác bệnh viện
[10]. Đồng Văn Tuấn, Giải thuật di truyền và bài toán lập thời khóa biểu, Luận văn thạc sĩ ngành Công nghệ thông tin, Trường Đại học Công nghệ thông tin và Truyền thông – Đại học Thái Nguyên, 2014 Sách, tạp chí
Tiêu đề: Giải thuật di truyền và bài toán lập thời khóa biểu
[11]. Trần Quốc Hưng, Tính toán tiến hóa và ứng dụng lập thời khóa biểu trường trung học phổ thông, Luận văn thạc sĩ ngành Công nghệ thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội, 2004 Sách, tạp chí
Tiêu đề: Tính toán tiến hóa và ứng dụng lập thời khóa biểu trường trung học phổ thông
[12]. Phạm Anh Tuấn, Ứng dụng giải thuật di truyền để xếp thời khóa biểu hệ tín chỉ cho trường đại học, Trường Đại học Đà Nẵng, 2012 Sách, tạp chí
Tiêu đề: Ứng dụng giải thuật di truyền để xếp thời khóa biểu hệ tín chỉ cho trường đại học
[13]. Trần Kim Hương, Nguyễn Thị Ngọc Chi, Giải thuật di truyền (GAs) và các ứng dụng, Hội nghị NCKH Khoa sư phạm toán tin – Đại học Đồng Tháp, 2015 Sách, tạp chí
Tiêu đề: Giải thuật di truyền (GAs) và các ứng dụng

HÌNH ẢNH LIÊN QUAN

Hình 1.1. Quy trình xếp thời khóa biểu Diễn giải:  - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 1.1. Quy trình xếp thời khóa biểu Diễn giải: (Trang 14)
Bảng 1.1. Nội dung công việc xếp thời khóa biểu - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Bảng 1.1. Nội dung công việc xếp thời khóa biểu (Trang 15)
Hình 2.1. Sơ đồ tổng quan của giải thuật di truyền - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 2.1. Sơ đồ tổng quan của giải thuật di truyền (Trang 22)
Bảng 2.1. Hai cách biểu diễn nhiễm sắc thể - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Bảng 2.1. Hai cách biểu diễn nhiễm sắc thể (Trang 23)
Hình 2.4. Ví dụ khởi tạo cá thể - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 2.4. Ví dụ khởi tạo cá thể (Trang 25)
Hình 2.5. Ví dụ về lai ghép đơn điểm (single point crossover) - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 2.5. Ví dụ về lai ghép đơn điểm (single point crossover) (Trang 27)
Hình 2.6. Ví dụ về lai ghép đa điểm - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 2.6. Ví dụ về lai ghép đa điểm (Trang 28)
Hình 2.7. Ví dụ về lai ghép mặt nạ 2.3.5.Quá trình đột biến  - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 2.7. Ví dụ về lai ghép mặt nạ 2.3.5.Quá trình đột biến (Trang 29)
Hình 2.8. Ví dụ về đột biến - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 2.8. Ví dụ về đột biến (Trang 30)
Hình 2.9. Nghiệm của bài toán 1.1 - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 2.9. Nghiệm của bài toán 1.1 (Trang 32)
Hình 3.1. Sơ đồ cơ cấu tổ chức Trường Cao đẳng nghề Bạc Liêu - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 3.1. Sơ đồ cơ cấu tổ chức Trường Cao đẳng nghề Bạc Liêu (Trang 36)
Bảng 3.1. Danh sách giảng viên - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Bảng 3.1. Danh sách giảng viên (Trang 39)
Bảng 3.3. Danh sách phòng học - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Bảng 3.3. Danh sách phòng học (Trang 40)
Bảng 3.4. Danh sách lớp học - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Bảng 3.4. Danh sách lớp học (Trang 41)
Hình 3.2. Biểu diễn cá thể thời khóa biểu - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 3.2. Biểu diễn cá thể thời khóa biểu (Trang 45)
Hình 3.3. Minh họa lỗi ràng buộc học qua trưa - Giải thuật di truyền và ứng dụng trong bài toán xếp thời khóa biểu cho trường cao đằng nghề bạc liêu
Hình 3.3. Minh họa lỗi ràng buộc học qua trưa (Trang 64)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w