Một số Bài toán mở rộng trong lớp các bài toán vận tải mở rộng: vận tải ba chỉ số (solid transport problem), vận tải ba chỉ số khoảng (interval solid transport problem)
Trang 1LỜI MỞ ĐẦU
Cùng với sự phát triển mạnh mẽ của khoa học kỹ thuật, các bài toán tối ưu
xuất hiện ngày càng nhiều và tính phức tạp của chúng ngày càng lớn Phạm vi
và khả năng ứng dụng của các bài toán tối ưu cũng ngày càng đa dạng và phong
phú
Lớp bài toán tối ưu quan trọng được nghiên cứu đầu tiên và được ứng dụng
nhiều nhất là bài toán quy hoạch tuyến tính (linear programming) Đó là mô
hình toán học của một lớp rộng lớn các bài toán ứng dụng trong kinh tế và kỹ
thuật Do đó cấu trúc của lớp bài toán quy hoạch tuyến tính có nhiều tính chất
rất tốt về mặt toán học, người ta đã tìm được các thuật giải rất hữu hiệu cho bài
toán này Năm 1947 nhà toán học Mỹ G.B Dantzig đã nghiên cứu và đề xuất ra
thuật toán đơn hình (simplex method) để giải bài toán quy hoạch tuyến tính
Thuật toán đơn hình được phát triển mạnh mẽ trong những năm sau đó và được
xem là một phương pháp kinh điển để giải các bài toán quy hoạch tuyến tính
Đây là một phương pháp được sử dụng có thể nói là rộng rãi nhất Có ba lý do
chính:
Một là: Rất nhiều vấn đề thực tế, trong nhiều lĩnh vực khác nhau có thể đưa
về bài toán quy hoạch tuyến tính
Hai là: Trong nhiều phương pháp giải các bài toán phi tuyến, bài toán
tuyến tính xuất hiện như là một bài toán phụ cần phải giải trong nhiều bước lặp
Ba là: Phương pháp đơn hình là phương pháp hiệu quả để giải bài toán quy
hoạch tuyến tính
Ngày nay, bằng thuật toán đơn hình và các dạng cải biên của chúng, người
ta có thể giải rất nhanh các bài toán QHTT cỡ lớn
Lớp các bài toán vận tải là trường hợp đặc biệt của quy hoạch tuyến tính,
bởi vậy có thể dùng các phương pháp của quy hoạch tuyến tính để giải Tuy
nhiên, do tính chất đặc thù riêng của nó, người ta xây dựng các phương pháp
giải riêng
Trang 2Thông thường khi nói đến bài toán vận tải ta thường liên hệ ngay đến bài
toán vận tải hai chỉ số, bởi đây là bài toán vận tải kinh điển có những phương
pháp giải hay Bên cạnh đó, người ta còn xét một số các bài toán vận tải mở
rộng như bài toán vận tải ba chỉ số, bài toán vận tải khoảng, bài toán vận tải đa
mục tiêu và rất nhiều bài toán khác, đó là các biến thể của bài toán vận tải kinh
điển trên
Trong khuôn khổ khoá luận này, em xem xét và nghiên cứu một số bài toán
mở rộng trong lớp các bài toán vận tải mở rộng đó Đó là các bài toán: Bài toán
vận tải ba chỉ số (solid transport problem) không hạn chế và có hạn chế khả
năng thông qua, Bài toán vận tải ba chỉ số khoảng (interval solid transport
problem) và giới thiệu một số Bài toán vận tải đa mục tiêu
Trang 3CHƯƠNG I BÀI TOÁN QUY HOẠCH TUYẾN TÍNH
Trong việc nghiên cứu các bài toán tối ưu nói chung, giải tích lồi giữ một
vai trò rất quan trọng Nó được sử dụng làm cơ sở toán học trong việc xây dựng
các thuật toán
Quy hoạch tuyến tính là một trong những lớp bài toán tối ưu được nghiên
cứu trọng vẹn cả về phương diện lý thuyết lẫn thực hành, Bài toán vận tải là một
dạng đặc biệt của QHTT Do đó chương này nhằm giới thiệu một số khái niệm
và kiến thức cơ bản về giải tích lồi và QHTT
1.1 Một số khái niệm về giải tích lồi
1.1.1 Không gian Euclude
Một vector n chiều trên trường số thực là một bộ được sắp thứ tự gồm n số
thực x=(x1, x2, , xn) Các xi, i =1, , n gọi là các thành phần hay toạ độ của
vector Ví dụ x=(4,5,10,20)
Hai vectơ x và y gọi là bằng nhau x=y, nếu xi=yi, ∀i =1, , n
Xét hai phép toán trên các vector:
Phép cộng: x+y=(x1+y1, x2+y2, , xn+yn)
Phép nhân: αx=(αx1, αx2, , αxn), ∀α ∈ R
Khi đó tập hợp tất cả các vector n chiều trong đó xác định phép cộng các
vector, nhân một số thực với vector như trên tạo thành không gian tuyến tính n
chiều trên trường số thực R, ký hiệu Rn
Các vector x(i) ∈Rn, i =1, , m được gọi là độc lập tuyến tính nếu:
1
)
α với ít nhất một αi ≠ 0 thì x gọi là tổ hợp tuyến tính của
các x(i), i =1, , m Hơn nữa nếu αi > 0, i =1, , m và ∑
=
=
m i i
1
1
α thì x gọi là tổ hợp
lồi của các x(i), i =1, , m
Trong Rn có n vector độc lập tuyến tính lập thành cơ sở của nó
m i
m i
Trang 4Giả sử e(1), e(2), , e(n) là một cơ sở của Rn thì bất kỳ một vector x ∈ Rn đều
là tổ hợp tuyến tính của các vector e(1), e(2), , e(n) Ta gọi tích vô hướng của hai
vector x=(x1, x2, , xn) và y=(y1, y2, , yn), ký hiệu, <x,y>, là một số bằng
Tích vô hướng là một dạng song tuyến tính, đối xứng, không âm, tức là:
1 <x,y> = <y, x> ∀x,y ∈ Rn
2 <x(1) + x(2), y >=< x(1), y >+< x(2), y> ∀x(1), x(2), y ∈ Rn
3 <λx,y> = λ<x,y> ∀x,y ∈ Rn
4 <x,x> ≥ 0, ∀x∈ Rn dấu bằng xẩy ra khi và chỉ khi x= 0
Độ dài của vector x=(x1, x2, , xn) là một số xác định bởi
Khoảng cách giữa hai vector x và y là một số xác định bởi:
Không gian vector trong đó có tích vô hướng và khoảng cách như trên gọi
là không gian Euclude
1.1.2 Tập compact
Dãy {x(k) }⊂Rn k=1, 2, được gọi là có giới hạn x(0) khi k → ∞ và viết
lim x(k) = x(0), nếu
Hình cầu tâm a bán kính ρ là tập S={x∈Rn :x-a≤ ρ } Hình cầu này tạo
nên ρ- lân cận của điểm a, hay gọi là lân cận của a
* Nếu tập A⊂Rn chứa cùng với điểm x một lân cận của nó thì x gọi là điểm
trong của A Nếu trong lân cận bất kỳ của x ∈ A có các điểm của A và các điểm
không thuộc A thì x gọi là điểm biên của tập hợp A
* Một tập A⊂Rn gọi là giới nội nếu nó được chứa trong một hình cầu tâm O
nào đó, tức là tồn tại số ρ đủ lớn sao cho với mọi x∈A,x≤ ρ Một dãy {x(k)}
hội tụ thì bao giờ cũng giới nội
x x
i y x y
x y x y
x y x
1
2
, ,
ρ
Trang 5* Một tập hợp G⊂Rn được gọi là mở nếu với mọi x∈G đều tồn tại một hình
cầu tâm x nằm gọn trong G Một tập F⊂Rn được gọi là đóng nếu với mọi dãy hội
tụ{x(k)}⊂ F ta đều có: x k F
∞
→ )
lim Một tập chứa mọi điểm biên của nó là tập đóng
* Tập C được gọi là tập Compact nếu từ mọi dãy vô hạn {x(k)} thuộc C đều
có thể trích ra một dãy con {x(ki)} hội tụ tới phần tử thuộc C Tập C là Compact
khi và chỉ khi C đóng và giới nội Tập Compact M của tập đóng C cũng đóng
trong C Tập con đóng M của tập Compact cũng Compact
Hàm f(x) liên tục trên tập Compact C thì sẽ đạt cực trị trên tập ấy
* Một tập M⊂Rn được gọi là một đa tạp affine nếu với hai điểm bất kỳ
x, y ∈M thì toàn bộ đường thẳng đi qua hai điểm đó cũng thuộc M
Tức là λx + (1-λ)y ∈M : ∀x,y ∈M, ∀ λ∈R
* Một siêu phẳng trong không gian Rn là tập hợp tất cả các điểm
x=(x1, x2, , xn) ∈Rn thỏa mãn phương trình tuyến tính
a1x1+ a2x2+ + anxn = α trong đó a1, a2, , an , α ∈R
* Tập hợp các điểm x=(x1, x2, ., xn) ∈Rn thoản mãn bất phương trình
tuyến tính a1x1+ a2x2+ + anxn ≤ α được gọi là nửa không gian đóng
* Nửa không gian được cho bởi a1x1+ a2x2+ + anxn < α được gọi là nửa
không gian mở
* Tập X⊂Rn được gọi là tập lồi nếu cùng với việc chứa hai điểm x, y nó
chứa cả đoạn thẳng chứa hai điểm ấy, tức là chứa tất cả các điểm có dạng:
λx + (1-λ)y, 0 ≤ λ ≤ 1
Ví dụ về các tập lồi: Không gian Euclide, các nửa không gian, mặt phẳng,
nửa mặt phẳng, hình chữ nhật, hình vuông, hình elip, hình hộp, hình cầu
Trang 6* Một tập hợp là giao của một số hữu hạn các nửa không gian đóng được
gọi là tập lồi đa diện
Mệnh đề: Giao của hai tập lồi là một tập lồi
Hệ quả 1 Giao của một số bất kỳ tập hợp lồi là tập lồi
Hệ quả 2 Miền chứa nghiệm của một hệ bất phương trình tuyến tính dạng
là một tập lồi (đa diện lồi) Một tập lồi đa diện giới nội gọi là một đa diện
Giao của tất cả các tập lồi chứa tập X gọi là bao lồi của nó, ký hiệu [X]
1.1.4 Hàm lồi
* Một hàm số f(x) xác định trên tập lồi C ⊂ Rn được gọi là hàm lồi trên C,
nếu với mọi x, y ∈C và 0 ≤ λ ≤ 1 ta có f(λx + (1-λ)y) ≤ λf(x) + (1-λ)f(y)
* Hàm f(x) được gọi là hàm lồi chặt nếu với mọi x, y ∈C và 0 ≤ λ ≤ 1 ta
có f(λx + (1-λ)y) < λf(x) + (1-λ)f(y)
* Hàm f(x) được gọi là hàm lõm (lõm chặt) nếu - f(x) là hàm lồi (lồi chặt)
* Hàm f(x) xác định trên C đạt cực tiểu tuyệt đối tại x* ∈C nếu
f(x*) ≤ f(x):∀ x∈C
* Hàm f(x) đạt cực tiểu địa phương tại x*∈ C nếu tồn tại lân cận mở U của
x* sao cho f(x*) ≤ f(x):∀ x∈C ∩U
Mệnh đề 1: Bất kỳ điểm cực tiểu địa phương nào của hàm lồi trên tập lồi
cũng là điểm cực tiểu tuyệt đối
Hệ quả: Bất kỳ điểm cực đại địa phương nào của hàm lõm cũng là cực đại
tuyệt đối
Mệnh đề 2 : Cực đại của một hàm lồi (nếu có) trên một tập lồi có điểm cực
biên bao giờ cũng đạt tại một điểm cực biên
1.2 Bài toán Quy hoạch tuyến tính
QHTT bắt nguồn từ những nghiên cứu của nhà toán học Nga nổi tiếng,
Viện sỹ L.V Kantorovich trong một loạt các công trình về bài toán kế hoạch
hoá sản xuất, công bố năm 1938 Năm 1947 nhà toán học Mỹ G.B Dantzig đã
.
.
2 2 1 1
2 2
2 22 1 21
1 1
2 12 1 11
+ +
≤ +
+ +
≤ +
+ +
n n nn n
n
n n
n n
b x a x
a x a
b x a x
a x a
b x a x
a x a
Trang 7nghiên cứu và đề xuất phương pháp đơn hình (Simplex method) để giải bài toán
QHTT Năm 1952 phương pháp đơn hình đã được chạy trên máy tính điện tử
của Mỹ
1.2.1 Bài toán quy hoạch tuyến tính
Bài toán tổng quát
Để nhất quán lập luận ta xét bài toán tìm cực đại, sau đó ta xét cách chuyển
bài toán tìm cực tiểu sang tìm cực đại Bài toán tổng quát của QHTT có dạng:
Ký hiệu: A=(aij)mxn là ma trận với các phần tử aij
(1.1) gọi là hàm mục tiêu, (1.2) là các rằng buộc
Nếu gặp bài toán Min, tức là
Thì giữ nguyên ràng buộc và đưa về bài toán Max bằng cách
Nếu bài toán Max có phương án tối ưu là x* thì bài toán min cũng có
phương án là x* và f min =- fmax
Thật vậy, vì x* là phương án tối ưu của bài toán Max nên ta có:
Chứng tỏ x* là phương án tối ưu của bài toán Min và
Dạng chuẩn và dạng chính tắc
Người ta thường xét bài toán quy hoạch tuyến tính dưới hai dạng sau:
( )
D x
x c x
n
j j
x c x
n j j
c
hay D x x c x
c f
n j j j n
j j j
j n
j j n
j j j
1 1
*
1 1
* max
c f
* min
( )1 1 max
j x c
( )1 3 , ,
1 , 0
2 1 ,
, 1 , , ,
1
n j
x
m i
b x
a j
i n
j j ij
Trang 8-Dạng chuẩn:
-Dạng chính tắc:
Đưa bài toán QHTT về dạng chuẩn hoặc dạng chính tắc
Bất kỳ QHTT nào cũng có thể đưa về một trong hai dạng chuẩn hoặc chính
tắc nhờ các phép biến đổi tuyến tính sau:
i) Một ràng buộc
Có thể đưa về ràng buộc bằng cách nhân hai vế với (-1) và
viết lại
ii) Một ràng buộc đẳng thức
có thể thay bằng hai ràng buộc bất đẳng thức:
iii) Một biến x j không bị ràng buộc dấu có thể thay thế bởi hiệu của hai biến
không âm bằng cách đặt:
iv) Một ràng buộc bất đẳng thức
n j
x
m i
b x a
x c
j i n
j j ij
n j j j
, , 1 , 0
, , 1 , max
1 1
x
m i
b x a
x c
j i n
j j ij
j n
j j
, , 1 , 0
,
1 , max
1 1
ij x b a
1
i n
j j
j j ij i
n j j
−
= + − + −
j j j j
i j n
j a ij x ≤ −b
−∑ =1
' '
n
j a ij x ≤b
Trang 9Có thể đưa về ràng buộc đẳng thức bằng cách đưa vào biến phụ yi ≥ 0:
Về nguyên tắc, áp dụng nhiều lần các phép biến đổi (i), (ii) và (iii) ta có thể
đưa một bài toán QHTT bất kỳ về dạng chuẩn, sau đó áp dụng nhiều lần phép
biến đổi (iv) ta sẽ đưa nó về dạng chính tắc
Giải bài toán QHTT bằng phương pháp hình học
Xét bài toán QHTT dưới dạng chuẩn với hai biến số:
Từ ý nghĩa hình học ta biết rằng mỗi bất phương trình tuyến tính a i1 x 1 +a i2 x 2 ≤ b i
xác định một nửa mặt phẳng
Như vậy miền ràng buộc D được xác định như là giao của một nửa mặt
phẳng và sẽ là một đa giác lồi trên mặt phẳng Phương trình c 1 x 1 +c 2 x 2 =α khi α
thay đổi sẽ xác định trên mặt phẳng các đường thẳng song song với nhau mà ta
sẽ gọi là các đường mức (với giá trị mức α) Mỗi điểm ∈D sẽ nằm
trên một đường mức với mức
Bài toán đặt ra có thể phát biểu theo ngôn ngữ hình học như sau: trong số
các đường mức cắt tập D, hãy tìm đường mức với gía trị lớn nhất
Nếu dịch chuyển song song các đường mức theo hướng vector pháp tuyến
của
chúng thì giá trị mức sẽ tăng, nếu dịch chuyển theo hướng ngược lại
thì giá trị mức sẽ giảm Vì vậy để giải bài toán đặt ra, ta có thể tiến hành như
sau
Bắt đầu từ một đường mức cắt D, ta dịch chuyển song song các đường mức
theo hướng vector pháp tuyến (c1,c2) cho đến khi việc dịch chuyển tiếp theo làm
cho đường mức không còn cắt D nữa thì dừng Điểm của D (có thể nhiều điểm)
i n
j
i j
=
→ +
2 , 1 , 0
, , 1 ,
max
2 1 1 1
2 2 1 1
j x
m i
b x a x a D
x c x c
j
i i i
( )x1, x2
x=
2 2 1
Trang 10nằm trên đường mức cuối cùng này sẽ là lời giải tối ưu cần tìm, còn giá trị của
hàm mục tiêu tại đó chính là giá trị tối ưu của bài toán
và x* là một đỉnh của D Qua phương pháp hình học ta thấy rằng:
- Nếu quy hoạch tuyến tính có phương án tối ưu thì có ít nhất một đỉnh là
tối ưu Sở dĩ nói ít nhất vì có trường hợp đường mức ở vị trí giới hạn trùng với
một cạnh của D thì tất cả các điểm trên cạnh này là phương án tối ưu, trong đó
có hai đỉnh
- Nếu miền ràng buộc D giới nội và khác rỗng thì chắc chắn có phương án
tối ưu
- Nếu miền ràng buộc không giới nội nhưng hàm mục tiêu bị chặn trên ở
trên miền ràng buộc thì cũng chắc chắn có phương án tối ưu
1.2.2 Một số tính chất chung
Mệnh đề 1: Tập hợp tất cả các phương án của một bài toán QHTT là tập lồi
Tập lồi D các phương án của một bài toán QHTT xác định bởi toàn bộ các
ràng buộc (1.2) và (1.3) Tập D có thể là rỗng, hoặc là một đa diện lồi hoặc là
một tập lồi đa diện không giới nội
0 ,
0 3
7 2
8 2
2 1
2
2 1
2 1
≤ +
x x
x
x x
x x
Trang 11Nếu D là một đa diện lồi thì bài toán có phương án, hơn nữa giá trị tối ưu
của hàm mục tiêu trên đa diện lồi là hữu hạn và việc tìm phương án tối ưu đưa
đến việc chọn các điểm của đa diện D có số đỉnh (điểm cực biên hay phương án
cực biên) hữu hạn
Mệnh đề 2: Hàm mục tiêu của bài toán QHTT sẽ đạt Max tại điểm cực biên
của tập D Nếu hàm mục tiêu không chỉ nhận Max tại một điểm cực biên của tập
lồi D mà tại nhiều điểm cực biên thì nó sẽ đạt giá trị cực đại tại những điểm là tổ
hợp lồi của các điểm đó
Ký hiệu Aj, j=1, , n là các vector cột của ma trận A
Khi ấy hệ ràng buộc Ax =b có thể viết:
là điểm cực biên của tập lồi đa diện D
Mệnh đề 4 : Nếu x =(x 1 ,x 2 , ,x n ) là điểm cực biên của tập lồi đa diện D thì
các vector A j trong biểu diễn (1.4) ứng với các thành phần xj > 0 lập thành hệ
độc lập tuyến tính Vì ma trận A có m dòng nên từ đây suy ra rằng điểm cực
biên không có quá m thành phần dương
Các mệnh đề 3 và mệnh đề 4 có thể gộp lại thành một mệnh đề sau:
Mệnh đề 5 : Để x =(x 1 ,x 2 ,x n ) là phương án cực biên của QHTT dưới dạng
chính tắc thì cần và đủ là các vector cột A j của ma trận A ứng với các thành phần
xj > 0 là độc lập tuyến tính
1.2.3 Phương pháp đơn hình giải bài toán QHTT
Cơ sở của phương pháp này đươc G.B Dantzig công bố năm 1947 có tên
gọi là phương pháp đơn hình Sở dĩ có tên gọi như vậy là vì những bài toán đầu
tiên được giải bằng phương pháp đó có các ràng buộc dạng:
( )1 5 , ,
1 , 0 ,
1
1
n j
x
n j
∑
=
Trang 12Mà tập hợp các điểm x∈Rn thoả mãn các ràng buộc trên là một đơn hình
trong không gian n chiều
Đường lối chung và cơ sở của thuật toán
i) Đường lối chung
Phương pháp đơn hình dựa trên hai nhận xét sau: nếu bài toán QHTT có
phương án tối ưu, đa diện lồi D có một số hữu hạn đỉnh Như vậy phải tồn tại
thuật toán hữu hạn Thuật toán gồm hai giai đoạn:
- Giai đoạn 1: Tìm một phương án cực biên (một đỉnh)
- Giai đoạn 2: Kiểm tra điều kiện tối ưu đối phương án tìm được ở giai
đoạn 1 Nếu điểu kiện tối ưu được thoả mãn thì phương án đó là tối ưu Nếu
không, ta chuyển sang phương án cực biên mới sao cho cải tiến giá trị hàm mục
tiêu Tiếp theo lại kiểm tra điều kiện tối ưu đối với phương án mới
Người ta thực hiện một dãy các thủ tục như vậy cho đến khi nhận được
phương án tối ưu, hoặc đến tình huống bài toán không có phương án tối ưu
ii) Cơ sở của thuật toán
Xét bài toán QHTT dưới dạng chính tắc:
< c, x > → max (1.6)
Ax= b (1.7)
x ≥ 0 (1.8)
Trong đó A là ma trận kích thước mxn và giả sử rằng hạng của ma trận A
là m (điều này không làm mất tính tổng quát) x là một vector
Giả sử x là một phương án cực biên nào đó Ta ký hiệu:
Trang 13Ta chọn một hệ thống m vector độc lập tuyến tính {Aj, j ∈ J}sao cho J ⊇
J* Hệ thống đó gọi là cơ sở của x, các vector {Aj, j ∈ J} và các biến {xj, j ∈ J}
được gọi là các vector và các biến cơ sở tương ứng Các vector và các biến Aj,
xj, j∉ J gọi là các vector và các biến phi cơ sở tương ứng
Nếu x không thoái hoá thì tồn tại một cơ sở duy nhất, đó là J=J*
Mỗi vector Ak phi cơ sở có thế biểu diễn dưới dạng tổ hợp tuyến tính của
các vector cơ sở:
Trong đó các hệ số zjk được xác định duy nhất bởi việc giải hệ phương
trình:
Bài toán QHTT được gọi là không thoái hoá nếu tất cả các phương án cực
biên của nó đều không thoái hoá
Giả sử bài toán không thoái hoá và ta đã tìm được một phương án cực biên
x=(x1, x2, xm, 0, 0) và cơ sở của nó A1,, A2, Am
Đối với phương án cực biên này ta có:
với giá trị của hàm mục tiêu:
Ta tính các đại lượng sau:
Kí hiệu:
Định lý 1.1: (Tiêu chuẩn tối ưu) Nếu đối với phương án cực biên
x=(x1,x2, ,xm,0 0) các điều kiện sau được thỏa mãn
thì x* là phương án tối ưu
Chú ý:
( )1 11 ,
1 ,i m a
a
z ij ik J
A
(1 12)
, , 1 , 0 ,
1
m j
x b A
m
j j
j x z c
k j
jk c Z z
(1 15)
1
k m
j j jk k
0 k n
∆
Trang 14• Người ta có thể chứng minh rằng nếu bài toán không thoái hoá thì (1.16)
cũng là điều kiện cần của tối ưu
Định lý 1.2: Nếu tồn tại một chỉ số k sao cho ∆k < 0 thì người ta có thể tìm
được ít nhất một phương án x’ mà đối với nó Z’ > Z0
Công thức tìm phương án x’:
Nhân (1.10) với θ nào đó ta có:
Lấy (1.12) trừ đi (1.19) từng vế ta có:
Nếu các hệ số của các vector Aj, j=1, ,m và Ak trong (1.20) không âm,
khi đó ta có một phương án mới x’ mà đối với nó hàm mục tiêu f có giá trị
Trong (1.12) tất cả các biến xj, j=1, ,m đều dương Vì vậy có thể tìm được
0
rk
r jk
jk
j J
x z
1
k j m
m j
) 21 1 ( ' Z0 k
Z = − θ ∆
) 22 1 ( , ,
1 , 0 :
' x z j m
x j = j − θ jk ≥ =
Trang 15Như vậy ta nhận được phương án mới x’ với cơ sở Aj, j∈J\ {r}∪{k}=J’
Nếu zjk ≤ 0, ∀j∈ J thì tất cả các thành phần xj- θ z jk trong (1.22) sẽ không
âm ∀θ >0, nghĩa là ta luôn có phương án ∀θ >0, nhưng từ (1.21) ta dễ thấy giá
trị hàm mục tiêu tiến tới +∞ khi θtiến tới +∞
Trong thực hành Dantzig đã chứng minh rằng các bước lặp sẽ giảm đáng kể
nếu ta thay vector As thoả mãn:
và khi đó vector Ar được xác định theo công thức:
Ta có phương án cực biên mới x’ mà các thành phần của nó có dạng:
nếu j ≠ r
nếu j=r
và cơ sở của nó là
Trên cơ sở lý thuyết đã nhận được, ta chuyển sang xét thuật toán đơn hình
Thuật toán đơn hình
Bước 1: Xây dựng bảng đơn hình xuất phát Tìm một phương án cực biên
xuất phát x và cơ sở của nó Aj, j∈J
(1 25)
, 0 min
rs
r js
js
j s
z
x J j z
, /
'
rs r
js rs r j j
z x
z z x x
\ ' , j J J r s
k j J j
k = z c −c
∆ ∑
∈
Trang 16Còn với j∈J thì ∆j = 0
• Tính giá trị hàm mục tiêu
Bước 2: Kiểm tra tối ưu
Nếu ∆k ≥ 0, ∀k ∉ J thì x là phương án tối ưu, dừng thuật toán Trái lại,
chuyển sang bước 3
Bước 3: Tìm vector đưa vào cơ sở Có hai khả năng xảy ra:
• Tồn tại k∉J sao cho ∆k< 0 và zjk ≤ 0, ∀j∈J thì bài toán QHTT
không có lời giải tối ưu (Z không bị chặn trên) Dừng thuật toán
• Đối với mỗi k∉J sao cho ∆k< 0 đều tồn tại j ∈ J: zjk> 0 Khi đó
chọn chỉ số s theo tiêu chuẩn:
Đưa vector As vào cơ sở
Bước 4: Tìm vector loại khỏi cơ sở Xác định
Và đưa vector Ar ra khỏi cơ sở
Bước 5: Chuyển sang phương án cực biên mới và cơ sở mới Cơ sở mới là
{Aj,j ∈J’} với J’= J\{r} ∪ z{s} Phương án cực biên mới x’ được tính theo
(1.26), khai
triển của các véc tơ Ak theo các cơ sở mới được tính theo công thức (1.28)
Quay lên bước 2
Chú ý. Đối với bài toán min thì tiêu chuẩn tối ưu là
∆k≤ 0 (∀k) và vector As được chọn đưa vào cơ sở theo công thức:
Công thức đổi cơ sở và bảng đơn hình
Ta xét các công thức chuyển từ phương án cực biên x với cơ sở J sang
phương án cực biên x’ với cơ sở J’
j x c
Z0
rs
r js
rs
j s
z
x z
Trang 17Ta đã có công thức (1.26) để tính các thành phần của x’ Bây giờ ta thiết
lập công thức tính các số z’jk Ta có:
Mặt khác
Thay biểu thức của Ar vào ta được:
Đây là công thức biểu diễn Ak qua cơ sở mới J’ =J\{r}∪{s} Bởi vậy ta có:
Nếu tất cả các số trong dòng cuối (trừ hàm mục tiêu f) đều không âm, nghĩa
là ∆k≥0 ∀k, khi đó x là phương án tối ưu
cj
cr
cm
A1
Aj
Ar
Am
x1
xj
xr
xm
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
z1k
zjk
zrk
zmk
z1s
zjs
zrs
zms
z1n
zjn
zrn
zmn
j js s
rs r
J j j js s
A z A
z A
A z A
,
1
s rs
rk j r
j J
rk jk r
j J j
j js s
rs rk r
i J
j
j jk
z
z A z
z z A
z A
z
z A z
r rk j jk j
J j jk
A
, ,
(1 28), ,
/
, / '
js rs rk jk
jk
z z
z z z z
z
(1 29)
' '
'
k j J j jk
k = z c −c
∆ ∑
∈
Trang 18Nếu dòng cuối (không kể f ) có những số âm thì xem thử có cột nào cắt
dòng cuối ở một số âm mà mọi số trong cột đó đều âm hay không Nếu có cột
nào như thế thì bài toán không có phương án tối ưu Nếu trái lại thì chọn cột sao
cho
Rồi chọn ( trong số các dòng cắt cột s ở những số dương ) dòng r sao cho:
Cột s gọi là cột quay Vector Ar được đưa vào cơ sở Dòng r gọi là dòng
quay Vector Ar bị đưa ra khỏi cơ sở
Phần tử zrs > 0 là giao của cột quay và dòng quay gọi là phần tử chính của
phép quay Các phần tử zjs, j ≠ r gọi là phần tử quay
Các công thức (1.26), (1.29) gọi là các công thức đổi cơ sở Bảng đơn hình
mới suy được từ bảng cũ bằng cách thay cr, Ar trong dòng quay bằng cs, As Sau
đó thực hiện các phép biến đổi dưới đây:
i) Chia mỗi phần tử ở dòng quay cho phần tử chính được số 1 ở vị trí của zrs
cũ Kết quả thu được là dòng chính
ii) Lấy mỗi dòng khác trừ đi tích của dòng chính nhân với phần tử quay
tương ứng được số 0 ở mọi vị trí còn lại của cột quay
Dòng mới = dòng cũ tương ứng - dòng chính x phần tử quay
Lưu ý rằng sau phép quay thì ở vị trí ∆s ta thu được số 0 vì lúc này As trở
thành vector đơn vị cơ sở, nghĩa là ta đã làm mất số âm nhỏ nhất ở dòng cuối
của bảng cũ
Toàn thể phép biến đổi trên gọi là phép quay xung quanh phần tử chính zrs
Sau khi thực hiện phép quay ta có một phương án mới và một cơ sở mới Nếu
chưa đạt yêu cầ nghĩa là còn ∆k <1 thì ta lại tiếp tục quá trình
Chú ý: Trong bảng đơn hình ở bảng 1.1, không giảm tổng quát ta coi các
vector cơ sở được đánh số A1, A2, , Am, nghĩa là J = {1,2, , m}
r
z
x z
x
θ
Trang 19CHƯƠNG 2 BÀI TOÁN VẬN TẢI VÀ BÀI TOÁN VẬN TẢI MỞ RỘNG
2.1 Bài toán vận tải hai chỉ số
2.1.1 Phát biểu bài toán và tính chất
Có m địa điểm A1, A2, ., An cùng sản xuất một loại hàng hóa với các
cij - chi phí chuyên chở một đơn vị hàng từ điểm phát (i) đến điểm thu (j)
xij - lượng hàng chuyên chở từ (i) đến (j)
Bài toán đặt ra là: xác định những đại lượng xij cho mọi con đường (i,j) sao
cho tổng chi phí chuyên chở là nhỏ nhất với giả thiết là:
Tức là lượng hàng phát ra bằng đúng lượng hàng yêu cầu ở các điểm thu
(điều kiện cân bằng thu phát)
Dạng toán học của BTVT là:
Hệ rằng buộc (2.2), (2.3) có m + n phương trình, m x n ẩn, tuy nhiên do (I)
nên bất kỳ phương trình nào trong m + n phương trình cũng là hệ quả của các
∑∑
= =
→
m i n j ij
ij x c
1 1
) 1 2 ( min
n j j i j
i ij
m i
j ij
n j
i ij
I b a b
a
n j m i x
n j b x
m i a x
1 1
) (
; 0 ,
) 4 2 ( ,
1
; , 1 , 0
) 3 2 ( ,
1 ,
) 2 2 ( ,
1 ,
Trang 20phương trình còn lại và có thể bỏ đi Thật vậy, hệ rằng buộc có thể viết dạng
(2.5)
Giả sử ta cộng các phương trình từ thứ (m+1) tới thứ (m+n) rồi trừ đi tổng
các phương trình từ thứ (2) tới thứ (m) thì ta được phương trình thứ (1) Do đó
số phương trình cực đại của hệ (2.2), (2.3) không quá m + n-1
Một phương án đạt cực tiểu (2.6) gọi là phương án tối ưu
Một phương án X gọi là phương án cơ sở nếu vector cột Pij của ma trận A
tương ứng với các xij > 0 là độc lập tuyến tính
Định lý 2.1: BTVT luôn có phương án tối ưu
Chứng minh:
1) Trước hết ta chứng minh BTVT luôn có phương án
2) Sau đó chứng minh rằng miền rằng buộc giới nội
) 5 2 (
) (
.
) 2 (
) 1 (
.
) (
.
.
) 2 (
.
) 1 (
.
2 1
2 2
22 12
1 1
21 11
2 1
2 2
22 21
1 1
+
+
= +
+
+
= +
+ +
= +
+ +
= +
+ +
= +
+
+
n m
m m m
b x
x x
b x
x x
b x
x x
a x
x x
a x
x x
a x
x
x
n mn n
n
m m
m mn m
m
n n
) 7 2 (
) 6 2 ( ,
min
X
P AX
X C
Trang 21a) Đặt :
Ta thấy:
Lập thành một phương án, vì rằng xij ≥ 0
b) Vì các hệ số trong (2.2), (2.3) và các đại lượng ai, bj không âm và hữu
hạn nên mọi xij đều bị chặn trên Thực vậy xij không thể lớn hơn các số tương
ứng ai, bj
Vì vậy miền rằng buộc là khác rỗng và giới nội (đa diện lồi) Đa diện này
có 1 số hữu hạn đỉnh Theo thuật toán đơn hình, xuất phát từ một phương án cực
biên, sau một số hữu hạn bước ta phải đi tới một phương án cực biên tối ưu
Ngược lại là thoái hóa nếu |G| ≤ m+n-1
- Nếu một tập hợp con thực sự của G lập thành chu trình thì ta có một chu
trình con của G
n j m i S
b a
x ij = i j, = 1 , ; = 1 ,
n j b S
a b S
b a x
m i a S
b a S
b a x
j
m
i i j m
i
j i m
i ij
i
n j j i n
j
j i n
j ij
, 1 ,
, 1 ,
1 1
1
1 1
Trang 22Định lý 2.2: Hệ thống vector Pij của BTVT là độc lập tuyến tính khi và chỉ
khi các ô tương ứng với các vector của hệ thống không tạo thành chu trình
Chứng minh: Cần Ký hiệu Pij = { Pij (i,j) ∈ G} Giả sử Pij là hệ độc lập
tuyến tính, ta phải chứng minh G không lập thành chu trình
Bằng phản chứng, nếu có một chu trình tạo nên bởi các ô tương ứng với
một số vector của hệ Pij thì nó có dạng:
(i1,j1), (i1,j2), (i2,j2), (i2,j3), , (is,js+1) với js+1 = js
khi đó rõ ràng:
Pi1,j1 - Pi1j2 + Pi2j2 - - Pisjs - Pisj1 = 0
tức là hệ Pij phụ thuộc tuyến tính, mâu thuẫn với giả thiết
Đủ: Giả sử G không lập thành chu trình Ta phải chứng minh hệ Pij là độc
Nếu hệ Pij phụ thuộc tuyến tính, tức là có một tổ hợp tuyến tính của các
vector Pij bằng 0 Điều đó có nghĩa là trong thành phần của tổ hợp này ngoài
vector dạng Pi1j1, phải có các vector Pi1jk và vector Piej1 Nhưng điều đó chứng tỏ
rằng các ô {(i,j)} tương ứng với hệ thống Pij lập thành chu trình
Điều này trái với giả thiết Vậy hệ Pij là độc lập tuyến tính
Hệ quả: Vector X là phương án cực biên khi và chỉ khi tập các ô sử dụng
tương ứng không lập thành chu trình
Chứng minh: Coi BTVT là một QHTT thì X là phương án cực biên khi và
chỉ khi các vector Pij ứng với xij > 0 là độc lập tuyến tính, theo định lý 2.2 thì
điều đó xẩy ra khi và chỉ khi tập các ô sử dụng tương ứng không lập thành chu
trình
Định lý 2.3: Giả sử X là một phương án của BTVT và tập G của nó lập
thành chu trình, thế thì bao giờ cũng có thể điều chỉnh được X để chuyển sang
một phương án mới X’ không xấu hơn mà tập G’ không lập thành chu trình
Trang 23Chứng minh:
Giả sử K là một chu trình nào đó của G ta phân ra trong K tập các ô chẵn
K+ và tập các ô lẻ K- (xen kẽ nhau) Không giảm tổng quát có thể coi:
(nếu không ta quy ước lại các ô chẵn và lẻ trên K)
Ta chuyển X → X’ như sau:
Rõ ràng X’ vẫn còn là phương án của BTVT vì rằng:
Vì mỗi hàng hay cột chỉ chứa 2 ô sử dụng nên θ và (-θ) triệt tiêu nhau
Hàm mục tiêu không tăng vì
Do phép biến đổi (2.13) và θ xác định bởi (2.12), sẽ có một ô thuộc K
-trước đây xij > 0 bây giờ x’ij = 0 Ta loại ô đó ra khỏi G’ do đó khỏi K và phá
được chu trình K Nếu còn chu trình nào khác ta lại phá bằng cách tương tự Vì
vậy ta luôn có thể giả thiết rằng phương án đang xét có các ô sử dụng không lập
thành chu trình
Hệ quả: Mọi phương án X đều có thể chuyển về phương án cức biên X’
không xấu hơn X
2.1.2 Cách tìm phương án xuất phát
) 11 2 (
_ ) , ( )
, (
c j ij j
ij
) 13 2 ( )
, ( ,
) , ( ,
) , ( ,
+
K j i x
K j i x
K j i x
x ij ij ij
j ij
n
j
i ij ij
n j b x
m i a x
j i x
1 ' 1 ' '
, 1 ,
, 1 ,
) , ( , 0
) , ( ) (
'
,
) , (
' )
, (
'
X C K
x c K
c x
c x
c X
C
ij ij j
ij ij
Trang 24Một lần phân phối như vậy ta được một tải lượng xij > 0 và bỏ bớt đi được
một hàng (hoặc cột) của bảng T Bảng mới cuối cùng chỉ còn lại một ô (m, n) và
do cân bằng thu phát nên cực tiể đạt cả ở hàng, cả ở cột sau khi phân phối lượng
còn lại Do đó ta xóa cả cột n và hàng m đi Tổng số hàng và cột là m + n mỗi
lần phân phối bỏ đi được 1 hàng (hoặc cột), lần cuối cùng bỏ cả cột n và hàng m,
nên phương án thu được có không quá m + n - 1 ô sử dụng, không lập thành chu
trình, tức là có phương án cực biên
Phương pháp cước phí tối thiểu trong toàn bảng
Quá trình biến đổi và phân phối hoàn toàn giống như phương pháp trên chỉ khác
là trong mỗi bước ta không chọn ô ở góc tây bắc mà chọn ô có cước phí nhỏ
nhất trong toàn bảng
Phương pháp cực tiểu cước phí theo hàng
Bắt đầu từ hàng 1: Giả sử c1s = min cik, k = 1, , n
Phân phối xis = min(a1, bs)
Trang 25Nếu x1s = a1 thì xóa dòng 1 rồi tiếp tục quá trình từ dòng 2, b’s = bs - x1s
Nếu x1s = bs thì xóa cột s rồi tiếp tục quá trình, và lấy a’1 = a1 - x1s
Phương pháp cực tiểu cước phí theo cột
Tương tự như phương pháp trên, nhưng xuất phát từ cột thứ 1
Dùng các phương pháp trên để tìm phương án xuất phát, trong một số lớn
các trường hợp, số bước lặp dẫn tới nghiệm giảm đi khá nhiều, nhất là khi giải
BTVT mà số điểm phát và thu rất lớn
2.1.3 Thuật toán
Tiêu chuẩn tối ưu
Định lý 2.4: Phương án X của BTVT là tối ưu ⇔ ∃ các số ui, i = 1, , m và
a) Đủ: Giả sử các số ui, vj thỏa mãn (2.14), (2.15) Ta phải chứng minh
phương án X = (xij)mxn tương ứng là tối ưu Muốn vậy, phải chứng
Từ (2.17) và (2.18) ta có (2.16)
b) Cần:
) 17 2 ( )
( )
'
( =∑∑ ≥∑∑ + ' =∑ ∑ ' +∑ ∑ ' =∑ +∑
j j j i
i i i
ij j
j j
ij i
i
i j
ij j i
i j
ij
c X
f
) 18 2 ( )
( )
( =∑∑ ' =∑ ∑ + =∑ +∑
j j j
i i j
ij j i
i j
ij
c x
f
(xij > 0 )
Trang 26Xét bài toán đối ngẫu của BTVT
Giả sử (T) có phương án tối ưu x ⇒ theo định lý đỗi ngẫu bài toán (T’) có
lời giải z = (u1, ,um,v1, ,vn) tức là ∃z Vìz là phương án tối ưu, tức
Bước 2: Kiểm tra phương án:
Nếu các ô sử dụng lập thành chu trình thì ta sử dụng định lý (2.3) để phá chu
trình, chuyển phương án xuất phát về phương án cực biên
Xác định hệ thống các thế vị ui, vj theo định lý 2.4 (công thức 2.15)
Vì giả thiết bài toán không thoái hóa nên tập G = {(i,j) | xij >0} có đúng
m +n -1 ô, do đó có m +n - 1 phương trình
Để xác định m + n ẩn ui (i=1, , m), vj (j=1, , n) Như vậy sẽ có một ui
hoặc một vj được xác định tùy ý và m + n -1 ẩn còn lại sẽ xác định duy nhất từ
i
n j j j i
c v u T x
b x
a x
ij
i
j ij j
i ij
, 1
; , 1 ) ' ( 0
)
(
Trang 27- Sau đó xác định vj = cij - ui0 cho những cột cắt dòng i0 ở một ô sử dụng
Bằng quy tắc đó ta xác định được ui và vj cho mọi dòng và cột
Với mọi ô (i,j) ∈G ta xác định các ước lượng sau đây: ∆ij sau đây:
∆ij = (ui + vj) - cij
- Nếu ∆ij ≤ 0, ∀(i,j) thì phương án đã cho là tối ưu
- Nếu ∆ij > 0 với ít nhất 1 ô (i,j) thì phương án đã cho chưa tối ưu, ta có
thể điều chỉnh để hạ nữa hàm mục tiêu
Bước 3: Điều chỉnh phương án Giả sử ô vi phạm tiêu chuẩn tối ưu là (i,j)
tức là ∆i*j* >0 (nếu có nhiều ô vi phạm ta chọn ô ứng với max ∆ij với hy vọng
hàm mục tiêu giảm nhanh nhất)
Ô (i*,j*) ∈G Bây giờ ta thêm ô (i*,j*) vào tập G Khi đó tất cả m + n ô sử
dụng Ô (i*,j*) sẽ lập với các ô của G một chu trình K duy nhất Coi ô (i*,j*) là ô
chẵn, tức là (i*,j*) ∈K+ Ta điều chỉnh phương án X để nhận được phương án X’
mà tập G’ không lập thành chu trình ta loại khỏi chu trình 1 ô sử dụng ứng với
cực tiểu của (4.1), giả sử là ô (is,js) (Điều chỉnh theo công thức(2.13))
Đặt xi*j* = xisjs = θ > 0
Do đó ô (i*,j*) trở thành ô sử dụng
G’ = G \ (is,js) ∪ (i*,j*) vẫn gồm m + n -1 không lập thành chu trình
Ta xác định hệ thống thế vị mới ứng với phương án X’ và G’ và tiếp tục
quá trình cho đến khi nào xẩy ra tình huống ∆ij ≤ 0, ∀(i,j) ⇒ lúc đó ta nhận được
phương án tối ưu
Nếu bài toán không thoái hóa thì sau một số hữu hạn bước ta sẽ đi đến lời
giải
Chú ý: Nếu số ô sử dụng N < m +n - 1 thì thêm (m +n -1) - N ô mới với xij
=0 sao cho không tạo thành chu trình
Trang 28Bước 1 Tìm phương án xuất phát bằng phương pháp cực tiểu cước phí
trong toàn bảng Ta được phương án cực biên X (Bảng 2.1)
Bước 2 Phương án X không thoái hóa vì G = m + n - 1 = 6
=
= + +
=
n
j j
m i i
b a
1
1
120 25 40 25 30
120 55 45 20
Trang 292.2 Bài toán vận tải ba chỉ số(Solid Transpotion Problem)
2.2.1 Phát biểu bài toán
Trang 30Một loạt sản phẩm đồng đều được vận chuyển từ một trong m nguồn phát
tới một trong n nguồn thu Các nguồn phát có thể là các nơi sản xuất, các kho
hàng, hoặc các điểm cung cấp được đặc trưng bởi lượng hàng phát ai,, i=1 ,m
Nguồn thu là các nơi tiêu thụ, hoặc các nơi có nhu cầu được đặc trưng bởi mức
độ yêu cầu bj, j=1, ,n
Đặt e k , k=1, ,l là số lượng sản phẩm có thể vận chuyển được bởi một
trong l phương án khác nhau hay các phương tiện vận chuyển khác nhau
cijk ≥ 0 là chi phí vận chuyển một đơn vị sản phẩm từ trạm phát i tới trạm
thu j bằng phương tiện k
Mục đích đặt ra của bài toán là cần xác định tất cả các lượng sản phẩm x iịk
được vận chuyển từ tất cả các nguồn phát i tới tất cả các nguồn thu j bởi mỗi
phương thức vận chuyển k để cho tổng chi phí vận chuyển là nhỏ nhất
Về mô hình toán học bài toán STP được phát biểu như sau:
Xác định các số xijk ≥ 0 thoả hàm mục tiêu và các ràng buộc sau:
Với các ràng buộc:
Ta có nhận xét mô hình của bài toán STP là dạng tổng quát của mô hình bài
toán vận tải hai chỉ số thông thường TP (Transport Problem) nếu chúng ta chỉ
nghiên cứu trong một phương thức vận chuyển duy nhất (l=1).
2.2.2 Một số định nghĩa cơ bản
i) Một bộ giá trị {xijk} i=1, , m, j=1, , n, k=1, , l thoả mãn các ràng
buộc được gọi là một phương án của bài toán
ii) Một phương án mà hệ thống các vector hệ số ứng với các toạ độ dương
độc lập tuyến tính gọi là 1 phương án tựa (phương án cực biên)
j l
k ijk ijk x c
1 1 1
20 2 min
l k e x
n j b x
m i a x
ijk
k m
i n j ijk
j m
i l
k ijk
n j l k
i ijk
, ,
; 0
, 1
;
, 1
;
, 1
;
1 1
1 1
1 1
Trang 31iii) Một phương án tựa mà số các toạ độ dương đúng bằng hạng của ma
trận hệ số gọi là một phương án tựa không suy biến
iv) Một phương án làm cực tiểu hàm chi phí được gọi là một phương án tối
ưu
v) Ta gọi một tập hợp các ô (i,j,k) tạo thành một vòng nếu các vector hệ số
Pijk tương ứng là phụ thuộc tuyến tính, nhưng nếu bớt đi một vector thì chúng trở
thành độc lập tuyến tính Các ô(i,j,k) đó gọi là đỉnh của vòng
vi) Một tập hợp các ô(i,j,k) không tạo thành vòng nếu các vector hệ số Pijk
viii) Đối với một phương án x ={xijk, i=1, , m, j=1, , n, k=1, , l} ta gọi
ô (i,j,k) là ô chọn nếu xijk tương ứng>0, là ô loại nếu xijk tương ứng =0
Chú ý:
Một phương án x={xijk} là phương án tựa khi và chỉ khi các ô của phương
án này không tạo thành vòng
- Một ô (i0,j0,k0) được loại khỏi vòng khi và chỉ khi αi0j0k0= 0 trong hệ
∑Pijk αiịk=0
2.2.3 Điều kiện để bài toán có phương án
Định lý: Điều kiện cần và đủ để bài toán có phương án là:
j j m
i
a
1 1
1
Trang 32Tương tự như vậy ⇒ đpcm
Số phương trình đôc lập tuyến tính của bài toán là m+ n+ l-2
2.2.4 Xây dựng phương án xuất phát
Trong bài toán này ta sử dụng phương pháp góc Tây Bắc
Ta bắt đầu phân phối vào ô (1,1,1) lượng sản phẩm:
x111= min {a1,b1,e1}
Không mất tính tổng giá sử x111= a1
Ghi số 0 vào các ô(i, j, k)mà Pijk tương ứng có toạ độ bằng 1 ở cùng hàng
với a1(với số min)
Tính lượng hàng còn lại: a1= a1- a1, b1=b1-a1, e1=e1-a1
A e b
a m i
n j
l k k j
x ijk = i j k
2
0 0
A
e b a
x i jk = i j k
0 2
j l k
k j i n
j
l k jk
A
e b a A
e b a
k k l
k m i n j ijk
m i n j l k ijk n
j j n
j m i l k ijk
m
i n
j l
k ijk m
i i m
j n
j l
k ijk
x e
x
x b
x
x a
x
1 1 1 1
1 1 1
1 1 1 1
1 1 1
1 1 1 1
1 1 1
Trang 33Bước tiếp theo ta xét ô kề với ô (1,1,1) mà trị số của biến chưa xác định trị
số Bước tổng quát: xijk=min {ai,bj,ek}
2.2.5 Thuật toán
*Xây dựng phương án xuất phát như trên
Đặt T={{{{i, j, k): xijk là biến cơ sở (xijk>0)}}}}, khi đó T gồm đúng (m+n+l-2) ô
*Tính các thế vị: Tìm hệ thống số u i,
thoả mãn u i + v j + w k = c ijkVới mọi (i, j, k)∈ T
Do số phương trình là(m+n+l-2) có m+n+l ẩn do đó đặt u1= 0, v1=0
*Kiểm tra tối ưu: Nếu ∆ijk=( ui+ vj+ wk)- cijk ≤ 0 mọi ô (i,j,k)∈T thì dừng,
bài toán đã giải xong Ngược lại chuyển sang bước điều chỉnh phương án
*Điều chỉnh: Tìm ô (r,s,t) thoả mãn:
∆rst =max {{{{∆ijk : (i,j,k) ∈T }}}} >0
Tìm các hệ số: yijk với (i,j,k) ∈T thoả
∑
∈ ,
efg
y y
x y
x h
T k j i hy x
t s r u T k j i x
ijk ijk
, , , ,
, ,
, , ,
, '
'
l k w n j v m
i= 1 , ; j, = 1 , , k, = 1 ,
Trang 3616 -24.67 0 -12.67 0
0 -4.33 0 -4.33 -3.67 0 -5.67 -9
10 -14 -16.33 0 -8.33
Bảng delta
6
Trang 37Nhìn vào bảng delta 7, ta thấy các giá trị đều nhỏ hơn hoặc bằng 0, do đó ta
có phương án tối ưu là: x111= 6, x143=5, x213=1, x222=4, x233=3, x242=8, x321=4,
x333=6
Giá trị của hàm mục tiêu tương ứng với phương án tối ưu trên là 115
2.3 Bài toán vận tải ba chỉ số có hạn chế khả năng thông qua
2.3.1 Phát biểu bài toán
Bài toán vận tải ba chỉ số có hạn chế khả năng thông qua được phát biểu
tương tự như bài toán không hạn chế khả năng thông qua nhưng có thêm lượng
hạn chế d ijk ở mỗi ô Về mô hình toán học bài toán được phát biểu như sau:
l k
e x
n j
b x
m i
a x
ijk ijk
k m
i n j ijk
j m
i l k ijk
n j l k
i ijk
, ,
; 0
, , 1
;
, , 1
;
, , 1
l k ijk ijk x c
Trang 38Điều kiện cần nhưng không đủ để bài toán là giải được là:
2.3.3 Thuật toán
Ta có thể giải tương tự như trong quy hoặc tuyến tính với các biến bị chặn
trên Nội dung:
- Xây dựng phương án cực biên xuất phát xijk thoả mãn các rằng buộc Đặt
T={(i,j,k): xijjk là cơ sở} Phân loại các ô không thuộc T thành hai loại
T0= {(i,j,k) ∉T : xijk = 0} và Td = {(i,j,k) ∉T : xijk = 0}
- Tính các thế vị: Tìm hệ thống số ui (i=1, , m), vj, (j=1, , n) và
wk (k=1, , l) thoả mãn ui + vj + wk = cijk với mọi (i,j,k) ∈T
- Kiểm tra điều kiện tối ưu: Tính c’ijk = cijk - (ui + vj + wk) với mọi
(i,j,k) ∈ T ∪ T0 và c’ijk = ui + vj + wk - cijk với mọi (i,j,k)∈ Td Nếu c’ijk ≥ 0
với mọi ô (i,j,k) thì dừng: bài toán đã giải song Nếu trái lại, chuyển sang
bước điều chỉnh phương án
- Điều chỉnh: Tìm ô (r,s,t) thoả mãn
c’rst = min{ c’ijk : (i,j,k) ∉ T} < 0
Tìm các hệ số yijk với (i,j,k) ∈ T thoả mãn
trong đó Pijk là vector điều kiện của bài toán
Xác định hắng số biến đổi: h = min(h1, h2) với
b e
b a
j m
i n j ijk
n
j j l
k k
m i
n j j i
, 1 ,
1 1
1 1
d ijk
ijk
ijk rst
ijk ijk
ijk rst
T t s r y
y
x h
x
h
T t s r y
y
x h
: min
,
) , , ( 0
: min ,
2 1
0 2
nếu
rst T
k j
ijk ijk y P
∑
∈ ) , (
Trang 39ijk ijk
ijk ijk
T t s r h
x
T t s r h
x
T k j i hy x
t s r T k j i x
x
) , , (
) , , (
) , , (
) , , ( )
, , (
0 '
'
nếnế
Trang 40Gía trị của hàm mục tiêu là 125
2.4 Bài toán vận tải ba chỉ số khoảng(Interval Solid Transpotion Problem)
2.4.1 Phát biểu bài toán(ISTP)
Bài toán ISTP được phát biểu như sau:
Với các rằng buộc:
Trong đó: Ai = [ai1, ai2 ], i=1, , m; Bj = [bj1, bj2 ], j=1, , n, Ek = [ek1, ek2 ],
e=1, , l là các khoảng giá trị tương ứng lượng cung cấp, lượng nhu câu, khả
năng vận chuyển
Quan hệ “= 1” được định nghĩa như sau:
Do đó, w = 1[a,b] khi và chỉ khi w và bài toán (2.22) có thể viết lại như sau:
∑∑∑
= = =
m
i n
j l
k ijk ijk x c Min
1 1 1
) 22 2 (
, , , 0
, 1 ,
, 1 ,
, 1 ,
1 1
1 1
1 1
1 1 1
l k E x
n j B x
m i A x
ijk
m
i l
ijk
m i l
ijk
n
j l
j l
k ijk ijk x c Min
1 1 1