Một bài toán vận tải tổng quát được đặc
trưng bởi những thông tin sau:
– Một tập m điểm cung cấp mà từ đó hàng hóa sẽ
được vận chuyển đi. Mỗi điểm cung i có thể
cung cấp tối đa si đơn vị hàng.
– Một tập n điểm cầu mà hàng hóa sẽ được vận
chuyển tới. Mỗi điểm cầu j phải nhận được tối
thiểu d
j đơn vị hàng.
– Mỗi đơn vị hàng hóa vận chuyển từ điểm cung i
tới điểm cầu j đòi hỏi chi phí cij.
44 trang |
Chia sẻ: nhung.12 | Lượt xem: 1801 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Quản lý dự án - Mô hình hóa hệ thống sản xuất, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ộn
l Bài toán đơn giản nhưng khi giải cần đặc
biệt lưu ý một số mẹo
l Ràng buộc phi tuyến có thể chuyển thành
tuyến tính bằng phép nhân đơn giản
l Lựa chọn kỹ biến ra quyết định
– Chia nhỏ các biến ra để dễ dàng tính toán và
khống chế các yêu cầu về chất lượng
14© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
MÔ HÌNH HÓA
HỆ THỐNG SẢN XUẤT
TS. Đặng Vũ Tùng
Hànội - 2014
Trường Đại học Bách Khoa Hà Nội
Viện Kinh tế và Quản lý
***
Mô hình hóa
Chương 3.
Các Bài toán Vận tải
1. Bài toán vận tải (transportation)
2. Bài toán giao việc (assignment)
3. Bài toán chuyển hàng (transshipment)
4. Bài tập ứng dụng
Mô hình hóa
Mục tiêu của Chương
Giúp sinh viên:
l Nắm được các đặc trưng của bài toán vận tải
l Biết cách lập mô hình vận tải cân bằng, các
phương pháp giải mô hình
l Biết cách lập và giải mô hình cho bài toán phân
việc; phương pháp Hungary
l Biết cách lập mô hình cho bài toán chuyển hàng
l Biết cách dùng phần mềm để giải mô hình
(thời lượng: 4 tiết + 4 tiết thực hành)
Mô hình hóa
3.1. Bài toán Vận tải
l Bài toán vận tải liên quan đến việc xác định cách
thức vận chuyển một loại hàng hóa từ một số điểm
nguồn (điểm cung, chẳng hạn như các nhà máy)
đến một số điểm đích (điểm cầu, chẳng hạn như
các nhà kho).
l Quá trình ra quyết định về tuyến đường tốt nhất để
vận chuyển này thường liên quan đến yếu tố chi
phí vận tải giữa các điểm cung - cầu, hoặc các
ràng buộc tương tự.
15© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 3.1: Truyền tải điện
l Công ty Powerco mua điện từ 3 nhà máy điện để
cấp điện cho 4 thành phố.
l Mỗi nhà máy có sản lượng cung cấp điện & Nhu
cầu phụ tải đỉnh của các thành phố ở bảng sau
l Chi phí truyền tải từ nhà máy đến nơi tiêu thụ phụ
thuộc vào khoảng cách giữa 2 điểm này
l Lập mô hình để giảm thiểu chi phí truyền tải điện
của Powerco
Mô hình hóa
Ví dụ 3.1 – tiếp
Từ
Đến
Tp 1 Tp 2 Tp 3 Tp 4 Cung
(GWh)
Nhà máy 1 $8 $6 $10 $9 35
Nhà máy 2 $9 $12 $13 $7 50
Nhà máy 3 $14 $9 $16 $5 40
Cầu (GWh) 45 20 30 30
Mô hình hóa
Ví dụ 3.1
l Biến ra quyết định:
– Powerco cần xác định lượng điện truyền tải từ mỗi nhà
máy đến mỗi thành phố, nên đặt xij = lượng điện cấp từ
nhà máy i cho thành phố j
l x14 = lượng điện cấp từ nhà máy 1 cho thành phố 4
l Ràng buộc:
– Ràng buộc phía cung để đảm bảo tổng lượng điện mà
mỗi nhà máy cung cấp không thể vượt quá sản lượng tối
đa của nhà máy
– Ràng buộc phía cầu để đảm bảo tổng lượng điện mà mỗi
th.phố nhận được thỏa mãn nhu cầu phụ tải của th. phố
– Lượng điện truyền tải không thể âm, nên xij≥ 0 (i,j).
Mô hình hóa
Ví dụ 3.1
l Mô hình LP cho bài toán Powerco
Min Z = 8x11+6x12+10x13+9x14+9x21+12x22+13x23+7x24
+14x31+9x32+16x33+5x34
Th.mãn: x11+x12+x13+x14 ≤ 35 (Ràng buộc cung)
x21+x22+x23+x24 ≤ 50
x31+x32+x33+x34 ≤ 40
x11+x21+x31 ≥ 45 (Ràng buộc cầu)
x12+x22+x32 ≥ 20
x13+x23+x33 ≥ 30
x14+x24+x34 ≥ 30
xij ≥ 0 (i= 1,2,3; j= 1,2,3,4) (Không âm)
16© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 3.1
Nhà
máy 1
Nhà
máy 2
Nhà
máy 3
Th.phố
1
Th.phố
2
Th.phố
3
Th.phố
4
s1=35
s2=50
s3=40
d1=45
d2=20
d3=30
d4=30
x11=0
x12=10
x13=25x14=0
x21=45
x24=0
x22=0
x23=5
x31=0
x34=30
x32=10
x33=0
Điểm cung Điểm cầu
Mô hình hóa
Bài toán Vận tải tổng quát
lMột bài toán vận tải tổng quát được đặc
trưng bởi những thông tin sau:
– Một tập m điểm cung cấp mà từ đó hàng hóa sẽ
được vận chuyển đi. Mỗi điểm cung i có thể
cung cấp tối đa si đơn vị hàng.
– Một tập n điểm cầu mà hàng hóa sẽ được vận
chuyển tới. Mỗi điểm cầu j phải nhận được tối
thiểu dj đơn vị hàng.
– Mỗi đơn vị hàng hóa vận chuyển từ điểm cung i
tới điểm cầu j đòi hỏi chi phí cij.
Mô hình hóa
Mô hình tổng quát
l Xij = số đơn vị hàng được chuyển từ điểm cung i tới
điểm cầu j :
Mô hình hóa
Trường hợp đặc biệt
l Bài toán có các ràng buộc như trên với hàm
mục tiêu là max vẫn là một bài toán vận tải
l Nếu i si = j dj thì tổng cung bằng với
tổng cầu, và bài toán đó được gọi là bài toán
vận tải cân bằng (balanced transportation
problem), khi đó tất cả các ràng buộc đều
trở thành ràng buộc chặt (binding
constraint) : j Xij = si và i Xij = dj
l Bài toán vận tải cân bằng có thể giải dễ
dàng hơn các bài toán LP khác
17© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Cân bằng Bài toán Vận tải
l Trường hợp tổng cung vượt quá tổng cầu:
– Cân bằng bài toán vận tải bằng cách tạo ra một điểm
cầu ‘giả’ (dummy) có lượng cầu đúng bằng lượng cung
dư
– Do việc chuyển hàng đến điểm cầu giả này không thực
xảy ra, nên chi phí vận chuyển tới điểm này bằng 0
– Lượng hàng chuyển từ mỗi điểm cung tới điểm cầu giả
đúng bằng lượng cung dư thừa của điểm cung đó
– Nếu hàng hóa dư thừa tại điểm cung phải chịu phí lưu
kho, thì đơn giá vận tải từ đó đến điểm cầu giả sẽ đúng
bằng chi phí lưu kho
Mô hình hóa
Cân bằng Bài toán Vận tải
l Trường hợp tổng cầu vượt quá tổng cung :
– Không có nghiệm khả thi, vì sẽ có một phần nhu cầu
không được thỏa mãn
– Nếu được phép không đáp ứng một phần nhu cầu, với
mỗi đơn vị hàng bị thiếu phải chịu khoản ‘tiền phạt’
(penalty),
– Thì có thể lập bài toán cân bằng nhờ một điểm cung
‘giả’ (dummy) có chi phí vận chuyển tới mỗi điểm cầu
đúng bằng mức tiền phạt tại điểm cầu đó
– Lượng hàng chuyển tới một điểm cầu từ điểm cung giả
thể hiện lượng hàng bị thiếu tại điểm cầu đó
Mô hình hóa
Giải Bài toán Vận tải
l Khác với các bài toán LP khác, bài toán vận tải
cân bằng với m điểm cung và n điểm cầu rất dễ
giải, dù có tới m + n ràng buộc là đẳng thức
l Nguyên nhân là nếu một tập các giá trị (xij) thỏa
mãn (m + n – 1) ràng buộc thì ràng buộc còn lại sẽ
nghiễm nhiên được thỏa mãn.
l Khi giải bằng phương pháp đơn hình (simplex),
nghiệm cơ sở có thể tìm dễ dàng bằng các phương
pháp Góc Tây-Bắc, Chi phí Cực tiểu, hay Vogel
thông qua Bảng vận tải (transportation tableau)
Mô hình hóa
Phương pháp Góc Tây-Bắc
l Xuất phát từ góc trên bên trái (Tây-Bắc) của Bảng Vận
tải, gán cho x11 giá trị lớn nhất có thể (= min{s1, d1})
l Gạch hàng/cột đã được thỏa mãn, các ô còn lại trong
hàng/cột đó sẽ nhận giá trị 0. Nếu cả hàng và cột cùng
thỏa mãn thì chỉ được gạch một
l Cập nhật lượng cung/cầu còn lại và tiếp tục áp dụng quá
trình gán cho ô tây-bắc của Bảng không nằm trên một
hàng / cột đã bị gạch
l Quá trình kết thúc khi trong bảng chỉ còn một hàng hoặc
một cột chưa bị gạch
Đặc điểm: đơn giản, nhưng chưa tính đến yếu tố chi phí
18© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Phương pháp Chi phí Cực tiểu
Phương pháp này thực hiện tương tự như phpháp
Góc Tây-Bắc, nhằm tìm nghiệm cơ sở và có tính
đến chi phí vận chuyển:
l Tìm biến có chi phí nhỏ nhất (cij=min), gán xij cho
giá trị lớn nhất có thể (=min{s1, d1})
l Gạch hàng/cột đã thỏa mãn, và cập nhật lượng
cung/cầu còn lại
l Lặp lại với ô tiếp theo có chi phí nhỏ nhất và
không nằm trên hàng/cột đã bị gạch
Phpháp này thường cho nghiệm cơ sở có chi phí lớn
Mô hình hóa
Phương pháp Vogel
Phương pháp xấp xỉ Vogel (VAM) thường cho nghiệm
cơ sở gần tối ưu
l Bắt đầu với việc tính giá trị penalty cho mỗi
hàng/cột (đúng bằng chênh lệch giữa 2 giá trị nhỏ
nhất trong cùng hàng/cột đó)
l Xác định hàng/cột có penalty lớn nhất, gán giá trị tối
đa cho biến có chi phí nhỏ nhất trong hàng/cột đó
l Gạch hàng/cột tương ứng (tương tự các pp trước),
tính lại các giá trị penalty
l Lặp lại cho đến khi chỉ còn 1 hàng/cột chưa bị gạch
Mô hình hóa
Ứng dụng : Ví dụ 3.2
Bài toán Sản xuất – Dự trữ
Một công ty lập kế hoạch SX cho 4 tháng tới:
l Nhu cầu các tháng: 100, 200, 180 và 300 đvị.
l Năng lực SX tương ứng: 50, 180, 280 và 270 đvị.
l Hàng có thể giao ngay, dự trữ hoặc giao chậm
l Chi phí: sản xuất = 4$/đvị,
lưu kho = 0.5$/đvị/thg,
giao hàng chậm = 2$/đvị/thg
l Xác định kế hoạch SX để chi phí tối thiểu.
Mô hình hóa
Chuyển đổi sang bài toán vận tải
Hệ thống Vận tải Hệ thống Sản xuất
Điểm cung i Kỳ sản xuất i
Điểm cầu j Kỳ tiêu thụ j
Lượng cung tại nguồn i Năng lực Sxuất của kỳ i
Nhu cầu tại đích j Nhu cầu của khách hàng
trong kỳ j
Chi phí vận chuyển từ
nguồn i đến đích j
Chi phí sản xuất và dự
trữ từ kỳ i đến kỳ j
19© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 3.2 - Bảng Tableau
Kỳ SX
Kỳ tiêu thụ
1 2 3 4 N.lực
1 4 4.5 5 5.5 50
2 6 4 4.5 5 180
3 8 6 4 4.5 280
4 10 8 6 4 270
Nhu cầu 100 200 180 300 780
Mô hình hóa
Ví dụ 3.2 – Kế hoạch SX
1 2 3 4
50 180 280 270
1 2 3 4
50 130 180 270
100 200 180 300
50 70 30
Cung
Cầu
Kỳ tiêu thụ
Kỳ sản xuất
Mô hình hóa
3.2. Bài toán Giao việc
l Các bài toán giao việc (assignment) là một
lớp các bài toán vận tải đặc biệt có thể được
giải một cách đơn giản và hiệu quả hơn rất
nhiều mà không cần dùng đến phương pháp
đơn hình (simplex).
Mô hình hóa
Ví dụ 3.3: Bố trí máy
l Cty Machineco có 4 cỗ
máy và cần gia công 4 chi
tiết. Mỗi máy phải gia
công một chi tiết.
l Thời gian cần thiết để mỗi
máy khởi động & gia công
1 chi tiết như sau:
l Machineco cần bố trí máy
thế nào để thời gian hoàn
thành là tối thiểu
Chi
tiết
1 2 3 4
Máy
1
14 5 8 7
Máy
2
2 12 6 5
Máy
3
7 8 3 9
Máy
4
2 4 6 10
20© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 3.3 – Mô hình
l Machineco cần xác định máy nào được giao gia công chi tiết
nào. Đặt biến:
l xij=1 (nếu máy i được giao thực hiện chi tiết j)
l xij=0 (nếu máy i không được giao thực hiện chi tiết j)
l i,j=1,2,3,4
• Mô hình
min z = 14x11+5x12+8x13+7x14 +2x21+12x22+6x23+5x24
+7x31+8x32+3x33+9x34 +2x41+4x42+6x43+10x44
th.mãn j xij = 1 (i=1,2,3,4) (ràng buộc về máy)
i xij = 1 (j=1,2,3,4) (ràng buộc về chi tiết)
xij = 0 hoặc 1
Mô hình hóa
Đặc điểm Bài toán
l Bài toán giao việc chính là bài toán vận tải cân bằng, trong
đó mọi cung cầu đều bằng 1.
l Được đặc trưng bởi các chi phí có liên quan đến việc gán
mỗi điểm cung cho một điểm cầu (ma trận chi phí).
l Do lượng cung và lượng cầu của bài toán giao việc là
nguyên, nên nghiệm tối ưu cũng nhận giá trị nguyên.
l Do vế phải (RHS) của mỗi ràng buộc đều bằng 1, mỗi biến
xij phải là số nguyên không lớn hơn 1. Nên xij phải là 0
hoặc 1, và ta có thể bỏ qua ràng buộc xij = 0 hoặc 1, và giải
bài toán như một bài toán vận tải cân bằng.
Mô hình hóa
Phương pháp Hungary
l Phương pháp Hungary rất hiệu quả để giải các bài
toán giao việc mà không cần sử dụng đến phép
biến đổi đơn hình (simplex). Các bước thực hiện:
l Bước 1: Tìm phần tử nhỏ nhất trong mỗi hàng của
ma trận chi phí (m x m). Lập ma trận mới bằng
cách trừ giá trị trong mỗi ô cho giá trị nhỏ nhất
trong hàng tương ứng. Với ma trận này lại tìm
phần tử nhỏ nhất trong mỗi cột, và xây dựng ma
trận tối giản bằng cách trừ trừ giá trị trong mỗi ô
cho giá trị nhỏ nhất trong cột tương ứng.
Mô hình hóa
Phương pháp Hungary (2)
l Bước 2: Gạch số đường tối thiểu (ngang hoặc
dọc) sao cho đi qua tất cả mọi số 0 trong ma trận
tối giản. Nếu cần tổng cộng m đường thẳng, thì
nghiệm tối ưu có được từ các giá trị 0 đã được
gạch qua. Nếu chỉ cần ít hơn m đường => Bước 3.
l Bước 3: Tìm phần tử khác 0 nhỏ nhất (có giá trị là
k) chưa bị gạch qua trong ma trận tối giản ở Bước
2. Trừ k từ mỗi phần tử chưa được kẻ qua của ma
trận tối giản, và cộng k vào những phần tử được
gạch qua 2 lần. Quay lại bước 2.
21© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 3.3 –
Giải bằng ph.pháp Hungary
14 5 8 7
2 12 6 5
7 8 3 9
2 4 6 10
9 0 3 2
0 10 4 3
4 5 0 6
0 2 4 8
9 0 3 0
0 10 4 1
4 5 0 4
0 2 4 6
10 0 3 0
0 9 3 0
5 5 0 4
0 1 3 5
Mô hình hóa
3.3. Bài toán Chuyển hàng
l Trong bài toán vận tải, hàng chuyển trực tiếp từ
điểm cung đến điểm cầu
l Khi hàng có thể chuyển giữa các điểm cung hoặc
giữa các điểm cầu, hoặc có thể qua các điểm trung
chuyển trên đường từ điểm cung đến điểm cầu =>
Bài toán chuyển hàng (transshipment)
l Định nghĩa: Điểm cung là điểm chỉ có thể gửi đi
mà không nhận vào; Điểm cầu là điểm chỉ có thể
nhận vào mà không gửi đi; Điểm trung chuyển
vừa có thể nhận & gửi hàng
Mô hình hóa
Thuật toán
l Tìm nghiệm tối ưu cho bài toán chuyển hàng bằng
mô hình vận tải (giả thiết cung ≥ cầu):
– Bước 1. Cân bằng bài toán (bổ sung điểm cầu giả nếu
cần, có cung bằng 0 và cầu bằng lượng cung vượt trội).
Hàng chuyển đến điểm này có chi phí bằng 0.
– Bước 2. Lập bảng vận tải: mỗi hàng thể hiện cho một
điểm cung / trung chuyển, mỗi cột thể hiện cho một
điểm cầu / trung chuyển. Gọi s = tổng lượng cung. Mỗi
điểm trung chuyển lượng cung (cầu) bằng lượng cung
(cầu) ban đầu của điểm đó + s (đảm bảo lượng hàng
tịnh qua điểm trung chuyển và để bài toán cân bằng)
– Bước 3. Giải mô hình vận tải tìm được
Mô hình hóa
Ví dụ 3.4: Định tuyến vận chuyển
l Cty GM sản xuất xe tại 2 nhà máy ở Memphis và Denver, có công
suất 150 và 200 xe/ngày. Xe được chuyển tới khách hàng ở L.A &
Boston, mỗi nơi có nhu cầu 130 xe/ngày. Hàng có thể giao trực tiếp
hoặc thông qua kho ở N.Y hoặc Chicago. Xác định tuyến vận
chuyển tối ưu.
Từ \ Đến Memphis Denver N.Y Chicago L.A Boston
Memphis 0 - 8 13 25 28
Denver - 0 15 12 26 25
N.Y - - 0 6 16 17
Chicago - - 6 0 14 16
L.A - - - - 0 -
Boston - - - - - 0
22© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 3.4: Mô hình
N.Y Chicago L.A Boston Dummy Cầu
Memphis 8 13 25 28 0 150
Denver 15 12 26 25 0 200
N.Y 0 6 16 17 0 350
Chicago 6 0 14 16 0 350
Cung 350 350 130 130 90
l Lập mô hình vận tải cân bằng cho bài toán
chuyển hàng bằng cách bổ sung điểm cầu giả có
nhu cầu = 150+200-130-130 = 90
Mô hình hóa
Bài toán Lập kế hoạch SX
l Nhu cầu của loại động cơ tiết kiệm năng lượng trong
5 tháng tới là 200, 150, 300, 250 và 400 chiếc. Nhà
sản xuất có khả năng sản xuất tương ứng trong các
tháng đó là 180, 230, 430, 300 và 300 chiếc. Hàng
không được phép giao chậm, nhưng cty có thể huy
động làm thêm giờ nếu cần, với sản lượng bổ sung
đạt tối đa 50% công suất bình thường. Chi phí SX các
tháng là 100$, 96$, 115$, 102$ và 105$. Chi phí cho
động cơ làm ngoài giờ cao gấp rưỡi chi phí SX bình
thường. Ngoài ra những động cơ được SX và dự trữ
để bán sau sẽ có chi phí lưu kho 4$/đcơ/tháng. Lập
mô hình vận tải để giải bài toán này.
Mô hình hóa
Bài toán Cung ứng dịch vụ
l Một cty cung ứng dvụ ký HĐ cung cấp khăn trải bàn sạch
cho 1 nhà hàng có nhu cầu trong tuần như sau. Cty có thể:
- cung cấp khăn mới, với giá 1.2$/chiếc
- giặt hấp nhanh để ngay sáng hôm sau nhận được khăn
sạch, với giá 0.6$/chiếc
- giặt hấp thông thường để 3 ngày sau nhận được khăn sạch,
với giá 0.3$/chiếc
l Cty nên lập kế hoạch cung ứng khăn ntn?
Ngày CN T2 T3 T4 T5 T6 T7
Nhu cầu 240 120 140 200 180 140 220
Mô hình hóa
Bài toán Điều xe
l Cảnh sát 113 Hànội nhận được 3 cuộc gọi yêu cầu
hỗ trợ. Hiện có 5 xe tuần tra có thể huy động, thời
gian cần thiết để các xe này tới được nơi yêu cầu
như trong bảng. Hãy dùng phương pháp Hungary
để xác định xe nào cần điều đến vị trí nào.
Xe 1 Xe 2 Xe 3 Xe 4 Xe 5
Cuộc gọi 1 10 6 7 5 9
Cuộc gọi 2 11 7 8 6 4
Cuộc gọi 3 18 7 5 4 7
23© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Bài toán Bố trí lịch bay
l AirVN cần bố trí phi hành đoàn cho các chuyến
bay hàng ngày giữa Hà Nội (HAN) và thành phố
HCM (SGN). Mỗi ngày một phi hành đoàn phải
bay một chuyến HAN-SGN và 1 chuyến SGN-
HAN với thời gian nghỉ giữa 2 chuyến bay tối
thiểu là 1h. Cty muốn lập lịch bay sao cho giảm
thiểu thời gian chờ giữa 2 chuyến bay của phi
hành đoàn.
l Dùng mô hình giao việc để giải bài toán, giả thiết
rằng cuối ngày các nhân viên phi hành đoàn đều
trở về nhà.
Mô hình hóa
Lịch bay AirVN
Chuyến Rời
HAN
Đến
SGN
Chuyến Rời
SGN
Đến
HAN
1 7 am 9 am 1 6.30 am 8.30 am
2 7.30 am 9.30 am 2 8 am 10 am
3 11 am 1 pm 3 12 pm 2 pm
4 3 pm 5 pm 4 2 pm 4 pm
5 5 pm 7 pm 5 5 pm 7 pm
6 7 pm 9 pm 6 6 pm 8 pm
7 9 pm 11 pm 7 8 pm 10 pm
Mô hình hóa
Bài toán Tuyển dụng LĐ
l Một cty môi giới cần cung ứng lao động bán phổ thông
cho 5 tháng tới với số lượng tương ứng là 100, 120, 80,
170, 50 người. Chi phí để sử dụng lao động phụ thuộc vào
độ dài thời gian thuê lao động. Dùng mô hình chuyển
hàng xây dựng kế hoạch tuyển LĐ để chi phí là nhỏ nhất?
Thời gian thuê
LĐ (tháng)
1 2 3 4 5
Chi phí/LĐ
(triệu đồng)
1 1,3 1,8 2,2 2,5
Mô hình hóa
24© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
MÔ HÌNH HÓA
HỆ THỐNG SẢN XUẤT
TS. Đặng Vũ Tùng
Hànội - 2014
Trường Đại học Bách Khoa Hà Nội
Viện Kinh tế và Quản lý
***
Mô hình hóa
Chương 4.
Một số mô hình Mạng
1. Bài toán Tuyến đường ngắn nhất (shortest path)
2. Bài toán Lưu lượng tối đa (maximum flow)
3. Bài toán Mạng với chi phí tối thiểu (minimum
cost capacitated network)
4. Bài toán cây tối thiểu (minimum spanning tree)
5. Bài tập ứng dụng: Kiểm soát dự án (CPM &
PERT)
Mô hình hóa
Mục tiêu của Chương
Giúp sinh viên:
l Nắm được các đặc trưng của bài toán mạng
l Biết cách lập mô hình để đưa một bài toán
về dạng mô hình mạng
l Lập mô hình cho một số bài toán mạng cơ
bản
l Dùng phần mềm để giải mô hình
(thời lượng: 6 tiết + 4 tiết thực hành)
Mô hình hóa
4.1. Khái niệm
l Bài toán vận tải và các biến thể của nó là những
bài toán có thể biểu diễn và giải bằng mô hình
mạng.
l Một số ví dụ khác:
– Thiết kế mạng đường ống dẫn khí tự nhiên nối các
giếng khoan ở Biển Đông vào nhà máy chế biến khí
Dinh Cố
– Xác định tuyến đường ngắn nhất nối 2 thành phố trong
mạng giao thông đường bộ hiện có
– Xác định kế hoạch vận chuyển với chi phí nhỏ nhất từ
nơi khai thác dầu đến nhà máy lọc dầu và tới các trung
tâm phân phối xăng dầu. Xăng dầu có thể vận chuyển
bằng tàu thủy, xe bồn hoặc đường ống với công suất tối
đa đã biết
25© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Khái niệm (tiếp)
l Nhiều bài toán tối ưu hóa có thể phân tích rất thuận tiện
thông qua biểu đồ (graph) biểu thị quan hệ giữa các yếu tố.
l Một biểu đồ mạng được xác định bởi tập các nút (node) và
các cung (arc).
l Trong mỗi mạng có dòng chảy (flow) của hàng hóa dưới
dạng nào đó (dầu chảy qua mạng đường ống, dòng xe chạy
trong mạng giao thông,..)
l Các dòng chảy qua một cung bị hạn chế bởi công suất của
cung (có thể là hữu hạn hoặc vô hạn)
l Một cung sẽ là có hướng nếu nó cho dòng chảy dương qua
nó theo một chiều và không cho chảy theo chiều ngược lại.
Một mạng có hướng sẽ gồm nếu các cung của nó đều có
hướng
Mô hình hóa
4.2 Bài toán Tuyến đường
ngắn nhất
l Giả thiết mỗi cung trong mạng có độ dài
xác định
l Bài toán tìm đường đi ngắn nhất từ nút
mạng số 1 đến một nút bất kỳ trong mạng
gọi là Bài toán Tuyến đường ngắn nhất
l Ví dụ: tìm đường ngắn nhất từ nhà T đến
giảng đường D8
Mô hình hóa
Ví dụ 4.1: Thay thế thiết bị
l Một thiết bị mới được mua với giá $12,000 tại thời điểm 0.
l Chi phí bảo dưỡng thiết bị trong một năm phụ thuộc vào số
năm đã khai thác thiết bị (tuổi của thiết bị)
l Có thể thanh lý máy cũ và mua máy mới để tránh chi phí
bảo dưỡng quá lớn. giả thiết giá máy mới là không đổi
l Mục tiêu là tối thiểu hóa chi phí cho 5 năm hoạt động
Tuổi (năm) Chi phí bảo dưỡmg Giá thanh lý
0 $2,000 -
1 $4,000 $7,000
2 $5,000 $6,000
3 $9,000 $2,000
4 $12,000 $1,000
5 - $0
Mô hình hóa
Ví dụ 4.1 – Lập mô hình mạng
l Bài toán này có thể được lập mô hình dưới dạng
bài toán tuyến đường ngắn nhất
l Biểu đồ mạng gồm có 6 nút:
– Nút i là thời điểm bắt đầu năm i và với i<j, cung (i,j)
ứng với việc mua thiết bị mới ở đầu năm i và sử dụng
đến đầu năm j.
l Chiều dài của cung (i,j) là cij chính là tổng chi phí
khi sử dụng máy từ năm i đến năm j
cij = chi phí bảo dưỡng các năm i,i+1,,j-1
+ chi phí mua máy mới đầu năm i
- giá thanh lý máy cũ đầu năm j
26© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 4.1 – Tính toán chi phí
l Chiều dài các cung ứng với chi phí vận hành từ
thời điểm i đến thời điểm j:
c12=2+12-7=7
c13=2+4+12-6=12
c14=2+4+5+12-2=21
c15=2+4+5+9+12-1=31
c16=2+4+5+9+12+12-0=44
c23=2+12-7=7
c24=2+4+12-6=12
c25=2+4+5+12-2=21
c26=2+4+5+9+12-1=31
c34=2+12-7z=7
c35=2+4+12-6=12
c36=2+4+5+12-2=21
c45=2+12-7=7
c46=2+4+12-6=12
c56=2+12-7=7
Mô hình hóa
Ví dụ 4.1 – Nghiệm
l Từ biểu đồ có thể thấy cả hai tuyến 1-3-5-6
và 1-2-4-6 đều cho giá trị nhỏ nhất (=31).
1 65432
7 7 7 7 7
21
12
12
21
31
12
21
31
44
12
Mô hình hóa
Phương pháp giải
l Với giả thiết các cung có độ dài không âm, thuật
toán Dijkstra được dùng để tìm tuyến ngắn nhất
từ một nút mạng
l Có thể lập bài toán này như bài toán trung chuyển
(transshipment): 1 đơn vị hàng chuyển từ điểm
nguồn đến điểm đích qua các tuyến khác nhau
trong mạng. Mục tiêu là giảm thiểu quãng đường
đi từ điểm nguồn đến điểm đích.
l Giải bài toán trung chuyển bằng LINGO
Mô hình hóa
Bảng tableau
Mua\Bán 2 3 4 5 6
1 7 12 21 31 44 1
2 0 7 12 21 31 B
3 - 0 7 12 21 B
4 - - 0 7 12 B
5 - - - 0 7 B
B B B B 1
27© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
4.3 Bài toán Lưu lượng Tối đa
(Maximum Flow)
l Nhiều tình huống có thể lập mô hình dưới dạng
một mạng trong đó các cung có một năng lực hạn
chế về lượng hàng có thể chuyển qua cung đó
l Trong những tình huống đó, thường có nhu cầu
vận chuyển dòng hàng tối đa từ một điểm ban đầu
(nguồn) đến một điểm cuối (đích)
l Những loại bài toán này gọi là Bài toán Lưu
lượng Tối đa
Mô hình hóa
Ví dụ 4.2: Lưu lượng tối đa
l Cty Sunco Oil muốn chuyển lượng dầu tối đa (mỗi giờ) qua hệ
thống đường ống từ điểm so đến điểm si.
l Các cung thể hiện các tuyến đường ống có Ø khác nhau =>
quyết định số thùng dầu tối đa có thể chuyển qua đường ống
(công suất của cung)
so si21
(2)2 (2)3 (2)2
(0)3
a0(2)
3(0)4 (0)1
Cung Công suất
(1000 thùng/giờ)
(so,1) 2
(so,2) 3
(1,2) 3
(1,3) 4
(3,si) 1
(2,si) 2
Mô hình hóa
Phương pháp giải
l Lập mô hình LP để xác định số thùng dầu tối đa
có thể chuyển từ so đến si mỗi giờ
l Lập cung giả a0 nối điểm đích đến điểm nguồn
l Xác định biến ra quyết định:
– xij = Lượng thùng dầu chuyển qua cung (i,j) mỗi giờ
l Để có dòng chảy tồn tại phải thỏa mãn 2 đặc tính:
– 0 <= lưu lượng chảy qua cung <= công suất của cung
– Lưu lượng chảy vào nút i = Lưu lượng chảy ra khỏi nút
i
l Bài toán Lưu lượng tối đa có thể giải thuận tiện
bằng LINGO
Mô hình hóa
Phương pháp giải
l Gọi x0 = lưu lượng qua cung giả ao, nguyên lý bảo toàn
dòng chảy => x0 = tổng lượng dầu đến điểm đích
l Mục tiêu của Sunco là tối đa hóa x0.
l Một nghiệm tối ưu cho bài toán LP này là Z=3, xso,1=2,
x13=1, x12=1, xso,2=1, x3,si=1, x2,si=2, xo=3.
Max Z= X0
S.t. Xso,1<=2 (Công suất của cung)
Xso,2<=3
X12<=3
X2,si<=2
X13<=4
X3,si<=1
X0=Xso,1+Xso,2 (Cân bằng nút so)
Xso,1=X12+X13 (Cân bằng nút 1)
Xso,2+X12=X2,si (Cân bằng nút 2)
X13+X3,si (Cân bằng nút 3)
X3,si+X2,si=X0 (Cân bằng nút si)
Xij>=0
28© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 4.3 : Định tuyến vận chuyển
l Hãng HK Fly-by-Night cần
bố trí các chuyến bay nối
chuyến giữa Juneau
(Alaska) và Dallas (Texas).
Các chuyến bay phải dừng
tại Settle, rồi dừng ở Los
Angeles hoặc Denver. Cty
được cấp phép số chuyến
bay tối đa giữa các thành
phố mỗi ngày như sau. Hãy
lập kế hoạch bay để tăng tối
đa số chuyến bay hàng
ngày từ Juneau đến Dallas.
Chuyến Số lượng
max
Juneau- Settle 3
Settle –
Los Angeles
2
Settle -Denver 3
Los Angeles -
Dallas
1
Denver -Dallas 2
Mô hình hóa
4.4. Bài toán mạng với chi
phí tối thiểu (MCCN)
l Các bài toán vận tải, giao việc, trung chuyển,
tuyến đường ngắn nhất, lưu lượng tối đa,.. đều là
các trường hợp đặc biệt của bài toán mạng với chi
phí tối thiểu (minimum cost capacitated network -
MCCN).
l Dạng thức chung của bài toán MCCN:
(với mỗi nút i trong mạng)
(với mỗi cung trong mạng)
Mô hình hóa
MCCN – Đặc điểm bài toán
l Ràng buộc yêu cầu tổng dòng ra tịnh của nút i phải
bằng bi được gọi là phương trình cân bằng dòng.
l Các phương trình cân bằng dòng trong bài toán
MCCN có thuộc tính quan trọng sau:
Mỗi biến xij có hệ số +1 trong phương trình cân
bằng của nút i, hệ số -1 trong phương trình cân
bằng của nút j, và hệ số là 0 trong tất cả các
phương trình cân bằng khác.
l Dùng LINGO để giải dễ dàng các bài toán MCCN.
Mô hình hóa
Ví dụ 4.4 - Bài toán MCCN
l Một cty sản xuất 1 hợp chất
cơ bản để làm các loại sơn.
Cty có 2 nhà máy và ký hợp
đồng cung cấp từ 2 nhà cung
ứng để bán SP cho 2 khách
hàng. Hợp đồng cung ứng
500 và 700 tấn nguyên liệu từ
nhà cung ứng 1 và 2 với gia
tương ứng là 200$ và
210$/tấn. Để tạo 1 tấn hợp
chất cần 1.2 tấn nguyên liệu.
Chi phí vận chuyển, công
suất của các nhà máy và nhu
cầu của khách hàng như trong
bảng.
Nhà
máy
Chi phí
SX/ tấn
CS min
(tấn)
CS max
(tấn)
1 25$ 400 800
2 28$ 450 900
Nhà
máy
Nhà
cung
ứng S1
Nhà
cung
ứng S2
Khách
hàng
C1
Khách
hàng
C2
1 10$ 9$ 3$ 4$
2 12$ 13$ 5$ 2$
29© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 4.4 - Bài toán MCCN
l Sơ đồ mạng biểu diễn bài toán:
1
4
53
2200$
(500,)
210$
(750,)
10$
(0,500)
13$
(0,750)
9$
12$
(0,500)
(450,900)
8
97
6
3$
2$
5$
4$
25$
28$
(400,800)
[-660]
[-800]
[F]
Mô hình hóa
Ví dụ 4.5 - Bài toán vận tải
dưới dạng MCCN (1)
l Mô hình MCCN dùng mô tả bài toán vận tải khi:
– Điểm cung nối trực tiếp với điểm cầu
– Công suất tối thiểu của các cung bằng 0
– Công suất tối đa của các cung bằng
1
2 4
3
Điểm cung 1
Điểm cung 2 Điểm cầu 2
Điểm cầu 1
1 2 4 (Nút 1)
3 4 5 (Nút 2)
6 (Nút 3) 3 (Nút 4)
Mô hình hóa
Ví dụ 4.5 - Bài toán vận tải
dưới dạng MCCN (2)
l Biểu diễn dưới dạng MCCN:
min Z = X13+2X14+3X23+4X24
X13 X14 X23 X24
1 1 0 0 = 4 Nút 1
0 0 1 1 = 5 Nút 2
-1 0 -1 0 = -6 Nút 3
1 -1 0 -1 = -3 Nút 4
Các biến không âm
Mô hình hóa
Bài toán tuyến đường ngắn
nhất dưới dạng MCCN
l Mô hình MCCN dùng mô tả bài toán tuyến đường ngắn
nhất khi:
– Điểm nguồn chuyển +1 đơn vị hàng và điểm đích nhận -1
đơn vị
– Tất cả các cung có công suất tối thiểu của các cung bằng 0, và
công suất tối đa của các cung bằng
– Đơn giá chi phí của dòng vận chuyển trên mỗi cung thể hiện
khoảng cách giữa các nút mạng
l Mục tiêu của bài toán là chuyển 1 đơn vị hàng từ
nguồn đến đích với chi phí (khoảng cách) là nhỏ nhất
30© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Bài toán lưu lượng tối đa dưới
dạng MCCN
l Mô hình MCCN dùng mô tả bài toán lưu lượng tối đa khi:
– Công suất tối đa của các cung thể hiện dòng tối đa cho phép,
công suất tối thiểu của các cung bằng 0
– Tất cả các cung có đơn giá chi phí vận chuyển bằng 0
– Lượng chuyển từ nút nguồn và lượng nhận tại nút đích được
đặt tương ứng bằng +F và –F. Giá trị F cần chọn đủ lớn để
cho phép dòng tối đa chảy qua mạng
– Một cung trực tiếp nối điểm nguồn với điểm đích. Mục đích
là để chuyển lượng dư (surplus) của F không chảy qua mạng.
Cung này không có hạn chế về công suất, và có chi phí vận
chuyển đủ lớn để lượng hàng qua mạng ban đầu là lớn nhất.
Mô hình hóa
Ví dụ 4.6 - Bài toán lưu lượng tối
đa dưới dạng MCCN
l Xét ví dụ 4.2. Ta có: bso=b1=b2=b3=bsi=0
min Z = -X0
Xso,1 Xso,2 X13 X12 X3,si X2,si X0
1 1 0 0 0 0 -1 = 0 Nút so
-1 0 1 1 0 0 0 = 0 Nút 1
0 -1 0 -1 0 1 0 = 0 Nút 2
0 0 -1 0 1 0 0 = 0 Nút 3
0 0 0 0 -1 -1 1 = 0 Nút si
1 0 0 0 0 0 0 ≤ 2 Cung (so,1)
0 1 0 0 0 0 0 ≤ 3 Cung (so,2)
0 0 1 0 0 0 0 ≤ 4 Cung (1,3)
0 0 0 1 0 0 0 ≤ 3 Cung (1,2)
0 0 0 0 1 0 0 ≤ 1 Cung (3,si)
0 0 0 0 0 1 0 ≤ 2 Cung (2,si)
Các biến không âm
Mô hình hóa
Ví dụ 4.7 - Bài toán giao thông
l Mỗi giờ có trung bình 900 xe vào mạng tại nút 1 để đi đến
nút 6. Thời gian cần để đi qua mỗi phố và số xe tối đa có khả
năng lưu thông qua mỗi phố trong 1 giờ (trong ngoặc) như
trên hình. Lập mô hình MCCN để tối thiểu hóa tổng thời gian
cần để tất cả các xe đi qua mạng từ nút 1 đến nút 6.
1
6
4
53
210 (800)
50 (600)
30 (600)
60 (400)
30 (600)
60 (400)
10 (300)
70 (100)
30 (600)
Mô hình hóa
4.5 Bài toán Cây tối thiểu
(Minimum Spanning Tree)
l Xét trường hợp cần tạo mạng đường giao thông nối
liền một số cụm dân cư ở vùng nông thôn. Do ngân
sách hạn hẹp nên cần xây dựng số km đường tối
thiểu mà vẫn cho phép giao thông từ nơi này đến
nơi khác.
l Trường hợp trên có thể biểu diễn bằng một mạng
lưới trong đó mỗi cụm dân là một nút và mỗi con
đường là một cung.
31© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Bài toán Cây tối thiểu
l Mô hình thu được là một điển hình của bài toán cây
tối thiểu, trong đó phải xác định tập các cung trong
một mạng sao cho chúng nối tất cả các nút mạng
với nhau với tổng độ dài các cung là nhỏ nhất ( kết
nối có hiệu quả nhất tất cả các nút mạng với nhau)
l Mỗi cung (i,j) trong mạng có một độ dài nhất định,
và cung (i,j) biểu diễn việc kết nối nút i với nút j
l Với một mạng có n nút, một cây là nhóm n-1 cung
nối tất cả các nút của mạng với nhau và không tạo
thành vòng
Mô hình hóa
Thuật toán Cây tối thiểu
l Bước 1. Bắt đầu từ nút i bất kỳ, nối nó với nút j gần nhất
trong mạng. Hai nút i, j tạo thành tập các nút kết nối C={i,j}
và cung (i,j) nằm trong cây tối thiểu. Các nút còn lại trong
mạng tạo thành tập các nút chưa kết nối C’
l Bước 2. Chọn một phần tử thuộc C’ (nút n) gần nhất với
một phần tử bất kỳ nằm trong C (nút m). Cung (m,n) sẽ
thuộc cây tối thiểu. Cập nhật các tập C (gồm nút i,j, n) và C’
(loại bỏ nút n).
l Bước 3. Lặp lại quá trình trên cho đến khi tập C’ rỗng, tức
là toàn bộ các nút đã nằm trong cây tối thiểu. Các phương
án có cùng giá trị có thể lựa chọn ngẫu nhiên, và thể hiện
các phương án thay thế.
Mô hình hóa
Ví dụ 4.8 – Kéo mạng cáp
l Cty truyền hình cáp ABC (1) đang lập kế hoạch
cung cấp dịch vụ cho 4 khu đô thị mới (2-5).
l Xác định cách kết nối cần ít cáp nhất
– Nếu không có đường nối giữa 2 khu đô thị nghĩa là về
mặt kỹ thuật không thể kéo cáp trực tiếp giữa 2 khu đó
4
2
5
3
1
6
4
5
1
3
2
2
2
4
Mô hình hóa
Ví dụ 4.8 – Kéo mạng cáp
– Bước 1: Chọn nút 1 để bắt đầu. Nút gần nhất là
2. Do đó C={1,2}, Ć={3,4,5}, cung (1,2) là
thuộc cây nhỏ nhất
4
2
5
3
1
6
4
5
1
3
2
2
2
4
32© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ví dụ 4.8 – Kéo mạng cáp
l Bước 2: Nút 5 gần nhất với tập C. Do nút 5 cách
đều nút 1 và 2, nên có thể đưa cung (2,5) hoặc
(1,5) vào cây nhỏ nhất. Giả sử chọn cung (2,5).
Vậy C={1,2,5} và Ć={3,4}.
4
2
5
3
1
6
4
5
1
3
2
2
2
4
Mô hình hóa
Ví dụ 4.8 – Kéo mạng cáp
l Bước 3: Do nút 3 gần nút 5 nhất, đưa cung (5,3)
vào cây nhỏ nhất. Ta có C={1,2,5,3} và Ć={4}.
4
2
5
3
1
6
4
5
1
3
2
2
2
4
Mô hình hóa
Ví dụ 4.8 – Kéo mạng cáp
l Bước 4: Nút 5 gần nút 4 nhất. Đưa cung (5,4) vào
cây nhỏ nhất
l Cây nhỏ nhất gồm các cung (1,2), (2,5), (5,3), và
(5,4). Chiều dài tối thiểu của cây là 1+2+2+4=9
4
2
5
3
1
6
4
5
1
3
2
2
2
4
Mô hình hóa
4.6 CPM & PERT
l Mô hình mạng có thể dùng để lập tiến độ cho các
dự án lớn gồm rất nhiều hoạt động
l Nếu thời gian thực hiện mỗi hoạt động đã biết và
xác định, thì phương pháp đường găng (CPM) có
thể dùng để tính toán thời gian cần thiết để hoàn
thành một dự án
l Nếu thời gian thực hiện các hoạt động là chưa biết
chắc chắn, thì phương pháp (PERT) có thể dùng
để dự tính xác suất là dự án sẽ hoàn thành tại một
mốc thời gian nào đó
33© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Ứng dụng
l CPM & PERT được sử dụng trong nhiều ứng dụng
khác nhau, chẳng hạn:
– Lập tiến độ cho các dự án xây dựng như xây tòa nhà
văn phòng, chung cư, cầu đường, sân vận động,
– Cài đặt hệ thống máy tính mới
– Thiết kế và marketing sản phẩm mới
– Đóng tàu
– Hòan tất việc sát nhập công ty
– V.v.
Mô hình hóa
Hoạt động của dự án
l Để áp dụng CPM & PERT, cần liệt kê các hoạt động
(activities) của dự án.
l Dự án hoàn thành khi tất cả các hoạt động đã hoàn thành
l Để bắt đầu một hoạt động nhất định cần hoàn thành một
tập các hoạt động khác (hoạt động tiền đề)
l Dùng biểu đồ mạng để thể hiện quan hệ trình tự trước sau
giữa các hoạt động của dự án
l Hoạt động thể hiện bằng các cung có hướng và các nút thể
hiện sự kiện (event) hoàn thành các hoạt động (biểu đồ
AOA)
Mô hình hóa
Biểu đồ mạng AOA
l Biểu đồ dự án AOA được xây dựng dựa trên các hoạt động
và quan hệ tiền đề với những quy tắc sau:
1. Nút 1 biểu diễn sự kiện bắt đầu dự án. Cung đi ra từ nút 1 thể hiện
một hoạt động không có tiền đề.
2. Có một nút thể hiện sự hoàn thành dự án (nút kết thúc)
3. Đánh số các nút trong mạng để nút thể hiện điểm hoàn thành của
một hoạt động luôn có số lớn hơn nút thể hiện điểm bắt đầu của
hoạt động đó.
4. Một hoạt động không thể hiện bởi nhiều hơn một cung trong mạng
5. Hai nút chỉ nối với nhau bởi tối đa 1 cung.
l Để tránh vi phạm quy tắc 4 &5, đôi khi cần sử dụng các
hoạt động giả có thời gian thực hiện bằng không.
Mô hình hóa
Ví dụ: lập tiến độ dự án
l Cty Widgetco chuẩn bị giới thiệu SP mới. Các hoạt động
và trình tự như sau. Thể hiện dự án bằng biểu đồ mạng
Hoạt động Hđ trước Thời gian (ngày)
A: đào tạo công nhân - 6
B: mua nguyên liệu - 9
C: SX sản phẩm 1 A, B 8
D: SX sản phẩm 2 A, B 7
E: thử nghiệm sản phẩm 2 D 10
F: lắp ráp sản phẩm 1&2 C, E 12
34© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
Biểu đồ mạng
l Biểu đồ dự án Widgetco
1
65
42
3
A (6)
B (9)
Hđộng giả
C (8)
D (7)
E (10)
F (12)
Nút 1 = bắt đầu
Nút 6 = kết thúc
Mô hình hóa
Thời gian bắt đầu sớm ET(i)
l Thời gian bắt đầu sớm của nút i, ET(i), là thời điểm
sớm nhất mà sự kiện ứng với nút i có thể diễn ra.
l Để tìm thời gian bắt đầu sớm của mỗi nút mạng:
– Tìm các sự kiện tiền đề trực tiếp của nút i (là nút được
nối bằng một cung tới nút i)
– cộng thời gian của mỗi hoạt động tiền đề với giá trị ET
của mỗi sự kiện tiền đề của nút i,
– ET(i) bằng giá trị lớn nhất của các tổng vừa tính
Mô hình hóa
Thời gian bắt đầu muộn LT(i)
l Thời gian bắt đầu muộn của nút i, LT(i), là thời điểm chậm
nhất mà sự kiện ứng với nút i có thể diễn ra mà không làm
ảnh hưởng đến thời gian hoàn thành dự án.
l Để tính LT(i) ta bắt đầu từ nút kết thúc và tính
ngược lại:
– Tìm mỗi nút xảy ra sau nút i và được nối trực tiếp với
nút i bởi một cung. Những sự kiện này là sự kiện kế
tiếp của nút i.
– Trừ thời gian thực hiện của hoạt động kế tiếp của nút i
từ giá trị LT(i) của sự kiện kế tiếp của nút i.
– LT(i) là giá trị nhỏ nhất trong các giá trị vừa tính
Mô hình hóa
Ví dụ - Tính LT(i)
– Từ biểu đồ ta biết thời gian hoàn thành muộn của nút 6
là ngày 38.
– Do nút 6 là nút kế tiếp duy nhất của nút 5, nên
LT(5)=LT(6)-12=26. Tương tự LT(4)= LT(5)-10=16.
– Nút 4 và 5 là các nút kế tiếp của nút 3, do vậy
35© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa
l Tính ET(i) & LT(i) cho bài toán Widgetco
Nút ET(i) LT(i)
1 0 0
2 9 9
3 9 9
4 16 16
5 26 26
6 38 38
Mô hình hóa
Tính toán đường găng
l Khái niệm độ tự do tổng của một hoạt động (i,j),
TF(i,j), của là thời gian mà thời điểm bắt đầu của
hoạt động (i,j) có thể lui lại kể từ điểm bắt đầu
sớm nhất của nó mà không làm chậm thời điểm
hoàn thành dự án.
l Một hoạt động có TF=0 là một hoạt động găng
l Đường nối từ nút 1 đến nút kết thúc mà chỉ gồm
toàn các hoạt động găng gọi là đường găng
l Đường găng của ví dụ Widgetco là 1-2-3-4-5-6.
Mô hình hóa
Công cụ LP
l Dùng LP để tính toán chiều dài đường găng:
– Biến ra quyết định : xj – thời gian diễn ra sự kiện ứng
với nút j
– Mục tiêu là giảm thiểu thời gian cần để hoàn thành dự
án, Z = xF-x1
– Với mỗi hoạt động (i,j), trước khi j diễn ra thì i phải
diễn ra và hoạt động (i,j) đã hoàn thành
l LP còn có thể dùng để xác định phương án phân
bổ các nguồn lực của dự án để hoàn thành dự án
với chi phí nhỏ nhất trong trừơng hợp cần hoàn
thành dự án trong thời gian ngắn hơn chiều dài của
đường găng (crashing)
Mô hình hóa 145
Bài tập ứng dụng
36© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
MÔ HÌNH HÓA
HỆ THỐNG SẢN XUẤT
TS. Đặng Vũ Tùng
Hànội - 2014
Trường Đại học Bách Khoa Hà Nội
Viện Kinh tế và Quản lý
***
Mô hình hóa 147
Chương 5.
Bài toán Biến nguyên (IP)
1. Đặc tính của mô hình IP
2. Giải mô hình IP: phương pháp B&B
3. Một số Bài toán điển hình:
1. Lập tiến độ chạy máy
2. Bài toán Set-covering
3. Bài toán Chi phí cố định
4. Bài toán kế hoạch sản xuất
5. Bài toán Knap-sack
6. Bài toán TSP
Mô hình hóa 148
5.1. Ví dụ 5.1
Bài toán cơ cấu sản phẩm
Công ty R. sản xuất 2 loại sơn tường : sơn trong nhà (giá
bán 20 tr.đ/bồn) và sơn ngoài nhà (giá bán 30 tr.đ/bồn).
Hai nguyên liệu chủ yếu A và B được cung cấp tối đa 6
tấn A và 8 tấn B mỗi ngày. Sản xuất 1 bồn sơn trong nhà
cần 2 tấn nguyên liệu A và 1 tấn nguyên liệu B, trong khi
1 bồn sơn ngoài trời cần 1 tấn A và 2 tấn B.
Nghiên cứu thị trường => nhu cầu tối đa 2 bồn sơn
trong nhà /ngày; nhu cầu sơn trong nhà không được
nhiều hơn nhu cầu sơn ngoài trời quá 1 bồn / ngày.
Công ty R. nên sản xuất bao nhiêu bồn sơn mỗi loại để
đạt doanh thu lớn nhất? (Số bồn sơn phải nguyên.)
Mô hình hóa 149
Lập mô hình
1. Biến ra quyết định: thể hiện phương án lựa chọn cho người ra quyết
định, trong trường hợp này là lượng sơn SX
– Xt = số bồn sơn trong nhà sản xuất mỗi ngày
– Xn = số bồn sơn ngoài trời sản xuất mỗi ngày
2. Hàm mục tiêu: thể hiện đích mà mô hình muốn hướng tới, tức là tối đa
hóa tổng doanh thu từ việc bán lượng sơn đã SX ra: Z = 20 xt + 30 xn.
l Hàm mục tiêu: Max z = 20 xt + 30 xn.
3. Các điều kiện ràng buộc:
l Hạn chế về mức độ sử dụng từng loại nguyên liệu (A, B) :
– 2xt + xn 6 (nguyên liệu A)
– xt + 2xn 8 (nguyên liệu B)
l Hạn chế về nhu cầu thị trường của hai loại sơn, :
– xt - xn 1 (chênh lệch giữa 2 loại sơn)
– xt 2 (sơn trong nhà)
l Các biến nguyên & không âm: xt 0; xn 0; xt , xn = nguyên
37© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 150
Mô hình IP cho bài toán
max: z = 20xt + 30xn
thỏa mãn: 2xt + xn 6
xt + 2xn 8
xt - xn 1
xt 2
xt 0, xn 0
xt , xn : nguyên
Mô hình hóa 151
5.2. Khái niệm
l Bài toán biến nguyên (integer programming - IP) là
một bài toán qui hoạch trong đó một số hoặc toàn
bộ các biến phải nhận giá trị nguyên và không âm.
l Bài toán biến nguyên tuyến tính (integer linear
programming - ILP) là một bài toán qui hoạch tuyến
tính (LP) trong đó một số hoặc toàn bộ các biến
phải nhận giá trị nguyên và không âm.
l Nếu trong bài toán có ít nhất một quan hệ phi tuyến
và có biến cần nhận giá trị nguyên thì ta có một bài
toán biến nguyên phi tuyến (integer nonlinear
programming - INP).
Mô hình hóa 152
Khái niệm (2)
l Bài toán IP mà tất cả các biến đều phải là có giá trị
nguyên gọi là bài toán IP thuần túy (pure IP).
l Bài toán IP trong đó chỉ có một số biến đòi hỏi giá trị
nguyên gọi là bài toán IP hỗn hợp (mixed IP).
l Bài toán IP trong đó tất cả các biến đều bằng 0 hoặc
1 được gọi là bài toán IP 0-1 (binary IP hay IP nhị
phân).
l Một bài toán IP luôn có thể biến đổi đưa về bài toán
IP nhị phân
Mô hình hóa 153
Nới lỏng về tuyến tính
l Bài toán IP giải khó hơn bài toán LP rất nhiều -
miền nghiệm rời rạc
l Bài toán LP thu được khi loại bỏ tất cả các ràng
buộc về điều kiện nguyên hoặc 0-1 đối với các
biến của một bài toán IP được gọi là sự nới lỏng
về tuyến tính cho bài toán IP.
l Nghiệm của bài toán IP không bao giờ “tốt hơn”
nghiệm của bài toán LP nới lỏng tương ứng
38© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 154
Phương pháp B&B
l Phương pháp B&B: giải bài toán LP, sau đó bổ
sung dần các điều kiện rẽ nhánh theo các biến có
giá trị không nguyên trong nghiệm tối ưu của bài
toán LP.
l Bản chất là liệt kê (enumeration) toàn bộ các điểm
nghiệm trong miền nghiệm nguyên, loại bỏ chúng
cho đến khi chỉ còn lại nghiệm nguyên tối ưu.
Mô hình hóa 155
Thực hiện phương pháp B&B
l Chọn biến để rẽ nhánh:
– Bất kỳ hoặc rẽ nhánh theo biến có ý nghĩa kinh tế quan
trọng nhất (có đóng góp lớn nhất vào hàm mục tiêu)
l Điều kiện dừng rẽ nhánh: Một bài toán con (LP) sẽ
không cần phải tiếp tục rẽ nhánh khi bài toán con đó :
– không có nghiệm
– có nghiệm tối ưu với tất cả các biến đều nhận giá trị nguyên
– có giá trị z của nghiệm tối ưu không tốt hơn giới hạn dưới
(LB) hiện có (với bài toán maximization)
Mô hình hóa 156
Thực hiện phương pháp B&B
l Qui tắc chọn nhánh rẽ :
– Back-tracking: rẽ nhánh theo bài toán con tạo ra gần nhất
– Jump-tracking: rẽ nhánh theo bài toán con có giá trị z tốt
nhất hiện có
l Cập nhật giá trị nghiệm tối ưu:
– Cập nhật giá trị z tốt nhất hiện thời làm giới hạn xét các bài
toán con tiếp theo (giới hạn dưới LB với bài toán max.)
l Quá trình kết thúc khi:
– Toàn bộ các bài toán con đã được dừng rẽ nhánh
– Nghiệm của bài toán IP chính là nghiệm tốt nhất hiện có
Mô hình hóa 157
Giải Bài toán Hỗn hợp Sản phẩm
(vd 5.1) bằng B&B
Bài toán con No.1 (LP relaxation):
max: z = 20xt + 30xn
thỏa mãn: 2xt + xn 6
xt + 2xn 8
xt - xn 1
xt 2
xt 0, xn 0
Nghiệm tối ưu:
l xt = 1
1/3 , xn = 3
1/3
l Doanh thu max tương ứng là z1 = 126
2/3
39© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 158
Rẽ nhánh theo xt :
Bài toán con No.2 = No1 + điều kiện xt 1 :
max:z = 20xt + 30xn
thỏa mãn: 2xt + xn 6
xt + 2xn 8
xt - xn 1
xt 2
xt 0, xn 0
xt 1
Nghiệm tối ưu:
l xt = 1 , xn = 3.5
l Doanh thu max tương ứng là z2 = 125
Mô hình hóa 159
Rẽ nhánh theo xt :
Bài toán con No.3 = No1 + điều kiện xt 2 :
max: z = 20xt + 30xn
thỏa mãn: 2xt + xn 6
xt + 2xn 8
xt - xn 1
xt 2
xt 0, xn 0
xt 2
Nghiệm tối ưu:
l xt = 2 , xn = 2
l Doanh thu max tương ứng là z3 = 100
=> ứng viên nghiệm tối ưu; LB=100
Mô hình hóa 160
Rẽ nhánh theo xn :
Bài toán con No.4 = No2 + điều kiện xn 3:
max: z = 20xt + 30xn
thỏa mãn: 2xt + xn 6
xt + 2xn 8
xt - xn 1
xt 2
xt 0, xn 0
xt 1
xn 3
Nghiệm tối ưu:
l xt = 1 , xn = 3
l Doanh thu max tương ứng là z4 = 110
=> ứng viên nghiệm tối ưu; LB=110
Mô hình hóa 161
Rẽ nhánh theo xn :
Bài toán con No.5 = No2 + điều kiện xn 4 :
max: z = 20xt + 30xn
thỏa mãn: 2xt + xn 6
xt + 2xn 8
xt - xn 1
xt 2
xt 0, xn 0
xt 1
xn 4
Nghiệm tối ưu:
l xt = 0 , xn = 4
l Doanh thu max tương ứng là z5 = 120
=> ứng viên nghiệm tối ưu; LB=120
40© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 162
Ví dụ 5.2. Bài toán lập tiến độ
chạy máy (machine scheduling)
l Bốn công việc cần được gia công trên một thiết bị. Thời gian
cần để thực hiện mỗi việc và thời hạn hoàn thành của chúng
như trong bảng dưới đây. Thời gian trễ hạn tính bằng số ngày
kể từ khi hết hạn đến khi việc được hoàn thành (hoàn thành
trước hoặc đúng hạn thì thời gian trễ hạn bằng 0). Vậy phải
thực hiện các việc trên theo trình tự nào để tổng thời gian trễ
hạn là thấp nhất.
Việc Thời gian thực hiện Thời hạn hoàn thành
1 6 ngày Cuối ngày 8
2 4 ngày Cuối ngày 4
3 5 ngày Cuối ngày 12
4 8 ngày Cuối ngày 16
Mô hình hóa 163
Bài toán xác định trình tự
chạy máy (job sequencing)
l Nếu 4 công việc được thực hiện theo trình tự 1-2-3-4, thì tổng
thời gian trễ hạn sẽ là 16 ngày.
Việc Thời gian hoàn thành Số ngày trễ hạn
1 6 0
2 6 + 4 = 10 10 – 4 = 6
3 10 + 5 = 15 15 – 12 = 3
4 15 + 8 = 23 23 – 16 = 7
Tổng thời gian trễ D = 0+6+3+7 = 16 ngày
Mô hình hóa 164
Giải bằng phương pháp B&B
l Để xác định trình tự thực hiện công việc, đặt:
xij = 1 nếu việc i được thực hiện ở thứ tự j
= 0 nếu khác
l Thực hiện phương pháp B&B bằng cách phân
vùng các nghiệm theo việc được thực hiện cuối
cùng.
l Ta có trong nghiệm thu được: hoặc x14 = 1, hoặc
x24 = 1, hoặc x34 = 1, hoặc x44 = 1 => rẽ nhánh theo
việc hoàn thành cuối cùng
Mô hình hóa 165
Kế hoạch gia công
x14=1 x24=1 x34=1 x44=1
D≥15 D≥19 D≥11 D≥7
x13=1 x23=1 x43=1 x13=1 x23=1 x33=1
D≥21 D≥25 D≥13 D≥14 D≥18 D≥10
x12=1 x22=1
D=12 D=16
41© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 166
Bài toán tổng quát về xác định
trình tự chạy máy
l n công việc cần được gia công trên một thiết bị
l Yêu cầu về trình tự gia công đối với một số việc
l Yêu cầu về thời điểm bắt đầu gia công đối với một số việc
l Thời gian cần để gia công việc i là ai
l Thời hạn cần hoàn thành việc i là di
l 1. Phải thực hiện các việc trên theo thứ tự nào để đảm bảo thời
hạn hoàn thành của các việc, và trong thời gian ngắn nhất ?
l 2. Một số việc được phép hoàn thành trễ hạn. Phải thực hiện
các việc trên theo trình tự nào để tổng thời gian trễ hạn là thấp
nhất ?
Mô hình hóa 167
Ví dụ 5.3. Bài toán Set-covering
l Bài toán trong đó các phần tử của một tập hợp A
(Set A) phải được “phục vụ” (covered) bởi ít nhất
một phần tử thuộc một tập hợp B khác (Set 2).
Mục tiêu của bài toán là tối thiểu hóa số lượng
phần tử B cần dùng để phục vụ được tất cả các
phần tử A.
l Bài toán loại này được ứng dụng trong nhiều lĩnh
vực, chẳng hạn lập kế hoạch điều động phi hành
đoàn / chuyến bay, điều động xe (routing), thiết
lập mạng lưới đại lý, v.v.
Mô hình hóa 168
Bài toán Set-covering
l Thành phố A cần xác định
số điểm tối thiểu để xây
dựng các trạm cấp cứu tại
trung tâm các quận để
đảm bảo phục vụ tất cả
các quận trong vòng 15’
kể từ khi có yêu cầu.
Khoảng cách chạy xe giữa
các quận như trong bảng.
Hãy xác định số trạm cấp
cứu cần xây và địa điểm
đặt chúng.
1 2 3 4 5 6
1 0 10 20 30 30 20
2 0 25 35 20 10
3 0 15 30 20
4 0 15 25
5 0 14
6 0
Mô hình hóa 169
Bài toán Set-covering
l Gợi ý đặt biến xi =1 nếu đặt trạm tại quận i
= 0 nếu không đặt
l Hàm mục tiêu: Min z = ?
l Ràng buộc đảm bảo có ít nhất một trạm
trong vòng 15’ chạy xe từ mỗi quận: ?
42© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 170
Ví dụ 5.4. Bài toán Chi phí cố định
l Một sản phẩm có thể được sản xuất trên 4 cỗ máy khác
nhau. Mỗi máy có chi phí khởi động (cố định), chi phí gia
công (biến đổi theo sản phẩm), và công suất tối đa như
trong bảng. Cần phải SX tổng cộng 2000 đơn vị sản phẩm.
Hỏi bố trí sản xuất thế nào để giảm thiểu chi phí.
Máy Chi phí khởi
động Fi
Chi phí gia công
Vi
Công suất Pi
1 1000 20 900
2 920 24 1000
3 800 16 1200
4 700 28 1600
Mô hình hóa 171
Bài toán Chi phí cố định
l Đặt xi = số SP làm bằng máy i
l Hàm mục tiêu: min tổng chi phí cđịnh + bđổi:
min z = Fi * yi + Vi*xi
l Ràng buộc:
– xi <= Pi max (CS tối đa)
– Xi = 2000 (đáp ứng nhu cầu)
– Nếu xi >0 thì có chi phí cố định (yi=1)
– xi nguyên, không âm
– yi = 0 , 1
Nhiều bài toán logistic và sản xuất có thể mô hình hóa dưới
dạng bài toán biến nguyên chi phí cố định
Mô hình hóa 172
Điều kiện Nếu-Thì
l Ta có thể biểu diễn quan hệ này bằng cách đưa vào
biến nhị phân y và thể hiện bằng cặp 2 ràng buộc:
f(xi) ≤ M.y,
-g(xi) ≤ M(1-y),
y = 0 hoặc 1
l Nếu ràng buộc f(xi) > 0 thỏa mãn thì ràng buộc g(xi) ≥
0 cũng phải thỏa mãn
l Ngược lại, nếu ràng buộc f(xi) > 0 không thỏa mãn thì
ràng buộc g(xi) ≥ 0 có thể không thỏa mãn
Mô hình hóa 173
Ví dụ 5.5. Bài toán kế hoạch SX
l Cty Dorian sản xuất 3 loại ôtô: cỡ nhỏ-trung-lớn. Các
nguồn lực cần thiết và lợi nhuận tương ứng khi SX xe mỗi
loại như trong bảng. Hiện tại Cty có thể huy động 6000 tấn
thép & 60.000 h lao động. Để SX 1 loại xe nhất định đạt
hiệu quả kinh tế thì phải làm tối thiểu 1000 chiếc. Lập mô
hình IP để giải bài toán.
Cỡ nhỏ Cỡ trung Cỡ lớn
Thép 1,5 tấn 3 tấn 5 tấn
Lao động 30 h 25 h 40 h
Lãi $2000 $3000 $4000
43© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 174
Bài toán kế hoạch SX
l Gọi lượng xe mỗi loại sẽ SX là xi
l Hàm mục tiêu (1000 $): max z=2x1+3x2+4x3
l Ràng buộc về nguyên liệu thép: 1.5x1+3x2+5x3≤ 6000
l Ràng buộc về giờ lao động: 30x1+25x2+40x3≤ 60000
l Ràng buộc về lượng xe SX cỡ nhỏ: x1≤ 0 hoặc x1≥ 1000
l Ràng buộc về lượng xe SX cỡ trung: x2≤ 0 hoặc x2≥ 1000
l Ràng buộc về lượng xe SX cỡ lớn: x3≤ 0 hoặc x3≥ 1000
Mô hình hóa 175
Điều kiện Hoặc-Hoặc
l Ta có thể biểu diễn quan hệ này bằng cách đưa vào
biến nhị phân y và thể hiện bằng cặp 2 ràng buộc:
f(xi) ≤ M.y,
g(xi) ≤ M(1-y),
y = 0 hoặc 1
l Hoặc ràng buộc f(xi) ≤ 0 phải thỏa mãn hoặc ràng buộc
g(xi) ≤ 0 phải thỏa mãn
Mô hình hóa 177
Ví dụ 5.6. Bài toán Knap-sack
l NASA cần xác định
trong 3 loại đồ vật cần
mang lên tàu vũ trụ nên
mang bao nhiêu chiếc
mỗi loại. Trọng lượng và
lợi ích của đồ vật nêu
trong bảng. Được phép
mang lên tàu tối đa 26 kg
đồ vật. Nên mang những
vật nào để có lợi nhất?
Đồ
vật
Lợi
ích
Trọng
lượng
1 10 3
2 15 4
3 17 5
Mô hình hóa 178
Biến thể của
Bài toán Knap-sack
l Knap-Sack (Xếp đồ vào túi) đơn (single dimension) là bài
toán IP có dạng:
– Max z = ci xi
– Thmãn: ai xi ≤ bi
– xi nguyên
l Knap-Sack đa chiều là bài toán có nhiều hơn một ràng
buộc, chẳng hạn ràng buộc về thể tích của các vật.
l Knap-Sack 0-1 (nhị phân) là bài toán trong đó mỗi biến chỉ
được nhận giá trị 0 hoặc 1 (mỗi đồ vật chỉ được lấy 1
chiếc)
l Giải bằng phương pháp Branch & Bound hoặc Dynamic
Programming
44© TS Đặng Vũ Tùng – trường ĐH Bách Khoa Hà Nội
Mô hình hóa 179
Ví dụ 5.7. Bài toán người giao
hàng (TSP)
l Một người xuất phát tại 1 điểm cần đi thăm n điểm
khác nhau trước khi quay về điểm xuất phát. Anh
ta phải đi theo trình tự nào để giảm thiểu tổng
khoảng cách cần đi.
l Số phương án có thể: n!
l Giải bằng B&B
l Giải bằng Heuristics: lân cận gần nhất (nearest
neighbor); chèn rẻ nhất (cheapest insertion)
Mô hình hóa 180
Các thuật toán Heuristic
l Khi việc tìm nghiệm tối ưu là không thể /
không hiệu quả (vd bài toán TSP)
l Khi sai số nằm trong giới hạn chấp nhận
được (vd mô hình EOQ)
l Khi yêu cầu cần nhanh chóng xác định
phương án đủ “tốt”
l => Sử dụng giải thuật xây dựng riêng cho
bài toán (mỗi giải thuật có chất lượng
nghiệm khác nhau)
Mô hình hóa 181
Bài tập ứng dụng
Mô hình hóa – TS Đặng Vũ Tùng – ĐH Bách Khoa Hà Nội 182
KẾT THÚC
Các file đính kèm theo tài liệu này:
- ts_dang_vu_tungslidemhh1_5_2107.pdf