<< Chapter < Page Chapter >> Page >
c B 2 size 12{c rSub { size 8{B rSub { size 6{2} } } } } {} i B 2 size 12{i rSub { size 8{B rSub { size 6{2} } } } } {} y 1 size 12{y rSub { size 8{1} } } {} y 2 size 12{y rSub { size 8{2} } } {} y 3 size 12{y rSub { size 8{3} } } {} y 4 size 12{y rSub { size 8{4} } } {} y 5 size 12{y rSub { size 8{5} } } {} y 6 size 12{y rSub { size 8{6} } } {} b ¯ 2 size 12{ {overline {b}} rSub { size 8{2} } } {}
0 4 0 214 37 size 12{ { {"214"} over {"37"} } } {} 0 1 32 37 size 12{ - { {"32"} over {"37"} } } {} 7 37 size 12{ { {7} over {"37"} } } {} 12 37 size 12{ { {"12"} over {"37"} } } {}
1 3 0 26 37 size 12{ - { {"26"} over {"37"} } } {} 1 0 7 37 size 12{ { {7} over {"37"} } } {} 5 37 size 12{ - { {5} over {"37"} } } {} 2 37 size 12{ { {2} over {"37"} } } {}
1 1 1 46 37 size 12{ { {"46"} over {"37"} } } {} 0 0 1 37 size 12{ - { {1} over {"37"} } } {} 6 37 size 12{ { {6} over {"37"} } } {} 5 37 size 12{ { {5} over {"37"} } } {}
c T size 12{c rSup { size 8{T} } } {} 1 1 1 0 0 0 z 2 size 12{z rSub { size 8{2} } } {}
c ¯ 2 T size 12{ {overline {c}} rSub { size 8{2} } rSup { size 8{T} } } {} 0 17 37 size 12{ { {"17"} over {"37"} } } {} 0 0 6 37 size 12{ - { {6} over {"37"} } } {} 1 37 size 12{ - { {1} over {"37"} } } {} 7 37 size 12{ { {7} over {"37"} } } {}
c B 3 size 12{c rSub { size 8{B rSub { size 6{3} } } } } {} i B 3 size 12{i rSub { size 8{B rSub { size 6{3} } } } } {} y 1 size 12{y rSub { size 8{1} } } {} y 2 size 12{y rSub { size 8{2} } } {} y 3 size 12{y rSub { size 8{3} } } {} y 4 size 12{y rSub { size 8{4} } } {} y 5 size 12{y rSub { size 8{5} } } {} y 6 size 12{y rSub { size 8{6} } } {} b ¯ 3 size 12{ {overline {b}} rSub { size 8{3} } } {}
1 2 0 1 0 37 214 size 12{ { {"37"} over {"214"} } } {} 16 107 size 12{ - { {"16"} over {"107"} } } {} 7 214 size 12{ { {7} over {"214"} } } {} 6 107 size 12{ { {6} over {"107"} } } {}
1 3 0 0 1 13 107 size 12{ { {"13"} over {"107"} } } {} 9 107 size 12{ { {9} over {"107"} } } {} 12 107 size 12{ - { {"12"} over {"107"} } } {} 10 107 size 12{ { {"10"} over {"107"} } } {}
1 1 1 0 0 23 107 size 12{ - { {"23"} over {"107"} } } {} 17 107 size 12{ { {"17"} over {"107"} } } {} 13 107 size 12{ { {"13"} over {"107"} } } {} 7 107 size 12{ { {7} over {"107"} } } {}
c T size 12{c rSup { size 8{T} } } {} 1 1 1 0 0 0 z 3 size 12{z rSub { size 8{3} } } {}
c ¯ 3 T size 12{ {overline {c}} rSub { size 8{3} } rSup { size 8{T} } } {} 0 0 0 17 214 size 12{ - { {"17"} over {"214"} } } {} 10 107 size 12{ - { {"10"} over {"107"} } } {} 9 214 size 12{ - { {9} over {"214"} } } {} 23 107 size 12{ { {"23"} over {"107"} } } {}

Phương án tối ưu của bài toán (P) là :

1 g 2 = 23 107 y 1 = q 1 g 2 = 7 107 y 2 = q 2 g 2 = 6 107 y 3 = q 3 g 2 = 10 107 suy ra g 2 = 107 23 q 1 = 7 23 q 2 = 6 23 q 3 = 10 23 { { { size 12{alignl { stack { left lbrace { {1} over {g rSub { size 8{2} } } } = { {"23"} over {"107"} } {} #right none left lbrace y rSub { size 8{1} } = { {q rSub { size 8{1} } } over {g rSub { size 8{2} } } } = { {7} over {"107"} } {} # right none left lbrace y rSub { size 8{2} } = { {q rSub { size 8{2} } } over {g rSub { size 8{2} } } } = { {6} over {"107"} } {} #right none left lbrace y rSub { size 8{3} } = { {q rSub { size 8{3} } } over {g rSub { size 8{2} } } } = { {"10"} over {"107"} } {} # right no } } lbrace " suy ra "alignl { stack {left lbrace g rSub { size 8{2} } = { {"107"} over {"23"} } {} # right none left lbrace q rSub { size 8{1} } = { {7} over {"23"} } {} #right none left lbrace q rSub { size 8{2} } = { {6} over {"23"} } {} # right none left lbrace q rSub { size 8{3} } = { {"10"} over {"23"} } {} #right no } } lbrace } {}

Phương án tối ưu của bài toán đối ngẫu (D) được tính bằng công thức sau : x T = x 1 x 2 x 3 = c B T B 1 = 1 1 1 37 214 16 107 7 214 13 107 9 107 12 107 23 107 17 107 13 107 = 17 214 10 107 9 214 alignl { stack { size 12{x rSup { size 8{T} } = left [ matrix {x rSub { size 8{1} } {} # x rSub { size 8{2} } {} # x rSub { size 8{3} } {} } right ]=c rSub { size 8{B} } rSup { size 8{T} } B rSup { size 8{ - 1} } = left [ matrix { 1 {} # 1 {} # 1{}} right ] left [ matrix {{ {"37"} over {"214"} } {} # - { {"16"} over {"107"} } {} # { {7} over {"214"} } {} ## { {"13"} over {"107"} } {} # { {9} over {"107"} } {} # - { {"12"} over {"107"} } {} ##- { {"23"} over {"107"} } {} # { {"17"} over {"107"} } {} # { {"13"} over {"107"} } {} } right ]} {} # " "= left [ matrix {{ {"17"} over {"214"} } {} # { {"10"} over {"107"} } {} # { {9} over {"214"} } {} } right ]{} } } {}

w = 1 g 1 = b T x = 1 1 1 17 214 10 107 9 214 = 23 107 size 12{w= { {1} over {g rSub { size 8{1} } } } =b rSup { size 8{T} } x= left [ matrix { 1 {} # 1 {} # 1{}} right ] left [ matrix {{ {"17"} over {"214"} } {} ## { {"10"} over {"107"} } {} ##{ {9} over {"214"} } } right ]= { {"23"} over {"107"} } } {}

Ta có :

w = 1 g 1 = 23 107 x 1 = p 1 g 1 = 17 214 x 2 = p 2 g 1 = 10 107 x 3 = p 3 g 1 = 9 214 suy ra g 1 = 107 23 p 1 = 17 46 p 2 = 10 23 p 3 = 9 46 { { { size 12{alignl { stack { left lbrace w= { {1} over {g rSub { size 8{1} } } } = { {"23"} over {"107"} } {} #right none left lbrace x rSub { size 8{1} } = { {p rSub { size 8{1} } } over {g rSub { size 8{1} } } } = { {"17"} over {"214"} } {} # right none left lbrace x rSub { size 8{2} } = { {p rSub { size 8{2} } } over {g rSub { size 8{1} } } } = { {"10"} over {"107"} } {} #right none left lbrace x rSub { size 8{3} } = { {p rSub { size 8{3} } } over {g rSub { size 8{1} } } } = { {9} over {"214"} } {} # right no } } lbrace " suy ra "alignl { stack {left lbrace g rSub { size 8{1} } = { {"107"} over {"23"} } {} # right none left lbrace p rSub { size 8{1} } = { {"17"} over {"46"} } {} #right none left lbrace p rSub { size 8{2} } = { {"10"} over {"23"} } {} # right none left lbrace p rSub { size 8{3} } = { {9} over {"46"} } {} #right no } } lbrace " "} {}

Bài toán vận tải

Mở đầu

Bài toán vận tải là bài toán quan trọng nhất trong các bài toán quy hoạch tuyến tính. Người ta tổng kết rằng 85% các bài toán quy hoạch tuyến tính gặp trong ứng dụng là bài toán vận tải hoặc mở rộng của nó. Thuật ngữ bài toán vận tải thường được hiểu là bài toán vận chuyển sao cho cước phí nhỏ nhất.

Các khái niệm cơ bản

Bài toán vận tải được mô tả như là một bài toán về dòng dữ liệu gồm tập hợp các nút N được chia thành hai phần rời nhau : các nút nguồn S và các nút đích D, tức là :

N = S D S D = { size 12{alignl { stack { left lbrace N=S union D {} #right none left lbrace S intersection D= emptyset {} # right no } } lbrace } {}

và mỗi cung (i,j) trong tập các cung A đều có gốc trong S và có ngọn trong D.

S:Các nút nguồnD:Các nút đích

Các nút thuộc S được gọi là các nút nguồn (cung), các nút thuộc D được gọi là các nút đích (cầu). Một cách tổng quát, bài toán vận tải trình bày được bằng đồ thị.

Ở bài toán vận tải đôi khi còn có thêm giả thiết nữa là mỗi nút nguồn đều có cung nối với mọi nút đích. Ở đây ta chỉ đề cập đến bài toán vận tải có thêm giả thiết này và sẽ gọi tắt là bài toán vận tải.

Đối với bài toán vận tải người ta thường ký hiệu

si  S là nguồn phát ở nút i(i=1m)

dj  D là nhu cầu thu của nút j (j=1n)

Trong trường hợp các nguồn phát không chuyển hết sang các nút cầu vì đã đủ nhu cầu thì bài toán vận tải được gọi là bài toán vận tải mở. Có thể đưa một bài toán vận tải mở về một bài toán vận tải (đóng) bằng cách thêm vào một nút cầu giả thứ (n+1) với nhu cầu được xác định như sau : 

d n + 1 = i = 1 m s i j = 1 n d j size 12{d rSub { size 8{n+1} } = Sum cSub { size 8{i=1} } cSup { size 8{m} } {s rSub { size 8{i} } } - Sum cSub { size 8{j=1} } cSup { size 8{n} } {d rSub { size 8{j} } } } {}

Bài toán vận tải cân bằng thu phát

a- Thiết lập bài toán

Có m nơi A1, A2,....,Am cung cấp một loại hàng với khối lượng tương ứng là a1, a2,....,am. Hàng được cung cấp cho n nơi B1, B2,...., Bn với khối lượng tiêu thụ tương ứng là b1, b2,....,bn.

Cước phí chuyên chở một đơn vị hàng từ điểm phát Ai đến điểm thu Bj là cij .

Hãy lập kế hoạch vận chuyển từ mỗi điểm phát đến mỗi điểm thu bao nhiêu hàng để :

- Các điểm phát đều phát hết hàng

- Các điểm thu đều nhận đủ hàng

- Tổng cước phí phải trả là ít nhất

Gọi xij là lượng hàng chuyển từ điểm phát Ai đến điểm thu Bj , xij  0 .

Vì tổng lượng hàng phát đi từ mỗi điểm phát Ai đến mọi điểm thu Bj bằng lượng hàng phát từ Ai nên :

x i1 + x i2 + . . . . + x in = a i ( i = 1,2, . . . ,m ) size 12{x rSub { size 8{i1} } +x rSub { size 8{i2} } + "." "." "." "." +x rSub { size 8{ ital "in"} } =a rSub { size 8{i} } " " \( i="1,2," "." "." "." ",m" \) } {}

Vì tổng lượng hàng thu được tại mỗi điểm thu Bj từ mọi điểm phát Ai bằng lượng hàng cần thu tại Bj nên :

x 1j + x 2j + . . . . + x mj = b ji ( j = 1,2, . . . , n ) size 12{x rSub { size 8{1j} } +x rSub { size 8{2j} } + "." "." "." "." +x rSub { size 8{ ital "mj"} } =b rSub { size 8{ ital "ji"} } " " \( j="1,2," "." "." "." ", n" \) } {}

Để tổng cước phí là ít nhất cần phải có :

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Quy hoạch tuyến tính. OpenStax CNX. Aug 08, 2009 Download for free at http://cnx.org/content/col10903/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Quy hoạch tuyến tính' conversation and receive update notifications?

Ask