BÀI TOÁN VẬN TẢI THAM SỐ

Một phần của tài liệu Bài toán quy hoạch tuyến tính với hàm mục tiêu phụ thuộc tham số (Trang 37)

Chương này đề cập tới bài toán vận tải phụ thuộc tham số ở hàm mục tiêu, trình bày thuật toán thế vị tham số giải bài toán vận tải với các hệ số mục tiêu phụ thuộc tuyến tính vào một tham số và nêu ví dụ về bài toán vận tải với cước phí vận chuyển phụ thuộc tham số. Nội dung chính của chương được tham khảo chủ yếu từ các tài liệu [1], [2] và [4].

3.1 VẬN TẢI VỚI MỤC TIÊU PHỤ THUỘC

THAM SỐ

Xét bài toán vận tải phụ thuộc tham số t > 0 có dạng:

V(t) f (t) = m P i=1 n P j=1 (cij +t.dij)xij →min n X j=1 xij = ai, i = 1, ... m, (3.1) m X i=1 xij = bj, j = 1, ... n, (3.2) xij > 0 với mọi i = 1, ... , m, j = 1, ... n,

trong đó cij > 0, dij, ai > 0, bj > 0 là các hằng số cho trước thỏa mãn điều kiện: m X i=1 ai = n X j=1

Bài toán V(t) với điều kiện (3.3) là bài toán vận tải cân bằng cung cầu với các hệ số mục tiêu phụ thuộc tham số, gọi tắt là bài toán vận

tải tham số. Tham số t ở hàm mục tiêu biến thiên trong đoạn [0, tmax],

trong đó tmax > 0 là số dương cho trước (có thể tmax = +∞). Trong bài toán này, cước phí vận chuyển một đơn vị hàng từ trạm phát i tới trạm thu j không qui định trước mà có thể thay đổi, phụ thuộc vào một tham số t theo hàm tuyến tính cij +t.dij (t > 0).

Ta đưa vào các ký hiệu:

A = (aij)(m+n)×(m.n) - ma trận hệ số các biến ở vế trái ràng buộc (3.1) - (3.2).

b = (a1, ... , am, b1, ... , bn)T - véctơ vế phải ràng buộc (độc lập với tham số t),c = (c11, c12, ... , c1n, c21, c22, ... , c2n, ... , cm1, cm2, ... , cmn)T,

d = (d11, d12, ... , d1n, d21, d22, ... , d2n, ... , dm1, dm2, ... , dmn)T - véctơ hệ số mục tiêu.

x = (x11, x12, ... , x1n, x21, x22, ... , x2n, ... , xm1, xm2, ... , xmn)T

- véctơ biến.

Khi đó, bài toán V(t) được viết gọn lại như một bài toán qui hoạch tuyến tính tham số (xem (1.3)):

minn(c+td)Tx :Ax = b, x > 0o.

Vì thế, có thể dùng phương pháp xử lý đối với bài toán qui hoạch tham số P(t) để giải bài toán vận tải tham số V(t). Theo lý thuyết qui hoạch tuyến tính tham số thì giá trị tối ưu f(t) của bài toán V(t) là một hàm lõm liên tục, tuyến tính từng khúc theo t và tồn tại một số hữu hạn giá trị tham số t:

t0 = 0< t1 < ... < tq < tq+1 = +∞

sao cho f(t) là tuyến tính đối với mọi t ∈ [tk, tk+1] (0 6 k 6 q). Đồng thời, với mỗi k ∈ {0, 2, ... , q} tồn tại một tập ô Gk, gồm m + n - 1 ô không tạo nên chu trình, là cơ sở tối ưu của bài toán V(t) với mọi tham số t ∈ [tk, tk+1] . Các dữ liệu của bài toán V(t) được ghi lại ở Bảng 3.1.

Bảng 3.1. Dữ liệu bài toán vận tải tham số V(t)

3.2 THUẬT TOÁN THẾ VỊ THAM SỐ

Mặc dù bài toán vận tải tham số V(t) thuộc lớp bài toán qui hoạch tuyến tính tham số P(t) đã xét ở Chương 1, nhưng do V(t) có những đặc điểm riêng nên ta sẽ không áp dụng trực tiếp phương pháp đơn hình tham số đã trình bày mà vận dụng một biến thể của nó để giải V(t), nhằm tìm ra các cơ sở tối ưu tương ứng với những khoảng giá trị tham số khác nhau. Thuật toán giải V(t) dựa trên phương pháp thế vị quen thuộc giải bài toán vận tải dạng bảng. Do V(t) luôn có nghiệm với mọi t nên trong thuật toán chỉ xảy ra Trường hợp 1. Hơn nữa, bài toán V(t) với t> t1 cũng đơn giản hơn. Thuật toán gồm các bước sau:

Bước 0. (Khởi sự). Xuất phát từ giá trị tham số t0 = 0. Do có

điều kiện (3.3) nên V(t0) có lời giải cực biên tối ưu. Chẳng hạn, đó là x0 = (x011, x012, ... , x0mn)T. Tập ô cơ sở tương ứng với x0 là G0 =

{(i, j) : x0ij > 0}. Giả sử x0 không suy biến, nghĩa là G0 gồm đúng (m + n - 1) ô và G0 không chứa chu trình. Các biến phi cơ sở x0ij = 0 với mọi (i, j) ∈/ G0. Khoảng tham số tối ưu của x0 tìm ở Bước 1 và 2.

Bước 1. Tính các thế vị hàng ui và thế vị cột vj tương ứng với

(i, j) ∈ G0. Các thế vịui và vj là hàm tuyến tính theo t và có biểu diễn

ui(t) =u1i +t.u2i, vj(t) = vj1 +t.v2j,

trong đó u1i +vj1 = cij, u2i +vj2 = dij với mọi (i, j) ∈ G0. Từ đó

∆1ij = u1i +vj1 −cij = 0, ∆2ij = u2i +vj2 −dij = 0, ∀(i, j) ∈ G0. (adsbygoogle = window.adsbygoogle || []).push({});

Do đó, với mọi t sẽ có

∆ij(t) = ∆1ij + ∆2ij ≡ 0, ∀(i, j) ∈ G0 (3.4)

Bước 2. Tính các ước lượng ∆ij(t) = ∆1ij + t.∆2

ij, (i, j) ∈/ G0, trong đó ∆1 ij = u1i + vj1 −cij, ∆2 ij = u2i +vj2 −dij ∀(i, j) ∈/ G0 Do x0 = x0ij

m×n là tối ưu của bài toán P(t0) nên

∆ij(t0) = ∆1ij +t0.∆2ij 6 0, (i, j) ∈/ G0 (3.5) Từ đó hệ bất đẳng thức tuyến tính (phụ thuộc tham số t)

∆ij(t) = ∆1ij +t.∆2

ij 6 0, (i, j) ∈/ G0 (3.6) là tương thích (do hệ này đã có nghiệm t = t0 theo (3.5)).

• Nếu mọi ∆2

ij 6 0 thì từ (3.6) cho thấy ∆ij(t) 6 0 với mọi t > t0. Do đó, x0 = x0ij

m×n vẫn còn tối ưu của P(t) với mọi tham số

t> t0. Quá trình giải kết thúc.

• Nếu trái lại (có ∆2ij > 0), tìm t1 sao cho ∆ij(t) = ∆1ij + t.∆2ij 6 0, (i, j) ∈/ G0 với mọi t thuộc khoảng t0 6 t 6 t1, do đó x0 =

x0ij m×n là tối ưu của bài toán V(t) với mọi tham số t thỏa mãn

t0 6 t6 t1. Tính t1 theo công thức (tương tự (1.6)):

t1 = min ∆2 ij >0 −∆1ij ∆2 ij (3.7) Trong trường hợp này do có ∆2rs > 0 nên t1 < +∞.

a) Giả sử (r, s) ∈/ G0 là ô đạt cực tiểu trong (3.7), tức là

t1 = −∆1rs/∆2rs = min−∆1ij/∆2ij : ∆2ij > 0 .

(Nếu có nhiều ô đạt min thì ưu tiên chọn ô ở hàng nhỏ hơn và cột nhỏ hơn).

Từ đó

∆rs(t1) = ∆1rs+t1∆2rs = 0.

b) Tìm chu trình C duy nhất lập nên bởi ô (r, s) với các ô thuộc G0. c) Lần lượt chia các ô thuộc C thành các ô chẵn C1 và các ô lẻ C2

với qui ước ô (r, s) ∈ C1.

d) Xây dựng lời giải cơ sở mới x1 = {x1ij} với

x1ij =    x0ij +h nếu (i, j) ∈ C1 x0ij −h nếu (i, j) ∈ C2 x0ij nếu (i, j) ∈/ C

trong đó h = min{x0ij : (i, j) ∈ C2} = x0pq . Nếu có nhiều ô (i, j) ∈ C2

với x0ij = h thì ta chọn ngẫu nhiên một ô trong số đó để loại khỏi tập ô cơ sở. Đặt

G1 = (G0\(p, q))∪(r, s).

Rõ ràng G1 không chứa chu trình, do đó x1 là lời giải cơ sở mới. (adsbygoogle = window.adsbygoogle || []).push({});

Định lý 3.1. x1 là tối ưu của bài toán V(t1).

Chứng minh. Theo cách tính ∆1ij, ∆2ij ở Bước 1 và theo (3.4) thì

với mọi t ta có ∆ij(t) = ∆1ij + ∆2ij ≡ 0 với mọi ∀(i, j) ∈ G0. Nói riêng

∆ij(t) = 0 với mọi ∀(i, j) ∈ G0

Theo cách xác định t1,∆ij(t) 6 0 với mọi (i, j) ∈/ G0 và mọi t0 6 t6 t1. Từ đó

∆ij(t1) 6 0 với mọi (i, j) ∈/ G0.

Như vậy, x1 và tập ô cơ sở G1 = (G0\(p, q)) ∪ (r, s) tối ưu của

Bước 4. Đặt x0 ←x1 và G0 ←G1. Quay trở lại Bước 1.

Mút bên phải của khoảng tham số tối ưu đối với tập ô cơ sở G1 được xác định theo công thức tương tự như (3.7). Quá trình trên tiếp tục cho tới khi tìm được một tia mà nó hoặc là khoảng tối ưu của cơ sở cuối cùng hoặc là hàm mục tiêu không bị chặn dưới trên tia này.

Nếu mọi phương án cực biên của bài toán vận tải đều không suy biến thì sau một số hữu hạn bước lặp thuật toán thế vị sẽ dừng và cho ra các lời giải cơ sở tối ưu của bài toán vận tải tham số V(t) cùng với các tập ô cơ sở tương ứng.

Hiện tượng suy biến trong bài toán vận tải cũng giống như trong bài toán qui hoạch tuyến tính, nghĩa là trong lời giải cơ sở có ít nhất một biến cơ sở nhận giá trị 0. Hiện tượng này xảy ra trong hai trường hợp. Một là, khi tìm phương án cực biên ban đầu có thể cả ràng buộc cung (3.1) và ràng buộc cầu (3.2) cùng thỏa mãn đồng thời. Hai là, có thể có nhiều cách lựa chọn biến xpq để loại khỏi tập biến cơ sở. Dù trường hợp nào xảy ra thì cũng có ít nhất một biến cơ sở nhận giá trị 0. Tuy nhiên, hiện tượng suy biến trong bài toán vận tải không gây ra khó khăn gì lớn. Trên thực tế người ta cũng chưa gặp bài toán vận tải nào xảy ra hiện tượng xoay vòng (gặp lại lời giải cơ sở trước đó). Vì thế, trong quá trình giải bài toán vận tải ta không cần quá bận tâm tới vấn đề này.

3.3 VÍ DỤ MINH HỌA

Ví dụ 3.1. Giải bài toán vận tải V(t) với cước phí phụ thuộc tham

Bảng 3.2. Dữ liệu bài toán vận tải tham số.

Bước 0. Xuất phát từ t0 = 0, giải bài toán V (t0) theo thuật toán

thế vị. Ta nhận được lời giải tối ưux0 ghi ở Bảng 3.3. Tập ô cơ sở tương ứng là G0 = {(1, 1), (1, 2), (2, 2), (2, 3), (2, 4), (3, 4)}, gồm m + n - 1 = 6 ô, không chu trình.

Bảng 3.3. x0 và G0 tối ưu với 0 6 t 6 1

Bước 1. Các thế vị u1i, vj1 và u2i, vj2 được ghi ở Bảng 3.3.

Bước 2. Tính ma trận ∆1 = (∆1ij = u1j + vj1 −cij) và ∆2 = (∆2ij = u2j +vj2 −dij): ∆1 = 0 0 −2 −1 −6 0 0 0 −7 −11 −6 0 ! , ∆2 = 0 0 1 1 −3 0 0 0 1 2 1 0 ! .

Theo (3.7) tham số t1 = −∆114/∆114 = 1.

Bước 3. Đưa ô (1, 4) vào cơ sở và thực hiện các thao tác b) - d) ta

được lời giải cơ sở mới x1 ghi ở Bảng 3.4, tương ứng với tập ô cơ sở mới

G1 = {(1, 1), (1, 2), (1, 4), (2, 2), (2, 3), (3, 4)} (các ô có dấu "•").

Bước 4. Đặtx0 ←x1, G0 ←G1. Quay lại Bước 1 của vòng lặp sau.

Bảng 3.4. x1 và G1 tối ưu với 1 6 t 6 2

Bước 1. Các thế vị u1i, vj1 và u2i, v2j được ghi ở Bảng 3.4.

Bước 2. Tính ma trận ∆1 = (∆1ij = u1j + vj1 −cij) và ∆2 = (∆2ij = u2j +vj2 −dij): ∆1 = 0 0 −2 0 −6 0 0 1 −8 −12 −7 0 ! , ∆2 = 0 0 1 0 −3 0 0 −1 2 3 2 0 ! Theo (3.7) tham số t2 = −∆113/∆113 = 2.

Bước 3. Đưa ô (1, 3) vào cơ sở và thực hiện các thao tác b) - d) ta

được lời giải cơ sở mới x2 ghi ở Bảng 3.5, tương ứng với tập ô cơ sở mới

G2 = {(1, 1), (1, 3), (1, 4), (2, 2), (2, 3), (3, 4)} (các ô có dấu "•"). (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 3.5. x2 và G2 tối ưu với 2 6 t 6 4

Bước 1. Các thế vị u1i, vj1 và u2i, v2j được ghi ở Bảng 3.5.

Bước 2. Tính ma trận ∆1 = (∆1ij = u1j + vj1 −cij) và ∆2 = (∆2ij = u2j +vj2 −dij): ∆1 = 0 2 0 0 −8 0 0 −1 −8 −10 −5 0 ! , ∆2 = 0 −1 0 0 −2 0 0 0 2 2 1 0 ! .

Theo (3.7) tham số t3 = −∆131/∆131 = 4. Do t3 = tmax = 4 nên dừng tính toán.

Kết quả giải bài toán vận tải tham số V(t) được ghi lại trong bảng sau.

Hình 3.1. Hàm giá trị tối ưu f(t) lõm, tuyến tính từng khúc, 06 t6 4

Tóm lại, chương này đã trình bày tóm tắt kết quả về bài toán vận tải tham số, với tham số có mặt ở hàm mục tiêu của bài toán. Nêu vắn tắt thuật toán tìm lời giải cơ sở tối ưu trong các khoảng tham số khác nhau và nêu ví dụ số cho thấy hàm giá trị tối ưu của hai bài toán là hàm lõm liên tục, tuyến tính từng khúc.

Kết luận

Luận văn này đã đề cập tới bài toán qui hoạch tuyến tính và bài toán vận tải với hàm mục tiêu phụ thuộc tham số. Đây là lớp bài toán tham số điển hình và thường được phân tích, nghiên cứu trong qui hoạch tuyến tính.

Luận văn đã trình bày các nội dung chính sau:

1. Bài toán qui hoạch tuyến tính với các hệ số mục tiêu phụ thuộc tuyến tính vào một tham số. Phương pháp đơn hình tham số tìm nghiệm tối ưu của bài toán với các khoảng giá trị tham số khác nhau.

2. Cách tiếp cận theo tối ưu Pareto và cách tiếp cận theo trọng số trong các bài toán qui hoạch tuyến tính với nhiều hàm mục tiêu tuyến tính. Ứng dụng thuật toán đơn hình tham số tìm tất cả các điểm hữu hiệu (nghiệm tối ưu Pareto) của bài toán qui hoạch tuyến tính với hai mục tiêu tuyến tính.

3. Bài toán vận tải với hàm mục tiêu phụ thuộc tham số. Thuật toán thế vị tham số tìm các nghiệm tối ưu của bài toán trong các khoảng giá trị tham số khác nhau. Ví dụ minh hoạ thuật toán thế vị tham số.

Có thể xem luận văn như bước tìm hiểu ban đầu về chủ đề qui hoạch tuyến tính và bài toán vận tải với hàm mục tiêu phụ thuộc tham số và ứng dụng trong tối ưu với hai hàm mục tiêu.

Tác giả hy vọng sẽ có dịp được tìm hiểu sâu thêm về các dạng qui hoạch tuyến tính khác của lý thuyết và phương pháp qui hoạch tham số.

Một phần của tài liệu Bài toán quy hoạch tuyến tính với hàm mục tiêu phụ thuộc tham số (Trang 37)