1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài toán quy hoạch nguyên, thuật toán gomory và ứng dụng trong cắt thép xây dựng

82 368 1

Đ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

Thông tin cơ bản

Định dạng
Số trang 82
Dung lượng 605,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một trong các lĩnh vực của toán học thường ứng dụng công nghệ thông tin để giải quyết đó là các bài toán về quy hoạch tuyến tính.. Trong mô hình tổng quát, đã xuất hiện rất nhiều các thu

Trang 1

VÀ TRUYỀN THÔNG

HOÀNG QUANG HƯNG

BÀI TOÁN QUY HOẠCH NGUYÊN, THUẬT TOÁN GOMORY VÀ ỨNG DỤNG TRONG CẮT THÉP XÂY DỰNG

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên 2015

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

VÀ TRUYỀN THÔNG

HOÀNG QUANG HƯNG

BÀI TOÁN QUY HOẠCH NGUYÊN, THUẬT TOÁN GOMORY VÀ ỨNG DỤNG TRONG CẮT THÉP XÂY DỰNG

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS NGUYỄN HẢI MINH

Thái Nguyên 2015

Trang 3

Gomory và ứng dụng trong cắt thép xây dựng” là công trình nghiên cứu do tôi

thực hiện dưới sự hướng dẫn của TS Nguyễn Hải Minh và TS Vũ Vinh Quang Các nội dung được trình bày trong luận văn là những kết quả đạt được trong thời tôi gian thực đề tài dưới sự hướng của tập thể giáo viên hướng dẫn, tôi không sao chép nguyên bản lại kết quả của các nghiên cứu đã từng được công bố và đây cũng là kết quả của quá trình nghiên cứu, học tập và làm việc nghiêm túc của tôi trong quá trình học cao học Bên cạch đó, trong một số nội dung luận văn là kết quả phân tích, nghiên cứu, tổng hợp từ nhiều nguồn tài liệu khác Các thông tin tổng hợp hay các kết quả lấy từ nhiều nguồn tài liệu khác đã được tôi trích dẫn một cách đầy đủ và hợp lý Nguồn tài tài liệu tham khảo có xuất xứ rõ ràng và được trích dẫn hợp pháp

Các số liệu và thông tin sử dụng trong luận văn này là trung thực

Thái Nguyên, ngày tháng năm 2015

Người cam đoan

Hoàng Quang Hưng

Trang 4

Tôi xin chân thành cảm ơn các thầy, cô trong Viện Công nghệ thông tin, Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên đã tham gia giảng dạy, giúp đỡ tôi trong suốt quá trình học tập nâng cao trình độ kiến thức để phục vụ cho công tác giảng dạy của tôi hiện tại và sau này

Tôi xin bày tỏ lòng biết ơn chân thành tới TS Nguyễn Hải Minh và TS.Vũ Vinh Quang, các Thầy đã tận tình hướng dẫn hướng dẫn tôi trong suốt thời gian thực hiện luận văn

Vì điều kiện thời gian và trình độ có hạn nên luận văn cũng không thể tránh khỏi những thiếu sót Tôi xin kính mong các Thầy, Cô giáo, các bạn đồng nghiệp đóng góp ý kiến để đề tài được hoàn thiện hơn

Tôi xin chân thành cảm ơn!

Trang 5

MỤC LỤC

MỞ ĐẦU 1

NỘI DUNG 2

Chương 1 CÁC KIẾN THỨC CƠ BẢN VỀ BÀI TOÁN QUY HOẠCH TUYẾN TÍNH 3

1.1 Mô hình tổng quát về bài toán quy hoạch tuyến tính 3

1.1.1 Giới thiệu bài toán quy hoạch tuyến tính 3

1.1.2 Bài toán tổng quát 3

1.1.3 Dạng chuẩn và dạng chính tắc 4

1.1.4 Đưa quy hoạch tuyến tính về dạng chuẩn hoặc dạng chính tắc 4

1.2 Thuật toán đơn hình 5

1.2.1 Đường lối chung và cơ sở của thuật toán 6

1.2.2 Cơ sở của thuật toán 6

1.2.3 Thuật toán đơn hình 8

1.2.4 Công thức đổi cơ sở, bảng đơn hình 9

1.3 Lý thuyết đối ngẫu 12

1.3.1 QHTT dưới dạng chuẩn, cặp bài toán tuyến tính đối ngẫu đối xứng 12

1.3.2 Ý nghĩa cặp bài toán đối ngẫu 15

1.3.3 Phương pháp đơn hình đối ngẫu từ vựng 15

Chương 2 BÀI TOÁN QUY HOẠCH NGUYÊN VÀ THUẬT TOÁN GOMORY 19

2.1 Mô hình tổng quát 19

2.2 Một số mô hình thực tế 20

2.2.1 bài toán với điều kiện không chia cắt được 20

2.2.2 Bài toán với điều kiện logic 20

2.2.3 Bài toán với biến số rời rạc 21

2.2.4 Bài toán với vốn đầu tư ban đầu 21

2.3 Cơ sở lý thuyết về thuật toán nhát cắt Gomory 22

Trang 6

2.3.1 Tư tưởng 22

2.3.2 Khái niệm lát cắt đúng 24

2.3.3 Tư tưởng phương pháp cắt Dantzig 24

2.4 Thuật toán Gomory giải bài toán quy hoạch nguyên 25

2.4.1 Thuật toán Gomory thứ nhất 25

2.4.2 Thuật toán Gomory thứ hai 36

2.4.3 Thuật toán Gomory thứ ba 44

Chương 3 CÀI ĐẶT BÀI TOÁN CẮT THÉP TRONG XÂY DỰNG 60

3.1 Đánh giá thuật toán Gomory 60

3.2 Ứng dụng giải bài toán cắt thép trong xây dựng 61

3.2.1 Mô hình bài toán thực tế 61

3.2.2 Mô hình toán học 61

3.2.3 Thuật toán giải bài toán 61

3.3 Cách sử dụng chương trình 64

3.3.1 Các biến sử dụng trong chương trình 64

3.3.2 Cách sử dụng chương trình 64

3.4 Kết quả cài đặt 65

KẾT LUẬN 71

TÀI LIỆU THAM KHẢO 72

PHẦN PHỤ LỤC 73

Trang 7

MỞ ĐẦU

Kể từ khi máy vi tính xuất hiện thì công nghệ thông tin và toán học luôn là hai lĩnh vực song song cùng phát triển Trước đây, việc giải các bài toán, đặc biệt là các bài toán phức tạp thường tốn rất nhiều thời gian và công sức, thì ngày nay, việc giải các bài toán đó, có thể diễn ra nhanh chóng trên máy vi tính bằng cách sử dụng các thuật giải Việc giải các bài toán một cách nhanh chóng trên máy tính không những giúp cho toán học phát triển mà nó còn giúp cho rất nhiều ngành khác cùng phát triển theo Một trong các lĩnh vực của toán học thường ứng dụng công nghệ thông tin để giải quyết đó là các bài toán về quy hoạch tuyến tính Mô hình bài toán quy hoạch tuyến tính là một mô hình đã được phát triển từ rất lâu Trong mô hình tổng quát, đã xuất hiện rất nhiều các thuật toán nổi tiếng để xác định phương án tối

ưu như, thuật toán đơn hình gốc của Dantzig, thuật toán đơn hình cải biên hay thuật toán đối ngẫu Trong mô hình bài toán tổng quát nếu thêm vào điều kiện ràng buộc

là các nghiệm của bài toán phải thỏa mãn nguyên, thì chúng ta nhận được bài toán quy hoạch nguyên Do tính chất nguyên của nghiệm nên bài toán quy hoạch nguyên

có rất nhiều ứng dụng trong thực tế, như bài toán vận tải, bài toán lập lịch biểu, bài toán cái túi, bài toán pha cắt vật tư…Để tìm nghiệm của bài toán quy hoạch nguyên thì thuật toán Gomory đóng vai trò quan trọng đặc biệt là trong công nghệ thông tin

Nhận thấy tính thiết thực của vấn đề này và được sự gợi ý của giảng viên

hướng dẫn, tôi đã chọn đề tài “Bài toán quy hoạch nguyên, thuật toán Gomory và ứng dụng trong cắt thép xây dựng” làm đề tài cho luận văn tốt nghiệp của mình

Trang 8

NỘI DUNG Chương 1: Chương này trình bày nhưng kiến thức cơ bản về quy hoạch

tuyến tính, bài toán tổng quát, dạng chuẩn và dạng chính tắc của bài toán quy hoạch tuyến tính Cách đưa bài toán về dạng chuẩn hoặc dạng chính tắc thuật toán đơn hình giải bài toán quy hoạch tuyến tính

Chương 2: Chương này trình bày về bài toán quy hoạch nguyên, một số bài

toán trong thực tế Cơ sở lý thuyết của ba thuật toán Gomory để giải bài toán quy hoạch nguyên

Chương 3: Chương này là kết quả cài đặt bài toán cắt thép trong xây dựng

dựa vào thuật toán Gomory

Trang 9

Chương 1

CÁC KIẾN THỨC CƠ BẢN VỀ BÀI TOÁN QUY HOẠCH TUYẾN

TÍNH

1.1 Mô hình tổng quát về bài toán quy hoạch tuyến tính

1.1.1 Giới thiệu bài toán quy hoạch tuyến tính

Quy hoạch tuyến tính là một trong những lớp bài toán tối ưu được nghiên cứu trọn vẹn cả về phương diện lý thuyết lẫn thực hành

Quy hoạch tuyến tính 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 được nêu trong một loạt công trình về bài toán kế hoạch hóa sản xuất, 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 án đơn hình để giải bài toán quy hoạch tuyến tính Năm 1952 phương pháp đơn hình đã được chạy trên máy tính điện tử ở Mỹ

Quy hoạch tuyến tính là lĩnh vực toán học nghiên cứu các bài toán tối ưu mà hàm mục tiêu và các ràng buộc đều là hàm và các phương trình hoặc bất phương trình tuyến tính

Các bước nghiên cứu và ứng dụng một bài toán quy hoạch tuyến tính điển hình như sau:

- Xác định vấn đề cần giải quyết, thu thập dữ liệu

- Lập mô hình toán học

- Xây dựng các thuật toán để giải bài toán đã mô hình hóa bằng ngôn ngữ thuận lợi cho việc lập trình cho máy tính

- Tính toán thử và điều chỉnh mô hình nếu cần

- Áp dụng giải các bài toán thực tế

1.1.2 Bài toán tổng quát

Ta xét bài toán tìm cực đại, sau đó ta sẽ xét cách chuyển bài toán tìm cực tiểu sang tìm cực đại

Bài toán tổng quát của quy hoạch tuyến tính có dạng:

Trang 10

ï £ = ³ïï

í

ïï ³ïïî

Nếu bài toán max có phương án tối ưu là x thì bài toán min cũng có '

phương án tối ưu là x và.* fmin = - f max

ïï ³ïïî

å

1.1.4 Đưa quy hoạch tuyến tính về dạng chuẩn hoặc dạng chính tắc

Bất kỳ quy hoạch tuyến tính nào cũng có thể đưa về một trong hai dạng chuẩn hoặc dạng chính tắc nhờ các phép biến đổi tuyến tính sau:

Trang 11

-3 Một biến x không bị ràng buộc dấu có thể thay thế bởi hiệu của 2 biến j

không âm bằng cách đặt:x j = x j+ - x j- vơi x j+ ³ 0 và x j- ³ 0

1.2 Thuật toán đơn hình

Cơ sở của phương pháp này được Dantzig công bố năm 1947 có tên gọi là phương pháp đơn hình Sở dĩ có tên gọi như vậy vì những bài toán đầu tiên được giải bằng phương pháp đó có các ràng buộc dạng:

Trang 12

1.2.1 Đường lối chung và cơ sở của thuật toán

Đường lối chung

phương pháp đơn hình dựa trên hai nhận xét sau:

- Nếu bài toán quy hoạch tuyến tính có phương án tối ưu thì có ít nhất một đỉnh của D là phương án tối ưu

- Đa diện lồi D có một số hữu hạn đỉnh

Như vậy phải tồn tại một thuật toán hữu hạn Thuật toán gồm 2 giai đoạn:

- Giai đoạn I: Trước hết tìm một phương án cực biên (một đỉnh)

- Giai đoạn II: Kiểm tra điều kiện tối ưu với phương án đó

- Nếu điều kiện tối ưu được thỏa mãn thì phương án đó là tối ưu Nếu không

ta chuyển sang phương án cực biên mới sao cho cải tiến giá trị hàm mục tiêu

- Kiểm tra điều kiện tối ưu đối với phương án mới

Người ta thực hiện một dãy các thủ tục như vậy cho đến khi nhận được phương án tối ưu, hoặc đến tình huống bài toán không có phương án tối ưu

1.2.2 Cơ sở của thuật toán

Xét bài toán quy hoạch tuyến tính dưới dạng chính tắc

, ax

< > ®

A = b0

x x

ìïïí

ï ³ïî

Trong đó A là ma trận kích thước m´ n và giả sử rằng hạng của ma trận A

là m (điều này không làm mất tính tổng quát)

Giả sử x là một phương án cực biên nào đó

Ta ký hiệu: J* = { |j x j > 0}

Vì rằng các vectơ A , j j Î J*là độc lập tuyến tính nên |J | £ m *

 Định nghĩa: Phương án cực biên x được gọi là không thoái hóa nếu

*

|J |= m , thoái hóa nếu |J* |< m

Trang 13

Ta chọn một hệ thống m vectơ độc lập tuyến tính Î { , A j j Î J} sao cho

*

j Ê J Hệ thống đó là cơ sở của x , các vectơ A j j, Î J và biến x j j, Î J được gọi là các vectơ và các biến cơ sở tương ứng Các vectơ và các biến A x j j, j( Ï J)gọi là vectơ và các biến phi cơ sở

Nếu x không thoái hóa thì tồn tại một cơ sở duy nhất, đó là j = J*

Mọi vectơ A phi cơ sở có thể biểu diễn dưới dạng tổ hợp tuyến tính của các k

Trang 14

thì x là phương án tối ưu

 Định lý 2: Nếu tồn tại một chỉ số k sao cho Vk< 0 thì ta có thể tìm được ít nhất một phương án x mà đối với nó ' z' > z

1.2.3 Thuật toán đơn hình

Giả sử ta đã đưa quy hoạch tuyến tính về dạng chính tắc:

ï ³ïî

-1) Nếu ( k" Ï J )D ³kx là nghiệm tối ưu Dừng

2) Nếu không x không phải là nghiệm tối ưu

- ( k$ Ï J )D <k 0và z jk £ 0, " Îj J Þ bài toán quy hoạch tuyến tính

không có nghiệm tối ưu (z không bị chặn trên) Dừng thuật toán

- Đối với mỗi k Ï J sao cho D <k 0, đều tồn tại j Î J : z jk > 0Þ chọn

min | 0

D = D D <

Trang 15

Đưa vectơ A vào cơ sở s

Đưa vectơ A ra khỏi cơ sở Ta được phương án cực biên mới r x với '

cơ sở J' = J \ { }r È{ }s Quay trở lại khởi đầu của giai đoạn 2

1.2.4 Công thức đổi cơ sở, bảng đơn hình

Ta xét các công thức chuyển từ phương án cực biên x với cơ sở j , sang

phương án cực biên x với cơ sở ' j '

Ta có công thức '

r

rs j

r rs

x

z x

= íïïïïïïî

' nÕu nÕu =

Trang 16

rk rs

z

z z

= íïïïïïïî

-Để dễ tính toán trong mỗi bước lặp ta thiết lập bảng đơn hình

 Nếu tất cả các số trong dòng cuối (trừ f ) đều ³ 0, nghĩa là D ³ 0 k k " , khi

đó x là phương án tối ưu

 Nếu dòng cuối không (kể f ) có những số âm thì xem thử có cột nào cắt

dòng cuối ở một số âm mà mọi số trong cột đó đều £ 0 hay không ?

- Nếu có thì bài toán không có phương án tối ưu

- Nếu không thì chọn cột s sao cho D =s min {Dk |D <k 0}

rồi chọn trong số những dòng cắt cột s ở những số dương dòng r mà tỉ số

z

Cột s gọi là cột xoay, vectơ A đưa vào cơ sở

Dòng r gọi là dòng xoay Vectơ A , bị đưa ra khỏi cơ sở

Phần tử z rs > 0 là giao của cột xoay và dòng xoay gọi là phần tử trục Các phần tử z js,j ¹ r gọi là phẩn tử xoay

r rs

x

z x

= íïïïïïïî

' nÕu nÕu =

Trang 17

-gọi là các công thức đổi cơ sở

bảng đơn hình mới được suy từ bảng cũ bằng cách thay c A trong dòng r, rxoay bằng c A Sau đó thực hiện phép biến đổi dưới đây: s, s

1) Chia mỗi phần tử dòng xoay cho phần tử trục (được số 1 ở vị trí trục), kêt quả thu được gọi là dòng chính

2) Lấy mỗi dòng khác trừ đi tích của dòng chính nhân với phần tử xoay tương ứng (được số 0 ở mọi vị trí còn lại của cột xoay)

Dòng mới = dòng cũ tương ứng - dòng chính ´ phần tử xoay

Lưu ý rằng sau phép xoay thì ở vị trí D ta thu được số 0 vì lúc này s A trở s

thành vectơ đơn vị cơ sở, nghĩa là ta đã làm mất số âm nhỏ nhất ở dòng cuối của bảng cũ

Toàn thể phép biến đổi trên gọi là phép xoay xung quanh trục z Sau khi rs

thực hiện phép xoay ta có một phương án mới và một cơ sở mới Nếu chưa đạt yêu cầu nghĩa là còn D <0 thì ta lại tiếp tục quá trình k

Chú ý : trong bảng đơn hình ở bảng 1.1, không giảm tổng quát ta coi các

vectơ cơ sở được đánh số A A1, 2, ,A nghĩa là: m J = {1, 2, }m

Trang 18

0 0 1 0 0 z jk

z 1s

z 2s

.z js

z 1n

z 2n

.z jn

0 0 0 0 1 z mk

z ms

1.3 Lý thuyết đối ngẫu

Ta chứng tỏ ở đây rằng đối với mọi bài toán quy hoạch tuyến tính ta có thể thiết lập tương ứng cho nó một bài toán khác gọi là bài toán đối ngẫu của nó Khái niệm đối ngẫu là một trong các khái niệm cơ bản của quy hoạch tuyến tính Trong rất nhiều trường hợp để có được những kết luận chấp nhận được cho một trong các bài toán trên thì việc nghiên cứu bài toán đối ngẫu của nó lại tỏ ra thuận tiện hơn Hơn nữa khi ta phân tích song song một cặp bài toán đối ngẫu ta có thể nhận được những kết luận hay cả về toán học cả về ý nghĩa kinh tế

1.3.1 QHTT dưới dạng chuẩn, cặp bài toán tuyến tính đối ngẫu đối xứng

 Định nghĩa 1 Cho QHTT dưới dạng chuẩn

< c x, > = z(min)

Trang 19

Ở đây A là ma trận chuyển vị của A , y là vectơ cột

Ta chú ý rằng các biến đổi ngẫu tương ứng một – một với các ràng buộc của quy hoạch ban đầu (mà ta sẽ gọi là quy hoạch gốc), trong khi những ràng buộc của bài toán đối ngẫu tương ứng một – một các biến của quy hoạch gốc Điều đó thể hiện rõ trong sơ đồ sau:

Khi đọc theo hàng của sơ đồ này ta được các ràng buộc (ngoài x ³ 0 ) và hàm mục tiêu của quy hoạch gốc

Khi đọc theo cột ta được các ràng buộc (ngoài y 0) và hàm mục tiêu của quy hoạch đối ngẫu

Ví dụ: quy hoạch đối ngẫu của bài toán

ï + + ³í

ïï ³ïïî

min max

Trang 20

y y

ìï + £ïï

ï + £ïï

ìï £ïí

ï ³ïî

Đối với mọi cặp phương án chấp nhận được x , y tương ứng của ( ) p và ( )p ta có: '

< b y, > £ < c x, >

Hệ quả: Nếu x là các phương án chấp nhận được tương ứng của cặp quy

hoạch tuyến tính đối ngẫu (p) và nếu < , '>c x b y,  thì :

(1) < , '>c x = < b y, >

(2) x và y là các phương án tối ưu tương ứng của ( p ) và ( p ’)

 Định lý 2 Cho 1 quy hoạch tuyến tính

- Nếu nó có phương án chấp nhận được thì nó có phương án cực biên

- Nếu nó có phương án tối ưu thì nó có phương án cực biên tối ưu

- Nếu nó có phương án chấp nhận được và nếu giá trị hàm mục tiêu chặn (chặn trên nếu là bài toán cực đại hoá, chặn dưới nếu là bài toán cực tiểu hoá), thì nó

có phương án cực biên tối ưu

 Định lý 3 Nếu 2 QHTT đối ngẫu ( p ) và ( p ’) đều có phương án chấp nhận

được thì chúng đều có phương án tối ưu và giá trị tối ưu của các hàm mục tiêu bằng nhau

Trang 21

 Định lý 4 (định lý đối ngẫu)

Cho hai quy hoạch tuyến tính đối ngẫu ( p ) và ( p ’)

- Nếu chúng đều có phương án chấp nhận được thì chúng đều có phương án tối ưu và giá trị tối ưu của các hàm mục tiêu bằng nhau

- Nếu một trong hai quy hoạch có một lớp các phương án chấp nhận được mà đối với chúng hàm mục tiêu không bị chặn (chặn dưới đối với ( )p , chặn trên đối '

với( )p' ), khi đó quy hoạch khác không có phương án chấp nhận được

- Nếu ( )p (tương ứng ( )p , có một phương án chấp nhận được nhưng' ( )p , '

(tương ứng ( )p ) không có thì ( ) p (tương ứng( )p ) có một lớp các phương án chấp '

nhận được mà đối với chúng hàm mục tiêu không bị chặn dưới (tương ứng không bị chặn trên)

- Có thể xảy ra là cả ( )p và ( )p đều không có phương án chấp nhận được '

 Định lý 5 (Định lý về độ lệch bù)

Điều kiện cần và đủ để cặp phương án chấp nhận được của các quy hoạch tuyến tính đối ngẫu ( )p và ( )p là cặp phương án tối ưu là: '

1.3.2 Ý nghĩa cặp bài toán đối ngẫu

- Khi có c >0, j j " thì bài toán đối ngẫu biết ngay được phương án cực biên

- Nếu Y là phương án cực biên của bài toán đối ngẫu thì khi bài toán gốc thêm một ràng buộc ta có (y , 0) vẫn là phương án cực biên của bài toán đối ngẫu

- Đôi khi dùng cặp bài toán đối ngẫu để giải gần đúng theo ý nghĩa sau: giải

cả hai bài toán và nếu hiệu giữa các giá trị tương ứng của các hàm mục tiêu đủ nhỏ thì dừng lại và phương án cực biên thu được này là nghiệm gần đúng

1.3.3 Phương pháp đơn hình đối ngẫu từ vựng

 Phương pháp đơn hình đối ngẫu xây dựng một dãy hữu hạn các giả phương

án X0,X1, ,X Giả phương án cuối cùng là k X là phương án của bài k

toán dạng chính tắc Hàm mục tiêu x0 = x X0( r) không tăng khi r tăng khi r mỗi

Trang 22

giả phương án X ứng với bảng r T và các tập r B N Quá trình giải gồm bước lặp r, rban đầu (xây dựng giả phương án xuất phát X ) và dãy bước lặp tổng quát 0

 Tìm cực đại từ vựng của phương án mở rộng

x ³ " =i n) Nếu đúng thì X là phương án l- tối ưu Nếu không thì r

tìm biến X loại khỏi cơ sở theo quy tắc: k

R R

Trang 23

 Tính l giả phương án X 0

Giả sử ta xây dựng bảng đơn hình T ứng với bài toán dạng chính tắc không

phải là l chuẩn, ứng với nó có các tập B và N Giả sử hàm j

ïï ³ïïî

j N n

ï ³ïïî

å

Viết ràng buộc này vào cuối bảng đơn hình, chọn x loại khỏi có sở theo quy k

tắc k = n + 1 Chọn biến x đưa vào cơ sở theo quy tắc l R l = lex min{R j | j Î N}

Thực hiện một bước biến đổi bảng đơn hình theo công thức của mục (1.2.4)

ta nhận được bảng đơn hình T0 là l- chuẩn ( R ³ j 0với j Î N0) và ứng với nó ta có

0 ( { }), 0 ( { 1}) \ { }

Trang 24

 Sơ đồ khối của thuật toán đơn hình đối ngẫu từ vựng

R R

Trang 25

Chương 2

BÀI TOÁN QUY HOẠCH NGUYÊN VÀ THUẬT TOÁN GOMORY

2.1 Mô hình tổng quát

Bài toán quy hoạch nguyên tổng quát có thể phát biểu dưới dạng sau:

Tìm cực đại hoặc cực tiểu của hàm mục tiêu

1 2

( , , , n)

Trên tập D Í R ncác vectơ x = ( ,x x1 2, ,x n) mà một số hoặc tất cả các

thành phần của nó chỉ nhận các giá trị rời rạc Thông thường tập D được xác định

bởi một hệ thống các phương trình và bất phương trình được bổ sung bởi các điều kiện về tính rời rạc của biến số

Trong các bài toán quy hoạch nguyên ta cần phải tìm cực đại hoặc cực tiểu của hàm mục tiêu ở trên, còn các biến số x x1, 2, ,x phải thỏa mãn các điều kiện n

sau:

nguyên

1 2

1 2

1

( , , , ) 0, 1, 2, ,( , , , ) 0, 1

Trang 26

2.2 Một số mô hình thực tế

2.2.1 bài toán với điều kiện không chia cắt được

Trong một số bài toán từ ý nghĩa thực tế các biến phải nhận giá trị nguyên, khi đó thông thường ta có bài toán dạng Z = f x x( ,1 2, ,x n)- x j nguyên

1

1, 2, ,

j = n : Sau đây là một ví dụ

Giả sử một nhà máy có khả năng sản xuất n loại sản phẩm E E1, 2, ,E n

không phải là sản phẩm sản xuất hàng loạt, mà là một số lượng không lớn lắm các sản phẩm không thể chia cắt được (chẳng hạn các cỗ máy, các thiết bị, máy bay, ôtô, ) Nếu ký hiệu x là lượng sản phẩm j E cần sản xuất thì đối với j x j ta phải yêu cầu điều kiện nguyên Nhà máy cần phân phối sử dụng dự trữ vật tư của mình sao cho tổng khối lượng hàng hóa xuất sưởng đem lại lợi nhuận nhiều nhất Ta đưa vào các ký hiệu sau:

Khi đó bài toán tối ưu có dạng:

ïïî

å

2.2.2 Bài toán với điều kiện logic

Xét điều kiện logic “hoặc là - hoặc là” Điều kiện này ta thường gặp khi phải lựa chọn phương án sản xuất, xây dựng

phải điều kiện: Hoặc là không sản xuất sản phẩm j ( x = j 0), hoặc là nếu sản xuất

Trang 27

thì không ít hơn d Giả sử biết cận trên j p của biến j x j trong bài toán đang xét thì

có thể đưa vào biến số Boole y j (tức là biến chỉ nhận giá trị 0 hoặc 1), ta có thể đưa ràng buộc hoặc là x = j 0,” hoặc là x j > d j” với hệ ràng buộc tương đương sau:

00

i

y = hoặc = 1

2.2.3 Bài toán với biến số rời rạc

Trong thực tế có trường hợp biến số chỉ nhận một số giá trị nhất định

Q là tập các quy mô công suất tiêu chuẩn

Bằng cách đưa vào các biến phụ t ràng buộc trên tương đương với hệ ràng ij

2.2.4 Bài toán với vốn đầu tư ban đầu

Trong một số bài toán tối ưu ta gặp phải hàm mục tiêu dạng:

0( )

Trang 28

Trong đó d j > 0,j = 1, 2, ,n Các đại lượng d , có thể hiều là số vốn mà ta j

phải đầu tư vào việc sử dụng phương thức sản xuất j , nó không phụ thuộc vào

Trang 29

Hệ quả 1 Giả sử X R C là phương án tối ưu của bài toán ( , )( , ) R C , khi đó

( , )

quy hoạch tuyến tính (L C ta giải bài toán ( , ) N, ) R C

2 R º V L( N) là đa diện nguyên duy nhất mà tập các điểm nguyên của nó trùng vớiL N

 Định lý 2: Giả sử L là một đa diện lồi, U là một đa diện lồi nguyên và

4 Khi xây dựng V L( N) ta đã không sử dụng thông tin về hàm mục tiêu

CX của bài toán quy hoạch tuyến tính nguyên Vậy có nên tìm một bài toán quy hoạch tuyến tính ( , )A C theo bài toán ( L C sao cho thỏa mãn 3 điều kiện: N, )

2) A N = L N (tập các điểm nguyên bằng nhau ) (2.5)

3) Tất cả các phương án tối ưu của bài toán quy hoạch tuyến tính (A, C) đều thỏa mãn điều kiện nguyên:

*

A ÇA Í A (2.6) (trong đó A là tập hợp các phương án tối ưu của bài toán ( , ) c A C ; A* là tập hợp của

các đa diện lồi A ) nói chung việc xây dựng đa diện lồi A thỏa mãn (2.4) - (2.6)

cũng rất phức tạp và chưa có thuật toán hữu hiệu

Trang 30

2.3.2 Khái niệm lát cắt đúng

Giả sử bài toán (L C là bài toán quy hoạch nguyên nào đó và phương án N, )tối ưu của bài toán quy hoạch tuyến tính tương ứng không thỏa mãn điều kiện nguyên, tức làX L C( , )Ï L N Khi đó bất đẳng thức:

j j

j

å hay aX £ b (2.7) gọi là lát cắt đúng nếu thỏa mãn 2 điều kiện:

- Điều kiện cắt: X L C không thỏa mãn (2.7) tức là ( , ) aX L C( , )> b

- Điều kiện đúng: nếu X là phương án của ( L C thì X thỏa mãn (2.7), N, )tức là: L N Ì {X aX| £ b}

Nói cách khác, ràng buộc thêm không cắt đi một phương án nguyên nào của bài toán (L C N, )

2.3.3 Tư tưởng phương pháp cắt Dantzig

1 Việc giải ((L C là một quá trình gồm nhiều bước: N, )

a) Ở bước thứ r giải bài toán quy hoạch tuyến tính phụ

(L C r, ),r = 0, 1, với L0 = L

Trang 31

b) Tập các điểm nguyên của tất cả các đa diện lồi là như nhau

sẽ giải quyết được cả ba vấn đề này một cách hiệu quả

2.4 Thuật toán Gomory giải bài toán quy hoạch nguyên

2.4.1 Thuật toán Gomory thứ nhất

2.4.1.1 Xét bài toán quy hoạch tuyến tính nguyên toàn bộ

0 1

Trang 32

Giả sử X L C là phương án tựa tối ưu của bài toán ( , )( , ) L C , từ đó ta có thể biểu

diễn các biến qua các biến phi cơ sở:

Hệ quả 2: Giả sử X L C không thỏa mãn điều kiện nguyên (2.11), như vậy ( , )

đối với i nào đó (1£ i £ n )x không nguyên Khi đó các hệ thức (2.13), (2.15) i0

xác định một lát cắt đúng

a) Trong lược đồ phương pháp cắt ở trên, vì bài toán (L C có thể có nhiều r, )lời giải nên X L C không duy nhất, Gomory giải bài toán (( r, ) L C thay cho bài r, )toán (L C , do đó phương án l- tối ưu r, ) X L C là tựa và xác định duy nhất, các ( r, )

tính toán trên tiến hành nhờ l- phương pháp

b) Trong phương pháp cắt vấn đề quan trọng là việc tăng số lượng ràng buộc

Gomory đặt kích thước hạn chế cho bảng đơn hình mở rộng bằng số (n + 2)´ (k + 1) Các ràng buộc a X r £ b r chỉ là phương pháp để cắt phương án tối

ưu không nguyên X L C và chuyển bài toán từ (( r, ) L C sang bài toán r, ) (L r+1, )C chú

ý rằng biến x l r+ +1(r ³ 0) lập tức đưa ra khỏi cơ sở sau khi đưa vào ràng buộc:

Trang 33

-íïïî

Tư tưởng Gomory như sau:

- ngay sau khi x n r+ +1đưa ra khỏi cơ sở dòng tương ứng xóa khỏi bảng đơn hình mở rộng

- Nếu trong quá trình tính toán tiếp theo x n r+ +1 lại đưa vào cơ sở thì dòng tương ứng trong bảng đơn hình không được khôi phục và x n r+ +1 không tham gia vào các tính toán tiếp theo Như vậy ở bước lặp bất kỳ của tính toán, bảng đơn hình bao gồm (k + 1) cột như bảng xuất phát số lượng các dòng không vượt quá(n + 2) Suy ra cỡ của bảng không vượt quá (n + 2)´ (k + 1)

c) Nếu bài toán ( , )L C không có lời giải vì hàm mục tiêu x0 = CX không bị

chặn trên khúc lồi L thì thuật toán Gomory thứ nhất không áp dụng được

Thuật toán Gomory cũng không áp dụng được trong trường hợp bài toán ( , )L C có lời giải nhưng l- bài toán ( , ) L C không có lời giải Điều đó dường như là

tập hợp các phương án tối ưu của bài toán ( , )L C khác trống nhưng không bị chặn

Về sau ta sẽ giả thiết

- x0 º CX bị chặn trên L

- Nếu tập các phương án tối ưu của ( , )L C khác trống thì nó phải bị chặn, tức

là nếu bài toán ( , )L C giải được thì bài toán ( , ) L C cũng giải được

2.4.1.2 Thuật toán Gomory thứ nhất

 Bước lặp ban đầu

Giải bài toán ( , )L C = (L C nhờ l- phương án, nếu nó không giải được 0, )thì bài toán ((L C cũng không giải được N0, )

Trang 34

Nếu bài toán (L C giải được và 0, ) X L C thỏa mãn điều kiện nguyên thì ( 0, )

0

( , )

thỏa mãn điều kiện nguyên thì chuyển sang bước r = 0

-ïïï ³í

ïï Îïï

ïïî

å

(2.16)

Viết dòng thứ nhất của (2.16) vào cuối bảng đơn hình T Ta được bảng đơn r

hình không chấp nhận được (chỉ với x n r+ +1) và l -chuẩn Dùng l - phương án đối

với bảng này, đồng thời sau khi đưa khỏi cơ sở x n r+ +1 thì dòng này tương ứng

1

n + r + bị xóa, sau khi đưa vào cơ sở x l l( ³ r + 1)thì dòng tương ứng không được khôi phục Nếu cuối cùng ta nhận bảng đơn hình ứng với bài toán quy hoạch tuyến tính không giải được thì bài toán (L C cũng không giải được N0, )

Nếu ta nhận được bảng T r+1 chấp nhận được và l -chuẩn thì kiểm tra tính

nguyên X L( r+1, )C Nếu X L( r+1, )C thỏa mãn điều kiện nguyên thì nó đồng thời là

Trang 35

phương án tối ưu của bài toán (L C , nếu không thỏa mãn thì chuyển sang bước N0, )1

ï + £ïï

ïï - £í

ïï ³ ³ïï

ïïïïî

Sau khi thêm biến bù bài toán viết lại thành

5 4 5, , , , 0, ,

-ï = - ïï

-ïï = - +í

ïïïïïïî

Từ đây ta có bảng đơn hình xuất phát vì bảng đơn hình xuất phát không là

x = - x - x ³ và x ³8 0 và viết vào dưới bảng 1

Bảng đơn hình xuất phát sau khi thêm ràng buộc phụ là:

Trang 37

Bảng 5 là l - chuẩn và chấp nhận được Do x lẻ nên từ dòng 1 sinh ra lát 1

cắt ở dòng x theo công thức (2.16) ta được bảng 5 Chọn dòng 7 x làm dòng quay 7

Trang 38

Thực hiện một bước của thuật toán đơn hình đối ngẫu từ vựng ta được bảng

6 là l - chuẩn và không chấp nhận được

đơn hình l - chuẩn và chấp nhận được Biến x lẻ nên từ dòng 0 x sinh ra lát cắt ở 0

dòng x 8

Trang 39

Thực hiện một bước của thuật toán đơn hình đối ngẫu từ vựng ta được bảng

đơn hình l - chuẩn và không chấp nhận được

l - chuẩn và chấp nhận được Biến x lẻ nên từ dòng 1 x sinh ra lát cắt ở dòng 1 x 9

Trang 40

Thực hiện một bước của thuật toán đơn hình đối ngẫu từ vựng ta được bảng

l - chuẩn và không chấp nhận được

l - chuẩn và chấp nhận được Biến x lẻ nên từ dòng 0 x sinh ra lát cắt ở dòng 0 x 10

Ngày đăng: 15/04/2017, 21:01

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Bùi Minh Trí, Quy hoạch toán học, NXB Khoa học kỹ thuật, Hà Nội 2001 Sách, tạp chí
Tiêu đề: Quy hoạch toán học
Nhà XB: NXB Khoa học kỹ thuật
[2]. Bùi Thế Tâm, Trần Vũ Thiệu, Các phương pháp tối ưu hóa, NXB GTVT, 1998 Sách, tạp chí
Tiêu đề: Các phương pháp tối ưu hóa
Nhà XB: NXB GTVT
[3] Bùi Minh Trí, Tối ưu hóa, NXB Khoa học kỹ thuật, 2006 [4] Phí Mạnh Ban, Quy hoạch tuyến tính, NXB ĐHSP, 2004 Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Tối ưu hóa", NXB Khoa học kỹ thuật, 2006 [4] Phí Mạnh Ban, "Quy hoạch tuyến tính
Nhà XB: NXB Khoa học kỹ thuật
[5]. Gomory R.E., An algorithm for integer solutions to linear programs, Recent Advances Math, Program, New York - San Francisco - Toronto - London, McGraw-Hill Book Co., Inc., 1963, 269-302 Sách, tạp chí
Tiêu đề: An algorithm for integer solutions to linear programs
[6]. Gomory R.E., “Outline of an algorithm for integer solution to linear programs”, Bull. Amer. Math. Soc., 1958, 64, N5, 275-278 Sách, tạp chí
Tiêu đề: Outline of an algorithm for integer solution to linear programs”, "Bull. Amer. Math. Soc
[7]. Gomory R.E., An algorithm for the mixed integer problem, Rand. Corp., P- 1885, Santa Monica, California, February 22, 1960 Sách, tạp chí
Tiêu đề: An algorithm for the mixed integer problem
[8]. Gomory R.E., An all-integer integer programming algorithm, IBM Research Center, 1960, January, Research Report RC-189 Sách, tạp chí
Tiêu đề: An all-integer integer programming algorithm
[9]. Gomory R.E., An all-integer integer programming algorithm, In "Industrial scheduling", Englewood Cliffs, New Jersey, Prentice Hall, 1963, ch. 13 Sách, tạp chí
Tiêu đề: Industrial scheduling

HÌNH ẢNH LIÊN QUAN

Bảng 2  Tiếp tục dùng thuật toán đơn hình đối ngẫu từ vựng giải bài toán phụ quy  hoạch tuyến tính cho đến tối ưu ta được bảng 3, bảng 4 và bảng 5 - Bài toán quy hoạch nguyên, thuật toán gomory và ứng dụng trong cắt thép xây dựng
Bảng 2 Tiếp tục dùng thuật toán đơn hình đối ngẫu từ vựng giải bài toán phụ quy hoạch tuyến tính cho đến tối ưu ta được bảng 3, bảng 4 và bảng 5 (Trang 36)
Bảng 2  Tiếp  tục  dùng  thuật  toán  đơn  hình  đối  ngẫu  từ  vựng  giải  bài  toán  phụ  quy  hoạch tuyến tính cho đến tối ưu ta được các bảng 3, bảng 4, bảng 5, bảng 6 - Bài toán quy hoạch nguyên, thuật toán gomory và ứng dụng trong cắt thép xây dựng
Bảng 2 Tiếp tục dùng thuật toán đơn hình đối ngẫu từ vựng giải bài toán phụ quy hoạch tuyến tính cho đến tối ưu ta được các bảng 3, bảng 4, bảng 5, bảng 6 (Trang 46)
Bảng 7  Vậy phương án tối ưu là (56; 29; 0; 18; 1; 414; 0; 523) với giá trị hàm mục  tiêu là  x 0 =288 - Bài toán quy hoạch nguyên, thuật toán gomory và ứng dụng trong cắt thép xây dựng
Bảng 7 Vậy phương án tối ưu là (56; 29; 0; 18; 1; 414; 0; 523) với giá trị hàm mục tiêu là x 0 =288 (Trang 65)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w