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
Hà Nội — 2011
<small> </small>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">Chuyên ngành: Đảm bảo toán học cho máy tính và hệ thống tính tốn
Hà Nội - 2011
<small> </small>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">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>
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>
á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ô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
<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
đí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">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>
<small> </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>
<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- | 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">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>
<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-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 2-1 Các phương án cắt trong bài toán OwøelCSP _M...--c-cccscccerseee 27
<small>Hình 3-1 Kiến trúc của A-Team...-- 5c Set tt SESESEEESEEESEEEEEeeteEeErkeEeEersrsrsrsrsrees 53 </small>
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
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ế.
<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
thùng (bin packing), bài toán sắp ba lô (knapsack), cân bằng luồng (line balancing),
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
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"><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>
Đề 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
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.
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>
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
và giải quyêt băng các cách tiêp cận khác nhau.
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">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>
[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
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ử
<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
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
[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>
<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
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
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
<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
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>
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.
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
- _ 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
OneDCSP_M
với kỹ thuật phân nhánh và định giá theo mơ hình Arc-Flow tạo nên thuật
- _ Để 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
<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>
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
<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>
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
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.
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:
trong đó :
<small>- " là bè rộng của tâm vật liệu thô </small>
+]; la bé rong
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">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
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
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>
<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
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
toán (1.1)-(1.4).
Gilmore va Gomory lần đầu tiên đề xuất sử dụng kỹ thuật tao sinh cột, trong đó mỗi
<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:
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
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
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
ư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
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
1.1.2. M6 hinh Arc-flow cua Valerio de Carvalho
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>
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>
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Ị.
?; (=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
thể hiện ràng buộc bảo toàn luồng (flow conservation constrain) với lượng cung cấp
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>
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"><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>
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.
đườ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
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
đó, 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:
<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ó
<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
<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>
(1.19)-(1.20) là các ràng buộc phân nhánh.
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"><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>
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
Để đư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:
- Á” 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”).
<small> </small>
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"=@;
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">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
<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>
<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>
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
<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
<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>
<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
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ê
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ư
(evaluation function) và hàm thích nghi (fitness function) được sử dụng trong các
đ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
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
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>
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
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"><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
Đầ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
<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
(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:
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ả
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„
Bước tiếp theo là việc áp dụng toán tử đột biến (mutation operator). Mỗi bit trong
độ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>
đượ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
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"><small> </small>
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
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>
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 ,
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
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
<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>
các nội dung của Chương 2.
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
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ủa Ruldoph [45].
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35"><small>26 </small>
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
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
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>
trong đó:
M là sô các loại vật liệu thô sẽ được sử dụng,
- _ Œ¡ 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.
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>
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
<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 ø;. 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
OneDCSP_ M(m,M.!,b,L,c) = mìn c x (2.2) trên miên ràng buộc:
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
<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">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
Đị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
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' ;
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
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.
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>
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(#)
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
bài tốn ĨneDCSP _ S(m,L,,I,b“). Định ly được chứng minh. =
<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
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
<small>M </small>
<small>OneDCSP_M(m,M,1,b,L,c)= >; OneDCSP _ S(m,L, TM Je, </small>
<small>k=1 </small>
<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>
Đị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
đăng thức này vào (2.8), định lý được chung minh, =
</div>