Từ khi chuyển sang nền kinh tế thị trường và thực hiện nền kinh tế mở. Sự chuyển mình sang cơ chế thị trường có sự điều tiết vĩ mô của Nhà nước, kinh tế nước ta đã đạt được những thành
Trang 1
BỘ GIÁO DỤC & ĐÀO TẠO VIỆN KH & CN VIỆT NAM
VIỆN CÔNG NGHỆ THÔNG TIN
PHAN THỊ HOÀI PHƯƠNG
MỘT GIẢI THUẬT DI TRUYÊN
GIẢI BÀI TOÁN CẮT VẬT TƯ MỘT CHIẾU VỚI NHIÊU KÍCH CỠ VẬT LIỆU THÔ
LUẬN ÁN TIẾN SĨ TOÁN HỌC
Hà Nội — 2011
Trang 2
PHAN THỊ HOÀI PHƯƠNG
MỘT GIẢI THUẬT DI TRUYÊN
GIAI BAI TOAN CAT VAT TU MOT CHIEU
VOI NHIEU KICH CO VAT LIEU THO
Chuyên ngành: Đảm bảo toán học cho máy tính và hệ thống tính toán
Mã số: 62 46 35 (J1
LUẬN ÁN TIÊN SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC;
1 PGS.TS LUONG CHI MAI
2 TS NGUYEN VAN HUNG
Hà Nội - 2011
Trang 3
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các kết quả được viết chung với các tác giả khác đã được sự nhất trí của đồng tác giả khi đưa vào luận án Các kết quả nêu trong luận án là trung thực và chưa từng được a1 công bố trong bất kỳ công trình nào
Tac gia
Phan Thi Hoai Phuong
Trang 4Luận án được thực hiện và hoàn thành dưới sự hướng dẫn của PGS.TS Luong Chi
Mai và TS Nguyễn Văn Hùng Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc đến cô
Lương Chi Mai va thay Nguyễn Văn Hùng, những ng ười thầy đã tận tình hướng dẫn,
chỉ bảo, giúp đỡ tôi học tập và nghiên cứu
Xin trân trọng cảm ơn Ban lãnh đạo Viện Công nghệ thông tin và bộ phận quản lý
nghiên cứu sinh đã nhiệt tình giúp đỡ và tạo điêu kiện thuận lợi để tôi hoàn thành luận
án này
Tôi xin trân trọng cảm ơn Ban lãnh đạo Học Viện Công nghệ Bưu chính viễn th ông
đã tạo điều kiện cho tôi học tập, nghiên cứu và thực hiện luận án
Tôi cũng xin cảm ơn Bộ phận kỹ thuật Nhà máy ống thép Việt-Đức đã cho phép tôi
thu thập số liệu và triển khai mô hình thử nghiệm ứng dụng giải bài toán cắt vật tư
Cudi cùng tôi xin dành tặng luận án này cho những người thân yêu: bố mẹ, chồng, con gái và con trai của tôi như muốn nói một lời cảm ơn chân thành nhất vì sự giúp
đỡ, sự động viên không giới hạn đối với tôi Họ chính là nơi khơi nguồn và cũng là
đích hướng tới trong học tập và nghiên cứu của tôi.
Trang 5MỤC LỤC
MỞ ĐẦU, s22 99E111211112111271127111511117111211112111717111211172711211127112711 271 1 Chương1 CÁC KIÊN THỨC CƠ SỞ LIÊN QUAN . 2-2 x2cv+re 9
1.1 Bai todn cat vat tư một chiều với một loại vật liệu thô và thuật giải 9
IRERXKA li (600060: 60 oan 10 1.1.2 Mô hình Arc-flow của Valerlo de Carvalho - << s<sss£x⁄ 13
1.2 Giải thuật di truyền - sẻ St k1 111111 111071011715 111.111 19 1.3 KẾtluận, -SL E1 1E 1011311111111111 111111111171 111 111 kg 25 Chương2 BÀI TOÁN CẮT VAT TƯ MỘT CHIẾU VỚI NHIÊU KÍCH THƯỚC VẬT LIỆU THÔ: MÔ HÌNH VÀ GIẢI PHÁP 2+ +s++s+EESEE+EEEEE£EzEerErreerxrr, 26
2.1 _ Phát biểu bài toán cắt vật tư một chiều với nhiều kích thước vật liệu thô theo
Trang 6Noi long tuyén tinh lién tuc yéu Weak linear continuous relaxation
Phuong phap phan nhanh, dinh gia va
Trang 7lil
DANH MUC CAC KY HIEU, CUM TU VIET TAT
GA-AF Genetic Algorithm- Arc-Flow Model — Thuat toan lai ghep giai thuat di truyén va thuat toan AF
GMAS- Genetic Multi Agent System- Hé thong gen da tac tử giải bài toán OneDCSP_M | OneDCSP_M
JADE Java Agent DEvelopment Framework
LP Linear Programming — Quy hoach tuyén tinh
OneDCSP One Dimension Cutting Stock Problem-Bai toan cắt vật tư một chiêu
OneDCSP_M | One Dimensional Cutting Stock Problem with Multiple Stock Sizes -Bài toán cắt vật tư một chiêu với nhiêu kích thước vật liệu thô
OneDCSP_M- | Tac tu giai bai toan OneDCSP_M Solver
OneDCSP_S | One Dimensional Cutting Stock Problem with Single Stock Sizes -Bai toan cat vật tư một chiêu với một loại kích thước vật liệu thô
OneDCSP_S“? | Noi long tuyến tính của bài toán OweDCSP_S
OneDCSP_S- | Tac tut giai bai toan OneDCSP_S
Trang 8
DANH MUC CAC BANG BIEU
Bang 2.1 Téng két chat lượng nghiệm so với kết quả của Belov -Scheithauer 44 Bảng 2.2 Kết quả tính toán của Silvio A Araujo và đồng sự scsccszscs¿ 45 Bảng 2.3 Phân bố độ chênh lệch nghiệm so với kết quả của Belov -Scheithauer 46
Bảng 2.4 Thống kê thời gian tính toán 2 ° St +St+EE+EESEESEESEEEEEEEESESEEEEEvEkrkereerxee 48 Bảng 2.5 Thống kê phân bồ thời gian tính toán - - + SE #zE£Ezxexxz se 49
Trang 9DANH MỤC CÁC HINH VE
Hình 0.1 Sơ đồ các cách tiếp cận giải bài toán cắt vật tư một chiều, 6
Hình 1-1 Các phương án cắt trong bài toán Øz#el2CSP _/S -c-csccsrsesrecee 10
Hình 1-2 Ví dụ về mạng lưới và phương án cắt với =9 và các ¡ e{4,3,2} 13
Hình 1-3 Một thế hệ mới được hình thành qua pha chọn lọc và pha tái tô hop 22
Hình 2-1 Các phương án cắt trong bài toán OwøelCSP _M c-cccscccerseee 27
Hình 2-2 Biểu đồ thống kê độ chênh lệch so với kết quả của Belov -Scheithauer 47 Hình 2-3 Biểu đồ thống kê phân bổ thời gian tính toán 2 sa SStSSEs+EEs+E+Es2 S22 50
Hình 3-1 Kiến trúc của A-Team 5c Set tt SESESEEESEEESEEEEEeeteEeErkeEeEersrsrsrsrsrees 53
Hình 3-2 Biểu đồ trơng tác giữa người dùng và hệ thống GMAS -OneDŒSP_M 55 Hình 3-3 Kiến trúc hệ thông GMAS-OweDSP _ÌM - 55c 2221211 2E cke, 56
Hình 3-4 Cầu trúc bộ nhớ chung tương ứng với mỗi bài toán OneDCSP_—M 59
Hình 3-5 Biểu đồ Use Case của hệ thống GMAS-O»eDŒSP_M ce¿ 63
Trang 10nâng cao Điều đó dẫn tới nhu cầu về tài nguyên thiên nhiên ngày càng lớn Chúng
ta đã và đang chứng kiến sự cạn kiệt của tài nguyên thiên nhiên, nhất là những nguồn tài nguyên không tái tạo được như khoáng sản Để phát triên bền vững, việc sử dụng tài nguyên một cách hiệu quả luôn là vấn đề thời sự của toàn nhân loại Trong các ngành kinh tế như chế tạo máy, xây dựng, dệt may việc sử dụng hiệu quả tài nguyên thê hiện bởi việc sử dụng hiệu quả các loại vật liệu thô phục vụ cho mục đích kinh tế
Lĩnh vực cắt vật tư và đóng hàng (Cutting & Packing-C&P) bao gồm nhiêu bài
toán tô hợp, hình học, các mô hình và thuật toán lý thuyết cũng như thực tiến liên kết với nhau Mục tiêu chính của lĩnh vực này là sắp xếp một cách hiệu quả các đối tượng được mô tả bằng ngôn ngữ hình học trong một miễn lớn hơn Các bài toán
sau đây là các bài toán điển hình cho chủ đề này: Cắt vật tư và bài toán phế thải, xếp
thùng (bin packing), bài toán sắp ba lô (knapsack), cân bằng luồng (line balancing),
bài toán phân phối bộ nhớ và lập lịch cho bộ đa xử lý (memory allocation and
multiprocessor scheduling problem) Các bài toán cắt vật tư và đóng hàng được phát biéu và xử lý trong nhiều ngành khoa học khác nhau như khoa học quản lý, khoa học kỹ thuật, khoa học máy tính và công nghệ thông tin, toan hoc va van tru học Chúng là các bài toán thực tế đặt ra cho các ngành công nghiệp như công
nghiệp kính, thép, giấy, da, may mặc, vận tải và hậu cân
Từ giữa thế kỷ trước đã có nhiều cách tiếp cận giải các bài toán cắt vật tư và
đóng hàng được đề xuất Công trình khởi nguồn cho chủ đề này do L.V.Kantorovich đưa ra năm 1939 khi ông đề xuất áp dụng các mô hình toán học đề
Trang 11tô chức và lập kế hoạch sản xuất Các mô hình này được phát biểu dướ ¡ dạng các
bài toán Quy hoạch nguyên và được chỉ ra thuộc lớp các bài toán NP-hard Mô hình
có một số nhược điểm như có nới lỏng liên tục yếu và tính đối xứng nên việc áp
dụng nó trong các bài toán thực tiễn tỏ ra không hiệu quả
Đề khắc phục nhược điểm của mô hình trên, một mô hình khác cùng với kỹ thuật giải hiệu quả bài toan cắt vật tư một chiều duoc Gilmore va Gomory dé xuat vao những năm 60 thế kỷ trước Trong kỹ thuật này, các tác giả sử dụng công cụ quy hoạch tuyến tính để giải bài toán nới lỏng liên tục dẫn xuất từ bài toán quy hoạch nguyên Nghiệm của bài toán quy hoạch nguyên ban đầu sẽ nhận được bằng các kỹ thuật làm tròn nghiệm của bài toán nới lỏng liên tục khi bài toán đảm bảo tính chất làm tròn nguyên (Integer Round-Up Property-IRUP) Đề xuất của Gilmore và Gomory đặc biệt hiệu quả khi giải các bài toán cắt vật tư nhờ kỹ thuật tạo sinh cột
với việc giải Bài toán xếp ba lô như một bài toán con Sau này kỹ thuật tạo sinh cột
trở thành kỹ thuật được ưa chuộng nhất khi người ta đề cập tới việc giải các bài toán quy hoạch cỡ lớn
Do tính khoa học cũng như thực tiễn cao của chủ đề c at vat tr va dong hang nên
vào năm 1988 H Dyckhoff và G Waescher đã thành lập Special Interest Group on
Cutting and Packing (SICUP), bước quan trọng để hỗ trợ nghiên cứu quốc tế về chủ
đề này Một trong những đóng góp nổi bật của H.Dyckhoff vào năm 1990 cho việc
phát triển các nghiên cứu lý thuyết cũng như ứng dụng trong lĩnh vực này là việc đưa ra phân loại (Typology) các bài toán cắt vật tư và đóng hàng dựa trên điều tra các đặc tính của cấu trúc hình học, cẫu trúc logic và ngữ cảnh xuất hiện của chúng trong thực tế Sự phân loại này được G Waescher và các đồng nghiệp tiếp tục hoàn thiện vào năm 2007 Việc phân loại được thực hiện dựa trên bốn tiêu chí:
Trang 12(Output Maximization) hoặc cực tiểu hóa đầu vào (Input Minimization) 3 Phân loại các đối tượng nhỏ (Assortment of small items): đồng nhất, tương
đôi không thuan nhat (weakly heterogeneous assortment), hoan toan không thuần nhất (Strongly heterogeneous assortment)
4 Phân loại các đối trợng lớn (Assortment of large objects):
- Mot doi tượng lớn (có thê được xem xét chi tiết hơn phụ thuộc vào các chiều của đối tượng được có định hay có thể biến đổi )
-_ Một số đối tượng lớn với các chiêu cỗ định Trường hợp này có thê được chia thành các bài toán với các đối tượng lớn đồng nhất, tương đối đồng
nhất và hoàn toàn không đồng nhất
Trong các kiểu bài toán cắt vật tư thì Bài toán cắt vật tư một chiều (One Dimensional Cutting Stock Problem — OneDCSP) git một vi tri quan trong va chiếm gần một nửa tông số công trình đã được công bố về chủ đề này Có nhiều lý do giải thích về mối quan tâm của cộng đồng nghiên cứu dành cho bài toán này trong đó có thể dẫn ra nhận xét của Gilmore và Gomory khi nói rằng, nhiều bài toán cắt vật tư nhiều chiều có thê được xử lý bằng một quy trình nhiều công đoạn dựa
trên nền tảng bài toán cắt vật tư một chiều Từ công trình khởi đầu của Gilmor e và
Gomory, hàng loạt các biến thể khác nhau của bài toán O»e2CSP đã được phát biểu
và giải quyêt băng các cách tiêp cận khác nhau
Bài toán cắt vật tư một chiều với nhiều kích thước vật liệu thô (One -Dimensional
Cutting Stock Problem with Multiple Stock sizes - OneDCSP_M) 1a mo rong ty nhiên của bài toán cắt vật tư một chiều với một loại vật tư OneDCSP Cho đến nay có rất ít công trình nghiên cứu về bài toán này được công bố Theo phân loại của
Waescher, bài toán OneDCSP_M duoc chia thành hai lớp con: lớp không ràng buộc sô lượng của từng loại vật tư đâu vào và lớp có ràng buộc này.
Trang 13Có thể thấy hầu hết các công trình liên quan đến bài toán OneDCSP_M đều
hướng tới giải các bài toán thuộc lớp thứ hai Chúng ta có thể khái quát các cách tiếp cận được đề xuã t để giải bài toán này như sau
Bài toán cắt vật tư ØzeDCSP _M là bài toán quy hoạch nguyên và thuộc lớp NP- khó vì vậy không tôn tại thuật toán bảo đảm cho nghiệm tối ưu trong thời gian đa thức Cho đến nay các phương pháp giải chính xác bài toán quy hoạch nguyên này và các biến thể của nó đều được xây dựng theo /ược đô phân nhánh và định giá (Branch and Price - B&P) dựa trên nới lỏng tuyến tính liên tục của mô hình đo Gilmore-Gomory đề xuất vào năm 1963 [26,27] và sau này là mô hình arc-flow của Valerio de Carvalho [55] Gan day, Belov [11], Carvalho va đồng nghiệp [56] đã đưa vào sử dụng các lát cắt trong lược đồ trên để tạo nên /ược đô phân nhánh định gid va cốt nhằm cải thiện tốc độ tính toán khi giải bài toán Việc cải biên các lược
đồ trên áp dụng giải các biến thể khác nhau của bài toán cũng đã được đề xuất
[12,13,14,30,44,58]
Do các phương pháp chính xác giải bài toán cắt vật tư đòi hỏi chỉ phí thời gian
khá tốn kém đối với các bài toán có kích thước trung bình hoặc lớn nên nhiều tác giả đã đề xuất các giải thuật heuristic khác nhau nhằm tìm kiếm nghiệm có chất
lượng tốt trong khoảng thời gian chấp nhận được Các giải thuật heuristic không sử
dụng nới lỏng tuyến tính liên tục của bài toán mà dựa vào cấu trúc của bài toán để
điều khiển quá trình tìm kiếm
Các giải thuật heuristic đầu tiên được đề xuất để giải các bài toán cắt vật tư thường dựa trên các phương pháp tìm kiếm cục bộ như First-Fit, Next-Fit, Best-Fit
và Worst-Fit Decreasing để xây dựng các phương án cắt [52] Ý tưởng chính của
những phương pháp này là sau khi sắp xếp danh sách các thành phẩm theo thứ tự
kích thước giảm dân, các phương án cắt được xây dựng theo các chiến lược khác nhau Phương pháp First-Fit Decreasing tìm thành phẩm phù hợp để xếp vào phương án cắt, còn phương pháp Next-Fit tìm chỗ trống trên các phương án cắt để đặt thành phâm Phương pháp Best-Fit hạn chế phần dư thừa của mỗi phương án cắt
Trang 14Một van đề nảy sinh là các phương pháp dựa trên tìm kiếm cục bộ như vậy thường rất nhanh chóng rơi vào các cực trị địa phương Đề hạn chế khả năng không mong muốn này, một số tác giả đề xuất áp dụng các Metaheuristic vào việc giải bài toán Yang dùng giải thuật tham lam trong đó sử dụng một hàm mục tiêu phụ thuộc vào một số lượng nhỏ các điều kiện cắt để hỗ trợ phát hiện nghiệm tốt nhất trong quá trình tìm kiếm cục bộ tại từng bước của quá trình giải bài toán [60] Trong [20], Eshghi và cộng sự sử dụng giải thuật đàn kiến với các quy tắc xác suất định nghĩa trước dựa trên đó đàn kiến có thê lựa chọn các phương án cắt để tìm ra phương án
cắt tốt nhất Giải thuật tôi luyện mô phỏng được sử dụng trong các công trình
[33,32]
Một lớp đặc biệt các giải thuật metaheuristic giải bài toán cắt vật tư là lớp các
giải thuật di truyền (Genetic Algorithm-GA) Các giải thuật này được xây dựng theo
hai cach tiép can: cach tiép can don hang va cach tiép cận dựa trên nhóm
Trong cách tiếp cận đơn hàng, các thành phẩm được sử dụng một cách độc lập
khi tạo ra các phương án cắt Cách tiếp cận này khá gần gũi với định nghĩa của bài toán nhưng ít được áp dụng trong thực tiễn vì các gen mã hóa nghiệm của bài toán thường bị phá vỡ dưới tác động của các toán tử lai ghép Toyoda và đồng nghiệp [51,53] đề xuất các toán tử lai ghép khác nhau trong giải thuật di truyền của mình
để giải bài toán cắt vật tư Falkenauer đã đề xuất mô hình dựa trên nhóm [21], trong
đó các phương án cắt được xây dựng dựa trên các nhóm thành phâm đã được phân chia nhằm khắc phục sự ảnh hưởng của các toán tử di truyền đến cấu trúc nghiệm
Yakawa và đồng nghiệp cũng đưa ra toán tử lai ghép đặc biệt gắn vào mô hình giải
thuật di truyền dựa trên nhóm do Falkenauer đề xuất [ 59]
Một đề xuất sử dụng ý tưởng lập trình tiến hóa (Evolutionary Programming -EP) giải bài toán cắt vật tư cũng được đề xuất [39] Trong lập trình tiến hóa, phép tìm
kiếm được thực hiện nhờ các toán tử đột biến mà không sử dụng toán tử lai ghép.
Trang 15Liang da đưa ra hai toán tử đột biến mới và chỉ ra tính ưu việt của các toán tử này Khác với lập trình tiễn hóa, giải thuật di truyền sử dụng cả toán tử lai ghép trong quá trình tìm kiếm Raymond Chiong và đồng nghiệp [43] đã tiến hành so sánh hai
cách tiếp cận EP và GA và kết hợp tính ưu việt của cả hai cách tiếp cận để xây dựng
một giải thuật di truyền cho bài toán cắt vật tư Trong [48], Araujo và đồng nghiệp sử dụng giải thuật heuistic First-Fit decreasing để xây đựng các phương án cắt tạo ra các cá thê (nghiệm chấp nhận được) ở mức thấp Ở mức cao, các tác giả đề xuất thuật toán tiến hóa (Evolutionary Algorithm-EA) với toán tử lựa chọn tham lam
ngẫu nhiên Việc tạo ra các cá thê mới được thực hiện nhờ quá trình trao đổi các
phương án cắt gitta cac ca thể trong một pha được đặt tên là co -operation
Mới đây, việc lai ghép giải thuật di truyền với các phương pháp sử dụng nới lỏng
tuyến tính liên tục cũng được tác giả luận án đề xuất trong [ 1,2]
Cac cach tiép cận giải bài toản cắt vật tư có thê mô tả theo sơ đô sau
Các cách tiếp cận giải bài
Cách tiếp cận chính xác
Dựa trên mô hình nởi lỏng liên tục Kỹ thuật B&P
Cách tiếp cận heuristic
Dựa trên tim kiếm cục bộ A ˆ toán học để hạn chê a UNE CONE CU cu
cực trị địa phương
- Phương pháp tạo ease - Giải thuật di truyền
Gilmore&Gomory - Next-Fit Rp koa Thuat toan
cua Carvalho - Best-Fit - Giải thuật đàn kiên
- Các thuật toán cải Ta - Mô phỏng tôi luyện
Trang 16bản luận án này
Luận án này nhằm đóng góp một phương pháp hiệu quả để giải bài toán
OneDCSP_M xuất phát từ mô hình của Gilmore và Gomory, véi diéu kiện nguồn
nguyên liệu không bị giới hạn Những đóng góp chính của tác giả trong luận án này
bao gôm:
- _ Tiến hành phân tích mối liên quan ngữ nghĩa của bài toán OneDCSP_M với
bài toán cắt trên một loại vật liệu thô (One Dimensional Cutting Stock
Problem with Single Stock Sizes - OneDCSP_S) Tir do dua ra mot cach
phát biểu mới của bài toán cắt vật tư với nhiều kích cỡ vật liệu thô
OneDCSP_M
- _ Trên cơ sở phát biêu mới của bài toán OneD2CSP _M và những mối liên quan ngữ nghĩa với bài toán OneDCSP _S, đề xuất lai ghép giải thuật di truyền
với kỹ thuật phân nhánh và định giá theo mô hình Arc-Flow tạo nên thuật
toán GA-AF giải hiệu quả bài toán OneDCSP_M Tính đúng đắn của thuật toán được chứng minh bằng lý thuyết Tính hiệu quả được kiêm chứng trên một số lượng tương đôi lớn các bài toán mẫu
- _ Để nâng cao hiệu quả khi giải các bài toán thực tế, thuật toán GA-AF được
cài đặt dưới dạng một hệ thống đa tác tử thực hiện các tính toán song song
và phân tán nhằm tận dụng tài nguyên tính toán của mạng cục bộ (LAN) Tính đứng đắn của hệ thống được chứng minh chặt chẽ Tính hiệu quả của hệ thống được phân tích bằng toán học cũng như trong môi trường triển khai thực tiên
Các kết quả được chính được trình bày trong 4 công trình công bố trên tạp chí chuyên ngành và hội thảo quốc tế
Câu trúc của Luận án như sau:
Trang 17Ngoài phần Mở đầu và Kết luận chung, luận án được chia làm 3 chương
Chương 1 trình bày các công cụ toán học cơ sở nhằm giải quyết bài toán đặt ra ở chương sau Phần thứ nhất của chương trình bày các mô hình và thuật giải chính xác cho bài toán cắt vật tư với một loại vật liệu thô Phân thứ hai trình bày tóm tắt
một sô vân đề cơ bản của giải thuật di truyền
Trong chương 2, tác giả phân tích mối liên quan ngữ nghĩa giữa bài toán OneDCSP_M và bài toán OneDCSP_S Kết quả cho thấy việc cắt vật tư với nhiều kích thước vật liệu thô sẽ mang lại hiệu quả hơn so với trường hợp chỉ có một loại vật liệu thô và từ đó đề xuất một mô hình mới cho bài toán OneDCSP_M Cac phan tích đó cũng làm cơ sở cho việc lai ghép giải thuật di truyền (GA) với thuật toán
phân nhánh và định giá theo mô hình Arc-Flow (AF) của Carvalho để tạo nên thuật toán mới GA-AF giải bai ton OneDCSP_M Tinh ding dan của thuật toán GA-AF
được chứng minh chặt chẽ Tính hiệu quả của thuật toán cũng được kiểm chứng trên
tập các bài toán mẫu do Belov [1 1] đưa ra
Phát biểu mới của bài toán OweDCSP_M trong chương 2 đã phân rã bải toán
thành nhiêu bài toán con có thể giải quyết một cách độc lập bằng thuật toán phân
nhánh và định giá theo mô hình AE Từ đó, trong chương 3, tác giả đã cải đặt thuật
toán dưới dạng một hệ thống da tac tr GMAS-OneDCSP_M nham nâng cao hiệu
quả của nó được phân tích chặt chẽ và được kiêm chứng bằng việc triển khai thử
nghiệm trong môi trường công nghiệp.
Trang 18việc xây dựng giải pháp cho bài toán ÓneDCSP_M được đưa ra trong các Chương
tiếp theo Phan thứ nhất giới thiệu bài toán cắt vật tr một chiều với một loại vật liệu
thô OneDCSP_S voi hai m6 hinh giải bài toán: mô hình của GIlmore-Gomory và
mô hình Arc-Flow của Carvalho Phần tiếp theo của chương đề cập những nội dung cơ bản của thuật toán di truyền
1.1 Bài toán cắt vật tư một chiều với một loại vật liệu thô và thuật giải
Bài toán cắt vật tư một chiều kinh điển (bài toán cắt vật tư một chiều với một loại
vật liệu thô —- One Dimensional Cutting Stock Problem with Single Stock Length OneDCSP_ S) được xác định bởi các dữ liệu sau:
(m,L„!=(,, ,l„),b=(b¡, bạ,)),
trong đó :
- m là số dạng vật liệu thành phẩm được cắt từ vật liệu thô
- " là bè rộng của tâm vật liệu thô
- Đối với mỗi dạng vật liệu thành phẩm / :
+]; la bé rong
+ b; la đơn hàng cho loại vật liệu thành phẩm đó
Bài toán đặt ra là tìm cách cắt sao cho số lượng tâm vật liệu thô sử dụng là ít nhất
mà vẫn đáp ứng được yêu cầu của đơn hàng
Ở đây, các khái niệm vật liệu thô, vật tư, nguyên liệu đầu vào của bài toán được hiểu với nghĩa trơng đương Tương tự, hai thuật ngữ thành phẩm và sản phẩm cũng mang ý nghĩa tương đương.
Trang 19Bài toán OneDCŒSP lần đầu tiên được Kantorovich [35] phát biểu dưới dạng bài
toán quy hoạch nguyên và được chứng minh thuộc lớp bài toán NP-Hard Sau đó
nhiều tác giả đã xây dựng các mô hình khác như mô hình của Gilmore -Gomory [26], mô hình Arc-flow cua Valerio de Carvalho [55], m6 hinh Node-flow cua
Belov [14] nhằm khắc phục tính nới lỏng liên tục yếu cũng như tính đối xứng của
mô hình Kantorovich, đồng thời tận dụng các thông tin câu trúc của không gian nghiệm nhằm xây dựng các thuật toán giải chính xác cho bài toán Sau đây là hai
mô hình gốc thường được sử dụng khi nghiên cứu bải toán
1.1.1 Mô hình Gilmore-Gomory
Định nghĩa 1.1 Một phương án cắt là một véc tơ cột z/ =Í 4s đ„y] eZ, j=l, n
với zz là số lan thanh pham thir i duge cat theo phương án cat ; tir tam vat
liệu thô Phương án cắt gọi là chấp nhận được nếu nó thỏa mãn điều kiện: 5 ha, <1 (1.1)
i=1
Giả sử x,,j=1, ,2 la so lan phuong an cat chap nhận được thứ j dugc su dụng
trong nghiệm Khi đó mô hình bài toán cắt vật tư một chiều với một loại vật liệu thô
cua Gilmore va Gomory dugc phat biêu như sau:
j=l
Trang 20trên miên ràng buộc:
j=l
Mô hình (1.1)-(1.4) là bài toán quy hoạch nguyên với số lượng biến n tăng theo
hàm mũ của Mô hình này khắc phục được tính đối xứng của mô hình Kantorovich và có nới lỏng liên tục mạnh với dự đoán về tính chất làm tròn nguyên cai bién (Modified Integer Round-p Property - MIRUP) như sau:
“Sự sai khác giữa giá trị tối uu cia bai toán OneDCSP _ S(m,L.1,b) và giá trị tối ưu của bài toán nởi lỏng liên tục của nó luôn luôn nhỏ hơn 2”
Trong thực tế người ta chưa chỉ ra được các ví dụ có sự sa1 khác lớn hơn 7/6 [44] Hơn nữa, những ví dụ có sai khác nhỏ hơn Ì chiếm đa số Những bài toán như vậy được gọi là các bài toán có tính chat lam tron nguyén (Integer Round-Up Property — IRUP) Những bài toán có sai khác lớn hơn hoặc bằng 1 được gọi là những bài toán non-IRUP
Trên cơ sở dự đoán đó, Gilmore va Gomory dé xuat cách tiếp cận giải bài toán (1.1)-(1.4) gồm 2 bước: 1/ giải bài toán nới lỏng liên tục của (1.1)-(1.4); 2/ Làm
tròn số nghiệm tối ưu của bài toán nới lỏng liên tục để nhận được nghiệm của bài
toán (1.1)-(1.4)
Để giải bài toán nới lỏng liên tục của (1.1)-(1.4) với số lượng biến ø rất lớn,
Gilmore va Gomory lần đầu tiên đề xuất sử dụng kỹ thuật tao sinh cột, trong đó mỗi biến chỉ được sinh ra khi nó thực sự cần thiết cho việc cải thiện nghiệm tìm được trước đó Sau khi thêm vào các biến phụ (slacks) ta có thể đưa bài toán (1.1)-(1.4) vê dạng chuân:
OneDCSP _S(m,L,1,b) = min| ||x|: 4x =b,x e Z7] (1.5)
Trang 2112
Nới lỏng liên tục của (1.5) nhận được bằng cách loại bỏ ràng buộc nguyên trên các biến và được gọi là bài toán chủ (Master Problem - MP) sẽ có dạng:
OneDCSP _ 5””(m, L„I,b)= min| |x||: Ax = b,x e R2] (1.6)
Xuất phát, kỹ thuật tạo sinh cột sẽ làm việc với một tập con các cột của 4 được
gọi là bài toán chủ hạn chế (Restricted Master Probiem - RMP) RMP có thể được khởi tạo dễ dàng, ví dụ bởi cơ sở kiến thiết ban đầu của phương pháp đơn hình Giả sử 4 là các cột trong 4 được lựa chọn Khi đó RMP có dạng:
Nhận xét rằng giá suy giảm của một biễn ứng với phương án cắt chấp nhận được
a trong (1.7) được xác định bởi công thức 1—øø, với wlR” là các giá trị biến đối ngẫu tôi ưu của (1.7) Do vậy việc tìm kiếm cột có thể đóng góp cải thiện giá trị
hàm mục tiêu chính là việc tìm nghiệm tối ưu của bài toán con định giá ( hay là bài
toán xếp ba lô):
max | ua: 4Ï < L,a e Z2] (1.8) Nghiệm tối ưu của (1.8) sẽ lần lượt được thêm vào RMP nếu giá trị tôi ưu tương
ứng của (1.8) lớn hơn 1 Nếu (1.8) không có nghiệm tối ưu như vậy thì nghiệm tối
ưu của bài toán RMP (1.7) chính là nghiệm tối ưu của bài toán MP (1.6)
Trên cơ sở ý tưởng vừa trình bày, phương pháp tạo sinh cột giải bải toán quy
hoạch tuyến tính cỡ lớn được Gilmore-Gomory nhúng vào /ược đồ nhánh cận
(Brand and Bound) dé tao nén /ược đồ phân nhánh và định giá (Branch and Price)
cho việc giải bài toán quy hoạch nguyên OneDCSP_S Da co nhiều chiến lược phân nhánh heuristic khác nhau được đề xuất Một số chiến lược đó có thê tra cứu trong
[44,58].
Trang 221.1.2 M6 hinh Arc-flow cua Valerio de Carvalho
Valerio de Carvalho [55] lan dau tién dé xuat phat biéu lai bài toán (1.1)-(1.4)
dưới dạng một mô hình dựa trên mạng lưới (network -based model) rất sáng sủa với tên gọi Arc-Flow Model như sau
Chúng ta xây dựng một mạng lưới không chu trình G=(N,4)
Trong đó:
- N={0,1, ,£} là tập các nút;
- A= {(w,v) eWxN/y-u=l,i= 1, ,m} Ul(u,v)/u c N \{L}} là tập các cung,
Các cung nỗi mỗi cặp nút liên tiếp từ 0 tới không phủ bất cứ một thành phẩm
nào Một sản phẩm thứ ¡ được biêu diễn một số lần trên mạng lưới bởi các cung có do dai v-u=l,, i=1, ,m
Ta ký hiệu các biến quyết định x„„ là số lượng các cung thành phẩm có kích
thước y- được cắt từ bất cứ tâm vật liệu thô nảo tại nút cách biên trái của tâm vật
tư đơn vỊ
Một đường đi từ nút khởi đầu 0 tới nút kết thúc 7, chứa ít nhất một cung có độ đài
?; (=1, „m) sẽ mã hóa một phương án cắt chấp nhận được
Hình 1-2 Ví dụ về mạng lưới và phương án cắt với L=9 và các I, c{4,3,2)
Trang 2314
Với cách xác định mạng lưới như vậy, bài toán ÓneDCSP_S sẽ có độ phức tạp tính toán giả đa thức (Pseudo-polynomial) O(nL) và trở thành bài toán tìm luồng cực tiêu sau:
vào bài toán (1.9)-(1.14) và giữ ràng buộc (1.10) trong bài toán chủ thì bải toán con
xác định bởi (1.11)-(1.14) là bài toán luồng với không gian nghiệm tương ứng với
các luồng chấp nhận được giữa nút khởi đầu 0 và nút kết thúc 7 Bài toán con này
thể hiện ràng buộc bảo toàn luồng (flow conservation constrain) với lượng cung cấp
vật tư chưa biết z từ điểm khởi đầu và đáp ứng yêu câu tại điểm kết thúc Cho các
nhân tử đối ngẫu 7, i=1, ,m gan voi rang budc (1.10), bài toán con định giá trở thành:
Min z- DX uss (1.15)
(uutl, eA
trên miền ràng buộc (1.11)-(1.14)
Thực chất, biến z có thể được coi như cung phản hồi từ nút kết thúc 7 tới nút
khởi đâu 0 (cũng có thê ký hiệu là x„;) và các nghiệm của bài toán con như là luông
Trang 24chu trình được tạo nên bởi đường đi từ nút khởi đầu 0 tới nút kết thúc Ƒ và cung x„ạ
Như vậy có một tương ung Ì -1 giữa các chu trình và các đường đi Nếu chúng ta coi các nghiệm của bai toan con như các chu trình, các ràng buộc của bài toán con xác
định một hệ thuần nhất và không giới nội Do đó, đa diện tương ứng có một điểm
cực duy nhất là nghiệm 0 và một số hữu hạn các tia cực là các chu trình có hướng, mỗi chu trình tương ứng với một phương án cắt chấp nhận được Bài toán con chỉ sinh ra các tia cực và việc thay thế chúng vào (1.9) và (1.10) sẽ tạo nên mô hình Gilmore-Gomory (1.2)-(1.4) gom tổ hợp tuyến tính không âm của các phương án cắt và không có ràng buộc lỗi Do hai mô hình là tương đương nên các cận dưới của các nới lỏng tuyến tính liên tục của chúng là bằng nhau, tức là mô hình arc flow cũng có nới lỏng tuyến tính mạnh sau khi áp dụng phân rã Dantzig-Wolfe
Bài toán con định giá (1.15) với miền ràng buộc (1.11)-(1.14) là bài toán tìm
đường đi ngắn nhất trên một mạng lưới có kích thước giả đa thức và có thể được giải bởi thuật toán quy hoạch động và nghiệm tối ưu của nó cũng là nghiệm tối ưu
của bài toán xếp ba lô (1.8) [55]
Ưu điểm của mô hình này là hoàn toàn không làm thay đối câu trúc của bài toán
chủ và các bài toán con khi tạo nới lỏng tuyến tính liên tục cũng như trong quá trình
thực hiện chiến lược phân nhánh và định giá
Ta nhận thấy rằng, mô hình trên có nhược điểm là tính đối xứng Để loại bỏ điều
đó, Valerio de Carvalho đề xuất các thành phẩm được cắt theo chiều giảm của kích thước, tức là các cung tương ứng với các thành phẩm có kích thước lớn hơn sẽ được xếp ở gần nút 0 hơn và phê thải được dồn về phía nút 7
Từ đó, Valerio de Carvalho đã đề xuất thuật toán giải chính xác bài toán OneDCSP_ S với ý tưởng chính như sau:
Chiến lược phân nhánh:
Giả sử x„„ là một biến luồng trong mô hình arc flow Như vậy, một phương án cắt trong mô hình Gilmore-Gomory tương ứng sẽ đóng góp cho biến luồng Xpq nếu nó
có một thành phẩm kích thước g-p được cắt từ điểm bắt đầu là p Nếu ta ký hiệu
Trang 25ló
A@,q) là tập tất cả các phương án cắt trong mô hình của Gilmore-Gomory chứa
thành phẩm có độ dài g-p tai điểm có khoảng cách p từ biên trái của vật liệu và các
x; là các biến quyết định của mô hình này, ta có thể xác định giá trị của biến luồng
(¡¡+ỉ,) thuộc phương án cắt 7 và bằng 0 nếu ngược lại; J la tap tất cả các phương án
cắt chấp nhận được Ta thấy (1.17)-(1.18) chính là mô hình của Gilmore-Gomory;
(1.19)-(1.20) là các ràng buộc phân nhánh
Như vậy, mỗi nút của cây sẽ tương ứng với cùng một mô hình Gilmore -Gomory
(phân rã Dantzig-Wolfe của mô hình Arc flow) (1.17)-(1.18) với việc bố sung các
ràng buộc phân nhánh dựa trên các biến luồng (1.19)-(1.20).
Trang 26Giả sử Z¿, đ=I, ,m, là các biến đối ngẫu của (1.17)-(1.18); ¿ và v là các véc tơ các biến đối ngẫu tương ứng các ràng buộc rẽ nhánh (1.19) -(1.20); G7, cG*” và
Hộ © H™ la tap cac rang buộc rễ nhánh áp đặt cho một cung xác định (¡,;) tại nút w cho trước trên cây phân nhánh và định giá Khi đĩ giá suy giảm của biến x, tal nut w duoc tinh bang céng thir:
leGW ; leHG 3)
với đ là thành phẩm tương ứng với cung (¡,j)
Ta nhận thấy rằng chỉ cĩ giá của các biến là thay đơi cịn cầu trúc của bài tốn con được giữ nguyên Bài tốn con này cĩ thể giải bằng phương pháp quy hoạch động giống như giải bài tốn xếp ba lơ và chỉ cho các phương án cắt chấp nhận được với các thành phẩm được xếp theo thứ tự kích thước giảm Các phương trình đệ quy được cho như sau:
Để đưa ra giả mã thuật tốn phân nhánh và định giá AF (theo mơ hình Arc-Flow) giải chính xác bài tốn OøeDCSP_S theo đề xuất của Carvalho, chúng ta sử dụng những ký hiệu sau:
- W: tap cac nút trên cây phân nhánh Mỗi nút cụ thể được ký hiệu là w
- Á” là tập các cung của mơ hình arc-flow tại nút w
Trang 27Như vậy, mỗi nút trên cây phân nhánh sẽ được đặc trưng bởi bộ ba w=(4”,G”,H”)
Từ đó ta có thê phát biểu thuật toán AF như sau:
THUAT TOAN AF:
Sfart: Khởi tạo tập các nút W ban đầu chỉ chứa một nút gốc w=(A",G",H") với A"
là một tập các cung tương ứng với nghiệm chấp nhận được tùy chọ n X* voi gia tri hàm mục tiêu là Zz
G" =H"=@;
w*<—w; / (Bài toán chủ hạn chế RMP)
while W4@ do
Chon mot nut w trong W
Tim nghiém toi wu Xp va gid tri tỗi u của hàm mục tiêu lương ứng z¡p cho nới lỏng tuyến tỉnh của RMP nhận được từ phân rã Damtzig -Wolƒfe của w Giải bài toán định giá với các nghiệm đối ngẫu tối u tương ứng của w ÿ Có cung mới (u,v) năm trong đường đi tương ứng với cột có giá âm
ÿ Nghiệm nhận được Xp là nguyên
then Cáp nhật nghiệm tối wu moi: X "<Xip, ze Zip, W*ew else Phán nhánh: Giả xử xụ= œ khong nguyén
W=W(\){w,w "} trong đó
Trang 281.2 Giải thuật di truyền
Ý tưởng áp dụng các nguyên lý của Darwin đề tự động giải bài toán xuất hiện từ
những năm 40 của thế kỷ 20, rất lâu trước khi máy tính ra đời [22] Từ những năm
do Turing đã để xuất “phép tìm kiếm tiến hóa hay tìm kiếm gen” (Genetical or evolutionary search) Trong những năm 1960, ba khuynh hướng phát triển của ý tưởng cơ sở này đã diễn ra ở các nơi khác nhau Tại Mỹ, Fogel, Owens và Walsh đề xuất hướng nghiên cứu lập trình tiến hóa (Evolutionary programming) [23,24] cùng
thời điểm với phương pháp của Holland có tên gọi là giải thuật di truyền (Genetic
Algorithm) [17,28,29| Trong khi đó tại Đức, Rechenberg và Schwefel đặt nên móng cho chiến lược tiến hóa (Evolution Strategies) [47] Trong khoảng 15 năm sau đó, các hướng nghiên cứu này được phát triển một cách riêng biệt Cho đến những năm 1990, các hướng nghiên cứu này được nhìn nhận lại như những thể hiện khác nhau của một công nghệ chung là tính toán tiến hóa (Evolutionary Computing) [4,
5, 6, 18, 40] Cũng trong thời điểm này, một nhánh thứ tư dựa trên ý tưởng chung ra
đời với tên gọi lập trình gen (genetic programming) do Koza di tiên phong [7.37,38] Trong thuật ngữ hiện đại, toàn bộ lĩnh vực nghiên cứu này được coi 1a ngành tính toán tiến hóa, các thuật toán trong đó được gọi là các thuật toán tiễn hóa
Lập trình tiến hóa, chiến lược tiến hóa, giải thuật di truyền và lập trình gen được
xem như các lĩnh vực nhỏ thuộc vê các biên thê của thuật toán tương ứng.
Trang 2920
Giải thuật di truyền là một họ các mô hình tính toán dựa trên ý tưởng tiễn hóa
Các giải thuật này mã hóa nghiệm tiêm năng của một bài toán cụ thê bằng một cầu trúc dữ liệu giống như các nhiễm sắc thể (chromosome) và áp dụng các toán tử tái tô hợp (recombination operators) lên các cầu trúc dữ liệu đó sao cho có thê giữ được các thông tin chính Giải thuật di truyền thường được xem như những bộ tối ưu hàm
số mặc dù chúng có thê được áp dụng vào nhiêu lĩnh vực rộng hơn
Một cài đặt của giải thuật di truyền bắt đầu với một quan thể các nhiễm sac thé (thường được tạo ngẫu nhiên) Người ta đánh giá các cầu trúc này và phân bổ cơ hội
tái sinh cho chúng theo cách những nhiễm sắc thê biêu diễn nghiệm tốt hơn của bài
toán sẽ được ưu tiên hơn các nhiễm sắc thể khác đẻ tái sinh Mức độ “tốt” của một nghiệm thường được xác định tư ơng ứng với quân thê hiện thời
Mô tả của giải thuật di truyền như trên là khá trừu tượng và có hai cách hiểu về thuật ngữ “giải thuật di truyền” Theo nghĩa chặt, “giải thuật di truyền” được coi là một mô hình tính toán do Holland đề xuất và nghiên cứu từ năm 1975 Hầu hết các
lý thuyết về giải thuật di truyền đang tồn tại cho đến hiện nay đều dùng thuật ngữ
theo nghĩa này và khi đó mô hình được gọi là giải thuật di truyền chính tắc
Theo nghĩa rộng hơn, giải thuật di truyền được coi là bất cứ một mô hình nào dựa trên quần thé (population-based model) nào có sử dụng các toán tử tái tổ hợp và lựa chọn để sinh ra các điểm mẫu mới trong không gian tìm kiếm Nhiều mô hình giải thuật di truyền đã được các nhà nghiên cứu thực nghiệm đưa ra trên quan điểm hướng ứng dụng và xem giải thuật di truyền như công cụ tối ưu hóa
Trong mục này, chúng ta sẽ trình bày những khái niệm cơ bản liên quan tới giải
thuật di truyên
Trong hầu hết các giải thuật di truyền thông thường có hai thành phần phụ thuộc
vào bài toán: mã hóa bài toán và hàm đánh giá
Bước đầu tiên trong bất kỳ một giải thuật di truyền nào là bước tạo sinh quân thé xuất phát Trong giải thuật di truyền chính tắc, mỗi thành viên của quân thể này là một chuôi nhị phân độ dài 7 tương ứng với mã hóa nghiệm của bài toán Mỗi chuỗi
Trang 30như vậy được xem như một nhiễm sắc thể Trong hầu hết các trường hợp, quân thê
này được sinh ra một cách ngẫu nhiên Sau khi sinh ra quần thể xuất phát, mỗi cá
thê của quân thể được đánh giá và được gan cho một giá trị thich nghi (fitness value)
Khái niệm đánh giá (evaluation) và thích nghi (fitness) đôi khi được sử dụng như
cặp từ đồng nghĩa Tuy nhiên, người ta thường phân biệt giữa hàm đánh giá
(evaluation function) và hàm thích nghi (fitness function) được sử dụng trong các
giải thuật di truyền Trong mục này, hàm đánh giá (hay hàm mục tiêu) cung cấp độ
đo hiệu quả của việc thiết lập giá trị các tham số cụ thể Hàm thích nghi biến đôi độ
đo hiệu quả này thành việc phân bố cơ hội tái tạo cho các cá thể Việc đánh giá một
chuỗi biểu diễn tập các tham số là hoàn toàn độc lập với việc đánh giá các chuỗi khác Tuy nhiên, mức độ thích nghi (fitness) của một chuỗi luôn luôn được xác định
trong mỗi tương quan với các thành viên khác trong quân thê hiện tại
Trong giải thuật di truyền, mức độ thích nghi có thể được xác định bằng f if voi f, 1a danh gid cla chudi i va ƒ là đánh giá trung bình của tất cả các chuỗi trong
quần thẻ Mức độ thích nghỉ cũng có thể được gán dựa trên thứ hạng của cá thể
trong quần thê hoặc bằng các phương pháp lây mẫu như phương pháp lựa chọn theo đầu loại
Việc thực hiện giải thuật di truyền có thể được xem như một quá trình hai giai
đoạn Thuật toán bắt đầu với quân thể hiện thời Việc lựa chọn được áp dụng vào
quân thể này để tạo ra một quân thể trung gian Sau đó việc lai ghép và đột biến được áp dụng cho quân thể trung gian để tạo nên quân thê tiếp theo Quá trình chuyển từ quân thê hiện thời tới quân thê tiếp theo tạo nên một thế hệ trong tiến
trình thực hiện giải thuật di truyền Cách thực hiện như vậy được gọi là cài đặt của
giải thuật di truyền đơn giản (Simple Genetic Algorithm — SGA) Hình 1.3 minh
họa việc hình thành một thế hệ mới theo hai pha: pha chọn lọc và pha tái tổ hợp
Việc đột biến có thể thực hiện ngay sau lai ghép.
Trang 31(Nhân đôi) (Lai ghép, đột biến)
Chuỗi -J -¬1 Chuỗi Ï T—sv~~~L Con-A (1 x 2)
Chuoi 2 ~†=======_-T TT - Chuỗi 2 — ~ ~~-1 Con-B (2 x 1)
Chuỗi 3 oT Chuỗi 2 —Tms¿=~~[ Con-A (2 x 4)
-†======== E CS vee
The hé hién tai Thê hệ trung gian Thê hệ tiêp theo
Hình 1-3 Một thế hệ mới được hình thành qua pha chọn lọc và pha tái tổ hop
Đầu tiên chúng ta xem xét việc xây dựng quần thê trung gian từ quân thể hiện
thời Trong thê hệ dau tiên, quân thể hiện thời cũng đồng thời là quân thể xuất phát
Sau khi tinh f/f cho tat cả các chuỗi trong quân thẻ hiện thời, chúng ta thực hiện
việc lựa chọn Trong giải thuật di truyền chính tắc, xác suất để một chuỗi trong quân thê hiện thời được sao chép lại và được đưa vào thế hệ trung gian tỷ lệ thuận với mức độ thích nghi của chúng
Có nhiều cách thực hiện việc lựa chọn Chúng ta có thể ánh xạ quan thê lên một bánh xe roulette, mỗi cá thể chiếm một không gian tỷ lệ thuận với mức độ thích nghi của nó trên bánh xe Quân thê trung gian được tạo nên nhờ việc quay liên tiếp
bánh xe để chọn ra các cá thể theo cơ chế “lẫy mẫu ngẫu nhiên có thay thé”
(stochastic sampling with replacement) Cơ chế lựa chọn như vậy được gọi là lựa chọn tỷ lệ (proportional selection) và xác suất đê một phần tử b được lựa chọn xác định bởi công thức sau:
p)=(0)/Ề”ƒ())>0
Trang 32với b va cac ø, là các cá thê năm trong quân thê hiện tại
Quá trình lựa chọn cũng có thê thực hiện bằng cơ chế “remainder stochastic sampling” Khi d6 méi chudi i voi f£,/ f lớn hơn 1 sẽ được sao chép vào quân thể trung gian với số lần bằng phần nguyên của #!ƒ Sau đó tất cả các chuỗi (kê cả
các chuỗi có ƒ/ƒ nhỏ hơn 1) sẽ được sao chép thêm vào quân thê trung gian với
xác suất tỷ lệ thuận với phân thập phân của chúng
Sau khi lựa chọn, việc tái tô hợp được thực hiện trên quân thể trung gian Việc này có thê được coi như việc tạo ra quân thé tiếp theo từ quân thê trung gian Việc lai ghép (crossover) được áp dụng cho các chuỗi được ghép cặp một cách ngẫu
nhiên với xác suất p„: Lây ra một cặp chuỗi; tái tô hợp hai chuỗi này với xác suất p„
dé tao nên hai chuỗi mới và đặt chúng vào quân thể tiếp theo
Bước tiếp theo là việc áp dụng toán tử đột biến (mutation operator) Mỗi bit trong
quân thê có thể chịu hiện tượng đột biến với xác suất p„, Thông thường, tần xuất
đột biễn được thực hiện với xác suất nhỏ hon 1% Trong một sỐ trường hợp, đột biến được giải thích như việc tạo ngẫu nhiên một bit mới Trong các trường hợp khác, đột biến được xem là phép lật bit Sự khác nhau giữa hai cách giải thích thực
chất chỉ là chỉ tiết cài đặt và mỗi kiểu đột biễn đều có thê chuyên đ ôi đề nhận được
kiểu còn lại
Khi quá trình lựa chọn, tái tổ hợp và đột biến hoàn thành, quan thể tiếp theo lại
được đưa vào chu trình lặp với các bước như trên Như vậy một thế hệ mới đã được
sinh ra khi thực hiện giải thuật di truyền
Giải thuật di truyền như mô tả trên có thê được viết dưới dạng giả mã như sau:
Trang 3324
GIẢI THUẬT DI TRUYÈN
Khởi tạo quần thể ban đầu X ={x', 3"| While (diéu kiện kết thúc chưa thỏa mãn) do
Đánh giá mức độ thích nghỉ của các cả thé trong X (evaluation)
Lựa chọn một số cặp nghiệm (gọi là cha-mẹ) Pc X” dựa trên mức độ thích nghỉ của chung (Parent selection)
Tổ hợp các cặp được lựa chọn để sinh ra các cá thể mới (crossover) Biến đổi ngẫu nhiên một số cá thé (mutation)
Tạo quân thể mới bằng việc thay thé một số hoặc toàn bộ cá thể của X bởi các cá thể mới được sinh ra dựa trên mức độ thích nghỉ của chúng (population selection)
End while
Đã có nhiều công trình nghiên cứu nhằm mô hình hóa toán học giải thuật di
truyền, các ảnh hưởng của các toán tử đi truyền lên hành vi của giải thuật, đặc biệt là hành vi hội tụ tới nghiệm tối ưu Các kết quả lý thuyết có ý nghĩa nhất theo
hướng này được tổng kết một cách cô đọng trong công trình của Rudolph [ 45]: Việc mô hình hóa giải thuật di truyền bằng một xích Markov hữu hạn trên không gian các trạng thái là tập tất cả các quân thê có thê được sinh ra trong quá trình thực hiện của giải thuật và các toán tử di truyền là các ma trận chuyển trạng thái được xác định bởi các tham số như xác xuất đột biến Dm » XÁC suất lựa chọn cha-mẹ 0c Trên
cơ sở mô hình hóa giải thuật di truyền như vậy, người ta đã tiễn hành phân tích hành vị của giải thuật bằng việc chỉ ra rằng với xác suất đột biến p„>0 giải thuật di
truyền chính tắc là một xích Markov ergodic và vì vậy phân phối xác suất tới hạn của mọi trạng thái trong không gian trạng thái là dương chặt Điều đó có nghĩa rằng ,
xuất phát từ một trạng thái ban đầu bất kỳ, tại mọi thời điểm, giải thuật có thê rơi
vào trạng thái tương ứng với quân thể không chứa nghiệm tôi ưu với một xác suất
dương Nói cách khác, giải thuật không hội tụ hoàn toàn Để khắc phục nhược điểm
Trang 34trên của giải thuật di truyền chính tắc, người ta đã cải biên giải thuật bằng cách
thêm vào một toán tử sao chép (copy operator) cho phép cá thê có độ thích nghi cao
nhất của từng quân thể được giữ lại cho quân thê tiếp theo Phiên bản cải biên như vậy được gọi là giải thuật di truyền chính tắc với phần tử tinh hoa và được chứng
minh là hội tụ hoàn toàn Các kết qua chi tiét nghiên cứu về tính hội tụ của thuật
toán di truyền có thê tham khảo tại [41,45,46]
1.3 Kếtluận
Chương này tập trung giới thiệu hai vẫn đề chính làm cơ sở cho việc trình bày
các nội dung của Chương 2
1 Bài toán cắt vật tr một chiêu với một loại nguyên liệu OweDCSP_S và hai
mô hình cùng giải thuật giải chính xác cho bải toán: mô hình cla Gilmore —
Gomory và mô hình Arc-Flow của Carvalho Các giải thuật đêu được xây
dựng dựa trên việc nhúng kỹ thuật tạo sinh cột vào lược đồ nhánh cận B&B
để tạo nên lược đồ phân nhánh và định giá B&P, đây là một phương pháp
hiệu quả đê giải các bài toán quy hoạch nguyên cỡ lớn
2 Phần tiếp theo của chương dành cho việc trình bày những khái niệm cơ bản về giải thuật di truyền: mã hóa nghiệm của bài toán, các toán tử di truyền và các sơ đồ thuật toán di truyền Tính hội tụ của giải thuật di truyền chính tắc và biến thể của nó được tóm tắt ở cuỗi chương dựa trên kết quả nghiên cứu
của Ruldoph [45].
Trang 3526
Chuong 2 BAI TOAN CAT VAT TU MOT CHIEU VỚI NHIÊU KÍCH
THUOC VAT LIEU THO: MO HINH VA GIAI PHAP
Chương này trình bày nội dung liên quan đến bài toán OneDCSP_M Phan dau
của chương giới thiệu phát biểu bài toán OneDCSP_M của Gilmore và Gomory Trên cơ sở phân tích mối liên quan giữa bài toán OneDCSP_S và bài toán OneDCSP_M, tác giả đã đưa ra phát biểu mới của bài toán OneDCSP_M trong phần thứ hai Giải thuật di truyền lai ghép với kỹ thuật phân nhánh và định giá tạo nên
thuật toán GA-AF giải quyết bài toán Về mặt lý thuyết, thuật toán GA-AF được chứng minh đảm bảo tính hội tụ hầu chắc chắn Những nội dung này được đề cập
trong phần ba của chương Phân thứ tư trình bày hiệu quả thực nghiệm của thuật toán
2.1 Phát biểu bài toán cắt vật tư một chiều với nhiều kích thước vật
liệu thô theo Gilmore và Gomory
Bài toán cắt vật tư một chiều với nhiều kích thước vật liệu thô ( One-Dimensional
Cutting Stock Problem with Multiple Stock Sizes — OneDCSP_M) là mở rộng tự nhién cua bai toan OneDCSP, trong do cac tâm vật liệu thô có thê có kích thước
khác nhau Bài toán OweDŒSP_M có thể được biểu diễn bằng các dữ liệu sau: (m,M,I=(¿, ,l„), b=(b¡, , bạ),L=(Lạ, ,Lụ), c=(6;, €w))
trong đó:
m là số dạng vật liệu thành phẩm,
M là sô các loại vật liệu thô sẽ được sử dụng,
Với mỗi dạng vật liệu thành phẩm /: e 7 là chiều rộng thành phẩm
e _b, là đơn hàng cho loại vật liệu thành phẩm thứ j Véc tơ L=( L¿, ,L„), với L„ là bề rộng loại vật liệu thé thir i,
Trang 36- _ Œ¡ là đơn giá cua vật liệu thô thứ ¡, ¡=1, ,M
Trong bài này ta giả thiết rằng đơn giá của vật liệu thô tỷ lệ thuận với chiều rộng của vật liệu
Hình 2.1 minh họa các lát cắt trong mỗi phương án cắt với những loại vật liệu thô khác nhau của bai toan OneDCSP_M
Hình 2-1 Các phương án cắt trong bài toán OneDCSP_M
M6 hinh cua bai toan trén (Machine Balance Model) dugc Gilmore va Gomory xây dung trong [27] Mô hình có thé duoc phat biểu như sau:
Dat m’=m+M Mot véc to a =(a,, 4,.) €Z™ 1a biéu diễn của một phương án cắt
nêu
5S la,<3 La, „ Và 3a, „ =l (2.1)
j=l j=l j=l
Các thành phân a„ j—=1, ,m của véc tơ a xác định có bao nhiêu vật tư thành
phẩm loại 7 được cắt Thành phần z,,„ sẽ bằng 1 nếu loại vật liệu thô thứ & được sử dụng còn các thành phân z;,„ với ÿ e{1, ,}W bang 0.
Trang 3728
Goi n la số lượng tất cả các phương án cat Gia str a; voi i=1, ,n la tất cả các
phương án cắt và mỗi thành phan x; cla véc tơ x=(x, ,x„) là số lần sử dụng
phương án cắt ø; Ta nhận xét rằng, ø có thé rất lớn Ta xây dựng một véc tơ ø chiều c từ c theo cách sau Nếu phương án cắt a; được thực hiện trên tâm vật liệu loại k
thi c,=c,, i=J, ,.n và k=1, M Khi đó ta có mô hình:
OneDCSP_ M(m,M.!,b,L,c) = mìn c x (2.2) trên miên ràng buộc:
2.2 Phát biểu mới của bài toán OneDCSP_M
Trong mục nảy chúng ta sẽ tiến hành phân tích mối quan hệ ngữ nghĩa giữa hai bài toán OueDCSP_Š và OneDCSP_M và đưa ra một cách phát biểu mới cho bài toan OneDCSP_M
Dinh ly 2.1 [2] OneDCSP_M(m,M,1b,L,c)s OneDCSP_S(m,L,,1,b)c;, với mọi
ke {1, ,M} Noi cach khac, bai toan cat vat tư với nhiều kích thước vật liệu
thô sẽ tôt hơn việc cắt chi trên một loại vật liệu Chứng mỉnh
Trang 38Do giả thiết giá của vật tư tỷ lệ thuận với bề rộng của nguyên liệu nên
giá trị hàm mục tiêu chỉ phụ thuộc vào các phương án cắt Các phương án cắt tối ưu cho (1.2)-(1.4) thỏa mãn (1.1) đối với chỉ số k nào đó thì cũng thỏa mãn (2.4) và do vậy chúng trở thành phương án chấp nhận được của (2.2)-
(2.7) Điều này chứng minh khẳng định của định lý a
Định lý 2.1 khăng định ý nghĩa của việc xây dựng các giải pháp cho bài toán cắt vật tư với nhiều kích thước vật liệu thô
Giả sử x* là nghiệm tối ưu của (2.2)-(2.7) Ta ký hiệu:
- _ O(#), k=1, M, là tập tất cả các phương án cắt trên vật liệu thé thir k duoc sử dụng trong (2.2)-(2.7) tương ứng x' ;
- x /O(#) là thu hẹp của x` trên O(#);
- - b“ là véc tơ vật tư thành phẩm nhận được từ (2.2)-(2.7) với việc sử dụng số
lần cắt theo các phương án cắt trong O(#) được xác định bằng các thành phân tương ứng của x /3(&)
bịnh lý 2.2 [2] Nếu x” là nghiém tdi wu cua bai toan OneDCSP_M(m,M,1b,L,c) (2.2)-(2.7) thì x` /O() là nghiệm tôi ưu của bài toán OneDCSP_ S(m,L,,1,b") (1.1)-(1.4), k=1, ,M
Chứng mỉnh
Gia su x* là nghiệm tối ưu của (2.2)-(2.7) Rõ ràng rằng, nếu ta khởi tạo
bài toán (1.1)-(1.4) với các phương án cắt được xác định trong O(#)thì
x*/O(#) chính là một nghiệm chấp nhận được của OneDCSP _ S(m.L„,l,b*)
Vì vậy ta có OneDCSP _ S(m,L,,l,b”)<||x*/O(&)| Ta cần chỉ ra trong
trường hợp này thực sự xảy ra dâu đẳng thức
Giả sử x*/O() không phải là nghiệm tối ưu của bài toán Khi đó tồn tại
x” là nghiệm của nó và thỏa mãn:
Trang 3930
OneDCSP _ S(m,L,,1,b")= | xl|<|x* (9|
Vì việc cắt nguyên liệu thô thứ k hoàn toàn độc lập với việc cắt các
nguyên liệu thô khác nên nếu ta thay tập các biến của x” nằm trong x*/O(#)
bằng tập các biến tương ứng của x” để nhận được tập biến mới x” và đưa các
phương án cắt tạo nên xˆ trong bài toán OneDCSP _ S(m,L,,1,b*) vào (2.3) và (2.4) thì x” chính là một nghiệm chấp nhận được của (2.2)-(2.7) Tuy
nhiên giá của hàm mục tiêu của bai toán (2.2)-(2.7) xác định trên x” sẽ nhỏ
hơn giá của hàm mục tiêu xác định trên x' Điều này mâu thuẫn với giả thiết
x” là nghiệm tối ưu của (2.2)-(2.7) Như vậy x*/O(#) là nghiệm tối ưu của
bài toán ÓneDCSP _ S(m,L,,I,b“) Định ly được chứng minh = Trên cơ sở của Định lý 2.2, chúng ta có thể mô hình hóa bai ton OneDCSP_M
dưới dạng phát biểu mới bởi Định lý sau
Dinh lý 2.3 Bài toán ÓeDCSP_ M(m,M,I,b,L.c) tương đương với bài toán
Đặt b*“ là véc tơ sản phẩm được cắt trên loại vật liệu thứ & tương ứng với
x*/O(#) Khi đó ma trận B* được tạo thành từ các véc tơ cột b*“ sẽ phải
thỏa mãn (2.9)-(2.10) và theo Định lý 2.2 ta có :
Trang 40M
k=1
Noi cach khac, nghiém cua bai toan OneDCSP_M(m,M,1b,L,c) la mot
nghiệm chấp nhận được của bài toán (2.8) -(2.10) Từ đó ta có bat dang thức:
M
OneDCSP_M(m,M,1,b,L,c)= >; OneDCSP _ S(m,L, TM Je,
k=1
Ngược lại, các véc tơ nghiệm tối ưu ø”* của bài toán (2.8)-(2.10) bảo
đảm đáp ứng yêu cầu kế hoạch ø Tức là việc thực hiện cắt vật tư theo nghiệm tối ưu đó sẽ là nghiệm chấp nhận được của bài toán OneDCSP_M(m,M,1,6,L,c) Tt đó ta có :
M
OneDCSP_M(m,M,1,b,L,c)< >; OneDCSP _ S(m,L, 1b” )e,
k=1
Hai bất đẳng thức trên khẳng định tính đúng đắn của định lý a
Định lý 2.4 [2] Nghiệm tối ưu của bài toán (2.8)-(2.10) sẽ xác định trên tập các véc
toi wu cla OneDCSP_S(m,L,,1,b") thi x* cing la mot nghiém chap nhan
OneDCSP _ S(m,L,,1,t")<OneDCSP _S(m,L,,1,b") k=1, ,M Thay cac bat
đăng thức này vào (2.8), định lý được chung minh, =