Bài toán quy hoạch tuyến tính tái tối ưu hóa và thuật toán TTH

Một phần của tài liệu Một phương pháp xấp xỉ ngoài giải bài toán quy hoạch nguyên tuyến tính theo phương pháp nhánh cận và ứng dụng (Trang 27 - 33)

Chương 1. BÀI TOÁN QUY HOẠCH NGUYÊN TUYẾN TÍNH VÀ BÀI TOÁN QUY HOẠCH TUYẾN TÍNH DẠNG CHUẨN

1.3. Bài toán quy hoạch tuyến tính với miền ràng buộc là hệ bất phương trình tuyến tính

1.3.3. Bài toán quy hoạch tuyến tính tái tối ưu hóa và thuật toán TTH

Trên thực tế do những biến động về kinh tế luôn thay đổi theo thời gian, có rất nhiều những vấn để trong sản xuất, xây dựng, sửa chữa và cải tạo lại, … việc bổ sung thêm các điều kiện vật chất vào đầu tư ban đầu là rất cần thiết và không thể thiếu được. Do vậy lời giải và các kết quả tìm được từ các mô hình bài toán quy hoạch trước đây đã trở lên lạc hậu và không còn phù hợp nữa, buộc chúng ta phải bổ sung thêm vào các điều kiện mới cho phù hợp. Vì thế xuất hiện một dạng bài toán quy hoạch thường gặp và chúng ta phải giải quyết gọi là bài toán tái tối ưu hoá.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 23

Ngay khi chúng ta đi giải các bài toán quy hoạch nguyên thì việc phải giải các bài toán quy hoạch có bổ sung thêm các ràng buộc là không thể tránh khỏi.

Chính vì vậy, dưới đây chúng ta sẽ xét và giải quyết bài toán quy hoạch tuyến tính dạng chuẩn có thêm ràng buộc bổ sung gọi là bài toán tái tối ưu hoá trong trường hợp đã biết lời giải của bài toán ban đầu.

1.3.3.1. Bài toán quy hoạch tuyến tính tái tối ưu hoá dạng chuẩn Xét bài toán qui hoạch tuyến tính dạng chuẩn sau:

 1 

( ) , . min

( )

: : , 0, 1, 2,...,

n i i i

n i

T i

f x C x c x

T

x P x R A x b i N

   



        

xRn, Ai là véc tơ dòng và AiRn, N n, Ai (ai1, ai2, ..., ain) ≠ O(0,…,0) , C(c1, c2, …, cn), bi R1, i=1, 2, ..., N. Hạng của hệ Ai (i=1, 2, …, N) bằng n, giả thiết này rất bình thường bởi vì miền ràng buộc PT của bài toán quy hoạch tuyến tính thông thường có ràng buộc về dấu của biến x.

Giả sử chúng ta đã biết một lời giải của bài toán (T) là xM* (x1M*,x2M*,...,xnM*)

là đỉnh của nón đơn hình M* với tập chỉ số cơ sở là

* * *

* ( , ,..., )1 2 n

Ii i i

Và các véc tơ chỉ phương của các cạnh của nón M*

*, *

i

zM  i I

Bây giờ ta thêm vào miền ràng buộc PT của bài toán (T) ràng buộc sau:

1

, 1 0

N

Ax bN

    (1.20) Khi đó nếu xM* thoả mãn (3.1) thì nó cũng là một lời giải của bài toán (T*) có thêm ràng buộc bổ sung (3.1), nếu ngược lại mà

1, * 1 0

N M

Ax bN

    (1.21) Thì chúng ta gọi bài toán sau đây là bài toán tái tối ưu hoá của bài toán (T):

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 24

 

*

* 1

( ) , . min

( )

: : , 0, 1, 2,...,

n i i i

n i

T i

f x C x c x

T

x P x R A x b i m

   



        

Trong đó m=N+1

Rõ ràng để giải bài toán (T*) mà sử dụng phương pháp đơn hình thì chúng ta sẽ không khai thác được thông tin về việc đã biết lời giải của bài toán (T). Còn nếu chúng ta sử dụng phương pháp nón xoay trình bày trong chương 2 thì sẽ khai thác được thông tin nói trên. Đồng thời dựa trên kết quả của một định lý được chứng minh dưới đây chúng ta sẽ đề ra một quy tắc ưu tiên chọn chỉ số đưa ra khỏi cơ sở làm cho thuật toán nón xoay trở nên hiệu quả hơn khi giải bài toán tái tối ưu hoá (T*).

Định lý tái tối ƣu hoá: Nếu xM*là một lời giải của bài toán (T), nhưng nó không phải là phương án của bài toán (T*) và bài toán (T*) có phương án, thì bài toán (T*) luôn có phương án tối ưu x* thoả mãn:

1

, * 1 0

N

Ax bN

   

Chứng minh: Ta thấy

T T*

PP và do xM*là một lời giải của (T) nên:

( M*) ( ), T

f xf x  x P *

( M ) ( ), T*

f x f x x P

   

Điều này có nghĩa là trên miền PT*hàm mục tiêu bài toán (T*) bị chặn dưới và nó có phương án thì nó phải có phương án tối ưu. Giả sử x1 là một phương án tối ưu của bài toán (T*), vậy dễ thấy:

* 1

( M ) ( )

f x f x

 

1/ Nếu AN1,x1 bN10 thì ta có ngay điều phải chứng minh.

2/ Nếu AN1,x1 bN10 (1.22) Và do xM*không phải là phương án của bài toán (T*) tức ta có (1.21).

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 25

Gọi

*

1 1

1

1 1 1 1

1 1

,

( , ) ( , )

N

N M

N N

N N

A x b

A x b A x b

   

 

  

       

x(1)1xM* (1 1)x1 (1.23) Dễ dàng kiểm tra thấy:

AN1, (x1) bN10 (1.24) Lại từ (1.21), (1.22) dễ dàng thấy 1(0,1)và vì xM*, x1 tương ứng là phương án của các bài toán (T) và (T*) nên ta có:

* 1

1 1 1

, ( ) [ , M ] (1 )[ , ] 0, 1, 2,...,

i i i

i i i

A xbA x bA x b i N

              

Hay A xi, (1)    bi 0, i 1, 2,...,N (1.25) Vậy từ (1.23), (1.24) và (1.25) suy ra x(1) là một phương án của bài toán (T*)

Mặt khác do tính đơn điệu của hàm tuyến tính (là hàm gần lồi-gần lõm) nên ta có:

* 1

, M , ( 1) ,

C x C xC x

    (1.26)

Từ (1.26) và do x1 là phương án tối ưu của bài toán (T*) nên suy ra

* ( 1)

xx cũng là phương án tối ưu của bài toán (T*) thoả mãn (1.24).  Định lý được chứng minh

1.3.3.2. Thuật toán xấp xỉ ngoài tái tối ưu hoá

Bây giờ từ thuật toán xấp xỉ ngoài LP trình bày ở trên, chúng ta xây dựng thuật toán sau đây gọi là thuật toán xấp xỉ ngoài TTH giải bài toán quy hoạch tuyến tính dạng chuẩn trong trường hợp tái tối ưu hoá, trước hết ta đi xây dựng nón – min ban đầu của bài toán.

Xây dựng nón-min ban đầu

Giả sử chúng ta đã biết một lời giải của bài toán (T) là

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 26

* * * *

1 2

( , ,..., )

M M M M

xx x xn là đỉnh của nón đơn hình M* với tập chỉ số cơ sở là

Và các véc tơ chỉ phương của các cạnh của nón M*

*, *

i

zM  i I

Nếu chỉ biết đỉnh xM* (x1M*,x2M*,...,xnM*)thì chúng ta có thể thay giá trị các tọa độ của nó vào vế trái các ràng buộc để xác định tập các chỉ số cơ sở I* ( , ,..., )i i1* 2* i*n của nón M* (là tập các chỉ số ứng với các ràng buộc thoả mãn chặt xM*), từ đó xác định các véc tơ chỉ phương của các cạnh của nón M*

*, *

i

zM  i I có thể từ hệ phương trình định nghĩa trong [4].

Tóm lại ta luôn biết được một nón-min ban đầu của bài toán (T*) chính là nón M* với đỉnh của nó là lời giải đã biết của bài toán (T).

Thuật toán xấp xỉ ngoài TTH:

Đã biết nón-min ban đầu của bài toán (T*) như trên.

Bước chuẩn bị (bước 0). Đặt M0 := M* là nón - min của bài toán (T*) với tập chỉ số cơ sở là I0:=I*={i i10, ,...,20 in0}={i i1*, ,...,*2 i*n}, x0 = xM*là đỉnh của M*

và các véc tơ chỉ phương của các cạnh i của nón M0 z0i=ziM0=zMi* (iI0).

Bước k ( k=0, 1, 2, ...). Giả sử Mk là nón - min của bài toán (T*) (đã được xây dựng), với tập chỉ số cơ sở, đỉnh và các véc tơ chỉ phương của các cạnh của nón Mk tương ứng là Ik:=i i1k, ,...,2k ink; xk = xMk zik= k

i

zM .

Xác định tập J+(xk) theo (2.9): J(xk) :j1, 2,...,m:A xj, k   bj 0

1. Nếu J+(xk) = thì dừng lại. xk chính là một lời giải của bài toán (T*), 2. Nếu J+(xk)   , ta chọn chỉ số đưa vào cơ sở theo một trong hai cách sau:

* * *

* ( , ,..., )1 2 n

Ii i i

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 27

Ta chọn sk là một chỉ số tuỳ ý thuộc J+(xk)

hoặc ta chọn sk=min{j:jJ+(xk)} (gọi là qui tắc chọn min) (1.27) hoặc sk = max{j: j J+(xk) (gọi là qui tắc chọn max)

và xác định: Isk : i Ik :Ask,zki 0;

   1 2 

: : , 0 , ,...,

k k k

k k k k

s s s i k k k

k s s s q

I  i IA z   i i i , (1.28) 2.1. Nếu Isk = thì dừng lại, suy ra bài toán (T*) không có phương án.

2.2. Nếu Isk   :

Gọi Vsk :={ : , min{ , }

, ,

k

k sk k

v i

s k k

s v i I s i

k k

C z C z

v I

A zA z

 

   

   

    } (1.29) và chọn chỉ số đưa ra khỏi cơ sở theo một trong hai cách sau:

Ta chọn rk là chỉ số tuỳ ý thuộc Vsk . hoặc ta chọn

rk = min{v: v Vsk }

hoặc rk = max{v: v Vsk } (1.30) (cách chọn chỉ số này gọi là qui tắc chọn min (hoặc là qui tắc chọn max)) .

Và ta xây dựng nón xoay Mk+1 = Mk(rk , sk) sinh ra từ nón-min Mk (xem [4]), tập chỉ số cơ sở là Ik+1= Ik(rk , sk) = (Ik {sk}) \ {rk}; và các véc tơ chỉ phương:

0

1

( , . ) , ,

1 . ,

k

k k

k k

k

k k

i

k k

s i

r s

i i k

k k s r k k k

k r

k k

s r

k

z khi i I

A z

z z z khi i I i r

A z

z khi i s

A z

 

  

    

 

  

(1.31)

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.ltc.tnu.edu.vn 28

xk+1=xMk(rk,sk)=xkrk=xk+ . k

k

r k r zk

= xk - , . ,

k k

k

k k

s

s

s r

k

A x b

A z

  

  k

r

zk =

1

. 1

k

i i k i I

b z

 (1.32)

ơ

Quay trở lại bước k với k k+1

Sự hữu hạn bước lặp của thuật toán đó được suy ra từ định lý 2.10 trong [4].

Một số chú ý khi thực hành sử dụng thuật toán TTH

1/ Rõ ràng ở bước 0 ta có tập J+(x0) := {N+1}, do đó sang bước 1 chỉ số N+1 được đưa vào cơ sở, vậy theo định lý tái tối ưu hoá thì từ bước này (bước 1) trở đi chỉ số được chọn để đưa ra khỏi cơ sở sẽ là chỉ số nhỏ hơn N+1

2/ Dựa trên định lý tái tối ưu hoá và sử dụng thuật toán TT kết hợp với phương pháp nhánh-cận Land-Doig chúng ta có thể xây dựng được nhưng thuật toán hiệu quả để giải các bài toán quy hoạch nguyên tuyến tính.

Một phần của tài liệu Một phương pháp xấp xỉ ngoài giải bài toán quy hoạch nguyên tuyến tính theo phương pháp nhánh cận và ứng dụng (Trang 27 - 33)

Tải bản đầy đủ (PDF)

(59 trang)