5. Nội dung nghiên cứ u
1.6.2 Thuật toán và solver MINOS trong chương trình GAMS
GAMS cung cấp một ngôn ngữ, môi trường lập trình và các solver có tính năng, giải thuật sẵn cho phép thực hiện các thuật toán để tìm kết quả tối ưu với những mô hình bài toán mởđược thiết lập bởi người lập trình (sử dụng).
Solver MINOS có khả năng tìm nghiệm tối ưu đối với những bài toán phi tuyến qui mô lớn và tỏ ra phù hợp với bài toán qui hoạch HTCCĐ [58][71][133]. Thuật toán reduced-gradient kết hợp với thuật toán quasi-newton được sử dụng
để tìm nghiệm tối ưu cho bài toán phi tuyến. Cơ sở lý thuyết đã được trình bày trong các nghiên cứu [31][32][63][73].
Bài toán qui hoạch tổng quát đã trình bày trong tiểu mục 1.4.3.1 được biểu diễn phân tách thành nhóm các thành phần phi tuyến và tuyến tính. Khi đó, hàm mục tiêu tổng quát ( )J X đã trình bày trong biểu thức (1.6) được biểu diễn như
biểu thức (1.10).
( ) T T min
F x +c x d y+ ® (1.10)
Trong đó: ( )F x bao gồm các thành phần phi tuyến của hàm mục tiêu với nhóm biến x là hàm vô hướng. c xT bao gồm các thành phần tuyến tính với nhóm biến x và vector c. d yT bao gồm các thành phần tuyến tính với nhóm biến y (độc lập với ( )F x ) và vector d.
Tương tự, các ràng buộc g Xi( ) trong biểu thức (1.7) được biểu diễn thành các ràng buộc phi tuyến như biểu thức (1.11) và các ràng buộc tuyến tính như
biểu thức (1.12). 1 1 ( ) ( ; ; ) f x +A y £ = ³ b (1.11) A x A2 + 3 ( ; ; )£ = ³ b2 (1.12) l x u y æ ö £ç ÷£ è ø (1.13)
Trong đó: b1, b2, l, u là các vector và A1 ,A2 ,A3 là các ma trận trong các ràng buộc. ( )f x là vector gồm các thành phần phi tuyến. Ràng buộc (1.13) cho các giới hạn trên và dưới của biến.
Nếu m1 và n1 là số các ràng buộc và biến phi tuyến, m và n là tổng số các ràng buộc và biến thì A3 sẽ có m - m1 hàng và n - n1 cột.
Ø Giải bài toán qui hoạch tuyến tính
Nếu không có các thành phần ( )F x và ( )f x , bài toán trở thành tuyến tính. Khi đó, không có sự khác biệt giữa nhóm biến x và y (đều biểu diễn các thành phần tuyến tính) nên sử dụng x thay cho y và bài toán tuyến tính có dạng sau.
Hàm mục tiêu: min T c x® (1.14) Các ràng buộc: Is = 0 Ax+ (1.15) l x u s æ ö £ç ÷£ è ø (1.16) Các thành phần của x là biến của GAMS và s là biến phụ, mỗi ràng buộc s sẽ có một giá trị. Để thuận lợi trong tính toán, các thành phần của b trong các ràng buộc (bên phải) được tổng hợp vào trong s.
GAMS/MINOS giải bài toán tuyến tính trên bằng thuật toán đơn hình khi ràng buộc (1.15) được chia tách thành nhóm các biến cơ sở ( )xB và nhóm biến không cơ sở ( )xN như biểu thức (1.17) với B là ma trận vuông.
0
B N
Bx +Nx = (1.17)
Thông thường, mỗi biến không cơ sở bằng một trong những giới hạn của chúng và biến cơ sở lấy bất cứ giá trị nào thỏa mãn điều kiện ràng buộc (các biến cơ sở có thể tính toán bằng cách giải phương trình tuyến tính BxB =NxN). Mô hình sử dụng thuật toán đơn hình tìm lời giải bằng một chuỗi các vòng lặp trong
đó cột của B được thay thế bằng cột của N và ngược lại, cho đến khi sự trao đổi có thể làm giảm giá trị của c xT .
Ø Giải bài toán qui hoạch phi tuyến
Nếu ( )F x tồn tại, bài toán trở thành phi tuyến và GAMS/MINOS giải các bài toán này theo thuật toán reduced-gradient phối hợp với thuật toán quasi- newton. Khi đó, ràng buộc Ax+Is = 0 được chia tách dưới dạng (1.18) với xB là các biến cơ sở và xN là các biến không cơ sở, xs là các biến siêu cơ sở.
BxB + Sxs + NxN = 0 (1.18)
Tại một bước giải, các biến cơ sở và biến siêu cơ sở nằm trong giới hạn (trong khoảng sai số δ) trong khi biến không cơ sở sẽ nằm ở giới hạn biên. xs
được coi là một tập hợp của các biến độc lập được phép di chuyển trong bất kỳ
biến cơ sở sau đó có thểđược điều chỉnh để tiếp tục đáp ứng các ràng buộc tuyến tính. Nếu xs chưa được cải thiện, có thể xác định các ma trận B, S và N theo giá trị hiện tại và một số các biến không cơ sở được lựa chọn để thêm vào S, quá trình lặp được thực hiện để tăng giá trị của s.
Mỗi bước của thuật toán reduced-gradient được gọi là một vòng lặp. Ở tất cả các bước, nếu một biến cơ sở hoặc siêu cơ sở gặp giới hạn, biến không cơ sở được thực hiện và giá trị của s sẽ giảm. Đối với hàm tuyến tính thuật toán đơn hình được sử dụng với số lượng biến siêu cơ sở dao động giữa 0 hoặc 1.
Một tính năng quan trọng của GAMS/MINOS là sử dụng thuật toán quasi- newton để tối ưu hóa các biến siêu cơ sở. Điều này có thể đạt được hội tụ trong bất kỳ quá trình lặp mà B, S, N phân vùng vẫn còn không đổi. Một hướng cải thiện q được xác định khi giải phương trình:
RTRq = -ZTg (1.19) Trong đó: g là gradient của F(x), ZTg là reduced-gradient và R là ma trận tam giác trên được tính gần đúng theo RTR » ZTH, H là ma trận đạo hàm bậc hai của F(x) và ma trận Z được xác định như biểu thức (1.20). 1 0 B S Z I - æ- ö ç ÷ = ç ÷ ç ÷ è ø (1.20) Khi xác định được q, hướng cải thiện của tất cả các biến được định nghĩa bởi p = Zq và hàm mục tiêu của bài toán được chuyển thành dạng:
F(x+a.p)®min (1.21)
với ràng buộc (1.22) và βđược xác định bằng giới hạn của các biến.
0 < α < β (1.22) Như một bài toán tuyến tính, phương trình BTp =gB được giải để có được biến kép p với gB là gradient của hàm mục tiêu liên hệ với các biến cơ sở. Số
lượng tương tự cho các biến siêu cơ sở là vector reduced-gradient
T T
Z g =gs s- p và cũng sẽ bằng 0 ở một giải pháp tối ưu.
Nếu hàm ràng buộc là phi tuyến, tồn tại ( )f x , GAMS/MINOS sử dụng thuật toán Project Lagrange [62] với một chuỗi các vòng lặp chính được thực hiện, mỗi vòng lặp được giải với các ràng buộc đã được tuyến tính hoá. Ràng buộc của bài toán tuyến tính hóa là tập của các ràng buộc phi tuyến cũng như giới hạn và ràng buộc tuyến tính ban đầu.
Bắt đầu với vòng lặp chính thứ k, ràng buộc phi tuyến được tuyến tính hóa tại điểm xk cho trước bằng cách thay đổi giá trị của ( )f x như biểu thức (1.23).
( )k
f x , ( )J xk là giá trị của hàm ràng buộc và ma trận Jacobi tại xk (hàng thứ i của ma trận Jacobi là vector gradient của hàm ràng buộc i).
'( , )k ( )k ( )(k k)
f x x = f x +J x x x- hoặc 'f = +f J x xk( - k) (1.23) Hàm mục tiêu là hàm Lagrange gia tăng tại xk và các hệ số lk, r cho trước
được biểu diễn trong biểu thức (1.24). Do đó, bài toán con được giải trong vòng lặp thứ k với hàm mục tiêu là: ( ) ( ) ( ) ( ) T T T k k T L(x, y, x , , ) = F x c x d y f f' 0.5. f f ' f f' min k l r l r + + - - + - - ® (1.24) Và các ràng buộc: 1 1 2 3 2 f' A y ( ; ; ) b A x A y ( ; ; ) b x l u y + £ = ³ + £ = ³ æ ö £ç ÷£ è ø (1.25)
GAMS/MINOS sử dụng thuật toán reduced-gradient để giải bài toán trên ((1.24) và (1.25)). Tương tự như bài toán tuyến tính, biến phụđược giới thiệu và b1, b2 được tổng hợp trong giới hạn của chúng. Khi đó, các ràng buộc trở thành tuyến tính tương tự dạng Ax+Is=0 và được biểu diễn như sau:
1 1 2 3 2 0 0 0 k k k k J A x I s J x f A A y I s - æ öæ ö æ öæ ö æ ö + = ç ÷ç ÷ ç ÷ç ÷ ç ÷ è ø è øè ø è ø è ø (1.26)
Lời giải tối ưu của hệ thống con khả thi cho thấy các ràng buộc tuyến tính
đã được thoả mãn. Các ràng buộc phi tuyến thỏa mãn chỉ trong giới hạn nên tính khả thi và tối ưu xảy ra tại cùng thời điểm do đó lời giải tối ưu và khả thi được
đưa ra. Sơđồ khối giải bài toán qui hoạch phi tuyến được trình bày trên hình 1.2. Hàm phi tuyến trong solver này phải là các hàm liên tục, nghĩa là tồn tại các
đạo hàm, thường sử dụng các biến liên tục. Trong một vùng nhất định được giới hạn bởi các ràng buộc và các biến, hàm mục tiêu và các ràng buộc lồi trong vùng này thì nghiệm tối ưu thu được là tối ưu toàn cục. Ngược lại, kết quả có thể là một trong các tối ưu địa phương và không đảm bảo là tối ưu toàn cục. Trong trường hợp này, cần xác định được một điểm tính toán khác “đủ gần” để xác định tối ưu địa phương là tối ưu toàn cục. Không có qui luật chung để xác định điểm “đủ gần”, đây là khó khăn đối với nhiều bài toán.
Tuy nhiên, bài toán qui hoạch HTĐ có ràng buộc giới hạn các biến được xác định trước trong phạm vi nhỏ trong đó giá trị của biến trung gian đảm bảo
yêu cầu vận hành hệ thống (cân bằng công suất nút) là biến điện áp nút rất gần với giá trị định mức (cho phép sai lệch nhỏ) nên các xấp xỉ đầu này có thể lựa chọn theo thông số định mức. Vì vậy, nghiệm tối ưu thu được trong các bài toán tối ưu HTĐ thường là nghiệm tối ưu toàn cục.
Hình 1.2 Sơđồ khối của solver MINOS giải bài toán phi tuyến