Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
363,5 KB
Nội dung
Trờng đại học vinh khoa toánMởrộngmộtbàitoánquy hoạch nguyênvớithuậttoán đợc giảitrongthờigianđathức Khoá luận tốt nghiệp đại học Ngành học: Cử nhân khoa họcToán Chuyên ngành: Điều khiển Cán bộ hớng dẫn khoá luận: TS. Trần Xuân Sinh Sinh viên thực hiện: Trần Thị Duyên Lớp 40B - Toán 3 Vinh - 2003 Mc lc Trang Lời nói đầu 3 Chơng 1. Bàitoán xuất phát 4 Đ1. Bàitoánquy hoạch tuyến tính nguyên. 5 1.1. Bàitoánquy hoạch nguyên. 4 1.2. Các phơng pháp chính để giảibàitoánquy hoạch nguyên. 5 1.3. Những thuận lợi và khó khăn khi thực hiện các thuậttoán tổng quát giảibàitoánquy hoạch nguyên. 9 Đ2. Bàitoán lập lịch sinh hoạt chuyên đề. 9 2.1. Bài toán. 9 2.2. Mộtmở rộng. 13 Chơng 2. V mt m rng mi ca bi toỏn lp lch 15 Đ1. Bàitoánmở rộng. 15 Đ2. Khảo sát bài toán. 16 2.1. Định nghĩa. 16 2.2. Tính chất. 17 2.3. Thuậttoán và ví dụ. 25 Kt lun 29 Ti liu tham kho 30 4 Mở đầu Trong nhiều bàitoánthực tế thờng dẫn tới bàitoánquy hoạch với biến số nhận giá trị rời rạc. Do tính rời rạc của biến nên không thể sử dụng các phơng pháp toán học có liên quan đến liên tục. Đó là khó khăn lớn cho nhiều bàitoán thờng gặp. Mặc dù vậy, cho đến nay các phơng pháp tổng quát đã đ- ợc hoàn thiện nhằm giải quyết các bàitoánvới biến lấy giá trị rời rạc. Tuy nhiên, các phơng pháp tổng quát có đợc thờng chỉ đẹp về mặt lý thuyết, độ phức tạp tính toán của các thuậttoán tơng ứng là rất lớn. Để đợc thuậttoán có hiệu quả cho từng bàitoán cụ thể, thông thờng ngời ta phải nghiên cứu các tính chất riêng biệt của nó. Khi tiếp cận với những loại bàitoán nh vậy, chúng tôi gặp đợc các công trình mới của Giáo s Trần Vũ Thiệu (xem [3]). Với ý thức tập dợt nghiên cứu, nhằm hoàn thành Luận văn tốt nghiệp Cử nhân khoa học, chúng tôi mạnh dạn chọn đề tài Mởrộngmộtbàitoánquy hoạch nguyênvớithuậttoán đợc giảitrongthờigianđa thức. Luận văn đợc chia thành 2 chơng. Chơng 1, Bàitoán xuất phát, nhằm tóm lợc những vấn đề có liên quan tới đề tài. Chơng 2, Về mộtmởrộng mới của bàitoán lập lịch, là kết quả chính của luận văn. Trên cơ sở những kết quả đạt đợc của GS.Trần Vũ Thiệu, chúng tôi cố gắng thử vận dụng những hiểu biết có đợc, hoàn thiện việc mởrộngmột phần của bàitoánđã có. Từ bàitoán nêu ra, chúng tôi đã chứng minh các tính chất riêng biệt liên quan đến bài toán; trên cơ sở đó, đa ra thuậttoángiảivới độ phức tạp thờigianđa thức. Để hoàn thành Luận văn, tôi đã nhận đợc sự hớng dẫn nhiệt tình của Thầy giáo, Tiến sĩ Trần Xuân Sinh. Nhân dịp này cho phép tôi bày tỏ lòng biết ơn sâu sắc đến Thầy giáo. Đồng thời tôi xin gửi đến các Thấy giáo, Cô giáo thuộc tổ Điều khiển, Khoa Toánđã động viên giúp đỡ tôi nhiều trong quá trình học tập, rèn luyện và thực hiện đề tài. Vì năng lực và thờigian có hạn, chắc luận văn không tránh khỏi những thiếu sót, tôi thành thật mong nhận đợc sự góp ý chân thành của các Thầy giáo, Cô giáo và các bạn. Tác giả 5 Chơng 1 Bàitoán xuất phát Đ1. Bàitoánquy hoạch tuyến tính nguyên 1.1. bàitoánquy hoạch nguyên Xét bàitoán sau đây min = n j 1 c j x j (1.1) = n j 1 a ij x j = b i , i = 1, ., m (1.2) x j 0, j = 1, ., n (1.3) x j nguyên, j = 1, ., k, k n. (1.4) Bàitoán vừa nêu gọi là bàitoánquy hoạch tuyến tính nguyên, từ nay để đơn giản, nếu không sợ nhầm lẫn, ta gọi đó là bàitoánquy hoạch nguyên. Nếu k = n, ta có bàitoánquy hoạch nguyêntoàn phần. Nếu k < n, ta có quy hoạch nguyên bộ phận. Chúng ta nhận thấy rằng rất nhiều bàitoán dẫn đến bàitoánquy hoạch nguyên. Bỏ qua điều kiện nguyên, ta có bàitoánquy hoạch tuyến tính và đã biết cách giải bằng phơng pháp đơn hình. Nếu phơng án tối u nhận đợc mà nguyên thì rõ ràng đó chính là phơng án tối u cần tìm. Tuy nhiên, nếu phơng án tối u của bàitoánquy hoạch tuyến tính tơng ứng còn có toạ độ cha nguyên, thì việc lấy phần nguyên của nó, nói chung, không cho nghiệm (ph- ơng án tối u) của bài toán. Chúng ta có thể kiểm tra thấy rằng bàitoán sau đây max (2x 1 + x 2 ) x 1 + x 2 4 x 1 - x 2 3 x 1 , x 2 0 6 có phơng án tối u X = (7/2, 1/2). Nếu lấy phần nguyên ta có X nguyên = (3, 0). Tuy nhiên, điểm (3, 0) không phải là phơng án tối u của bàitoánquy hoạch nguyên tơng ứng (mà phơng án tối u lại là X = (3, 1)). Để giảibàitoánquy hoạch tuyến tính nguyên ngời ta đãđa ra nhiều ph- ơng pháp. Sau đây chúng tôi xin trình bày sơ lợc một số phơng pháp điển hình. 1.2. Các phơng chính để giảibàitoánquy hoạch nguyên 1.2.a. Phơng pháp cắt hợp cách. Để đơn giản, ta giả sử xét bàitoánquy hoạch nguyêntoàn phần (trong trờng hợp nguyên bộ phận có thể sử dụng phơng pháp phân rã Bender xem [6]). Nội dung của phơng pháp là: Bỏ qua điều kiện nguyên, giảibàitoánquy hoạch tuyến tính bằng ph- ơng pháp đơn hình đợc phơng án tối u X 0 . Nếu x j (o) nguyên (j = 1, ., n) thì X 0 là phơng án tối u cần tìm. Nếu ngợc lại, bổ sung vào bàitoánquy hoạch tuyến tính điều kiện L(X) = = n j 1 d j x j e (1.5) L(X) phải thoả mãn hai tính chất: + X 0 không thoả mãn (1.5) + Mọi phơng án nguyên đều thoả mãn (1.5). Điều kiện (1.5) nh vậy đợc gọi là nhát cắt hợp cách. Ngời ta cũng đãđa ra nhiều kiểu nhát cắt hợp cách giảibàitoánquy hoạch nguyên có hiệu quả. Chẳng hạn nhát cắt Gomory sau đây là một ví dụ. Giả sử X 0 = (x 1 o , x 2 o , ., x m o , 0, ., 0) là phơng án tối u của bàitoánquy hoạch tuyến tính tơng ứng, tồn tại x k o cha nguyên. Ký hiệu [x k o ] và { x k o } là phần nguyên và phần thập phân của x k o . Khi đó nhát cắt sau đây là hợp cách 7 {x k o } - += n mj 1 { x kj }x j 0 (1.6) trong đó x ij là toạ đội thứ i của vectơ A j trong cơ sở của X 0 (các phần tử của vectơ A j trong bảng đơn hình của X 0 ). Chúng ta có thể kiểm tra trực tiếp những điều kiện của nhát cắt hợp cách (1.5). Nhát cắt (1.6) đợc gọi là nhát cắt Gomory. 1.2.b. Phơng pháp nhánh và cận. Phơng pháp nhánh và cận tỏ ra có hiệu quả đối với các bàitoánquy hoạch nguyên cỡ lớn. Mở đầu là các công trình của A.H. Land và A.G. Doig (1960), sau đó là các công trình của R.J. Dakin (1965) . ý tởng chính của phơng pháp là thực hiện phân nhánh để chia tập phơng án tối u M thành những phần nhỏ dần. Trên mỗi phần nhỏ của tập M, xác định cận của hàm mục tiêu. Từ đó loại bỏ dần những phần không có khả năng chứa nghiệm. Nh vậy, công việc chính của phơng pháp là tìm cách phân nhánh, tính cận và lựa chọn loại bỏ sao cho sau hữu hạn bớc lặp có đợc câu trả lời của bài toán. a) Phân nhánh. Việc phân nhánh, tức là chia tập M thành các tập con M 1 , M 2 , ., M k sao cho M = k i 1 = M i và M i M j = , i j. b) Tính cận. Hàm số (A) gọi là cận dới của hàm f(X) trên A nếu (A) thoả mãn hai điều kiện: + (A) min f(X), x A. + (A 1 ) (A 2 ), nếu A 1 A 2 M. Từ đó ta có (M i ) (M), i = 1, ., k. Đồng thời f(X*) = { min f(X) : x M } min (M i ) = (M s ). Do đó nếu f(X*) = (M s ) thì X* là phơng án tối u cần tìm. c) Lựa chọn và loại bỏ. 8 + Lựa chọn: Giả sử cho M = k i 1 = M i và M i M j = , i j. Khi đó (M s ) = min (M i ), i = 1, ., k, tức là (M s ) (M i ), i, nên (M s ) min { f(X) : x M }. Ta hy vọng M s chứa phơng án tối u. Vì vậy có thể chọn M s để phân nhánh. + Loại bỏ: Việc loại bỏ nhằm thu gọn bài toán, giảm bớt bộ nhớ. Tiêu chuẩn để loại bỏ là: Giả sử ở bớc k, biết đợc phơng án X mà f( X ) f(X), với mọi phơng án X đã biết, lúc này ta nói X là phơng án kỷ lục, f( X ) là giá trị kỷ lục. Nếu có M j mà (M j ) f( X ) thì M j bị loại bỏ. (Chú ý rằng nếu M j = thì M j cũng bị loại bỏ). Thuậttoán nhánh và cận sau đây gọi là thuậttoán Land-Doig. Xét bàitoán min {CX : AX = b, X 0, x j nguyên, j = 1, ., r, r n } (1.7) Ký hiệu tập phơng án của bàitoán (1.7) là D. Với giả thiết D hữu hạn. min {CX : AX = b, X 0, } (1.8) M là tập phơng án của bàitoánquy hoạch tuyến tính tơng ứng (bỏ qua điều kiện nguyên). Bớc chuẩn bị: Đặt (P 0 ) là bàitoán (1.8) với M 1 = M. Ký hiệu P = {P i } là họ các bàitoán đang xét. Giảibàitoánquy hoạch tuyến tính (P 0 ) ta đợc phơng án tối u X*. Nếu X* thoả mãn điều kiện nguyên thì X* là phơng án tối u cần tìm. Ngợc lại, đặt cận dới của bàitoán (P 0 ) có thêm điều kiện nguyên là f* và P = {P 0 }. Lúc này nếu có đợc phơng án X D thì đặt f* = f( X ), trái lại thì đặt f* = + . Bớc k (k = 1, 2, .). 9 a) Nếu P = , thì thuậttoán kết thúc. Khi đó nếu f* < thì X là phơng án tối u cần tìm. Ngợc lại, bàitoán không có phơng án tối u. b) Nếu P , chọn (P k ) là bàitoán có cận dới nhỏ nhất trong P . Gọi M k là tập phơng án và X k là phơng án tối u của bàitoánquy hoạch tuyến tính tơng ứng. b.1. Giả sử x r k cha nguyên. Chia M k thành hai tập M k 1 và M k 2 với M k 1 = { x M k , x i [x r k ] }, M k 2 = { x M k , x i [x r k ] +1 }. Rõ ràng M k = M k 1 M k 2 và M k 1 M k 2 = . b.2. Giải các bàitoánquy hoạch tuyến tính tơng ứng: (P k 1 ) { min CX : x M k 1 } (P k 2 ) { min CX : x M k 2 }. Có thể xẩy ra: a) Phát hiện ra M k i = , i = 1 hoặc 2. Loại bỏ M k i tơng ứng. b) Tìm đợc phơng án tối u X (i) thoả mãn điều kiện nguyên. Nếu X (i) là phơng án kỷ lục thì loại bỏ những M k j tơng ứng có ( M k j ) f(X (i) ). Coi X (i) là phơng án kỷ lục mới. Kết thúcbàitoán (P k i ). c) Tìm đợc phơng án tối u X (i) (i = 1, 2), nhng cha thoả mãn điều kiện nguyên. Lấy f(X (i) ) làm cận dới của hàm mục tiêu bàitoán (P k i ) có thêm điều kiện nguyên. M k i tham gia vào bàitoán để tiếp tục phân nhánh. P := P {P k i }. b.3. Loại bỏ khỏi P tất cả các bàitoán có cận dới lớn hơn hoặc bằng giá trị kỷ lục. Đặt P := P \{P k i }, trở lại bớc k := k +1. Do D hữu hạn nên thuậttoán Land - Doig cũng hữu hạn. 1.3. Những thuận lợi và khó khăn khi thực hiện các thuậttoán tổng quát giảibàitoánquy hoạch nguyên. 1.3.a. Thuận lợi. 10 Các thuậttoán tổng quát (chẳng hạn các phơng pháp đã nêu) có giá trị lớn về mặt khoa học. Khi gặp bất kỳ bàitoánquy hoạch nguyên nào, ngời ta có thể nghĩ đến các phơng pháp truyền thống đã biết để giải quyết nó. 1.3.b. Khó khăn. Các thuậttoán tổng quát thờng có độ phức tạp tính toán cao. Nguyên nhân chính là các thuậttoán đó thờng dựa vào mộtthuậttoánđã biết. Chẳng hạn, thuậttoán cắt hợp cách thờng phải tiến hành giảimột số bàitoánquy hoạch tuyến tính trung gian bằng phơng pháp đơn hình. Mỗi bàitoánquy hoạch tuyến tính giải bằng thuậttoán đơn hình có độ phức tạp thờigian mũ. Điều đó cho thấy thuậttoán cắt hợp cách có độ phức tạp lớn. Thuậttoán Land - Doig cũng rơi vào tình trạng tơng tự. Để có đợc thuậttoán tốt hơn, ngời ta đi tìm theo hớng khai thác những đặc điểm riêng biệt của từng bàitoán cụ thể. Sau đây xin đợc nêu một hớng đi nh vậy (Đ2, chơng 1). Đ2. Bàitoán lập lịch sinh hoạt chuyên đề 2.1. Bài toán. Trongthực tế thông thờng chúng ta hay gặp bài toán: Một đơn vị có m sinh viên và n chuyên đề đợc tổ chức. Tuỳ theo khả năng học tập mà mỗi sinh viên có thể phải tham gia một số chuyên đề nào đó. Chẳng hạn sinh viên i cần phải tham dự số chuyên đề là p i , (p i > 0), i = 1, 2, ., m. Trong số các cách phân chia sinh viên vào các nhóm chuyên đề mà họ có nguyện vọng tham dự và bảo đảm cho mỗi sinh viên i đợc tham dự đúng p i nhóm, hãy tìm cách phân chia sao cho số ngời trong nhóm chuyên đề có nhiều sinh viên tham dự nhất là nhỏ nhất có thể đợc (mục đích là làm đồng đều đến mức tối đa số ngời tham dự trong các nhóm chuyên đề). Ký hiệu a ij = 1, nếu sinh viên i có nguyện vọng tham dự nhóm chuyên đề j. 0, nếu ngợc lại. 11 x ij = 1, nếu sinh viên i đợc tham dự nhóm chuyên đề j. 0, nếu ngợc lại. Rõ ràng các x ij phải thoả mãn điều kiện: 0 x ij a ij (chỉ tham dự những chuyên đề mà họ a thích) và x i 1 + x i 2 + . + x in = p i (tổng số chuyên đề tham dự vừa đủ yêu cầu). Khi đó, số lợng sinh viên tham dự nhóm chuyên đề j là x 1 j + x 2 j + . + x nj Từ đó ta có mô hình toán học cho bàitoán đặt ra là f(X) = = m i ij nj x 1 1 max min (2.1) với điều kiện = n j ij x 1 = p i , i = 1, 2, ., m. (2.2) 0 x ij a ij , i = 1, 2, ., m, j = 1, 2, ., n (2.3) trong đó a ij {0, 1}, i = 1, 2, ., m , j = 1, 2, ., n ; x ij nguyên; p i nguyên d- ơng, i = 1, 2, ., m. Trên cơ sở phân tích, phát hiện các tính chất riêng biệt của bàitoán (xem [1]), các tác giả đã chuyển bàitoán về giảimột số hữu hạn bàitoán luồng cực đại trên mạng nh sau Trớc hết với mỗi số số nguyên dơng k (k k k , ta xây dựng mạng G(k) = (V, E) với tập đỉnh 12