Uploaded by Kha Phạm Nguyễn Chúc

Tổng hợp BTL PPDL

advertisement
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA QUẢN LÝ CÔNG NGHIỆP
BÀI TẬP LỚN
Bộ môn: Phương Pháp Định Lượng
ỨNG DỤNG GIẢI BÀI TOÁN VẬN TẢI
MSSV
Họ tên sinh viên
Đánh giá mức độ hoàn thành công việc
2012718
Đậu Thị Kim Chi
100%
2015073
Phan Hữu Vinh
100%
2013415
Phạm Nguyễn Chúc Kha
100%
2013628
Nguyễn Đặng Trúc Linh
100%
2013894
Nguyễn Thị Ánh Ngọc
100%
Giảng viên: Võ Thị Ngọc Trân
1
MỤC LỤC
MỤC LỤC .................................................................................................................... 1
Chương 1. CƠ SỞ LÝ THUYẾT .............................................................................. 2
1.1. Bài toán quy hoạch tuyến tính ............................................................................ 2
1.1.1. Khái niệm ............................................................................................................ 2
1.1.2. Bài toán quy hoạch tổng quát .............................................................................. 2
1.1.3. Một số mô hình thực tế ....................................................................................... 2
1.2 Phương pháp giải Bài toán quy hoạch tuyến tính .............................................. 5
1.2.1 Nghiệm khả dĩ ...................................................................................................... 5
1.2.2 Phương pháp đồ thị .............................................................................................. 5
1.3 Bài toán vận tải ...................................................................................................... 5
1.3.1 Khái niệm ............................................................................................................. 5
1.3.2 Thiết lập Bài toán vận tải ..................................................................................... 6
1.3.3 Phương pháp giải bài toán vận tải ........................................................................ 8
Chương 2. ỨNG DỤNG GIẢI BÀI TOÁN VẬN TẢI .......................................... 10
2.1 Bài toán................................................................................................................. 10
2.2 Giải bài toán vận tải ............................................................................................ 10
2.2.1 Tìm nghiệm ban đầu........................................................................................... 12
2.2.2 Tìm nghiệm tối ưu .............................................................................................. 17
2.2.3 Giải bài toán bằng cách sử dụng Solver ............................................................. 27
TÀI LIỆU THAM KHẢO ........................................................................................ 32
1
Chương 1. CƠ SỞ LÝ THUYẾT
1.1. Bài toán quy hoạch tuyến tính
1.1.1. Khái niệm
Quy hoạch tuyến tính (linear programming _ LP) là bài toán tối ưu hoá, trong đó
hàm mục tiêu (objective function) và các ràng buộc đều là hàm tuyến tính.
1.1.2. Bài toán quy hoạch tổng quát
Xác định véctơ X = (𝑥 1, 𝑥 2, …, 𝑥 n) sao cho:
Cực đại (hay Cực tiểu) hàm mục tiêu Z:
Z = z (𝑥 1, 𝑥 2, …, 𝑥 n)
(1)
Đồng thời thỏa mãn các ràng buộc Rj :
Rj = rj (𝑥 1, 𝑥 2, …, 𝑥 n)
(2)
Trong đó, z và rj là biểu thức tuyến tính đối với 𝑥 1, 𝑥 2, …, 𝑥 n .
- Hàm Z gọi là hàm mục tiêu, các điều kiện (2) gọi là các điều kiện buộc của bài
toán.
- Mỗi véctơ X = (𝑥 j) ∈ Rn thỏa mãn hệ điều kiện buộc gọi là một phương án.
- Một phương án làm cực đại (hoặc cực tiểu) hàm mục tiêu gọi là phương án tối
ưu (hoặc gọi là nghiệm) của bài toán.
1.1.3. Một số mô hình thực tế
Bài toán phối hợp sản xuất
Một trại cưa cưa các khúc gỗ thành các tấm ván. Có hai loại ván: ván thành phẩm
và ván sử dụng trong xây dựng. Giả sử, đối với ván thành phẩm cần 2 giờ để cưa và 5
giờ để bào 10m ván, đối với ván dùng trong xây dưng cần 3 giờ để cưa và 3 giờ để bào
10m. Máy cưa làm việc tối đa 8 giờ trong ngày, và máy bào làm việc tối đa 15 giờ trong
ngày. Nếu lợi nhuận của 10m ván thành phẩm là 120 (ngàn đồng), và lợi nhuận của 10m
ván xây dựng là 100 (ngàn đồng). Trong ngày, trại cưa phải cưa bao nhiêu ván mỗi loại
để lợi nhuận lớn nhất?
Loại
Thành phẩm
Xây dựng
(x1)
(x2)
Cưa
2
3
8
Bào
5
3
15
Thời gian
2
Dự trữ
Lợi nhuận
120
100
Gọi 𝑥1 ; 𝑥2 ≥ 0 là lượng ván thành phẩm và ván sử dụng trong xây dựng.
Tổng lợi nhuận:
Z = 120𝑥1 + 100𝑥2
Khi đó 𝑥1 , 𝑥2 thỏa điều kiện thời gian làm việc máy cưa
2𝑥1 + 3𝑥2 ≤ 8
Và điều kiện về thời gian làm việc máy bào
5𝑥1 + 3𝑥2 ≤ 15
Tóm lại cần tìm 𝑥1 , 𝑥2 sao cho
Hàm mục tiêu
Z= 120𝑥1 + 100𝑥2 → 𝑚𝑎𝑥
Với các ràng buộc
{
2𝑥1 + 3𝑥2 ≤ 8
5𝑥1 + 3𝑥2 ≤ 15
𝑥1 ≥ 0, 𝑥2 ≥ 0
Bài toán trộn sản phẩm/dinh dưỡng
Chuyên gia dinh dưỡng định thành lập một thực đơn gồm 2 loại thực phẩm chính
A và B. Cứ một (trăm gram):
- Thực phẩm A chứa 2 đơn vị chất béo, 1 đơn vị carbohydrate và 4đơn vị protein.
-Thực phẩm B chứa 3 đơn vị chất béo, 3 đơn vị carbohydrate và 3đơn vị protein.
Nếu một (trăm gram) thực phẩm A giá 20 (ngàn đồng) và một (trăm gram) thực phẩm
B giá 25 (ngàn đồng). Nhà dinh dưỡng muốn thức ăn phải cung cấp ít nhất 18 đơn vị
chất béo, 12 đơn vị carbohydrate và 24 đơn vị protein. Bao nhiêu (trăm gram) thực phẩm
mỗi loại để có giá nhỏ nhất nhưng vẫn cung cấp đủ dinh dưỡng?
Loại
Thực phẩm A
Thực phẩm B
Dưỡng chất
(x1)
(x2)
yêu cầu
Chất béo
2
3
18
Carbohydrate
1
3
12
Protein
4
3
24
Giá mua
20
25
Thành phần
Gọi lần 𝑥1 , 𝑥2 lượt là lượng thục phẩm A và B.
Tổng số tiền mua 𝑥1 , 𝑥2 thực phẩm A và B là
3
𝑍 = 20𝑥1 + 25𝑥2
Yêu cầu lượng thực phẩm phải đảm bảo đủ các dưỡng chất
Chất béo:
2𝑥1 + 3𝑥2 ≥ 18
𝑥1 + 3𝑥2 ≥ 12
Carbohydrate:
4𝑥1 + 3𝑥2 ≥ 24
Protein:
Tóm lại cần tìm 𝑥1 , 𝑥2 sao cho
Hàm mục tiêu
𝑍 = 20𝑥1 + 25𝑥2 → 𝑚𝑖𝑛
2𝑥1 + 3𝑥2 ≥ 18
{ 𝑥1 + 3𝑥2 ≥ 12
4𝑥1 + 3𝑥2 ≥ 24
Với các ràng buộc
𝑥1 ≥ 0, 𝑥2 ≥ 0
Bài toán vận tải
Một nhà sản xuất có 2 nhà máy: Một nhà máy ở Vĩnh Phúc và một nhà máy ở Bình
Dương. Có 3 kho hàng phân phối sản phẩm đặt ở Hà Nội, TP. HCM và Cần Thơ. Nhà
máy ở Vĩnh phúc; Bình Dương, có khả năng cung cấp tối đa 100; 140 tấn mỗi tuần.
Lượng cầu của các kho ở Hà Nội, TP. HCM và Cần Thơ lần lượt từ 100;60 và 80 tấn
trở lên. Chi phí vận chuyển (trăm ngàn) mỗi tấn cho như bảng bên dưới. Hỏi cần vận
chuyển bao nhiêu tấn hàng hóa từ nhà sản xuất đến các kho hàng ở Hà Nội, TP.HCM
và ở cần thơ để chi phí nhỏ nhất nhưng vẫn đáp ứng đủ nhu cầu?
Trạm
Hà Nội
TP.HCM
Cần Thơ
W1 = 100
W2 = 60
W3 = 80
Vĩnh Phúc (Q1 =100)
5
7
9
Bình
8
7
10
thu
Trạm phát
Dương
(Q2
=140)
Gọi 𝑥𝑖𝑗 là lượng hàng vận chuyển từ trạm phát thứ i; i = 1, 2 đến trạm thu thứ j; j
= 1, 2, 3. Tổng chi phí vận chuyển
𝑍 = 𝑥11 + 𝑥12 + ⋯ + 𝑥23
Trạm phát thì phát hết hàng và trạm thu thì nhận đủ hàng:
4
Trạm phát 1 phát hết hàng: 𝑥11 + 𝑥12 + 𝑥13 = 100
(1)
Trạm phát 2 phát hết hàng: 𝑥21 + 𝑥22 + 𝑥23 = 140
(2)
Trạm thu 1 thu đủ hàng:
𝑥11 + 𝑥21 = 100
(3)
Trạm thu 2 thu đủ hàng:
𝑥12 + 𝑥22 = 60
(4)
Trạm thu 3 thu đủ hàng:
𝑥13 + 𝑥23 = 80
(5)
Vậy ta cần tìm 𝑥𝑖𝑗 sao cho
Hàm mục tiêu
𝑍 = 𝑥11 + 𝑥12 + ⋯ + 𝑥23 → 𝑚𝑖𝑛
Và thỏa mãn các hàm ràng buộc (1), (2), (3), (4), (5).
1.2 Phương pháp giải Bài toán quy hoạch tuyến tính
1.2.1 Nghiệm khả dĩ
- Nghiệm khả dĩ (Feasible Solution) : 1 bộ giá trị các biến thỏa mãn các ràng buộc.
- Vùng khả dĩ (Feasible region): Tập tất cả các nghiệm khả dĩ.
1.2.2 Phương pháp đồ thị (cho bài toán có 2 biến)
- Bước 1: Biểu diễn các ràng buộc trên mặt phẳng tọa độ và xác định vùng khả dĩ.
- Bước 2: Vẽ 1 đường thẳng có phương trùng với hàm mục tiêu Z. Di chuyển tịnh
tiến đường thẳng này sao cho giá trị Z được cải thiện. Xác định giao điểm của đường
thẳng với biên của vùng khả dĩ, đó là nghiệm tối ưu.
Nghiệm của bài toán (nếu có) luôn là đỉnh cực biên (đỉnh) của vùng nghiệm khả
dĩ. Nếu muốn tìm Max, tịnh tiến Z đến điểm xa nhất, còn tìm min ta sẽ tịnh tiến Z đến
điểm gần nhất.
1.3 Bài toán vận tải
1.3.1 Khái niệm
Là dạng đặc biệt của bài toán quy hoạch tuyến tính. Giải quyết vấn đề phân phối
hàng hóa từ một số địa điểm cung cấp (điểm nguồn) đến một số địa điểm tiêu thụ (điểm
đích) sao cho:
- Tổng chi phí ít nhất
- Cự ly vận chuyển nhỏ nhất
- Tổng tiền lời là nhiều nhất
Áp dụng Bài toán vận tait để xác định vị trí đặt nhà kho, cửa hàng hay nhà xưởng
mới khi xem xét một số phương án về địa điểm xây dựng.
5
1.3.2 Thiết lập Bài toán vận tải
Giả sử có m kho hàng A1,…, Am cùng chưa một loại hàng hóa, kho Ai chứa si số
hàng. Cần vận chuyển số hàng đến n cửa hàng B1,…, Bn, cửa hàng Bi cần số hàng dj.
Cước vận chuyển một đơn vị hàng từ kho đến cửa hàng là cij. Hãy lập phương án vận
chuyển sao cho tổng chi phí vận chuyển nhỏ nhất.
Các kho hàng được gọi là các điểm nguồn, các cửa hàng được gọi là các điểm đích.
Ký hiệu:
m: Tổng số Điểm nguồn
n: Tổng số Điểm đích
si: Khả năng cung cấp của Điểm nguồn i (i=1,2,…, m)
dj: Nhu cầu của Điểm đích j (j=1, 2, …, n)
cij: Chi phí vận chuyển một đơn vị hàng hóa từ Điểm nguồn i (i= 1, 2, …, m) đến
Điểm đích j (j = 1, 2, …, n)
xij: Lượng hàng chuyên chở từ Điểm nguồn i (i = 1, 2, …,m) ) đến Điểm đích j (j
= 1, 2, …, n)
1.3.2.1 Dạng quan hệ tuyến tính của Bài toán vận tải
Hàm mục tiêu:
Ràng buộc:
𝑛
Min 𝑍 = ∑𝑚
𝑖=1 ∑𝑗=1 𝑐𝑖𝑗 𝑥𝑖𝑗
∑𝑛𝑗=1 𝑥𝑖𝑗 ≤ 𝑠𝑖
i = 1, 2, …, m
∑𝑚
𝑖=1 𝑥𝑖𝑗 ≥ 𝑑𝑗
j = 1, 2, …, n
𝑥𝑖𝑗 ≥ 0
Điều kiện:
∀ i, j
𝑛
∑𝑚
𝑖=1 𝑠𝑖 ≥ ∑𝑗=1 𝑑𝑗
1.3.2.2 Dạng cân bằng của Bài toán vận tải
Hàm mục tiêu:
Ràng buộc:
𝑛
Min 𝑍 = ∑𝑚
𝑖=1 ∑𝑗=1 𝑐𝑖𝑗 𝑥𝑖𝑗
∑𝑛𝑗=1 𝑥𝑖𝑗 = 𝑠𝑖
i = 1, 2, …, m
∑𝑚
𝑖=1 𝑥𝑖𝑗 = 𝑑𝑗
j = 1, 2, …, n
𝑥𝑖𝑗 ≥ 0
Điều kiện:
∀ i, j
𝑛
∑𝑚
𝑖=1 𝑠𝑖 = ∑𝑗=1 𝑑𝑗
Chú ý: Với những bài toán vận tải dạng không cân bằng ta sẽ chuyển về dạng cân bằng
6
bằng cách như sau
1. Nếu
𝑛
∑𝑚
𝑖=1 𝑠𝑖 > ∑𝑗=1 𝑑𝑗 , tạo 1 điểm đích giả với nhu cầu bằng
𝑑𝑛+1 =
𝑛
∑𝑚
𝑖=1 𝑠𝑖 − ∑𝑗=1 𝑑𝑗 ; sau đó gán chi phí vận chuyển đơn vị từ mọi điểm nguồn đến
điểm đích giả bằng 0, tức là 𝑐𝑖,𝑛+1 = 0, ∀ 𝑖 = 1, 2, . . . , 𝑚.
𝑛
2. Nếu ∑𝑚
𝑖=1 𝑠𝑖 < ∑𝑗=1 𝑑𝑗 , tạo 1 điểm nguồn giả với khả năng cung bằng 𝑠𝑚+1 =
∑𝑛𝑗=1 𝑑𝑗 − ∑𝑚
𝑖=1 𝑠𝑖 ; sau đó gán chi phí vận chuyển đơn vị từ điểm nguồn giả đến mọi
điểm đích bằng 0, tức là 𝑐𝑚+1,𝑗 = 0, ∀ 𝑗 = 1, 2, . . . , 𝑛.
1.3.2.2 Dạng bảng của Bài toán vận tải
1. Thiết lập 1 ma trận, với các hàng là các điểm nguồn, các cột là các điểm đích.
2. Lập 1 cột sau cùng của bảng để thể hiện khả năng cung cấp của từng điểm nguồn,
và 1 hàng sau cùng để thể hiện nhu cầu tương ứng của từng điểm đích.
3. Giá trị của các ô là lượng hàng vận chuyển giữa điểm nguồn và điểm đích tương
ứng.
4. Góc trên của từng ô thể hiện chi phí vận chuyển đơn vị giữa điểm nguồn và điểm
đích tương ứng.
Ví dụ: Tổng công ty xây dựng XaToCo có 3 cơ sở sản xuất đá dăm (A1, A2, A3)
và 3 công trường xây dựng (B1, B2, B3). Công suất sản xuất đá hàng tuần của các cơ
sở lần lượt là 50m3, 60m3, 70m3. Nhu cầu tiêu thụ đá hàng tuần của ba công trường lần
lượt là 40m3, 85m3, 55m3. Chi phí vận chuyển 1m3 đá từ các cơ sở sản xuất đá đến các
công trường tiêu thụ đá không phụ thuộc vào khối lượng đá vận chuyển như sau (đơn vị
tính 10.000 đồng):
B1
B2
B3
A1
2
1
5
A2
3
4
3
A3
4
6
6
Hãy xác định phương án vận chuyển đá từ nơi cung cấp đến nơi tiêu thụ để tổng chi phí
vận chuyển là thấp nhất.
Thiết lập bài toán vận tải này ở dạng bảng như sau:
7
1.3.3 Phương pháp giải bài toán vận tải
1.3.3.1 Tìm lời giải ban đầu
Việc tìm ra 1 nghiệm khả dĩ ban đầu cho BTVT là rất quan trọng. Chúng ta phải
tìm lời giải ban đầu và kiểm tra xem nó tối ưu chưa. Nếu chưa cần phải cải thiện nghiệm
ban đầu cho đến khi đạt được điều kiện tối ưu. Một số phương pháp đã được đề nghị để
tìm lời giải ban đầu:
- Phương pháp góc Tây Bắc (The Northwest Corner Method)
- Phương pháp chi phí bé nhất (The Minimal Cost Method)
- Phương pháp xấp xỉ Vogel (The Vogel’s Approximation Method – VAM)
a) Phương pháp góc Tây Bắc
Bắt đầu phân phối lượng hàng vận chuyển từ ô trên cùng bên trái theo quy tắc sau:
- Tận dụng tối đa khả năng cung cấp của mỗi điểm nguồn tương ứng với mỗi dòng
trước khi chuyển sang dòng tiếp theo.
- Đáp ứng tối đa nhu cầu của mỗi điểm đích tương ứng với mỗi cột trước khi chuyển
sang cột tiếp theo.
- Đảm bảo tận dụng hết khả năng cung cấp và đáp ứng đủ nhu cầu tiêu thụ.
b) Phương pháp chi phí bé nhất
Tìm lời giải ban đầu gần tối ưu hơn cho bài toán vận tải theo quy tắc sau:
- Ưu tiên phân phối cho ô có giá trị chi phí vận chuyển nhỏ nhất.
- Loại bỏ dòng tương ứng với điểm nguồn đã hết khả năng cung cấp hay cột tương ứng
với điểm đích đã được đáp ứng đủ như cầu tiêu thụ. Xác định lại ô có giá trị chi phí
vận chuyển nhỏ nhất để tiếp tục ưu tiên phân phối.
8
- Thực hiện lặp lại hai bước trên cho đến khi tận dụng hết khả năng cung cấp của các
điểm nguồn và đáp ứng đủ nhu cầu tiêu thụ của các điểm đích.
c) Phương pháp xấp xỉ Vogel
Bước 1. Xác định chênh lệch chi phí vận tải giữa hai ô có chi phí thấp nhất ứng với
mỗi dòng và cột.
Bước 2. Xác định dòng ho nh dòng hoặc cột có chi phí c t có chi phí cơ hội lớn nhất.
Bước 3. Phân phối tối đa lượng hàng có thể vận chuyển cho ô có chi phí vận chuyển
nhỏ nhất ứng với dòng hoặc cột đã chọn.
Bước 4. Loại bỏ dòng hết khả năng cung cấp hay cột đã đáp ứng đủ nhu cầu tiêu thụ.
1.3.3.2 Phương pháp tìm nghiệm tối ưu
Bước 1: Tính toán chỉ số cải tiến Iij cho các ô rỗng (ô không có phân bổ hàng). Có 2
phương án xá định:
a) Phương pháp duyệt tuần tự
- Ứng với mỗi ô rỗng nào đó, vẽ đường đi kín nối ô rỗng này với các ô đã gán giá trị
ban đầu bằng các đường nằm ngang và thẳng đứng.
- Gán dấu cho các ô trong đường đi bắt đầu từ ô rỗng có dấu dương (+), các ô kế tiếp
đổi dấu (dấu âm -).
- Tính các chỉ số Iij = tổng đại số các cij trong đường đi đang xét với dấu đã được gán
ở bước trên.
b) Phương pháp phân phối cải tiến - MODI
- Gọi ui (i=1, 2, …, m); vj (j=1,2,…, n) là các biến ứng với các điểm nguồn i và điểm
đích j.
- Tại các ô không rỗng ta có đẳng thức: cij – (ui + vj) = 0.
- Dựa vào các phương trình tương ứng với ô không rỗng ta có thể xác định được các
giá trị ui và vj
- Tại các ô rỗng, tính các chỉ số cải tiến Iij = cij – (ui + vj).
Chú ý:
- Thông thường người ta gán giá trị u1 = 0 và từ đó tính các giá trị ui, vj còn lại.
- Sau mỗi bước lặp, tính lại các ui,vj và Iij.
Bước 2: kiểm tra dấu hiệu tối ưu và phân bổ lại hàng:
- Nếu các chỉ số Iij của các ô rỗng đều không âm, phương án hiện hành là tối ưu.
9
- Nếu tồn tại một hay một chỉ số Iij của ô rỗng nào đó âm, phương án hiện tại chưa tối
ưu.
- Ta chọn chỉ số Iij bé nhất và điều chỉnh lượng hàng đã phân bổ cho các ô có liên quan
theo nguyên tắc sau:
+ Xác định xij min trong các ô được gán dấu trừ (-).
+ Bớt đi một lượng xij min cho các ô gán dầu trừ (-).
+ Cộng thêm một lượng xij min cho các ô gán dấu cộng (+).
Chương 2. ỨNG DỤNG GIẢI BÀI TOÁN VẬN TẢI
2.1 Bài toán
Công ty đường sắt Krampf Lines chuyên xử lý than. Vào thứ sáu, ngày 13/4,
Krampf có những chiếc xe trống ở các thị trấn sau với số lượng được chỉ ra như sau:
Town
Morgantown
Youngstown
Pittsburgh
Supply
35
60
25
Đến thứ hai, ngày 16/4 các thị trấn sẽ cần số lượng xe than như bảng sau:
Town
Demand
Coal Valley
Coaltown
Coal Junction
Coalsburg
30
45
25
20
Sử dụng biểu đồ khoảng cách đường sắt giữa các thành phố (railway city-to-city distance
chart), người điều phối xây dựng bảng quãng đường cho các thị trấn trước đó. Kết quả
được hiển thị trong bảng dưới. Hãy xác định phương án vận chuyển than sao cho tối
thiểu hóa tổng chi phí vận chuyển.
Cung
Morgantown
Youngstown
Pittsburgh
Coal Valley
50
20
100
2.2 Giải bài toán vận tải
Coaltown
30
80
40
10
Cầu
Coal Junction
60
10
80
Coalsburg
70
90
30
Sơ đồ các tuyến đường
Điểm nguồn
Điểm đích
Cij, xij
Morgan
town
Coal
Valley
Coal
Town
Youngs
town
Coal
Junction
n
Pittsburgh
CoalSburg
11
2.2.1 Tìm nghiệm ban đầu
2.2.1.1 Phương pháp góc Tây Bắc
- Đầu tiên ta thấy tổng cung = tổng cầu (=120).
- Tiếp theo, xuất phát từ phía trên – bên trái:
+ Điểm cung 1 có thể cung cấp 35, điểm cầu A cần 30. Như vậy, điểm cầu A sẽ tiêu
thụ hết 30 của cung 1; điểm cầu A đã được đáp ứng đủ nhu cầu nên sẽ không cần
cung của điểm 2 và 3.
+ Tiếp theo đi ngang qua ô (1; B), điểm nguồn 1 có khả năng cung cấp 35 và đã cung
cấp 30 cho điểm cầu A. Vì vậy, điểm nguồn 1 chỉ cung cấp được 5 cho điểm cầu B
và điểm cầu C, D không thể được cung cấp từ điểm cung 1 nữa. Từ ô (1; B), chúng
ta đi xuống ô (2; B), ở đây điểm cầu B cần thêm 40 (45-5) và điểm cung 2 có khả
năng cung cấp đến 60 nên điểm cầu 2 đã được đáp ứng đủ nên sẽ không cần thêm
cung của điểm 3.
+ Đi ngang qua ô (1; C), như đã nói điểm cung 1 không thể cung cấp cho điểm cầu C
nữa, chúng ta đi xuống ô (2; C), điểm cung 2 còn có thể cung cấp cho điểm cầu C là
20 (60-40). Đi xuống ô (3; C) điểm cung 3 cung cấp cho điểm cầu C được 5 vậy là
điểm cầu C đã được đáp ứng nhu cầu.
+ Vì điểm cung 2 đã hết nên điểm cung 2 không còn khả năng cung cấp cho điểm cầu
D nữa, điểm cung 3 còn 20 (25-5) vừa đủ đáp ứng điểm cầu D.
Vậy, chi phí vận chuyển là:
12
𝐶𝑡â𝑦 𝑏ắ𝑐 = 30 × 5 + 4 × 80 + 10 × 20 + 80 × 5 + 20 × 30 = 4550
2.2.1.2 Phương pháp chi phí nhỏ nhất
- Ta thấy ô có chi phí bé nhất rơi vào ô (2; C): 10, vì vậy chúng ta sẽ ưu tiên phân phối
ở ô (2; C). Điểm cầu C cần 25 bé hơn khả năng điểm cung 2 nên điểm cầu C sẽ không
nhận từ điểm cung 1 và 3 nữa.
- Đến với ô có chi phí bé thứ 2 là ô (2; A), sau khi cung cấp cho điểm cung 3, điểm cung
2 còn 35 lớn hơn nhu cầu của điểm cầu A (30) nên điềm cầu A không nhận từ điểm cung
1 và 3 nữa.
- Điểm có chi phí bé tiếp theo là ô (1; B) và ô (3; D), giá trị vận chuyển tối đa gán cho
các ô này là 35 và 20. Sau khu gán, điểm cầu D đã được đáp ứng đủ nhu cầu nên điểm
(2; D) không được xem xét trong bước tiếp theo.
- Điểm có chi phí bé tiếp theo trong các ô còn lại là điểm (3; B), tuy nhiên điểm cung 3
chỉ còn có thể cung cấp 5 cho điểm cầu B, nên điểm cung 2 cung cấp phần còn lại cho
điểm cầu B.
Vậy, tổng chi phí là:
𝐶𝐶𝑃 𝑏é 𝑛ℎấ𝑡 = 20 × 30 + 30 × 35 + 80 × 5 + 40 × 5 + 10 × 25 + 30 × 20 = 3100
2.2.1.3 Phương pháp Vogel
Thị trấn
cung cấp xe
than
Coal Valley
Thị trấn cầu xe than
Coal Town
Coal
Junction
13
Tổng
CoalSburg
Morgantown
50
30
60
70
35
Youngstown
20
80
10
90
60
100
0
40
80
30
25
Pittsburgh
Tổng cung
30
45
25
20
120
Xác định hàng hoặc cột có có chi phí cơ hội lớn nhất và phân bổ vào ô có chi phí bé
nhất.
Vì tổng cung bằng tổng cầu nên không cần đến điểm nguồn giả và điểm đích giả.
Thị trấn
cung cấp xe
than
Morgantown
(1)
Youngstown
(2)
Pittsburgh
(3)
Tổng cung
Thị trấn cầu xe than
Coal
Valley
(1)
50
Coal
Town
(2)
30
80 25
20
100
0
30
50-20=
30
Coal
Junction
(3)
x
60
40
x
Tổng
CoalSburg
(4)
70
35
50-30 =20
10
90
60
20-10=10
80
30
25
40-30=10
45
25
20
40-30
=10
60-10=
50
70-30=
40
120
Hàng 1: hai chi phí nhỏ nhất là 50 và 30, vì vậy chênh lệch là 50-30=20
Hàng 2: hai chi phí nhỏ nhất là 20 và 10, vì vậy chênh lệch là 20-10=10
Hàng 3: hai chi phí nhỏ nhất là 40 và 30, vì vậy chênh lệch là 40-30=10
Cột 1: Hai chi phí nhỏ nhất là 50 và 20, vì vậy chênh lệch là 50-20=30
Cột 2: Hai chi phí nhỏ nhất là 30 và 40, vì vậy chênh lệch là 40-30=10
Cột 3: Hai chi phí nhỏ nhất là 30 và 40, vì vậy chênh lệch là 60-10=50
Cột 4: Hai chi phí nhỏ nhất là 70 và 40, vì vậy chênh lệch là 70-30=40
Vì cột Coalsburg (3) có chi phí cơ hội là lớn nhất nên ta sẽ phân bổ vào ô có chi phí bé
nhất của cột 3. Ô có chi phí bé nhất của cột 3 là 10, cung 60 mà cầu của cột 3 tối đa là
25 nên sẽ phân bổ 25 vào ô có chi phí là 10. Vì đã đủ cầu nên hai ô còn lại (1,3) và (3,3)
được đánh dấu x.
14
Thị trấn
cung cấp xe
than
Thị trấn cầu xe than
Coal
Valley
Morgantown x
50
Youngstown 30
Pittsburgh
x
Coal
Junction
60
30 x
80 25
20
100
0
30
Tổng cung
Coal
Town
50-20=
30
40
x
45
Tổng
CoalSburg
70
35
50-30 =20
10
90
60
80-20=60*
80
30
25
40-30=10
25
20
40-30
=10
120
70-30=
40
Vì cột Coal Junction đã điền đủ nên sẽ bỏ cột này trong đợt tính tiếp theo.
Hàng 1: hai chi phí nhỏ nhất là 50 và 30, vì vậy chênh lệch là 50-30=20
Hàng 2: hai chi phí nhỏ nhất là 80 và 20, vì vậy chênh lệch là 80-20=60
Hàng 3: hai chi phí nhỏ nhất là 40 và 30, vì vậy chênh lệch là 40-30=10
Cột 1: Hai chi phí nhỏ nhất là 50 và 20, vì vậy chênh lệch là 50-20=30
Cột 2: Hai chi phí nhỏ nhất là 30 và 40, vì vậy chênh lệch là 40-30=10
Cột 4: Hai chi phí nhỏ nhất là 70 và 40, vì vậy chênh lệch là 70-30=40
Vì hàng 2 có chi phí cơ hội là lớn nhất nên ta sẽ phân bổ vào ô có chi phí bé nhất của
hàng 2. Ô có chi phí bé nhất chưa được phân bổ của hàng 2 là 20, cung còn 60 - 25 = 45
mà cầu của hàng 2 tối đa là 30 nên sẽ phân bổ 30 vào ô có chi phí là 20 Vì đã đủ cầu
nên hai ô còn lại (1,1) và (3,1) được đánh dấu x.
Thị trấn
cung cấp xe
than
Thị trấn cầu xe than
Tổng
Coal
Coal
Coal
CoalSburg
Valley
Town
Junction
Morgantown x
60 x
50 35
70
30 x
35
70-30 =40
Youngstown 30
Pittsburgh
Tổng cung
x
80 25
20
100
0
30
40
45
x
25
40-30
=10
10
90
60
90-80=10
80
30
25
40-30=10
20
120
70-30=
40
Vì cột Coal Junction và Coal Valley đã điền đủ nên sẽ bỏ 2 cột này trong đợt tính tiếp
theo.
15
Hàng 1: hai chi phí nhỏ nhất là 70 và 30, vì vậy chênh lệch là 70-30=40
Hàng 2: hai chi phí nhỏ nhất là 90 và 80, vì vậy chênh lệch là 90-80=10
Hàng 3: hai chi phí nhỏ nhất là 40 và 30, vì vậy chênh lệch là 40-30=10
Cột 2: Hai chi phí nhỏ nhất là 30 và 40, vì vậy chênh lệch là 40-30=10
Cột 3: Hai chi phí nhỏ nhất là 30 và 40, vì vậy chênh lệch là 60-10=50
Cột 4: Hai chi phí nhỏ nhất là 70 và 40, vì vậy chênh lệch là 70-30=40
Vì hàng 1 và cột 4 đều có chi phí cơ hội lớn nhất là 40 nhưng vì hàng 1 có thể phân bổ
được nhiều hơn cột 4 nên ta ưu tiên phân bổ vào ô có chi phí nhỏ nhất của hàng 1 trước.
Ô có chi phí nhỏ nhất của hàng 1 là 30, cung 35 và cầu là 45 nên sẽ phân bổ 35 cho ô
có chi phí là 30. Các ô còn lại của hàng là (1,1), (1,3) và (1,4) sẽ được đánh dấu x.
Thị trấn
cung cấp xe
than
Thị trấn cầu xe than
Tổng
Coal
Coal
Coal
CoalSburg
Valley
Town
Junction
Morgantown x
35
x
60 x
50
70
30
35
Youngstown 30
Pittsburgh
Tổng cung
x
80 25
20
100
0
30
40
45
x
25
80-40
=40
10 x
90
60
90-80=10
80 20
30
25
40-30=10
20
120
90-30=
60*
Vì cột Coal Junction, Coal Valley và hàng Morgantown đã điền đủ nên sẽ bỏ trong đợt
tính tiếp theo.
Vì cột Coal Junction và Coal Valley đã điền đủ nên sẽ bỏ 2 cột này trong đợt tính tiếp
theo.
Hàng 2: hai chi phí nhỏ nhất là 90 và 80, vì vậy chênh lệch là 90-80=10
Hàng 3: hai chi phí nhỏ nhất là 40 và 30, vì vậy chênh lệch là 40-30=10
Cột 2: Hai chi phí nhỏ nhất là 40 và 80, vì vậy chênh lệch là 80-40=40
Cột 4: Hai chi phí nhỏ nhất là 90 và 30, vì vậy chênh lệch là 90-30=60
Vì cột 4 có chi phí cơ hội lớn nhất là 40 nên ta ưu tiên phân bổ vào ô có chi phí nhỏ nhất
của cột 4. Ô có chi phí nhỏ nhất của cột 4 là 30, cung 25 và cầu là 20 nên sẽ phân bổ 20
cho ô có chi phí là 30. Các ô còn lại của hàng là (1,4), (2,4) sẽ được đánh dấu x.
16
Thị trấn
cung cấp xe
than
Thị trấn cầu xe than
Tổng
cung
Coal
Coal
Coal
CoalSburg
Valley
Town
Junction
Morgantown x
60 x
50 35
70
30 x
35
Youngstown 30
Pittsburgh
Tổng cầu
x
20 5
100
0
30
80 25
5
40
x
45
25
10 x
90
60
80 20
30
25
20
120
Vậy chi phí vận tải với lời giải ban đầu này là:
Cvam = 35*30 + 30*20 + 5*80 + 25*10 + 5*40 + 20*30 = 3100
Nhận xét
Phương pháp xấp xỉ Vogel cho kết quả chính xác hơn so với hai phương pháp Tây
Bắc và chi phí bé nhất và trong bài toán này, chi phí bé nhất và chi phí của phương pháp
Vogel là như nhau.
2.2.2 Tìm nghiệm tối ưu
2.2.2.1 Tìm nghiệm tối ưu bằng phương pháp duyệt tuần tự
- Xác định ô rỗng, gán giá trị dương.
Hình 2.1 Kết quả bài toán khi áp dụng phương pháp Tây Bắc
Các ô rỗng cần khảo sát là (1, C), (1, D), (2, A), (2, D), (3, A), (3, B).
- Xác định chu trình để tính chỉ số cải tiến Iij.
17
- Gán giá trị dương vào ô rỗng và các giá trị dương hoặc âm vào các ô liên quan
nhưng không được cùng dấu trên cũng một hàng dọc hay hàng ngang.
Chu trình I1C là 1C → 2C → 2B → 1B
Chỉ số cải tiến ứng với ô (1, C) là: I1C = + 60 – 10 + 80 – 30 = + 100
Hình 2.2 Ô (1, C) có I1C = + 100 → thỏa điều kiện tối ưu
Chu trình I1D là 1D → 3D → 3C → 2C → 2B → 1B
Chỉ số cải tiến ứng với ô (1, D) là I1D = + 70 – 30 + 80 – 10 + 80 – 30 = + 160
Hình 2.3 Ô (1, D) có I1D = + 160 → thỏa điều kiện tối ưu
18
Chu trình I2A là 2A →1A → 1B → 2B
Chỉ số cải tiến ứng với ô (2, A) là I2A = + 20 – 50 + 30 – 80 = - 80
Hình 2.4 Ô (2, A) có I2A = - 80 → không thỏa điều kiện tối ưu
- Do I2A < 0 nên tiến hành điều chỉnh lượng hàng hóa trên ô (2, A)
- Xác định được gán (-), xijmin. X1Amin = min (x1A, x2B) = min (30, 40) = 30
- Lượng hàn vận chuyển ở các ô được gán dấu (+) được cộng x1Amin, các ô được gán dấu
(-) bị trừ đi một lượng x1Amin.
- Chiều quay của chu trình không bị ảnh hưởng đến kết quả của bài toán
- Các giá trị gán mới tại các ô:
x1A = 30 – 30 = 0
x1B = 5 + 30 = 35
x2A = 0 + 30 = 30
x2B = 40 – 30 = 10
19
Chu trình I1A là 1A →1B → 2B → 2A
Chỉ số cải tiến ứng với ô (1, A) là I1A = + 50 – 30 + 80 – 20 = + 80
I1C = + 60 – 10 + 80 – 30 = + 100
I1D = + 70 – 30 + 80 – 10 + 80 – 30 = + 160
Hình 2.5 Ô (1, A) có I1A = + 80 → thỏa điều kiện tối ưu
Chu trình I2D là 2D →3D → 3C → 2C
Chỉ số cải tiến ứng với ô (2, D) là I2A = + 90 – 30 + 80 – 10 = + 130
Hình 2.6 Ô (2, D) có I2D = + 130 → thỏa điều kiện tối ưu
20
Chu trình I3A là 3A →2A → 2C → 3C
Chỉ số cải tiến ứng với ô (3, A) là I3A = + 100 – 20 + 80 – 40 = + 120
Hình 2.7 Ô (3, A) có I3A = + 120 → thỏa điều kiện tối ưu
Chu trình I3B là 3B →2B → 2C → 3C
Chỉ số cải tiến ứng với ô (3, B) là I3B = + 40 – 80 + 10 – 80 = - 110
Hình 2.8. Ô (3, B) có I3B = - 110 → không thỏa điều kiện tối ưu
- Do I3B < 0 nên tiến hành điều chỉnh lượng hàng hóa trên ô (3, B)
- Xác định được gán (-), xijmin. X3Cmin = min (x2B, x3C) = min (10, 5) = 5
- Lượng hàng vận chuyển ở các ô được gán dấu (+) được cộng x3Cmin, các ô được gán
dấu (-) bị trừ đi một lượng x3Cmin.
21
- Chiều quay của chu trình không bị ảnh hưởng đến kết quả của bài toán
- Các giá trị gán mới tại các ô:
X3B = 0 + 5 = 5
X2B = 10 – 5 = 5
x2C = 20 + 5 = 25
x3C = 5 – 5 = 0
Chu trình I3C là 3C →3B → 2B → 2C
Chỉ số cải tiến ứng với ô (3, C) là I3C = + 80 – 40 + 80 – 10 = + 110
I1A = + 50 – 30 + 80 – 20 = + 80
I1C = + 60 – 10 + 80 – 30 = + 100
I1D = + 70 – 30 + 40 – 30 = + 50
I2D = + 90 – 30 + 40 – 80 = + 20
I3A = +100 -20 + 80 – 40 = +120
Hình 2.9 Ô (3, C) có I3C = + 110 → thỏa điều kiện tối ưu
- Dừng tìm kiếm trị tối ưu vì chỉ số cải tiến Iij ở các ô không âm
Kết quả sau khi cải tiến:
22
Bảng 2.10 Kết quả của phương pháp Tây Bắc cải tiến theo duyệt tuần tự
Chi phí vận chuyển:
x1B = 35 tons, x2A = 30 tons, x2B = 5 tons, x2C = 25 tons, x3B = 5 tons, x3D = 20 tons
Z = 35*30 + 30*20 + 5*80 + 25*10 + 5*40 + 20*30 = 3100
Nhận xét:
Do kết quả của phương pháp chi phí thấp nhất và Vogel giống nhau với phương
pháp duyệt tuần tự của phương pháp Tây Bắc nên hai phương pháp trên không cần duyệt
tuần tự. Với cùng chi phí vận chuyển tối ưu là Z = 3100.
Hình 2.11 Kết quả bài toán khi áp dụng phương pháp chi phí ngắn nhất và Vogel
2.2.2.2 Tìm nghiệm tối ưu bằng phương pháp cải tiến MODI
Các ô rỗng cần khảo sát là (1, C), (1, D), (2, A), (2, D), (3, A), (3, B).
23
Gọi ui (i = 1, 2, …, m), vj (j=1, 2, …, n) là các biến đối ngẫu ứng với các điểm nguồn i
và các điểm cấp j. Ta được hình bên dưới.
Hình 2.12 Gán các biến đối ngẫu ứng với các điểm nguồn và điểm đích
Ta có:
u1 +v1 = 50
u1 = 0
u1 + v2 = 30
u2 = 50
u2 + v2 = 80
chọn u1 = 0
u3 = 120
u2 + v3 = 10
=>
v1 = 50
u3 + v3 = 80
v2 = 30
u3 + v4 = 30
v3 = -40
v4 = -90
Vậy:
I1C = 60 - (0 - 40) = 100
I1D = 70 – (0 -90) = 160
I2A = 20 – (50 + 50) = -80
I2D = 90 – (50 – 90) = 130
I3A = 100 – (120 + 50) = -70
I3B =40 – (120 + 30) = -110
Chỉ số cải tiến tại x3B là âm nhất và tạo thành chu trình, nên điều chỉnh lượng hàng ở
chu trình này theo x3C min = 5.
24
Hình 2.13 Định vị ô có chỉ số cải tiến âm nhất
Sau đó tính lại trị cho các chỉ số ui, vj. Các ô rỗng cần khảo sát là (1, C), (1, D), (2, A),
(2, D), (3, A), (3, C).
Hình 2.14 Bảng vận tải sau khi đã điều chỉnh lượng hàng
Ta có:
u1 +v1 = 50
u1 = 0
u1 + v2 = 30
u2 = 50
u2 + v2 = 80
chọn u1 = 0
u3 = 10
u2 + v3 = 10
=>
v1 = 50
u3 + v2 = 40
v2 = 30
u3 + v4 = 30
v3 = -40
v4 = 20
25
Vậy:
I1C = 60 - (0 - 40) = 100
I1D = 70 – (0 + 20) = 50
I2A = 20 – (50 + 50) = -80
I2D = 90 – (50 + 20) = 20
I3A = 100 – (10 + 50) = 40
I3C = 80 – (10 - 40) = 110
Chỉ số cải tiến tại x2A là âm nhất và tạo thành chu trình, nên điều chỉnh lượng hàng ở
chu trình này theo x1A min = 30.
Hình 2.15 Định vị ô có chỉ số cải tiến âm nhất
Sau đó tính lại trị cho các chỉ số ui, vj. Các ô rỗng cần khảo sát là (1, A), (1, C), (1, D),
(2, D), (3, A), (3, C).
26
Hình 2.16 Bảng vận tải sau khi đã điều chỉnh lượng hàng lần 2
Ta có:
u1 + v2 = 30
u1 = 0
u2 + v1 = 20
u2 = 50
u2 + v2 = 80
chọn u1 = 0
u3 = 10
u2 + v3 = 10
=>
v1 = -30
u3 + v2 = 40
v2 = 30
u3 + v4 = 30
v3 = -40
v4 = 20
Vậy:
I1A = 50 – (0 - 30) = 80
I1C = 60 - (0 - 40) = 100
I1D = 70 – (0 + 20) = 50
I2D = 90 – (50 + 20) = 20
I3A = 100 – (10 - 30) = 120
I3c = 80 – (10 - 40) = 110
Do các chỉ số cải tiến không âm nên giải pháp hiện tại là tối ưu.
Kết quả sau khi cải tiến:
Hình 2.17 Kết quả sau khi cải tiến bằng phương pháp MODI
Tổng chi phí vận chuyển tối ưu = 35*30 + 30*20 + 5*80 + 25*10 + 5*40 + 20*30 =
3100
2.2.3 Giải bài toán bằng cách sử dụng Solver
Đầu tiên, mô phỏng chi phí vận chuyển mỗi xe than từ các điểm cung đến các điểm
27
cầu với các ràng buộc về tổng cung và tổng cầu. Từ đó, xây dựng ma trận bảng tính toán
lượng hàng cung ứng cho từng điểm như sau:
Trong bảng lượng vận chuyển, ta tính lượng cung và cầu cho mỗi điểm vận chuyển
qua hàm SUM. Trong đó, lượng cầu tại Coal Valley tính bằng “=SUM(B12:B14)” và
lượng cung tại Morgantown tính bằng “=SUM(B12:E12)”, tính tương tự cho các điểm
cầu và cung còn lại.
28
Yêu cầu của bài toán là tính chi phí thấp nhất để đáp ứng nhu cầu tại mỗi điểm, trong
đó:
Chi phí vận chuyển = Chi phí mỗi lần vận chuyển * Lượng vận chuyển
Trong Excel, ta phải tính tổng các tích của các phần tử trong hai bảng B5:F7 và B12:E14.
Để tính toán dễ dàng hơn, ta sử dụng hàm SUMPRODUCT theo cú pháp sau:
=SUMPRODUCT(B5:E7;B12:E14)
Sử dụng Solver để giải bài toán vận tải
Từ Data nhấn chọn Solver. Nếu excel chưa có solver thì có thể nhấn chọn solver
add-in trong mục Option -> Add-ins.
Khi đó, sẽ xuất hiện bảng Solver Parameters như hình … Trong đó:
- Set Objective: lựa chọn ô mục tiêu. Trong đó, mục tiêu của bài toán là tính Min Chi
phí vận chuyển nên ta sẽ Set Objective: B17 và click chọn Min.
- By Changing Variable Cells: bằng cách thay đổi các ô lượng vận chuyển (B12:E14).
29
Sau đó nhấn chọn Add để thêm các điều kiện cho bài toán:
- Tổng lượng nhu cầu tại mỗi điểm phải bằng lượng nhu cầu đặt ra trong bài toán để
đảm bảo cung cấp đủ lượng. Tương ứng dãy B8:E8 phải lần lượt bằng giá trị dãy
B15:E15.
- Tổng lượng cung tại mỗi điểm phải bé hơn hoặc bằng lượng cung đã cho trước. Tương
ứng dãy F5:F7 phải lần lượt bé hơn hoặc bằng dãy F12:F14.
Sau khi nhấn OK để thêm các điều kiện ràng buộc cho bài toán, sẽ xuất hiện hộp thoại
30
như sau. Nhấn Solve và theo dõi kết quả tính toán được.
Kết quả của bài toán khi sử dụng Solver: Chi phí vận chuyển bé nhất là 3100$.
31
TÀI LIỆU THAM KHẢO
[1]. Phương Pháp Định Lượng Trong Quản Trị
32
Download