Bài giảng tối ưu hóa

78 691 4
Bài giảng tối ưu hóa

Đ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

ĐẠI HỌC THÁI NGUYÊN KHOA CÔNG NGHỆ THÔNG TIN -----o0o-----  Bài giảng môn TỐI ƯU HÓA THÂN QUANG KHOÁT Thái nguyên - 2007 Thân Quang Khoát MỤC LỤC Chương 1. MỞ ĐẦU 3 §1. ĐỐI TƯỢNG NGHIÊN CỨU .3 1.1. Bài toán tối ưu tổng quát .3 1.2. Phân loại bài toán 3 1.3. Một số mô hình thực tế .4 §2. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH 6 2.1. Dạng tổng quát 6 2.2. Dạng chuẩn tắc 7 2.3. Dạng chính tắc .7 §3. MỘT SỐ KIẾN THỨC BỔ TRỢ 9 3.1. Tập hợp lồi và điểm cực biên 9 3.2. Đa diện lồi (polytope) .10 §4. CẤU TRÚC MIỀN RÀNG BUỘC CỦA BÀI TOÁN 11 QUY HOẠCH TUYẾN TÍNH 11 4.1. Phương án cực biên và phương án cực biên tối ưu .11 4.2. Điều kiện cần và đủ để một phương án là cực biên 13 4.3. Cơ sở của một phương án cực biên .15 Chương 2. THUẬT TOÁN ĐƠN HÌNH 17 §1. MỞ ĐẦU .17 1.1. Bài toán .17 1.2. Phương pháp Hình Học .17 §2. THUẬT TOÁN ĐƠN HÌNH .19 2.1. Tư tưởng của thuật toán đơn hình .19 2.2. Công thức số gia hàm mục tiêu - dấu hiệu tối ưu .20 2.3. Tìm phương án cực biên tốt hơn - Công thức đổi cơ sở .21 2.4. Thuật toán đơn hình (Simplex method) 23 2.5. Bảng đơn hình .24 §3. TÍNH HỮU HẠN CỦA THUẬT TOÁN ĐƠN HÌNH .28 3.1. Trường hợp bài toán không suy biến 28 3.2. Trường hợp bài toán suy biến .28 §4. PHƯƠNG PHÁP HAI PHA 31 4.1. Vấn đề .31 4.2. Phương pháp hai pha giải bài toán QHTT 32 Bộ môn Khoa Học Cơ Bản 1 Bài Giảng môn Tối Ưu Hoá 4.3. Một số ví dụ 34 §5. PHƯƠNG PHÁP ĐÁNH THUẾ .36 §6. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH ĐỐI NGẪU .41 6.1. Bài toán đối ngẫu 41 6.2. Các định lý đối ngẫu .42 6.3. Một số ứng dụng của lý thuyết đối ngẫu 44 6.4. Thuật toán đơn hình đối ngẫu .46 Chương 3. TỐI ƯU HOÁ RỜI RẠC .56 §1. BÀI TOÁN TỐI ƯU HOÁ RỜI RẠC .56 1.1. Mở đầu 56 1.2. Một số bài toán tối ưu hoá rời rạc tiêu biểu 56 §2. PHƯƠNG PHÁP CẮT GOMORY GIẢI BÀI TOÁN QHTT NGUYÊN 58 2.1. Tư tưởng chung của phương pháp cắt 58 2.2. Phương pháp cắt Gomory cho bài toán QHTT nguyên hoàn toàn .59 2.3. Phương pháp cắt Gomory cho bài toán QHTT nguyên bộ phận 64 §3. PHƯƠNG PHÁP NHÁNH CẬN 65 3.1. Sơ đồ tổng quát .65 3.2. Thuật toán nhánh cận Land-Doig giải bài toán QHTT nguyên 66 3.3. Một số ví dụ 68 §4. BÀI TOÁN CÁI TÚI .72 4.1. Đưa bài toán QHTT Nguyên về bài toán cái túi .72 4.2. Phương pháp Quy hoạch động giải bài toán cái túi 74 Tài liệu tham khảo .77 Khoa Công nghệ thông tin - ĐHTN 2 Thân Quang Khoát Chương 1. MỞ ĐẦU §1. ĐỐI TƯỢNG NGHIÊN CỨU 1.1. Bài toán tối ưu tổng quát Bài toán tối ưu tổng quát có dạng như sau: 1 12 2 ( ) min (max) () , 1, () , 1, () , 1, ii jj kk n f x gx b i m gx b j m m gx b k m m xX → ⎧ ≥= ⎪ ⎪ ⎪ ⎪ ≤=+⎪ ⎪ ⎪ ⎨ ⎪ ==+ ⎪ ⎪ ⎪ ⎪ ∈⊂ℜ ⎪ ⎪ ⎩ Trong đó ()f x được gọi là hàm mục tiêu; (), 1, i gx i m= được gọi là các hàm ràng buộc. Mỗi một đẳng thức hay bất đẳng thức được gọi là một ràng buộc. Gọi 11 2 () , 1, ; () , 1, () , 1, ; ii j j n kk gx bi m gx bj m m Dx gx bk m mx X ⎧⎫ ≥= ≤ =+ ⎪⎪ ⎪⎪ ⎪⎪ =∈ℜ ⎨⎬ ⎪⎪ ==+ ∈ ⎪⎪ ⎪⎪ ⎩⎭ 2 ∈ D được gọi là miền ràng buộc (hay miền chấp nhận được). Mỗi một vectơ được gọi là một phương án của bài toán (hay lời giải chấp nhận được). 12 ( , , ., ) n xxx x D= Định nghĩa: Phương án được gọi là phương án tối ưu của bài toán nếu thoả mãn điều kiện sau * xD∈ (®èi víi bµi to¸n t×m Min) (®èi víi bµi to¸n t×m Max) * * () (), () (), f xfx xD fx fx x D ≤∀∈ ≥∀∈ khi đó giá trị * ()f x được gọi là giá trị tối ưu. 1.2. Phân loại bài toán Chúng ta thấy rằng, một cách hiển nhiên nhất để giải bài toán đặt ra là: Tính giá trị của hàm ()f x trên tất cả các phương án của miền ràng buộc sau đó so sánh các giá trị của hàm mục tiêu thu được để tìm ra phương án tối ưu. Tuy Bộ môn Khoa Học Cơ Bản 3 Bài Giảng môn Tối Ưu Hoá nhiên cách làm này là rất khó hoặc đúng hơn là không thể làm được trong trường hợp tổng quát (chẳng hạn tập là không đếm được). Vì vậy chúng ta phải phân tách nhỏ ra bằng cách thêm một số điều kiện nào đó để được các bài toán “dễ giải”. Người ta đã phân ra một số loại bài toán như sau: D + Quy hoạch tuyến tính + Quy hoạch lồi. + Quy hoạch phi tuyến. + Quy hoạch toàn phương. + Quy hoạch rời rạc. + Quy hoạch nguyên. 1.3. Một số mô hình thực tế Ta sẽ xem xét một số bài toán trong thực tế đưa đến bài toán t ối ưu hoá và mô mình toán học tương ứng của nó. 1.3.1. Bài toán lập kế hoạch sản xuất cho một nhà máy Một nhà máy có khả năng sản xuất loại sản phẩm. Để sản xuất loại sản phẩm này thì cần m loại nguyên liệu. Biết: n n ij a - lượng nguyên liệu loại i cần thiết để sản xuất một đơn vị sản phẩm loại j i b - lượng dự trữ nguyên liệu loại i j c - tiền lãi từ việc bán một đơn vị sản phẩm loại j 1, , 1,imj==n Hãy xây dựng kế hoạch sản xuất sao cho nhà máy thu được tổng lợi nhuận là nhiều nhất. Gọi là lượng sản phẩm loại mà nhà máy sẽ sản xuất, rõ ràng ta có . Kế hoạch sản xuất của nhà máy sẽ là véctơ . Đại lượng là tổng chi phí nguyên liệu loại theo kế hoạch sản xuất , theo giả thiết ta có: j x j 0 j x ≥ 12 ( , , ., ) n xxx x = 1 n ij j j ax = ∑ i x 1 n ij j i j ax b = ≤ ∑ Khoa Công nghệ thông tin - ĐHTN 4 Thân Quang Khoát Tổng lợi nhuận thu được theo kế hoạch sản xuất x sẽ là . Như vậy yêu cầu của bài toán này đưa về mô hình toán học như sau: 1 n jj j cx = ∑ 1 1 () ,1, 0, 1, n jj j n ij j i j j f xcxM ax b i m xjn = = =→ ⎧ ≤= ⎪ ⎪ ⎪ ⎨ ⎪ ≥= ⎪ ⎪ ⎩ ∑ ∑ ax Mô hình thu được chính là một bài toán quy hoạch tuyến tính. 1.3.2. Bài toán cái túi Một nhà thám hiểm cần đem theo một cái túi có trọng lượng không quá b . Có loại đồ vật có thể đem theo. Đồ vật thứ có trọng lượng là và giá trị sử dụng là n j j a (1, j cj n = ) . Hỏi rằng nhà thám hiểm cần lấy các loại đồ vật nào và số lượng bao nhiêu để cho tổng giá trị sử dụng của các đồ vật mang theo là nhiều nhất ? Gọi (1, j xj n = ) là số lượng đồ vật loại mà nhà thám hiểm sẽ đem theo. Khi đó tổng giá trị của các đồ vật đó là , tổng trọng lượng của chúng là . Từ giả thiết ta có . Như vậy yêu cầu của bài toán sẽ đưa về việc giải bài toán sau: j 1 n jj j cx = ∑ 1 n jj j ax = ∑ 1 n jj j ax b = ≤ ∑ vµ nguyªn 1 1 max 0( n jj j n jj j j cx ax b xj = = → ⎧ ≤ ⎪ ⎪ ⎨ ⎪ ≥= ⎪ ⎩ ∑ ∑ 1,)n Đây lại là một bài toán quy hoạch tuyến tính Nguyên. 1.3.3. Bài toán vận tải Có m kho hàng cùng chứa một loại hàng hoá, lượng hàng có ở kho thứ i là (1, m ) i ai = . Có n địa điểm tiêu thụ loại hàng nói trên, với nhu cầu tiêu thụ ở điểm là j (1, j bj n )= . Biết là cước phí vận chuyển một đơn vị hàng hoá từ kho thứ đến điểm tiêu thụ thứ . Hãy lập kế hoạch vận chuyển hàng hoá từ các kho đến các điểm tiêu thụ sao cho tổng chi phí vận chuyển là nhỏ nhất. ij c i j Ký hiệu là lượng vận chuyển từ kho i đến điểm tiêu thụ thứ , khi đó: ij x j Bộ môn Khoa Học Cơ Bản 5 Bài Giảng môn Tối Ưu Hoá ij 11 mn ij ij cx == ∑∑ là tổng chi phí vận chuyển 1 n ij j x = ∑ là lượng hàng vận chuyển từ kho thứ i 1 m ij i x = ∑ là lượng hàng vận chuyển đến điểm tiêu thụ thứ j khi đó bài toán lập kế hoạch trên có thể đưa về mô hình toán học như sau: 11 1 1 0, 1, , 1, mn ij ij ij n ij i j n ij j j ij cx Min xa xb ximj == = = → ⎧ = ⎪ ⎪ ⎪ ⎪ ⎪ = ⎨ ⎪ ⎪ ⎪ ≥= = ⎪ ⎪ ⎩ ∑∑ ∑ ∑ n n ℜ Đây chính là một bài toán Quy hoạch tuyến tính. §2. BÀI TOÁN QUY HOẠCH TUYẾN TÍNH 2.1. Dạng tổng quát Tìm véctơ sao cho: 12 (, , ., ) t n xxx x=∈ 1 () ( ) n jj j f xcxMinMa = =→ ∑ x với các điều kiện: tù do , 1 1 12 1 2 1 1 12 2 ,1, ,1 ,1 0, 1, 0, 1, 1, n ij j i j n pj j p j n kj j k j j j j ax b i m ax b p m m ax b k m m D xjn xjnn xjnn = = = ⎧ ≥= ⎪ ⎪ ⎪ ⎪ ≤=+ ⎪ ⎪ ⎪ ⎪ ⎪ ==+ ⎪ ⎪ = ⎨ ⎪ ≥= ⎪ ⎪ ⎪ ⎪ ≤=+ ⎪ ⎪ ⎪ ⎪ =+ ⎪ ⎪ ⎩ ∑ ∑ ∑ , , Dễ thấy rằng: 1) () min () maxf xfx→⇔−→ Khoa Công nghệ thông tin - ĐHTN 6 Thân Quang Khoát 2) 11 () nn ij j i ij j i jj ax b a x b == ≥⇔ − ≤− ∑∑ 3) 1 1 1 n ij j i n j ij j i n j ij j i j ax b ax b ax b = = = ⎧ ⎪ ≥ ⎪ ⎪ ⎪ =⇔ ⎨ ⎪ ≤ ⎪ ⎪ ⎪ ⎩ ∑ ∑ ∑ 4) 11 ,( 0) nn ij j i ij j n i i n i jj ax b ax x b x ++ == ≥⇔ −= ≥ ∑∑ 5) 11 ,( 0) nn ij j i ij j n i i n i jj ax b ax x b x ++ == ≤⇔ += ≥ ∑∑ các biến được gọi là các biến bù. ni x + 6) Một biến không ràng buộc về dấu (tự do) có thể được thay bằng hiệu hai biến không âm: j x Víi 0, 0 jjj j j xxx x x =− ≥ ≥ Từ các nhận xét trên ta thấy rằng bất kỳ một bài toán quy hoạch tuyến tính nào cũng có thể đưa về một trong hai dạng sau đây: 2.2. Dạng chuẩn tắc 1 1 () ,1, 0, 1, n jj j n ij j i j j f xcxMi ax b i m xjn = = =→ ⎧ ⎪ ≥= ⎪ ⎪ ⎨ ⎪ ≥= ⎪ ⎪ ⎩ ∑ ∑ n Hay dưới dạng ma trận () 0 t f xcxMin Ax b x =→ ≥ ⎧ ⎪ ⎪ ⎨ ⎪ ≥ ⎪ ⎩ trong đó: lµ ma trËn cÊp ,, , nm cx b A m n∈ℜ ∈ℜ × 2.3. Dạng chính tắc Bộ môn Khoa Học Cơ Bản 7 Bài Giảng môn Tối Ưu Hoá 1 1 () ,1, 0, 1, n jj j n ij j i j j f xcxMi ax b i m xjn = = =→ ⎧ ⎪ == ⎪ ⎪ ⎨ ⎪ ≥= ⎪ ⎪ ⎩ ∑ ∑ n Hay dưới dạng ma trận () 0 t f xcxMin Ax b x =→ = ⎧ ⎪ ⎪ ⎨ ⎪ ≥ ⎪ ⎩ Ví dụ: Cho bài toán quy hoạch tuyến tính 12 34 12 4 234 12 3 () 2 3 4 5 max 6 293 4 57 2 0, 1, 4 i f xxxxx xx x xxx xxx xi =−+−→ ⎧ +− ⎪ = ⎪ ⎪ ⎪ −++ ≥ ⎪ ⎪ ⎨ ⎪ +− ≤ ⎪ ⎪ ⎪ ≥= ⎪ ⎪ ⎩ khi đó dạng chính tắc của bài toán sẽ là: 1234 12 4 2345 12 3 6 () 2 3 4 5 min 6 293 4 57 2 0, 1, 6 i gx xxxx xx x xxxx xxx x xi =− + − + → ⎧ +− ⎪ = ⎪ ⎪ ⎪ −++− = ⎪ ⎪ ⎨ ⎪ +− + = ⎪ ⎪ ⎪ ≥= ⎪ ⎪ ⎩ dạng chuẩn tắc là: 1234 12 4 234 12 3 12 4 () 2 3 4 5 min 6 293 4 57 2 6 0, 1, 4 i gx x x x x xx x xxx xx x xx x xi =− + − + → ⎧ +− ≥ ⎪ ⎪ ⎪ ⎪ −++ ≥ ⎪ ⎪ ⎪ −−+ ≥ − ⎨ ⎪ ⎪ −− + ≥ ⎪ − ⎪ ⎪ ⎪ ≥= ⎪ ⎩ Khoa Công nghệ thông tin - ĐHTN 8 Thân Quang Khoát §3. MỘT SỐ KIẾN THỨC BỔ TRỢ 3.1. Tập hợp lồi và điểm cực biên 3.1.1. Tập hợp lồi (convex set) Đoạn thẳng: cho hai điểm khi đó đoạn thẳng nối hai điểm đó là tập hợp điểm có dạng , n ab∈ℜ [] {} (1 ) , 0,1 n xxa bλλλ∈ℜ = + − ∈ . Nếu thì ta sẽ có đường thẳng đi qua hai điểm . λ ∈ℜ , ab Tập lồi: Tập được gọi là tập lồi nếu lấy hai điểm bất kỳ thì đoạn thẳng nối hai điểm này thuộc hoàn toàn trong C . n C ⊂ℜ 12 ,xx C∈ Hoặc ta có thể phát biểu như sau: lµ tËp låi th× 12 1 2 ,,0;1 (1)C xxC x x xCλλλ ⎡ ⎤ ⇔∀ ∈ ∀ ∈ = + − ∈ ⎢ ⎥ ⎣ ⎦ Các tập lồi Ví dụ: Trong không gian 2 chiều thì các đa giác, các hình tròn, các hình elip,… là các tập lồi. Các siêu phẳng { 1 n n ii i } cxβ = =∈ℜ = ∑ Hx cũng là một tập lồi trong ℜ n Các nửa không gian { 1 n n ii i } cxβ = =∈ℜ ≥ ∑ Hx là các tập lồi trong n ℜ Bổ đề: Giao của các tập lồi cũng là một tập lồi. 3.1.2. Điểm cực biên (vertex) Điểm cực biên: điểm thuộc tập lồi C được gọi là điểm cực biên của C nếu nó không là điểm trong của bất kỳ đoạn thẳng nào nối hai điểm khác nhau thuộc C . Tức là, 0 x 0 12 1 2 1 x= 2 ,, : (1)xx Cx x x xαα∃∈ ≠ +− ⎡⎤ ∈ ⎢⎥ ⎣⎦ với α . 0; 1 Ví dụ: C là đa giác lồi trong ℜ thì các đỉnh của nó chính là các điểm cực biên, các điểm khác đều không là điểm cực biên. Tất cả các điểm trên đường tròn là 2 Bộ môn Khoa Học Cơ Bản 9 . cực biên của bài toán (I) nếu là điểm cực biên của D . 0 xD∈ 0 x Bộ môn Khoa Học Cơ Bản 11 Bài Giảng môn Tối Ưu Hoá Phương án cực biên tối ưu: Nếu phương. trị của hàm mục tiêu thu được để tìm ra phương án tối ưu. Tuy Bộ môn Khoa Học Cơ Bản 3 Bài Giảng môn Tối Ưu Hoá nhiên cách làm này là rất khó hoặc đúng hơn

Ngày đăng: 10/10/2013, 10:20

Hình ảnh liên quan

ứng là . Ma trận cơ sở là ma trận đơn vị nờn ta cú ngay bảng đơn hỡnh như sau:  - Bài giảng tối ưu hóa

ng.

là . Ma trận cơ sở là ma trận đơn vị nờn ta cú ngay bảng đơn hỡnh như sau: Xem tại trang 27 của tài liệu.
Lập bảng đơn hỡnh: - Bài giảng tối ưu hóa

p.

bảng đơn hỡnh: Xem tại trang 28 của tài liệu.
Lập bảng đơn hỡnh: - Bài giảng tối ưu hóa

p.

bảng đơn hỡnh: Xem tại trang 32 của tài liệu.
Như vậy ta đó cú cỏc thụng tin để cú thể lập bảng đơn hỡnh. - Bài giảng tối ưu hóa

h.

ư vậy ta đó cú cỏc thụng tin để cú thể lập bảng đơn hỡnh Xem tại trang 52 của tài liệu.
6.4.3. Thuật toỏn Đơn hỡnh đối ngẫu khi chưa biết cơ sở chấp nhận được đối ngẫu - Bài giảng tối ưu hóa

6.4.3..

Thuật toỏn Đơn hỡnh đối ngẫu khi chưa biết cơ sở chấp nhận được đối ngẫu Xem tại trang 52 của tài liệu.
Ta cú J= {1,2,3} làm ột cơ sở, Bảng đơn hỡnh tương ứng với nú là: - Bài giảng tối ưu hóa

a.

cú J= {1,2,3} làm ột cơ sở, Bảng đơn hỡnh tương ứng với nú là: Xem tại trang 54 của tài liệu.
đổi bảng đơn hỡnh ta thu được bảng đơn hỡnh tương ứng là: - Bài giảng tối ưu hóa

i.

bảng đơn hỡnh ta thu được bảng đơn hỡnh tương ứng là: Xem tại trang 55 của tài liệu.
a rj là cỏc phần tử trong bảng đơn hỡnh tương ứng với * - Bài giảng tối ưu hóa

a.

rj là cỏc phần tử trong bảng đơn hỡnh tương ứng với * Xem tại trang 61 của tài liệu.
2.2.2. Một số vớ dụ - Bài giảng tối ưu hóa

2.2.2..

Một số vớ dụ Xem tại trang 62 của tài liệu.
Giải bài toỏn quy hoạch tuyến tớnh tương ứng ta thu được bảng đơn hỡnh: 1 2 3 4 5 6  - Bài giảng tối ưu hóa

i.

ải bài toỏn quy hoạch tuyến tớnh tương ứng ta thu được bảng đơn hỡnh: 1 2 3 4 5 6 Xem tại trang 62 của tài liệu.
Tiếp tục thực hiện thuật toỏn đơn hỡnh đối ngẫu ta cú bảng đơn hỡnh sau: 1 2 3 4  5  6  7  - Bài giảng tối ưu hóa

i.

ếp tục thực hiện thuật toỏn đơn hỡnh đối ngẫu ta cú bảng đơn hỡnh sau: 1 2 3 4 5 6 7 Xem tại trang 63 của tài liệu.
giải bài toỏn mở rộng ta cú bảng đơn hỡnh sau: - Bài giảng tối ưu hóa

gi.

ải bài toỏn mở rộng ta cú bảng đơn hỡnh sau: Xem tại trang 64 của tài liệu.
lập một bảng như sau: - Bài giảng tối ưu hóa

l.

ập một bảng như sau: Xem tại trang 76 của tài liệu.
Ta lập bảng tớnh toỏn theo hệ thức Dantzig: - Bài giảng tối ưu hóa

a.

lập bảng tớnh toỏn theo hệ thức Dantzig: Xem tại trang 77 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan