Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
823,57 KB
Nội dung
Bài Giảng Toán Chuyên Ngành – Specialized Mathematics CHƯƠNGBÀI TỐN ĐƯỜNGĐIVÀBÀI TỐN PHÂNCƠNG 5.1 Bài tốn tìm đường ngắn 5.1.1 Giới thiệu toán Bài toán tìm đường ngắ n nhấ t là bài toán tìm lô ̣ trình di chuyể n (của người, xe máy hay hàng hóa) từ mô ̣t điạ điể m này đế n mô ̣t điạ điể m khác ̣ thố ng nhiề u đường giao thông có sẵn cho tổ ng chiề u dài đường là ngắ n nhấ t Nói cách khác, nó tim ̀ đường ngắ n nhấ t xuấ t phát từ mô ̣t điể m nguồ n ban đầ u đế n mô ̣t chuỗi các điể m đić h khác Ví du ̣ như: + Tim ̀ đường ngắ n nhấ t từ nhà máy cung cấ p bê tông tươi đế n các công trường xây dựng + Tim ̀ đường ngắ n nhấ t để vâ ̣n chuyể n công nhân, máy móc thiế t bi ̣ từ công ty xây dựng đế n các công trường xây dựng + Tim ̀ đường nhắ n nhấ t từ mô ̣t thành phố này đế n mô ̣t thành phố khác ̣ thố ng đường giao thông + Tim ̀ đường ngắ n nhấ t từ nhà máy sản xuấ t đế n nhà kho chứa hàng + Tim ̀ đường ngắ n nhấ t (thời gian it́ nhấ t) từ nhà máy sản xuấ t đế n nơi tiêu thu ̣ sản phẩ m Thế vi cu ̣ ̉ a nút: là khoảng cách bé nhấ t từ nút đầ u (Nút 1) đế n nút đó Trong đó: u j ui d ij i uj - Khoảng cách ngắ n nhấ t từ nút đế n nút j với u1 = ui - Khoảng cách ngắ n nhấ t từ nút đế n nút i dij - Khoảng cách giữa nút j và nút i trước nó 5.1.2 Phương pháp giải 5.1.2.1 Phương pháp giải thuật tiến Bước 1: Tim ̀ nút nằ m gầ n nút gố c (nút xuấ t phát/ nút nguồ n) nhấ t Ghi giá tri ̣ (khoảng cách, thời gian, chi phi)́ từ nút xuấ t phát đế n nút gầ n nhấ t đó Lă ̣p la ̣i bước này với n = 1, 2, 3… cho đế n nút thứ n nằ m gầ n nhấ t là nút đích Bước 2: Thành lâ ̣p tâ ̣p nút đã khảo sát gồ m nút gố c và nút gầ n nút gố c nhấ t đã xác đinh ̣ ở bước Bước 3: Xác đinh ̣ tấ t cả các nút chưa khảo sát nằ m gầ n tâ ̣p nút đã khảo sát Tâ ̣p nút đã khảo sát đươ ̣c nố i trực tiế p đế n hoă ̣c nhiề u nút chưa khảo sát nào đó sẽ cung cấ p ứng viên cho nút gầ n nhấ t thứ n Bước 4: tim ̀ nút nằ m gầ n tâ ̣p nút đã khảo sát, và ghi khoảng cách ngắ n nhấ t đế n nút này từ nút gố c (giá tri ̣này go ̣i là thế vi ̣của gố c) Lưu ý: với mỗi nút đã khảo sát và các ứng viên của nó, cô ̣ng khoảng cách giữa chúng và GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Toán Chuyên Ngành – Specialized Mathematics khoảng cách ngắ n nhấ t từ nút gố c đế n nút đã khảo sát đó Nút nào có khoảng cách ngắ n nhấ t sẽ là nút gầ n nhấ t thứ n và tuyế n đường ngắ n nhấ t sẽ là tuyế n đường ta ̣o khoảng cách này Bước 5: lă ̣p la ̣i bước và bước + Tiế p tu ̣c lă ̣p la ̣i quá trình xác đinh ̣ thế vi ̣ của các nút ma ̣ng (bằ ng cách cô ̣ng thế vi ̣ của nút gầ n nhấ t và khoảng cách giữa nút) theo công thức: u j ui d ij i + Giá tri ̣thế vi ̣ ghi ở nút cuố i cùng chiń h là khoảng cách ngắ n nhấ t từ nút xuấ t phát đế n nút cuố i cùng Ví dụ minh họa: Cơng ty sản xuất nội thất Hàng ngày công ty phải vận chuyển sản phẩm nội thất (bàn, ghế, tủ, …) từ nhà máy sản xuất đến nhà kho chứa hàng Giám đốc cơng ty, muốn tìm đường ngắn từ nhà máy sản xuất (nút 1) đến nhà kho (nút 6) Cho biết sơ đồ mạng lưới đường giao thông thể hình (với chiều dài tuyến ng tớnh theo n v km) Nhà máy 10 200 10 50 10 20 40 150 10 Nhµ kho Hình 0.1 Sơ đồ tuyến đường giao thơng từ nhà máy đến nhà kho Giải toán Cách 1: Giải cách vẽ hình Quan sát Hình 0.1, thấy nút nằm gần nút gốc (nút 1-nhà máy sản xuất) nút 2, với khoảng cách 100 km Như vậy, nối nút nút ghi vào giá trị 100 Khi nút nút vào tập ó kho sỏt 100 Nhà máy 10 200 10 50 10 20 40 150 10 Nhµ kho Hình 0.2 Vòng lặp thứ Tiếp theo, phải xác định tất nút xuất phát từ tập nút khảo sát (nút nút 2) Đó nút 3, Chúng ta xác định đường ngắn từ tập nút khảo sát (nút nút 2) đến nút 3, 4, GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Tốn Chun Ngành – Specialized Mathematics Có đường xuất phát từ nút tuyến đường 1-3; đường xuất phát từ nút tuyến đường 2-3, tuyến đường 2-4 tuyến đường 2-5 Đường có khoảng cách ngắn theo tuyến đường 1-2-3 (100+50 = 150 km) Vì vậy, nút trở thành nút vào tập nút khảo sát Và ta ghi giá trị 150 vị nút 100 Nhà máy 10 200 10 50 10 20 40 150 10 Nhµ kho 150 Hình 0.3 Vòng lặp thứ hai Tương tự, lặp lại trình để xác định vị cho nút Tập nút khảo sát lúc gồm nút 1, Tiếp theo, ta phải xác định nút vào tập nút khảo sát Lúc này, nút 4, nút nằm gần tập nút khảo sát (xuất phát từ nút nút 3) Có đường xuất phát từ tập nút khảo sát (nút 1, 2, 3) đến nút nút tuyến đường 2-4, 2-5 3-5 Khoảng ngắn lộ trình 1-2-3-5 (150+40=190 km) Vì vậy, nút nút vào tập nút khảo sát 100 Nhà máy 10 200 10 50 10 20 150 40 150 10 Nhµ kho 190 Hình 0.4 Vòng lặp thứ ba Tập nút khảo sát lúc gồm nút 1, 2, Tiếp theo, ta phải xác định nút vào tập nút khảo sát Lúc này, nút nút nút nằm gần tập nút khảo sát Có tuyến đường xuất phát từ tập nút khảo sát (nút 1, 2, 5) đến nút tuyến đường 2-4, 5-4 5-6 Khoảng cách ngắn lộ trình 1-2-3-5-6 (190+100=290 km) Vì vậy, nút nút vào tập nút khảo sát Như vậy, đường có khoảng cách ngắn từ nút đến nút 290 km theo tuyến đường 1-2-3-5-6 GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Tốn Chun Ngành – Specialized Mathematics 100 Nhµ m¸y ]=’’ 10 200 10 50 10 20 150 40 290 10 Nhµ kho 150 190 kk,.,/p’ơ0;0 Hình 0.5 Vòng lặp thứ tư (cuối cùng) Cách 2: Giải cách lập bảng n Tập nút khảo sát nối trực tiếp với nút chưa khảo sát {1} 1 {1, 2} 2 {1, 2, 3} l.2 {1, 2, 3, 5} 5 Nút chưa khảo sát Tuyến đường khảo sát Tổng khoảng cách (thế vị nút chưa khảo sát) Khoảng cách ngắn Nút gần thứ n Đoạn nút nối 1-2 1-3 100 200 100 Nút 1-2 1-3 2-3 2-4 2-5 200 150 300 200 150 Nút 2-3 5 2-4 2-5 3-5 100+200=300 200 150+40=190 190 Nút 3-5 4 2-4 5-4 5-6 300 190+150=340 190+100=290 290 Nút 5-6 3 5.1.2.2 Giải thuật toán Dijkstra • Giới thiệu Giải thuật Dijkstra sử dụng để tìm đường ngắn từ nút nguồn nút khác mạng, dùng cho tốn có hay khơng có mạch vòng Giải thuật áp dụng cho tốn mạng có vòng • Giải thuật Dijkstra Bước 1: Biểu diễn sơ đồ lên bảng Bước 2: Tiến hành giải thuật (Khởi đầu) Đánh dấu màu nút i GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Toán Chuyên Ngành – Specialized Mathematics Đặt v(i)=0 nút j khác so với nút i đặt v(j) khoảng cách từ nút i tới j (Dừng thuật toán): Nếu tất nút đánh dấu màu Ngược lại, nút không đánh màu, chọn nút k v(k) nhỏ nhất.đánh dấu màu nút k Ở nút khơng đánh màu j, so sánh v(j) v(k)+c(k,j) sau chọn giá trị nhỏ ghi để thay v(j) Bước 3: Dựa vào nút đánh màu tìm đường ngắn từ nút i đến tất nút khác j Ví dụ minh họa: Cơng ty sn xut ni tht Nhà máy 200 10 10 50 10 20 40 150 10 Nhµ kho Từ sơ đồ ta chuyển lên bảng sau Như ta có 10 300 300 29 150 4 5 GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Toán Chuyên Ngành – Specialized Mathematics 5.1.2.3 Giải Quy hoạch tuyến tính nhị phânBài tốn tìm đường ngắn xem dạng đặc biệt toán trung chuyển với nguồn có cung 1, đích có cầu 1, số điểm trung chuyển Bàitoán mơ hình hóa giải QHTT nhị nguyên Các biến định toán cho biết tuyến đường lựa chọn sơ đồ mạng lưới với mục tiêu cực tiểu khoảng cách (chi phí) Các ràng buộc xác định số lượng đơn vị (0 1) vào nút với số khỏi nút Các biến định nghĩa sau: xij – phương án lựa chọn tuyến đường từ nút i đến nút j i = 1, 2, 3, 4, ; j = 2, 3, 4, 5, xij – tuyến đường ij lựa chọn ngược lại xịj = tuyến đường ij khơng lựa • Mơ hình QHTT tốn: Các biến: x12 , x13 , x23 , x24 , x25 , x32 , x35 , x42 , x45 , x46 , x52 , x53 , x54 , x56 xij Binary Hàm mục tiêu: Min Z 100 x12 200 x13 50 x23 50 x32 200 x24 200 x42 100 x25 100 x52 40 x35 40 x53 150 x45 150 x54 100 x46 100 x56 Các ràng buộc Bởi điểm khởi đầu nút 1, khơng tính biến từ nút nút trở nút Tương tự vậy, nút nút cuối, không kể đến biến bắt đầu nút Khi xem tốn trung chuyển, nút nguồn gốc (nút 1) phải có đơn vị vận chuyển từ Do đó, ta có ràng buộc: x12 x13 Nút đến cuối (nút 6) phải có đơn vị vận chuyển đến nó, ta có ràng buộc: x46 x56 Mỗi nút trung gian có ràng buộc lượng vào nút phải lượng khỏi nút Đối với nút 2, điều là: x12 x32 x23 x24 x25 Hay: x12 x32 x23 x24 x25 Các ràng buộc nút khác xây dựng tương tự Ràng buộc nút 3: x13 x23 x32 x35 GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Toán Chuyên Ngành – Specialized Mathematics Ràng buộc nút 4: x24 x54 x42 x45 x46 Ràng buộc nút 5: x25 x35 x45 x52 x53 x54 x56 LINGO Lời giải toán: x12 x23 x35 x56 Vậy lộ trình ngắn là: 1-2-3-5-6 với khoảng cách = 290km 5.2 Bài tốn phâncơng 5.2.1 Giới thiệu tốn Bài toán phâncơng là mơ ̣t da ̣ng đă ̣c biê ̣t của bài toán vâ ̣n tải và bài toán quy hoa ̣ch tuyế n tính Bài toán phâncông đươ ̣c dùng để phân bố nhân sự cho dự án, phâncông cán bô ̣ giám sát đế n từng công trường, giao hơ ̣p đồ ng cho các nhà thầ u, phâncông lao đô ̣ng… cho tổ ng chi phí hay thời gian thực hiê ̣n công viê ̣c là it́ nhấ t, tổ ng tiề n lời hay số lươ ̣ng sản phẩ m làm là nhiề u nhấ t Đă ̣c điể m quan tro ̣ng của bài toán phâncông là chỉ có mô ̣t công viê ̣c hay mô ̣t người đươ ̣c phâncông cho mô ̣t máy, mô ̣t công trường hay mô ̣t dự án nhấ t Mỗi bài toán phâncông có mô ̣t ma trâ ̣n chi phí (giờ công/ tiề n lời hay số lươ ̣ng sản phẩ m) gồ m m dòng và n cô ̣t Có m bô ̣ phâ ̣n đươ ̣c phâncông (i = 1… m tương ứng với số dòng) và n đố i tươ ̣ng cầ n đươ ̣c thực hiê ̣n (j = 1… n tương ứng với số cô ̣t) Mỗi bô ̣ phâ ̣n i đươ ̣c phâncông thực hiê ̣n mô ̣t đố i tươ ̣ng j với chi phí (giờ công/ tiề n lời hay số lươ ̣ng sản phẩ m) là cij 5.2.2 Phương pháp giải 5.2.2.1 Phương pháp giải Hungarian Thuâ ̣t toán Hungarian của bài toán phâncông đươc̣ áp du ̣ng cho trường hơ ̣p cực tiể u hàm mu ̣c tiêu (tổ ng chi phí hay thời gian thực hiê ̣n công viê ̣c nhỏ nhấ t) và ma trâ ̣n chi phí hay giờ công có số dòng bằ ng số cô ̣t (m = n) Thuâ ̣t toán Hungarian của bài toán phâncông dựa tiń h chấ t rút giảm ma trâ ̣n là trừ hay cô ̣ng thêm các giá tri ̣ thích hơ ̣p vào các phầ n tử ma trâ ̣n chi phí ta sẽ có mô ̣t ma trâ ̣n chi phí GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Tốn Chun Ngành – Specialized Mathematics hơ ̣i Chi phí hô ̣i là giá tri ̣ thiê ̣t ̣i có sự phâncông chưa phải là tố i ưu Nế u ta có thể rút giảm ma trâ ̣n đế n có các phầ n tử có giá tri ̣ không (“0”) ở mỗi dòng và cô ̣t thì có thể đa ̣t đươ ̣c sự phâncông tố i ưu vào các ô có giá tri không (“0”) đó ̣ Thuâ ̣t toán Hungarian của bài toán phâncông đươc̣ thực hiê ̣n qua các bước sau: Bước 1: Xác đinh ̣ ma trâ ̣n chi phí hô ̣i bằ ng cách: a- Trừ giá tri ̣chi phí của mo ̣i phầ n tử mỗi dòng cho giá tri ̣chi phí nhỏ nhấ t dòng ấ y b- Trừ giá tri ̣chi phí của mo ̣i phầ n tử mỗi cô ̣t cho giá tri ̣chi phí nhỏ nhấ t cô ̣t ấ y Bước 2: Kiể m tra điề u kiê ̣n tố i ưu: vẽ mô ̣t số tố i thiể u các đường thẳ ng dòng hay cô ̣t qua mo ̣i số không (“0”) của bảng Nế u số đường thẳ ng ít số dòng/ cô ̣t, thực hiê ̣n bước Nế u số đường thẳ ng bằ ng với số dòng/cô ̣t thì có thể thực hiê ̣n sự phâncông tố i ưu sau: a- Kiể m tra các dòng và các cô ̣t có nhấ t mô ̣t giá tri ̣ không (“0”) Thực hiê ̣n sự phâncông cho các ô đó b- Loa ̣i bỏ dòng và cô ̣t có chứa số không (“0”) đã phân phố i và tiế p tu ̣c trở la ̣i tim ̀ kiế m các dòng và cô ̣t có nhấ t mô ̣t giá tri ̣không “(0”) để thực hiê ̣n sự phâncông Bước 3: Xây dựng ma trâ ̣n chi phí hô ̣i mới: cho ̣n giá ti ̣nhỏ nhấ t chưa nằ m đường thẳ ng Trừ giá tri ̣ chi phí của mo ̣i phầ n tử không nằ m các đường thẳ ng cho giá tri ̣ nhỏ nhấ t ấ y và cô ̣ng giá tri ̣nhỏ nhấ t ấ y với giá tri ̣nằ m giao điể m của hai đường thẳ ng Trở la ̣i Bước Ví dụ 1: Mơ ̣t xưởng gia công cố p pha có người thơ ̣ đươ ̣c phâncông làm viê ̣c Tiề n công để làm xong từng viê ̣c của mỗi người thơ ̣ Bảng 0.1 Đề nghi ̣ phâncông cho tổ ng chi phí lao đô ̣ng là nhỏ nhấ t Bảng 0.1Tiền côngphâncông người thợ thực phần việc (ngàn đồng) Việc B1 B2 B3 B4 Giá trị nhỏ hàng A1 12 11 14 A2 10 10 8 A3 14 11 A4 10 Công nhân Sử du ̣ng thuâ ̣t toán Hungarian để giải bài toán sau: Bước 1: Xác đinh ̣ ma trâ ̣n chi phí hơ ̣i Trừ giá trị chi phí phần tử cho giá trị nhỏ dòng (hàng) Giải thích: Giả sử ta quyế t đinh ̣ phâncông người thơ ̣ A1 làm công viê ̣c B4 Bảng 0.1 cho thấ y chi phí nhân công chi sự phâncông ấ y là 14 ngàn đồ ng Đây không phải là sự phân phố i tố t nhấ t GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Toán Chuyên Ngành – Specialized Mathematics vì người thơ ̣ A1 có thể làm viê ̣c B3 chỉ với chi phí ngàn đồ ng Vâ ̣y, sự phâncông người thơ ̣ A1 làm viê ̣c B3 có chi phí hô ̣i là = 14 – (ngàn đồ ng), là số tiề n tổ n thấ t vì sự phâncông này thay vì cho ̣n sự phâncông tiế t kiê ̣m nhấ t Tương tự, người thơ ̣ A1 làm viê ̣c B3 là sự phân phố i tố t nhấ t phí hô ̣i cho sự phâncông này là – = (ngàn đồ ng) Kế t quả là ta đã tính đươ ̣c chi phí hô ̣i cho mo ̣i phầ n tử của mỗi dòng Bảng 0.2 Bảng 0.2Chi phí hội tính theo dòng (ngàn đồng) Việc Công nhân B1 B2 B3 B4 A1 A2 2 A3 A4 Giá trị nhỏ theo cột 0 Trừ giá trị chi phí phần tử cho giá trị nhỏ cột Giải thích: Đớ i với người thơ ̣ A1 thì tố t nhấ t là làm viê ̣c B3 đố i với viê ̣c thực hiê ̣n công viê ̣c B3 không phải là sự phâncông kinh tế nhấ t vì người thơ ̣ A3 có thể làm viê ̣c này với chi phí chỉ là (ngàn đồ ng) Hay nói cách khác, nế u chúng ta xem xét cách thức phâncông theo công viê ̣c thay vì theo người thì sẽ tính đươ ̣c chi phí hô ̣i cho mo ̣i phầ n tử của mỗi cô ̣t Bảng 0.3Chi phí hội tính theo cột (ngàn đồng) Cơng nhân Việc B1 B2 B3 B4 A1 A2 2 A3 0 A4 Như vâ ̣y, để thực hiê ̣n bước của thuâ ̣t toán phâncông thì phải xác lâ ̣p ma trâ ̣n chi phí hô ̣i tổ ng thể là ma trâ ̣n chi phí theo dòng và cô ̣t Thực hiê ̣n phầ n b của bước bằ ng cách lấ y các giá tri ̣chi phí mỗi cô ̣t trừ cho giá tri ̣chi phí nhỏ nhấ t cô ̣t đó (Bảng 0.3) Cô ̣t 1, và của bảng Bảng 0.3 giố ng bảng Bảng 0.2 vì giá tri ̣nhỏ nhấ t cô ̣t là không (“0”) Bước Kiể m tra điề u kiê ̣n tố i ưu Nhiǹ vào Bảng 0.3, ta thấ y có đế n sau sự phâncông có chi phí hô ̣i bằ ng không (“0”) Vẽ các đường thẳ ng ngang và đứng qua tấ t cả các giá tri ̣ không (“0”) này thì cầ n đế n đường thẳ ng (Bảng 0.4) Như vâ ̣y số đường thẳ ng bằ ng với số dòng của ma trâ ̣n và Bảng 0.4 thỏa mañ GV: Trần Đức Học, Huỳnh Thị Minh Trúc Bài Giảng Toán Chuyên Ngành – Specialized Mathematics điề u kiê ̣n tố i ưu Bảng 0.4Kiểm tra điều kiện tối ưu Việc Công nhân B1 B2 B3 B4 A1 A2 2 A3 0 A4 Bắ t đầ u thực hiê ̣n sự phâncông với dòng hay cô ̣t chỉ có mô ̣t số (“0”) nhấ t Dòng thứ nhấ t với giá tri ̣ không (“0”) nhấ t nằ m ở cô ̣t công viê ̣c B3 Thực hiê ̣n sự phân phố i vào ô (A1B3) này và vẽ những đường thẳ ng loa ̣i bỏ dòng và cô ̣t đã có sự phân phố i Từ các dòng và cô ̣t chưa đươ ̣c loa ̣i bỏ la ̣i tiế p tu ̣c tìm kiế m dòng thứ có mô ̣t số không (“0”) nhấ t để thực hiê ̣n sự phân phố i vào ô (A3B2) Cứ thế tiế p tu ̣c cho đế n phâncông mỗi người mô ̣t viê ̣c Bảng 0.5Bảng phâncông Việc Công nhân B1 B2 A1 A2 2 A3 0 0 4 A4 B3 B4 Chi phí nhân công tổ ng cô ̣ng cho sự phâncông này đươc̣ tính toán từ bảng ma trâ ̣n chi phí ban đầ u sau: Bảng 0.6Bảng phâncơng chi phí Phâncơng người thợ Làm việc A1 B3 A2 B4 A3 B2 A4 B1 Tổng tiền công (ngàn đồng) Tiền công 8 22 Ví dụ 2:Mơ ̣t cơng ty xây dựng có kỹ sư đươ ̣c phâncông phu ̣ trách dự án Chi phí để thực hiê ̣n từng dự án của mỗi kỹ sư Bảng 0.7 Đề nghi ̣phân công cho tổ ng chi phí it́ nhấ t Bảng 0.7Chi phí phâncơng kỹ sư Kỹ sư Dự án An Cư An Điền An Hòa An 11 14 Dư 10 11 GV: Trần Đức Học, Huỳnh Thị Minh Trúc 10 Bài Giảng Toán Chuyên Ngành – Specialized Mathematics Kỳ 12 Sử du ̣ng thuâ ̣t toán Hungarian để giải bài toán sau: Bước Xác đinh ̣ ma trâ ̣n chi phí hơ ̣i Bảng 0.8Chi phí hội theo hàng Dự án Kỹ sư An Cư An Điền An Hòa An Dư Kỳ Bảng 0.9Chi phí hội theo cột Dự án Kỹ sư An Cư An Điền An Hòa An Dư 0 Kỳ Bước Kiể m tra điề u kiê ̣n tố i ưu Vẽ mô ̣t số tố i thiể u các đường thẳ ng dòng hay cô ̣t qua mo ̣i số không (“0”) của bảng Nế u số đường thẳ ng bằ ng với số dòng hay cô ̣t của ma trâ ̣n thì có lời giải tố i ưu Trường hơ ̣p số đường thẳ ng it́ số dòng hay cô ̣t thì chưa đa ̣t đươ ̣c lời giải tố i ưu Khi đó phải thực hiê ̣n bước và vẽ bảng chi phí hô ̣i mới Bảng 0.10Kiểm tra điều kiện tối ưu Kỹ sư Dự án An Cư An Điền An Hòa An Dư 0 Kỳ Theo Bảng 0.10, ma trâ ̣n có ba dòng chỉ cầ n hai đường thẳ ng ngang và đứng qua tấ t cả các giá tri không (“0”) Như vâ ̣y, chưa thỏa mãn điề u kiê ̣n tố i ưu ̣ Bước Xây dựng ma trâ ̣n chi phí hô ̣i mới Ma trâ ̣n chi phí hô ̣i đươ ̣c xác đinh ̣ bằ ng cách trừ giá tri ̣ chi phí của mo ̣i phầ n tử cho giá tri ̣ nhỏ nhấ t không nằ m các đường thẳ ng và cô ̣ng giá tri ̣ nằ m giao điể m của hai đường thẳ ng với giá tri ̣nhỏ nhấ t Giá tri ̣nhỏ nhấ t Bảng 0.10 là Như vâ ̣y lấ y mo ̣i giá tri ̣phầ n tử không nằ m đường thẳ ng trừ cho và lấ y giá tri ̣ nằ m giao điể m hai đường thẳ ng cô ̣ng cho Kế t quả bước trình bày ở Bảng 0.11 GV: Trần Đức Học, Huỳnh Thị Minh Trúc 11 Bài Giảng Toán Chuyên Ngành – Specialized Mathematics Bảng 0.11Ma trận chi phí hội Kỹ sư Dự án An Cư An Điền An Hòa Dư 0 Kỳ An Trở la ̣i bước để kiể m tra điề u kiê ̣n tố i ưu, cầ n phải có it́ nhấ t đường thẳ ng qua tấ t cả các giá tri ̣ không “0” của ma trâ ̣n chi phí hô ̣i mới (Bảng 0.11), vâ ̣y số đường thẳ ng bằ ng với số dòng và thỏa điề u kiê ̣n tố i ưu Thực hiê ̣n sự phâncông bắ t đầ u bằ ng dòng thứ nhấ t có nhấ t mô ̣t số không “0”, tiế p tu ̣c phân phố i cho dòng thứ ba sau đã loa ̣i bỏ dòng và cô ̣t Kế t quả cuố i cùng : phâncông kỹ sư An thực hiê ̣n dự án An Hòa, kỹ sư Dư thực hiê ̣n dự án An Điề n và kỹ sư Kỳ thực hiê ̣n dự án An Cư Tổ ng chi phí thực hiê ̣n dự án là 25 (triê ̣u đồ ng) Bảng 0.12Bảng phâncông Kỹ sư An Cư An Điền An Dư 0 Kỳ • Dự án An Hòa Bài tốn phâncơng có số dòng cột khác Thuâ ̣t toán Hungarian đươ ̣c áp du ̣ng để giải bài toán phâncông với điề u kiê ̣n là số dòng và số cô ̣t của ma trâ ̣n chi phí phải bằ ng nhau, Tuy nhiên không phải lúc nào số bô ̣ phâ ̣n đươ ̣c phâncông (như số người) cũng bằ ng với số viê ̣c, số lươ ̣ng máy, số lươ ̣ng khách hàng cầ n đươc̣ thực hiê ̣n, vâ ̣n hành hay phu ̣c vu ̣ Trường hơ ̣p số dòng nhiề u số cô ̣t thì ta thêm mô ̣t cô ̣t ảo Trường hơ ̣p số cô ̣t nhiề u số dòng thì ta thêm mô ̣t dòng ảo (tương tự bài toán vâ ̣n tải hở) Khi đó, ma trâ ̣n chi phí có số dòng bằ ng với số cô ̣t và có thể áp du ̣ng thuâ ̣t toán Hungarian đã triǹ h bày Vì thêm dòng hay cô ̣t ảo là thêm người ảo hay công viê ̣c ảo nên giá tri ̣ hay chi phí thực hiê ̣n công viê ̣c ở dòng hay cô ̣t này sẽ bằ ng không (“0”) Ví dụ 3: Mô ̣t xưởng sản xuấ t có công nhân và máy Tiề n công của mỗi công nhân đứng ở mỗi máy Bảng 0.13 Haỹ phâncông mỗi người đứng mô ̣t máy cho tổ ng tiề n công là tố i thiể u Trường hơ ̣p này ta chỉ cầ n thêm mô ̣t dòng tương ứng với mô ̣t người thơ ̣ ảo Bảng ma trâ ̣n chi GV: Trần Đức Học, Huỳnh Thị Minh Trúc 12 Bài Giảng Toán Chuyên Ngành – Specialized Mathematics phí ban đầ u là bảng Khi đó sẽ có mô ̣t máy đươ ̣c giao cho người thơ ̣ ảo có nghiã là máy này sẽ không vâ ̣n hành Ta có thể áp du ̣ng thuâ ̣t toán Hungarian để tim ̀ lời giải tố i ưu cho bài toán này Bảng 0.13Tiền công thợ đứng máy Thợ Máy M1 M2 M3 M4 A1 12 20 14 A2 10 14 13 20 A3 Bảng 0.14Bảng biến đổi lời giải Thợ M1 M2 M3 M4 A1 12 20 14 A2 10 14 13 20 A3 Thợ ảo 0 0 Thợ • Máy Máy M1 M2 M3 M4 A1 13 A2 10 A3 Thợ ảo 0 0 Bài tốn phâncơng cực đại hàm mục tiêu Có số tốn phâncơng tìm lời giải tối ưu cực đại tiền lời, số lượng sản phẩm hay hiệu cơng việc thay cực tiểu chi phí Để áp dụng thuật tốn Hungarian, phải chuyển toántoán cực tiểu tương đương cách xây dựng ma trận chi phí hội Các phần tử ma trận chi phí hội xác định hiệu số phần tử lớn ma trận với giá trị ban đầu phần tử xét Sau lời giải tối ưu tốn tương đương xác định, tính tổng tiền lời cách cộng giá trị tiền lời ban đầu ô phân phối tối ưu Ví dụ 4: Có người cơng nhân phâncơng thực bốn công việc Tiền lời thu phâncông người công nhân thực công việc Bảng 0.15 Hãy phâncông người việc cho tổng tiền lời thu nhiều GV: Trần Đức Học, Huỳnh Thị Minh Trúc 13 Bài Giảng Toán Chuyên Ngành – Specialized Mathematics Bảng 0.15Tiền lời phâncông người thợ việc (ngàn đồng) Máy Công nhân A B C D Anh 20 60 50 55 Bình 60 30 80 75 Can 80 100 90 80 Dân 65 80 75 70 Bảng 0.16Bảng ma trận chi phí hội tương đương (ngàn đồng) Máy Công nhân A B C D Anh 80 40 50 45 Bình 40 70 20 25 Can 20 10 20 Dân 35 20 25 30 5.2.2.2 Giải Quy hoạch tuyến tính nhị phân Ví dụ 5:Sáu người thợ nhận làm khoán ba loại sản phẩm, với số lượng sản phẩm làm khoán (chiếc/ngày) Bảng 0.17 Hãy phâncông hai người thợ làm loại sản phẩm cho đạt nhiều sản phẩm Bảng 0.17Năng suất phâncông thợ làm sản phẩm Thợ • Sản phẩm S1 S2 S3 T1 8 11 T2 10 T3 10 10 T4 9 T5 T6 10 Mơ hình QHTT tốn: Các biến: xij ; i 1,6; j 1,3; xij Binary Hàm mục tiêu: GV: Trần Đức Học, Huỳnh Thị Minh Trúc 14 Bài Giảng Toán Chuyên Ngành – Specialized Mathematics Min Z x11 5x21 10 x31 x41 x51 x61 8 x12 x22 x32 x42 x52 x62 11x13 10 x23 10 x33 x43 x53 10 x63 Các ràng buộc Theo điều kiện người thợ làm sản phẩm x11 x12 x13 x21 x22 x23 x31 x32 x33 x41 x42 x43 x51 x52 x53 x61 x62 x63 Theo điều kiện sản phẩm cần người thợ x11 x21 x31 x41 x51 x61 x12 x22 x32 x42 x52 x62 x13 x23 x33 x43 x53 x63 LINGO Đáp số: x31 x41 x52 x62 x13 x23 Z 56 GV: Trần Đức Học, Huỳnh Thị Minh Trúc 15 Bài Giảng Toán Chuyên Ngành – Specialized Mathematics -%%%% The end %%%% - GV: Trần Đức Học, Huỳnh Thị Minh Trúc 16 ... x52 x53 x54 x56 LINGO Lời giải toán: x12 x23 x 35 x56 Vậy lộ trình ngắn là: 1-2-3 -5- 6 với khoảng cách = 290km 5. 2 Bài tốn phân cơng 5. 2.1 Giới thiệu tốn Bài toán phân công là mô... 1-2 1-3 2-3 2-4 2 -5 200 150 300 200 150 Nút 2-3 5 2-4 2 -5 3 -5 100+200=300 200 150 +40=190 190 Nút 3 -5 4 2-4 5- 4 5- 6 300 190+ 150 =340 190+100=290 290 Nút 5- 6 3 5. 1.2.2 Giải thuật tốn Dijkstra • Giới... Min Z 100 x12 200 x13 50 x23 50 x32 200 x24 200 x42 100 x 25 100 x52 40 x 35 40 x53 150 x 45 150 x54 100 x46 100 x56 Các ràng buộc Bởi đi m khởi đầu nút 1, khơng tính biến