Một số phƣơng pháp tìm giải pháp gần tối ƣu cho bài toán SCP

Một phần của tài liệu một số thuật toán giải bài toán phủ tập hợp và ứng dụng (Trang 32 - 36)

Một kỹ thuật thƣờng đƣợc sử dụng để làm giảm kích thƣớc của bài toán SCP là dựa trên việc quan sát giá trị hàm Lagrangian c uj( ) cho một cận dƣới để tăng cận dƣới L(u) nếu nhƣ xi đƣợc cố định là 1. Rõ ràng là, có thể cố định xi là 0 khi mà

( ) j( ) .

L u c u UB Tƣơng tự, chúng ta thấy rằng có thể cố định xi là 1 khi và chỉ khi ( ) j( )

L u c u UB (chúng ta có thể gọi giá trị Lagrangian đó là đối số). Kỹ thuật này đƣợc gọi là cố định giá trị hàm Lagrangian.

Sau đây là phần mô tả thủ tục tối ƣu dƣới gradient chuẩn có thể đƣợc cải tiến trong nhiều cách phổ biến, để đạt đƣợc sự hội tụ nhanh hơn cho một vectơ nhân tử

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

gần tối ƣu. Tiếp theo chúng ta sẽ minh họa một vài biến trong tài liệu.

Balas và Carrera [3], thay vì mở rộng ràng buộc trong công thức (15) tƣơng ứng với tất cả các dòng trong M, trong đó việc mở rộng các dòng trong tập con M sao cho Ji Jh với mọi i h, M i, h, và mở rộng hàm Lagrangian bằng cách chỉ lấy các dòng thuộc M M\ . Với ý tƣởng này chúng ta dễ dàng để giải quyết bài toán mở rộng với độ phức tạp tính toán là O q( ), và cận dƣới tốt nhất có thể đạt đƣợc thông qua bài toán nới lỏng này vẫn tƣơng ứng với giá trị theo phƣơng pháp LP nới lỏng. Hơn nữa, trong [3] thủ tục quy hoạch dƣới gradient đƣợc đề xuất, trong đó mỗi bƣớc lặp vectơ nhân tử Lagrangian u đƣợc đƣa vào trong phần giải pháp LP đối ngẫu khả thi. Bằng cách sử dụng giá trị hàm Lagrangian cố định, giá trị của một vài biến có thể đƣợc cố định trong các thủ tục tối ƣu hóa dƣới gradient.

Khi những trƣờng hợp không gian giải quyết bài toán là rất lớn, thời gian để máy tính giải quyết bài toán tối ƣu hóa dƣới gradient cũng rất lớn. Để giải quyết khó khăn này, Caprara, Fischetti và Toth [9] đã đƣa ra bài toán lõi bao gồm một tập các cột thích hợp, đƣợc lựa chọn từ những giá trị hàm Lagrangian thấp nhất, và sử dụng một lƣợc đồ biến định lƣợng để lặp lại việc cập nhật bài toán lõi trong một mạch giống nhƣ việc giải quyết bài toán quy hoạch tuyến tính quy mô lớn. Việc sử dụng định lƣợng trong phƣơng pháp dƣới gradient tối ƣu sẽ làm giảm thời gian tính toán rất lớn và đây là ý tƣởng chính cho việc thành công của thuật toán heuristic đƣợc đƣa ra trong [9]. Trong [9] các tác giả Moreover, Caprara, Fischetti và Toth đã cải cải tiến tiêu chuẩn xác định các kích thƣớc và hƣớng đi trong mỗi bƣớc của phƣơng pháp tối ƣu hóa dƣới gradient.

Một cách tiếp cận đối ngẫu gốc dƣới gradient đƣợc đề xuất bởi Ceria, Nobili và Sassano [10]. Đặc biệt, ngƣời ta có thể xác định lại vấn đề bài toán LP đối ngẫu (18) bằng cách áp dụng cận trên ci max c j: j Ji cho mỗi biến đối ngẫu u ii, M . Nếu ràng buộc

j i j

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

vectơ nhân tử x, thì chúng ta sẽ có đƣợc bài toán Lagrange đối ngẫu tƣơng đƣơng

với phƣơng pháp LP nới lỏng gốc của bài toán SCP, theo nghĩa là một giải pháp để có đƣợc một vector nhân tử tối ƣu.

Một thay thế cho hàm Lagrange nới lỏng là sử dụng hàm đại diện nới lỏng đƣợc Lorena và Lopes sử dụng. Đối với một vector m

v R của nhân tử đại diện, bài toán đại diện nới lỏng của SCP có dạng:

( ) min j j i N S u c x (23) Trong đó: j i j i j N i I i M v x v (24) 0,1 j x j N (25)

Nhƣ là bài toán Ba lô vẫn là bài toán NP-khó, nhƣng khả năng giải quyết trong thời gian giả đa thức rất hiệu quả nhƣ ví dụ của Martello và Toth [15]. Tuy nhiên, Lorena và Lopes tiếp tục mở rộng ràng buộc của công thức (25) và giải quyết bài toán này với độ phức tạp là O n( ) để tiếp tục mở rộng bài toán Ba lô. Mặc dù vậy, việc mở rộng này vẫn còn tƣơng đƣơng với cách giải quyết bằng phƣơng pháp LP mở rộng của bài toán SCP, các kết quả thực nghiệm đƣợc của Lorena và Lopes cho thấy rằng việc sử dụng hàm đại diện thay vì hàm lagrangrian nới lỏng trong việc tối ƣu hóa dƣới gradient cho phép tìm đƣợc phân tử gần tối ƣu trong một thời gian tính toán ngắn hơn.

Wedelin [17] đã trình bày một phƣơng pháp thay thế để tối ƣu hóa dƣới gradient mà các nhân tử gần nhƣ tối ƣu. Phƣơng pháp này xem xét ứng mỗi dòng i có thực hiện việc cập nhật vectơ nhân tử ui tƣơng ứng không. Với j Ji sẽ tính đƣợc giá trị Lagrangian '

( ) ( )

j j i

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Lagrangrian nhỏ nhất từ lần thứ hai, ta nói ' 1( ) c u và ' 2( ) c u và tập hợp những giá trị mới của ui bằng ' ' 1 2

( ( )c u c u( )) / 2. Ý tƣởng này cho ta một cột j Ji có giá trị Lagrangian âm. Bằng cách áp dụng phƣơng pháp này cho từng dòng trong một khoảng thời gian xác định chúng ta có thể sẽ nhận đƣợc những nhân tử gần tối ƣu. Wedelin đã sử dụng hai giá trị uiui để thay thế cho ui . Giá trị Lagrangian của cột j Ji với giá trị Lagrangian âm sau bƣớc lặp cuối cùng trên dòng i đƣợc tính

toán dựa trên giá trị ui , các giá trị của các cột còn lại trong Ji đƣợc tính dựa trên giá trị ui . Cách tiếp cận này đảm bảo hoạt động tốt hơn nếu đƣợc đƣa vào trong thuật toán Heuristic để giải quyết bài toán SCP.

Hầu hết các phƣơng pháp trên đƣợc sử dụng trong các thuật toán Heuristic, mục tiêu chính không phải là tính cận dƣới khả hẹp nhất có thể mà là điều khiển việc tìm giải pháp gần tối ƣu cho bài toán SCP. Vì vậy, thay vì tìm hiểu việc so sánh các phƣơng thức theo giá trị cận dƣới mà chúng tạo ra, chúng ta sẽ tìm hiểu việc so sánh hiệu quả thực hiện của các thuật toán Heuristic trong phần tiếp theo.

Trong nhiều trƣờng hợp, việc xác định cận dƣới bằng hàm Lagrangian hoặc phƣơng pháp thay thế nới lỏng là tệ hơn so với giải pháp tối ƣu giá trị theo phƣơng pháp LP nới lỏng. Theo chúng tôi, đây không phải là một nhƣợc điểm trong các thuật toán Heuristic, nơi mà mục tiêu chính là xác định giải pháp tốt cho bài toán SCP mà không cần nhấn mạnh việc chứng minh tối ƣu. Mặc khác, các thuật toán chính xác có thể thực thi tốt hơn nếu nhƣ phƣơng pháp LP nới lỏng đƣợc giải quyết để tối ƣu.

Caprara, Fischetti và Toth [9] đã đƣa ra một cách tiếp cận mới để tính toán các giải pháp chính xác theo phƣơng pháp LP nới lỏng. Ý tƣởng chính của phƣơng pháp này là dựa trên cách tiếp cận SPRINT đƣợc mô tả trong [18] bởi Chu, Gelman và Johnsonm cụ thể là một giải pháp cho một chuỗi các phƣơng pháp LP nới lỏng liên quan đến bài toán lõi cho toàn bộ vấn đề, xác định lại bài toán lõi nếu giải pháp

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

không phải là tối ƣu. Cái mới của phƣơng pháp này là việc sử dụng hàm Lagrangian nới lỏng để khởi tạo các biến của bài toán lõi và bài toán đối ngẫu.

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu một số thuật toán giải bài toán phủ tập hợp và ứng dụng (Trang 32 - 36)