Tải bản đầy đủ (.pdf) (92 trang)

Luận văn: Thực trạng và giải pháp hoàn thiện công tác lập kế hoạch sản xuất và tiêu thụ sản phẩm tại Công ty xây dựng cấp thoát nước và hạ tầng kỹ thuật

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (19.99 MB, 92 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

BỘ GIÁO DỤC & ĐÀO TẠO VIỆN KH & CN VIỆT NAM

VIỆN CÔNG NGHỆ THÔNG TIN

<small> </small>

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

<small> </small>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="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 tố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

<small> </small>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="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

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<small>Luậ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 </small>

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.

<small>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ý </small>

nghiên cứu sinh đã nhiệt tình giúp đỡ và tạo điêu kiện thuận lợi để tơi hồ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ư.

<small>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, </small>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.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

MỤ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 <small>1.1.2. Mơ hình Arc-flow của Valerlo de Carvalho ... ..-- - -- << s<sss£x⁄ 13 </small>

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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<small> </small>

Noi long tuyén tinh lién tuc yéu

<small>Weak linear continuous relaxation </small>

Phuong phap phan nhanh, dinh gia va

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<small>lil </small>

DANH MUC CAC KY HIEU, CUM TU VIET TAT

<small> </small>

<small> </small>

<small> </small>

<small> </small>

<small> </small>

<small> </small>

<small> </small>

<small> </small>

<small> </small>

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 <small>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 </small>thô

OneDCSP_M- | Tac tu giai bai toan OneDCSP_M Solver

OneDCSP_S | One Dimensional Cutting Stock Problem with Single Stock Sizes <small>-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ơ </small>

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

<small> </small>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="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 tốn của Silvio A. Araujo và đồng sự...---- scsccszscs¿ 45 <small>Bảng 2.3 Phân bố độ chênh lệch nghiệm so với kết quả của Belov -Scheithauer... 46 </small>

Bảng 2.4 Thống kê thời gian tính tốn... 2 ° St +St+EE+EESEESEESEEEEEEEESESEEEEEvEkrkereerxee 48 Bảng 2.5 Thống kê phân bồ thời gian tính tốn... - - + SE #zE£Ezxexxz se 49

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

DANH MỤC CÁC HINH VE

<small>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 </small>

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 tốn ... 2 sa SStSSEs+EEs+E+Es2 S22 50

<small>Hình 3-1 Kiến trúc của A-Team...-- 5c Set tt SESESEEESEEESEEEEEeeteEeErkeEeEersrsrsrsrsrees 53 </small>

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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

nâ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. <small>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 </small>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

<small>tố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 </small>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 tốn học đề

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

tơ 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

<small>bài toán Quy hoạch nguyên và được chỉ ra thuộc lớp các bài tốn NP-hard. Mơ hình </small>

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 <small>giải hiệu quả bài toan cắt vật tư một chiều duoc Gilmore va Gomory dé xuat vao </small>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 tốn nới lỏng liên tục khi bài tố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 <small>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í:</small>

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="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):

<small>- 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 ) </small>

-_ 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.

<small>Trong các kiểu bài toán cắt vật tư thì Bài tốn cắt vật tư một chiều (One </small>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 tố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 tố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 <small>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 </small>có rất ít cơng trình nghiên cứu về bài tố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.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Có 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 <small>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 </small>

đồ 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 tố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 tốn để

điều khiển q trình tìm kiếm.

<small>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ư </small>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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

Mộ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], <small>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 </small>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].

<small>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 </small>

giải thuật di truyền (Genetic Algorithm-GA). Các giải thuật này được xây dựng theo

<small>hai cach tiép can: cach tiép can don hang va cach tiép cận dựa trên nhóm. </small>

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 tố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 tố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

<small>thuật di truyền dựa trên nhóm do Falkenauer đề xuất [ 59]. </small>

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.

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Liang 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 tố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

<small>phương án cắt gitta cac ca thể trong một pha được đặt tên là co -operation. </small>

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.

<small> </small>Các cách tiếp cận giải bài

<small> </small>

<small>Cách tiếp cận chính xác </small>

<small>Dựa trên mơ hình nởi lỏng liên tục Kỹ thuật B&P </small>

Cách tiếp cận heuristic

<small> </small>

<small> </small>

<small> </small>

<small>Dựa trên tim </small><sub>kiếm cục bộ </sub>A ˆ toán học để hạn chê <small>a UNE CONE CU </small><sub>cu </sub>

<small>cực trị địa phương </small>

- 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

<small>- Các thuật toán cải Ta - Mô phỏng tôi luyện </small>

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

bả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 tố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 tố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ế.

<small>Câu trúc của Luận án như sau:</small>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<small>Ngoài phần Mở đầu và Kết luận chung, luận án được chia làm 3 chương. </small>

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 <small>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 </small>

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 <small>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 </small>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

<small>đượ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 </small>

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 tố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

<small>toán dưới dạng một hệ thống da tac tr GMAS-OneDCSP_M nham nâng cao hiệu </small>

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.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

việc xây dựng giải pháp cho bài tố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 tố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ô

<small>- " là bè rộng của tâm vật liệu thô </small>

- Đố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 tố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.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Bà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 tố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 tố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

<small>Đị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 </small>

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)

<small>i=1 </small>

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 tố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:

<small>j=l</small>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

trên miên ràng buộc:

<small>j=l </small>

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 ngun 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”

<small>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]. </small>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 tốn có tính chat lam tron nguyén (Integer Round-Up Property — IRUP). Những bài tố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ự đố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 tố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)

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<small>12 </small>

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ả <small>sử 4 là các cột trong 4 được lựa chọn. Khi đó RMP có dạng: </small>

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 tố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].

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

1.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;

<small>- A= {(w,v) eWxN/y-u=l,i= 1,..,m} Ul(u,v)/u c N \{L}} là tập các cung, </small>

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ó <small>do dai v-u=l,, i=1,...,m. </small>

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)

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<small>14 </small>

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 tốn giả đa thức (Pseudo-polynomial) O(nL) và trở thành bài tốn tìm luồng <small>cực tiêu sau: </small>

vào bài toán (1.9)-(1.14) và giữ ràng buộc (1.10) trong bài tố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)

<small>(uutl, eA </small>

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

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

chu 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„ạ.

<small>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 </small>

đị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 tố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à hồn tồ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 tố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:

<small>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 </small>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

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<small>ló </small>

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

<small>(¡¡+ỉ,) 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 </small>

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).

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

Giả 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à

<small>Hộ © H™ la tap cac rang buộc rễ nhánh áp đặt cho một cung xác định (¡,;) tại nút </small>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:

<small>leGW ; leHG. 3) </small>

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

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Như 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:

<small> </small>

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 <small>gia tri hàm mục tiêu là Zz </small>

G" =H"=@;

w*<—w; / (Bài toán chủ hạn chế RMP)

while W4@ do

Chon mot nut w trong W

<small>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 </small>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

<small>then Cáp nhật nghiệm tối wu moi: X "<Xip, ze Zip, W*ew </small>else Phán nhánh: Giả xử xụ= œ khong nguyén.

W=W(\){w,w "} trong đó

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

1.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 ý <small>tưởng cơ sở này đã diễn ra ở các nơi khác nhau. Tại Mỹ, Fogel, Owens và Walsh đề </small>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

<small>Algorithm) [17,28,29|. Trong khi đó tại Đức, Rechenberg và Schwefel đặt nên </small>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 tố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 <small>[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 tốn tiến hóa, các thuật tốn trong đó được gọi là các thuật tốn tiễn hóa. </small>

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

<small>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.</small>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<small>20 </small>

Giải thuật di truyền là một họ các mô hình tính tố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 tố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.

<small>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é </small>(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

<small>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ữ </small>

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.

<small>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 </small>trên quần thé (population-based model) nào có sử dụng các tố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 tố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à <small>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</small>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

như 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.

<small>Trong giải thuật di truyền, mức độ thích nghi có thể được xác định bằng f if </small>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 <small>đầu loại. </small>

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.

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

(Nhân đôi) (Lai ghép, đột biến)

Chuỗi -J ---¬1 __ Chuỗi Ï T—sv~~~L Con-A (1 x 2)

<small>Chuoi 2 ~†=======_-T TT - Chuỗi 2 —--~ ~~-1 Con-B (2 x 1) </small>

Chuỗi 3 oT Chuỗi 2 —Tms¿=~~[ Con-A (2 x 4)

<small>-†========__E CS vee </small>

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

<small>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 </small>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.

<small>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 </small>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

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

vớ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.

<small>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 </small>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 <small>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 </small>

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 q 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:

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

24

<small> </small>

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)

<small>Lựa chọn một số cặp nghiệm (gọi là cha-mẹ) Pc X” dựa trên mức độ </small>thích nghỉ của chung (Parent selection)

<small>Tổ hợp các cặp được lựa chọn để sinh ra các cá thể mới (crossover) </small>Biến đổi ngẫu nhiên một số cá thé (mutation)

<small>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 </small>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)

<small>End while </small>

<small> </small>

Đã có nhiều cơng trình nghiên cứu nhằm mơ hình hóa tố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 <small>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 </small>

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

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

trê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

<small>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 </small>

tố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 tố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 tố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].

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<small>26 </small>

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 <small>OneDCSP_M, tác giả đã đưa ra phát biểu mới của bài toán OneDCSP_M trong phần </small>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ự <small>nhién cua bai toan OneDCSP, trong do cac tâm vật liệu thơ có thê có kích thước </small>

khác nhau. Bài tố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,

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="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 <small>rộng của vật liệu. </small>

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 <small>xây dung trong [27]. Mô hình có thé duoc phat biểu như sau: </small>

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)

<small>j=l j=l j=l </small>

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.

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

<small>28 </small>

<small>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 </small>

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

<small>thô sẽ tôt hơn việc cắt chi trên một loại vật liệu. </small>Chứng mỉnh

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

Do 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:

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

30

<small>OneDCSP _ S(m,L,,1,b")= | </small><sub> </sub>

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 tố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.

<small>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 </small>

Đặ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ó :

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

<small>M </small>

<small>k=1 </small>

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:

<small>M </small>

<small>OneDCSP_M(m,M,1,b,L,c)= >; OneDCSP _ S(m,L, TM Je, </small>

<small>k=1 </small>

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

<small>đả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 tốn </small>OneDCSP_M(m,M,1,6,L,c). Tt đó ta có :

<small>M </small>

<small>OneDCSP_M(m,M,1,b,L,c)< >; OneDCSP _ S(m,L, 1b” )e, </small>

<small>k=1 </small>

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, =

</div>

×