1. Trang chủ
  2. » Giáo án - Bài giảng

CHƯƠNG 5 BÀI TOÁN ĐƯỜNG ĐI VÀ BÀI TOÁN PHÂN CÔNG

16 274 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Bài Giảng Toán Chuyên Ngành – Specialized Mathematics CHƯƠNG BÀI TỐN ĐƯỜNG ĐI BÀI TỐN PHÂN CƠ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 để ̣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 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ân Bà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ài toá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ân cơng 5.2.1 Giới thiệu tốn Bài toán phân cơng là mơ ̣t da ̣ng đă ̣c biê ̣t của bài toán ̣n tải và bài toán quy hoa ̣ch tuyế n tính Bài toán phân công đươ ̣c dùng để phân bố nhân sự cho dự án, phân cô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ân cô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ân công là chỉ có mô ̣t công viê ̣c hay mô ̣t người đươ ̣c phân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân cô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ân công cho tổ ng chi phí lao đô ̣ng là nhỏ nhấ t Bảng 0.1Tiền công phân cô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ân cô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ân cô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 ̣y, sự phân cô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ân công này thay vì cho ̣n sự phân cô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ân cô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ân cô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ân cô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ư ̣y, để thực hiê ̣n bước của thuâ ̣t toán phân cô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ân cô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ư ̣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ân cô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ân công mỗi người mô ̣t viê ̣c Bảng 0.5Bảng phân cô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ân cô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ân cơng chi phí Phân cơ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ân cô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ân cơ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ư ̣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ư ̣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), ̣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ân cô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ân cô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ân công Kỹ sư An Cư An Điền An Dư 0 Kỳ • Dự án An Hòa Bài tốn phân cơ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ân cô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ân cô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, ̣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 ̣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ân cô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 ̣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ân cơng cực đại hàm mục tiêu Có số tốn phân cơ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án toá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ân cơng thực bốn công việc Tiền lời thu phân công người công nhân thực công việc Bảng 0.15 Hãy phân cô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ân cô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ân cô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ân cô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

Ngày đăng: 04/02/2018, 20:38

TỪ KHÓA LIÊN QUAN

w