Đồ án HCMUTE: Ứng dụng giải thuật di truyền lập lịch hội đồng bảo vệ

Đồ án toán học nghiên cứu hcmute áp dụng giải thuật di truyền cho bài toán lập lịch hội đồng bảo vệ, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả thi

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2015

78
0
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

DANH MỤC TỪ VIẾT TẮT

DANH MỤC BẢNG BIỂU

DANH MỤC HÌNH ẢNH

PHẦN MỞ ĐẦU

1. GIỚI THIỆU ĐỀ TÀI

1.1. Lý do chọn đề tài

1.2. Đối tượng phạm vi nghiên cứu

1.3. Phương pháp tìm hiểu

1.4. Kết quả dự kiến

1.5. Bố cục của khóa luận

PHẦN NỘI DUNG

1. CHƯƠNG 1: TỔNG QUAN BÀI TOÁN LẬP LỊCH HỘI ĐỒNG BẢO VỆ LUẬN VĂN ĐẠI HỌC

1.1. Giới thiệu tổng quan về bài toán lập lịch

1.2. Bài toán lập lịch hội đồng bảo vệ luận văn đại học

1.2.1. Giới thiệu bài toán

1.2.2. Khảo sát hiện trạng và phân tích yêu cầu

1.2.3. Dữ liệu bài toán

1.2.4. Các bước cơ bản giải quyết bài toán

1.2.5. Phân tích yêu cầu

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Công nghệ sử dụng

2.1.1. Công nghệ LINQ

2.2. Phương pháp sử dụng

2.2.1. Giới thiệu giải thuật di truyền (GA)

2.2.2. Một số phương pháp khác

2.2.3. Các bước cơ bản của giải thuật di truyền

2.2.4. Cấu trúc giải thuật di truyền tổng quát

2.2.5. Các thành phần cơ bản của giải thuật di truyền

3. CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG LẬP LỊCH HỘI ĐỒNG BẢO VỆ LUẬN VĂN ĐẠI HỌC

3.1. Thiết kế cơ sở dữ liệu:

3.1.1. Xác định và mô tả chi tiết các thực thể:

3.1.2. Mô hình cơ sỡ dữ liệu:

3.1.3. Mô tả chi tiết thực thể:

3.2. Thiết kế giao diện

3.2.1. Form đăng nhập

3.2.2. Form đổi mật khẩu

3.2.3. Form quản lý danh sách giảng viên

3.2.4. Form quản lý danh sách sinh viên

3.2.5. Form quản lý danh sách đề tài

3.2.6. Form quản lý đăng ký đề tài

3.2.7. Form quản lý danh sách phòng

3.2.8. Form quản lý phân công đề tài

3.2.9. Form quản lý: nhập dữ liệu

3.2.10. Form lập lịch

3.2.11. Form hiệu chỉnh

3.2.12. Form xuất kết quả

3.3. Thiết kế xử lý

3.3.1. Giải thuật di truyền trong bài toán lập lịch

3.3.2. Các bước cơ bản khởi tạo một giải pháp

3.3.3. Lược đồ tuần tự

3.3.4. Hiệu chỉnh kết quả

3.3.5. Xuất kết quả

4. CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ

4.1. Kết quả chương trình

4.1.1. Form đăng nhập

4.1.2. Form danh mục quản lý danh sách đề tài

4.1.3. Form thực hiện chức năng xếp lịch

4.1.4. Form cho phép người dùng điều chỉnh kết quả

4.1.5. Form xuất kết quả

4.1.6. Kết quả khi xuất ra file excel

4.2. Kết quả kiểm thử

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết quả đạt được

5.2. Phạm vi ứng dụng

5.3. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Lập Lịch Hội Đồng Bảo Vệ Luận Văn Đại Học

Bài toán lập lịch là một bài toán tối ưu hóa, tìm kiếm cách thực hiện một tập các hoạt động với những ràng buộc nhất định. Việc lập lịch hội đồng bảo vệ luận văn đòi hỏi nhiều thời gian và công sức, đặc biệt khi số lượng sinh viên và giảng viên lớn. Giải quyết bài toán này một cách hiệu quả là nhu cầu cấp thiết. Các phương pháp như hệ thống tri thức, bài toán thỏa mãn ràng buộc, hệ chuyên gia, mạng Nơron, và đặc biệt là giải thuật di truyền có thể được áp dụng. Theo nghiên cứu của Nguyễn Thành Nhiên và Nguyễn Công Thành (2015) từ Đại học Sư phạm Kỹ thuật TP.HCM, giải thuật di truyền có tiềm năng lớn trong việc giải quyết bài toán này, hướng đến việc tối ưu hóa lịch và giảm thiểu xung đột. Cần xem xét các đặc trưng của bài toán lập lịch: tài nguyên (giảng viên, phòng, đề tài), tác vụ (bảo vệ luận văn), ràng buộc (thời gian biểu giảng viên, phòng trống), và mục tiêu (thời gian biểu tối ưu, giảm thiểu xung đột). Các ràng buộc có thể là cứng (bắt buộc) hoặc mềm (mong muốn). Giải thuật di truyền có thể giúp tìm ra lời giải chấp nhận được, thỏa mãn các ràng buộc cứng và cố gắng tối ưu hóa các ràng buộc mềm. Áp dụng giải thuật di truyền giúp phân công hội đồng một cách khoa học, giảm thiểu thời gian và công sức thủ công. Điều này mang lại lợi ích lớn cho khoa và trường đại học.

1.1. Bài Toán Lập Lịch Hội Đồng Bảo Vệ Luận Văn là gì

Bài toán lập lịch hội đồng bảo vệ luận văn là bài toán cụ thể của lập lịch, cần sắp xếp các sự kiện (bảo vệ luận văn) với danh sách giảng viên, sinh viên, đề tài, phòng, và bảng phân công nhiệm vụ. Mục tiêu là tìm phương án phân bố thời gian, phòng học và giảng viên thỏa mãn ràng buộc. Các ràng buộc cứng cần đảm bảo bao gồm: một giảng viên không tham gia quá một đề tài báo cáo tại một thời điểm, mỗi đề tài chỉ báo cáo một lần duy nhất, và một phòng chỉ sử dụng cho một đề tài tại một thời điểm. Các ràng buộc mềm có thể bao gồm: thời gian báo cáo ngắn nhất, thời gian tham gia hội đồng của giảng viên liên tiếp nhau, và giảng viên di chuyển giữa các phòng ít nhất. Giải quyết bài toán này đòi hỏi sự kết hợp của nhiều yếu tố và thường rất phức tạp khi thực hiện thủ công.

1.2. Các Yếu Tố Quan Trọng trong Phân Công Hội Đồng

Việc phân công hội đồng hiệu quả cần xem xét nhiều yếu tố quan trọng. Thứ nhất, cần đảm bảo không có sự trùng lặp hội đồng của một giảng viên tại cùng một thời điểm. Thứ hai, cần tối ưu hóa số lần di chuyển của giảng viên giữa các hội đồng. Thứ ba, thời gian tổ chức các buổi bảo vệ luận văn cần được rút ngắn tối đa. Cuối cùng, số lần di chuyển của giảng viên giữa các phòng cần giảm thiểu. Để đạt được mục tiêu này, cần thu thập đầy đủ dữ liệu đầu vào, bao gồm danh sách đề tài, giảng viên hướng dẫn, giảng viên phản biện, giảng viên ủy viên, sinh viên đăng ký đề tài, và danh sách phòng. Dữ liệu này cần được tổ chức một cách có hệ thống để thuận tiện cho việc áp dụng giải thuật di truyền. Theo kinh nghiệm thực tế, việc chuẩn bị dữ liệu đầu vào kỹ lưỡng đóng vai trò quan trọng trong sự thành công của ứng dụng giải thuật di truyền.

II. Vấn Đề Thách Thức Khi Lập Lịch Thủ Công Hội Đồng

Việc lập lịch hội đồng bảo vệ luận văn bằng phương pháp thủ công thường gặp nhiều khó khăn. Thứ nhất, công việc này tốn rất nhiều thời gian và công sức, đặc biệt khi số lượng sinh viên và giảng viên lớn. Thứ hai, dễ xảy ra sai sót và vi phạm các ràng buộc về nghiệp vụ, ví dụ như một giảng viên bị xếp lịch vào hai hội đồng cùng một lúc. Thứ ba, khó tối ưu hóa lịch, ví dụ như giảm thiểu số lần di chuyển của giảng viên giữa các phòng. Theo nhận xét của nhiều cán bộ quản lý đào tạo, việc lập lịch thủ công là một gánh nặng lớn mỗi khi đến kỳ bảo vệ luận văn. Do đó, nhu cầu ứng dụng công nghệ thông tin vào giải quyết bài toán này là rất lớn. Một hệ thống lập lịch tự động có thể giúp giảm thiểu thời gian và công sức, đảm bảo tuân thủ các ràng buộc, và tối ưu hóa kết quả.

2.1. Khó Khăn Trong Việc Đảm Bảo Các Ràng Buộc Nghiệp Vụ

Một trong những thách thức lớn nhất khi lập lịch thủ công là đảm bảo tuân thủ các ràng buộc nghiệp vụ. Ví dụ, cần đảm bảo mỗi giảng viên hướng dẫn (GVHD) không tham gia quá một đề tài báo cáo tại một thời điểm, mỗi đề tài chỉ báo cáo một lần duy nhất, và trong một khung thời gian, GVHD, giảng viên phản biện (GVPB) và giảng viên ủy viên (GVUV) không được tham gia quá một đề tài. Ngoài ra, cần đảm bảo một phòng chỉ được sử dụng cho một đề tài tại một thời điểm. Việc kiểm tra và đảm bảo các ràng buộc này một cách thủ công rất dễ xảy ra sai sót. Một hệ thống lập lịch tự động có thể giúp kiểm tra và đảm bảo các ràng buộc này một cách chính xác và hiệu quả.

2.2. Thiếu Khả Năng Tối Ưu Hóa Lịch và Giảm Thiểu Xung Đột

Ngoài việc đảm bảo tuân thủ các ràng buộc nghiệp vụ, việc tối ưu hóa lịch cũng là một thách thức lớn khi lập lịch thủ công. Ví dụ, cần cố gắng rút ngắn thời gian báo cáo tổng thể, giảm thiểu số lần di chuyển của giảng viên giữa các phòng, và đảm bảo thời gian tham gia các hội đồng của giảng viên liên tiếp nhau. Việc tối ưu hóa các yếu tố này đòi hỏi sự cân nhắc kỹ lưỡng và thường rất khó đạt được khi thực hiện thủ công. Giải thuật di truyền có thể giúp tìm ra các phương án lập lịch tốt hơn, tối ưu hóa các mục tiêu này một cách hiệu quả.

III. Phương Pháp Lập Lịch Hội Đồng Bằng Giải Thuật Di Truyền

Phương pháp lập lịch hội đồng bằng giải thuật di truyền (GA) là một giải pháp hiệu quả để giải quyết các vấn đề và thách thức khi lập lịch thủ công. Giải thuật di truyền là một thuật toán tìm kiếm tối ưu hóa dựa trên cơ chế tiến hóa tự nhiên. Thuật toán bắt đầu với một quần thể các giải pháp tiềm năng (cá thể), sau đó áp dụng các phép toán di truyền (chọn lọc, lai ghép, đột biến) để tạo ra các thế hệ giải pháp mới tốt hơn. Quá trình này lặp lại cho đến khi tìm được một giải pháp đủ tốt. Trong bài toán lập lịch hội đồng, mỗi cá thể có thể biểu diễn một phương án lập lịch, và độ thích nghi của cá thể được đánh giá dựa trên mức độ thỏa mãn các ràng buộc và mục tiêu tối ưu hóa. Các phép toán di truyền giúp tạo ra các phương án lập lịch mới, có khả năng tốt hơn các phương án hiện tại. Theo nghiên cứu của Nhiên và Thành (2015), việc áp dụng giải thuật di truyền có thể giúp tìm ra các phương án lập lịch hội đồng tối ưu, giảm thiểu thời gian và công sức, và đảm bảo tuân thủ các ràng buộc.

3.1. Các Bước Cơ Bản trong Giải Thuật Di Truyền cho Lập Lịch

Quá trình áp dụng giải thuật di truyền cho lập lịch hội đồng bao gồm các bước cơ bản sau: (1) Khởi tạo quần thể ban đầu: Tạo ra một tập hợp các phương án lập lịch ngẫu nhiên. (2) Đánh giá độ thích nghi: Tính toán độ thích nghi của mỗi phương án lập lịch, dựa trên mức độ thỏa mãn các ràng buộc và mục tiêu tối ưu hóa. (3) Chọn lọc: Chọn ra các phương án lập lịch tốt nhất để tạo ra thế hệ mới. (4) Lai ghép: Kết hợp các phương án lập lịch tốt để tạo ra các phương án mới. (5) Đột biến: Thay đổi ngẫu nhiên một số chi tiết của các phương án lập lịch mới. (6) Lặp lại các bước 2-5 cho đến khi tìm được một giải pháp đủ tốt. Quá trình này mô phỏng quá trình tiến hóa tự nhiên, trong đó các cá thể (phương án lập lịch) tốt nhất sẽ tồn tại và sinh sản, tạo ra các thế hệ sau tốt hơn.

3.2. Mã Hóa và Đánh Giá Độ Thích Nghi trong Thuật Toán Di Truyền

Việc mã hóa phương án lập lịch và đánh giá độ thích nghi đóng vai trò quan trọng trong hiệu quả của giải thuật di truyền. Mã hóa là quá trình biểu diễn một phương án lập lịch dưới dạng một chuỗi gen, sao cho máy tính có thể hiểu và xử lý. Ví dụ, có thể sử dụng một chuỗi số nguyên để biểu diễn thời gian, phòng học và giảng viên được phân công cho mỗi buổi bảo vệ. Đánh giá độ thích nghi là quá trình tính toán một giá trị số để đánh giá chất lượng của một phương án lập lịch. Giá trị này thường dựa trên mức độ thỏa mãn các ràng buộc và mục tiêu tối ưu hóa. Ví dụ, có thể cộng điểm cho việc tuân thủ các ràng buộc cứng và trừ điểm cho việc vi phạm các ràng buộc mềm. Một phương án lập lịch có độ thích nghi cao là phương án tốt hơn.

IV. Ứng Dụng Kết Quả Nghiên Cứu Về Lập Lịch Với GA

Nhiều nghiên cứu đã chứng minh hiệu quả của việc áp dụng giải thuật di truyền trong bài toán lập lịch. Ví dụ, nghiên cứu của Nguyễn Thành Nhiên và Nguyễn Công Thành (2015) đã xây dựng một phần mềm lập lịch hội đồng bảo vệ luận văn đại học dựa trên giải thuật di truyền. Kết quả cho thấy phần mềm có thể tạo ra các phương án lập lịch tối ưu, giảm thiểu thời gian và công sức so với phương pháp thủ công. Các ứng dụng thực tế cũng cho thấy giải thuật di truyền có thể giúp giải quyết các bài toán lập lịch phức tạp trong nhiều lĩnh vực khác nhau, như lập lịch sản xuất, lập lịch giao thông, và lập lịch dịch vụ. Tuy nhiên, cần lưu ý rằng hiệu quả của giải thuật di truyền phụ thuộc vào nhiều yếu tố, như cách mã hóa, cách đánh giá độ thích nghi, và cách lựa chọn các tham số của thuật toán.

4.1. Ưu Điểm của Giải Thuật Di Truyền trong Bài Toán Lập Lịch

Giải thuật di truyền có nhiều ưu điểm so với các phương pháp lập lịch khác. Thứ nhất, thuật toán có thể tìm kiếm trong một không gian giải pháp rộng lớn, giúp tìm ra các phương án lập lịch tốt hơn. Thứ hai, thuật toán có thể xử lý các ràng buộc và mục tiêu tối ưu hóa phức tạp. Thứ ba, thuật toán có thể thích ứng với các thay đổi trong dữ liệu đầu vào. Thứ tư, thuật toán tương đối dễ cài đặt và sử dụng. Tuy nhiên, giải thuật di truyền cũng có một số nhược điểm, như cần nhiều thời gian tính toán và có thể không tìm được giải pháp tối ưu toàn cục. Tuy vậy, các ưu điểm thường vượt trội hơn nhược điểm.

4.2. Hạn Chế Của Giải Thuật Di Truyền Và Cách Khắc Phục

Mặc dù có nhiều ưu điểm, giải thuật di truyền cũng tồn tại một số hạn chế. Một trong những hạn chế chính là thời gian tính toán có thể khá lớn, đặc biệt đối với các bài toán lập lịch phức tạp với không gian tìm kiếm rộng lớn. Để khắc phục hạn chế này, có thể sử dụng các kỹ thuật tối ưu hóa thuật toán, như sử dụng quần thể nhỏ hơn, giảm số lượng thế hệ, hoặc sử dụng các phép toán di truyền hiệu quả hơn. Một hạn chế khác là giải thuật di truyền có thể bị mắc kẹt trong các giải pháp tối ưu cục bộ. Để khắc phục hạn chế này, có thể sử dụng các kỹ thuật như đột biến mạnh hơn hoặc sử dụng các thuật toán tối ưu hóa khác để kết hợp với giải thuật di truyền. Cần lưu ý rằng việc lựa chọn các tham số của giải thuật di truyền cũng ảnh hưởng lớn đến hiệu quả của thuật toán, cần thử nghiệm và điều chỉnh để tìm ra các tham số phù hợp nhất.

4.3 Cải Tiến Giải Thuật Di Truyền Để Nâng Cao Hiệu Quả Thuật Toán

Để nâng cao hiệu quả thuật toán trong bài toán lập lịch, có thể thực hiện một số cải tiến cho giải thuật di truyền. Thứ nhất, có thể sử dụng các phương pháp khởi tạo quần thể ban đầu thông minh hơn, thay vì khởi tạo ngẫu nhiên. Ví dụ, có thể sử dụng các quy tắc heuristic để tạo ra các phương án lập lịch ban đầu tốt hơn. Thứ hai, có thể sử dụng các phép toán di truyền phức tạp hơn, như lai ghép đa điểm hoặc đột biến dựa trên tri thức miền. Thứ ba, có thể sử dụng các chiến lược chọn lọc thích ứng, trong đó tỷ lệ chọn lọc thay đổi theo thời gian hoặc theo hiệu suất của các cá thể. Thứ tư, có thể kết hợp giải thuật di truyền với các thuật toán tối ưu hóa khác, như thuật toán leo đồi hoặc thuật toán mô phỏng luyện kim. Theo dõi và đánh giá thuật toán giúp xác định các cải tiến phù hợp.

V. Kết Luận Hướng Phát Triển Cho Lập Lịch Hội Đồng Với GA

Tóm lại, việc áp dụng giải thuật di truyền cho bài toán lập lịch hội đồng bảo vệ luận văn là một hướng đi đầy tiềm năng. Giải thuật di truyền có thể giúp giảm thiểu thời gian và công sức, đảm bảo tuân thủ các ràng buộc, và tối ưu hóa kết quả. Tuy nhiên, cần lưu ý rằng hiệu quả của giải thuật di truyền phụ thuộc vào nhiều yếu tố và cần được điều chỉnh phù hợp với từng bài toán cụ thể. Trong tương lai, có thể nghiên cứu các phương pháp cải tiến giải thuật di truyền, kết hợp với các công nghệ khác, như trí tuệ nhân tạo và học máy, để tạo ra các hệ thống lập lịch thông minh và hiệu quả hơn.

5.1. Ưu Điểm Của Giải Thuật Di Truyền so với Thủ Công

So với phương pháp thủ công, việc sử dụng giải thuật di truyền mang lại nhiều ưu điểm. Thứ nhất, giúp tiết kiệm thời gian và công sức đáng kể, đặc biệt khi xử lý lượng lớn dữ liệu. Thứ hai, đảm bảo tính chính xác và khách quan trong quá trình phân công hội đồng, tránh các sai sót do yếu tố chủ quan. Thứ ba, dễ dàng thích ứng với các thay đổi trong dữ liệu đầu vào, giúp hệ thống linh hoạt hơn. Thứ tư, có khả năng tìm ra các phương án lập lịch tối ưu hơn, giúp cải thiện hiệu quả tổng thể của quá trình bảo vệ luận văn.

5.2. Triển Vọng và Hướng Đi Mới trong Nghiên Cứu Lập Lịch Hội Đồng

Trong tương lai, có nhiều hướng đi mới có thể được khám phá trong lĩnh vực lập lịch hội đồng sử dụng giải thuật di truyền. Một hướng đi là tích hợp giải thuật di truyền với các hệ thống quản lý thông tin khác, như hệ thống quản lý sinh viên và hệ thống quản lý giảng viên, để tự động hóa quá trình thu thập dữ liệu đầu vào. Một hướng đi khác là phát triển các giao diện người dùng thân thiện hơn, giúp người dùng dễ dàng điều chỉnh và kiểm soát quá trình lập lịch. Một hướng đi nữa là nghiên cứu các thuật toán tối ưu hóa khác, như thuật toán tối ưu hóa đàn kiến hoặc thuật toán tối ưu hóa bầy đàn, và so sánh hiệu quả của chúng với giải thuật di truyền. Quan trọng nhất là tiếp tục nghiên cứu khoa học và thử nghiệm thực tế để nâng cao hiệu quả của ứng dụng giải thuật di truyền trong bài toán lập lịch hội đồng.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

22/09/2025
Đồ án hcmute áp dụng giải thuật di truyền cho bài toán lập lịch hội đồng bảo vệ

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN BÀI TOÁN LẬP LỊCH Trang 8 Output:  Cho ra bảng kết quả lập lịch.  Thông tin cho biết:  GVPB, ủy viên được phân công cho hội đồng nào.  Thời gian địa điểm mà hội đồng báo cáo.  Đề tài tương ứng từng hội đồng.

 GV biết được thời gian, địa điểm của các đề tài mà mình được phân công.4 Các bước cơ bản giải quyết bài toán Để thực hiện được mục tiêu của bài toán, hệ thống cần xác định các chức năng chính:  Nhập liệu: Nhập danh sách các đề tài, GVHD, GVPB, ủy viên, các phòng, danh sách sinh viên và danh sách bảng đăng kí đề tài.  Thực hiện thao tác sắp xếp lập lịch tự động. Sau bước này sẽ có kết quả lập lịch do chương trình tự động tạo ra thỏa mãn các ràng buộc cứng và ràng buộc mềm.  Có thể hiệu chỉnh kết quả đạt được để cho ra kết quả tốt nhất như mong muốn.

CHƯƠNG 1: TỔNG QUAN BÀI TOÁN LẬP LỊCH Trang 9 1.5 Phân tích yêu cầu Lược đồ usecase: Hình 1-1: Lược đồ usecase tổng quát Mô tả chức năng:  Chức năng đăng nhập: Hệ thống cần quản lý người vào sử dụng hệ thống. Hệ thống chỉ cho phép người quản lý vào tránh trường hợp người lạ đăng nhập làm hư hao dữ liệu.  Nhóm chức năng quản lý hệ thống:  Đổi mật khẩu: Cho phép người dùng đổi mật khẩu truy cập hệ thống.  Đăng xuất: Cho phép người dùng đang xuất ra khỏi chương trình.

 Quản lý sinh viên, quản lý giảng viên, quản lý đề tài, quản lý đăng ký đề tài, quản lý phân công phản biện gồm các chức năng chính thêm, sửa, xóa.  Đối với chức năng xếp lịch khi tiến hành xếp lịch sẽ thực hiện chạy quá trình xếp lịch. Sau đó ta có thể xuất kết quả ra thành file có định dạng như PDF hay Excel bằng việc sử dụng chức năng in kết quả.  Ngoài ra còn có các chức năng như hiệu chỉnh kết quả, in kết quả theo phòng.

Người dùng cũng có thể thêm dữ liệu bằng cách nhập từ file excel. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trang 10 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Công nghệ sử dụng 2.5 là một thành phần có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp đã được code sẵn cho những yêu cầu thông thường của chương trình, quản lý thực thi các chương trình viết trên framework, người dùng cần phải cài đặt framework để có thể chạy chương trình .5 do Microsoft đưa ra và được sử dụng trong hầu hết các ứng dụng viết trên nền Windows. Những giải pháp được code sẵn hình thành nên một thư viện lớp của framework, được sử dụng trong nhiều lĩnh vực của lập trình như: giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, mã hóa, phát triển những ứng dụng web, các giải thuật số học và giao tiếp trên mạng.

Thư viện lớp của framework được lập trình viên sử dụng, kết hợp với code của chính mình để tạo nên các ứng dụng.2 Công nghệ LINQ Để giảm gánh nặng thao tác trên nhiều ngôn ngữ khác nhau và cải thiện năng suất lập trình, Microsoft đã phát triển giải pháp tích hợp dữ liệu cho .NET Framework có tên gọi là LINQ (Language Integrated Query) tạm dịch là ngôn ngữ tích hợp truy vấn, đây là thư viện mở rộng cho các ngôn ngữ lập trình C# và Visual Basic. [3] Điểm mạnh của LINQ là có thể viết truy vấn cho nhiều đối tượng dữ liệu. Từ cơ sở dữ liệu, XML, Data Object, thậm chí là truy vấn cho một biến mảng đã tạo ra trước đó. Vì thế ta có các khái niệm như LinQ to SQL, LinQ to XML.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trang 11 Các thành phần chính của LINQ: [4] Hình 2-1 Lược đồ tổng quan linq [5]  LinQ to Object: Sử dụng LinQ đối với các đối tượng Collection mà đã được thực thi giao diện IEnumerable hoặc IEnumerable<T> tức những collection có thể “liệt kê” được. Đây là trường hợp sử dụng đơn giản nhất của LINQ khi làm việc với dữ liệu.  LinQ to SQL: Là một phiên bản hiện thực hóa của ORM (object relation mapping) có bên trong .5, nó cho phép bạn mô hình hóa một cơ sở dữ liệu dùng các lớp. Sau đó ta có thể truy vấn cơ sở dữ liệu dùng LinQ, cũng như cập nhật, thêm, sửa, xóa dữ liệu từ đó một cách dễ dàng.

LinQ to SQL hỗ trợ đầy đủ transaction, view và các stored procedure (SP). Nó cũng cung cấp một cách dễ dàng để thêm khả năng kiểm tra tính hợp lệ của dữ liệu và các quy tắc trong mô hình dữ liệu của bạn.  LinQ to XML: Sử dụng LinQ với mục đích truy vấn dữ liệu được lưu trữ ở dạng file XML. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trang 12  LinQ to Datasets: Cho phép người lập trình sử dụng DataSets như một nguồn dữ liệu bình thường bằng các cú pháp truy vấn căn bản của LinQ.

 LinQ to Entities: Cho phép chúng ta có thể truy vấn các thực thể bên trong Entitiy Framework. LinQ với ADO.NET:  LinQ là tập mở rộng cho phép viết các câu truy vấn ngay trong các ngôn ngữ lập trình. Nó cho phép bạn làm việc với các kiểu tập hợp dữ liệu như XML, array và các cơ sở dữ liệu.NET là công nghệ cho phép các ứng dụng có thể kết nối và làm việc với các loại cơ sở dữ liệu khác nhau (truy vấn, cập nhật, thêm, sửa, xóa, gọi thủ tục).  Bản chất LinQ không phải là một công nghệ được tạo ra để thay thế ADO.NET, ta có thể làm việc với LinQ mà không cần kết nối đến cơ sở dữ liệu.

Tuy nhiên, LinQ to SQL là phần mở rộng của LinQ, cho phép ta có thể làm việc được với cơ sở dữ liệu SQL Server, trong trường hợp này ta có thể bỏ qua câu lệnh ADO.NET mà chỉ quan tâm tới cú pháp mà LinQ cung cấp.3 Giới thiệu về DEVExpress DevExpress là một Framework được viết cho nền tảng. Nó cung cấp các control và công nghệ để phục vụ cho việc thiết kế phát triển phần mềm, website. Nó giúp thiết kế form trở nên đẹp hơn và giúp công việc lập trình trở nên đơn giản hơn. Các thành phần của DevExpress gồm: [6]  WinForms Controls: Cung cấp các control cho WinForms.NET Controls: Cung cấp các control cho WebForms.

 WPT Controls: Cung cấp các control cho WPT. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trang 13  Silverlight Control: Cung cấp các control cho Silverlight.  XtraCharts Control: Cung cấp các loại biểu đồ.  XtraReports: Cung cấp các control tạo báo cáo.

 XPO: Cung cấp môi trường làm việc với database.  XAF: Một công nghệ mới giúp việc phát triển phần mềm một cách nhanh chóng. Trải qua hàng loạt phiên bản, DevExpress đã từng bước nâng cấp, hoàn thiện và thêm mới rất nhiều chức năng. Với các phiên bản hiện nay, DevExpress đã cung cấp những công cụ, môi trường để biến những ý tưởng thành hiện thực một cách nhanh chóng, dễ dàng.

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trang 14 2.2 Phương pháp sử dụng 2.1 Giới thiệu giải thuật di truyền (GA) Giải thuật di truyền (GAs: Genetic Algorithms) hình thành dựa trên ý tưởng mô phỏng quá trình tiến hóa của sinh vật trong tự nhiên vào các bài toán tối ưu để tìm ra lời giải tương đối tối ưu. Tính tối ưu được thể hiện ở chỗ thế hệ sau bao giờ cũng phát triển hơn, hoàn thiện hơn thế hệ trước. Quá trình tiến hóa trong tự nhiên được duy trì thông qua quá trình sinh sản và chọn lọc tự nhiên, trong quá trình tiến hóa này, các thế hệ mới sinh ra sẽ dần bổ xung thay thế cho thế hệ cũ, các cá thể thích ứng với môi trường tốt hơn sẽ tồn tại và các cá thể kém thích nghi sẽ dần bị đào thải. [7] Xuất phát từ một tập các giải pháp ban đầu, GA sẽ tiến hành xây dựng nên lớp giải pháp mới tốt hơn từ các giải pháp ban đầu thông qua quá trình chọn lọc, lai ghép, đột biến từ tập giải pháp ban đầu.

Quần thể giải pháp sẽ trải qua quá trình tiến hóa và ở mỗi giai đoạn sẽ bổ xung các giải pháp tương đối tốt, đồng thời loại bỏ các giải pháp chưa tốt để dần tiến tới giải pháp tối ưu nhất. Trong giải thuật di truyền ta có thể xem các cá thể trong một quần thể là các chuỗi hay các nhiễm sắc thể. Các nhiễm sắc thể được tạo thành từ các đơn vị là các gen biễu diễn trong một chuỗi tuyến tính. Mỗi cá thể sẽ biểu diễn một lời giải của bài toán đang giải; một tiến trình tiến hóa được thực hiện trên một quần thể nhiễm sắc thể tương ứng với quá trình tìm kiếm lời giải trong không gian lời giải.[8] Trong lĩnh vực lập lịch, giải thuật di truyền đã được sử dụng rất nhiều cho các bài toán lập lịch.

Về cơ bản, bài toán lập lịch được coi là việc gắn các mốc thời gian thực hiện cho các công việc sao cho phù hợp với khả năng về tài nguyên. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Trang 15 2.2 Một số phương pháp khác Phương pháp leo đồi Phương pháp leo đồi sử dụng kỹ thuật lặp và áp dụng cho một điểm duy nhất (điểm tồn tại trong không gian tìm kiếm). Với mỗi bước lặp, một điểm mới được chọn từ các điểm lân cận của điểm hiện tại. Vì thế leo đồi được gọi là phương pháp tìm kiếm lân cận hay tìm kiếm cục bộ.

Nếu điểm mới cho giá trị (của hàm mục tiêu) tốt hơn, điểm mới sẽ trở thành điểm hiện tại. Ngược lại, một điểm lân cận khác sẽ được chọn và thử. Quá trình này sẽ dừng nếu không thêm được lời giải tốt hơn lời giải hiện hành. [8] Từ đó ta thấy rõ phương pháp leo đồi chỉ cung cấp các giá trị tối ưu cục bộ và những giá trị này phụ thuộc vào điểm bắt đầu.

Do vậy, để tăng cơ hội thành công, phương pháp leo đồi thường phải được thực hiện nhiều lần; mỗi lần với một điểm bất đầu khác nhau. [8] Phương pháp mô phỏng luyện thép Kỹ thuật mô phỏng luyện thép là một kỹ thuật khắc phục những nhược điểm của phương pháp leo đồi: Lời giải không phải phụ thuộc nhiều vào điểm bất đầu nữa và thường là gần với điểm tối ưu hơn. Đạt được điều này là nhờ đưa vào xác suất nhận p. Xác suất p là hàm theo giá trị của hàm mục tiêu đối với điểm hiện tại và điểm mới, và một tham số điều khiển bổ sung, tham số “nhiệt độ” T.

Nói chung nhiệt độ T càng thấp thì cơ hội nhận điểm mới càng thấp.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ