Giới thiệu về GAMS

Một phần của tài liệu Tối ưu hóa vận hành hệ thống điện có xét đến các thiết bị điều chỉnh trong hệ thống truyền tải xoay chiều linh hoạt ( TCSC và TCPAR )669 (Trang 84)

Luận sỏn ử ụ d ng cụng cụ ngụn ngữ phần mềm cú tờn gọi là GAMS (General Algebraic Modeling System) nhằm l p ậ chương trỡnh cho bài ỏto n tối

ưu cú x n c ột đế ỏc thiế ịt b FACTS trong hệ thống điện, vi c l p ch ng trỡnh ệ ậ ươ

s ẽ mang tớnh linh hoạt, đỏp ứng yờu cầu người dựng hơn l nhà ững chương trỡnh ứng dụng cú sẵn hiệ đn ang sử ụ d ngthương mại nh ưPSS E, WAS/ P-III....

GAMS cú ưu điểm là cú kh ả năng giải quy t t t cỏc bài toỏn tế ố ối ưu (tuyến tớnh, tuyến tớnh nguyờn h n h p, phi tuy n, v.v.) trong hỗ ợ ế ệ ố th ng điện bằng cỏc module thuật toỏn gi i ả được xõy dựng sẵn trong chương trỡnh. Phần này sẽ

để tớnh toỏn cỏc bài toỏn quy ho ch phỏt triạ ển, tối ưuđượ ức ng dụng trong hệ

thống điện khi ch a và cú xột n ư đế thiế ịt b FACTS.

Cỏc phương phỏp tớnh toỏn t i ưu đó đưố ợ ức ng dụng vào cỏc bài toỏn h ệ thống điện (HTĐ) trong nhiều thập kỷ qua. Cỏc phương phỏp này đó được phỏt triển rất nhiều để đỏp ứng sự phức tạp ngày càng tăng của cỏc bài toỏn tối ưu trong quy hoạch phỏt triển, vận hành HTĐ: i) yờu c u ngày càng tăng ầ

v ề độ chớnh xỏc của cỏc mụ hỡnh mụ phỏng HTĐ, ii) sự phỏt triển vềquy mụ của HTĐ do liờn k t lư i điế ớ ện khu vực, iii) cỏc yờu cầu về mụi trường, chớnh sỏch. Cựng với sự phỏt tri n cể ủa cỏc phương phỏp tớnh toỏn t i ưu, cỏc mụ ố hỡnh cơ sở ữ ệ d li u và cỏc ngụn ngữ ậ l p trỡnh mỏy tớnh cũng đó tiến một bước dài. Nhờ ậ v y, nhi u ph n m m tớnh toỏn tề ầ ề ối ưu đó đư c ra đợ ời, kết hợp được cỏc thuật toỏn tối ưu và cơ sở ữ ệ d li u để ạ t o ra m t ngụn ngộ ữ ề m m dẻo cho

phộp ngườ ử ụi s d ng cú thể ễ d dàng mụ ph ng và giỏ ải quyết cỏc bài toỏn tối ưu

hoỏ. M t trong nhộ ững phần mềm được sử ụ d ng r ng rói là GAMS [27]. ộ GAMS được xõy d ng trong m t d ự ộ ự ỏn do Ngõn hàng T gi i tài tr hế ớ ợ năm

1988. GAMS giải quyết được nhiều bài toỏn tối ưu hoỏ dưới dạng tuyến tớnh

(Linear Programming--LP), phi tuyến (Non Linear Programming- --NLP),

tuyến tớnh nguyờn hỗn hợp (Mixed Integer Linear Programming MILP), phi -- tuyến nguyờn h n h p (MINLP). C n phỗ ợ ầ ải nhấn m nh r ng GAMS khụng ạ ằ

phải là một chương trỡnh ứng d ng sụ ẵn trong HTĐ (như PSS/E, WASP-III, EMTP, etc.) mà là một cụng cụ (một ngụn ngữmỏy) đểxõy dựng cỏc chương

trỡnh tớnh toỏn dựa trờn sự ể hi u biết đầy đủ ề ệ v h thống điện. M t sộ ố chương

trỡnh/thuật toỏn giải (solvers) thụng dụng để giải cỏc bài toỏn tối ưu trong GAMS được trỡnh bày trong B ng 3.1. Viả ệ ực l a ch n solver ph thu c vào ọ ụ ộ

cấu trỳc và loạ ủi c a m i bài toỏn c th . ỗ ụ ể

Bảng 3.1. Cỏc chương trỡnh trong GAMS

Loại bài toỏn Solvers

LP MINOS, ZOOM, MPSX, SCICONIC,

OSL, XA, CPLEX

NLP MINOS CONOPT GRG NPSOL

MILP ZOOM, MPSX, SCICONIC, XA, OSL

MINLP DICOPT

Nguồn: GAMS Users’ Guide, Release 2.5, GAMS Development Corp., 1998.

GAMS cú thể được gọi là một ngụn ngữ ậ l p trỡnh, nhưng điểm khỏc

(FORTRAN, C++, v.v.) là GAMS cú thể ọ g i cỏc solvers để ả gi i quyết cỏc bài toỏn tối ưu húa mà cỏc ngụn ngữthụng thường khụng cú sẵn. Người sử ụ d ng phải xõy d ng mự ột chương trỡnh cú thể là rất dài để cú th gi i quy t m t v n ể ả ế ộ ấ đề trong khi GAMS ch c n dựng m t dũng l nh. ỉ ầ ộ ệ Ưu đi m cơ bảể n c a GAMS ủ

so với cỏc phần m m khỏc cũn ề ở chỗ:

Tỏch biệt giữa phần cấu trỳc bài toỏn và phần thuật toỏn giải. Điều

này cho phộp ngườ ử ụi s d ng cú thể th c hi n bài toỏn theo nhiự ệ ều phương

phỏp gi i khỏc nhau.ả

Tỏch biệt giữa sốliệu và lụgic của bài toỏn. Điều này cho phộp người s dử ụng thay đ i kớch thưổ ớc của bài toỏn mà khụng cần phải thay đổi cấu trỳc của chương trỡnh.

- Cấu Trỳc Chương Trỡnh

Cấu trỳc của chương trỡnh được lập bằng GAMS gồm những thành phần cơ bản sau:

i) set (khai bỏo kớch thước cỏc mảng số ệ li u)

ii) scalar, parameter, table (khai bỏo và nhập số ệ li u) iii)variables (khai bỏo biến)

iv)equations (khai bỏo và xõy dựng cỏc phương trỡnh: hàm mục tiờu,

cỏc phương trỡnh ràng buộc, cỏc gi i hớ ạn trờn/dưới của cỏc bi n) ế

v) model và solve (thõn bài toỏn và gọi chương trỡnh/thuật toỏn giải) vi)output (trỡnh bày và in kết quả)

Mọi bài toỏn tối ưu hoỏ đều cú thể được lập trờn GAMS bằng những thành phần cơ bản trờn. Phần nhập số liệu cú thể được thực hiện dễ dàng dưới dạng gỏn trực tiếp, dạng vector hoặc dưới dạng bảng. Giống như cỏc ngụn ngữ lập trỡnh khỏc, GAMS cũng cú cỏc lệnh chuẩn như IF-ELSE, WHILE,

LOOP. Phần linh hoạt nhất của GAMS là phần model. Một model bao gồm hàm mục tiờu và cỏc phương trỡnh ràng buộc. Người sử dụng cú thể lập nhiều model bằng cỏch thay đổi số phương trỡnh ràng buộc hoặc hàm mục tiờu mà khụng cần phải thay đổi cấu trỳc của chương trỡnh. Tớnh năng này rất hữu dụng khi người sử dụng cần phải giải quyết một vấn đề với nhiều ràng buộc

khỏc nhau. Trong khi viết chương trỡnh, GAMS cú tớnh năng bỏo lỗi (debug)

rất chớnh xỏc và nhanh chúng, chi tiết v Gề AMS cú thểxem tạ ướni h g dẫn s ử

dụng GAMS GAMS Users’ Guide 36 ( ) [ ].

Như đó trỡnh bày ở trờn, GAMS được sử dụng rất nhiều trong cỏc bài toỏn tớnh tối ưu HTĐ. Trong số những bài toỏn đú phải kể đến:

i) bài toỏn vận hành kinh tế cỏc nhà mỏy nhiệt điện (được thực hiện liờn tục). Bài toỏn này cú dạng phi tuyến.

ii) bài toỏn vận hành tối ưu hệ thống (được thực hiện cho mỗi giờ). Bài toỏn này cũng ở dạng phi tuyến.

iii)bài toỏn phương thức (bài toỏn ngắn hạn (1 ngày 1 tuần); bài toỏn -

trung hạn (1 thỏng - 1 năm)). Bài toỏn này ở dạng tuyến tớnh nguyờn hỗn hợp.

iv)bài toỏn quy hoạch phỏt triển nguồn và lưới điện (bài toỏn dài hạn,

10-20 năm). Tuỳ theo yờu cầu của bài toỏn, cú thể ở dạng tuyến tớnh nguyờn hỗn hợp hoặc phi tuyến nguyờn hỗn hợp.

v) bài toỏn cú thể được phỏt triển để tớnh toỏn lựa chọn tối ưu vị trớ và cụng suất bự cụng suất phản khỏng, thiết bị FACTS, v.v.

vi)và nhiều bài toỏn khỏc.

3.3.2. Phương phỏp giải GAMS/MINOS để giải bài to n phi tuyế ỏ n

Luận sỏn ử ụ d ng phương phỏp giải – solver GAMS/MINOS cú s n ẵ

trong GAMS nhằm giải bài toỏn vận hành tối ưu và xỏc định v trớ c a thi t b ị ủ ế ị FACTS theo phương phỏp luận đề xuất. MINOS tờn đầy đủ là Module Incore

Nonlinear Optimization System (Module cơ sở ủ c a h th ng tệ ố ối ưu phi tuyến)

được phỏt triển do nhúm Giỏo sư Bruce A.Murrtagh thuộc Trường cao học Quản lý thuộ Đạc i học Macquarie - Úc đứng đầu viết bằng ngụn ngữ Fortran77. MINOS là phương phỏp giải g m m t chu i cỏc bài toỏn con cú ồ ộ ỗ

cỏc ràng bu c tuyộ ến tớnh và hàm mục tiờu là Lagrang tăng thờm (liờn quan

đế ấ ản t t c cỏc hàm phi tu n). MINOS/GAMS là ph n giao di n c a GAMS yế ầ ệ ủ

s dử ụng MINOS như là một lời giải cho chương trỡnh phi tuyến và tuyến tớnh [ ] 36 .

a) Gi i thi u vớ ệ ề GAMS/MINOS:

GAMS/MINOS là một hệ thống được thiết kế để giải cỏc bài toỏn tối

ưu lớn được diễ ản t theo d ng sau: ạ Đố ới v i bài toỏn phi tuy n: ế Hàm mục tiờu:

Minimize F(x) + cTx + dTy (3.40)

Với cỏc ràng buộc:

f(x) + A1y ~ b1 (3.41)

u y x

l≤ ≤ (3.43)

Trong đú cỏc vector c, d, b1, b2, l, u và ma trận A1, A2,A3 là ràng buộc,

F(x) là hàm vụ hướng và f(x) là vector hàm. Dấu ~ cú nghĩa là cỏc ràng buộc riờng sẽ cú th ể định nghĩa bằng sử ụ d ng ≥, = hoặc ≤ liờn quan đến c u trỳc ấ

của GAMS.

Thành phần x được mụ tả là cỏc biến phi tuy n và thành phế ần y được mụ tả là cỏc bi n tuyế ến tớnh. Cỏc phương trỡnh 3.41 là cỏc ràng buộc phi tuyến,

và cỏc phương trỡnh 3.42 là cỏc ràng buộc tuyến tớnh. Phương trỡnh 3.41 và

3.42 g i là cỏc hàm ràng bu c chung. ọ ộ

Nếu m1 và n1 là số cỏc ràng buộc và cỏc biến phi tuyến, m và n là số cỏc ràng bu và biộc ến. Khi đú A3 s ẽcú m-m1hàng và n-n1 cột. Ràng buộc phương

trỡnh 3.43 cho cỏc giới hạn trờn và giới hạn dưới của cỏc biến. Vector b1 b2

được g i là v phọ ế ả ủi c a phương trỡnh được vi t chung là b. ế b) Bài toỏn tuy n tớnh cế ủa GAMS/MINOS:

Khi 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. Khụng cú s phõn biự ệt giữa cỏc biến tuy n tớnh và phi tuyế ến cú s dthể ử ụng x thay cho y là cỏc bi n tuy n tớnh. GAMS/MINOS chuy n cỏc ràng bu c thành ế ế ể ộ cỏc phương trỡnh chỉ cú bất phương trỡnh cũn lại là cỏc bi n giế ớ ại h n. Do v y ậ

ta viết bài toỏn phi tuyến dưới dạng sau: Minimize cTx Với ràng buộc: Ax + Is = 0 u s x l≤ ≤ Thành phần x là cỏc biến của GAMS và s là cỏc biến cơ sở: m i ràng ỗ

buộc s cú 1 giỏ trẽ ị. Vỡ mục đớch tớnh toỏn cỏc thành ph n bờn phầ ải được gộp vào trong của s.

Để ễ ả di n t Ax + Is = 0 ta viế ịt đ nh nghĩa ma trận hiện khi chỳ ý đến cỏc cột của ma trận kết hợp (A I), cỏch khỏc sử ụ d ng ký hiệu quy đổi: Ax + s = 0. GAMS/MINOS lời giải tuyến tớnh được th c hiự ện bằng phương phỏp

đơn hỡnh, trong đú ràng buộc Ax + Is = 0 được m t ph n chuyộ ầ ển sang dạng: BxB + NxN= 0,

Trong đú ma trận cơ sởlà vuụng và đơn. Thành phần xB và xNđược gọi là cỏc biến cơ sở - xBvà khụng cơ sở - xN. Cựng v i chỳng là mớ ột vector hoỏn v :ị

s x

Thụng thường mỗi biến khụng cơ sở ằ n m trong gi i h n c a nú và cỏc ớ ạ ủ

biến cơ sở ấ l y b t c giỏ tr nào tho ấ ứ ị ả món điều ki n ràng bu c chung (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 đơn gi n đả ể tỡm l i giờ ải b ng viằ ệc th c hiự ện một chu i cỏc vũng lỗ ặp,

trong đú cộ ủt c a ma trận B được thay th b ng m t c t c a ma tr n N (và ế ằ ộ ộ ủ ậ ngượ ạc l i), cho đến khi sựtrao đổi cú thể làm gi m giỏ trả ị cTx.

Như đó đề ậ ở c p trờn biến khụng cơ sởthường tho món giả ới hạn trờn và giới hạn dưới của nú. Nếu như bất cứ một thành phần nào của xB nằm ngoài giới hạn c a nú cú thủ ểcho lời giải hiện tại khụng khả thi. Trong trường hợp này phương phỏp đơn giản sử ụ d ng quỏ trỡnh giai đ ạo n 1 nhằm giảm tổng của trường hợp khụng khả thi bằng khụng. Điều này tương t như quỏ trỡnh ự

giai đ ạo n 2 tiếp theo tối thiểu hàm mục tiờu thực cTx.

Nếu quỏ trỡnh giải bị ngắt quóng, một số biến khụng cơ sở cú thể ằ n m giữa giới hạn c a nú lủ j < xj < uj. Thờm vào đú lời gi i kh thi ho c tả ả ặ ối ưu cú

thể ả x y ra một vài biến cơ sở ằ n m ngoài gi i h n: lớ ạ j - δ< xj < lj hoặc uj - δ< xj < uj+ δ trong đú δ là sai số kh ả thi (thường b ng 10ằ -6). Trong một vài trường hợp hiếm thấy khi biến khụng cơ sởcú thể ằ n m ngoài giới hạn của nú đến giỏ trịδ.

GAMS/MINOS giữ ừ th a số LU rải rỏc của ma trận B sử ụ d ng cơ chế

trật tự Markowitz và c p nhậ ập Bartels-Golub được lập trỡnh b ng Fortran. ằ

Thừa số cơ sở là trung tõm nh m giằ ữ ộ m t cỏch hiệu qu cỏc ràng buả ộc tuyến tớnh và phi tuy n rế ải rỏc.

c) Bài toỏn phi tuy n cế ủa GAMS/MINOS:

Khi F(x) là phi tuyến trong hàm mục tiờu, bài toỏn sẽ trởthành bài toỏn phi tuyến. GAMS/MINOS giải cỏc bài toỏn này sử ụ d ng thu t toỏn gradient ậ

giảm phối hợp với thu t toỏn Quasiậ -Newton.

Trong phương phỏp gradient giảm ràng buộc Ax + Is = 0 được phõn

chia dướ ại d ng như sau:

BxB + SxS + NxN= 0

Trong đú xS là nhúm cỏc biến siờu cơ sở. T i l i gi i cỏc biạ ờ ả ến cơ sở và

siờu cơ sởđược nằm trong gi i h n (trong khoớ ạ ảng sai sốδ)

Đố ới v i cỏc hàm m c tiờu là phi tuy n, GAMS/MINOS s d ng thu t ụ ế ử ụ ậ toỏn Lagrang. Phương phỏp này liờn quan đến một chu i cỏc vũng lỗ ặp chớnh, mỗi vũng lặp được giải với cỏc ràng buộc bài toỏn nhỏ tuyến tớnh hoỏ. Mỗi ràng bu c bài toỏn nhộ ỏ tuyến tớnh là tập của cỏc ràng buộc phi tuyến cũng như

Bắ ầt đ u với vũng lặp chớnh kth , nếu xkđược tớnh toỏn là biến phi tuyến

và λklà bội số Lagrang với cỏc ràng buộc phi tuyến. Cỏc ràng buộc tuyến tớnh hoỏ bằng cỏch thay đ i f(x) trong phương trỡnh 2 dưổ ới dạng x p xấ ỉ tuy n tớnh ế như sau:

f’(x,xk) = f(xk) + J (xk) (x – xk) cú thể ế vi t gọn lại như sau:

f’= fk+ Jk – x(x k)

Trong đú J(xk) là ma tr n Jacobian giỏ trậ ị ạ t i xk(hàng i th c- ủa Jacobian

là vector gradient c a hàm ràng buủ ộc i-th. Như là hàm mục tiờu gradien, GAMS tớnh toỏn ma trận Jacobian sử ụ d ng phộp vi phõn).

Bài toỏn con được giải trong vũng lặp thứk như sau:

Hàm mục tiờu: Minimize F(x) + cT x + dTy - λkT(f – f’) + 0.5 ρ(f – f’)T – (f f’) (3.44) Ràng buộc: f’+ A1y ~ b1 (3.45) A2x + A3y ~ b2 (3.46) u y x l≤ ≤ (3.47)

Hàm mục tiờu (3.44) được gọi là hàm Lagrang gia tăng. ρ là tham s ố

phạt, giỏ trị ρ liờn quan đến hàm phạt bậc hai.

GAMS/MINOS sử ụ d ng thu t toỏn gradient giậ ảm để giải hàm mục tiờu (3.44) v i cỏc ràng bu c (3.45) (3.47). Cỏc biớ ộ - ến cơ sở được đề ậ c p b1 và b2

được ph i h p vào cỏc gi i hố ợ ớ ạn. Cỏc ràng buộc tuy n tớnh cú dế ạng:

− = + 0 0 0 2 1 3 2 1 J x f s s I I y x A A A Jk k k

H ệ thống này cú thể viết dưới dạng Ax + Is = 0 như là một bài toỏn tuyến tớnh. Ma trận Jacobian Jk được xem như là ma trận thưa cũng như cỏc

ma trận A1, A2 và A3.

Đầu ra c a d ng GAMS/MINOS l i gi i h th ng con kh thi khi hàm ủ ạ ờ ả ệ ố ả

mục tiờu tuyến tớnh đó được thoả món. Nhỡn một cỏch tổng thể thỡ hàm mục tiờu tuyến tớnh đó được tho món trong cỏc giả ới hạn do đú lời gi i tả ối ưu và

khảthi đư c đưa ra. ợ

3.3.3 L p chậ ương trỡnh giải bài toỏn v n hành tậ ối ưu h ống điện cú xột ệth đến cỏc thi t b ế ịFACTS bằng GAMS

Cỏc ưu điểm của GAMS như đó trỡnh bày ở trờn là cú khả năng giải quyết tốt cỏc bài toỏn tối ưu (tuyến tớnh, tuyến tớnh nguyờn hỗn hợp, phi

tuyến, v.v.) trong hệ thống điện bằng cỏc thuật toỏn giải được xõy dựng sẵn trong chương trỡnh. Điều chủ yếu là nú cho phộp xõy dựng chương trỡnh tớnh toỏn rất ngắn gọn, dễ dàng, nhanh chúng.

Phần n s ỡày ẽ tr nh bày lập trỡnh bài toỏn Vận Hành Tối Ưu Hệ Thống

khi chưa và cú x ột đến cỏc thiết b Fị ACTS đượcviết bằng ụng n ngữ GAMS.

Bài toỏn được đặt ra là tớnh toỏn cụng suất phỏt (tỏc dụng và phản khỏng) của cỏc nhà mỏy điện và bự cụng suất phản khỏng tại cỏc nỳt để thoả món phụ tải,

Một phần của tài liệu Tối ưu hóa vận hành hệ thống điện có xét đến các thiết bị điều chỉnh trong hệ thống truyền tải xoay chiều linh hoạt ( TCSC và TCPAR )669 (Trang 84)