Thuật toán nón xoay xấp xỉ trong giải bài toán quy hoạch phân tuyến tính

Một phần của tài liệu Một phương pháp xấp xỉ trong giải bài toán quy hoạch nguyên phân tuyến tính theo phương pháp nhánh cận và ứng dụng (Trang 28 - 30)

phân tuyến tính

Thuật toán PTT:

Bước chuẩn bị (bước 0):

Giả sử ta đã biết M0 là một nón đơn hình chấp nhận được của bài toán (LF P) với tập chỉ số cơ sở làI0 := i01, i02, ..., i0n ,x0 = xM0 là đỉnh củaM0 và các vectơ chỉ phương của các cạnhicủa nónM0 làz0i = zMi

0(i ∈ I0).

Bước k (k=0, 1, 2,...):

Giả sử Mk là một nón đơn hình chấp nhận được của bài toán (LF P) (đã được xây dựng), với tập chỉ số cơ sở, đỉnh và các vectơ chỉ phương của các cạnh của nónMk tương ứng là Ik := ik1, ik2, ..., ikn ;xk = xMk vàzki = zMi k.

Từ (1.38), tính∆ki =< A0, zki > L2(xk)− < C0, zki > L1(xk),∀i ∈ Ik Gọi Ik− := {i ∈ Ik : ∆ki < 0}

1) NếuIk− = ∅suy ra xk là một lời giải của bài toán(LF P) 2) NếuIk− 6= ∅ta có 3 cách chọn:

2.1) Chọn rk = min{j : j ∈ Ik−} hoặcrk = max{j : j ∈ Ik−} (ta gọi cách chọn này là quy tắc chọn min hoặc max)

2.2) Chọn rk là chỉ số tùy ý thuộcIk−

Gọi Jk := {1,2, ..., m}\Ik = j1k, j2k, ..., jm−nk ; Jk(rk) := {j ∈ Jk :< Aj, zrk k >6= 0}; Jk0(rk) := {j ∈ Jk :< Aj, zrk k >= 0}; Jk+(rk) := {j ∈ Jk :< Aj, zrk k >> 0}; Gọi sk là chỉ số thuộcJk+(rk)thỏa mãn:

αsk rk = min{αjr k : αjr k = −< A j, xk > +bj < Aj, zrk k > ;∀j ∈ Jk+(rk)} (1.47) Nếu có nhiều sk đạt tiêu chuẩn (1.48) thì ta chọn chỉ số nhỏ nhất (hoặc chỉ số lớn nhất) trong chúng (ta gọi là quy tắc chọn min hoặc max).

Xây dựng nón xoay Mk+1 = Mk(rk, sk)sinh ra từ nón Mk (xem mục 1.3.3) với tập chỉ số cơ sở Ik+1 = (Ik ∪ {sk})\ {rk}, các vectơ chỉ phương zki+1 xác định theo (1.37) zki+1 =                zki khi i ∈ Ik0 zki − < A sk, zki > < Ask, zrk k >.z rk k khi i ∈ Iks, i 6= r − 1 < Ask, zrk k >.z rk k khi i = s xk+1 = xMk(rk,sk) = xk+ αsk rk.zrk k = P i∈Ik+1 bi.zki+1 Quay lại bước k vớik ⇐k + 1.

Vì miền ràng buộcP compact khác rỗng và không thoái hóa nên thuật toán trên sẽ kết thúc sau hữu hạn bước lặp, và ta dễ dàng có định lí sau:

Định lí 1.9. Với mọi bước lặpk ta luôn cóαsk

rk > 0

Một số chú ý:

1) Công thức (1.37) gọi là công thức xoay cơ sở và phần tử < Ask, zrk

k > được gọi là phần tử xoay, nó là trung tâm để đổi các vectơ chỉ phươngzki của hệ cơ sở cũ sang hệ cơ sở mớizki+1.

2) Trong trường hợp khi L2(x) ≡ 1 (tức C0 ≡ O(0,0, . . . ,0) và d0 = 1 ) thì thuật toán giải bài toán quy hoạch phân tuyến tính trên sẽ trở thành một thuật toán giải trực tiếp bài toán quy hoạch tuyến tính dạng chuẩn với điều kiện tối ưu suy ra từ mục 1.3.4 đơn giản và ngắn gọn là∆ki =< A0, zki >>0,∀i ∈ Ik

3) Trong trường hợp bài toán P bị thoái hóa, tức là αsk

rk = 0 thì thuật toán vẫn thực hiện sau hữu hạn bước lặp bởi quy tắc chọn chỉ số đưa ra và đưa vào theo quy tắc chọn min hoặc max.

Một phần của tài liệu Một phương pháp xấp xỉ trong giải bài toán quy hoạch nguyên phân tuyến tính theo phương pháp nhánh cận và ứng dụng (Trang 28 - 30)

Tải bản đầy đủ (PDF)

(63 trang)