Tổng quan luận án

Luận án tiến sĩ với đề tài "Ứng dụng thuật giải di truyền các bài toán hàm mục tiêu nhiều biến" (tiêu đề trong hồ sơ nghiên cứu: "Ứng dụng thuật giải di truyền trong giải bài toán tối ưu") được nghiên cứu sinh Lê Chí Luận thực hiện dưới sự hướng dẫn của cán bộ hướng dẫn có học hàm, học vị Phó Giáo sư - Tiến sĩ Khoa học (PGS.TSKH) tại Trường Đại học Kinh tế thuộc Đại học Quốc gia Hà Nội, hoàn thành năm 2008 thuộc chuyên ngành Công nghệ thông tin (Mã số: 101 10).

Tính cấp thiết và khoảng trống nghiên cứu

Theo phần mở đầu của luận án, sự phát triển của công nghệ phần cứng và kỹ thuật truyền thông trong các thập niên gần đây đã thúc đẩy sự hình thành và mở rộng các hệ thống dữ liệu phức tạp phục vụ hoạt động kinh tế, xã hội và kỹ thuật. Trong bối cảnh đó, các bài toán tối ưu hóa nảy sinh ngày càng nhiều và đòi hỏi năng lực xử lý cao.

Khoảng trống nghiên cứu được tác giả xác định xuất phát từ giới hạn của các phương pháp truyền thống:

  • Phương pháp giải tích và công thức toán học cổ điển: Cho kết quả chính xác nhưng đòi hỏi phải thiết lập được mô hình toán học tường minh và đặt ra nhiều giả thiết khó đáp ứng trong điều kiện vận hành thực tế.
  • Phương pháp hệ chuyên gia (Expert Systems): Phụ thuộc vào tri thức chuyên gia, gặp khó khăn khi thu thập dữ liệu do sự bất hợp tác hoặc kỹ thuật thu thập không thích ứng; đồng thời không thể giải quyết được các tình huống mới chưa từng phát sinh trong quá khứ.
  • Phương pháp tìm kiếm ngẫu nhiên và vét cạn: Không khả thi khi không gian trạng thái quá lớn (ví dụ với bài toán có không gian $10^{30}$, nếu một máy tính xử lý 1 tỷ trường hợp mỗi giây thì cần thời gian tương đương tuổi của Trái Đất để duyệt qua một nửa không gian).
  • Phương pháp leo núi (Hill-climbing): Dễ rơi vào và bị kẹt tại các điểm tối ưu cục bộ khi không gian tìm kiếm có nhiều đỉnh cực trị phụ.

Do đó, việc nghiên cứu cơ chế tiến hóa phỏng sinh học và ứng dụng thuật giải di truyền (Genetic Algorithms - GA) nhằm tìm kiếm giải pháp tối ưu cho các bài toán hàm mục tiêu nhiều biến liên tục và bài toán tổ hợp phức tạp là yêu cầu thực tế cấp thiết.

Mục tiêu và câu hỏi nghiên cứu

Mục tiêu tổng quát của luận án bao gồm:

  1. Hệ thống hóa nền tảng lý thuyết và cơ chế hoạt động của thuật giải di truyền, bao gồm các phương pháp mã hóa dữ liệu, xác định độ thích nghi, và các toán tử tiến hóa (chọn lọc, lai ghép, đột biến).
  2. Xây dựng mô hình và phương pháp luận áp dụng thuật giải di truyền để giải quyết bài toán tối ưu hóa hàm mục tiêu nhiều biến liên tục và bài toán tối ưu tổ hợp.
  3. Cài đặt các hàm thuật toán, xây dựng chương trình thử nghiệm để đánh giá khả năng cân bằng và tìm kiếm nghiệm tối ưu của thuật toán di truyền trên mô hình thực tế.

Câu hỏi nghiên cứu được đặt ra:

  1. Thuật giải di truyền hoạt động dựa trên những nguyên tắc, tính chất và toán tử cơ bản nào để khắc phục hiện tượng rơi vào cực trị cục bộ?
  2. Làm thế nào để biểu diễn không gian nghiệm nhiều biến (bằng chuỗi nhị phân hoặc chuỗi số thực) và tối ưu hóa chi phí bộ nhớ cùng tốc độ truy xuất trên máy tính?
  3. Thiết lập hàm thích nghi và cơ chế chọn lọc thế nào để vừa duy trì áp lực chọn lọc vừa bảo tồn tính đa dạng di truyền thông qua độ phân ly?
  4. Hiệu quả giải quyết của thuật giải di truyền đối với bài toán cực tiểu hàm $N$ biến liên tục, bài toán lập lịch/thời khóa biểu và bài toán người bán hàng (Travelling Salesman Problem - TSP) đạt mức độ nào?

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

  • Đối tượng nghiên cứu: Lý thuyết thuật giải di truyền, cấu trúc nhiễm sắc thể, hàm thích nghi, các toán tử tiến hóa (lai ghép đơn điểm, đa điểm, mặt nạ, tạo sinh đường, tạo sinh tức thời; đột biến nhị phân, đột biến giá trị thực) và các lớp bài toán tối ưu hóa hàm nhiều biến, bài toán lập lịch, bài toán người bán hàng.
  • Phạm vi nghiên cứu:
    • Về mặt toán học: Tập trung vào bài toán cực tiểu hóa hàm số $f$ với $n$ biến liên tục và các bài toán tối ưu rời rạc có ràng buộc cứng/mềm.
    • Về mặt kỹ thuật cài đặt: Sử dụng các kiểu dữ liệu mảng byte, mảng byte nén, mảng số nguyên tối ưu theo độ dài từ của máy tính (sử dụng ngôn ngữ lập trình Pascal và C/C++).
    • Về mặt thực nghiệm: Đánh giá quá trình hội tụ và khả năng cân bằng hệ thống thông qua các hàm mô phỏng và bài toán thực nghiệm.

Tổng quan tài liệu và vị trí của luận án

Luận án điểm lại các mốc phát triển chính của thuật giải di truyền từ thập niên 1950 đến thời điểm nghiên cứu:

Tác giả / Tổ chức Năm / Thời kỳ Đóng góp và công trình ghi nhận trong luận án
Fraser Thập niên 1950 - 1960 Người đầu tiên nêu lên sự tương đồng giữa quá trình tiến hóa của sinh vật và chương trình tin học giả tưởng.
John Henry Holland 1975 Xuất bản cuốn sách nền tảng "Adaptation in Natural and Artificial Systems", được xem là người khai sinh học thuyết thuật giải di truyền tại Đại học Michigan.
Kenneth De Jong & David E. Goldberg Thập niên 1970 - 1980 Phát triển cơ sở lý thuyết, phân tích tham số tiến hóa (xác định tỉ lệ lai ghép trung bình khoảng 0.6, tỉ lệ đột biến khoảng 0.001, tỉ lệ tạo sinh 0.399). De Jong làm chủ biên nguyệt san Evolutionary Computation (1993).
David E. Goldberg Đầu thập niên 1980 Ứng dụng GA đầu tiên vào kỹ thuật với đề tài "Computer Aided Gas Pipeline Operation using Genetic Algorithms and Rule learning", dùng ngôn ngữ Pascal trên máy Apple II điều phối mạng lưới bơm van đường ống dẫn khí.
General Electric Co. (GE) Thập niên 1980 - 1990 Phát triển phần mềm Engineous dùng GA tối ưu hóa thiết kế động cơ máy bay Boeing, cánh quạt tuabin nhiệt điện, cánh quạt tuabin nhà máy điện nguyên tử.
Naval Surface Weapons Center (Bethesda) - Ứng dụng công cụ Engineous để thiết kế cánh quạt tàu ngầm.
Chuck Karr - Kết hợp GA và Logic mờ (Fuzzy Logic) trong luận án tiến sĩ để chế tạo dụng cụ đo lường ngành mỏ, điều chỉnh độ pH môi trường và thiết lập bộ kiểm soát trực thăng.
Adolph Coors Company (ACC) - Ứng dụng GA giải bài toán lập kế hoạch sản xuất cho hơn 500 mặt hàng và 16 dây chuyền sản xuất, thay thế cơ chế "đến trước phục vụ trước" (First-Come First-Served).

Vị trí của luận án: Luận án tiếp thu các nguyên lý nền tảng của Holland và Goldberg, hệ thống hóa chi tiết các phương pháp biểu diễn nhiễm sắc thể (nhị phân, số thực, cây) và các kỹ thuật chọn lọc theo độ phân ly, sau đó mở rộng áp dụng trực tiếp vào lớp bài toán hàm mục tiêu nhiều biến và bài toán tối ưu tổ hợp có ràng buộc phức tạp.


Cơ sở lý thuyết và phương pháp nghiên cứu

Cơ sở lý thuyết và khung phân tích

Luận án dựa trên lý thuyết tính toán tiến hóa (Evolutionary Computation) và các nguyên lý di truyền học sinh học:

  • Khái niệm nhiễm sắc thể (Chromosome) biểu diễn cho một cấu trúc dữ liệu mang thông tin của nghiệm.
  • Quần thể (Population) gồm tập hợp các cá thể (giải pháp tiềm năng).
  • Hàm thích nghi (Fitness Function) và giá trị thích nghi (Fitness Value) đóng vai trò môi trường đánh giá chất lượng nghiệm.
  • Các toán tử sinh học phỏng sinh: Tái sinh (Reproduction), Lai ghép (Crossover), Đột biến (Mutation), Chọn lọc (Selection).

Khung thuật toán tổng quát được xác định qua chu trình:

  1. Thiết lập $t = 0$; Khởi tạo quần thể ban đầu $P(0)$;
  2. Tính độ thích nghi cho các cá thể thuộc $P(t)$;
  3. Vòng lặp khi điều kiện dừng chưa thỏa mãn ($t = t + 1$):
    • Tái sinh $P'(t)$ từ $P(t)$;
    • Lai ghép tạo tập cá thể con $Q(t)$ từ $P(t-1)$;
    • Đột biến tạo tập cá thể biến đổi $R(t)$ từ $P(t-1)$;
    • Chọn lọc thế hệ mới $P(t)$ từ tập hợp $P(t-1) \cup Q(t) \cup R(t) \cup P'(t)$;
  4. Trả về cá thể có độ thích nghi cao nhất.

Phương pháp nghiên cứu thực tế

Luận án kết hợp giữa phương pháp phân tích mô hình hóa toán học và phương pháp thực nghiệm lập trình mô phỏng:

  • Phương pháp biểu diễn và tối ưu không gian nhớ:

    • Mã hóa chuỗi nhị phân: Cài đặt mảng Byte thông thường (ARRAY[0..N-1] OF BYTE hoặc unsigned char Cgen[N]), mảng Byte nén (mỗi byte lưu 8 bit, truy xuất vị trí byte bằng phép chia nguyên n SHR 3 hoặc n >> 3, xác định vị trí bit bằng phép toán n AND 7 hoặc n & 7), và mảng Integer nén phụ thuộc vào độ dài từ của hệ thống thông qua toán tử sizeof.
    • Lượng hóa số thực: Biểu diễn số thực $x \in [\min, \max]$ bằng chuỗi nhị phân độ dài $L$ bit với độ chính xác lượng hóa $g = \frac{\max - \min}{2^L - 1}$, giá trị giải mã được tính bởi công thức: $$x = \min + \text{Decimal}(\langle A \rangle) \times g$$ trong đó $\text{Decimal}(\langle A \rangle) = \sum_{i=0}^{L-1} a_i 2^i$.
    • Mã hóa chuỗi số thực: Biểu diễn nghiệm dưới dạng mảng số thực (ARRAY[0..N-1] OF real hoặc float Cgen[N]).
    • Cấu trúc cây: Sử dụng cây 2 nhánh thông qua biến con trỏ.
  • Kỹ thuật đánh giá độ thích nghi:

    • Độ thích nghi tiêu chuẩn: Chuẩn hóa theo tổng quần thể: $$F(a_i) = \frac{G(a_i)}{\sum_{j=1}^N G(a_j)}$$
    • Độ thích nghi xếp hạng: Khắc phục hiện tượng hội tụ cục bộ do một vài cá thể vượt trội gây ra, xác suất chọn của cá thể xếp thứ $i$ được tính theo công thức: $$F(i) = p \times (1 - p)^{i-1} \quad (p \in [0, 1])$$
    • Độ thích nghi xếp hạng dựa trên độ phân ly: Đưa thêm thước đo khoảng cách phân ly của cá thể đối với toàn quần thể: $$P(a_i) = \sum_{j=1, j \neq i}^N \frac{1}{|G(a_i) - G(a_j)|}$$ Giá trị $P(a_i)$ càng bé thì độ phân ly càng lớn. Hạng tổng hợp được xác định bằng tổng hạng theo $G(a_i)$ và hạng theo $P(a_i)$ để bảo tồn các cá thể ở biên không gian tìm kiếm.

Nội dung chính theo từng chương

Chương 1: Thuật giải di truyền

Chương 1 tập trung trình bày toàn diện lý thuyết nền tảng của thuật giải di truyền, phân loại các toán tử và minh họa các bài toán mẫu:

1. Các toán tử tiến hóa cơ bản

  • Toán tử chọn lọc:
    • Chọn lọc xén (Truncation Selection): Sắp xếp quần thể giảm dần theo độ thích nghi và chọn ra tỉ lệ phần trăm $\text{Trunc}$ (ví dụ $\text{Trunc} = 50%$) cá thể tốt nhất để tham gia sinh sản.
    • Chọn lọc nhiều lần: Phân chia nhóm ngẫu nhiên để chọn lọc.
    • Chọn lọc đấu loại (Tournament Selection): Cho các nhóm nhỏ thi đấu trực tiếp theo giá trị hàm thích nghi.
  • Toán tử lai ghép:
    • Lai ghép đơn điểm: Chọn vị trí cắt $k \in [2, N-1]$ chia chuỗi cha mẹ thành hai phần rồi hoán đổi.
    • Lai ghép đa điểm: Chọn các vị trí cắt $k_1, k_2, \dots, k_m$ chia chuỗi thành $m+1$ đoạn, giữ nguyên đoạn vị trí lẻ và hoán đổi đoạn vị trí chẵn.
    • Lai ghép mặt nạ: Sử dụng hai chuỗi nhị phân mặt nạ $m_A$ và $m_B$ (thường chọn $m_A = \text{NOT } m_B$) để sao chép từng gen tương ứng.
    • Tạo sinh đường (Line Recombination): Áp dụng cho chuỗi số thực: $$C_i = \min(A_i, B_i) + \alpha |B_i - A_i| \quad (\alpha \in [-d, 1+d])$$
    • Tạo sinh tức thời: Sử dụng một dãy hệ số ngẫu nhiên $\alpha_i$ riêng biệt cho từng thành phần gen.
  • Toán tử đột biến:
    • Đột biến nhị phân: Đảo giá trị bit $0 \leftrightarrow 1$ tại vị trí ngẫu nhiên với xác suất $p_m$.
    • Đột biến trị thực: Biến đổi giá trị gen $A$ thành $A' = A + S \times \text{range} \times \text{delta}$, trong đó $S \in {-1, 1}$, $\text{range} \le \text{độ lớn miền xác định} \times 0.1$, $\text{delta} = \sum_{i=1}^{20} a_i 2^{-i}$ với $a_i = 1$ có xác suất $\frac{1}{20}$. Xác suất đột biến được khuyến nghị chọn tỉ lệ nghịch với chiều dài gen ($1/N$).

2. Các ví dụ minh họa và bài toán áp dụng trong Chương 1

  • Bài toán giải phương trình $X^2 = 64$: Tác giả thiết lập hàm thích nghi $F = 1000 - |X^2 - 64|$. Quần thể ban đầu gồm 4 cá thể nhị phân độ dài 5 bit.

| STT | Chuỗi nhị phân ban đầu | Giá trị thập phân | $|X^2 - 64|$ | Độ thích nghi ban đầu | Quá trình lai ghép (điểm cắt giữa bit 3 và 4) | Chuỗi mới tạo thành | Giá trị thập phân mới | Độ thích nghi sau lai ghép | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | 1 | 00100 | 4 | 48 | 952 | Chọn lai ghép với cá thể 3 | 00100 (giữ lại) | 4 | 952 | | 2 | 10101 | 21 | 377 | 623 | Bị loại thải (thích nghi thấp) | 01000 (con lai 1) | 8 | 1000 | | 3 | 01010 | 10 | 36 | 964 | Chọn lai ghép với cá thể 1 | 01010 (giữ lại) | 10 | 964 | | 4 | 11000 | 24 | 512 | 488 | Bị loại thải (thích nghi thấp) | 00110 (con lai 2) | 6 | 968 |

Kết quả sau 1 thế hệ lai ghép đã tìm ra chính xác nghiệm tối ưu $X = 8$ (01000) với độ thích nghi cực đại bằng 1000.

  • Bài toán lập lịch sửa chữa ô tô: Gồm $n$ ô tô sẵn sàng tại thời điểm $r_i = 0$, mỗi ô tô có thời gian sửa $t_i$ và hạn định hoàn thành $d_i$. Nhà máy xử lý liên tục từng xe không ngắt quãng. Ví dụ với 7 xe: $X_1(d_1=7, t_1=3)$, $X_2(5, 2)$, $X_3(8, 4)$, $X_4(12, 4)$, $X_5(17, 6)$, $X_6(9, 2)$, $X_7(20, 5)$. Nếu xử lý tuần tự $X_1 \to X_7$ chỉ có 2 xe đúng hạn; nếu sắp xếp tối ưu theo thứ tự $X_2, X_1, X_6, X_4, X_5, X_3, X_7$ thì số lượng xe đúng hạn tăng lên 5 xe.

  • Bài toán lập thời khóa biểu: Mô hình hóa lịch học thành ma trận kích thước $K$ dòng (số lớp) và 30 cột (6 giờ/ngày $\times$ 5 ngày/tuần).

    • Ràng buộc cứng: Giáo viên không dạy 2 lớp cùng giờ; mỗi lớp chỉ học 1 môn tại 1 giờ; môn học trong lớp do 1 giáo viên duy nhất phụ trách; giáo viên dạy không quá 20 giờ/tuần.
    • Ràng buộc mềm: Giờ trống của lớp; môn học lặp lại trong ngày; độ đồng đều giờ dạy giữa các giáo viên.
    • Hàm thích nghi được thiết lập dựa trên tỉ lệ vi phạm ràng buộc: $$\text{Fitness} = (100 - X) + (20 - Y) + \text{bonus}$$ trong đó $X$ là tỉ lệ lỗi trung bình ràng buộc cứng, $Y$ là tỉ lệ lỗi trung bình ràng buộc mềm (nhân hệ số 0.2).

Chương 2: Ứng dụng giải thuật di truyền để giải các bài toán tối ưu nhiều biến

Chương 2 trình bày phương pháp luận và kỹ thuật giải quyết các bài toán tối ưu hóa trong không gian nhiều chiều:

  • Biểu diễn biến nhiều chiều bằng vectơ nhị phân: Nghiệm của bài toán gồm $n$ biến $(x_1, x_2, \dots, x_n)$ được mã hóa bằng cách ghép nối tiếp các đoạn nhị phân biểu diễn từng biến thành một nhiễm sắc thể duy nhất có chiều dài $L = \sum_{j=1}^n L_j$.
  • Thiết kế các toán tử đa biến:
    • Toán tử chọn lọc cá thể (select).
    • Toán tử lai ghép (crossover) đa điểm trên các ranh giới biến hoặc lai ghép ngẫu nhiên.
    • Toán tử đột biến (mutation) kiểm soát theo từng thành phần biến.
  • Lớp bài toán khảo sát:
    • Bài toán cực tiểu hàm số $f$ với $n$ biến liên tục: Xây dựng hàm thích nghi nghịch đảo hoặc hàm chuyển đổi tương ứng với bài toán tìm cực tiểu.
    • Bài toán 1: Bài toán cực tiểu hàm với $N$ biến.
    • Bài toán 2 - Bài toán người bán hàng (Travelling Salesman Problem - TSP): Khảo sát bài toán tìm hành trình ngắn nhất đi qua các thành phố (quy mô thử nghiệm lên tới 120 nút/thành phố).

Chương 3: Phân tích và cài đặt thử nghiệm

Chương 3 trình bày chi tiết việc cài đặt chương trình và kết quả thử nghiệm:

  • Cấu trúc các mô-đun hàm thuật toán được cài đặt:
    • Hàm khởi tạo giá trị ngẫu nhiên.
    • Hàm khởi tạo giá trị nhị phân (0 hoặc 1) theo phân phối xác suất.
    • Hàm tính trị số thích nghi (Fitness evaluation).
    • Hàm chọn lọc cá thể (select).
    • Hàm mô phỏng toán tử đột biến (mutation).
    • Hàm mô phỏng toán tử lai ghép (crossover).
    • Hàm khởi tạo quần thể ban đầu.
    • Hàm tạo sinh và hàm tái tạo quần thể (reproduction).
    • Hàm điều phối toàn bộ các bước của thuật giải di truyền.
  • Thử nghiệm trên mô hình cân bằng hệ thống: Tác giả đưa ra minh họa thiết bị thí nghiệm trước khi cân bằng và trạng thái hội tụ đạt trạng thái cân bằng sau quá trình tối ưu hóa bằng thuật toán di truyền.

Kết quả và những đóng góp mới

Dựa trên các nội dung trình bày trong luận án, các kết quả và đóng góp được tổng hợp như sau:

Đóng góp về mặt lý luận và kỹ thuật

  1. Hệ thống hóa đầy đủ cơ chế hoạt động của thuật giải di truyền từ các toán tử mã hóa, đánh giá thích nghi, lai ghép, đột biến đến chọn lọc.
  2. Xây dựng giải pháp kỹ thuật biểu diễn dữ liệu nhị phân nén (mảng byte nén và mảng integer nén) giúp giảm thiểu dung lượng bộ nhớ tiêu tốn gấp 8 lần so với mảng byte thông thường, đồng thời tối ưu hóa tốc độ tính toán dựa trên các phép toán thao tác bit (SHR, AND, phép dịch bit).
  3. Đề xuất phương pháp tính độ thích nghi xếp hạng kết hợp với độ phân ly cá thể $P(a_i)$, cho phép bảo toàn các cá thể dị biệt ở xa vùng tập trung, tránh hiện tượng quần thể bị hút sớm vào các điểm cực trị cục bộ.

Đóng góp về mặt thực tiễn

  1. Xây dựng thuật toán và công thức hàm thích nghi giải quyết bài toán lập thời khóa biểu thực tế với hệ thống ràng buộc cứng và mềm phức tạp.
  2. Cài đặt hoàn chỉnh bộ chương trình thử nghiệm bằng ngôn ngữ lập trình cho phép giải quyết bài toán cực tiểu hàm $N$ biến liên tục và bài toán tối ưu tổ hợp TSP quy mô 120 điểm.
  3. Ứng dụng thành công thuật toán vào bài toán mô phỏng cân bằng thiết bị thí nghiệm.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế

  • Các bài toán thử nghiệm tập trung chủ yếu vào mô hình mô phỏng, bài toán tối ưu hàm giải tích nhiều biến và bài toán tổ hợp kinh điển (TSP 120 điểm, lập lịch).
  • Thao tác truy xuất trên cấu trúc mảng byte nén và bit đòi hỏi thêm các phép toán xử lý bit trung gian nên thời gian truy xuất từng bit riêng lẻ chậm hơn so với mảng byte trực tiếp.

Hướng nghiên cứu tiếp

  • Mở rộng nghiên cứu kết hợp thuật giải di truyền với các kỹ thuật trí tuệ nhân tạo khác như Mạng nơ-ron nhân tạo (ANN) và Logic mờ (Fuzzy Logic) để giải quyết các bài toán điều khiển và tối ưu động trong thời gian thực.
  • Cải tiến các toán tử lai ghép và đột biến thích nghi theo từng giai đoạn tiến hóa để tăng tốc độ hội tụ khi giải các bài toán tối ưu hàm số có số lượng biến lớn hơn.

Giá trị tham khảo

Luận án là tài liệu tham khảo chuyên khảo trong lĩnh vực Công nghệ thông tin và Toán ứng dụng:

  • Đối với nghiên cứu sinh và học viên cao học: Cung cấp cơ sở lý thuyết chi tiết, các công thức toán học về lượng hóa số thực, các biến thể của toán tử lai ghép/đột biến và phương pháp thiết kế hàm thích nghi.
  • Đối với lập trình viên và kỹ sư phần mềm: Cung cấp các cấu trúc dữ liệu tối ưu bộ nhớ (mảng byte nén, mảng integer) và mã giả thuật toán bằng ngôn ngữ Pascal, C/C++ có thể tái sử dụng trực tiếp trong các bài toán tối ưu hóa công nghiệp, vận tải và lập lịch sản xuất.
  • Đối với các nhà quản lý và hoạch định: Cung cấp phương pháp luận giải quyết bài toán lập lịch, điều phối dây chuyền sản xuất và quy hoạch mạng lưới giao thông.

Câu hỏi thường gặp

1. Luận án giải quyết nhược điểm rơi vào cực trị cục bộ của phương pháp leo núi bằng cách nào?

Thuật giải di truyền làm việc đồng thời trên một quần thể gồm nhiều cá thể (tương đương nhiều người cùng leo núi ở các vị trí khác nhau). Ngoài ra, luận án áp dụng cơ chế tính độ thích nghi xếp hạng kết hợp độ phân ly $P(a_i)$ và toán tử đột biến ngẫu nhiên, giúp tạo ra các cá thể mới nằm ngoài vùng tập trung hiện tại, tránh hiện tượng toàn bộ quần thể bị hút về một ngọn núi thấp.

2. Sự khác biệt giữa mảng byte thông thường và mảng byte nén trong biểu diễn gen là gì?

  • Mảng byte thông thường: Mỗi byte chỉ lưu 1 bit (0 hoặc 1), truy xuất nhanh nhưng lãng phí 7 bit trong mỗi byte (tốn bộ nhớ gấp 8 lần).
  • Mảng byte nén: Mỗi byte lưu đúng 8 bit dữ liệu. Vị trí byte chứa bit thứ $n$ được xác định bằng phép chia n DIV 8 (n SHR 3), vị trí bit trong byte xác định bằng phép chia dư n MOD 8 (n AND 7). Cách này tiết kiệm tối đa bộ nhớ nhưng tốn thêm chi phí thao tác bit khi truy xuất.

3. Công thức lượng hóa số thực $x \in [\min, \max]$ sang chuỗi nhị phân $L$ bit được xác định như thế nào?

Đoạn $[\min, \max]$ được chia thành $2^L - 1$ vùng với độ chính xác: $$g = \frac{\max - \min}{2^L - 1}$$ Giá trị số thực tương ứng của chuỗi nhị phân $A$ là: $$x = \min + \text{Decimal}(\langle A \rangle) \times g$$ trong đó $\text{Decimal}(\langle A \rangle)$ là giá trị nguyên hệ thập phân của chuỗi nhị phân $A$.

4. Trong bài toán lập thời khóa biểu, hàm thích nghi được tính toán ra sao?

Hàm thích nghi được xây dựng dựa trên tỉ lệ vi phạm ràng buộc: $$\text{Fitness} = (100 - X) + (20 - Y) + \text{bonus}$$ trong đó $X$ là tỉ lệ lỗi trung bình của các ràng buộc cứng (như giáo viên trùng giờ dạy, lớp học trùng môn), $Y$ là tỉ lệ lỗi trung bình của các ràng buộc mềm (giờ trống, môn học trùng lặp).


Kết luận

Luận án tiến sĩ "Ứng dụng thuật giải di truyền các bài toán hàm mục tiêu nhiều biến" của tác giả Lê Chí Luận đã hệ thống hóa cơ sở lý thuyết của thuật toán di truyền, phân tích các giải pháp mã hóa cấu trúc dữ liệu nhị phân nén và số thực, đồng thời thiết lập các phương pháp xác định độ thích nghi theo thứ hạng và độ phân ly nhằm duy trì tính đa dạng của quần thể. Công trình đã cài đặt thành công các mô-đun thuật toán, áp dụng hiệu quả vào bài toán cực tiểu hàm số $N$ biến liên tục, bài toán lập lịch, bài toán người bán hàng và mô hình thí nghiệm cân bằng hệ thống. Luận án đóng góp tài liệu nghiên cứu và thuật toán thực nghiệm cho lĩnh vực tối ưu hóa tính toán trong Công nghệ thông tin.