2 PHƯƠNG PHÁP ĐƠN HÌNH GỐ C ĐỐI NGẪU CẢ
2.2 THUẬT TOÁN ĐƠN HÌNH GỐ C ĐỐI NGẪU CẢ
BIÊN (RPDSA)
Mô tả thuật toán
Bằng cách chuyển ý tưởng hình học sang phép toán đại số, thuật toán được mô tả một cách hình thức như sau. Nội dung giải thích được để trong các dấu /*.../*.
Bước 0 (Khởi sự):
Biết lời giải chấp nhận được gốc ban đầu v, biết phân hoạch cơ sở (B, N) đối ngẫu chấp nhận được ( cách tìm sẽ nói sau). Đặt:
xB = B−1b, yT = (cb)TB−1, sN = cN −NTy, d = v−x(xN = 0, sB = 0)
Bước 1 (Tổng quát):
While (∃i ∈ {1,2, ..., m} : (xB)i < 0)) do
λ = −(xB)r
(dB)r = max{−(xB)i
(dB)i : (xB)i < 0} /* tìm biến (xB)r loại khỏi cơ
sở */
v = x+λd /* tính điểm chấp nhận gốc được v mới */
q = (B−1)rN /* tính dòng quay : nhân hàng r của B−1 với N */
µ= (sN)t
−qt = min{(sN)j
Đặt h = J(r), p = ¯J(t) /* loại khỏi sơ sở biến xh, đưa vào cơ sở biến
xp */
Đặt J(r) = p,J¯(t) = h /* đổi mới các tập chỉ số J và J¯*/
Tính truy hồi
xB = B−1b, yT = (cb)TB−1, sN = cN −NTy(xN = 0, sB = 0) d = v - x /* tính hướng d tiếp theo */
end
Về thực chất, thuật toán RPDSA là một biến thể của thuật toán đơn hình đối ngẫu, chỉ khác ở cách chọn biến loại khỏi cơ sở. Thuật toán
tạo ra một dãy nghiệm cơ sở đối ngẫu chấp nhận được (yk, sk) là một
dãy nghiệm gốc chấp nhận đượcvk. Khi nghiệm cơ sở xk là chấp nhận
được của (LP) thì xk sẽ là một nghiệm tối ưu của (LP) và thuật toán
dừng. Vì thế, thuật toán RPDSA giải được bài toán gốc (LP).
Thuật toán RPDSA cũng có thể xem như một thuật toán đơn hình điểm ngoài (exterior point simple method - EPSA), vì dãy nghiệm cơ
sở gốc xk do thuật toán tạo ra luôn nằm ngoài miền chấp nhận được
của (LP). Khi đó xk cũng đồng thời là một nghiệm tối ưu của (LP).
Theo quy tắc chọn λ trong thuật toán, với các chỉ số 1 ≤ i ≤ m
sao cho (xB)i < 0 thì do (vB)i ≥ 0 (v là chấp nhận được) nên
(dB)i = (vB)i − (xB)i ≥ −(xB) > 0. Do đó 0 < λ ≤ 1. Vì thế, λ
được hoàn toàn xác định. Hơn nữa, từ công thức tính λ suy ra rằng
xB+λdB ≥0,(xB)r+λ(dB)r = 0. Ngoài ra, xN+λdN = λvN ≥ 0 ( do
v chấp nhận được và xN = 0). Từ đó cho thấy nếu đặt v = x+λd thì
v là chấp nhận được của (LP) và(vB)r = (xB)r+λ(dB)r = 0, nghĩa là
v nằm trên siêu phẳng xh = 0 với h = J(r) (h là chỉ số của biến loại
khỏi cơ sở).
Cũng giống như thuật toán đơn hình và đơn hình đối ngẫu, thuật toán RPDSA có những đặc điểm sau:
∗ Thuật toán là hữu hạn khi (LP) không thoái hóa, bởi vì hàm mục
tiêu đối ngẫu ( hay hàm mục tiêu gốc ) tăng thực sự khi chuyển từ vòng lặp này sang vòng lặp khác.
∗ Thuật toán có thời gian mũ.
thoái hóa.