Giáo trình phương pháp tối ưu
Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u Tài liệu tham khảo Nguy n Đức Nghƿa Tối ưu hóa (Quy hoạch tuyến tính rời rạc) NXB Giáo d c 1999 Bùi Minh Trí Quy hoạch tốn học NXB Khoa h c kỹ thu t 1999 Bùi Minh Trí Tối ưu hóa.T p 1,2 NXB Khoa h c kỹ thu t 2005 Bùi Minh Trí Bài tập tối ưu hóa NXB Khoa h c kỹ thu t 2005 Phí M nh Ban Quy hoạch tuyến tính NXB Đ i h c s ph m 2005 Phí M nh Ban Bài tập quy hoạch tuyến tính NXB Đ i h c s ph m 2004 Tr n Vũ Thi u Giáo trình Tối ưu tuyến tính NXB ĐHQG HƠ N i 2004 Ph m Trí Cao T i u hóa ĐH Kinh t thành ph H Chí Minh 2005 Ph m Trí Cao Bài t p t i u hóa ĐH Kinh t thành ph H Chí Minh 2005 10 PGS TS Bùi Th Tâm Gi i tốn t i u Excel Phịng t i u vƠ u n Vi n Toán h c 11 Hoàng T y Lý thuyết tối ưu (Bài giảng lớp cao học) Vi n toán h c 2003 12 PGS.TS Nguy n Nh t l Tối ưu hóa ứng dụng NXB Khoa h c kỹ thu t 2001 13 Lê M u Dũng Nhập môn phương pháp tối ưu NXB Khoa h c kỹ thu t 1998 14 Phan Qu c Khánh ậ Tr n Hu N ng Quy Hoạch Tuyến Tính Nhà xu t b n Giáo D c 15 Đ ng Văn Uyên Quy hoạch tuyến tính NXB Giáo d c 1998 Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u Mục lục Ch ng Mơ hình toán t i u PHÂN L P BÀI TOÁN 1.1 Nghiên cứu ban đ u 1.2 Phân l p toán 1.3 Phân l p bƠi toán theo đ phức t p c a thu t toán 1.3.1 L p toán P, NP 1.3.2 L p toán NP- Hard, NP- Complete 1.3.2.1 Các khái ni m 1.3.2.2 Bài toán NP- Hard 1.3.2.3 Bài toán NP- Complete GI I THI U V BÀI TOÁN T I U 2.1 Xây d ng mơ hình tốn h c cho m t s v n đ th c t 2.2 M t s mơ hình th c t 2.2.1 Bài toán v n đ u t 2.2.2 Bài toán l p k ho ch s n xu t 10 2.2.3 Bài toán v n t i 12 2.2.4 Bài toán c t v t li u 14 BÀI TOÁN T I U D NG CHU N T C, D NG CHÍNH T C 15 3.1 Bài toán t i u d ng t ng quát 15 3.1.1 D ng t ng quát 15 3.1.2 Phân lo i toán t i u 16 3.2 Bài toán t i u d ng t c chu n t c 16 3.2.1 Bài tốn t i u d ng t c 16 3.2.2 Bài toán t i u d ng chu n t c 17 2.3.3 Bi n đ i toán t i u t ng quát v d ng t c ho c chu n t c 17 Bài t p ch Ch ng T p ph M T S PH ng 20 ng án c a toán t i u 22 KÝ HI U VẨ Đ NH NGHƾA 22 NG ÁN C S CH P NH N Đ C 23 2.1 Đ nh nghƿa 23 2.2 S t n t i ph ng án c s ch p nh n đ c 24 2.3 Tiêu chu n t i u 24 3.KHÁI NI M L I VÀ CÁC TÍNH CH T .24 3.1 T h p l i 24 3.2 T p h p l i 25 Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u 3.3 Ði m c c biên c a m t t p h p l i 25 3.4 Ða di n l i t p l i đa di n 26 3.4.1 Đa di n l i 26 3.4.2 Siêu phẳng - N a không gian 26 3.4.3 T p l i đa di n 26 Đ C ĐI M C A T P PH PH NG ÁN 27 NG PHÁP HỊNH H C 28 5.1 N i dung ph ng pháp 28 5.2 Ví d 29 Bài t p ch Ch ng 32 ng Ph Đ ng pháp đ n hình 33 NG L I CHUNG VẨ C S C A PH NG PHÁP Đ N HỊNH 33 THU T TOÁN Đ N HỊNH D NG B NG .33 2.1 B ng đ n hình 35 2.2 Ví d 36 TÍNH H U H N C A THU T TOÁN Đ N HỊNH 43 3.1 Tính h u h n c a thu t tốn đ n hình 43 3.2 Hi n t ng xoay vòng 44 3.3 Các bi n pháp ch ng xoay vòng 45 3.3.1 Ph ng pháp từ v ng 46 3.3.2 Qui t c Bland 48 THU T TOÁN Đ N HỊNH HAI PHA 48 4.1 Mô t thu t toán 48 4.2 Ví d 51 THU T TOÁN Đ N HỊNH HAI PHA C I BIÊN .52 5.1 Mơ t thu t tốn 52 5.2 Ví d 53 PH NG PHÁP ĐÁNH THU (M ậ PH NG PHÁP) 54 6.1 Mô t thu t toán 55 6.2 Ví d 56 Ch ng LỦ thuy t đ i ng u toán t i u đ i ng u BẨI TOÁN Đ I NG U 61 QUI T C CHUY N BÀI TOÁN T I U T NG QUÁT SANG BÀI TOÁN Đ I NG U 61 2.1 Qui t c chuy n đ i 61 2.2 Ví d 63 Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u 2.3 ụ nghƿa kinh t c a bƠi toán đ i ng u 64 CÁC Đ NH Lệ Đ I NG U 65 THU T TOÁN Đ N HỊNH Đ I NG U 69 ng Bài toán v n t i 73 Ch PHÁT BI U BÀI TOÁN, S T N T I C A NGHI M T I U .73 1.1 Phát bi u toán 73 1.2 S t n t i nghi m t i u 74 TIÊU CHU N NH N BI T PH NG ÁN C C BIÊN 75 2.1 B ng v n t i 75 2.2 Các đ nh nghƿa vƠ đ nh lý 75 CÁC PH NG PHÁP TỊM PH NG ÁN XU T PHÁT .76 3.1 Ph ng pháp góc Tơy B c 76 3.2 Ph ng pháp c c ti u c c phí 77 3.2.1 Ph ng pháp c c ti u c c phí theo dịng 77 3.2.2 Ph ng pháp c c ti u c c phí theo c t 77 3.2.3 Ph ng pháp c c ti u c c phí tồn b ng 78 3.3 Ph 3.4 Ph ng pháp Fôghen 78 ng pháp Larson R.E 81 TIÊU CHU N T I U VẨ THU T TOÁN TH V 81 4.1 Tiêu chu n t i u 81 4.2 Thu t toán th v 81 TR NG H P KHÔNG CÂN B NG THU PHÁT .84 ng phát l n h n t ng l ng thu: 5.2 T ng l ng phát nh h n t ng l ng thu: M T S Ch a b m 5.1 T ng l i1 n i j1 a b m i1 84 j n i j1 j 84 VÍ D 85 ng Gi i toán t i GI I BÀI TỐN T I u máy tính U 86 GI I BÀI TOÁN V N T I 89 Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u Chương Mơ hình tốn tối ưu PHỂN L P BẨI TOÁN 1.1 Nghiên cứu ban đ u * Bi u di n tốn: Input: Thơng tin đ u vào Output: K t qu đ u 1.2 Phơn l p bƠi toán T i ph i phân l p toán? Đ li u sức ! L i ích c a vi c phân l p ? BƠi tốn ch a có l i gi i Các Bài tốn Bài tốn khơng gi i đ c BƠi tốn đƣ có l i gi i BƠi toán gi i đ c BƠi toán ắd ắ gi i BƠi tốn ắkhóẰ gi i Bài tốn chia thành lo i: BƠi tốn đƣ có l i gi i: BƠi tốn ch a có l i gi i (Open Problem) BƠi tốn đƣ có l i gi i đ Bài tốn khơng th gi i đ Bài tốn có th gi i đ Bài tốn có th gi i đ c chia thành lo i c c chia thành lo i Bài toán th c t gi i đ c: BT tr đ Bài tốn th c t khó gi i đ Bài tốn th c t khó gi i đ c c, BT ắd Ằ (Easy) c: BT b t tr đ c (Interactability), BT ắkhóẰ (Hard) c: lo i Bài tốn th c t khó gi i: ắKhó vừa ph iẰ (Binary Hard) Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph Bài tốn th c t khó gi i: ắR t khóẰ ng pháp t i u (Unary Hard) Chú ý: C n phân bi t gi a ắkhông thể giảiẰ vƠ ắkhó giảiẰ (ắb t tr Ằ) 1.3 Phơn l p bƠi toán theo đ phức t p c a thu t toán 1.3.1 L p toán P, NP 1) V i m t tốn, có hai kh x y ra: Đƣ có l i gi i Ch a có l i gi i 2) V i bƠi tốn đƣ có l i gi i, có hai tr - Gi i đ c b ng thu t tốn - Khơng gi i đ c b ng thu t toán 3) V i toán gi i đ + Th c t gi i đ Đ ng h p x y ra: c b i thu t toán chia thƠnh hai lo i: c: ắD gi iẰ c hi u thu t toán đ c x lý th i gian đ nhanh, th c t cho phép, lƠ thu t tốn có đ phức t p th i gian đa thức + Th c t khó gi i: ắKhó gi iẰ Đ c hi u thu t toán ph i x lý nhi u th i gian, th c t khó ch p nh n, lƠ thu t tốn có đ phức t p th i gian lƠ đa thức (hƠm mũ) P : l p toán gi i đ NP : l p toán gi i đ Chú ý: Hi n ng c b ng thu t toán đ n đ nh, đa thức (Polynomial) c b ng thu t tốn khơng đ n đ nh, đa thức P NP i ta ch a bi t P ≠ NP 1.3.2 L p bƠi toán NP- Hard, NP- Complete 1.3.2.1 Các khái ni m a Khái niệm "Dẫn được" BƠi toán B đ c g i "Dẫn đượcẰ bƠi toán A m t cách đa thức, ký hi u: B A N u có thu t tốn đ n đ nh đa thức đ gi i toán A có thu t tốn đ n đ nh đa thức đ gi i toán B Nghĩa là: BƠi tốn A "khó h n" bƠi tốn B, hay B "d Ằ h n A -B đ - Gi i đ c di n đ t b ng ngơn ng c a tốn A (Tức là: B lƠ tr c A Gi i đ c B Chú ý: Quan h có tính ch t b c c u, tl: C B B A ng h p riêng c a A) C A b Khái niệm "Khó tương đương" Bài tốn A g i lƠ ắkhó t ng đ ngẰ bƠi toán B, ký hi u A ~ B, n u : A B B A Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u 1.3.2.2 Bài toán NP- Hard * Bài toán A đ c g i NP - hard (NP- khó) n u L NP đ u L A * L p toán NP - hard bao g m t t c nh ng toán NP - hard Bài toán NP ậ hard có th n m ho c ngồi l p NP 1.3.2.3 Bài toán NP- Complete a Khái niệm Bài toán NP- Complete * BƠi toán A đ c g i NP - Complete (NP- đ y đ ) n u A NP – Hard A NP Tóm l i: Bài tốn NP – Complete toán NP - hard nằm lớp NP * L p toán NP - Complete bao g m t t c nh ng toán NP - Complete L p NP ậ Complete có th c, Cook vƠ Karp đƣ ch BT đ u tiên thu c l p Đó lƠ bƠi tốn ắth a đ cẰ: SATISFYABILITY b Chứng minh toán NP – Hard Cách 1: Theo đ nh nghƿa * BƠi toán A đ c g i NP - hard (NP- khó) n u L NP đ u L A + Chứng minh theo đ nh nghƿa g p nhi u khó khăn ph i chứng minh: M i toán NP đ u ắd h nẰ A + Theo cách 1, năm 1971 Cook vƠ Karp đƣ ch BT đ u tiên thu c l p NP - hard Đó lƠ bƠi toán ắtho đ cẰ (Satisfyability) Cách + Đ chứng minh toán A NP ậ hard, th c t ng i ta th B nƠo đƣ đ c bi t NP - Hard chứng minh r ng B A Theo tính ch t b c c u c a quan h ắd n v Ằ, A tho mƣn đ nh nghƿa NP ậ hard Theo cách hi u tr c quan: B đƣ ắkhóẰ A GI I THI U V BÀI TOÁN T I ng d a vào tốn cƠng ắkhóẰ U Bài tốn t i u b t ngu n từ nh ng nghiên cứu c a nhà toán h c Nga n i ti ng, Vi n sỹ Kantorovich L.V m t lo t cơng trình v tốn l p k ho ch s n xu t đ c công b năm 1938 Năm 1947 nhƠ toán h c Mỹ Dantzig đƣ nghiên cứu vƠ đ xu t ph ng pháp đ n hình (Simplex Method) đ gi i tốn t i u n tính Năm 1952 ph ng pháp đ n hình đƣ đ c cƠi đ t ch y máy tính n t Mỹ Có th t m đ nh nghƿa t i u hóa lƠ lƿnh v c toán h c nghiên cứu toán t i u mƠ hàm m c tiêu (vấn đề quan tâm) ràng bu c (điều kiện toán) đ u hàm vƠ ph ng trình ho c b t ph ng trình n tính Đơy ch m t đ nh nghƿa m h , toán quy ho ch n tính s đ c xác đ nh rõ rƠng h n thơng qua mơ hình ví d Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u 2.1 Xơy d ng mơ hình tốn h c cho m t s v n đ th c t Các b nh sau: B c nghiên cứu ứng d ng m t tốn quy ho ch n tính (QHTT) n hình c 1: Xác định vấn đề cần giải quyết, thu thập liệu Xây d ng mơ hình đ nh tính cho v n đ đ t ra, tức lƠ xác đ nh y u t có Ủ nghƿa quan tr ng nh t xác l p qui lu t mà chúng ph i tuơn theo Thơng th ng b c n m ngồi ph m vi c a toán h c B c 2: Lập mơ hình tốn học Xây d ng mơ hình tốn h c cho v n đ xét, tức di n t l i d i d ng ngơn ng tốn h c cho mơ hình đ nh tính Nh v y, mơ hình tốn h c trừu t ng hóa d i d ng ngơn ng toán h c c a hi n t ng th c t , c n ph i đ c xây d ng cho vi c phân tích cho phép ta hi u đ c b n ch t c a hi n t ng Mơ hình tốn h c thi t l p m i quan h gi a bi n s tham s u n hi n t ng Trong b c này, m t vi c r t quan tr ng c n ph i xác đ nh hàm m c tiêu, tức m t đ c tr ng b ng s mà giá tr l n (càng nh ) c a t ng ứng v i tình hu ng t t h n đ i v i ng i c n nh n quy t đ nh B c thứ b t đ u địi h i nh ng ki n thức tốn h c nh t đ nh Nh v y, sau hai b c đ u ta đƣ phát bi u đ c toán c n gi i B c 3: Xây dựng thuật toán để giải toán mơ hình hố ngơn ngữ thuận lợi cho việc lập trình cho máy tính Các thu t tốn t i u hóa lƠ m t nh ng công c đ c l c đ gi i quy t toán đ t C n nh n m nh r ng, thông th ng tốn th c t có kích th c r t l n, th , đ gi i chúng c n ph i s d ng đ n máy tính n t B c 4: Tính tốn thử điều chỉnh mơ hình cần Trong b c c n ki m chứng l i k t qu tính tốn thu đ c b c Trong b c c n ph i xác l p mức đ phù h p c a mô hình lý thuy t v i v n đ th c t mà mơ t Đ th c hi n b c này, có th làm th c nghi m ho c áp d ng ph ng pháp phơn tích chun gia đơy có kh năng: Khả 1: Các k t qu tính tốn phù h p v i th c t Khi có th áp d ng vào vi c gi i quy t v n đ th c t đ t Trong tr ng h p mơ hình c n đ c s d ng nhi u l n, s xu t hi n v n đ xây d ng h th ng ph n m m đ m b o giao di n thu n ti n gi a ng i s d ng vƠ máy tính, khơng địi h i ng i s d ng ph i có trình đ chun mơn cao v tốn h c Khả 2: Các k t qu tính tốn khơng phù h p v i th c t Trong tr ng h p c n ph i xem xét nguyên nhân c a Nguyên nhơn đ u tiên có th k t qu tính tốn Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u b c lƠ ch a có đ đ xác c n thi t Khi c n ph i xem l i thu t tốn nh ch ng trình tính tốn b c M t ngun nhân khác r t có th mơ hình xây d ng ch a ph n nh đ c đ y đ hi n t ng th c t N u v y c n ph i rà soát l i b c 1, vi c xây d ng mơ hình đ nh tính có y u t ho c quy lu t b b sót khơng? Cu i c n ph i xem xét ho c xây d ng l i mơ hình tốn h c b c Nh v y, tr ng h p k t qu tính tốn khơng phù h p v i th c t c n ph i quay l i ki m tra t t c b c th c hi n tr c đó, vƠ r t có th s ph i l p l p l i nhi u l n cho đ n k t qu tính tốn phù h p v i th c t B c 5: Áp dụng giải toán thực tế 2.2 M t s mơ hình th c t Mơ hình hóa m t lính v c nghiên cứu lí thuy t riêng, đòi h i tr nh ng ki n thức lƿnh v c c a đ i t ng c n mô ph ng c tiên s hi u bi t Trong m c ta xét vài mơ hình truy n th ng c a t i u hóa đ minh h a cho vi c xây d ng mơ hình tốn h c cho tốn có n i dung kinh t , kỹ thu t 2.2.1 Bài toán v n đ u t Ng i ta c n có m t l cung c p ng (t i thi u) ch t dinh d ng i=1,2, ,m thức ăn j=1,2, ,n Gi s : a s l ij ng ch t dinh d ng lo i i có đ n v thức ăn lo i j (i=1,2, ,m) (j=1,2, , n) b nhu c u t i thi u v lo i dinh d i ng i c giá mua m t đ n v thức ăn lo i j j V n đ đ t ph i mua lo i thức ăn nh th nƠo đ t ng chi phí b nh t mà v n đáp ứng đ c yêu c u v dinh d ng V n đ đ c gi i quy t theo mơ hình sau đơy: G i x ≥ (j= 1,2, ,n) lƠ s l j ng thức ăn thứ j c n mua T ng chi phí cho vi c mua thức ăn lƠ: Vì chi phí b đ mua thức ăn ph i th p nh t nên yêu c u c n đ L ng dinh d ng i thu đ c th a mãn là: c từ thức ăn lƠ : a x (i=1→m) i1 Trang Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh L ng dinh d ng ng i thu đ Giáo trình Ph ng pháp t i u c từ thức ăn lƠ : a x i2 L ng dinh d ng i thu đ c từ thức ăn n : a x V yl ng dinh d ng thứ i thu đ in n c từ lo i thức ăn lƠ: a x +a x + +a x i1 i2 in n (i=1→m) Khi theo u c u c a bƠi tốn ta có mơ hình tốn sau đơy: 2.2.2 Bài tốn l p k ho ch s n xu t 2.2.2.1 Ví d M t c s s n xu t d đ nh s n xu t lo i s n ph m A B Các s n ph m nƠy đ c ch t o từ ba lo i nguyên li u I, II, III S l ng đ n v d tr c a lo i nguyên li u s l ng đ n v lo i nguyên li u c n dùng đ s n xu t m t đ n v s n ph m m i lo i đ c cho b ng d i đây: Lo i nguyên li u Nguyên li u d tr I II III 18 30 25 S l ng đ n v nguyên li u c n cùngcho vi c s n xu t m t đ n v s n ph m A B Hãy l p k ho ch s n xu t, tức tính xem c n s n xu t đ n v s n ph m m i lo i đ ti n lƣi thu đ c l n nh t, bi t r ng bán m t đ n v s n ph m A thu lãi trăm nghìn đ ng, bán m t đ n v s n ph m B thi lãi trăm nghìn đ ng Ta xây d ng mơ hình tốn h c cho toán trên: G i x y theo thứ t s l Khi ti n lƣi thu đ c s là: ng đ n v s n ph m A B c n s n xu t theo k ho ch z = 3x + 2y Do nguyên li u d tr có h n nên x y ph i ch u nh ng ràng bu c nƠo đó, c th là: 2x 3y 18 (ràng bu c v nguyên li u I) Trang 10 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph bj 30 30 50 46 25 20 40 70 12 30 16 41 Giá tr hàm m c tiêu thu đ 3.2 Ph 60 ng pháp t i u 25 c là: f(X) = 4*30 + 7*20 + 9*40 + 6*30 + 1*25 = 969 ng pháp c c ti u c c phí Trong ph ng pháp góc Tơy b c, ti n hành phân ph i l ng hàng v n chuy n ta ln ch n góc Tây b c mƠ khơng Ủ đ n c c phí v n chuy n c a Vì v y, có th đ xu t nh ng ph ng pháp khác có Ủ đ n c c phí v n chuy n v i hy v ng tìm đ c ph ng án v i chi phí v n chuy n nh h n Các ph ng pháp d a Ủ t ng g i lƠ ph ng pháp c c ti u c c phí 3.2.1 Ph ng pháp c c ti u c c phí theo dịng Q trình phân ph i đ c th c hi n gi ng nh ph ng pháp góc tơy b c, ch khác đ c ch n đ phân ph i không ph i ô góc tây b c mƠ lƠ ô có c c phí nh nh t dịng đ u tiên c a b ng Ví d 2: Xây d ng ph ng án cho bƠi toán v n t i theo ph theo dòng v i s li u cho b ng sau: bj 30 50 70 41 Giá tr hàm m c tiêu thu đ 3.2.2 Ph ng pháp c c ti u c 60 30 46 ng pháp c c ti u c c phí 25 20 12 45 40 25 1 c là: f(X) = 4*30 + 7*20 + 1*25 + 6*45 + 9*1+ 2*40 = 644 c phí theo c t Q trình phân ph i đ c th c hi n gi ng nh ph ng pháp góc tơy b c, ch khác ô đ c ch n đ phân ph i khơng ph i góc tây b c mƠ lƠ có c c phí nh nh t c t đ u tiên c a b ng Trang 77 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u Ví d 3: Xây d ng ph ng án cho bƠi toán v n t i theo ph ng pháp c c ti u c theo dòng v i s li u cho b ng (nh ví d 2) Ti n hƠnh lƠm t ng t Giá tr hàm m c tiêu thu đ c là: f(X) = 4*30 + 2*41 + 7*19 + 6*46 + 1*24+ 7*1 = 642 bj 30 60 30 50 46 25 19 12 46 70 24 9 41 41 3.2.3 Ph c phí ng pháp c c ti u c c phí tồn b ng Quá trình phân ph i bi n đ i b ng t ng t ph ng pháp trên, ch khác lƠ ô đ ch n đ phân ph i lƠ có c c phí nh nh t tồn b ng Ví d 4: Xây d ng ph ng án cho bƠi toán v n t i theo ph toàn b ng v i s li u cho b ng sau: bj 30 50 30 c phí 25 12 45 25 9 41 41 3.3 Ph 46 19 70 Giá tr hàm m c tiêu thu đ 60 ng pháp c c ti u c c c là: f(X) = 1*25 + 2*41 + 4*30 + 6*45 + 7*19+ 1*12 = 652 ng pháp Fôghen Ph ng pháp nƠy cho ph ng án c c biên t t theo nghƿa g n v i ph ng án t i u v giá tr hàm m c tiêu ch c n sau m t s b c l p c a thu t tốn th v có th tìm đ c ph ng án t i u Gi s C c ij m*n ma tr n c c phí c a tốn v n t i Ta ti n hƠnh nh sau: i) Đ i v i m i hàng m i c t c a C ta tính hi u s gi a hai giá tr c c phí nh nh t hàng (c t) Hi u s bi u th l ng ph t t i thi u ph i ch u n u ta phân sai l ng hàng vào có c c phí nh nh t hàng (c t) Trang 78 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u ii) Ch n hàng hay c t có hi u s l n nh t N u có nhi u hàng (c t) nh ch n m t hàng (c t) b t kỳ s th iii) Phơn l ng hàng t i đa có th vƠo có c c phí nh nh t hàng (c t) đƣ ch n Gi s lƠ ô (r, s) Gi m l ng cung hƠng r vƠ l ng c u c t s m t s b ng l ng hƠng đƣ phơn ph i Vi c s th a mãn m t ràng bu c cung hay m t ràng bu c c u ho c có th c hai Lo i b (không c n xét ti p) ràng bu c đƣ th a mãn b ng cách đánh d u chéo vào hàng hau c t t ng ứng c a ma tr n c c phí N u c hai ràng bu c cung, c u th a mƣn đ ng th i ch lo i b m t hàng (c t) mƠ Trong tr ng h p c l ng cung c u l i c a hàng (c t) đ u tr thành iv) L p l i thao tác cho t i ch l i m t hàng hay m t c t nh t Và l ng hƠng đ c xác đ nh nh l ng hƠng đƣ phơn tr c Ví d 5: Xây d ng ph cho b ng sau: ng án cho bƠi toán v n t i theo ph bj 30 50 60 30 46 25 19 12 46 70 ng pháp Fôghen v i s li u 24 9 41 41 L p b ng bj Hi u s 30 60 46 25 50 12 70 41 1 Hi u s Phơn l ng hàng t i đa cho có c c phí nh nh t c t lƠ Min {7, 9, 2} = l hàng b ng Min{41, 60}=41 Lo i dịng đƣ phơn h t hàng ng L p b ng m i bj 30 19 46 25 Hi u s 50 12 70 Trang 79 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh Hi u s ng Giáo trình Ph 1 6 Phơn l ng hàng t i đa cho có c phí {6, 12} = Lo i b c t bj x c phí nh nh t c t {46, 70} = 46 v i chi 30 19 25 Hi u s 50 12 24 9 x x Hi u s Phơn l ng hàng t i đa cho có c phí {1, 7} = Lo i b dòng bj c phí nh nh t c t {24, 25} = 24 v i chi 30 19 Hi u s 50 12 x x x Hi u s Phơn l ng hàng t i đa cho có c phí Lo i b c t bj c phí nh nh t c t {19, 50} = 19 v i chi Hi u s 30 0 31 12 x x x x Hi u s Phơn l ng hàng t i đa cho có c phí Lo i b dịng 1, c t bj c phí nh nh t c t {30, 30} = 30 v i chi 30 0 Hi u s 30 12 x ng pháp t i u Trang 80 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh Hi u s ng Giáo trình Ph x x x ng pháp t i u x K t qu : f(X) = 2*41 + 6*46 + 1*24 + 7*19 + 7*1 + 4*30 = 642 3.4 Ph ng pháp Larson R.E Đơy lƠ ph ng pháp c i ti n ph ng pháp Fôghen đ c đ a năm 1972 phức t p so v i tính tốn b ng tay nh ng có th tính tốn nhanh chóng máy tính Thay dùng c c phí c ij đƣ cho ta dùng c c phí đ c chu n hóa xác đ nh nh sau: c ij ' c ij Đi u nƠy có nghƿa lƠ m i ph n t c ij b trừ m t l hàng c t c a Sau ta áp d ng ph TIÊU CHU N T I 4.1 Tiêu chu n t i m 1n c c iq pj n m p1 q1 ng b ng trung bình c c phí ng pháp Fơghen đ i v i ma tr n C’ U VẨ THU T TOÁN TH V u Đ nh lý 5.4: Phương án X toán vận tải tối ưu tồn số u i (i=1 n) v j (j=1 m) cho: i, j T 1) u i v j cij 2) u i v j cij Các s xij u i (i=1 n) v j (j=1 m) đ c g i th v t ng ứng v i m phát m thu 4.2 Thu t toán th v B c 1: Xác đ nh ph Ki m tra u ki n cân b ng thu phát, n u không th c hi n bi n đ i Tìm ph B ng án ban đ u ng án xu t phát theo m t ph ng pháp đƣ trình bƠy c 2: Tìm th v N u ô s d ng G l p thành chu trình ta s d ng Đ nh lỦ 5.3 đ phá v chu trình, chuy n ph ng án xu t phát v ph ng án c c biên Xác đ nh h th ng th v u i (i=1 n) v j (j=1 m) theo Đ nh lý 5.4 Vì gi thi t tốn khơng thối hóa nên t p ô s m + n -1 ô, có m + n -1 ph ng trình: u i v j cij v i d ng G i, j | xij có xij Trang 81 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u v Đ xác đ nh m + n n u i (i=1 n) j (j=1 m), nh v y s có m t u i ho c m t vj đ c xác đ nh tùy ý m + n -1 n l i s xác đ nh nh t từ m + n -1 ph ng trình Qui t c: Đ u tiên cho ui0 = ( i0 th ng lƠ dòng đ u tiên ho c dòng chứa m t s d ng) Sau xác đ nh v j cij ui cho c t c t dịng i0 m t s s d ng Ti p xác đ nh ui cij v j cho dòng i c t c t phân rã m t s ô s d ng V i qui t c xác đ nh t t c dòng c t thu c G B c 3: Tính cl ng V i m i i, j G ta xác đ nh N u ij 0, i, j ph cl ng ij sau đơy: ij ui v j cij ng án đƣ có lƠ ph N u ij v i nh t m t (i,j) ph ng án t i u ng án đƣ có ch a t i u, ta có th u ch nh đ h giá tr hàm m c tiêu B c 4: Đi u ch nh ph Gi s ng án ô vi ph m tiêu chu n t i u lƠ (i*, j*) tức i*j* (n u có nhi u vi ph m ta ch n ô ứng v i Max { ij } v i hy v ng hàm m c tiêu gi m nhanh nh t) Ô i*, j * G bây gi ta thêm ô (i*, j*) vào t p G, c th y g m m + n ô s d ng Ô (i*, j*) s l p v i ô c a G m t chu trình K nh t Chia K thành ph n K (t p ô ch n) K (t p ô lẻ) Coi ô (i*, j*) ô ch n, tức i*, j * K B c 5: Chuy n sang ph Xác đ nh s ng án m i xij | i, j K xis js xij , nêu i, j K xij ' xij , nêu i, j K xij , nêu i,j K Trang 82 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u xis js ' xis js v y ô is ,js b lo i, xi* j* (i*, j*) s tr thành ô s d ng G' G \ is , js i*, j * trình Quay l i b v n g m m+ n ậ ô s c đ n x y tình hu ng ij 0, i, j nh n đ Ta xác đ nh h th ng th v m i ứng v i m i ph ng án X’ vƠ G’ Ti p t c q trình c ph N u tốn khơng thối hóa sau m t s h u h n b Chú ý: N u s ô s d ng không t o thành chu ng án t i u c bi n đ i s có l i gi i d ng N < m + n -1 thêm vào (m+n-1) ậ N v i xij cho không t o thành chu trình S đ kh i Tìm X Tính u i ,v j ij 0, i, j False True i* j* max ij | ij xij | i, j K xis js Xopt Tì X’ Ví d 6: Gi i toán v n t i v i s li u cho b ng sau: bj 180 220 230 270 250 10 15 350 20 19 14 300 18 Trang 83 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh TR ng Giáo trình Ph ng pháp t i u NG H P KHÔNG CÂN B NG THU PHÁT 5.1 T ng l ng phát l n h n t ng l đ Hàng thừa s n i1 j1 Ta có bƠi toán t b j m n i1 j1 c thêm vào m t m thu ắ oẰ thứ n+1 v i l bn1 b j v i c m ng thu: c phí ci,n1 0, i m ng yêu c u là: ng ứng là: c x x ij ij i1 ij b j , j 1 n j 1 ij , i 1 m m x n 1 xij 0, i m, j n a b i 5.2 T ng l j ng phát nh h n t ng l Hàng thừa s đ m j1 i1 Ta có bƠi toán t b j m n i1 j1 c thêm vào m t m phát ắ oẰ thứ m+1 v i l an1 b j v i c n ng thu: c phí cm1,j 0, j n ng ứng là: ng hàng b thi u là: c x x ij ij m 1 i1 x ij b j , j 1 n ij , i 1 m n j 1 xij 0, i m 1, j n a b i j Trang 84 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh M T S ng Giáo trình Ph ng pháp t i u VÍ D Ví d 7: Gi i tốn v n t i v i s li u cho b ng sau: bj 250 340 300 185 195 200 310 12 14 16 17 13 14 7 13 F = 195*6 + 55*7 + 185*14 + 155*7 + 45*5 + 255*8 = 7495 Ví d 8: Gi i toán v n t i v i s li u cho b ng sau: bj 10 15 25 11 28 10 9 20 10 15 F = 8*6 + 9*3 + 10*1 + 0*11 + 8*4 + 5*25 = 242 Ví d 9: Gi i toán v n t i v i s li u cho b ng sau: bj 15 25 45 20 20 30 15 5 3 4 F= 1*5+4*10+2*20+7*5+3*15+4*30=285 Ví d 10: Gi i tốn v n t i v i s li u cho b ng sau: bj 10 25 15 15 20 10 1 4 2 F= 2*5 + 1*5 + 0*10 + 5*15 + 8*5 + 2*10 =150 Ví d 11: Gi i toán v n t i v i s li u cho b ng sau: bj 40 20 35 25 40 20 10 3 8 F=340 Trang 85 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh ng Giáo trình Ph ng pháp t i u Chương Giải tốn tối ưu máy tính GI I BÀI TỐN T I U Xét tốn t i u: Q lƠ m t phép toán quan h ≥, ≤, = thứ t phép toán quan h ràng bu c tuỳ Ủ Nh v y tốn (1) có th tốn t i u thơng th ng, t i u nguyên hay t i u boolean Cách b trí d li u cho b ng tính: Hàng cu i giá tr ban đ u c a bi n đ công thức c a Excel ho t đ ng, có th l y giá tr c a t t c bi n b ng Xét toán: Các b c th c hi n đ gi i toán: Bước Nh p d li u tốn vào b ng tính d i d ng sau: Trang 86 Đ i h c H i Phòng Gi ng viên: Lê Đ c Nh Ph ng Giáo trình Ph ng án ban đ u X = (1, 1, 1), có th khơng ch p nh n đ ng pháp t i u c Bước Tính giá tr hàm m c tiêu t i ô E2 b ng công thức = SUMPRODOCT($B$7:$D$7, B2:D2) Hàm Sumproduct cho tích vơ h ng c a hai dãy ô Copy công thức từ ô E2 sang dãy E3:E6 nh m tính giá tr v trái c a b n ràng bu c toán (1) Bước Dùng l nh Tools / Solver, xu t hi n h p tho i Solver Parameters M c Set Target Cell: ch n đích (chứa giá tr hàm m c tiêu), có th nháy vào bi u t c a Excel bên ph i h p văn b n đ xác đ nh ơ, ví d ch n ô E2 ng M c Equal To: ch n Max n u c c đ i hàm m c tiêu, ch n Min n u c c ti u hàm m c tiêu, ch n Value of nh p giá tr n u mu n ô đích b ng m t giá tr nh t đ nh, ví d ch n Min M c By Changing cells: ch n ô chứa bi n c a tốn, ta ch n kh i B7:D7 Nháy nút Add đ nh p t t c ràng bu c vào khung Subject to the Constraints (dòng đ u khung ứng v i ràng bu c khơng âm bi n, dịng thứ hai ứng v i hai ràng bu c đ u tốn, dịng cu i ứng v i ràng bu c cu i Khi nháy nút Add, hi n h p tho i: đ ch n lo i ràng bu c (>= =