2.2.3.1. Giới thiệu
Pirkul (1987) mô tả phương pháp nhánh cận mà sử dụng nới lỏng Lagrăng của các điều kiện. Kỹ năng này được dựa trên tập phân chia với các
điều kiện của CPMP được phát hiện bởi Neebe và Rao (1983), Hansen et al (1994) và Baldacci (1995).
Giải thuật Heuristic được giới thiệu bởi Mulvey và Beck (1984) và Pirkul (1987). Cách tiếp cận Metaheuristic được mô tả bởi Golden và Skiscim (1986) và Osman , Christofides(1994).
Trong phần này ta sử dụng kỹ thuật metaheuristic được giới thiệu gần
đây bởi Christofides(1994), được gọi là giải thuật bionomic, một phương pháp
để giải bài toán CPMP. Kết quả của giải thuật này kết hợp với các bước chính của phương pháp bionomin với cận dưới của Lagrangean cho bài toán CPMP. Phần này ta sẽ tóm tắt về phương pháp heuristic chúng ta sẽ sử dụng để đánh giá hiệu quả của phương pháp bionomic mới, mô tả các bước chính của giải thuật bionomic, mô tả phương pháp heuristic mới cho bài toán CPMP.
2.2.3.2. Công thức của bài toán CPMP
Cho I={1,…,n} là tập các phần tửđể xác định và J={1,…,m} là tập các phần tử có khả năng trở thành median, với (p≤m)
Giá trị giữa phần tử i và median j được thể hiện bằng dij. Mỗi phần tử i được gán một trọng sốqi , và mỗi median jđược gán một trọng sốQj.
Công thức mô tả cổđiển của bài toán CPMP sử dụng tập giá trị nhị phân (0-1)
Công thức được mô tả như sau: (P) ∑ ∑ ∈ ∈ = J j ij ij I i p d x z min (1) ∑ ∈ ≤ I i i ij j j y Q x q j∈J (2) ∑ ∈ = J j ij x 1 i∈I (3) ∑ ∈ = J j j p y (4) xij∈{0,1} i∈I,j∈J (5) yj∈{0,1} j∈J (6)
Điều kiện (2) đảm bảo tổng phục vụ của một median không được vượt quá khả năng, điều kiện (3) đảm bảo mỗi phần tử chỉ được phục vụ bởi một median, điều kiện (4) đảm bảo tổng số median bằng p, điều kiện (5), (6) là điều kiện số nguyên.
Một số công thức của (P) được đề xuất trong tài liệu để nhận được từ các giới hạn dưới để tối ưu giá trị CPMP (Mulvey và Beck, 1984 và Beasley, 1988).
Dưới đây ta sẽ mô tả cận dưới được giới thiệu bởi Mulvey và Beck (1984), được sử dụng bởi Pirkul (1987) để đạt được phương pháp nhánh cận chính xác và sẽđược dùng trong phương pháp bionomic heuristic.
Nới lỏng Lagrăng của điều kiện (3) được đánh giá bởi sai sốλi,i∈I, dẫn tới giới hạn dưới LB, mà được dựa trên công thức dưới (LR):
(LR) ∑∑ ∑ ∈ ∈ ∈ + − = I i j J i I i ij i ij x d LB ( λ ) λ
Giá trị LB được tính toán như sau: Cho hj= ∑ ∈ − I i ij i i d λ )ξ (
min{ với điều kiên (2) và ξi∈{0,1},i∈I} và cho }
,..., ,
{hj1 hj2 hjm p-least đánh giá giá trị của {h1,h2,...,hm}, sau đó
LB=∑ ∑ ∈ = + I i i p k jp h λ 1
. Kỹ thuật tối ưu subgradient cổđiển có thểđược sử dụng để
cực đại hóa giá trị của giới hạn dưới. Ta sử dụng thủ tục MT2 của Martello và Toth (1990) để giải bài toán m cái túi với mỗi lần lặp subgradient. Độ phức tạp
C(LR), của mỗi bước lặp giới hạn dưới bằng tổng đô phức tạp của thủ tục MT2 cộng với O(mlogm) thời gian yêu cầu để có giá trị của m cái túi. Thủ tục MT2 dùng phương pháp nhánh cận.
2.2.3.3. Giải thuật Heuristic cho bài toán CPMP
Trong mục này chúng ta xét qua giải thuật heuristic cho bài toán CPMP
được giới thiệu bởi Mulvey và Beck (1984) và bởi Osaman,Christofides (1994). Hơn nữa ta xem xét giải thuật heuristic mới gọi là HEUMED, dựa trên cách tiếp cận của Mulvey và Beck.
Heuristic của Mulvey và Beck
Mulvey và Beck (1984) giới thiệu 2 thuật toán heuristic cho bài toán CPMP. Thuật toán đầu tiên (MB1) để tối thiểu hóa các giá trị được gán cho mỗi phần tứ. Trong đó giá trị gán cho mỗi phần tử được xác định bằng giá trị
tuyệt đối của độ chênh lệch của median gần phần tửđó nhất và median gần thứ
hai. MB1 khởi tạo với p median ngẫu nhiên sau đó gán cho các phần tử theo thứ tự tăng dần của giá trị. Sau khi mọi phần tửđược gán, ta thực hiện gán lại các phần tửđể tối thiểu hóa tổng khoảng cách của các phần tử với các median,
lần lặp, thực hiện sự tráo đổi giữa các phần tử để tối ưu hóa cục bộ lời giải. MB1 đơn giản lặp đi lặp lại các bước ở trên với số lần lặp được xác định trước. Heuristic thứ 2 (được gọi là MB2) là sự biến đổi của MB1. Nó dựa trên sự tối
ưu hóa subgradient của bài toán LR được mô tả trong mục 2. Tập median khởi tạo được lựa chọn ngẫu nhiên tại mỗi bước lặp của MB1, được thay thế trong MB2 bởi tập các median được xác định bởi các subgradient tương ứng. Quá trình gán các phần tử với median giống như trong MB1. MB2 dừng khi đạt
được số vòng lặp hoặc khi chênh lệch giữa cận trên và cận dưới nhỏ hơn sai số đã cho.
Heuristic của Osman và Christofides
Osman và Christofides (1994) đã giới thiệu giải thuật heuristic cho bài toán CPMP, được gọi là OC, dựa trên kỹ thuật metaheuristic hybrid Simulated Annealing (SA)/ Tabu Search (TS). Những đặc điểm cốt lõi của kỹ thuật này
được lấy từ lời giải của SA và sự phát triển của TS.
Thứ 2 là việc tìm kiếm vùng lân cận, ngược lại với việc tìm kiếm ngẫu nhiên
điển hình của SA.
Thứ 3 là điều kiện dừng, không dựa trên số lần lặp, mà thường được dùng trong TS.
Giải thuật này được ứng dụng rất nhiều bài toán tối ưu, mang lại sự cải tiến của năng lực xử lý SA Osman và Laporte (1996). Trong trường hợp đặc biệt được áp dụng vào bài toán CPMP, bao gồm kỹ thuật tối ưu hóa cục bộ tạo ra heuristic rất hiệu quả.
Thủ tục Heuristic HEUMED
HEUMED là thủ tục bắt đầu lặp đi lặp lại, tại mỗi lần lặp tập p median
được tạo ngẫu nhiên. Cho tập median, thủ tục lặp qua 2 đoạn.
Đoạn đầu tiên các phần tử được gán với các median theo phương pháp Generalized Assignment Problem (GAP). Đoạn 2 sử dụng các phần tử có kết quả từđoạn 1 và thử tìm median tốt hơn cho các phần tử. Nếu lời giải tốt hơn tìm được thì cả 2 giai đoạn được lặp lại.
Mô tả thủ tục HUEMED từng bước như sau: Bước 0: Khởi tạo
Gán zp =∞ và t=1 Bước 1: Lần lặp t
Sinh ngẫu nhiên tập median J’ Bước 2: Giai đoạn 1 (GAP)
Gán n phần tử thuộc I với median thuộc J’ bằng thủ tục GAP mà thu
được từ bài toán P bằng cách thay thế tập J bằng tập J’, loại bỏ điều kiện (4) và thiết lập 'yj =1,∀j∈J
Cho x’ là lời giải GAP của chi phí z’p
Cập nhật zp=min[zp, z’p]
Cho Ck ={i|i∈I và xik' =1} là tập con của các phần tử được gán với median k∈J trong lời giải GAP
Bước 3: Giai đoạn 2 (Cải tiến cục bộ)
Cho ckj =∑i∈Ckdij là giá trị của phép gán Ck với median j∈J .Giải quyết bài toán gán trên ma trận [ ]c và cho ξ là lời giải AP tối ưu của giá trị zAP (Ta giả sử ξkj =1 nếu phần tử Ck được gán với median j∈J
Cập nhật zp=min[zp, z’p] Nếu zp<z’p thì gán ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ ∈ = = ∑ = p k kj J j j J 1 1 , | ' ξ , quay trở về bước 2 Bước 4: Điều kiện dừng
Gán t=t+1, nếu t chưa vượt quá số lần lặp cho trước thì quay lại bước 1, ngược lại thì dừng
Ta sử dụng giải thuật heuristic MTHG của Martello và Toth (1990) để giải Gap trong bước 2. Mỗi lần lặp của HEUMED yêu cầu thời gian O(nplogp+n2) (bước 2) để giải GAP và sử dụng thời gian O(m2)để giải bài toán gán. Bởi vậy tổng thời gian làO(m2 +nplogp+n2).
2.2.3.4. Giải thuật Bionomic
Giải thuật Bionomic (BAs) được giới thiệu bởi Christofides (1994), là một lớp của kỹ thuật metaheuristic cung cấp các bước chính cho bài toán tối ưu toàn cục.
Giải thuật Bionomic liên quan đến các kỹ thuật đã được giới thiệu trong phần này. Đặc biệt chúng chia sẻ lõi của cách tiếp cận với giải thuật di truyền (GAs) (Holland, 1975; Goldberg, 1989) và evolution stratigies (ES) (Rechenberg, Schwefel, 1973; Back et al, 1991). Bas, Gas, ES thực tế là sự cải tiến của giải thuật metaheuristic mà cập nhật toàn bộ thực tể của lời giải tại mỗi bước lặp. Hơn nữa cập nhật toàn bộ quá trình xử lý bao gồm xác định các bài toán con từ tập các bài toán cha của quá trình sinh trước, trong đó việc xác
định chính xác bài toán con thường qua vài bước lặp ngẫu nhiên. Nói chung BA chia sẻ cách tiếp cận phương pháp tìm kiếm cải tiến phân tán với Glover,
lượng cha mẹ là 2. Trên một khía cạnh khác BA yêu cầu tối ưu hóa địa phương của bài toán (được gọi là maturation), phạm vi đầu tiên được giới thiệu trong cách tiếp cận tìm kiếm phân tán, ngọai trừ GA cho đến sau 1980, bây giờ nó thành thực tế chuẩn trong GA được ứng dụng vào bài toán tối ưu kết nối. Ta giả sử rằng để thuận tiện tối ưu hóa cục bộ mà được đưa ra bởi bước maturation toàn bộ là riêng biệt, mặc dù sự khác nhau của lời giải gốc được cải tiến bằng sự tối ưu cục bộ.
Các bước cụ thể của BA để xác định tập cha. Cả GA và ES trong thực tế đều cho phép người sử dụng tự xác định tập cha mẹ và các bộ thực tế chuẩn để
chọn chúng một cách ngẫu nhiên từ quẩn thể. Thay vào đó BA định nghĩa thủ
tục dựa trên sự xác định các tập độc lập của đồ thị được dựa trên tập lời giải. Như cách tiếp cận tạo thành sựưu điểm của tìm kiếm phân tán của sinh cha mẹ
bởi sự liên quan tới kế hoạch phân bổ các phần tử, và giới thiệu sựđa dạng hóa tiêu chuẩn việc lựa chọn bố mẹ. Cùng với tính tổng quát của các phương pháp
được sử dụng cho việc sinh ra các lời giải con, làm BA thích hợp với sự tối ưu hóa, khu vực mà GA có thể khai thác cấu trúc và thuộc tính của bài toán và ES không được thích nghi vì thực hiện trên không gian liên tục.
Cấu trúc BA như sau:
Cho g=1,….,gmax là chỉ số của các lần sinh, s=1,…,sg là chỉ số của các lời giải trong lần sinh g, Xgs=( Xgs(1),…., Xgs(n)) là véc tơ đa chiều 0-1 thể hiện cho lời giải s của lần sinh g và cuối cùng cho z(Xgs) là hàm cải tiến của lời giải Xgs. Giải thuật BA gồm 5 bước sau đây:
Bước 1: Khởi tạo: 1.1Gán g=1
1.2Chọn s1 (Số của lời giải trong bước sinh 1)
1.4Gán X1 = {X1s|s=1,…,s1} là tập lời giải. Bước 2: Maturation
2.1 Cải thiện mỗi lời giải trong Xg bằng quá trình xử lý dựa trên tối ưu hóa cục bộ
2.2 Cho Xgs là tối ưu hóa cục bộ gắn với Xgs và Xg tập các tối ưu cục bộ xuất phát từ Xg
2.3 Cho z(Xgs) là giá trị của lời giải Xgs∈ Xg Bước 3: Nhân bản, định nghĩa tập cha:
3.1 Xác định sai số của tế bào θgs với mỗi lời giải Xgs bằng việc gán z(Xgs) với các giá trị âm thích hợp
3.2 Chọn khoảng cách Hamming ∆dương. Sinh lời giải kề với đồ thị
G(Xg) bằng việc tính toán 2 lời giải bất kỳ mà khoảng cách Hamming của nó không lớn hơn ∆ 3.3 Sinh phần tử cha thứ rth gán Pgr là tập độc lập lớn nhất của G(Xg) (Có rất nhiều tập như vậy nhưng ta chỉ chọn 1 tập) 3.4 Cập nhật θgs=θgs-1,∀Xgs∈Pgr. Nếu θgs=0 với Xgs, loại bỏ các đỉnh tương ứng khỏi G(Xg) (nhìn chung để đảm bảo một đỉnh sẽ được loại bỏ thì θgs phải được giảm tới giá trị dương nhỏ nhất lớn hơn 1)
3.5 Lặp lại bước 3.3 và 3.4 để sinh cha mới cho đến khi G(Xg) rỗng hoặc hoàn thành đồ thị (mà Prg rỗng). Cho Pg={Pgr|r=1,…,rg} là thành phần của tập cha mẹđược tạo ra
Bước 4: Nhân bản, tạo ra lời giải con
4.1 π(S,ε) là hàm thể hiện ghép 1- nhiều giữa S⊆ Xg với X∈ Xg+1, trong đó ε là véc tơ ngẫu nhiên tác động đến việc ghép. Thế hệ mới
là: Xg+1={X |π(Pgr,εj), r=1,…,rg,j=1,…,nr} trong đó nr là số lượng con của tập cha mẹ r.
Bước 5: Điều kiện dừng
5.1 Lặp lại bước 2 tới bước 4 cho đến khi giới hạn sinh ra đạt được 5.2 Chọn lời giải tốt nhất
Tham số của thuật toán gmax là số lần sinh tối đa, s1 là số lượng phần tử
của quần thểđầu tiên, ∆ là khoảng cách Hamming được sử dụng như là sai số để xác định đồ thị kề G sử dụng trong bước 3, nr là số lượng con cái của mỗi tập cha mẹ. Hơn nữa để hoàn thành thuật toán cần phải xác định tần suất của hàm mà ghép giá trị z(Xgs) với θgs tương ứng, và π(S,ε)cách để lấy được lời giải con từ các tập cha. Hơn nữa trong đoạn maturation chúng ta được gợi ý sử
dụng thủ tục tối ưu hóa cục bộ, sử dụng simulated annealing, tabu search, được chi tiết hóa trong các bài toán cụ thể.
2.2.3.5. Giải thuật bionomic cho bài toán CPMP
Trong mục này ta giới thiệu BA được sử dụng cho bài toán CPMP. Một lời giải CPMP của thế hệg. Xgs được đánh giá Xgs=(xgs,ygs) trong đó xgs là véc tơ 0-1 mm chiều, ygs là véc tơ 0-1 m chiều thể hiện cho lời giải khả thi của bài toán P. Hàm cải tiến z(Xgs) được tính toán: ∑∑ ∈ ∈ = I i j J gs ij ij gs d x X z( )
Thuật toán BA được mô tả cụ thể như sau: Bước 1: Khởi tạo
Gán g=1 và s1=100
i) Lựa chọn ngẫu nhiên tập con J’ của p median từ tập J và tập ' , 1 1 j J y s j = ∈ và y1s 0, j J \ J' j = ∈ .
ii) Gán các phần tử I’ với các median J’ bằng thủ tục GAP và gán 1 1s = ij x nếu phần tử i∈I được gán với 'j∈J , 01s = ij x là ngược lại Cho Xg = {xgs|s=1,…,sg} là tập lời giải của lần sinh đầu tiên. Bước 2: Maturation
Cải thiện mỗi lời giải trong Xgbằng việc áp dụng bước 2 và 3 của thuật toán HEUMED được mô tả trong 3.3
Chỉ rõ Xg tập tối ưu địa phương lấy được từ Xg và bởi z(Xgs) giá trị của lời giải Xgs∈ Xg.
Bước 3: Nhân bản, xác định các tập cha
3.1 Xác định giá trị tần suất của mỗi θgs cho mỗi lời giải Xgs bằng việc sắp xếp tăng dần giá trị của các lời giải quần thể z(Xgs) của tập Xg và gán ⎥ ⎥ ⎤ ⎢ ⎢ ⎡ = 5 ) ( gs gs x rank θ
Bước 3.2 tới 3.5 giống như trong BA trong mục 4, ngoại trừ ta phải quan tâm tới điều kiện rg ≤rmax,∀g, trong đó rmax là tham số hệ thống.
Bước 4: Nhân bản, xác định các tập lời giải con
Với mỗi tập cha Pgr∈Pg, chỉ rõ J’ tập con của các median mà được sử
dụng trong lời giải phụ thuộc vào Pgr, mà } ) , ( , 1 | { ' gs gs gs gr j x y P y j J = = ∀ ∈ .
Tính toán giá trị cận dưới LB bởi việc thay thế tập J bằng J’ trong bài toán LR và chọn nr lời giải tốt nhất khác nhau được tạo ra bởi phương pháp tối ưu subgradient được sử dụng cho tính toán LB.
Mỗi lời giải được đề xuất bởi cận dưới bao gồm một tập J~ của p median và gán các các phần tử với các median. Việc gán này là không khả thi vì
điều kiện (3); để tạo lời giải Xg+1 của CPMP ta sẽ thực hiện như sau: - Một phần tử i được gán với median j∈J~ nếu trong giới hạn lời
giải nó được gán với median j, khả năng của các median được sắp xếp giảm dần. Cho I~ ⊆I là tập con của các phần từ mà trong lời giải giới hạn hoặc là không được gán với bất cứ median nào hoặc là được gán với nhiều hơn một median. Gán I~ với J~ bằng thủ tục GAP
Bước 5: Điều kiện dừng