IẾP TỤC CHƯƠNG 1 CỦA MÔN TOÁN RỜI RẠC MÌNH SẼ GỬI DẾN D CÁC BẠN SLIDE BÀI GIẢNG CHƯƠNG 2.5 MÔN TOÁN RỜI RẠC CỦA TRƯỜNG ĐẠI HỌC MỎ ĐỊA CHẤT MONG RẰNG VỚI CÁC SLIDE NÀY SẼ GIÚP CÁC BẠN DỄ DÀNG CHINH PHỤC ĐƯỢC MÔN TOÁN RỜI RẠC NÀY
CHƯƠNG 2: LÝ THUYẾT TỔ HỢP Gv: Đặng Hữu Nghị Bộ môn CNPM Kkoa CNTT NỘI DUNG 2.1 Sơ lược tổ hợp 2.2 Bài toán đếm 2.3 Bài toán tồn 2.4 Bài toán liệt kê NỘI DUNG 5.1 Phát biểu toán 2.5.2 Các thuật toán duyệt 2.5.1 PHÁT BIỂU BÀI TỐN số cấu hình tổ hợp thỏa mãn yêu cầu toán, lựa chọn nghiệm có giá trị sử dụng tốt Bài tốn phát biểu sau: Tìm cực tiểu (hay cực đại) phiếm hàm f(x) → (max), với điều kiện x D, D tập hữu hạn phần tử Trong 2.5.1 PHÁT BIỂU BÀI TOÁN f(x) gọi hàm mục tiêu toán, phần tử x D gọi phương án tập D gọi tập phương án toán Phương án x* D đem lại giá trị nhỏ (lớn nhất) cho hàm mục tiêu gọi phương án tối ưu, giá trị f* = f(x*) gọi giá trị tối ưu tốn Hàm BÀI TỐN NGƯỜI DU LỊCH (TRAVELING SALESMAN PROBLEM – TSP) Một người du lịch muốn tham quan n thành phố T1, T2, , Tn Hành trình cách xuất phát từ thành phố qua tất thành phố lại, thành phố lần, quay trở lại thành phố xuất phát Biết cij chi phí từ thành phố Ti đến thành phố Tj (i, j = 1, 2, , n), Tìm hành trình với tổng chi phí nhỏ ACBDA with weight 16 A D ABCDA with weight 17 ABDCA with weight 17 C B A 4 5 D C D B A A B C D C B BÀI TỐN NGƯỜI DU LỊCH (TRAVELING SALESMAN PROBLEM – TSP) thiết lập tương ứng 1-1 hành trình T(1) → T(2) → → T(n) → T(1) với hoán vị = ((1), (2), , (n)) n số tự nhiên 1, 2, , n Đặt f() = c(1),(2) + + c(n-1),(n) + c(n),(1) Ký hiệu: - tập tất hoán vị n số tự nhiên 1, 2, , n ta BÀI TOÁN NGƯỜI DU LỊCH (TRAVELING SALESMAN PROBLEM – TSP) tốn người du lịch phát biểu dạng toán tối ưu tổ hợp sau: { f() : } Có thể thấy tổng số hành trình người du lịch n!, có (n-1)! hành trình thực khác (bởi xuất phát từ thành phố bất kỳ, nên cố định thành phố thành phố xuất phát) Khi BÀI TOÁN CÁI TÚI (KNAPSACK PROBLEM) • • • Một nhà thám hiểm cần đem theo túi có trọng lượng khơng q b Có n đồ vật đem theo Đồ vật thứ j có – trọng lượng aj – giá trị sử dụng cj (j = 1, 2, , n) Hỏi nhà thám hiểm cần đem theo đồ vật tổng giá trị sử dụng đồ vật đem theo lớn nhất? 10 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Giả thiết rằng, trình tự gia công chi tiết hai máy Khi lịch gia cơng tương ứng với hoán vị = ( (1), (2), …, (n)) n số tự nhiên 1, 2, , n 103 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TOÁN JONHSON hiệu sjx, tjx thời điểm bắt đầu kết thúc việc gia công chi tiết j máy X, j = 1, 2, , n; X = A, B Giả sử lịch gia cơng Theo điều kiện tốn, máy A bất đầu thực cơng việc (1) vào thời điểm s (l) = công việc (k) sau thực xong công việc (k-1), tức s (k)A > t (k - l)A, k = , , , n (1) Ký 104 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON B bắt đầu thực công việc (1) sau máy A kết thúc việc gia cơng tức vào thời điểm s (1)B > t (l)A (2) Máy B bắt đầu việc gia công chi tiết (k) (k = 2, 3, , n) sau công việc thực xong máy A đồng thời phải hồn thành việc gia cơng chi tiết (k-1) tức là: s (k)B > max(t (k)A, t (k-1)B) (3) Thời gian để hồn thành việc gia cơng tất chi tiết hai máy T( ) = t (n)B Máy 105 2.5.4 BÀI TOÁN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Rõ ràng, với n cố định, T( ) đạt giá trị nhỏ tất dấu bất đẳng thức (1), (2), (3) thay dấu đẳng thức, tức s (1)A = s (k)A = t (k-l)A , k = 2, 3,…, n s (1)B = t (l)A (4) s (k)B = max(t (k)A, t (k-1)B) , k=2, 3,…, n nghĩa máy thực công việc điều kiện cho phép 106 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON dụ: Xét tốn n = Thời gian gia công chi tiết máy cho bảng sau: Thí 107 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON sử thực việc gia cơng chi tiết theo lịch = (1, 2, 3, 4, 5) Khi đó, theo cơng thức (4) ta tính Giả s1A = 0; t1A = 3; s2A = 3; t2A = 7; s3A = 7; t3A = 13; s4A = 13; t4A = 18; s5A = 18; t5A = 24; s1B = 3; t1B = s2B = 7; t2B = 10 s3B = 13; t3B = 15 s4B = 18; t4B = 25 s5B = 25; t5B = 28 108 2.5.4 BÀI TOÁN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Để biểu diễn lịch gia công người ta thường sử dụng sơ đồ Gantt, máy biểu thị theo trục tung, cịn trục hồnh để biểu diễn thời gian Sơ đồ Gantt, theo lịch gia công thu thí dụ cho, có dạng hình 109 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Thời gian hồn thành việc gia công tất chi tiết theo lịch thu T( ) = 28 Từ hình nhận thấy cách bố trí máv B thực việc gia công chi tiết theo lịch gia công có nhiều khoảng thời gian máy chết (trên hình vẽ đánh dấu cách tơ mầu sẫm) ln bố trí lại việc gia cơng máy B cho khơng có khoảng thời gian chết cách dồn chúng vào đoạn đầu để sau máy B hoạt động liên tục việc không làm tăng thời gian hồn thành việc gia cơng (giá trị t (n)B) ta 110 2.5.4 BÀI TOÁN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Chẳng hạn, để thoát khỏi khoảng thời gian chết máy B thí dụ, ta bắu đầu gia công máy B vào điểm dB = 10 (tức tổng khoảng thời gian chết hình 1, cộng với t (1)A) Sơ đồ Gantt cách bố trí cho hình 2: 111 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON ln giả thiết rằng, hai máy thực việc gia công cách liên tục Máy A bắt đầu thực hiên việc gia công vào thời điểm dA= Gọi dB thời điểm máy B bắt đầu thực việc gia cơng chi tiết Rõ ràng ta có Vì 𝑛 𝑇 𝜋 = 𝑑𝐵 𝜋 + 𝑏𝑗 𝑗=1 số hạng thứ hai khơng phụ thuộc vào lịch gia cơng Ta cần tìm cơng thức tính dB( ) Trong 112 2.5.4 BÀI TOÁN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Dễ thấy dB( ) tổng t (1)A khoảng thời gian chết máy B ta bố trí máy B thực việc gia cơng chi tiết theo cơng thức (4) Vì thế, ta có cơng thức sau đây, để tính dB( ): 1() = a(1) 𝑑𝐵 𝜋 = ∆𝑢 (𝜋) max 1≤𝑢≤𝑛 113 2.5.4 BÀI TOÁN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON 114 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Thuật toán JOHNSON Chia chi tiết thành nhóm: nhóm N1 gồm chi tiết Di thoả mãn < bi, tức min(ai, bi) đạt nhóm N2 gồm chi tiết Di, thoả mãn > bi, tức min(ai, bi) đạt bi Các chi tiết Di thoả mãn = bi, xếp vào nhóm Sắp xếp chi tiết N1 theo chiều tăng ai, xếp chi tiết N2 theo chiều giảm bi Nối N2 vào đuôi N1 Dãy thu (đọc từ trái sang phải) lịch gia công tối ưu 115 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TOÁN JONHSON Các kết tính bước sau: Chia nhóm: N1 = {D1, D4}; N2 = {D2, D3, D5} Sắp xếp N1 theo chiều tăng ai, xếp N2 theo chiều giảm bi: N1 = (D1, D4); N2 = (D2, D5, D3) Nối N2 vào đuôi N1, ta lịch gia công tối ưu: = (D1, D4, D2, D5, D3) 116 2.5.4 BÀI TỐN LẬP LỊCH GIA CƠNG TRÊN HAI MÁY THUẬT TỐN JONHSON Sơ đồ Gantt lịch cho hình với thời gian hồn thành việc gia công T( ) = 26: 117 ...