Bài viết trình bày về bài toán Bin Packing 2D và các lĩnh vực ứng dụng bài toán. Bin Packing là dạng bài toán đóng thùng sao cho tất cả các đồ vật có thể tích khác nhau được đóng gói vào số lượng thùng sử dụng là ít nhất.
TNU Journal of Science and Technology 226(07): 226 - 234 2D BIN PACKING PROBLEM AND APPLICATION IN MARITIME TRANSPORTATION Phung The Huan*, Hoang Thi Canh, Vu Duc Thai, Bui Ngoc Tuan TNU - University of Information and Communication Technology ARTICLE INFO Received: 08/3/2021 Revised: 31/5/2021 Published: 31/5/2021 KEYWORDS Transport Planning Optimization Packing Sorting ABSTRACT Along with the strong development of the economy and the current commerce, the transport industry is also making great strides in both quantity and quality One of the most important factors influencing the productivity of the transport process is the process of packing and dispatching to the transport In this article we present the Bin Packing 2D problem and the areas of the problem application Bin Packing is a problem that items of different volumes must be packed into a finite number of bins To answer this question, this article has studied some of the methods used through research and synthesis based on articles of reputable publishers to filter out original articles and the most influential articles to survey and analyze The article gives the advantages and disadvantages of each method and suggests future development directions VỀ BÀI TOÁN BIN PACKING 2D VÀ ỨNG DỤNG TRONG VẬN TẢI HÀNG HẢI Phùng Thế Huân*, Hoàng Thị Cành, Vũ Đức Thái, Bùi Ngọc Tuấn Trường Đại học Công nghệ Thông tin Truyền thông – ĐH Thái Nguyên THƠNG TIN BÀI BÁO Ngày nhận bài: 08/3/2021 Ngày hồn thiện: 31/5/2021 Ngày đăng: 31/5/2021 TỪ KHÓA Vận tải Lập kế hoạch Tối ưu hóa Đóng thùng Sắp xếp TĨM TẮT Cùng với phát triển mạnh mẽ kinh tế giao thương hàng hóa nay, ngành vận tải có bước tiến vượt bậc số lượng chất lượng Một yếu tố quan trọng ảnh hưởng đến suất q trình vận tải q trình đóng gói điều phối hàng hóa vào phương tiện vận chuyển cách phù hợp Trong báo chúng tơi trình bày tốn Bin Packing 2D lĩnh vực ứng dụng toán Bin Packing dạng tốn đóng thùng cho tất đồ vật tích khác đóng gói vào số lượng thùng sử dụng Để trả lời cho câu hỏi này, báo nghiên cứu số phương pháp sử dụng thông qua việc khảo cứu tổng hợp dựa báo nhà xuất uy tín để lọc báo gốc có ảnh hưởng để khảo sát phân tích Bài báo đưa ưu nhược điểm phương pháp đề xuất hướng phát triển tương lai DOI: https://doi.org/10.34238/tnu-jst.3839 * Corresponding author Email: pthuan@ictu.edu.vn http://jst.tnu.edu.vn 226 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 226 - 234 Giới thiệu Vận tải trình di chuyển vật thể từ vị trí ban đầu đến vị trí khác, vận tải có vai trò ý nghĩa quan trọng đời sống sinh hoạt, sản xuất người [1] Các hoạt động sơ khai vận tải hình thành xã hội nguyên thủy khuân, vác, nâng,… Sau này, hình thái kinh tế trở nên đa dạng phức tạp hình thức vận tải cải tiến đa dạng hóa Trong khoảng thời gian gần đây, trình vận tải đơn ban đầu hình thành nên dịch vụ vận tải, ngành vận tải (logistics) trở thành ngành kinh tế - kỹ thuật quan trọng để gắn kết trình sản xuất trình giao lưu, phân phối hàng hóa Trong nhiều thập kỷ gần đây, container [2] đơn vị trọng tải thiết yếu có tầm quan trọng vận tải hàng hóa đường biển quốc tế Với việc ngày gia tăng số lượng cảng biển số lượng container cảng đưa đến cạnh tranh vận tải đường biển Vấn đề nghiên cứu để cải thiện hoạt động cảng container nhiều nhà khoa học quan tâm Vấn đề khó thực phương án không nghiên cứu, thử nghiệm hiệu sử dụng phương pháp tối ưu hóa thích hợp Trên giới Việt Nam nay, vấn đề khai thác cảng biển, rút ngắn thời gian chờ tàu bốc dỡ hàng hóa nhận quan tâm từ nhiều nhà nghiên cứu Với phát triển giao thương hàng hoá, số lượng tàu container cập cảng lớn Hàng loạt yếu tố liên quan đến vấn đề khai thác cảng biển như: bến bãi, thiết bị, nhân lực, công nghệ bốc xếp, chủng loại hàng hóa, hạ tầng kết nối với loại hình, phương thức vận tải khác, thủ tục hành chính,… Trong báo này, chúng tơi giới thiệu số hướng tiếp cận liên quan đến tối ưu cơng nghệ xếp hàng hóa phục vụ cho vận tải cảng biển, từ đề xuất số hướng phát triển cho nghiên cứu Đảm bảo khai thác bến bãi cách hiệu quả, giảm thiểu thời gian chờ tiết kiệm chi phí cho tàu, đảm bảo hàng hố lưu thơng thuận lợi, Lợi ích việc tìm cách xếp hợp lý số lượng hàng hóa vào container cho số lượng hàng hoá nhiều vấn đề cơng ty vận tải quan tâm Chính báo tổng quan lại vấn đề liên quan đến toán Bin Packing 2D, tìm hiểu hướng giải tốn đưa đề xuất phương pháp tối ưu để giải tốn nhằm mục đích nâng cao hiệu q trình xếp hàng hóa cảng biển Cũng nghiên cứu này, tập trung tìm hiểu tốn Bin Packing 2D (bài tốn đóng thùng chiều) [3] đưa số cách giải toán dựa kỹ thuật quy hoạch ràng buộc Kỹ thuật phù hợp để giải tốn có khơng gian tìm kiếm lớn biến tốn phụ thuộc vào theo hay nhiều quy luật Bài tốn đóng thùng có nhiều ứng dụng thực tiễn Trong tốn xẻ gỗ, miếng gỗ ngun có kích thước cố định cần xẻ miếng gỗ thành miếng gỗ nhỏ để làm nhà Yêu cầu đặt cưa miếng gỗ nguyên thành mẫu nhỏ cho số miếng gỗ nguyên sử dụng nhất? Hoặc lĩnh vực ứng dụng khác việc lưu liệu máy tính, liệu tập file cần lưu trữ tập thiết bị nhớ giống Cần phải lưu trữ cho file nằm thiết bị nhớ số thiết bị nhớ cần dùng Trong tốn vận tải xếp hàng hóa cảng biển [4], [5] cần xếp dãy đồ vật (hàng hóa, đồ đạc, container,…) lên phương tiện vận chuyển (xe tải, toa xe lửa,…) Biết rằng, vật có kích thước khối lượng xác định, phương tiện vận chuyển giống có sức chứa trọng tải xác định Cần xếp số hàng hóa cho số phương tiện vận tải cần dùng nhất, đảm bảo đồ vật nằm khoang chứa tổng trọng lượng chúng không vượt trọng tải phương tiện,… nhiều lĩnh vực khác toán cắt vải, toán cắt sắt, toán lắp đặt cột viễn thơng, tốn xếp lịch chương trình truyền hình Tuy nhiên, câu hỏi đặt cho nghiên cứu chủ đề làm để thu kết tối ưu nhất? Để trả lời cho câu hỏi này, báo tìm hiểu hướng giải tốn Bin Packing 2D Sau đó, tìm hiểu số phương pháp cụ thể hướng để từ đưa http://jst.tnu.edu.vn 227 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 226 - 234 ưu nhược điểm phương pháp đề xuất hướng phát triển tương lai Phương pháp nghiên cứu sử dụng khảo cứu tổng hợp dựa báo truy xuất từ Google Scholar nhà xuấy uy tín IEEE, Elsevier, Springer,… để lọc báo gốc có ảnh hưởng để khảo sát phân tích Nghiên cứu có ý nghĩa khảo cứu cho báo chuyên sâu sau Các phần báo trình bày sau: Trong phần II chúng tơi trình bày phương pháp nghiên cứu, giới thiệu tốn đóng thùng chiều lĩnh vực ứng dụng Cũng phần II, chúng tơi trình bày số hướng tiếp cận để giải tốn đóng thùng chiều đánh giá độ phức tạp phương pháp Trong phần III trình bày kết nghiên cứu thảo luận liên quan Phần kết luận, đánh giá, đề xuất hướng phát triển thời gian tới trình bày phần IV Phương pháp nghiên cứu 2.1 Bài tốn đóng thùng 2.1.1 Phát biểu tốn Bài tốn đóng thùng [5] (bin packing problem) Cho dãy đồ vật L = (a1 , a2 , , an ) thùng giống có sức chứa B Kích thước đồ vật a i si lớn không vượt sức chứa thùng (0 ≤ si ≤ B ∀ i = 1, 2, …, n) Yêu cầu toán: xếp tất đồ vật vào thùng chứa cho số thùng sử dụng Một cách đầy đủ tốn vừa phát biểu gọi tốn đóng thùng dạng (classical bin packing problem), để phân biệt với số dạng tổng quát toán đóng thùng Bài tốn đóng thùng dạng chứng minh tốn NP - khó Mơ hình quy hoạch ngun tốn Dễ thấy số thùng cần sử dụng không vượt n, đưa vào biến số xij với ý nghĩa sau: Khi tốn đóng thùng phát biểu dạng tốn quy hoạch ngun tuyến tính sau: n n m = sign Tìm cực tiểu: xij với điều kiện: j =1 i =1 n x j =1 ij B, i = 1, n (2); n x j =1 ij = 1, i = 1, n xij 0,1 , i = 1, n; j = 1, n (1); (3) Điều kiện (1) nghĩa đồ vật phải xếp vào thùng Điều kiện (2) nghĩa tổng kích thước đồ vật xếp vào thùng không vượt sức chứa thùng Đánh giá hiệu thuật tốn xấp xỉ giải tốn đóng thùng Bài tốn đóng thùng tốn NP – khó nên phần nhiều thuật toán giải thuật toán xấp xỉ Để đánh giá hiệu thuật toán xấp xỉ A cho tốn đóng thùng thường sử dụng số hiệu tiệm cận tồi RA (asymptotic worst-case performance ratio) số hiệu tuyệt đối tồi RA (absolute worst-case performance ratio) định nghĩa sau: http://jst.tnu.edu.vn 228 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 226 - 234 Cho dãy đồ vật L Gọi A( L) số thùng thuật toán A sử dụng để xếp dãy đồ vật L OPT ( L) A( L) số thùng tối ưu cho dãy đồ vật L Đặt RA ( L) = OPT ( L) Định nghĩa 2.1 Chỉ số hiệu tiệm cận tồi RA tỉ số tiệm cận kết thuật toán A kết tối ưu tốn tình tồi RA = inf{r ≥ 1: ∃ N0 ∈ Z+ để RA (L) ≤ r ∀ L thỏa mãn điều kiện OPT(L) ≥ N0} Định nghĩa 2.2 Chỉ số hiệu tuyệt đối tồi tỉ số tuyệt đối kết hoạt động thuật toán A với kết tối ưu tốn tình tồi RA = inf{ r ≥ 1sao cho RA (L) ≤ r với L } Trong số tình biết thêm thơng tin đồ vật có kích thước khơng vượt q giá trị xác định Gọi α cận kích thước đồ vật, tức s(ai) ≤ α ∀ i = 1, 2, n Khi có: RA ( ) = inf{r ≥ 1sao cho RA (L) ≤ r với L s(ai) ≤ α ∀ ∈ L} RA (α) = inf{r ≥ 1:∃ N0 ∈ Z+ để RA (L) ≤ r ∀ L thỏa OPT ( L) ≥ N0 s(ai) ≤ α ∀ ∈L} RA RA tiêu chuẩn quan trọng để đánh giá hiệu thuật toán xấp xỉ 2.1.2 Các biến thể tốn đóng thùng Ngồi dạng bản, tốn đóng thùng cịn có số biến thể khác Về dạng toán biến thể giống với tốn có thay đổi (hoặc thêm vào) số điều kiện Dưới số dạng biến thể quan trọng tốn đóng thùng: 1) Hãy xếp đồ vật cho kích thước đồ vật tổng số lượng đồ vật thùng lớn số lượng thùng sử dụng dung lượng thùng khơng đổi 2) Tìm kích thước chung tối thiểu m thùng chứa để xếp tất đồ vật 3) Các đồ vật xuất theo thứ tự cho trước đồ vật trước phải xếp vào thùng xong đồ vật sau xuất (bài tốn đóng thùng trực tuyến – online bin packing) 4) Cho trước số thực r ∈ [0, 1] Cần xếp đồ vật cho số thùng sử dụng thùng sử dụng tổng dung lượng đồ vật phải đạt r × dung lượng thùng 5) Cho trước số nguyên k > Cần xếp đồ vật cho số thùng sử dụng số lượng đồ vật xếp vào thùng không k 6) Mỗi đồ vật có khoảng thời gian tồn định đánh dấu thời điểm bắt đầu thời điểm kết thúc Trước khoảng thời gian tồn mình, đồ vật chưa cần phải xếp vào thùng Trong khoảng thời gian tồn đồ vật phải xếp vào thùng Sau khoảng thời gian tồn đồ vật không cần phải xếp vào thùng nên lấy để nhường khoảng trống cho đồ vật khác Bài toán gọi tốn đóng thùng động (dynamic bin packing) Sắp xếp đồ vật cho số thùng sử dụng số đồ vật định không xếp chung với vào thùng 7) Dạng đối ngẫu tốn đóng thùng tốn phủ thùng (bin covering problem) phát biểu sau: Cho đồ vật L = (a1 , a2 , , an ) , với kích thước đồ vật a i si , i = 1, 2, …, n Hãy xếp tất đồ vật vào thùng chứa cho: i si ≤ ∀i ii Dung lượng thùng tùy ý iii Số lượng thùng có tổng dung lượng đồ vật lớn nhiều 8) Bài tốn đóng thùng với dung lượng thùng chứa thay đổi (variable-sized bin packing): http://jst.tnu.edu.vn 229 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 226 - 234 Cho dãy đồ vật L = (a1 , a2 , , an ) , kích thước đồ vật a i si ∈ [0,1]; (i = 1, 2, …, n) Có r loại thùng chứa khác nhau: B1 , B2 , , Br ) , dung lượng thùng chứa loại j Bj (j = 1, 2, … r) thỏa mãn: = s(B1) > s(B2) > … > s(Br) Hãy xếp tất đồ vật vào thùng chứa cho tổng dung lượng thùng sử dụng nhỏ Dễ thấy r = tốn trở thành tốn đóng thùng dạng 9) Bài tốn đóng thùng đa chiều (multi-dimensional bin packing) Trong tốn đóng thùng d chiều (d số nguyên dương, d ≥ 1), có thùng chứa siêu cúp d chiều kích thước B1 , B2 , , Bd ) dãy đồ vật a1 , a2 , , an , đồ vật có kích thước s1(ai) × s2(ai) × … × sd(ai) sj(ai) kích thước chiều thứ j đồ vật ai; < sj(ai) ≤ Bj; ≤ i ≤ n; ≤ j ≤ d Một cách xếp đồ vật gọi hợp lệ đồ vật gán vector tọa độ p(ai) = (x1(ai), x2(ai),…, xd(ai)) cho: (1) xj(ai) ≥ ; ≤ i ≤ n; ≤ j ≤ d (2) xj(ai) + sj(ai) ≤ Bj ; ≤ i ≤ n; ≤ j ≤ d (3) (xj(ai); xj(ai) + sj(ai)) ∩ (xj(ak); xj(ak) + sj(ak)) = ∅; ≤ i ≠ k ≤ n; ≤ j ≤ d Điều kiện (1) (2): tất đồ vật nằm gọn không gian thùng chứa Điều kiện (3): thùng chứa, đồ vật không xếp chồng lên Các điều kiện áp dụng với tốn đóng thùng đa chiều hình học (geometric multidimension bin packing), tức chiều kích thước chiều khơng gian Nếu chiều kích thước khơng phải chiều khơng gian, ví dụ chiều thứ biểu diễn độ dài, chiều thứ biểu diễn khối lượng, chiều thứ biểu diễn thời gian,… điều kiện ràng buộc tổng kích thước đồ vật theo chiều không vượt dung lượng chiều thùng chứa: n s (a ) B, j =1 i i j = 1, d Yêu cầu toán xếp đồ vật hợp lệ cho số lượng thùng cần sử dụng Dễ thấy với d = tốn suy biến tốn đóng thùng dạng 2.1.3 Ứng dụng tốn đóng thùng Khơng đóng vai trị quan trọng nghiên cứu lý thuyết, đặc biệt nghiên cứu thuật tốn xấp xỉ, tốn đóng thùng cịn có nhiều ứng dụng thực tiễn Dưới số ứng dụng tốn đóng thùng đóng vai trị tốn chính: 1) Bài tốn xẻ gỗ (stock cutting): Cho miếng gỗ xẻ nguyên có chiều ngang cố định chiều dài giống C Cần chia miếng gỗ xẻ nguyên thành mẩu nhỏ {ai} dùng để làm nhà Hãy cưa miếng gỗ nguyên thành mẩu {ai} cho số miếng gỗ nguyên phải dùng Cũng thấy dạng tương tự phải chia cuộn dây cáp, ống dẫn nước nguyên vẹn, thành đoạn nhỏ để lắp đặt cho hệ thống cần chia khéo cho đỡ lãng phí 2) Lưu liệu máy tính (memory allocation): Các liệu tập hợp file cần lưu tập hợp thiết bị nhớ giống (đĩa CD, đĩa cứng, đĩa mềm, nhớ bán dẫn USB, ) Cần phải lưu file thiết bị nhớ cho file nằm thiết bị nhớ số thiết bị nhớ cần dùng 3) Bài toán vận tải (transportation): Cần xếp dãy đồ vật (đồ đạc, hàng hóa, ) {ai} lên phương tiện vận tải (xe tải, toa xe lửa, ) Biết đồ vật có kích thước (3 chiều) trọng lượng xác định Các phương tiện vận tải giống có sức chứa trọng tải xác định Cần xếp đồ vật lên phương tiện vận tải cho số phương tiện cần dùng mà đảm bảo đồ vật nằm gọn khoang chứa tổng trọng lượng chúng không vượt trọng tải phương tiện vận tải Bài tốn quy tốn đóng thùng chiều với chiều đầu chiều không gian, chiều thứ trọng lượng http://jst.tnu.edu.vn 230 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 226 - 234 4) Xếp lịch chương trình truyền hình (television programming): thơng thường mẩu chương trình quảng cáo xếp vào khoảng thời gian xen kẽ chương trình truyền hình Các khoảng thời gian có độ dài cố định (ví dụ phút) Yêu cầu xếp mẩu quảng cáo vào khoảng thời gian cho số khoảng thời gian cần sử dụng Ngồi số ứng dụng, tốn đóng thùng đóng vai trị tốn phụ hỗ trợ việc giải tối ưu tốn chính, ví dụ tốn lập lộ trình vận chuyển có hạn chế khả (capacitated vehicle routing problem) phải bố trí xe chở hàng có trọng tải hữu hạn chuyển hàng cho vị khách cho khách hàng nhận hàng theo đơn đặt hàng chi phí vận chuyển thấp Thơng thường đội xe chia thành nhóm nhỏ, nhóm gồm vài xe phục vụ theo tuyến đường Trên tuyến đường, cần xếp hàng hóa vị khách tuyến đường lên xe cho số xe nhóm cần dùng Đó tốn đóng thùng 2.2 Tổng quan phương pháp giải tốn đóng thùng Bài tốn đóng thùng tốn tối ưu tổ hợp tiếng có nhiều thuật tốn để giải, đặc biệt thuật toán xấp xỉ Bài toán đóng thùng đóng vai trị quan trọng việc nghiên cứu thuật toán xấp xỉ chọn toán để nghiên cứu xây dựng thuật toán xấp xỉ đánh giá hiệu chúng, ví dụ đánh giá hiệu thuật toán xấp xỉ thời gian tồi nhất, đánh giá cận cho hiệu thuật toán tức (online algorithms), phân tích hiệu thuật tốn dựa xác xuất thống kê,… Phần trình bày số thuật tốn quan trọng để giải tốn đóng thùng, qua giới thiệu phần kết nghiên cứu tốn đóng thùng 2.2.1 Các thuật tốn trực tiếp 2.2.1.1 Khái niệm thuật toán trực tiếp Một thuật toán gọi thuật tốn trực tiếp (online algorithm) phải thực xếp đồ vật xét vào thùng chứa mà khơng biết thơng tin đồ vật xuất sau Đây ràng buộc thường gặp thực tế, ví dụ người bán hàng khơng biết khách hàng có yêu cầu Các thuật toán online phổ biến bao gồm Next Fit, First Fit Best Fit 2.2.1.2 Thuật tốn Next Fit Mơ tả quy tắc xếp đồ vật Next Fit (NF) NF đặt đồ vật xét vào thùng mở (trong NF có thùng mở thời điểm) thùng tiếp nhận đồ vật vừa xét gần thùng cịn đủ chỗ trống Ngược lại, đóng thùng lại, mở thùng đặt đồ vật vào Sau tiếp tục xét đến đồ vật Quá trình bắt đầu với đồ vật kết thúc tất đồ vật xếp hết vào thùng Next Fit mơ tả đoạn giả ngôn ngữ sau: bin_index = 1; // số cho biết có thùng sử dụng item_index = 1; // số cho biết xét đồ vật thứ Open B[bin_index]; // mở thùng để tiếp nhận đồ vật active_bin = B[bin_index]; // B[] mảng chứa thùng sử dụng thuật toán while (item_index