Giới thiệuTrong suốt quá trình sinh sản, các nhiễm sắc thể được ước lượng, sử dụng các tiêu chuẩn thích hợp.. Quần thểQuần thể được tập hợp từ các cá thể, quần thể bao gồm số các cá thể
Trang 1TS Lê Hùng Khoa Xây dựng Thủy lợi Thủy điện Trường Đại học Bách Khoa
Đ
1
TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHĐN
Trang 2PHẦN I: CÁC PHƯƠNG PHÁP TỐI ƯU HÓA
CHƯƠNG I QUY HOẠCH TUYẾN TÍNH
CHƯƠNG II QUY HOẠCH PHI TUYẾN
CHƯƠNG III QUY HOẠCH ĐỘNG .
CHƯƠNG IV THUẬT TOÁN DI TRUYỀN
CHƯƠNG V QUY HOẠCH ĐA MỤC TIÊU.
Trang 3CƠ SỞ LÝ THUYẾT THUẬT TOÁN DI TRUYỀN
Trang 54.1 Giới thiệu
Trong suốt quá trình sinh sản, các nhiễm sắc thể được ước lượng, sử dụng các tiêu chuẩn thích hợp Tạo ra sự sinh sản mới, nhiễm sắc thể mới, gọi là con sinh ra, gộp
2 nhiễm sắc thể từ lần sinh ra hiện hành sử dụng toán tử giao phối hoặc toán tử đột biến
Lần phát ra mới được chọn lọc theo các giá trị thích hợp, cha mẹ và con sinh ra được duy trì sao cho kích thước quần thể là không đổi
Các nhiễm sắc thích hợp có xác suất cao sẽ được lựa chọn Sau vài lần phát ra, thuật toán hội tụ đến nhiễm sắc thể tốt nhất, hy vọng rằng biểu thị lời giải tối ưu đến bài toán
Trang 74.2 Cá thể
K gian kiểu Gen = {0,1} L
Không gian kiểu hình
10010010 10010001
Trang 8L 3,
L 2, 2,2
2,1
L 1, 1,2
1,1
g
gg
g
g
gg
g
gg
NST
N thể Cá
2 thể Cá
1 thể Cá
Trang 94.3 Quần thể
Quần thể được tập hợp từ các cá thể, quần thể bao gồm số các cá thể được kiểm tra, các tham số kiểu hình xác định các cá thể, và thông tin về không gian tìm kiếm, hai khía cạnh quan trọng của quần thể sử dụng trong TTDT là:
- Số phát ra quần thể ban đầu
- Kích thước quần thể
Trang 10Trong mọi bài toán, kích thước quần thể sẽ phụ thuộc vào
sự phức tạp của bài toán Kích thước quần thể sẽ được tăng lên đối với bài toán lớn
Kích thước của quần thể lớn là dễ dàng dò tìm không gian tìm kiếm Nhưng thời gian tìm kiếm sẽ lớn bởi TTDT hội tụ được đánh giá bởi hàm nlogn, ở đây n là kích thước quần thể
Goldberg cho rằng TTDT hiệu quả khi tìm kiếm tối ưu toàn cục thay cho cục bộ, được xác định bởi kích thước quần thể rộng lớn
Tóm lại, quần thể lớn thường được sử dụng, nhưng yêu cầu nhiều hơn cho chi phí tính toán, bộ nhớ và thời gian thực hiện
4.3 Quần thể
Trang 124.4 .Gen
Gen là cơ sở để xây dựng các TTDT, nhiễm sắc thể là dãy các gen Gen có thể mô tả khả năng lời giải bài toán, gen là chuỗi bit dài tùy ý, chuỗi bit biểu thị số nhị phân
Trang 134.5 Hàm thích hợp
Hàm mục tiêu được đo lường bởi các cá thể được thực hiện trên tồn miền Cho bài tốn cực trị, hầu hết các cá thể thích hợp sẽ cĩ giá trị nhỏ nhất kết hợp với hàm mục tiêu
Quan hệ hàm thích hợp được cho như sau:
)) (
( )
N,1
Nvar 2, 2,2
2,1
Nvar 1, 1,2
y y
y y
NthểCá
2thểCá
1thểCá
Trang 14Fitn=Ranking(ObjV)% fitness function
Fitn = f1 Cá thể 1
f2 Cá thể 2 f3 Cá thể 3 … …
fN Cá thể N
4.5 Hàm thích hợp
Trang 16Quá trình tìm kiếm bao gồm quần thể ban đầu và sau đó sản sinh ra các cá thể mới đến khi điều kiện kết thúc được tìm thấy
Tại đó có vài mục đích cho quá trình tìm kiếm, một trong các quá trình là tìm tối ưu toàn cục Đây là luôn luôn có thể lần lặp tới sẽ tìm kiếm thủ tục lời giải tốt
Trong vài trường hợp, quá trình tìm kiếm có thể không sản sinh ra lời giải tốt hơn so với số lần lặp đầu tiên
Mục đích khác là hội tụ nhanh hơn Khi hàm mục tiêu hội tụ nhanh hơn mong muốn, thì có khả năng hội tụ đến cục bộ và có thể không đạt được yêu cầu tối ưu
4.7 Quỹ đạo tìm kiếm
Trang 174.8 Sự mã hóa
Mã hóa là quá trình miêu tả các cá thể gen Quá trình có thể thực hiện sử dụng bit, số, cây, mảng Mã hóa phụ thuộc chính lời giải bài toán Ta có thể mã hóa trực tiếp các số thực hoặc nguyên
Mã hóa nhị phân
Thông thường nhất mã hóa là chuỗi nhị phân, trình bày như bảng 3.5
Trang 18Mã hóa 8 làm cơ sở
Phép hoán vị mã hóa (mã hóa chuỗi số thực)
Mã hóa này sử dụng chuỗi số (0-7)
Mã hóa 16 làm cơ sở
4.8 Sự mã hóa
Trang 19Phép hoán vị mã hóa (mã hóa chuỗi số thực)
Mỗi nhiễm sắc thể là chuỗi các số, được biểu thị bởi dãy số Trong hoán vị mã hóa, mỗi nhiễm sắc thể là chuỗi nguyên/các giá trị thực, biểu thị số trong dãy
4.8 Sự mã hóa
Trang 20Mã hóa giá trị
Mỗi nhiễm sắc thể là chuỗi các giá trị và có thể kết nối bất
kỳ đến bài toán Mã hóa này có thể cho kết quả tốt nhất cho vài bài toán đặc biệt
Mặt khác, điều đó là thường cần thiết để phát triển xác định toán tử di truyền mới đến bài toán
Mã hóa giá trị trực tiếp có thể có thể sử dụng trong các bài toán phức có giá trị phức, vì khi sử dụng mã hóa nhị phân cho loại bài toán này sẽ rất khó khăn
4.8 Sự mã hóa
Trang 214.9 Chọn lọc
Chọn lọc là quá trình chọn lọc cặp cha mẹ từ quần thể cho giao phối, sau khi lựa chọn mã hóa, bước tiếp theo là lựa chọn thế nào để chọn lọc thực hiện, các cá thể trong quần thể đó sẽ tạo ra con cho lần phát ra tiếp theo
Trang 224.9 Chọn lọc
Trang 234.9 Chọn lọc
Trang 24Chọn lọc ngẫu nhiên
Kỹ thuật lựa chọn ngẫu nhiên cha mẹ từ quần thể Trong các điều kiện phá hủy của mã hóa di truyền, thì lựa chọn ngẫu nhiên là ít phá hủy hơn so với lựa chọn bánh xe Roulette
4.9 Chọn lọc
Trang 25Bánh xe Roulette sẽ gặp vấn đề khi các giá trị hàm thích hợp không giống nhau nhiều,
Nếu nhiễm sắc thể thích hợp tốt nhất là 90%, chu vi
chiếm khoảng 90% của bánh xe Roulette, và sau đó thì
các nhiễm sắc thể khác đã không có nhiều sự lựa chọn Lựa chọn nghiệm, nghiệm của quần thể và mọi nhiễm sắc thể nhận được giá trị thích hợp cao nhất Xấu nhất có hàm thích hợp một và tốt nhất có hàm thích hợp N
Chọn lọc nghiệm
4.9 Chọn lọc
Trang 26Có nhiều hướng khác nhau, ở đây có thể chấp nhận theo
là tham số của phương pháp này
Lựa chọn 2 cá thể ngẫu nhiên Cá thể với đánh giá cao trở thành cha mẹ Thay thế tìm kiếm cha mẹ lần hai
4.9 Chọn lọc
Trang 27Sự lấy mẫu ngẫu nhiên chung nhận được độ dốc zero
và bề rộng Min Các cá thể là sắp xếp phân đoạn kề nhau theo đường thẳng, như vậy mỗi phân đoạn cá thể có kích thước bằng nhau đến khi hàm thích hợp chính xác như lựa chọn bánh xe Roulette
Ở đây khoảng cách bằng nhau là trên đường thẳng, như nhiều cá thể được lựa chọn Xem xét N điểm số các cá thể được lựa chọn, sau đó khoảng cách giữa các điểm là 1/N điểm và vị trí của điểm đầu là cho bởi số phát ra ngẫu nhiên trong phạm vi [0,1/N điểm]
Sự lấy mẫu ngẫu nhiên chung
4.9 Chọn lọc
Trang 28Mẫu ngẫu nhiên chung đảm bảo lựa chọn con sinh ra, điều
đó là dễ dàng sử dụng và thích hợp hơn so với lựa chọn bánh xe Roulette
Hình 5 Sự lấy mẫu ngẫu nhiên chung
4.9 Chọn lọc
Trang 294.10 Giao phối (CrossOver)
Giao phối là quá trình hòa hợp cha mẹ và sản sinh ra con của chúng Sau khi lựa chọn quá trình tái sinh, quần thể cho ra các cá thể tốt hơn Sự tái sinh sẽ tạo ra chuỗi tốt hơn
Giao phối là toán tử tổ hợp lại đó quá trình trong 3 bước:
- Toán tử tái sinh lựa chọn ngẫu nhiên đôi cặp của 2
cá thể chuỗi cho giao phối
- Vị trí giao phối được lựa chọn ngẫu nhiên dọc theo chiều dài chuỗi;
- Sau cùng, các giá trị có thể là trao đổi giữa 2 chuỗi sau vị trí cắt ngang
Trang 30Giao phối điểm đơn
4.10 Giao phối (CrossOver)
Trang 31Giao phối 2 điểm
Giao phối nhiều điểm
4.10 Giao phối (CrossOver)
Trang 32Giao phối đồng nhất
4.10 Giao phối (CrossOver)
Trang 344.11 Đột biến
Đột biến là quá trình ngẫu nhiên trong tiến hóa tự nhiên,
ở đây một gen tương ứng được thay thế bằng cách thêm vào tái sinh ra cấu trúc di truyền mới
Trong TTDT, đột biến là ngẫu nhiên được áp dụng để thay đổi vài phần tử trong nhiễm sắc thể với xác suất nhỏ, thường trong phạm vi 0.001÷0.01
Quy tắt đột biến thường quan tâm nhận được đảm bảo rằng xác suất tìm kiếm cho chuỗi sẽ không bằng zero và
có nhiệm vụ bảo vệ tìm lại được vật chất di truyền tốt đó
có thể không tìm thấy thông qua quá trình chọn lọc và giao phối
Trang 35Trong đó 8 bit nhiễm sắc thể trình bày mã giá trị thực trên khoảng [0, 8] sử dụng cả hai mã chuẩn và mã Gray, điểm đột biến tại vị trí thứ 4 trong mã chuỗi nhị phân
Rõ ràng, đột biến nhị phân thay đổi giá trị của bit tại các vị trí lựa chọn cục bộ điểm đột biến Chuỗi nhị phân có thể là đột biến tại hơn 1 điểm
4.11 Đột biến
Trang 374.12 Giới hạn tìm kiếm
Điều kiện để thuật toán di truyền dừng như sau:
- Maximum phát ra: Thuật toán di truyền dừng khi thực
hiện đủ số lần phát ra tiến hóa.
- Thời gian trôi qua: Quá trình di truyền sẽ kết thúc khi chỉ rõ thời gian đã qua
- Quá trình di truyền sẽ kết thúc nếu không có sự thay đổi của hàm thích hợp, khi số lần phát ra đã thực hiện.
- Số phát ra dừng nếu hàm mục tiêu không cải thiện với dãy liên tiếp số phát ra.
Trang 38Các thuận lợi TTDT so với phương pháp tối ưu truyền thống
4.13 So sánh TTDT với các tối ưu truyền thống
- Không gian lời giải rộng
- Khi hàm thích hợp là phức tạp
- Dễ dàng tìm được tối ưu toàn cục
- Có thể giải bài toán có nhiều hàm mục tiêu
- Dễ dàng thay đổi cho các bài toán khác nha
- Chúng yêu cầu không cần biết thông tin Gradient
về bề mặt tương ứng
- Thực hiện rất tốt khi giải các bài toán tối ưu lớn
- Có thể sử dụng cho sự thay đổi rộng của các bài toán tối ưu
Trang 39Hạn chế của các thuật toán di truyền bao gồm:
- Bài toán phải nhận dạng được hàm thích hợp
- Sớm xuất hiện sự hội tụ
- Kết quả tìm được không phải duy nhất
- Không dễ dàng kết hợp các bài toán mà có thông tin riêng biệt
- Không được tốt khi nhận biết tối ưu cục bộ
- Không hiệu quả cho làm trơn các hàm mô hình đơn
- Cần thiết phải kết hợp với kỹ thuật tìm kiếm tối ưu cục bộ
- Sự khó khăn khi cần tìm kiếm lời giải tối ưu toàn cục chính xác
4.13 So sánh TTDT với các tối ưu truyền thống
Trang 40Hình 6 Chu trình khép kín của Thuật toán di truyền
Trang 41Lưu trữ cá thể tố t
Tố i ứ u hoặ c tìm lờ i giả i tố t
Tạo ra lầ n kế tiế p bằ ng cá ch giao phố i
Đá nh giá sự thích hợp trong mỗ i quầ n thể
Khở i tạo ngẫ u nhiê n Quầ n thể ban đầ u
Trang 42Minh hoạ Thuật toán di truyền như dưới đây, quần thể của các nhiễm sắc thể tại thời gian t được trình bày bởi biến phụ thuộc thời gian P(t), với quần thể ban đầu được ước lượng ngẫu nhiên là P(0)
Trang 43Áp dụng bài toán di truyền trong MATLAB
Trang 45Chọn hình ảnh xuất kết quả
Trang 46Áp dụng bài toán di truyền trong MATLAB
Khai báo hàm thích hợp và các ràng buộc
Trang 47Áp dụng bài toán di truyền trong MATLAB
Hình Khoảng cách giá trị trung bình của các cá thể
Trang 48Hình Giá trị trung bình và giá trị lớn nhất của Hàm
thích hợp (Hàm mục tiêu)
Áp dụng bài toán di truyền trong MATLAB