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

Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi

48 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Tác giả Võ Minh Khải
Người hướng dẫn PGS. TS. Thoại Nam, Ths. Nguyễn Quang Hùng
Trường học Trường Đại học Bách Khoa
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2018
Thành phố Tp Hồ Chí Minh
Định dạng
Số trang 48
Dung lượng 2,08 MB

Cấu trúc

  • Chương 1 MỞ ĐẦU (11)
    • 1.1 Lý do chọn đề tài (11)
    • 1.2 Mục tiêu đề tài (11)
    • 1.4 Các yêu cầu đặt ra (12)
  • Chương 2 CÁC CÔNG TRÌNH LIÊN QUAN (15)
    • 2.1 Phương pháp mô phỏng luyện kim (SA) (0)
    • 2.2 Tìm kiếm Tabu (Tabu search - TS) (15)
    • 2.3 Multi-Objective EA (16)
  • Chương 3 CƠ SỞ LÝ THUYẾT (18)
    • 3.1 Giải thuật di truyền (18)
    • 3.2 Các phương pháp song song cho giải thuật di truyền (19)
    • 3.3 Bộ xử lý Intel Xeonphi (22)
    • 3.4 Các mô hình lập trình trên Xeonphi (24)
  • Chương 4 PHƯƠNG PHÁP GIẢI BÀI TOÁN SẮP XẾP THỜI KHOÁ BIỂU (25)
    • 4.1 Các ràng buộc (25)
    • 4.2 Mô hình (26)
    • 4.3 Khởi tạo cá thể và quần thể (28)
    • 4.4 Phép lai (29)
    • 4.5 Phép đột biến (31)
    • 4.6 Hàm lượng giá (33)
    • 4.7 Local Search (0)
    • 4.8 Cấu trúc MEM và tạo cá thể con dựa vào cấu trúc MEM (35)
  • Chương 5 HIỆN THỰC VÀ THỬ NGHIỆM (38)
  • Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (42)
    • 6.1 Một số kết luận và đóng góp của đề tài (42)
    • 6.2 Hướng phát triển (42)
  • TÀI LIỆU THAM KHẢO (44)
  • PHỤ LỤC (46)

Nội dung

Đối với các thời khoá biểu có nhiều ràng buộc thì sẽ dẫn đến không gian tìm kiếm lớn hơn, do đó việc thực thi chương trình trên một bộ xử lý đơn sẽ hoạt động kém hiệu quả hơn việc thực t

CÁC CÔNG TRÌNH LIÊN QUAN

Tìm kiếm Tabu (Tabu search - TS)

TS là một công cụ hiệu quả để giải quyết các vấn đề tối ưu dạng khó Ý tưởng của TS được đề xuất đầu tiên bởi Glover TS [14] là phương pháp tìm kiếm cục bộ có phương pháp heuristic để khai phá không gian tìm kiếm mà vượt qua được tối ưu cục bộ

Giải thuật TS bắt đầu từ một lời giải ban đầu sau đó được lặp để khai phá các lời giải kế cận Bước di chuyển tiếp theo được chọn sau khi đánh giá hết toàn bộ các lời giải kế cận của lời giải hiện tại Một lời giải không tốt có thể được chấp nhận miễn là chất lượng lời giải đó tốt hơn toàn bộ các lời giải kế cận Việc này có thể dẫn đến việc lặp vòng, như việc di chuyển lặp lại trong một phần của không gian tìm kiếm Để tránh việc lặp vòng TS sử dụng bộ nhớ để lưu trữ danh sách tabu (tabu list) Nếu một lời giải được tìm thấy trong danh sách tabu, nó được gọi là một lời giải tabu (tabu solution) và lời giải tốt nhất trong các lời giải kế cận của lời giải hiện được khai phá, và cứ như vậy tiếp tục

Danh sách tabu cho phép giải thuật thoát khỏi việc tối ưu cục bộ Các bước dịch chuyển trong tabu list được ngăn chặn bởi một số lần lặp nhất định gọi là “tabu tenure”

Nhiều nghiên cứu đã thực hiện giải bài toán lập lịch thời khoá biểu bằng phương pháp TS Hertz [14] lần đầu tiên sử dụng phương pháp TS để giải bài toán lập lịch thời khoá biểu Tác giả đã kết luận rằng phương pháp này có thể cho kết quả thoả mãn yêu cầu lập lịch Lợi ích chính của phương pháp này là nó cho phép các bước dịch chuyển hứa hẹn đến lời giải tốt, việc tìm kiếm nhanh chóng.

Multi-Objective EA

Giải thuật multi-objective EA (MOEA) đầu tiên được gọi là “vector evaluated GA”, đề xuất bởi Schaffer Sau đó những giải thuật MOEA khác như strength Pareto EA (SPEA), ε-multi-objective EA (ε-MOEA), the elitist non-dominated sorting GA (NSGA-II), được phát triển và áp dụng thành công

NSGA-II được đề xuất dựa trên khái niệm của sắp xếp các phần từ không trội (non- domiated) và độ đo đông đúc (crowding distance) Ban đầu, tập các lời giải với kích thước N được tạo ra và sắp xếp dựa trên các phần tử không trội Sau đó, tại mỗi thế hệ, một tập các cá thể con Q được tạo thành từ tập cá thể cha P bằng cách sử dụng phương pháp chọn “tournament” ( hai cá thể được lựa chọn ngẫu nhiên từ tập cha P, cá thể được lựa chọn dựa theo hạng và khoảng cách đông đúc), phép lai, phép đột biến Sau đó các cá thể con Q được hợp với P, tạo thành tập cá thể R có 2N phần tử, việc tính toán hạng và khoảng cách đông đúc được tính cho R, Tập N cá thể tốt nhất theo hạng và theo khoảng cách đông đúc được lựa chọn trong R để tạo thành thế hệ tiếp theo Do đó, sau mỗi thế hệ, tập các cá thể không trội được duy trì

Datta [11], sử dụng NGSA-II để giải bài toán lập lịch thời khoá biểu Họ phát triển mô hình tối ưu 2 mục tiêu để giảm thiểu các vi phạm của ràng buộc mềm, áp dụng 1 phép lai và 4 phép đột biến, và kiểm tra độ hiệu quả của giải thuật trên tập dữ liệu thực

Họ đưa ra kết luận là độ hiệu quả của giải thuật phụ thuộc vào việc định nghĩa xác suất đột biến và lời giải được khởi tạo ban đầu.

CƠ SỞ LÝ THUYẾT

Giải thuật di truyền

Giải thuật di truyền (GA-Genetic Algorithm) là kỹ thuật phỏng theo quá trình thích nghi tiến hóa của của các quần thể sinh học dựa trên học thuyết Darwin Quá trình tiến hoá thể hiện tính tối ưu ở chỗ, thế hệ sau thường tốt hơn ( phát triển hơn, hoàn thiện hơn) so với thế hệ trước Tiến hoá tự nhiên dựa vào hai quá trình chính là sinh sản và chọn lọc tự nhiên Trong quá trình tiến hoá tự nhiên, thế hệ sau được sinh ra để bổ sung cho các thế hệ đầu Cá thể nào phát triển hơn, thích nghi cao hơn với môi trường sẽ tồn tại, cá thể nào không thích nghi sẽ bị đào thải

Các cá thể mới sinh ra trong quá trình tiến hoá nhờ sự lai ghép từ các cá thể bố mẹ

Cá thể mới có thể mang những tính trạng của cha mẹ (di truyền), cũng có thể mang những đặc tính mới (đột biến) Di truyền và đột biến có vai trò quan trọng trong tiến hoá Đột biến có sác xuất xảy ra nhỏ hơn nhiều so với quá trình di truyền

Vậy nên có thể nói giải thuật di truyền là phương pháp tìm kiếm tối ưu ngẫu nhiên bằng cách mô phỏng theo sự tiến hóa của con người hay của sinh vật Ý tưởng của thuật toán di truyền là mô phỏng các hiện tượng tự nhiên, là kế thừa và đấu tranh sinh tồn được Holland [9] phát triển vào hệ thống nhân tạo năm 1975 để tối ưu hóa các vấn đề và xây dựng xây dựng thuật toán di truyền Cho đến ngày nay, giải thuật di truyền vẫn được coi như là một công cụ mạnh mẽ để giải quyết những vấn đề về tìm kiếm và tối ưu hóa phức tạp như là lập thời gian biểu, lập lịch, hệ thống điều khiển, bài toán người du lịch… Dù rằng các giải thuật di truyền thực hiện được thay đổi theo bài toán cụ thể, nhưng nhìn chung đều có cấu trúc tiêu biểu sau:

Hình 3.1 - Sơ đồ giải thuật GA

Hình 3.1 Mô tả các bước cơ bản của một giải thuật GA, Khởi tạo quần thể, Lựa chọn cá thể cha, Phép Lai ghép, phép đột biến, loại bỏ các cá thể kém thích nghi

Các phương pháp song song cho giải thuật di truyền

a) Master – Slave Quần thể được lưu trữ tại master, việc tính toán được phân bổ cho các slaves

Hình 3.2 - Mô Hình Master – Slave

Mô hình đồng bộ : chỉ có việc tính toán giá trị lượng giá được tính ở các slave, master phải đợi các slave để kết thúc, các thao tác chọn, thay thế, lai và đột biến được thực hiện tại master

Mô hình bất đồng bộ: các thao tác chọn, thay thế, lai và đột biến được thực hiện trên các slave, các slave không phải đợi để tiếp tục xử lý trên thế hệ tiếp theo b) Fine-Grained Parallelization Quần thể được phân bố cho các processors qua một lưới 2D, các processor gần nhau chia sẽ các cá thể của mình trong việc lựa chọn cá thể làm cá thể cha

Hình 3.3 - Mô hình Fine-Grained với 8 nút ( processor)

Các thao tác trên GA

Tính toán giá trị lượng giá

Tính toán giá trị lượng giá Tính toán giá trị lượng giá

Tính toán giá trị lượng giá Giá trị lượng giá

Việc khởi tạo quần thể giống với việc khởi tạo quần thể của một giải thuật GA đơn giản, nhưng các cá thể được chia đều cho các processor Các processor có thể lựa chọn phần tử làm phần tử cha từ các processor kế cận và cá thể con có thể thay thế một cá thể khác trong quần thể con Việc lai và đột biến giống với giải thuật GA đơn giản c) Coarse-Grained Parallelization Ở phương pháp này, mỗi process được gán một một thuật GA đơn giản và giữa các processor có kết nối với nhau để có thể truyền các cá thể lẫn nhau

Hình 3.4 - Mô hình Coarse-Grained

Từ Mô hình ở hình 3.4, Các Island được tạo từ quần thể ban đầu cho đến khi số lượng các Island được thỏa mãn Tần suất di chuyển các cá thể từ Island này đến Island khác có thể xảy ra cố định hoặc tuân theo một phân bố xác suất, dựa trên ngưỡng thấp nhất của độ lệch chuẩn của giá trị lượng giá Số lượng các cá thể được chuyển đi có thể được xác định bởi phần trăm cá thể có trong Island hay một số lượng các thể nhất định.

Bộ xử lý Intel Xeonphi

Bộ đồng xử lý Intel Xeon Phi được biết tới dưới tên gọi Kinght Corner trong giai đoạn đầu phát triển của nó Việc lập trình không cần đòi hỏi phải hiểu biết sâu về thiết bị phần cứng, nhưng sẽ hữu hiệu khi biết đến các đặc tính của Xeon Phi để sử dụng hết khả năng của nó Từ góc nhìn lập trình, Xeon Phi sử dụng kiến trúc x86 (CPU nhiều nhân) và mô hình lập trình với kiến trúc x86, với hơn 50 core, và 4 thread trên một core, 512-bit SIMD (Single instruction, multiple data), được thiết kế để sử dụng cho các hệ thống tính toán hiệu năng cao – HPC (High Performance Computing)

Xeonphi được kết nối với Intel Xeon processor thông qua PCI Express (PICe) Bus

Việc hiện thực kết nối TCP/IP cho phép kết nối tới Xeon Phi như một node của mạng kiến trúc MIC (Many Integrated Core)

Xeonphi có các đặc tính sau:

- Nhiều hơn 50 core (sẽ khác nhau với các loại xeonphi khác nhau) - Các core được kết nối bởi vòng hai chiều tốc độ cao

- Mỗi core có 4 thread nên mỗi Xeon Phi có hơn 200 thread - Xung nhịp mỗi core thường hơn 1 GHz

- Cache liên kết với nhau trong toàn bộ Xeon Phi - Mỗi core có 512-KB L2 cache và có kết nối tốc độ cao với tất cả các cache L2 khác, điều này làm cho tổng cache L2 lên đến hơn 25 MB - Kết nối với bộ xử lý chính thông qua kết nối PCI

- Sử dụng hệ điều hành Linux - Việc lập trình trên Xeon phi gàn giống với việc lập trình trên CPU

Hình 3.6 - Cấu trúc Vòng của Xeonphi

- Các tập lệnh đặc biệt đối với 64-bit x86 - Khả năng SIMD thông qua vector 512-bit

- Hỗ trợ hiệu quả các phép toán học: nghịch đảo, căn bậc hai, hàm mũ

Các mô hình lập trình trên Xeonphi

Lập trình theo hướng Native

Thực thi theo hướng Native là toàn bộ chương trình chạy trên Intel Xeon Phi Xây dựng chương trình theo hướng native là một cách nhanh chóng cho phép chương trình có thể thực thi trên Intel Xeon Phi Song song hoá việc sử dụng dữ liệu và áp dụng giải thuật song song, để tối ưu hoá việc thực thi trên Xeon Phi

Complie chương trình để thực thi trên Xeon Phi bằng –mmic thông qua trình biên dịch ICC của Intel Sau khi chương trình được biên dịch, sử dụng ssh vào mic0 và upload chương trình và chạy trên Xeon Phi

Lập trình theo hướng Offload

Intel cung cấp một tập các Directive tới các Complier có tên gọi là “LEO”

(Language Extension for Offload) Các directive này quản lý việc chuyển và thực thi một phần code tới thiết bị Khi host và device không có bộ nhớ vật lý hay bộ nhớ ảo, các biến phải được sao chép từ host lên Xeon Phi

Offload đề cập tới việc viết chương trình từ góc nhìn thực thi trên processor(s) và offload thực hiện từ host tới một hoặc vài coprocessor Chương trình bắt đầu thực thi trên host, dựa trên code mà người dùng định nghĩa, vài phần của chương trình được offload lên một hay nhiều coprocessor

Offload là một cách lập trình tốt khi chương trình dành phần lớn thời gian để tính toán mà ít sử dụng đến I/O.

PHƯƠNG PHÁP GIẢI BÀI TOÁN SẮP XẾP THỜI KHOÁ BIỂU

Các ràng buộc

Bảng 4.1 Mô tả các ràng buộc

Mô tả Giá trị vi phạm

H1 Các môn học và tiết học trong danh sách

Input phải được xếp lịch

H2 Mỗi giáo viên có một danh sách thời gian mà giáo viên bận việc, không được sắp xếp thời gian giảng dạy vào thời gian mà giáo viên bận việc

H3 Các tiết của môn học trong cùng một chương trình giảng dạy hay được dạy bởi cùng một giảng viên phải được xếp vào các tiết học khác nhau

H4 Môn học thực hành phải được xếp vào phòng thực hành

H5 Không có 2 môn học nào được diễn ra cùng

1 phòng học tại một thời điểm

H6 Mỗi giáo viên chỉ được dạy 1 lớp học tại cùng 1 thời điểm

S1 Các tiết học của một môn học nên được xếp ở cùng một phòng học

Nếu môn học được sắp xếp vào nhiều phòng học, Mỗi phòng học được sử dụng được tính là 1 vi phạm S2 Phòng học phải lớn hơn số lượng sinh viên trong lớp

Mỗi sinh viên vượt quá sức chứa của phòng học được tính là 1 vi phạm

S3 Các tiết học trong cùng một khoá học nên được xếp gần nhau

Mỗi tiết học trong cùng một khoá không liền kề tiết học khác trong cùng một ngày được tính là 2 vi phạm

S4 Số tiết học trong từng môn học phải được trải dài với số ngày phải lớn hơn số ngày tối thiếu được quy định trong từng tiết học

Tổng số ngày giảng dạy của môn học nhỏ hơn số ngày quy định của môn học được tính là 5 vi phạm

Mô hình

Mỗi cá thể là một mảng 2 chiều A (MxN), các cột thể hiện thời gian, các dòng thể hiện phòng học Thời gian học là 5 ngày (từ thứ 2 đến thứ 6) mỗi ngày sẽ có 6 tiết học (số tiết học có thể thay đổi tuỳ theo dữ liệu đầu vào của dữ liệu) Nên M sẽ có giá trị là tối thiểu 30 Mỗi phần tử Aij, là tên môn học Để tối ưu hoá việc xử lý trên Xeon Phi Thay vì sử dụng mảng 2 chiều để định nghĩa một cá thể Ta sử dụng mảng một chiều A cũng với kích MxN phần tử Với M phần tử đầu tiên là số tiết học cho phòng học đầu M phần tử tiếp theo là thời gian cho phòng học thứ 2 và cứ tiếp tục như vậy Sử dụng mảng một chiều để tối đa hoá vectorization trong Xeon Phi

Hình 4.1 Mô hình cá thể theo mảng một chiều

Giải thuật di truyền mà một trong những lớp giải thuật hiệu quả để giải quyết bài toán lập lịch

1 input : file xml mô tả thông tin về số môn học, phòng học, tiết học và một số ràng buộc 2 Đặt thế hệ đầu tiên là g := 0;

3 {Khởi tạo ngẫu nhiên các cá thể trong quần thể}

4 for i: = 1 to N do 5 tạo ngẫu nhiên cá thể Si

6 áp dụng LocalSearch() cho cá thể Si

8 while (chưa thoả mãn điều kiện dừng) do 9 if ( g mod r ) == 0 then

11 endif Giải thuật 1: Tổng quan giải thuật di truyền với local search (GSGA)

12 cá thể con s1 được tạo thành bằng cấu trúc MEM hoặc bằng phép lai từ cá thể cha với xác xuất γ

13 cá thể con s2 được thành bằng đột biến với xác xuất Pm

14 tất cả các cá thể con được áp dụng LocalSearch() 15 thay thế những cá thể xấu nhất bằng các cá thể con 16 g:= g +1

17 endwhile 18 output : kết quả sẽ là cá thể tốt nhất trong quần thể

Khởi tạo cá thể và quần thể

Các cá thể được tạo ra một cách ngẫu nhiêu Mỗi gen được lựa chọn một các ngẫu nhiên Các bước tạo một cá thể:

Các môn học và giáo viên dạy môn học được gán bởi người quản trị, thông tin này có sẵn trong input đầu vào

B1 - Một môn học c từ danh sách các môn học có sẵn được chọn một cách ngẫu nhiên Nếu danh sách này rỗng quay về bước 5

B2 - Chọn ngẫu nhiên một phòng học i và một thời gian học j chưa có môn học, gán môn học vừa chọn ở bước 1 vào ô được chọn, A[i*M+j] = c, Nếu môn học là môn 2 tiết học thì cột tiếp theo A[i*M+j+1] = c,

B3 - Trừ số lượng tiết học của môn học được chọn tương ứng là 1 hoặc 2 tuỳ thuộc môn học đó có phải là tiết đôi hay không Nếu số lượng tiết học bằng không thì xoá môn học đó ra khỏi danh sách môn học

B4) Lặp lại B1, B2, B3 cho đến khi danh sách môn học rỗng

Lặp lại N lần việc tạo cá thể ta được quần thể N phần tử.

Phép lai

Để việc song song hoá trở nên hiệu quả, ta tối đa hoá vectorization trong Xeonphi bằng các sử dụng phép lai đa điểm Đầu tiên ta khởi tạo randSelect để lưu trữ các giá trị ngẫu nhiên trong khoảng [0, 1], sau đó lặp qua toàn bộ các tiết học và phòng học Nếu giá trị của randSelect[i] < 0.5 thì cá thể con lấy giá trị từ cha là A và ngược lại là cá thể B Phải tách riêng mảng randSelect vì nếu sử dụng hàm randomNumber trong vòng lặp for sẽ không sử dụng đặc tính vectorization

1 input: hai cá thể A và B

2 Tạo mảng randSelect để lưu trữ xác suất lựa chọn từng phần tử trong cá thể 3 for i:= 0 to MxN do

6 Khởi tạo 2 cá thể con C1 và C2 7 for i:= 0 to MxN do

Giải thuật 2: Phép lai hai cá thể A và B

14 endif 15 endfor 16 Áp dụng LocalSearch() vào cá thể con C1 và C2

17 output: hai cá thể con C1 và C2

Các cá thể được lựa chọn để lai ghép trong quần thể với xác suất lựa chọn là Pc

Khi số lượng cá thể được lựa chọn là số lẻ thì ta loại bỏ cá thể cuối cùng ra khỏi danh sách lựa chọn phép lai được sử dụng song song cho từng cặp cá thể cha trên Xeonphi thông qua openmp, mỗi cặp cá thể cha được lựa chọn sẽ được thực thi lai ghép trên một core của Xeonphi

1 Input: Quần thể với N cá thể 2 Khởi tạo mảng rỗng selectChorosome 3 count = 0

4 for i=1 to N do 5 rand = số ngẫu nhiên trong khoảng [0, 100]

6 if ( rand < Pc) then 7 selectChorosome[count] = cá thể i 8 count ++;

9 end if 10 end for 11 if (count là số lẻ) then 12 count ;

13 end if 14 #pragma omp parallel 15 # pragma omp for 16 for (i:= 0; i

Ngày đăng: 09/09/2024, 00:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] TS Nguyễn Đình Thúc: “Trí tuệ nhân tạo – Lập trình tiến hoá” Sách, tạp chí
Tiêu đề: “Trí tuệ nhân tạo – Lập trình tiến hoá
[2] Ossam Chohan: “University Scheduling using Genetic Algorithm”, Master Thesis, 2009 Sách, tạp chí
Tiêu đề: “University Scheduling using Genetic Algorithm”
[3] Sadaf Naseem Jata and Shengxiang Yang, “A Guided Search Genetic Algorithm for the University Course Timetabling Problem”, August 2009 Sách, tạp chí
Tiêu đề: “A Guided Search Genetic Algorithm for the University Course Timetabling Problem”
[4] Mohammad A. Al-Jarrah, Ahmad A. Al-Sawalqah and Sami F. Al-Hamdan, “Developing a course timeable system for academic departments using genetic algorithm”, 2017 Sách, tạp chí
Tiêu đề: Developing a course timeable system for academic departments using genetic algorithm
[5] Clark et al, “The repair-based timetable solver”, 2008 [6] Geiger, “The threshold acceptance metaheuristic”, 2008 Sách, tạp chí
Tiêu đề: The repair-based timetable solver”, 2008 [6] Geiger, “The threshold acceptance metaheuristic
[7] Lü and Hao, “Adaptive Tabu Search for course timetabling”, European Journal of Operational Research, 2010 Sách, tạp chí
Tiêu đề: Adaptive Tabu Search for course timetabling
[9] Mitchell Melanie : “Introduction to Genetic Algorithms”, fifth printing, 1999 [10] Jim Jeffers, James Reinders: “Intels Xeon Phi Coprocessor High- Performance Programming”, 2013 Sách, tạp chí
Tiêu đề: “Introduction to Genetic Algorithms”", fifth printing, 1999[10] Jim Jeffers, James Reinders: "“Intels Xeon Phi Coprocessor High- Performance Programming”
[11] Norm Matloff: “Programming on Parallel Machines”, University of California, Davis Sách, tạp chí
Tiêu đề: “Programming on Parallel Machines”
[12] Erick Cantú-Paz, “A Survey of Parallel Genetic Algorithms”, 1998 Sách, tạp chí
Tiêu đề: A Survey of Parallel Genetic Algorithms
[13] Edmund Kieran Burke and Sanja Petrovic, “Recent Research Directions in Automated Timetabling”, Accepted for publication in European Journal of Operational Research – EJOR, 2002 Sách, tạp chí
Tiêu đề: Recent Research Directions in Automated Timetabling
[14] Hertz. “Tabu Search for Large Scale Timetabling Problems”. European Jour- nal of Operational Research, 54: 39–47, 1991 Sách, tạp chí
Tiêu đề: Tabu Search for Large Scale Timetabling Problems
[16] K. Deb, S. Agrawal, A. Pratap, and T. Meyarivan. “A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. Proceed- ings of the 7th International Conference on Parallel Problem Solving from Nature”, pp.849–858, 2000 Sách, tạp chí
Tiêu đề: A fast elitist non-dominated sorting genetic algorithm for multi-objective optimization: NSGA-II. Proceed- ings of the 7th International Conference on Parallel Problem Solving from Nature
[17] Andrea Schaerf et al, “Benchmarking Curiculum-Base Course Timetabling: Formulations, Data Formats, Instances, Validation, and Results”, 2008 Sách, tạp chí
Tiêu đề: et al", “"Benchmarking Curiculum-Base Course Timetabling: "Formulations, Data Formats, Instances, Validation, and Results
[18] Alex Bonutti et al, “Curiculum-Based Course TimeTabling”, 2007, http://tabu.diegm.uniud.it/ctt/ Sách, tạp chí
Tiêu đề: et al", “Curiculum-Based Course TimeTabling

HÌNH ẢNH LIÊN QUAN

Hình 3.1 - Sơ đồ giải thuật GA - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 3.1 Sơ đồ giải thuật GA (Trang 19)
Hình 3.2 - Mô Hình Master – Slave - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 3.2 Mô Hình Master – Slave (Trang 20)
Hình 3.3 - Mô hình Fine-Grained với 8 nút ( processor) - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 3.3 Mô hình Fine-Grained với 8 nút ( processor) (Trang 20)
Hình 3.4 - Mô hình Coarse-Grained - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 3.4 Mô hình Coarse-Grained (Trang 21)
Hình 3.5 - Kiến trúc MIC - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 3.5 Kiến trúc MIC (Trang 22)
Hình 3.6 - Cấu trúc Vòng của Xeonphi - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 3.6 Cấu trúc Vòng của Xeonphi (Trang 23)
Bảng 4.1 Mô tả các ràng buộc - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Bảng 4.1 Mô tả các ràng buộc (Trang 25)
Hình 4.1 Mô hình cá thể theo mảng một chiều - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 4.1 Mô hình cá thể theo mảng một chiều (Trang 27)
Hình 4.2 Cấu trúc MEM - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 4.2 Cấu trúc MEM (Trang 35)
Bảng 5.1 - Thông số giải thuật GSGA - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Bảng 5.1 Thông số giải thuật GSGA (Trang 38)
Bảng 5.2 - Tập dữ liệu đầu vào - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Bảng 5.2 Tập dữ liệu đầu vào (Trang 39)
Bảng 5.3 - So sánh kết quả đạt được với 4 giải thuật khác - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Bảng 5.3 So sánh kết quả đạt được với 4 giải thuật khác (Trang 40)
Bảng 5.4 - So sánh kết quả đạt được với 4 giải thuật khác - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Bảng 5.4 So sánh kết quả đạt được với 4 giải thuật khác (Trang 40)
Hình 1. So sánh kết quả khi chạy tập dữ liệu Comp1. Kết quả đã là kết quả tối ưu với - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 1. So sánh kết quả khi chạy tập dữ liệu Comp1. Kết quả đã là kết quả tối ưu với (Trang 46)
Hình 1. So sánh kết quả khi chạy tập dữ liệu Comp11. Kết quả đã là kết quả tối ưu với - Luận văn thạc sĩ Khoa học máy tính: Thực hiện giải thuật sắp xếp thời khóa biểu trường đại học sử dụng giải thuật di truyền với bộ đồng xử lý intel xeon phi
Hình 1. So sánh kết quả khi chạy tập dữ liệu Comp11. Kết quả đã là kết quả tối ưu với (Trang 47)

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

TÀI LIỆU LIÊN QUAN