Các phơng pháp chính để giải bài toán quy hoạch nguyên.. 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ài toán với biến lấy giá trị rời rạc..
Trang 1Trờng đại học vinh
khoa toán
Mở rộng một bài toán quy hoạch nguyên
trong thời gian đa
thứ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
Trang 2
Vinh - 2003
Mục lục
Trang
Đ1 Bài toán quy hoạch tuyến tính nguyên 5
1.2 Các phơng pháp chính để giải bài toán quy 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ật toán tổng quát giải bài toán quy hoạch nguyên.
Trang 3Mở đầu
Trong nhiều bài toán thực tế thờng dẫn tới bài toán quy 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ácphơng pháp toán học có liên quan đến liên tục Đó là khó khăn lớn cho nhiềubài toá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ài toán với biến lấy giá trị rời rạc Tuynhiê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ật toán tơng ứng là rất lớn Để đợc thuật toán
có hiệu quả cho từng bài toán cụ thể, thông thờng ngời ta phải nghiên cứucác tính chất riêng biệt của nó Khi tiếp cận với những loại bài toá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ộng một bài toán quy
hoạch nguyên với thuật toán đợc giải trong thời gian đ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ời gian 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ả
Trang 4Chơng 1
Bài toán xuất phát
Đ1 Bài toán quy hoạch tuyến tính nguyên
1.1 bài toán quy hoạch nguyên
Xét bài toán sau đây
Nếu k = n, ta có bài toán quy hoạch nguyên toà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ài toán dẫn đến bài toán quy hoạchnguyên
Bỏ qua điều kiện nguyên, ta có bài toán quy hoạch tuyến tính và đã biếtcá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ài toán quy hoạch tuyến tính tơng ứng còn có toạ độ changuyê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ài toán sau đây
Trang 5có phơng án tối u X = (7/2, 1/2) Nếu lấy phần nguyên ta có
Tuy nhiên, điểm (3, 0) không phải là phơng án tối u của bài toán quy
Để giải bài toán quy 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ố phph-ơng pháp điểnhình
1.2 Các phơng chính để giải bài toán quy 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ài toán quy hoạch nguyên toàn phần (trongtrờ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à:
L(X) = ∑
=
n
j 1 d j x j≤e (1.5) L(X) phải thoả mãn hai tính chất:
+ Mọi phơng án nguyên đều thoả mãn (1.5)
Ngời ta cũng đã đa ra nhiều kiểu nhát cắt hợp cách giải bài toán quyhoạch nguyên có hiệu quả Chẳng hạn nhát cắt Gomory sau đây là một ví dụ
Trang 6{x k o} - ∑
+
=
n m
j 1{ x kj }x j≤ 0 (1.6)
những điều kiện của nhát cắt hợp cách (1.5)
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ài toán quyhoạ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
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
Trang 7+ Lựa chọn: Giả sử cho M = k
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.
M là tập phơng án của bài toán quy 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ài toán (1.8) với M1 = M Ký hiệu P
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.
Bớc k (k = 1, 2, ).
Trang 8a) Nếu P = ∅, thì thuật toá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ài toán không có phơng án tối u
P := P ∪{P k i}
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ật toá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ật
toán tổng quát giải bài toán quy hoạch nguyên.
1.3.a Thuận lợi.
Trang 9Các thuật toá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ài toán quy 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ật toán tổng quát thờng có độ phức tạp tính toán cao Nguyênnhân chính là các thuật toán đó thờng dựa vào một thuật toán đã biết Chẳnghạn, thuật toán cắt hợp cách thờng phải tiến hành giải một số bài toán quyhoạch tuyến tính trung gian bằng phơng pháp đơn hình Mỗi bài toán quyhoạch tuyến tính giải bằng thuật toán đơn hình có độ phức tạp thời gian mũ
Điều đó cho thấy thuật toán cắt hợp cách có độ phức tạp lớn Thuật toánLand - Doig cũng rơi vào tình trạng tơng tự
Để có đợc thuật toá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ài toán cụ thể Sau đây xin đợc nêu một hớng
đi nh vậy (Đ2, chơng 1)
Đ2 Bài toán lập lịch sinh hoạt chuyên đề
2.1 Bài toán.
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ọ
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
0, nếu ngợc lại
Trang 10(tổng số chuyên đề tham dự vừa đủ yêu cầu).
G(k) = (V, E) với tập đỉnh
Trang 11Các bổ đề sau đây cho thấy mối liên hệ giữa luồng cực đại trên mạng
G(k) và phơng án của bài toán (2.1) - (2.3)
Bổ đề 1 Giả sử đối với số nguyên dơng k nào đó thoả mãn
k’ ≤k ≤ k ,
luồng cực đại nguyên ξ* trên mạng G(k) có giá trị là p Khi đó X* = ( )x ij* mìn
với các thành phần đợc xác định theo công thức *
Trang 12Từ bổ đề 1 và bổ đề 2 suy ra việc giải bài toán (2.1)-(2.3) dẫn về việc
Nh đã biết, hiện nay có rất nhiều thuật toán đa thức để giải bài toán tìmluồng cực đại trên mạng (xem [2])
đ-ợc nhờ thuật toán đa thức với độ phức tạp tính toán là log2q.O NF, trong đó
q = k - k’ +1 và O NF là độ phức tạp tính toán của bài toán tìm luồng cực
đại trên mạng G(k).
Chú ý: Từ bài toán lập lịch học chuyên đề, chúng ta có thể sử dụng cho
tiểu ban Cho biết
Hãy bố trí các phòng họp cho các tiểu ban sao cho hội nghị kết thúc sau
ít ngày làm việc nhất
Khi đó ta có mô hình toán học cho bài toán đặt ra chính là bài toán
mục tiêu (2.1) biểu thị số ngày làm việc của hội nghi
Trang 13Trong [3] đã nêu thuật toán giải bài toán mở rộng (2.4)-(2.7) với độphức tạp thời gian đa thức.
Với những bài toán đã nêu, gợi ý cho ta các hớng mở rộng là:
1) Hoặc là thay đổi lớp hàm mục tiêu (nh trong [3] đã làm khi mở rộng[1])
2) Hoặc mở rộng miền xác định của biến
3) Hoặc thay đổi lớp bài toán (min chuyển thành max) cùng với nhữnggiả thiết mới nhng gần gũi với các bài toán đã nêu
4) Hoặc xét một lớp bài toán nào đó, mà với bài toán đã xét chỉ là trờnghợp đặc biệt
5) Hoặc xuất phát từ một vấn đề thực tế, tạo nên mô hình gần gũi cácbài toán đã biết để giải nó
Trang 14Hớng thứ nhất, nh đã thấy, các công trình của GS Trần Vũ Thiệu vàTrần Thị Huệ đã cho kết quả mới.
Các hớng thứ 3, TS Trần Xuân Sinh đã nhận đợc những lớp bài toán thú
vị có liên quan với bài toán trong [1], nhng cũng gần gũi với bài toán sảnxuất đồng bộ thờng gặp Bài toán mở rộng nh sau:
(ngày, tháng, quý )
f j(y) ≥f j(y’), ∀y, y ’∈{0, 1, 2, , m}, y ≤y’
còn trong các trờng hợp khác ta chia nhỏ miền xác định và xét trên các đoạntơng ứng)
ở Luận văn này là kết quả có đợc xét theo hớng thứ 2
Trang 16Chơng 2
về Một mở rộng mới của bài toán lập lịch
Đ1 bài toán mở rộng
nguyên dơng Ta xét bài toán:
(P) f(x) = 1 max ≤j≤n f j(y j) → min (1.1)với điều kiện
{0, 1}
đơn trị và đơn điệu tăng, nghĩa là:
f j(y) ≤f j(y’), ∀y, y ’ ∈{0, 1, 2, }, thì y ≤y’ (1.5)
các đoạn tơng ứng)
y d
y c
y
j
j nếu nếu
Trang 17B»ng c¸ch suy luËn t¬ng tù nh trong [1] ta cã kÕt qu¶ sau:
∑
=
n j ij
Trang 18đầu tiên ở hàng i sau cột q - 1, ta đặt *
iq
=
1 1
3 0 2 0 2
4 3 0 1 0
0 2 3 0 2
3 0 2 0 2
2 3 0 1 0
0 0 3 0 2
2.2 Tính chất.
Điều kiện (*) là đơn giản và dễ kiểm tra Ta giả thiết bài toán (P) thoả
Trang 19Thật vậy, thì từ (2.1) và (2.2), với phơng án tối u x* = (x ij*) ắt sẽ đạt tại
dãy (2.3)
Định nghĩa 2.1 Chúng ta coi phơng án của (P), x = (x ij), là một bảng có
m hàng, n cột Giao hàng i và cột j ta ký hiệu là (i, j) (đọc là ô (i, j)) Tơng
ô “loại” nếu x ij = 0 và ô “chọn” nếu x ij≠ 0
j
m i
n j ij n
j
m i ij
Trang 20Rõ ràng ρ(x) ≥ 1 với mọi phơng án và nếu ρ(x) = 1 thì có nghĩa rằng x
chỉ có một cột no Chú ý rằng các ô chọn, ô loại, cột no, cột đói và cấp củacột tạo nên trong phơng án
Định lý sau đây cho ta một tiêu chuẩn của phơng án tối u bài toán (P)
Định lý 2.2 Giả sử x là phơng án của bài toán (P) Nếu x không có
cột đói thì x tối u.
Chứng minh: Giả sử x = (x ij) là một phơng án của bài toán (P), x
là
f(x’) = 1 max ≤j≤n f j(y j’) < f(x) = 1 max ≤j≤n f j(y j) = f jo (y jo), với j o∈1 ,n (2.5)
f j1 (y j1 + 1) ≤f j1 (y’ j1) ≤f(x’) < f(x).
u Định lý đợc chứng minh
S = {(i o , j o) (i o , j1) (i k-1, j k-1) (i k-1, j k)}, k ≥ 1 (2.6)
ở đây ô (i t, j t), t = 0, 1, 2, , k-1, là ô loại (tức là x j t j t = 0) và (i t, j t+1) là ôchọn (tức là x j t j t+ 1 ≠ 0)
Ký hiệu S L = {(i t , j t), t = 0, 1, , k-1}, S C = {(i t , j t+1), t = 0, 1, , k-1}
Trang 21Tại tất cả các hàng có chỉ số i 0 , , i k-1 và tất cả các cột có chỉ số j o , , j k
Biến đổi A: Ta nhận xét rằng trong dây chuyền S, cứ 2 ô viết liền nhau
thì cùng hàng hoặc cùng cột, không có 3 ô nào viết liền nhau cùng hàng hoặccùng cột Đặt
∈
−
∉
L ij
C ij
ij
S j i x
S j i x
S j i x
) , (
) , (
) , (
0
0
nếu nếu nếu θ θ
Định lý 2.3 Giả sử x là một phơng án của (P) Nếu tồn tại một dây
chuyền đan xen ô loại và ô chọn từ cột đói tới cột no, khi đó có thể xây dựng đợc phơng án mới x , x’ ’ ≠ x, tốt hơn hoặc cấp nhỏ hơn x.
Chứng minh: Giả sử x là một phơng án và tồn tại dây chuyền S có dạng
∈
−
∉
L ij
C ij
ij
S j i x
S j i x
S j i x
) , (
) , (
) , (
0
0
nếu nếu nếu θ θ
Trang 22f(x’) ≤f(x).
Đồng thời:
Nếu ρ(x) = 1, điều đó chứng tỏ chỉ có một cột no Do cột j k là cột no
ói cột do
k j
j j
j j j
j j j j
k o j
j j j
j x
f y f y
f y f x f
j x
f y
f y f
j j N j x f y f y f
k k k
k k k
o o o o
), ( ) ( ) (
) ( )' (
d ),
( ) (
) (
,
\ ),
( ) ( ) (
0 ,
0 0
, ,
θ θ
Trang 23Vậy x’ là tốt hơn x
của x’ thấp hơn x Thật vậy, lúc này
ρj(x’) = ρj(x), ∀j ∈N\{j o , j k} vì f j(y’ j) = f j(y j), ∀j ∈N\{j o , j k}
Do cột j0 đói nên ρj0(x) = 0.
Do cột j k no và do θo = (imin ,j) ∈S C a ij, y,j k =y j k − θ 0 hay y,j k <y j k
, do f là hàm
đồng biến nên f j k(y'j k) < f j k(y j k), tức làρj k (x’) <ρj k(x) Từ đó suy ra cấp của
x’ thấp hơn cấp của x
Định lý 2.4 Cho x là một phơng án của (P) Nếu không có dây
chuyền đan xen ô loại- ô chọn nối cột đói với cột no thì x là tối u.
Chứng minh: Giả sử có một phơng án x’ = (x’ ij) của (P) tốt hơn x
= (x ij), nghĩa là
f(x’) = 1 max ≤j≤n f j(y j’) < f(x) = 1 max ≤j≤n f j(y j) = f jo (y jo), với j o∈ 1 ,n, (2.10)
điều đó là mâu thuẩn
Thật vậy, từ (2.10) ta có f jo(y’ jo) < f jo(y jo) Theo (1.5) có y’ jo < y jo Do
i = i o, nên tồn tại cột j1 ∈ {1, 2, n}\{j o} sao cho x’ io j1 ≠ 0, x io j1 = 0 (tức
1
j
m}\{i o} sao cho x i,1j1 = 0, x i1j1 ≠ 0 (tức là ô (i1, y1) là ô chọn của x) và cũng
theo (1.3) phải có cột j2 ∈ {1, 2, , n}\{j1} sao cho x i,1j2 ≠ 0, x i1j2 = 0
lúc đó xẩy ra hai trờng hợp sau:
Trang 24r r r
j y f y
f + ≤ ≤f(x’) < f(x)
đan xen ô loại - ô chọn theo công thức
(i r-1, j r)(i r-1, j r-1) (i o , j1)(i o , j o), (r ≥ 1)
Trờng hợp B Chúng ta có đợc dây chuyền có dạng
1 u
u j i
t
s j i
y
1
= y’ j, với ∀j ∈1 ,n
(2.10) Định lý đợc chứng minh
Bây giờ câu hỏi đặt ra là có tồn tại hay không một dây chuyền đan xencác ô loại - ô chọn nối cột đói với cột no nh ở Định lý 2.3 và 2.4 Để trả lờicâu hỏi này, chúng ta đa ra thủ tục gắn nhãn hàng và cột nh sau:
Thủ tục gắn nhãn hàng và cột Trớc hết, ta đặt nhãn 0 cho mỗi cột no
(f j(y j) = f(x)) Nếu cột j đã đợc gắn nhãn, chúng ta gắn nhãn j cho mỗi hàng i
Trang 25cột j tơng ứng Tiếp tục nh vậy, thủ tục vừa nêu sẽ dừng lại sau nhiều nhất là
n + 1 bớc gắn nhãn.
Định lý 2.5 Một dây chuyền đan xen ô loại - ô chọn nối cột đói tới
cột no là tồn tại nếu và chỉ nếu có ít nhất một cột đói đợc gắn nhãn.
Chứng minh: Giả sử tồn tại dây chuyền dạng (2.6) nối cột đói j o tới cột
là điều phải chứng minh
Từ các kết quả đã nêu, ta đa ra thuật toán giải bài toán (P)
2.3 Thuật toán và ví dụ.
B
B
Trái lại, theo các hàng và cột đợc gắn nhãn nh trong mục 2
Trang 26Nếu không có cột đói gắn nhãn thì x k là phơng án tối u (Định lý 2.4 và
Định lý 2.5)
nối cột đói với cột no (theo Định lý 2.5) Sang bớc 3
B
bớc 2
Định lý 2.6 Thuật toán vừa nêu kết thúc sau hữu hạn bớc lặp.
Chứng minh: Sau khi thực hiện bớc 3, ta đợc phơng án khác tốt hơn
hoặc phơng án có cấp thấp hơn, một trong hai tình huống đó đợc thực hiện
Do hàm mục tiêu của bài toán chỉ có thể lấy hữu hạn giá trị (xem (2.1),
vậy, thuật toán phải hữu hạn
1 1 2 2 0
0 2 1 0 1
0 1 0 2 1
với p1 = 3; p2 = p3 = 4; p4 = 5và hàm f j(y j) cho bởi
f1(y) = -1,2 + 0,6y ; f2(y) = 1,8 + 0,2y ; f3(y) = - 0,5 + 0,8y ;
Trang 270 0 2 2 x
x 2 1 x 1
x 0 x 2 1
nhãn 3 ứng với cột 3 Cột 3 là cột no
đói 4 tới cột no 3
tìm thấy ở bớc 2 cho ta phơng án mới
x(2) =
5 4 4
2 x 1 x 2
0 2 0 2 x
x 2 1 x 1
x 0 x 2 1
Trang 28Nh vậy tới đây không còn cột đói đợc gắn nhãn nên theo Định lý 2.5 và
tối u là
f max = f * = f 2 = 3,1
thời gian đa thức O(m3n3).
Chứng minh: Theo định nghĩa độ phức tạp thời gian của thuật toán phụ
thuộc vào độ dài dữ liệu của bài toán ở đây, chúng ta sẽ xét độ phức tạp
Trang 29phép tính và thực hiện biến đổi
Bây giờ ta tính số bớc 2 và 3 lặp lại trong thuật toán Sau mỗi lần lặp giátrị hàm mục tiêu hoặc là giảm hoặc là đợc phơng án có cấp thấp hơn Từ hàm
qua mìn, số bớc lặp phải có là O(m 2ìn 2)
thức Định lý đợc chứng minh
Kết luận
Kết quả chính của luận văn có thể đợc tóm tắt là:
1 Tiếp cận đợc với một số thành tựu mới thông qua các kiến thức cơbản về quy hoạch nguyên và các bài báo công bố gần đây nh đã nêu trongchơng 1
2 Trên cơ sở tiếp cận các kết quả đã nêu, chúng tôi đã cố gắng mở rộngbài toán theo một hớng xác định (từ kết quả đã có xét trên biến Bool nhậngiá trị 0 hoặc 1, xét bài toán mở rộng xét cho trờng hợp biến nguyên bị chặntheo giá trị cho trớc)
3 Bằng kỹ thuật tơng tự có chú ý tới đặc điểm riêng của bài toán, chúngtôi đã lập lại đợc toàn bộ các kết quả khi xét bài toán mở rộng (bao gồm các
Định lý 2.1, 2.2, 2.3, 2.4, 2.5, 2.6) Đặc biệt Định lý 2.7 về độ phức tạp tínhtoán của thuật toán
Kết quả của bài toán mở rộng nh đã nêu còn có thể mở rộng theo nhiềuhớng khác Chúng tôi hy vọng theo hớng mở rộng khác nhau, chúng ta sẽ có
đợc những kết quả thú vị mới