Sunteți pe pagina 1din 201

Capitolul 4

UTILIZAREA PROBLEMEI DE TRANSPORT


ÎN DOMENIUL INGINERIEI ENERGETICE
4.1. Determinarea configuraţiei optime a reţelelor electrice
abordată ca problemă de transport
Se consideră un sistem electroenergetic (SEE) sau un subsistem al SEE, care
cuprinde m surse de putere activă şi n consumatori. Se cunosc:
 amplasarea surselor şi consumatorilor;
 puterea disponibilă la fiecare sursă;
 puterea cerută de fiecare consumator.
Se cere să se determine configuraţia optimă din punct de vedere tehnico-economic a
reţelei electrice care alimentează consumatorii.
În cazul unor valori reduse pentru m şi n se selectează câteva variante, pe baza
experienţei proiectanţilor, pentru care se efectuează un calcul tehnico-economic complet,
selectând în final varianta optimă.
Pentru dimensiuni mari ale SEE, alegerea variantelor pentru care se face calculul
tehnico-economic complet este dificilă, existând riscul de a omite varianta sau variantele optime.
Selectarea acestora trebuie să se efectueze pe baza unor metode având o bază matematică
riguroasă, care să ţină cont de toate variantele posibile. În mod similar se pun problemele şi
pentru reţelele termice, reţele de gaze etc.
Drept criteriu de alegere a variantelor potenţiale optime se poate utiliza minimizarea
pierderilor de putere pe ansamblul SEE, soluţionarea completă a problemei expuse presupunând
parcurgerea următoarelor etape:
a) finalizarea datelor iniţiale – verificarea bilanţului de puteri şi calculul distanţelor dintre
surse şi consumatori;
b) determinarea riguroasă a schemei sau schemelor optime de alimentare a consumatorilor,
pe baza minimizării pierderilor de putere;
c) obţinerea variantelor pentru care se efectuează calculul tehnico-economic complet, prin
corectarea şi completarea soluţiei (soluţiilor) obţinute la punctul b) (înlocuire unor linii
electrice care au traseele apropiate cu o singură linie, adăugarea unor linii din motive de
siguranţă în funcţionare etc.);
d) alegerea (verificarea) nivelelor de tensiune ale liniilor, efectuându-se corecţiile cere
se impun (în caz de necesitate), cu sau fără revenire la punctul b);
e) efectuarea unui calcul tehnico-economic complet pentru variantele obţinute şi selectarea
soluţiei optime finale.
În cadrul acestui subcapitol se urmăreşte soluţionarea etapei b), celelalte fiind doar
parţial abordate, în cadrul aplicaţiilor.
Pentru rezolvarea problemei propuse se defineşte următorul model matematic:
a) se iau în considerare numai structurile radiale simple, formate din linii electrice radiale
între orice sursă i, i  I (I – mulţimea surselor de putere activă) şi orice consumator j, j  J
(J – mulţimea consumatorilor), distanţa dintre ele fiind ij ;
b) sensul de circulaţie a puterii este obligatoriu de la sursă către consumator;
c) pentru fiecare consumator j, j  J , suma puterilor Pij , i  I , transportate pe liniile care
alimentează consumatorul j, este egală cu puterea Pj cerută de consumator;
d) pentru fiecare sursă i, i  I , suma puterilor Pij , j  J , de pe liniile alimentate de la sursa i,
trebuie să fie cel mult egală cu puterea disponibilă Pi a sursei;
e) din punctul de vedere al bilanţului de puteri, pierderile de putere, necunoscute iniţial, dar
aproximate prin valori medii de calcul, se consideră incluse în puterile cerute de consumatori;
f) se cere să se determine structura reţelei de alimentare optime, astfel încât pierderile totale
de putere pe ansamblul SEE să fie minime.
Cerinţele exprimate la punctele se exprimă prin următoarele relaţii:
 Variabilele problemei de optimizare sunt definite de punctele a) şi b) ale modelului:
Pij  0 , i  I , jJ (4.1.1)
Evident, în contextul problemei discutate, pentru Pij  0 există linie între sursa i şi
consumatorul j, iar pentru Pij  0 nu există linie între sursa i şi consumatorul j.
 Relaţiile de restricţie (RR) rezultă pe baza punctelor c), d) şi e) ale modelului:
 Pij  Pj , jJ (4.1.2)
iI

 Pij  Pi , i I (4.1.3)
jJ
Pe baza relaţiilor (4.1.2) şi 4.1.3) se poate scrie:
 Pij   Pj (4.1.4)
jJ iI jJ
şi
 Pij   Pi (4.1.5)
iI jJ iI
rezultând bilanţul general al puterilor disponibile la surse şi al celor cerute de consumatori:
 Pi   Pj (4.1.6)
iI jJ
ceea de este absolut logic (puterea disponibilă a surselor trebuie să acopere puterea totală
cerută de consumatori.
 Funcţia obiectiv (FOB) se defineşte pe baza punctului f) al modelului de mai sus:
FOB   pij  Minim (4.1.7)
iI jJ
unde pij reprezintă pierderile de putere activă pe linia dintre sursa i şi consumatorul j.
Se observă că FOB nu este exprimată explicit în raport cu variabilele (4.1.1) ale
problemei de optimizare. Pentru a determina expresia FOB în raport cu variabilele, se fac
următoarele ipoteze: în condiţii normale, pentru o linie de înaltă sau de medie tensiune,
pierderile de putere pe rezistenţa R a liniei sunt dominante, celelalte componente neglijându-se
într-o primă aproximaţie (pentru simplificarea relaţiilor se omite scrierea indicilor ij):
I I P 3  j
p  3 R I2  3  I2  3  I  3     P  (4.1.8)
S S S 3 U cos  U cos 
unde I este curentul prin linia ij,  – rezistivitatea materialului conductoarelor, s – secţiunea
conductoarelor, U – tensiunea nominală a liniei, j – densitatea de curent, cos  – factorul de
putere al puterii transmise prin linia ij.
Presupunând că durata de utilizare a puterii maxime şi factorul de putere au valori
apropiate pentru toţi consumatorii (curbe de sarcină asemănătoare), rezultă concluzia că
expresia 3    j  U-1  cos-1 este practic constantă, pierderile de putere p fiind proporţionale
cu produsul P  .
Renunţând la partea constantă, FOB din relaţia (4.1.7) se poate exprima sub forma:
FOB   ij  Pij  Minim (4.1.9)
iI jJ

În cazul unor linii electrice de tensiuni nominale diferite, se poate lucra cu lungimi
3  j 3  j 3  j
echivalente. De exemplu: P  220  P  220  P  ech110
220  cos  110  cos  2 110  cos 
Problema definită de variabilele nenegative (4.1.1), RR (4.1.2) - (4.1.3) şi FOB (4.1.9)
este o problemă de optimizare liniară (FOB şi RR sunt liniare în raport cu un set de variabile
nenegative) de forma particulară, numită problemă de transport (PTR). Particularitatea este dată
de forma (relaţii de bilanţ parţial, pe surse şi pe consumatori) şi coeficienţii RR (au valoarea 1).
Având în vedere faptul că RR (4.1.3) sunt de tip inegalitate, ceea ce conduce la o
relaţie de bilanţ general de forma (4.1.6), avem de-a face cu o PTR neechilibrată.
Dacă RR (4.1.3) ar fi de tip egalitate:
 Pij  Pi , i I (4.1.10)
jJ
atunci bilanţul general, definit de relaţia (4.1.6), "se închide" (puterea totală disponibilă la
surse este egală cu puterea totală cerută de consumatori):
 Pi   Pj (4.1.11)
iI jJ
În aceste condiţii rezultă o PTR echilibrată, care reprezintă de fapt forma standard a
PTR (similar cu forma standard de la PPL – RR de tip egalitate şi FOB de tip minim.
O PTR neechilibrată se poate transforma fără simplu într-o PTR echilibrată (cu alte
cuvinte, se poate aduce la forma standard, în maniera prezentată în subcapitolul 3.2).
Se subliniază caracterul "static" al modelului pentru determinarea configuraţiei optime a
reţelelor de transport al energiei electrice. Modelul ar trebui să trateze o perioadă de 5-10-20 ani,
pentru care se efectuează prognoza consumului. Cu alte cuvinte, este necesară "dinamizarea"
modelului: considerarea mai multor etape succesive în timp, a unor parametri variabili în timp.
Rezultă o problemă de programare dinamică (cu model liniar), problemă care va constitui
obiectul capitolului 6, soluţia optimă indicând evoluţia în timp a configuraţiei reţelei.
4.2. Forma generală a problemei de transport
Generalizând modelul matematic obţinut în subcapitolul anterior, se poate spune că
o PTR în formularea standard, dată de F.L. Hitchcock (1941) şi T.K. Koopmans (1951), are
următorul enunţ: un anumit produs omogen este fabricat de m producători în cantităţile
a1 , a2 , a3 , , am şi urmează a fi utilizat de n consumatori în cantităţile b1 , b2 , b3 , , bm .
Presupunând cantitatea totală produsă de cei m producători egală cu cantitatea totală consumată
de cei n consumatori şi cunoscând costul unitar cij , i  1, m, j  1, n, al transportului produselor
de la producătorul i la consumatorul j, se cere să se determine cantităţile xij , i  1, m, j  1, n,
de produse transportate de la producătorul i la consumatorul j, în aşa fel încât costul total al
transportului să fie minim, iar disponibilul să fie epuizat la fiecare producător şi cererea să
fie satisfăcută exact la fiecare consumator (sensul transportului este doar de la producător la
consumator, deci xij  0 ).
Rezultă forma standard a modelului matematic al PTR:
 variabile:
xij , i  1,m , j  1,n (4.2.1)
 RR:
n m
 xij  ai , i  1,m (4.2.2) ;  xij  b j , j  1,n (4.2.3)
j1 i1
la care trebuie să se ţină cont de relaţia de bilanţ general:
m n
 ai   b j (4.2.4)
i1 j1
 FOB:
m n
FOB   (cij  xij )  Minim (4.2.5)
i1 ji
Problema definită de relaţiile (4.2.1) - (4.2.5) este o problemă de optimizare de tip
transport (PTR). Ea constituie o PPL de formă particulară (dată de forma RR – relaţii de bilanţ
parţial referitoare la surse şi la consumatori – şi coeficienţii de valoare unitară ai RR). PTR
se poate soluţiona cu metodele generale prezentate în capitolul 3. Se preferă însă utilizarea
unor algoritme mai performante, specifice PTR, care solicită un timp de calcul mai redus.
În termeni de PPL, PTR are m  n variabile şi m + n – 1 RR independente (una dintre
RR de tipul (4.2.2) sau (4.2.3) este liniar dependentă, din cauza relaţiei de bilanţ general
(4.2.4)). În consecinţă, o soluţie admisibilă de bază nedegenerată cuprinde m + n – 1 variabile
nenule şi m  n – (m + n – 1) variabile nule.
În practică se mai întâlnesc PTR cu centre intermediare: produsul omogen fabricat de
m producători în cantităţile ai trebuie să ajungă la n consumatori în cantităţile bj, trecând
prin p centre intermediare, în cantităţile ck cu satisfacerea condiţiei de închidere a bilanţului:
m n p
 ai   b j   ck (4.2.6)
i1 j1 k 1
Cunoscând costurile unitare de transport cik, de la producătorul i la centrul intermediar k,
şi ekj, de la centrul intermediar k la consumatorul j, se cere să se determine cantităţile de produse
xik şi ykj (semnificaţii similare ale indicilor cu cei de la cik şi ekj) în condiţiile minimizării
costului total al transportului de la producători la consumatori.
PTR cu centre intermediare se descompune în două PTR echilibrate clasice de forma:
m p
FOB1    cik  xik  Minim (4.2.7)
i1k 1
p m
 xik  ai , i  1,m (4.2.8);  xik  ck , k  1,p (4.2.9)
k 1 i1
p n
FOB2    ekj  ykj  Minim (4.2.10)
k 1j1
n p
 ykj  ck , k  1,p (4.2.12);  ykj  b j , j  1,n (4.2.12)
j1 k 1
la care se mai adaugă condiţiile de nenegativitate a variabilelor şi închidere a bilanţului.
Cele două PTR se soluţionează independent.
4.3. Metode de rezolvare a problemei de transport
4.3.1. Consideraţii generale
PTR se pot soluţiona utilizând diversele metode de rezolvare a PPL prezentate în
subcapitolul 3.4 (Simplex primal, Simplex dual etc.), dar este mult mai eficientă folosirea unor
metode speciale, care să ţină cont de particularităţile PTR (precizate în subcapitolul 4.2).
Orice metodă de soluţionare presupune parcurgerea următoarelor etape principale,
conform schemei logice din fig. 4.3.1 (idem subparagraful 3.4.1.1 algoritmul Simplex primal):
a) determinarea unei soluţii admisibile de bază iniţiale (iniţializarea soluţiei);
b) trecerea de la o soluţie admisibilă de bază la altă soluţie admisibilă de bază, noua soluţie
conducând la scăderea valorii FOB (îmbunătăţirea soluţiei);
c) testarea optimalităţii soluţiei curente.
Calculul este terminat când soluţia nu mai poate fi îmbunătăţită (valoarea FOB nu
mai poate fi redusă).
Similar cu Simplex primal, îmbunătăţirea soluţiei înseamnă de fapt trecerea dintr-un
vârf al mulţimii poliedrale a soluţiilor PPL în alt vârf, cu cea mai accentuată scădere a
valorii FOB.
Schema logică evidenţiază şi luarea unor măsuri împotriva intrării în ciclu infinit,
mesajul de eroare precizând că soluţia nu a fost obţinută în numărul maxim de iteraţii admis
(itermax).
Figura 4.3.1. Schema logică de principiu a metodelor de soluţionare a PTR
În cazul soluţionării manuale a PTR se utilizează de obicei tabele de lucru de forma
tabelului 4.3.1.
Tabelul 4.3.1
Consumator .........
Cons 1 Cons 2 Cons n ai
Producător
c11 c12 c1n
Pr od 1 .........
x11 x12 x1n a1
c 21 c 22 c 2n
Pr od 2 .........
x 21 x 22 x 2n a2

......... ......... ......... ......... ......... .........

cm1 cm2 cmn


Pr od m .........
xm1 xm2 xmn am
bj b1 b2 ......... bn  ai   b j
4.3.2. Determinarea unei soluţii admisibile de bază iniţiale
4.3.2.1. Algoritmul general
Metodele de iniţializare a soluţiei sunt aceleaşi pentru marea majoritate a metodelor
de rezolvare a PTR. Ele sunt, de regulă, foarte simple, rezultând din particularizarea unei
metode generale, care are la bază soluţionarea sistemului liniar de ecuaţii definit de RR
(m + n – 1 ecuaţii, m  n variabile), ţinând cont de particularităţile lor (subcapitolul 4.2).
Metoda generală de iniţializare a soluţiei este o una directă, presupunând parcurgerea a
m + n – 1 paşi. La fiecare pas se efectuează următoarele operaţii:
a) Se alege o variabilă "de decizie" xij , dintre cele încă neiniţializate, căreia i se atribuie o
valoare maximă compatibilă cu relaţiile de restricţie:
xij  Min{ai ; b j } (4.3.1)
b) Dacă:
ai < b j (4.3.2)
se atribuie variabilei xij valoarea:
xij  ai (4.3.3)
ceea ce înseamnă că s-a epuizat toată cantitatea de produse disponibile la producătorul i,
celelalte variabile din RR corespunzătoare bilanţului parţial al producătorului i (care nu au
fost iniţializate la paşii anteriori) primind valoarea 0:
xik  0, k  1,n, k  j, k  indicii var iabilelor iniţializate la paşii anteriori (4.3.4)
Se corectează corespunzător cantitatea de produse disponibile la producătorul i şi cea
solicitată de consumatorul j:
ai  ai  xij  ai  ai  0 (4.3.5)

bj  b j  xij  b j  ai  0 (4.3.6)


c) Dacă:
ai  b j (4.3.7)
se atribuie variabilei xij valoarea:
xij  b j (4.3.8)
ceea ce înseamnă că a fost acoperită toată cantitatea de produse cerută de consumatorul j,
celelalte variabile din RR corespunzătoare bilanţului parţial al consumatorului j (care nu
au fost iniţializate la paşii anteriori) primind valoarea 0:
xkj  0, k  1,m, k  i, k  indicii var iabilelor iniţializate la paşii anteriori (4.3.9)

Se corectează corespunzător cantitatea de produse disponibile la producătorul i şi cea


solicitată de consumatorul j:
ai  ai  xij  ai  b j  0 (4.3.10)

bj  b j  xij  b j  b j  0 (4.3.11)


d) Dacă:
ai  b j (4.3.12)
se atribuie variabilei xij valoarea:
xij  ai  b j (4.3.13)
adică s-a epuizat toată cantitatea de produse disponibile la producătorul i, cât şi cea solicitată
de consumatorul j, celelalte variabile din RR aferente bilanţului parţial al producătorului i,
respectiv consumatorului j (care nu au fost iniţializate la paşii anteriori) primind valoarea 0:
xik  0, k  1,n, k  j, k  indicii var iabilelor iniţializate la paşii anteriori (4.3.14)
xkj  0, k  1,m, k  i, k  indicii var iabilelor iniţializate la paşii anteriori (4.3.15)
Se corectează corespunzător cantitatea de produse disponibile la producătorul i şi cea
solicitată de consumatorul j:
ai  ai  xij  ai  ai  0 (4.3.16)
bj  b j  xij  b j  b j  0 (4.3.17)
Se observă că o asemenea situaţie conduce la o soluţie admisibilă de bază iniţială degenerată,
din cauza reducerii cu 1 a numărului de paşi, ceea ce determină creşterea cu 1 a numărului
de componente nule din soluţia iniţială, respectiv scăderea cu 1 a numărului celor nenule
(practic, a apărut o "închidere prematură de bilanţ").
În final, după m + n – 1 paşi, rezultă o soluţie admisibilă de bază iniţială. Ultimul pas
este de forma d), corespunzând satisfacerii relaţiei generale de bilanţ (4.1.15).
Dacă pe parcursul procesului de soluţionare au apărut situaţii de tipul celor menţionate la
punctul d), atunci numărul de paşi scade corespunzător, rezultând o soluţie iniţială degenerată.
Modelele concrete, particulare, de iniţializare a soluţiei, diferă între ele prin modul
de alegere a variabilei "de decizie" xij de la punctul a) la fiecare pas al algoritmului. Ele sunt de
două categorii:
 metode empirice, care nu ţin cont de valorile costurilor unitare de transport cij :
 metoda colţului de nord-vest;
 metoda colţului de nord-est;
 metode de tip "element minim", care ţin cont de valorile costurilor unitare de transport cij :
 metoda elementului minim pe linie;
 metoda elementului minim pe coloană;
 metoda elementului minim general;
 metoda Vogel (elementului minim relativ).
4.3.2.2. Metoda colţului de Nord – Vest (Danzig)
Metoda colţului de Nord – Vest (sau a diagonalei Nord – Vest  Sud – Est) consideră
la fiecare pas drept variabilă "de decizie" xij acea variabilă care se află în pătratul din colţul
de Nord – Vest (stânga sus) a tabelului de lucru la tipul 4.3.1, evident dintre variabilele care
încă nu au fost iniţializate. În final se ajunge la variabila care este în pătratul din colţul de
Sud – Est al tabloului de lucru.
Analog, parcurgerea variabilelor începând cu cea din colţul de Sud – Est şi terminând
cu cea din colţul de Nord – Vest conduce la o soluţie iniţială similară.
4.3.2.3. Metoda colţului de Nord – Est
Metoda colţului de Nord – Est (sau a diagonalei Nord – Est  Sud – Vest) consideră la
fiecare pas drept variabilă "de decizie" xij acea variabilă care se află în pătratul din colţul de
Nord – Est (dreapta sus) a tabelului de lucru la tipul 4.3.1, evident dintre variabilele care
încă nu au fost iniţializate. În final se ajunge la variabila care este în pătratul din colţul de
Sud – Vest al tabloului de lucru.
Analog, parcurgerea variabilelor începând cu cea din colţul de Sud – Vest şi terminând
cu cea din colţul de Nord – Est conduce la o soluţie iniţială similară.
4.3.2.4. Metoda elementului minim pe linie
Metoda elementului minim pe linie consideră la fiecare pas drept variabilă "de decizie"
xij , evident dintre variabilele care încă nu au fost iniţializate, acea variabilă pentru care
indicele liniei i are valoarea cea mai mică, iar j reprezintă indicele coloanei elementului c ij
minim pe linia respectivă. Deci, în tabelul de lucru de tipul 4.3.1 liniile se parcurg secvenţial,
căutându-se c ij minim pe linia i, până la epuizarea stocului de produse al producătorului i.
Se menţionează şi varianta în care se efectuează mai multe parcurgeri secvenţiale
ale liniilor, alegându-se câte o singură variabilă de decizie pe fiecare linie (dacă acest lucru
este posibil, cu alte cuvinte stocul de produse al producătorului i nu este încă epuizat).
Procesul de iniţializare este terminat când au fost epuizate stocurile de produse ale tuturor
producătorilor.
4.3.2.5. Metoda elementului minim pe coloană
Metoda elementului minim pe coloană consideră la fiecare pas ca variabilă "de decizie"
xij , dintre variabilele care încă nu au fost iniţializate, acea variabilă pentru care indicele j al
coloanei are valoarea cea mai mică, iar i reprezintă indicele liniei elementului c ij minim pe coloana
respectivă. Deci, în tabelul de lucru de tipul 4.3.1 coloanele se parcurg secvenţial, căutându-se
c ij minim pe coloana j, până la satisfacerea necesarului de produse al consumatorului j.
Se menţionează şi varianta în care se efectuează mai multe parcurgeri secvenţiale ale
coloanelor, alegându-se câte o singură variabilă de decizie pe fiecare coloană (dacă acest lucru
este posibil, cu alte cuvinte necesarul de produse al consumatorului j nu este încă satisfăcut).
Iniţializarea este terminată când au fost satisfăcute cererile de produse ale tuturor consumatorilor.
4.3.2.6. Metoda elementului minim general
Metoda elementului minim general (metoda debitelor mutual preferabile – Houthakker)
consideră la fiecare pas drept variabilă "de decizie" xij , evident dintre variabilele care încă
nu au fost iniţializate, acea variabilă pentru care c ij are valoare minimă. Procesul de iniţializare
este terminat când au fost epuizate stocurile de produse ale tuturor producătorilor şi au fost
satisfăcute cererile de produse ale tuturor consumatorilor.
Această metodă, precum şi celelalte metode de tip "element minim", se pot utiliza
chiar ca metode aproximative de soluţionare a PTR, deoarece atribuirea unor valori nenule
acelor variabile pentru care c ij este minim conduce în general la soluţii apropiate de cea
optimă (în unele cazuri particulare chiar la soluţia optimă).
4.3.2.7. Metoda Vogel
Ultimele trei categorii de metode s-au ghidat după valorile minime absolute ale
costurilor unitare de transport c ij în alegerea variabilei de decizie xij la fiecare pas. Metoda
Vogel determină valoarea minimă relativă a lui c ij , calculând în acest scop la fiecare pas
diferenţa în valoare absolută dintre cele mai mici două valori c ij de pe fiecare linie, respectiv
fiecare coloană, c ij (căutarea se referă doar la variabilele care nu au fost încă iniţializate).
La fiecare pas, se alege acea linie sau acea coloană pentru care c ij are valoare maximă,
selectând c ij minim de pe acea linie sau coloană, pentru stabilirea variabilei de decizie
(cu alte cuvinte variabila de decizie xij corespunde lui c ij minim de pe linia sau coloana
unde c ij este maxim).
Similar cu celelalte metode de tip element minim, metoda Vogel se poate considera
ca un algoritm aproximativ de soluţionare a PTR. Ea constituie cea mai evoluată metodă de
iniţializare a soluţiei dintre cele discutate, dar necesită şi cel mai mare timp de calcul
(datorită numărului mare de parcurgeri ale liniilor şi ale coloanelor tabelului de lucru.
4.3.3. Îmbunătăţirea soluţiei. Testarea optimalităţii soluţiei
4.3.3.1. Grafuri asociate problemei de transport
Se consideră reprezentarea tabelară 4.3.1 a PTR.
Tabelul 4.3.1
Consumator .........
Cons 1 Cons 2 Cons n ai
Producător
c11 c12 c1n
Pr od 1 .........
x11 x12 x1n a1
c 21 c 22 c 2n
Pr od 2 .........
x 21 x 22 x 2n a2

......... ......... ......... ......... ......... .........

cm1 cm2 cmn


Pr od m .........
xm1 xm2 xmn am
bj b1 b2 ......... bn  ai   b j
Tabelului 4.3.1 i se asociază graful G  (P, M) , unde P  {(i, j) / (i  1,m, j  1,n)}
reprezintă mulţimea vârfurilor asociate elementelor ("pătratelor") tabelului, iar M mulţimea
muchiilor, corespunzând segmentelor care unesc două pătrate din tabel, care se află în aceeaşi
linie sau în aceeaşi coloană (numite pătrate vecine). Un subgraf parţial G  (R, W) al
grafului G este un graf a cărui mulţime de vârfuri R  P , iar mulţimea muchiilor W este
formată din segmentele care unesc două vârfuri vecine din R.
Se numeşte un -ciclu al grafului G, un subgraf parţial C care este ciclu în G, având
cel mult o muchie în fiecare linie şi în fiecare coloană a tabelului de tip 4.3.1 al PTR.
Se numeşte BG-arbore al lui G un subgraf al lui G care este arbore în G şi are cel puţin
un vârf în fiecare linie şi în fiecare coloană a tabelului PTR.

4.3.3.2. Algoritmul distributiv ("stepping-stone")


................................................................................................................
4.3.3.3. Algoritmul distributiv modificat
Cea mai utilizată metodă pentru îmbunătăţirea soluţiei PTR (şi testarea optimalităţii
sale) este algoritmul distributiv modificat (algoritmul primal dual sau metoda potenţialelor).
Fără a intra în detalii teoretice, aplicarea acestei metode presupune utilizarea noţiunilor de
"potenţiale ale producătorilor" ( ui , i  1,m ) şi "potenţiale ale consumatorilor" ( v j , j  1,n ).
Similar cu algoritmul Simplex primal de la soluţionarea PPL, la fiecare iteraţie a
procesului de soluţionare trebuie să se răspundă la următoarele întrebări:
a) care este variabila care părăseşte baza;
b) care este variabila care intră în bază;
c) cum se recalculează noile valori ale variabilelor (evident, ale celor care aparţin bazei,
cele care nu fac parte din bază fiind nule).
Datorită formei particulare a RR, coeficienţii RR nu trebuie recalculaţi.
Pentru a răspunde la întrebările puse, se calculează valorile potenţialelor, prin
soluţionarea sistemului liniar de ecuaţii:
ui  v j  cij  0 , xij  Bază (4.3.30)

Se observă că este vorba de un sistem liniar de m + n – 1 ecuaţii cu m + n necunoscute


( ui , i  1,m , v j , j  1,n ), care admite soluţie unică dacă se adoptă arbitrar valoarea uneia
dintre variabile (de regulă se alege u1  0 , dar nu este exclusă nici o altă posibilitate).
Se menţionează că sistemul (4.3.30) se soluţionează simplu, dar potenţialele nu rezultă
neapărat în ordinea lor firească sau în ordinea scrierii ecuaţiilor sistemului (vezi aplicaţiile).
Pentru variabilele care nu fac parte din bază se determină costurile reduse c ij :
cij  ui  v j  cij , xij  Bază (4.3.31)
Tabelul de lucru de forma 4.3.1 se completează cu noile informaţii calculate (valorile
potenţialelor producătorilor şi consumatorilor, respectiv valorile costurilor reduse pentru
variabilele care nu fac parte din bază), rezultând tabelul de lucru 4.3.2.
Tabelul 4.3.2
Consumator .........
Cons 1 Cons 2 Cons n ai
Producător
c11 c12 c1n u1
Pr od 1 .........
c  x11 c  x12 c  x1n a1
11 12 1n
c 21 c 22 c 2n u2
Pr od 2 .........
c21 x 21 c22 x 22 c2n x 2n a2

......... ......... ......... ......... ......... .........

cm1 cm2 cmn u2


Pr od m .........
cm1 xm1 cm2 xm2 cmn xmn am
v1 v2 vn
bj
.........  ai   b j
b1 b2 bn
În funcţie de valorile costurilor reduse pot să apară următoarele situaţii:
 dacă toate variabilele care nu fac parte din bază au costuri reduse negative:

cij  0 , xij  Bază (4.3.32)

atunci soluţia determinată este cea optimă (calcul fiind terminat);


 dacă există cel puţin o variabilă din afara bazei pentru care:

cij  0 , xij  Bază (4.3.33)

calculul trebuie continuat, deoarece nu a fost găsită soluţia optimă.


Dacă există cij  0, xij  Bază , se determină variabila xpq care intră în bază ca
fiind aceea care satisface condiţia de maxim:
cpq  Max {cij \ cij  0} (4.3.34)
xijBază

Dacă există mai multe variabile care satisfac condiţia de maxim, atunci se alege arbitrar una
dintre ele ca fiind cea care intră în bază.
Pentru determinarea variabilei xrs care părăseşte baza, în tabelul de lucru se construieşte
un -ciclu, pornind de la variabila care intră în bază, continuând în exclusivitate cu variabile
care aparţin bazei (plasate în celelalte "vârfuri" ale -ciclului) şi terminând cu variabila cu
care s-a început (vezi paragraful anterior şi aplicaţiile practice).
Pe baza celor prezentate, se pot face următoarele observaţii:
 există întotdeauna un asemenea -ciclu;
 sigur nu există mai multe asemenea -cicluri;
 numărul de vârfuri al unui asemenea -ciclu este par.
Se numerotează "vârfurile" -ciclului, începând cu cifra 1 atribuită poziţiei (p, q) şi
continuând în ordine crescătoare. Variabila xrs care părăseşte baza este acea variabilă dintr-un
vârf par al -ciclului care satisface relaţia:
xrs    Min {xij } (4.3.35)
xijC

unde cu C s-a notat submulţimea variabilelor din vârfurile impare ale -ciclului, iar cu
+

C cea a variabilelor din vârfurile pare (se asigură astfel nenegativitatea noilor valori ale
variabilelor bazei, similar cu algoritmul Simplex primal de la PPL).
Noile valori ale variabilelor din vârfurile –ciclului se determină cu relaţiile:
xij  xij   , xij  C (4.3.36)

xij  xij   , xij  C (4.3.37)


iar celelalte (care nu sunt în vârfurile -ciclului) rămân nemodificate.
Dacă există mai multe variabile care satisfac condiţia de minim (4.3.35), se alege în
mod arbitrar una dintre ele. Cu certitudine apare o degenerare a soluţiei, pentru că apare în
bază cel puţin o variabilă nulă (vezi paragraful 4.3.4).
Dacă variabila care satisface condiţia de minim are valoare nulă (soluţia curentă este
degenerată), variabila care intră în bază va avea tot valoare nulă (degenerarea se menţine).
Evident, valoarea FOB nu se modifică faţă de iteraţia anterioară, fără a fi îndeplinită
condiţia de terminare a calculelor. Cu alte cuvinte, se schimbă doar variabila nulă din bază,
adică apare o "ciclare" a algoritmului (vezi paragraful 4.3.4).
În concluzie, ordinea practică a calculelor pentru un pas de algoritm distributiv
modificat este următoarea:
a) se calculează valorile potenţialelor prin rezolvarea unui sistem liniar de forma (4.3.30);
b) se testează optimalitatea soluţiei: dacă s-a găsit soluţia optimă ( cij  0, xij  Bază ) calculul

este terminat, în caz contrar (există cel puţin o valoare cij  0, xij  Bază ) se continuă
cu punctele următoare;
c) se determină variabila care intră în bază, cu relaţia (4.3.34);
d) se construieşte -ciclul;
e) se determină variabila care părăseşte baza pe baza relaţiei (4.3.35);
f) se recalculează noile valori ale variabilelor din vârfurile -ciclului – relaţiile (4.3.36), (4.3.37);
g) se calculează noua valoare a FOB, în mod clasic, cu relaţia (4.2.5), sau prin modificarea
valorii vechi (similar cu algoritmul Simplex primal de la PPL, vezi aplicaţia).
4.3.4. Probleme speciale legate de soluţionarea PTR
În acest subparagraf se tratează următoarele aspecte legate de aplicarea metodelor de
soluţionare: cazul PTR neechilibrate, unicitatea soluţiei şi degenerarea soluţiei (faţă de PPL
la modul general, nu există situaţii de domeniu vid al soluţiilor sau de optim nemărginit inferior.
 PTR neechilibrată
O PTR este neechilibrată dacă RR (4.2.2) şi relaţia de bilanţ (4.2.4) sunt de forma:
n m n
 xij  ai , i  1,m (4.3.38);  ai   b j (4.3.39)
j1 i1 j1
cu alte cuvinte cantitatea de produse disponibile la cei m producători este mai mare decât
cea cerută de cei n consumatori.
PTR neechilibrată se transformă într-o PTR echilibrată prin adăugarea unui consumator
fictiv, n + 1, pentru care toate costurile unitare de transport sunt nule:
ci,n1  0 , i  1,m (4.3.40)
iar bn1 rezultă din condiţia de echilibrare a bilanţului general:
m n
bn1   ai   b j (4.3.41)
i1 j1

În felul acesta s-a obţinut o PTR echilibrată, cu m producători şi n + 1 consumatori,


xi,n1, i  1,m din soluţia optimă reprezentând cantităţile care rămân disponibile la producători.
 Unicitatea soluţiei optime
Unicitatea soluţiei se poate analiza pe baza costurilor reduse c ij , determinate cu relaţia
(4.3.31), pentru variabilele care nu aparţin bazei (evident, pentru soluţia optimă). Pe baza unui
raţionament similar cu cel de la PPL, subparagraful 3.4.1.4, rezultă următoarele două situaţii
posibile pentru soluţia optimă:
a) dacă toate valorile c ij sunt strict negative, atunci soluţia optimă obţinută este unică;
b) dacă există cel puţin o valoare c ij nulă, pentru o variabilă care nu face parte din bază,
atunci PTR are mai multe soluţii optime, care se determină introducând succesiv în bază
variabilele cu cij  0 şi continuând calculul până la "repetarea soluţiei" (evident, se urmăresc
toate căile posibile).
 Degenerarea soluţiei
În mod similar cu PPL, şi la PTR poate apare degenerarea soluţiei: soluţia de bază
cuprinde mai puţin de m + n – 1 variabile pozitive. Degenerarea poate să apară atât în faza
de iniţializare a soluţiei, cât şi în faza de îmbunătăţire a sa (când condiţia de minim
(4.3.25) de la determinarea variabilei care părăseşte baza este satisfăcută de mai multe
variabile).
Practic, dacă variabilele bazei se delimitează prin memorarea indicilor şi nu prin
valoarea nulă, nu este necesară utilizarea unor tehnici speciale de gen "perturbare", ci se
continuă algoritmul cu variabile nule în bază (admiţând un număr limitat de eventuale
repetări ale valorii FOB – ciclarea soluţiei). Degenerarea poate să persiste până în final, sau
poate să dispară după câteva iteraţii
4.3.5. Soluţionarea PTR ca problemă de repartiţie
4.3.5.1. Probleme de repartiţie (de afectare)
.....................................................................................................

4.3.5.2. Algoritmul ungar pentru problema de repartiţie


....................................................................................................

4.3.5.3. Algoritmul ungar pentru problema de transport


....................................................................................................
4.4. Aplicaţie
4.4.1. Enunţul aplicaţiei
Se consideră o reţea electrică care cuprinde 3 surse şi 7 consumatori. Se cere să se
stabilească configuraţia optimă a reţelei electrice care alimentează consumatorii, minimizând
pierderile de putere activă datorate transportului energiei electrice de la surse la consumatori.
Amplasarea surselor şi consumatorilor este prezentată în fig. 4.4.1. Se consideră
că există posibilitatea construirii de linii electrice între toate sursele şi toţi consumatorii, distanţele
(în km) fiind precizate şi în figură. Caracteristicile surselor şi ale consumatorilor, precum şi
lungimile liniilor de alimentare posibile (în km) sunt date în tabelul 4.4.1.

Fig. 4.4.1
Tabelul 4.4.1
Consumatori Ps
Surse C1 C2 C3 C4 C5 C6 C7
[MW]
S1 40 30 35 45 50 70 50 100
S2 135 155 150 105 75 60 90 200
S3 145 150 130 85 70 75 105 120
Pc [MW] 50 30 25 35 80 100 60

4.4.2. Aducerea PTR la forma echilibrată


Făcând bilanţul puterilor, rezultă că puterea totală disponibilă la surse depăşeşte
puterea cerută de consumatori:
3
 Ps i  100  200  120  420 MW (4.4.1)
i1
7
 Pc j  50  30  25  35  80  100  60  380 MW (4.4.2)
j1
În consecinţă, este necesară introducerea unui consumator fictiv (rezultând în final
n = 7 + 1 = 8 consumatori), având puterea cerută de
420 – 380 = 40 MW (4.4.3)
situat la distanţă nulă faţă de fiecare sursă.
În concluzie, a rezultat o PTR cu m = 3 surse şi n = 8 consumatori, datele iniţiale
fiind cele din tabelul 4.4.2.
Tabelul 4.4.2
Consumatori Ps
C1 C2 C3 C4 C5 C6 C7 C8
Surse [MW]
S1 40 30 35 45 50 70 50 0 100
S2 135 155 150 105 75 60 90 0 200
S3 145 150 130 85 70 75 105 0 120
Pc [MW] 50 30 25 35 80 100 60 40 420
4.4.3. Soluţionarea aplicaţiei cu algoritmul distributiv modificat
4.4.3.1. Iniţializarea soluţiei folosind metoda colţului de N–V
Iniţializarea soluţiei cu metoda colţului de N–V este sintetizată în tabelul 4.4.3. Ea se
realizează în 3 + 8 – 1 = 10 paşi, marcaţi cu cifre romane.
Tabelul 4.4.3
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
I II III III III III III III I II III
S1
50 30 20 0 0 0 0 0 100 50 20 0
I II IV V VI VII VII VII IV V VI VII
S2
0 0 5 35 80 80 0 0 200 195 160 80 0
I II IV V VI VIII IX X VIII IX X
S3
0 0 0 0 0 20 60 40 120 100 40 0
Pc 50 30 25 35 80 100 60 40 420
I 0 II 0 III 5 V 0 VI 0 VII 20 IX 0 X 0
IV 0 VIII 0
Se observă că a rezultat o soluţie admisibilă de bază nedegenerată (care cuprinde
3 + 8 – 1 = 10 componente nenule şi 3 x 8 – (3 + 8 – 1) = 14 componente nule):
P11  50 MW ; P12  30 MW ; P13  20 MW

P23  5 MW ; P24  35 MW ; P25  80 MW ; P26  80 MW (4.4.8)
P  20 MW ; P  70 MW ; P  40 MW
 36 37 38
Calculul valorii FOB pentru soluţia iniţială:
FOB  40  50  30  30  35  20  150  5  105  35 
(4.4.9)
 75  80  60  80  75  20  105  60  0  40  26625
Pornind de la soluţia iniţială (4.4.8), determinarea soluţiei optime se realizează utilizând
algoritmul distributiv modificat
a) Iteraţia 1
 Determinarea potenţialelor surselor şi consumatorilor
ui  v j  cij  0 , xij  Bază (4.3.30)
Corespunzător variabilelor bazei, se scrie sistemul de ecuaţii (4.4.10), pentru
calculul potenţialelor surselor (u1, u2, u3) şi consumatorilor (v1, v2, v3, v4, v5, v6, v7, v8):
 u1  v1  40
 u1  v 2  30

 u1  v 3  35

 u2  v 3  150
 u2  v 4  105 (4.4.10)

 u2  v 5  75
 u2  v 6  60

 u3  v 6  75
 u3  v 7  105

 u3  v 8  0
Adoptând arbitrar pentru potenţialul primei surse valoarea u1 = 0, soluţionarea
în continuare a sistemului de ecuaţii (4.4.10) este imediată, rezultând (în paranteză s-a
trecut ordinea în care au rezultat potenţialele):
u1  0 (1) v1  40 (2)
u 2  115 (5) v 2  30 (3)
u3  130 (9) v 3  35 (4)
v 4  10 (6)
(4.4.11)
v 5  40 (7)
v 6  55 (8)
v 7  25 (10)
v 8  130 (11)
 Determinarea variabilei care intră în bază
Pentru determinarea variabilei care intră în bază se calculează costurile reduse
pentru variabilele care nu aparţin bazei – relaţia (4.4.12).
cij  ui  v j  cij , xij  Bază (4.3.31)

 c14  0  10  45  0 c 27  115  25  90  0
 
 c15  0  40  50  0 c 28  115  130  0  0
 
 c16  0  55  70  0 c 31  130  40  145  25

 c17  0  25  50  0 c 32  130  30  150  10 (4.4.12)
 
 c18  0  130  0  0 c 33  130  35  130  35
 c21  115  40  135  20 c 34  130  10  85  35

 c22  115  30  155  0 c35  130  40  70  20
Se observă că mai există valori pozitive, deci soluţia se poate îmbunătăţi.
cpq  Max {cij \ cij  0} (4.3.34)
xijBază

Condiţia de maxim pentru determinarea variabilei care intră în bază este satisfăcută
de două costuri reduse ( c33  c34  35 ). Dintre cele două se alege c34 , justificarea fiind
l34  l33 (justificarea este quasi-empirică, la fel de bine se putea alege şi cealaltă cale).
 Determinarea variabilei care părăseşte baza
Pentru determinarea variabilei care părăseşte baza se porneşte de la variabila
x34 care intră în bază şi se construieşte microciclul care să aibă în vârfurile sale numai
variabile ale bazei (tabelul 4.4.5):
Tabelul 4.4.5
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S

S1
50 30 20 0 0 0 0 0 100
 
S2
0 0 5 35 80 80 0 0 200
 
S3
0 0 0 0 0 20 60 40 120

Pc 50 30 25 35 80 100 60 40 420

Variabila care părăseşte baza rezultă în baza relaţiei:


  Min{(x24 );(x36 )}  Min{35;20}  x36  20 (4.4.13)
Noile valori ale variabilelor din vârfurile microciclului:
x34  0  20  20 (intră în bază) x36  20  20  0 (iese din bază)
(4.4.14)
x26  80  20  100 x24  35  20  15
Noua valoare a FOB rezultă:
FOB  40  50  30  30  35  20  150  5   0  40  25925 (4.4.15)
sau: FOB  26625  20  (105  75  85  60)  25925 (4.4.16)
b) Iteraţia 2 – rezultatele în tabelul 4.4.6. În fiecare căsuţă s-au trecut: stânga sus – c ij ( lij ),
dreapta jos – xij ( Pij ) (numai pentru variabilele bazei, pentru cele din afara bazei au
valoarea 0), stânga jos – c ij (numai pentru variabilele care nu fac parte din bază). Alături
de puterile surselor şi consumatorilor s-au evidenţiat şi valorile potenţialelor.
Tabelul 4.4.6
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
40 30 35 45 50 70 50 0 0
S1
50 30 20 < 0 <0 <0 <0 <0 100
135 155 150 105 75 60 90  0 115
S2
20 <0 5  15 80 100 35 20 200
145 150 130 85 70 75 105  0 95
S3
<0 <0 0  20 < 0 20 60 40 120
40 30 35 –10 –40 –55 10 –95
Pc 50 30 25 35 80 100 60 40 420
Variabila care intră în bază este x 27 , iar variabila care părăseşte baza este x 24 .
Noile valori ale variabilelor din vârfurile microciclului:
 0  15  15 (intră în bază)
x 27
x34 20  15  35
(4.4.17)
 15  15  0 (iese din bază)
x 24
x37 60  15  45
Noua valoare a FOB rezultă:
FOB  25925  15  (105  105  90  85)  25400 (4.4.18)
c) Iteraţia 3 – rezultatele sunt sintetizate în tabelul 4.4.7.
Tabelul 4.4.7
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
40 30 35 45 50 70 50 0 0
S1
50 30 20 < 0 <0 <0 <0 <0 100
135 155 150  105 75 60 90  0 115
S2
20 <0 5 <0 80 100 15 < 0 200
145 150 130 85 70 75 105 0 130
S3
25 10 35  35 20 0  45 40 120
40 30 35 –45 –40 –55 –25 –130
Pc 50 30 25 35 80 100 60 40 420
Variabila care intră în bază este x33 , iar variabila care părăseşte baza este x 23 .
Noile valori ale variabilelor din vârfurile microciclului:
x33 0  5  5 (intră în bază)
 15  5  20
x 27
(4.4.19)
x37 45  5  40
 5  5  0 (iese din bază)
x 23
Noua valoare a FOB rezultă:
FOB  25400 5  (150  105  90  130)  25225 (4.4.20)
d) Iteraţia 4 – rezultatele sunt sintetizate în tabelul 4.4.8.
Tabelul 4.4.8
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
40 30 35 45 50 70 50 0 0
S1
50 30 20 < 0 <0 <0 <0 <0 100
135 155 150 105 75 60 90  0 80
S2
20 <0 <0 <0  80 100 20 < 0 200
145 150 130 85 70 75 105 0 95
S3
<0 <0 5 35 20 0  40 40 120
40 30 35 –10 –5 –20 10 –95
Pc 50 30 25 35 80 100 60 40 420
Variabila care intră în bază este x35 , iar variabila care părăseşte baza este x37 .
Noile valori ale variabilelor din vârfurile microciclului:
x35  0  40  40 (intră în bază) x37  40  40  0 (iese din bază)
(4.4.21)
x27  20  40  60 x25  80  40  40
Noua valoare a FOB rezultă:
FOB  25225  40  (75  105  90  70)  24425 (4.4.22)

e) Iteraţia 5 – rezultatele sunt sintetizate în tabelul 4.4.9.


Tabelul 4.4.9
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
40 30 35 45 50 70 50 0 0
S1
50 30 20 < 0 <0 <0 <0 <0 100
135 155 150 105 75  60 90 0  100
S2
5 <0 <0 <0 40 100 60 5 200
145 150 130 85 70 75 105 0  95
S3
<0 <0 5 35  40 < 0 <0 40 120
40 30 35 –10 –25 –40 –10 –95
Pc 50 30 25 35 80 100 60 40 420

Variabila care intră în bază este x 28 , iar variabila care părăseşte baza este x 25 .
Noile valori ale variabilelor din vârfurile microciclului:
x28  0  40  40 (intră în bază) x25  40  40  0 (iese din bază)
(4.4.23)
x35  40  40  80 x38  40  40  0
Noua valoare a FOB rezultă:
FOB  24425  40  (75  0  70  0)  24225 (4.4.24)

f) Iteraţia 6 – rezultatele sunt sintetizate în tabelul 4.4.10.


Tabelul 4.4.10
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
40 30 35 45 50 70 50 0 0
S1
50 30 20 < 0 <0 <0 <0 <0 100
135 155 150 105 75 60 90 0 95
S2
0 <0 <0 <0 <0 100 60 40 200
145 150 130 85 70 75 105 0 95
S3
<0 <0 5 35 80 < 0 <0 0 120
40 30 35 –10 –25 –40 –10 –95
Pc 50 30 25 35 80 100 60 40 420
Se observă că toate costurile reduse pentru variabilele care nu fac parte din bază sunt
nepozitive, deci calculul este încheiat. Ultima soluţie obţinută reprezintă soluţia optimă:
 P11  50 MW ; P12  30 MW ; P13  20 MW

 P26  100 MW ; P27  60 MW ; P28  40 MW (4.4.25)
 P  5 MW ; P  35 MW ; P  80 MW ; P  0 MW
 33 34 35 38

Analiza soluţiei optime obţinute evidenţiază următoarele:


 soluţia optimă este degenerată ( x38  0 );
 soluţia optimă este multiplă ( c21  0 ).
Pentru determinarea celeilalte soluţii optime se poate continua calculul cu intrarea în
bază a variabilei x 21 (în maniera care va fi utilizată în subparagraful următor).
4.4.3.2. Iniţializarea soluţiei cu metoda elementului minim general
Iniţializarea soluţiei cu metoda elementului minim general este sintetizată în tabelul
4.4.11. Ea se realizează în 3 + 8 – 1 = 10 paşi, marcaţi cu cifre romane. Evident,
consumatorul fictiv nu se ia în considerare la aplicarea elementului minim general, valorile
nenule ale de pe coloana corespunzătoare atribuindu-se la ultimii paşi (ultimul pas).
Tabelul 4.4.11
C
C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
III I II III III III III III I II III
S1
45 30 25 0 0 0 0 0 100 70 45 0
VIII I II VI V IV VII IX IV VII VIII IX
S2
5 0 0 0 0 100 60 35 200 100 40 35 0
VIII I II VI V IV VII X V VI X
S3
0 0 0 35 80 0 0 5 120 40 5 0
Pc 50 30 25 35 80 100 60 40 420
III 5 I 0 II 0 VI 0 V 0 IV 0 VII 0 IX 5
VIII 0 X 0
Se observă că a rezultat o soluţie admisibilă de bază nedegenerată (care cuprinde
3 + 8 – 1 = 10 componente nenule şi 3 x 8 – (3 + 8 – 1) = 14 componente nule):
 P11  45 MW ; P12  30 MW ; P13  25 MW
 (4.4.26)
 P21  5 MW ; P26  100 MW ; P27  60 MW ; P28  35 MW
 P  35 MW ; P  80 MW ; P  5 MW
 34 35 38
Calculul valorii FOB pentru soluţia iniţială:
FOB  40  45  30  30  35  25  135  5  60  100 
(4.4.27)
 90  60  0  35  85  35  70  80  0  5  24225
Pornind de la soluţia iniţială (4.4.8), determinarea soluţiei optime se realizează utilizând
algoritmul distributiv modificat.
a) Iteraţia 1
 Determinarea potenţialelor surselor şi consumatorilor
Corespunzător variabilelor bazei, se scrie sistemul de ecuaţii (4.4.28), pentru
calculul potenţialelor surselor (u1, u2, u3) şi consumatorilor (v1, v2, v3, v4, v5, v6, v7, v8):
 u1  v1  40
 u1  v 2  30

 u1  v 3  35

 u2  v1  135
 u2  v 6  60
 (4.4.28)
 u2  v 7  90
 u2  v 8  0

 u3  v 4  85
 u3  v 5  70

 u3  v 8  0
Adoptând arbitrar pentru potenţialul primei surse valoarea u1 = 0, soluţionarea
în continuare a sistemului de ecuaţii (4.4.27) este imediată, rezultând (în paranteză s-a
trecut ordinea în care au rezultat potenţialele):
u1  0 (1) v1  40 (2)
u2  95 (5) v 2  30 (3)
u3  95 (9) v 3  35 (4)
v 4  10 (10)
(4.4.29)
v 5  25 (11)
v 6  35 (6)
v 7  5 (7)
v 8  95 (8)
 Determinarea variabilei care intră în bază
Pentru determinarea variabilei care intră în bază se calculează costurile reduse
pentru variabilele care nu aparţin bazei:

 c14  0  10  45  0 c24  95  10  105  0


 c15  0  25  50  0 c25  95  25  75  0


 c16  0  35  70  0 c31  95  40  145  0
 
 c17  0  5  50  0 c32  95  30  150  0 (4.4.30)
 
 c18  0  95  0  0 c33  95  35  130  0

 c22  95  30  155  0 c 36  95  35  75  0

 c23  95  35  150  0 c 37  95  5  105  0

Se observă că toate costurile reduse pentru variabilele care nu fac parte din bază
sunt nepozitive, deci calculul este încheiat.
Soluţia iniţială obţinută cu metoda elementului minim general reprezintă chiar
soluţia optimă.
Analiza soluţiei optime obţinute evidenţiază faptul că ea nu este unică: c33  0 .
Pentru determinarea celeilalte soluţii optime se poate continua calculul cu intrarea în
bază a variabilei x33 .
 Determinarea variabilei care părăseşte baza
Pentru determinarea variabilei care părăseşte baza se porneşte de la variabila
care intră în bază şi se construieşte microciclul care să aibă în vârfurile sale numai
variabile ale bazei (tabelul 4.4.12):
Tabelul 4.4.12
C
` C1 C2 C3 C4 C5 C6 C7 C8 Ps
S
40  30 35  45 50 70 50 0 0
S1
45 30 25 < 0 <0 <0 <0 <0 100
135 155 150 105 75 60 90 0  95
S2
 5 <0 <0 <0 <0 100 60 35 200
145 150 130 85 70 75 105 0 95
S3
<0 <0 0  35 80 < 0 <0 5 120
40 30 35 –10 –25 –40 –10 –95
Pc 50 30 25 35 80 100 60 40 420

Variabila care părăseşte baza rezultă în baza relaţiei:


  Min{(x38 );(x21);(x13 )}  Min{5; 5; 25}  x38  x21  5 (4.4.31)
Se observă că două variabile satisfac simultan condiţia de minim, în consecinţă
următoarea soluţie va fi degenerată.
Noile valori ale variabilelor din vârfurile microciclului:
x23  0  5  5 (intră în bază)
x28  35  5  40
x11  45  5  50
x38  5  5  0 (rămâne în bază cu valoare nulă  degenerare) (4.4.32)
x21  5  5  0 (iese din bază)
x13  25  5  20
Noua valoare a FOB rezultă:
FOB  24225  5  (0  135  35  130  0  40)  24225 (4.4.33)
Evident, valoarea FOB a rămas nemodificată, fiind vorba tot de o soluţie
optimă. Ea coincide cu cea obţinută în subparagraful 4.4.3.1.
O eventuală continuare a calculelor ar conduce la soluţia optimă anterioară,
deci clar problema are două soluţii optime.
4.4.3.3. Corectarea soluţiei optime matematice
Cunoscându-se amplasarea surselor şi consumatorilor (figura 4.4.1) şi soluţiile optime
găsite, date în relaţia (4.4.25), respectiv (4.4.26), în figura 4.4.2, respectiv 4.4.3, s-au reprezentat
cu linie plină schemele optime de alimentare a consumatorilor.
Soluţiile optime determinate, în conformitate cu definirea PTR, cuprind numai reţele
simple radiale de tip "sursă – consumator". Se observă în cele două figuri că din acest motiv
există unele linii cu trasee foarte apropiate. Înlocuind aceste linii cu o singură linie şi completând
schemele pe baza unor considerente de siguranţă în funcţionare, rezultă structurile marcate
cu linie punctată în figura 4.4.2, respectiv 4.4.3, care pot constitui două variante pentru un
calcul tehnico-economic complet.

Fig. 4.4.2 Fig. 4.4.3


4.4.4. Soluţionarea aplicaţiei cu algoritmul distributiv .....................
4.4.5. Soluţionarea PTR cu algoritmul ungar ......................
Capitolul 5
UTILIZAREA PROGRAMĂRII NELINIARE
LA SOLUŢIONAREA UNOR PROBLEME DE OPTIMIZARE
DIN DOMENIUL INGINERIEI ENERGETICE
5.1. Optimizarea funcţionării momentane a SEE
abordată ca problemă de programare neliniară
5.1.1. Forma generală completă a modelului matematic
Se consideră un sistem electroenergetic (SEE) care conţine surse de putere activă şi
reactivă de diverse tipuri. Cunoscând puterea cerută de consumatori la un moment dat, structura
şi parametrii elementelor de sistem, se cere să se determine repartizarea puterii active şi reactive
între grupurile generatoare şi regimul de funcţionare a sistemului, în condiţiile minimizării
costului total al puterii produse în centralele sistemului şi a respectării unor relaţii de restricţie.
Dintre modelele posibile ale acestei probleme se ia în considerare următorul:
a) SEE are o structură fixă, fiind format din n noduri (dintre care g sunt noduri generatoare,
c sunt noduri consumatoare şi e sunt noduri de echilibrare) şi r elemente de reţea (dintre
care  sunt linii şi t sunt transformatoare şi autotransformatoare); se notează cu N mulţimea
nodurilor, cu G, C şi E submulţimile nodurilor generatoare, respectiv consumatoare şi de
echilibrare, cu R mulţimea elementelor de reţea şi cu L şi T mulţimea liniilor, respectiv
transformatoarelor. Fără a afecta gradul de generalitate a prezentării, se consideră un singur
nod de echilibrare, desemnat prin indicele e (evident, e  G).
b) Frecvenţa de funcţionare a sistemului este constantă şi egală cu cea nominală.
c) Sistemul funcţionează în regim constant: se cunosc pentru fiecare nod puterea activă şi
reactivă consumată, Pci şi Qci , i  N (valori fixe sau caracteristici statice în funcţie de
tensiune);
d) grupurile generatoare din sistem trebuie să acopere, prin puterea activă şi reactivă
produsă, Pgi şi Qgi , i  G , atât puterea cerută de consumatori cât şi pierderile de putere
în sistem;
e) puterea activă şi reactivă produsă de generator este limitată inferior şi superior de valorile
gi , Qgi , i  G ;
max
min
Pgi , Pgimax , respectiv Qmin
f) modulul tensiunii în nodurile sistemului, Ui (faza fiind notată cu i ), este limitat inferior,
respectiv superior de valorile Umin
i şi Umax
i , i N;
g) rapoartele de transformare ale transformatoarelor şi autotransformatoarelor (sau modulul
rapoartelor de transformare pentru autotransformatoarele cu reglaj longo-transversal),
K ij , şi argumentul raportului complex, ij , pentru autotransformatoarele cu asemenea
max min
reglaj, pot fi cuprinse într-un domeniu limitat de valorile Kij şi Kij , respectiv ij şi
min

max
ij , ij  T ;
h) puterea activă sau aparentă care circulă pe un element de reţea, Pij, respectiv Sij, este limitată
min max min max
inferior şi superior prin valorile Pij şi Pij , respectiv Sij şi Sij , ij  R (în locul
max
puterii aparente se poate utiliza şi curentul Iij cu limitările Imin
ij şi Iij );
i) se cunosc caracteristicile de cheltuieli Ci (Pgi ) care exprimă costul producerii puterii Pgi
în generatorul din nodul i, i  G (Ci pentru un anumit nod i este funcţie numai de Pgi
corespunzător nodului respectiv);
j) se cere să se determine puterile active debitate de către generatoare Pgi , i  G , şi
tensiunile Ui ale nodurilor generatoare, i  G (sau puterile reactive Qgi ), precum şi
modulele rapoartelor de transformare K ij (şi fazele ij , ij  T , dacă este cazul), astfel
încât costul total al producerii puterii în centralele sistemului să fie minim.
Modelul matematic este format din variabilele (definite la punctele a – h), relaţiile de
restricţie de tip egalitate ale bilanţurilor de puteri în noduri (punctele b, c şi d), cele de
tip inegalitate corespunzătoare limitării inferioare şi superioare a valorii unor variabile
(punctele e, f, g, h) şi FOB (punctele i, j).
Pentru simplificarea scrierii unor relaţii în cele ce urmează, se introduc următoarele
notaţii vectoriale referitoare la variabile:
 U1   1   K1   1 
U    K   
 2  2  2  2
U  U3  ,    3  , K  K 3  ,    3  (5.1.1)
       
U    K   
 n  n  t  t
În aceste condiţii, modelul matematic structura (toate relaţiile fiind scrise în u.r.):
 variabile:
 de stare (cele corespunzătoare circulaţiei de puteri):
i , i  N \ e , Pge , Ui , i  C , Qgi , i  G (5.1.2)
şi, eventual,
Pij ,Qij , ij  R , Sij , ij  R sau Iij , ij  R (5.1.3)
 de optimizare (de control):
Ui , i  G , Pgi , i  G \ e , Kij , ij  T , ij , ij  T (5.1.4)
 relaţii de restricţie (RR):
 de tip egalitate (corespunzătoare bilanţurilor de puteri în noduri, caracteristice calculelor
de circulaţie de puteri):
 i U, δ,K, Ω)  Pgi  Pci  0 ,
P( iG
 (5.1.5)
Qi (U,δ,K,Ω)  Qgi  Qci  0 , i  G

i U, δ,K, Ω)  Pci  0 ,
P( iC
 (5.1.6)
Qi (U,δ,K,Ω)  Qci  0 , i  C
sau la modul general, numai:
 i U, δ,K, Ω)  Pgi  Pci  0 ,
P( i N
 (5.1.7)
Qi (U,δ,K,Ω)  Qgi  Qci  0 , i  N

unde se respectă convenţiile de semne uzuale referitoare la noduri şi la laturi:
 se consideră pozitive puterile active (P) şi reactive inductive (Qind) efectiv injectate
în nod – cu alte cuvinte, puterile active şi reactive inductive efectiv generate sunt
considerate pozitive (similar şi cele reactive capacitive consumate, care au semn
contrar faţă de cele inductive);
 se consideră negative puterile active (P) şi reactive inductive (Qind) efectiv ejectate
din nod – cu alte cuvinte, puterile active şi reactive inductive efectiv consumate
sunt considerate negative (similar şi cele reactive capacitive generate, care au
semn contrar faţă de cele inductive);
+

Figura 5.1.1. Schiţă explicativă pentru convenţiile de semne referitoare la noduri


 se consideră pozitive puterile active (P) şi reactive inductive (Qind) care au sensul
de circulaţie efectiv de la nodul i la nodul j (puterile reactive capacitive (Qcap) care
au sensul de circulaţie efectiv de la nodul i la nodul j sunt considerate negative);
 se consideră negative puterile active (P) şi reactive inductive (Qind) care au sensul
de circulaţie efectiv de la nodul j la nodul i (puterile reactive capacitive (Qcap) care
au sensul de circulaţie efectiv de la nodul j la nodul i sunt considerate pozitive).
i j i j

+ -
Figura 5.1.2 Schiţă explicativă pentru convenţiile de semne referitoare la laturi
iar puterile Pi şi Qi au expresiile:
Pi  Ui2  Gii   Ui  Uj  Gij  cos(i   j )  Bij  sin(i   j ) , i  N
  
jN
 ji
 (5.1.8)
Qi  Ui  Bii   Ui  Uj  Gij  sin(i   j )  Bij  cos(i   j ) , i  N
2
 jN
 ji

În relaţiile de mai sus Gij, Bij, reprezintă partea reală, respectiv imaginară,
a termenilor matricei de admitanţă nodală Yn , iar variabilele Kij şi Ωij sunt conţinute
în expresiile termenilor corespunzători din Yn : termenii diagonali Gii, Bii, Gjj, Bjj şi cei
nediagonali Gij, Bij, Gji, Bji (admitanţa proprie a nodului i şi a nodului j, respectiv
admitanţa de transfer dintre nodul i şi j, respectiv j şi i).
 de tip inegalitate (limitarea superioară şi inferioară a valorii unor mărimi):
min max
Pgi  Pgi  Pgi , iG (5.1.9)

Qmin max
gi  Qgi  Qgi , iG (5.1.10)

Umin
i  Ui  Uimax , i N (5.1.11)
Kmin
ij  Kij  Kmax
ij , ij  T (5.1.12)

min
ij  ij  max
ij , ij  T (5.1.13)
Pijmin  Pij (U, δ,K, Ω)  Pijmax , ij  R (5.1.14)

Smin
ij  Sij (U, δ,K, Ω)  Sijmax , ij  R (5.1.15)

unde puterile Sij  Pij  jQij , ij  R care circulă prin elementele de reţea au expresiile:
P  U2  (G  
 ij i ij  G i0 )  Ui U j  G ij  cos (i   j )  B ij  sin (i   j )
 (5.1.16)
Qij  Ui2  (B  
ij  B i0 )  Ui  U j  G ij  sin (i   j )  B ij  cos (i   j )

 funcţia obiectiv (FOB):
FOB   Ci (Pgi )  MINIM (5.1.17)
iG

unde caracteristicile de cheltuieli Ci (Pgi ) au în general o formă oarecare, forma cea mai
simplă fiind un polinom de gradul 2 în Pgi (având coeficienţii ai , bi , ci ):
2
Ci (Pgi )  ai  Pgi  bi  Pgi  ci , i  G (5.1.18)

Evident, în FOB este inclusă şi puterea generată a nodului (nodurilor) de echilibrare.


În caz contrar, în procesul de optimizare acest nod ar prelua automat puterea maximă
posibilă, restul repartizându-se între celelalte centrale.
Analiza modelului matematic definit de relaţiile anterioare evidenţiază concluzia că
atât unele RR, cât şi FOB, au o formă neliniară, RR fiind atât de tip egalitate, cât şi de tip
inegalitate. O asemenea problemă de optimizare, în care RR şi FOB au o formă neliniară, se
numeşte problemă de programare neliniară (PPN).
Se menţionează că problema de optimizare prezentată este deosebit de complexă pentru
cazul SEE reale, de foarte mari dimensiuni, ceea ce conduce la dificultăţi de soluţionare
a modelului matematic şi un volum foarte mare de calcule. Din acest motiv se utilizează
"decuplarea", rezultând două subprobleme de optimizare distincte:
a) optimizarea repartiţiei puterii active între centralele SEE sau optimizarea circulaţiei de
putere activă;
b) optimizarea repartiţiei puterii reactive între sursele de putere reactivă sau optimizarea
circulaţiei de putere reactivă.
De asemenea, la ambele variante se pot considera modele matematice relativ mai simple,
care conduc tot la soluţionarea unor probleme de programare neliniară, dar cu un volum de
calcule mult mai redus. În continuare se pot adopta ipoteze simplificatorii chiar mai "dure",
care reduc problema de optimizare neliniară la soluţionarea unei succesiuni de probleme de
optimizare liniară, pentru care se utilizează metode specifice PPL.
5.1.2. Optimizarea circulaţiei de putere activă
Problema optimizării circulaţiei de putere activă în sistem constă în determinarea
valorilor puterilor active generate şi a fazelor rapoartelor complexe de transformare pentru
autotransformatoarele cu reglaj longo-transversal, astfel încât costul total al producerii
puterii în centralele SEE să fie minim, în condiţiile respectării unor restricţii de natură
tehnică şi economică.
Modelul matematic rezultă din cel general prezentat în paragraful 5.1.1, renunţând la
elementele legate strict de circulaţia de putere reactivă:
 variabile:
 de stare (cele corespunzătoare circulaţiei de puteri), similare cu cele de la formularea
generală a problemei (paragraful 5.1.1):
i , i  N \ e , Pge , Ui , i  C , Qgi , i  G (5.1.19)

şi, eventual,
Pij ,Qij , ij  R , Sij , ij  R sau Iij , ij  R (5.1.20)

 de optimizare (s-au eliminat faţa de modelul general cele legate de circulaţia de putere
reactivă – Ui , i  G , Kij , ij  T ):
Pgi , i  G \ e , ij , ij  T (5.1.21)
 relaţii de restricţie (RR):
 de tip egalitate (corespunzătoare bilanţurilor de puteri în noduri, caracteristice calculelor
de circulaţie de puteri – identice cu cele din modelul general):
 i U, δ,K, Ω)  Pgi  Pci  0 ,
P( i N
 (5.1.22)
Qi (U,δ,K,Ω)  Qgi  Qci  0 , i  N

unde puterile Pi şi Qi au expresiile date de relaţia 5.1.8.
 de tip inegalitate (limitarea superioară şi inferioară a valorii unor mărimi, reţinându-
se din modelul general numai cele legate de circulaţia de putere activă):
min max
Pgi  Pgi  Pgi , iG (5.1.23) ; min
ij  ij  max
ij , ij  T (5.1.24)

Pijmin  Pij (U, δ,K, Ω)  Pijmax , j  R (5.1.25)


la care se pot adăuga şi cele legate de puterea reactivă generată, tensiune şi puterea
aparentă care circulă prin elementele de reţea, în măsura în care sunt influenţate de
circulaţia de putere activă:
Qmin max
gi  Qgi  Qgi , iG (5.1.26) ; Umin
i  Ui  Uimax , i  C (5.1.27)

Smin
ij  Sij (U, δ,K, Ω)  Sijmax , ij  R (5.1.28)

unde puterile Sij  Pij  jQij , ij  R care circulă prin elementele de reţea au expresiile
date în relaţia 5.1.16.
 funcţia obiectiv (FOB):
FOB   Ci (Pgi )  MINIM (5.1.29)
iG
unde caracteristicile de cheltuieli Ci (Pgi ) au în general o formă oarecare, forma cea mai
simplă fiind un polinom de gradul 2 în Pgi :
2
Ci (Pgi )  ai  Pgi  bi  Pgi  ci , i  G (5.1.30)
Se observă că a rezultat tot o PPN, la fel ca în paragraful 5.1.1, dar de dimensiuni mai
reduse. Se menţionează că problema se referă la repartizarea puterii între centralele
termoelectrice, puterea generată de grupurile hidro fiind determinată din alte considerente
(legate de funcţionarea ansamblului hidroenergetic), deci cunoscută în contextul de faţă (ceea
ce înseamnă că pentru asemenea noduri generatoare Pmin max
gi  Pgi  Pgi ).
Pentru a ajunge la modelul matematic utilizat în aplicaţia din paragraful 5.3.5, problema
prezentată se poate simplifica în continuare, prin renunţarea la efectuarea bilanţului de puteri
pentru fiecare nod în parte. Se va scrie o relaţie de bilanţ generală pe ansamblul SEE referitoare
la puterile active. Se renunţă şi considerarea fazei rapoartelor de transformare ca variabile de
optimizare, precum şi la relaţiile de bilanţ de putere reactivă pe noduri şi la relaţiile de restricţie
de inegalitate referitoare la puterile reactive generate, fazele rapoartelor de transformare şi
circulaţiile de putere activă pe laturile SEE.
Cu aceste ipoteze modelul matematic devine:
 variabile
 de optimizare:
Pgi , i  N \ e (5.1.31)
 de stare:
Pge (5.1.32)
 relaţii de restricţie (RR):
 de tip egalitate (bilanţul de putere activă pe sistem, p reprezentând pierderile totale
de putere pe ansamblul SEE):
 Pgi   Pci  p  0
iG iN
 de tip inegalitate (limitarea superioară şi inferioară a valorii unor mărimi):
Pmin max
gi  Pgi  Pgi , iG
 funcţia obiectiv (FOB) – minimizarea costului total al producerii puterii active:
FOB   Ci (Pgi )  MINIM (5.1.33)
iG
unde caracteristicile de cheltuieli Ci (Pgi ) sunt aproximate cu un polinom de gradul 2 în Pgi :
2
Ci (Pgi )  ai  Pgi  bi  Pgi  ci , i  G (5.1.34)
Se menţionează că pierderile de putere pe ansamblul SEE se pot exprima în raport cu
variabilele printr-o relaţie de forma:
p   Pgi  Bij  Pgj (5.1.35)
iG jG

unde Bij , i  G, j  G se determină în funcţie de parametrii elementelor de sistem, având o


valoare constantă (de unde şi numele de metoda coeficienţilor B constanţi).
Se observă că a rezultat tot o problemă de optimizare neliniară, dar mai simplă decât
cea prezentată anterior.
Problema se poate simplifica în continuare, rezultând modelul matematic utilizat în
aplicaţia din paragraful 5.3.5 (referitoare la repartizarea puterilor active între cele n grupuri ale
unei centrale termoelectrice sau problema ansamblului SEE, cu neglijarea pierderilor de putere):
 variabile
 de optimizare (n-1 puteri generate):
Pi , i  N \ e (5.1.36)
 de stare (considerând că generatorul n este cel de echilibrare):
Pn (5.1.37)
 relaţii de restricţie (RR):
 de tip egalitate (corespunzătoare bilanţului general de puteri):
n
Pc   Pi  0 (5.1.38)
i1
unde Pc este puterea consumată pe barele centralei (se observă că s-a renunţat la
convenţiile de semne, toate puterile, atât cele generate, cât şi cea consumată fiind
considerate pozitive);
 de tip inegalitate (limitarea superioară şi inferioară a puterilor generate):
Pimin  Pi  Pimax , i  1,n (5.1.39)
 FOB referitoare la minimizarea costului total al producerii puterii active:
n
FOB   Ci (Pi )  MINIM (5.1.40)
i1

unde caracteristicile de cheltuieli Ci (Pi ) sunt aproximate cu un polinom de gradul 2:

Ci (Pi )  ai  Pi2  bi  Pi  ci , i  1,n (5.1.41)


Se poate considera drept FOB şi consumul orar de combustibil convenţional:
n
FOB   Bi (Pi )  MINIM (5.1.42)
i1

unde caracteristicile de consum orar de combustibil convenţional Bi (Pi ) sunt aproximate


cu un polinom de gradul 2:
Bi (Pi )  ai  Pi2  bi  Pi  ci , i  1,n (5.1.43)
5.1.3. Optimizarea circulaţiei de putere reactivă
Problema optimizării circulaţiei de putere reactivă în sistem constă în determinarea
valorilor puterilor reactive generate şi a rapoartelor de transformare (modulele rapoartelor
de transformare pentru autotransformatoarele cu reglaj longo-transversal), astfel încât costul
total al producerii puterii în centralele SEE să fie minim, în condiţiile respectării unor restricţii
de natură tehnică şi economică.
Modelul matematic rezultă din cel general prezentat în paragraful 5.1.1, renunţând la
elementele legate strict de circulaţia de putere activă:
 variabile:
 de stare (cele corespunzătoare circulaţiei de puteri), similare cu cele de la formularea
generală a problemei (paragraful 5.1.1):
i , i  N \ e , Pge , Ui , i  C , Qgi , i  G (5.1.44)
şi, eventual,
Pij ,Qij , ij  R , Sij , ij  R sau Iij , ij  R (5.1.45)

 de optimizare:
Ui , i  G , Kij , ij  T (5.1.46)
 relaţii de restricţie (RR):
 de tip egalitate, corespunzătoare bilanţurilor de puteri în noduri, identice cu cele din
modelul general (puterile Pi şi Qi având expresiile date de relaţia 5.1.8):
i U, δ,K, Ω)  Pgi  Pci  0 ,
P(
 i N
 (5.1.47)
Q
 i (U,δ,K,Ω )  Qgi  Q ci  0 , i N
 de tip inegalitate (limitarea superioară şi inferioară a valorii unor mărimi, reţinându-se
din modelul general numai cele legate de circulaţia de putere reactivă):
Qmin max
gi  Qgi  Qgi , i  G (5.1.48) ; Umin
i  Ui  Uimax , i  N (5.1.49)

Kmin max
ij  Kij  Kij , jT (5.1.50) ; Smin max
ij  Sij (U, δ,K, Ω)  Sij , ijR (5.1.51)

unde puterile Sij  Pij  jQij , ij  R au expresiile date în relaţia 5.1.16.


 funcţia obiectiv (FOB):
FOB   Ci (Pgi )  MINIM (5.1.52)
iG
care în acest caz, puterile generate Pgi , i  N \ e fiind cunoscute, înseamnă minimizarea
costului puterii active generate în nodul de echilibrare, ceea ce conduce la minimizarea
puterii generate în nodul de echilibrare sau a pierderilor de putere activă p pe ansamblul SEE:
FOB  p   Pgi   Pci  MINIM (5.1.54)
iG iN
Se observă că a rezultat tot o PPN, la fel ca în paragraful 5.1.1, dar de dimensiuni
mai reduse. Se menţionează că în modelul matematic se pot include şi alte surse de putere
reactivă decât generatoarele sincrone (compensatoare sincrone, baterii de condensatoare etc.),
nodurile respective fiind considerate noduri generatoare cu putere act ivă generată nulă.
Pentru FOB se pot considera şi alte criterii – de exemplu maximizarea nivelului de
tensiune în SEE:
Ui
FOB   pi  (5.1.55)
iM Umax
i
unde M este mulţimea celor m noduri pentru care se maximizează tensiunile, iar pi , i  M ,
sunt coeficienţi de ponderare (valoarea lor se alege în funcţie de importanţa consuma-
torului din nodul i, de daunele aduse consumatorilor prin nerespectarea calităţii energiei
furnizate etc.). În această situaţie, FOB se poate considera şi în funcţie de pătratul abaterilor de
tensiune, care respectă mai bine aspectul economic al calităţii tensiunii la bornele consumatorilor.
La fel ca la optimizarea circulaţiei de putere activă, se pot face în continuare simplificări
în modelul matematic, asemănătoare cu cele din paragraful anterior.
5.2. Forma generală a problemei de programare neliniară
Pe baza modelului matematic prezentat în subcapitolul anterior se poate obţine forma
cea mai generală a unei probleme de programare neliniară (PPN): se consideră un set de n
variabile independente x1, x2, ... xn , pentru care se caută acele valori care conduc la
extremul dorit al funcţiei obiectiv (FOB) neliniare F(x1, x2, ... xn) , cu respectarea unor
relaţii de restricţie (RR) neliniare:
F(x1,x2, xn )  EXTREM (minim sau maxim) (5.2.1)
 
gj (x1,x2 , xn )    0 , j  1,2,...,m (5.2.2)
 
Utilizând notaţia
x  [x1, x2, ..., xn ] t (5.2.3)
problema devine:
F(x)  Extrem (Minim sau Maxim) (5.2.4)
 
g j ( x )   0 , j  1,2,...,m (5.2.5)
 
Se menţionează că în categoria RR intră şi relaţiile de limitare a valorii unor variabile:
xi  ximin  ximin  xi  0 (5.2.6)
xi  ximax  xi  ximax  0 (5.2.7)
“Standardizarea”, în sensul extremului FOB de tip Minim şi al RR de tip = (sau ) se
poate face simplu, prin înmulţirea relaţiilor respective cu –1, respectiv prin introducerea
unor variabile suplimentare de tip ecart .
Se menţionează următoarele forme particulare de PPN, referite în cele ce urmează:
 RR liniare, FOB neliniară;
 RR liniare, FOB pătratică (cea mai simplă neliniaritate) – PPP (problemă de programare
pătratică);
 RR neliniare, FOB liniară (mai rar);
 RR convexe (definind un domeniu convex), FOB convexă – PPC (problemă de programare
convexă);
 PPN în numere întregi (toate variabilele de tip întreg, cu variaţie discretă) sau mixte
(şi variabile de tip real, şi variabile de tip întreg).
Pe fondul imposibilităţii rezolvării algoritmice complete, există o mare varietate de
metode de soluţionare a PPN, aplicabile la forme mai mult sau mai puţin particulare. Marea
majoritate a acestor metode sunt iterative, cu convergenţă teoretic infinită şi practic finită
(numai pentru PPP există metode cu număr finit de operaţii aritmetice elementare).
Există două categorii mari de metode:
a) metode "directe" – soluţionează PPN cu considerarea distinctă, explicită, a RR (numai
pentru forme particulare mai simple);
b) metode "indirecte" – transformă PPN cu restricţii într-o problemă de optimizare neliniară
fără restricţii şi o soluţionează pe aceasta din urmă.
În domeniul ingineriei energetice metodele indirecte au ponderea cea mai mare, deci este
justificată tratarea într-un subcapitol separat a problemei de optimizare neliniară fără restricţii.
5.3. Optimizare neliniară fără restricţii
5.3.1. Consideraţii preliminare
Se consideră problema
F(x)  F(x1,x2, xn )  MINIM (5.3.1)
unde F(x) este o funcţie neliniară de cea mai generală formă. Se cunoaşte că funcţia F(x)
continuă, cu derivatele parţiale F/xi continue în domeniul de interes, are un minim
local în punctul xM dacă în vecinătatea acestui punct este satisfăcută relaţia F(xM)  F(x)
pentru x.
Condiţiile necesare de minim:
 anularea tuturor derivatelor parţiale ale funcţiei:
F
 0 , i  1,2,...,n (5.3.2)
 xi
 matricea hessiană (a derivatelor parţiale de ordinul 2) H să fie pozitiv definită.
  2F/ x1  x1  2F/ x1  x 2   2F/ x1  x n 
 2 2 2 
H    F/ x 2  x1  F/ x 2  x 2   F/ x 2  x n  (5.3.3)
   
 2 2 2 
  F/ x n  x1  F/ x n  x 2   F/ x n  x n 
Se menţionează diferenţa dintre un minim local şi minimul global (figura 5.3.1).

Fig. 5.3.1. Figură explicativă pentru diferenţa dintre un minim local şi minimul global
Condiţiile anterioare se pot utiliza practic direct numai dacă se cunoaşte expresia
analitică a funcţiei F(x) şi a derivatelor sale, este posibilă soluţionarea sistemului neliniar de
ecuaţii definit de condiţia anulării derivatelor parţiale de ordinul 1 şi se poate verifica pozitivitatea
matricei H.
Aceste condiţii nu sunt îndeplinite în general în aplicaţiile din domeniul ingineriei
energetice. Soluţionarea problemei se poate efectua numai cu metode iterative, care localizează
minimul pe baza informaţiilor rezultate din calculul valorii FOB în diverse puncte şi, eventual,
a valorilor derivatelor parţiale.
După modul de utilizare a acestor informaţii există trei categorii mari de metode:
 Metode de explorare exhaustivă – se calculează F(x) într-un număr de puncte şi se
alege cel în care valoarea F(x) este minimă, cu următoarele comentarii:
 punctele pot fi nodurile unei reţele rectangulare, cu pasul h;
 aplicarea metodei se poate face în mai multe trepte, cu reducerea domeniului de
căutare şi a valorii pasului;
 metoda se poate combina cu un procedeu final de interpolare;
 metoda este aplicabilă la număr redus de variabile şi calculatoare cu posibilităţi grafice
extinse, rezultând minimul global.
 Metode de eliminare – aplicabile pentru funcţii fără minime locale, în următoarea manieră:
 se reduce succesiv domeniul explorat prin “eliminarea” unor regiuni ale domeniului ca
fiind neinteresante pentru minim, pe baza comparării valorilor F(x) în diverse puncte;
 eliminarea poate fi uni sau multidimensională;
 în final, în urma eliminărilor, domeniul de căutare devine atât de restrâns, încât orice
punct al său poate fi considerat ca fiind soluţia problemei.
 Metode de coborâre (urcare) – metode iterative de căutare a optimului, utilizate în maniera:
 la fiecare pas al metodei se caută un nou punct, în care valoarea FOB este mai bună
ca la pasul anterior (dependent de tipul extremului urmărit);
 la fiecare pas se acumulează şi alte informaţii pentru paşii următori;
 relaţia caracteristică pasului curent:
xk  xk 1  k 1  dk 1 (5.3.4) ; xnou  xvechi  vechi  dvechi (5.3.5)
unde d – vectorul direcţie de deplasare,  – scalar ce indică mărimea deplasării după d;
 metodele particulare se diferenţiază între ele prin modul de determinare a direcţiei de
deplasare şi a valorii scalarului .
În majoritatea aplicaţiilor din domeniul ingineriei energetice se utilizează metode de
coborâre, elemente din celelalte metode fiind regăsite la tehnicile de determinare a valorii
scalarului  (paragraful 5.3.2).
Metodele de coborâre se pot clasifica în modul următor:
a) metode care utilizează derivatele parţiale ale funcţiei F(x):
 derivatele de ordinul 1:
 gradient simplu;
 gradient conjugat (direcţii conjugate);
 derivatele de ordinul 2:
 de tip Newton (calculează explicit aceste derivate);
 de tip quasi Newton (aproximează aceste derivate).
b) metode care nu utilizează derivatele parţiale ale funcţiei F(X):
 metode de căutare aleatoare;
 metode de căutare unidimensională;
 metode de tip “pattern search” (Hooke-Jeeves, Powell etc.).
Înainte de a trece la prezentarea propriu-zisă a metodelor de coborâre, se abordează
problema determinării valorii scalarului  din relaţia (5.3.4), care indică mărimea deplasării
după o direcţie cunoscută (element comun pentru toate metodele care utilizează derivatele
parţiale ale funcţiei F).
5.3.2. Căutarea minimului în lungul unei direcţii
5.3.2.1. Prezentarea problemei
La fiecare iteraţie a metodelor de coborâre noile valori ale variabilelor (noua valoare
a componentelor vectorului x) rezultă se calculează cu relaţia:

xk  xk 1  k 1  dk 1 (5.3.6)
unde d este vectorul direcţie de deplasare, iar scalarul  indică mărimea deplasării după
k-1 k-1
această direcţie. Valorile componentelor lui x şi d sunt cunoscute, căutându-se acea
k
valoare a scalarului  pentru care F(x ) este minimă:

F(x k )  F(x k 1   k 1  d k 1)  MINIM  f()  MINIM (5.3.7)


Se pune deci problema minimizării unei funcţii de o singură variabilă (la mai multe iteraţii –
o succesiune de asemenea minimizări).
Dificultatea problemei rezidă în faptul că funcţia f() este cunoscută (definită) prin
puncte, excluzându-se din start metodele bazate pe soluţionarea ecuaţiei rezultate din condiţia
anulării derivatei de ordinul 1 (f/ = 0).
Pentru minimizarea funcţiei f() se utilizează metode de interpolare, metode de
căutare cu pas variabil sau alte metode (algoritmul Brent). Se prezintă în continuare primele
două metode.
5.3.2.2. Metode de interpolare
Metodele de interpolare înlocuiesc funcţia f() cu un polinom de aproximare prin
interpolare P(), pentru care minimul rezultă simplu din anularea valorii derivatei de ordinul 1:
dP( )
0 (5.3.8)
d
De regulă se utilizează polinoame de interpolare de gradul 2 (interpolare polinomială
parabolică):
P()  a   2  b    c (5.3.9)
pentru care minimul rezultă simplu:
d P() b
 2  b  0  optim   (5.3.10)
d 2a
Cele 3 puncte cunoscute, necesare pentru aproximarea polinomială parabolică, sunt:
 0, f0;  1, f1;  2, f2. Valorile coeficienţilor a, b, c (şi implicit valoarea optimă pentru )
rezultă din soluţionarea sistemului liniar:
a  02  b  0  c  f0

 2
a  1  b  1  c  f1 (5.3.11)
 2
a  2  b   2  c  f2
 f0  (1  2 )  f1  (2  0 )  f2  (0  1)
a 2
 0  (1  2 )  12  (2  0 )   22  (0  1)
 2 2 2 2 2 2
(5.3.12)
b  f0  (2  1 )  f1  (0  2 )  f2  (1  0 )
 02  (1  2 )  12  (2  0 )   22  (0  1)

rezultând pentru optim expresia:

b f  (12  22 )  f1  (22  02 )  f2  (02  12 )


optim    0 (5.3.13)
2  a 2  [f0  (1  2 )  f1  (2  0 )  f2  (0  1)]
În mod uzual, cele trei puncte sunt echidistante, cu pasul h, iar 0  0 (corespunde
ultimei valori calculate a funcţiei la iteraţia anterioară):
0  0, 1  h, 2  2  h (5.3.14)
Înlocuind în sistemul (5.3.11) rezultă succesiv:
c  f0
 2
 a  h  b  h  c  f1 (5.3.15)
 2
4  a  h  2  b  h  c  f2
 (f1  f0 )  2  h  (f2  f0 )  h f0  2  f1  f2
a 
 h2  2  h  h  4  h2 2  h2
 (5.3.16)
2 2
 b  h  (f2  f0 )  4  h  (f1  f0 )  3  f0  4  f1  f2
 2h
 h2  2  h  h  4  h2
b h 3  f0  4  f1  f2
optim     (5.3.17)
2  a 2 f0  2  f1  f2
Evident, pentru ca optim să corespundă unui minim, trebuie satisfăcută condiţia:

d2 P()
 0 , pentru   optim (5.3.8)
d 2
ceea ce conduce simplu la:
f0  f2  2  f1 (5.3.19)
Se evidenţiază următoarele aspecte practice privind aplicarea acestei metode:
  aproximează poziţia minimului în măsura în care f() este mai apropiată de o formă pătratică;
 alegerea valorii pasului h constituie un element hotărâtor pentru succesul metodei
(experienţa arată că pasul trebuie ales astfel încât optimul să fie în intervalul (0; 2  h), fără
a fi prea aproape de limitele intervalului);
 procesul de interpolare poate fi repetat (cu punctele  0,  optim,  1 sau  1,  optim,  2);
 se poate continua cu o căutare în jurul optimului, în maniera indicată în paragraful 5.3.2.3;
 se pot utiliza şi alte funcţii de aproximare prin interpolare, aplicarea metodei rămâne similară.
5.3.2.3. Metode de căutare cu pas variabil în trepte
Această metodă reprezintă cazul particular pentru n = 1 al metodei de căutare
unidimensională care va constitui obiectul subparagrafului 5.3.4.3. Algoritmul metodei este
următorul:
a) din calculul de la iteraţia anterioară de optimizare se cunosc  0 şi f0 = f( 0):  0 = 0
k-1
corespunde lui x ;
b) se calculează succesiv f( 1), f( 2), ..., f( i-2), f( i-1), f( i) în punctele
i  i1  h  i  h , i  1,2,3,... (5.3.20)

unde h este pasul de căutare, până la satisfacerea condiţiei


f(i2 )  f(i1)  f(i ) (5.3.21)

ceea ce înseamnă o primă aproximare a minimului: optim  i1 ;


c) se reduce valoarea pasului de căutare, se consideră ca punct iniţial  i-2 de la punctul b) şi
se reia căutarea de la punctul b) cu pasul nou;
d) procesul de căutare se consideră terminat dacă este îndeplinită condiţia
h (5.3.22)
sau după un număr fix de trepte de căutare.
Se evidenţiază următoarele aspecte practice privind aplicarea acestei metode:
 dacă la punctul b) pentru prima valoare f( 1) > f( 0), atunci se sare direct la punctul c)
(valoarea iniţială a pasului de căutare h este prea mare);
 succesul metodei depinde de iniţializarea lui h, maniera de reducere a lui h şi alegerea
pragului  sau a numărului de trepte de reducere;
 metoda se poate finaliza cu o interpolare (în maniera prezentată în subparagraful 5.3.2.2)
folosind ultimele 3 puncte calculate (cele din relaţia 5.3.14).

5.3.2.4. Algoritmul Brent


.....................................................
5.3.3. Metode care utilizează derivatele lui F(x)
5.3.3.1. Prezentarea generală a metodelor
Sunt în general metode foarte eficiente, având la bază informaţiile locale oferite de
derivatele de ordinul 1 (şi eventual 2) ale funcţiei F(x), continuă şi derivabilă, cu derivata de
ordinul 1 (şi eventual 2) continuă, In domeniul de interes. Ele determină un minim local al funcţiei.
5.3.3.2. Metoda gradientului simplu (versiunea clasică a metodei de gradient)
Pentru o funcţie F(x) continuă şi derivabilă vectorul gradient se defineşte sub forma
t
 F F F 
g  F( x )   , , ,  , calculat pentru un anumit x (5.3.23)
  x1  x2  xn 
unde
g  [g1, g2, ..., gn ] t (5.3.24)
Gradientul indică direcţia celei mai mari creşteri a valorii lui F(x). Geometric, gradientul
reprezintă vectorul ortogonal la conturul lui F(x), care trece printr-un anumit punct x.
Cea mai accentuată descreştere (se caută minimul) a valorii lui F(x) este dată de –g.
În aceste condiţii algoritmul versiunii clasice a metodei gradientului este următorul:
0
a) se iniţializează valoarea lui X cu X (având componentele x10 , x 02 ,, xn0 ), ales pe baza
experienţei sau a informaţiilor legate de suportul “fizic” al problemei;
b) la o iteraţie oarecare k, k = 1, 2, ... , se calculează valoarea funcţiei F în punctul curent
Fk 1  F(x k 1) (5.3.24)
k-1 k-1
valorile componentelor vectorilor gradient g şi direcţiei de deplasare d
t
 F F F 
gk 1   , , ,  (5.3.25)
  x1  x2  xn  x  xk 1

dk 1  gk 1 (5.3.26)
k
şi noul punct x (în maniera indicată de relaţiile (5.3.4) şi (5.3.5)):
xk  xk 1  k 1  dk 1 (5.3.27)
k-1
unde scalarul  se determină cu una dintre metodele prezentate în paragraful 5.3.2;
c) calculul se consideră terminat când este îndeplinită una dintre condiţiile:
k 1
Max gi  1 sau Gk 1  2 sau chiar F k 1  F k 2  3 (5.3.28)
i
Asupra metodei gradientului simplu se pot face următoarele comentarii:
 se poate face normalizarea vectorului direcţie
g k 1
d k 1   (5.3.29)
g k 1  (g k 1)t
ceea ce poate duce şi al o condiţie de oprire de forma
k 1  4 (5.3.30)
 ortogonalitatea direcţiilor la de deplasare la două iteraţii succesive are ca efect o mişcare
în zig-zag către minim, ceea ce determină o convergenţă relativ lentă în apropierea
minimului ("ciclare" în jurul minimului), ceea ce constituie un dezavantaj.
5.3.3.3. Metoda gradienţilor conjugaţi (Fletcher - Reeves)
Metoda gradienţilor conjugaţi elimină dezavantajul menţionat mai sus – mişcarea în
zig-zag în jurul minimului la versiunea clasică a metodei de gradient.
Algoritmul de principiu al metodei este similar cu cel al gradientului simplu, singura
deosebire fiind legată de determinarea direcţiei de deplasare, care acum este de forma
d k 1  g k 1   k 1  d k 2 (5.3.31)
k
unde coeficientul  ţine cont de “istoria” anterioară (“mixează” în direcţia de la pasul curent
o corecţie ponderată funcţie de direcţia de deplasare de la pasul anterior), având expresia
g k 1  (g k 1)t (g k 1)2 (g1k 1)2  (gk21)2   (gkn1)2
 k 1    (5.3.32)
g k 2  (g k 2 )t (g k 2 )2 (g1k 2 )2  (gk22 )2   (gkn2 )2
Asupra metodei gradienţilor conjugaţi se pot face următoarele comentarii:
 convergenţa este de regulă mult sporită, mai ales în apropierea minimului;
 la prima iteraţie  = 0 (nu există istorie anterioară);
 după un anumit număr de iteraţii se recomandă intercalarea unui pas de gradient simplu.
5.3.3.4. Metode de tip Newton
Aceste metode, pe lângă derivatele de ordinul 1, utilizează şi pe cele de ordinul 2.
Fără a intra în detalii, algoritmul de principiu al metodei Newton este cel de la versiunea
clasică a metodei de gradient, dar direcţia de deplasare devine:
D k 1  (Hk 1)1  G k 1
k–1 k–1
unde H este matricea hessiană (a derivatelor parţiale de ordinul 2) calculată pentru X = X .
Rezultă o convergenţa mult mai puternică, pe seama unui volum mult sporit de
calcule la fiecare iteraţie (inversarea matricei hessiene).
.....................................................
5.3.3.5. Metode de tip quasi Newton
Metodele de tip quasi Newton (algoritmul Davidon-Fletcher-Powell) înlocuiesc calculul
inversei prin aproximarea inversei, rezultând o importantă reducere a volumului de lucru,
fără a altera semnificativ convergenţa.
.....................................................
5.3.4. Metode care nu utilizează derivatele lui F(x)
5.3.4.1. Prezentarea generală a metodelor
Aceste metode utilizează doar informaţiile legate de valorile funcţiei F(x) în diverse
puncte. De regulă pentru scalarul  (relaţia 5.3.4) se adoptă iniţial o anumită valoare, pe
baza experienţei, care se reduse apoi treptat în continuare.
5.3.4.2. Metode de căutare aleatoare
Determină minimul global al unei funcţii neliniare de n variabile. Ele au la bază
generarea unui set de numere aleatoare, cu densitate de probabilitate constantă într -un
domeniu dat.
Exemplificarea se face cu metoda direcţiei aleatoare, având următorul algoritm:
0
a) se iniţializează valoarea lui x cu x (având componentele x10 ,x02 , ,xn0 ), se calculează
0
F(x ) şi se iniţializează valoarea pasului de deplasare ;
b) la o iteraţie oarecare k, k = 1, 2, ... , se generează în mod aleator vectorul unitate direcţie
de deplasare d şi se calculează F(x k 1    d k 1) ;
k

c) se compară F( x k 1) cu F(x k 1    d k 1)


 dacă F( x k 1) > F(x k 1    d k 1) se sare la punctul b) şi se repetă (nu se modifică
contorul de iteraţie k);
 dacă F( x k 1) < F(x k 1    d k 1) se măreşte contorul de iteraţie, k = k +1, şi se sare
la punctul b);
d) dacă la punctul c), după un anumit număr de încercări, valoarea lui x nu se mai
0
modifică, atunci se reduce pasul de deplasare  , se consideră ca fiind x ultimul punct
determinat şi se repetă punctele b) şi c);
e) condiţia de terminare a calculelor:
 (5.3.36)
Metoda este simplă, dar cu un volum foarte mare de calcule. Deosebit de importantă
este iniţializarea valorii lui  şi maniera de reducere a valorii sale.
5.3.4.3. Metode de căutare unidimensională
La această metodă căutarea se face după direcţia axelor de coordonate, cu pas
variabil. În consecinţă, direcţiile succesive de căutare sunt:
1  0  0 
0  1  0 
     
d1  0  , d2  0  , , dn  0  (5.3.37)
     
     
0  0  1 
     
Algoritmul metodei este următorul:
0
a) se iniţializează valoarea lui x cu x (având componentele x10 , x 02 ,, xn0 ), se calculează
0
F(x ) şi se iniţializează valoarea pasului de deplasare ;
X k  X k 1    D1 (5.3.38)
până la satisfacerea condiţiei
F(x k 2 )  F(x k 1)  F( x k ) (5.3.39)

şi se reţine valoarea x k 1 , care va fi noul punct iniţial (dacă sensul nu este bun, se încearcă în
sens invers – cu  cu –; dacă nici acest sens nu este bun, atunci se reţine punctul x ).
0

c) se repetă punctul b) pentru toate axele, pornind totdeauna de la ultimul punct calculat;
d) se reduce pasul  şi se repetă punctele b) şi c);
e) condiţia de terminare a calculelor:
 (5.3.40)
Metoda este simplă, dar cu un volum foarte mare de calcule. Deosebit de importantă
este iniţializarea valorii lui  şi maniera de reducere a valorii sale.

5.3.4.4. Metode de tip "pattern search"


.....................................................
5.4. Aplicaţie pentru PPN fără restricţii
5.4.1. Enunţul aplicaţiei
Se consideră o centrală electrică având n = 4 grupuri care alimentează un consumator
(fig. 5.4.1). Pierderile de putere activă în reţeaua de alimentare a consumatorului se consideră
constante şi incluse în puterea consumată. Caracteristicile de consum orar de combustibil
convenţional ale grupurilor sunt de forma pătratică:
Bi  ai  P2i  bi  P i  ci , i  1,2,...,n (5.4.1)
unde Pi , i  1,2,...,n , sunt puterile active debitate de generatoare.

Fig. 5.4.1. Schema considerată pentru aplicaţie

Se cunosc puterea activă Pc cerută de consumator şi limitele minimă şi maximă ale


puterii disponibile la generatoare, Pimin , Pimax , i  1,2,...,n .
Se cere să se determine puterile debitate de cele 4 grupuri, în condiţiile minimizării
consumului orar de combustibil convenţional, a acoperirii puterii cerute de consumator şi
a respectării limitărilor legate de puterile generate.
5.4.2. Modelul matematic al aplicaţiei
Modelul matematic al aplicaţiei se defineşte în modul următor:
 variabilele problemei de optimizare: Pi , i  1,2,...,n , dintre care (n-1) sunt variabile de
optimizare, iar una este variabilă de stare (un generator de echilibrare a bilanţului general
de puteri, variabila corespunzând RR de tip egalitate).
 relaţiile de restricţie:
 o relaţie de restricţie de tip egalitate (bilanţul general de puteri):
n
Pc   Pi  0 (5.4.2)
i1

 RR de tip inegalitate (corespunzând limitării inferioare şi superioare a puterilor


generate):
Pimin  Pi  Pimax , i  1,2,...,n (5.4.3)

 FOB: consumul total de combustibil convenţional să fie minim:


n
FOB   Bi (Pi )  Minim (5.4.4)
i1

unde caracteristicile de consum orar de combustibil convenţional sunt pătratice:


Bi  ai  P2i  bi  P i  ci , i  1,2,...,n (5.4.5)
Analiza modelului matematic conduce la concluzia că avem de-a face cu o problemă
de programare neliniară de cea mai simplă formă – problemă de programare pătratică – PPP
(FOB pătratică, RR liniare).
Aplicaţia propusă se poate soluţiona şi cu metoda clasică a multiplicatorilor Lagrange,
cât şi cu metode de gradient (cu verificarea suplimentară simplă a satisfacerii relaţiilor de
restricţie de tip inegalitate şi luarea măsurilor corespunzătoare în cazul încălcării unora
dintre ele).
5.4.3. Soluţionarea cu metoda clasică a multiplicatorilor Lagrange
Funcţia auxiliară  se construieşte aplicând metoda multiplicatorilor lui Lagrange
pentru RR de egalitate (5.4.2) (vezi pentru detalii despre metodă paragraful 5.5.2):
n n
   (ai  Pi2  bi  Pi )    (Pc   Pi ) (5.4.6)
i1 i1

unde  – multiplicator Lagrange. Soluţia se determină din condiţia de anulare a derivatelor


parţiale ale funcţiei auxiliare în raport cu variabilele şi cu multiplicatorul Lagrange:
 
  P  2  ai  Pi  bi    0 , i  1,2,...,n
 i (5.4.7)

   P  P  0
n

  c  i
 i1
Pentru cazul particular al PPP a rezultat un sistem liniar de (n+1) ecuaţii cu (n+1)
necunoscute: Pi , i  1,2,...,n , şi . Soluţionând analitic sistemul liniar, rezultă simplu:
   bi
Pi  2  a , i  1,2,...,n
 i
 n b 
 2  Pc    i  (5.4.8)
  i1  ai 
 n  
1
  a 
 i1 i 

După calculul soluţiei se verifică satisfacerea RR de tip inegalitate (5.4.3). Dacă sunt
satisfăcute, este în regulă, soluţia fiind cea calculată cu relaţiile (5.4.8). Dacă nu sunt
satisfăcute, se procedează în maniera următoare:
 se presupune că pentru generatorul j se încalcă restricţia de limitare superioară:
max şi "se elimină" generatorul j ;
Pj  Pjmax . În această situaţie se impune Pj  Pj
 se corectează puterea consumată Pc  Pc  Pj şi se soluţionează noua PPN cu (n-1)
generatoare;
 dacă sunt încălcate limitările la mai multe generatoare, se procedează cu fiecare în
maniera indicată mai sus, apoi se corectează puterea consumată şi se rezolvă noua
PPN de dimensiuni mai reduse;
 procedura descrisă se repetă până când se obţine o soluţie cu toate puterile generate
respectând RR de tip inegalitate.
Dacă Pj < Pjmin , procedura este similară, cu observaţie că de data aceasta relaţia

Pj  Pjmax se înlocuieşte cu Pj  Pjmin ).


5.4.4. Soluţionarea cu metode de gradient
Se presupune, pentru o scriere simplă a relaţiilor, că ultimul generator este cel de
echilibrare (evident, se poate considera oricare dintre generatoare ca fiind cel de echilibrare).
Algoritmul metodei de gradient este următorul:
a) se iniţializează soluţia cu P10 , P20 , , Pn-1
0
(variabilele de optimizare) şi se calculează
puterea dată de generatorul de echilibrare (variabila de stare):
n1
Pn0  Pc   Pi0 (5.4.9)
i1

b) la un pas oarecare k al procesului iterativ de calcul, k = 1, 2, ... , se determină valoarea


curentă a multiplicatorului Lagrange din condiţia:

 2  an  Pnk-1  bn  k 1  0 (5.4.10)
 Pn
rezultând:
k-1  2  an  Pnk-1  bn (5.4.11)
c) se calculează componentele gradientului:

gk-1
i   2  ai  Pik-1  bi  k-1  0 , i  1,2,...,n  1 (5.4.12)
 Pi
d) se calculează componentele direcţiei de deplasare, de exemplu cu metoda gradientului simplu:
dk-1
i  gk-1
i , i  1,2,...,n  1 (5.4.13)

e) se determină valoarea lui k-1 printr-una din metodele prezentate în paragraful 5.3.2
(interpolare parabolică, căutare unidimensională);
f) se calculează noile valori ale variabilelor de optimizare:
Pik  Pik-1  k-1  dik-1 , i  1,2,...,n  1 (5.4.14)
g) se verifică satisfacerea relaţiilor de restricţie, procedând în maniera următoare:
Pk calculat dacă Pimin  Pik calculat  Pimax
 i

Pi  Pimin
k
dacă Pik calculat  Pimin , i  1,2,...,n  1 (5.4.15)

Pimax dacă Pik calculat  Pimax

h) se calculează puterea dată de generatorul de echilibrare:
n1
Pnk  Pc   Pik (5.4.16)
i1
i) se verifică încadrarea între limite a puterii date de generatorul de echilibrare. Dacă una
dintre limitări este violată, se schimbă generatorul de echilibrare şi se reia soluţionarea de
la început, cu punctul a);
j) se calculează noua valoare a FOB:
n
FOB   [ai  (Pik )2  bi  Pik  ci ] (5.4.17)
i1
k) se verifică satisfacerea condiţiei de terminare a calculelor:
gk-1
i   , i  1,2,...,n  1 (5.4.18)

Dacă sunt îndeplinite, calculul este terminat şi ultima soluţie este cea optimă; în caz
contrar se măreşte contorul de iteraţie cu 1 şi se sare la punctul b).
Observaţii practice:
 variabilele care sunt în limitare nu intră în discuţie la verificarea condiţiei de terminare de
la punctul k) şi la recalcularea noilor valori ale variabilelor de optimizare (puntul f));
 eventuala ieşire din limitare a unor variabile intrate temporar în limitare se verifică în
maniera următoare:
o dacă pentru o variabilă aflată în limitare superioară se obţine o direcţie de deplasare
negativă la punctul d), atunci înseamnă că ea iese din limitare şi valoarea ei se recalculează
la punctul f) al algoritmului (dacă direcţia de deplasare este pozitivă, atunci ea rămâne
în limitare);
o dacă pentru o variabilă aflată în limitare inferioară se obţine o direcţie de deplasare
pozitivă la punctul d), atunci înseamnă că ea iese din limitare şi valoarea ei se recalculează
la punctul f) al algoritmului (dacă direcţia de deplasare este negativă, atunci ea rămâne
în limitare);
 de regulă convergenţa se ameliorează dacă la puntul g) se adaugă şi o recalculare a valorii
pasului de deplasare k-1 (considerând că generatorul j a intrat în limitare):

Pjk  Pjk-1
k-1 = (5.4.19)
dk-1
i

ceea ce înseamnă că se reduce valoarea pasului de deplasare până la cea corespunzătoare


activării limitării. Dacă la un anumit pas mai multe generatoare intră în limitare, se alege
valoarea minimă obţinută pentru pasul de deplasare cu relaţiile de tipul (5.4.19);
 dacă se aplică metoda gradientului conjugat, la punctul d) se aplică relaţiile specifice
acestei metode (relaţiile (5.3.39) şi (5.3.40)) la calculul direcţiei (evident, variabilele care
sunt în limitare nu se iau în considerare la calculul lui k-1 );
 punctul i) al algoritmului se poate evita prin utilizarea metodei funcţiilor de penalizare, în
maniera prezentată la finele paragrafului (5.5.3), ceea ce înseamnă adăugarea la funcţia
auxiliară  a unui termen suplimentar care "penalizează" depăşirea uneia dintre limite la
generatorul de echilibrare (variabila de stare Pn):
n n
   (ai  Pi2  bi  Pi )    (Pc   Pi ) + r  (Pn - Pn )2 (5.4.20)
i1 i1
unde r este coeficientul de penalizare, iar Pn se defineşte în maniera relaţiei (5.4.15):

Pnk dacă Pnmin  Pnk  Pnmax




Pn  Pnmin dacă Pnk  Pnmin , i  1,2,...,n  1 (5.4.21)
 max
Pn dacă Pnk  Pnmax

ceea ce conduce la modificarea relaţiilor (5.4.10) şi (5.4.11):

 2  an  Pnk-1  bn  k 1  2  r  (Pnk-1 - Pn )  0 (5.4.22)
 Pn

k-1  2  an  Pnk-1  bn  2  r  (Pnk-1 - Pn ) (5.4.23)


(se observă că dacă limitările nu sunt încălcate, termenul suplimentar din funcţia auxiliară
este "inactiv", la fel ca şi cel din expresia multiplicatorului Lagrange).
 FOB având un caracter pătratic, valoarea optimă a pasului de deplasare k-1 de la
punctul e) al algoritmului se poate determina direct din condiţia:

0 (5.4.24)

n-1
( )   [ai  (Pik-1  α  dk-1 2
i )  bi  (Pi
k-1
 α  Dik-1)] 
i1
n-1 n-1
 an  [Pc   (Pik-1    dik-1)]2  bn  [Pc   (Pik-1  α  dik-1 )]  (5.4.25)
i1 i1
n-1 n-1
 (k 1   dk-1
 ){Pc   (Pi   di )  [Pc   (Pi   di )]}
k-1 k-1 k-1 k-1
i1 i1
componentă sigur nulă

 n
unde: dk1   Pc   Pik-1  0 (5.4.26)
 i1
Efectuând calculele, rezultă o relaţie de calcul quasi-exactă pentru :
n-1 n1
 [2  (ai  an ) Pik-1 dk-1
i  (bi  bn  2 Pc  an )  di  an   (Pi  d j  Pj  di )]
k-1 k-1 k-1 k-1 k-1
i1 j1
ji
 (5.4.27)
n-1 n1
2  [ (ai  an )  dik-1  dik-1  an  (dk-1 k-1
i  dj )]
i1 j1
ji

Observaţie: variabilele aflate în limitare nu intră în acest calcul, modificându-se


corespunzător valoarea lui Pc .
5.4.5. Aplicaţie numerică
5.4.5.1. Enunţul aplicaţiei
Se consideră pentru enunţul general formulat în paragraful 5.4.1 o aplicaţie numerică
pentru o centrală cu n = 5 grupuri, care alimentează un consumator. Puterea cerută de
consumator este Pc = 680 MW. Valorile coeficienţilor caracteristicilor de consum orar de
combustibil convenţional şi limitele puterilor generate sunt date în tabelul 5.4.1 (pentru termenii
liberi ai caracteristicilor de consum din relaţia (5.4.1) s-au considerat valorile ci  0, i  1,...,5 ,
deoarece ele nu intervin în calculele de optimizare, ci numai în calculul valorii FOB, fără a
influenţa compararea valorilor obţinute).
Tabelul 5.4.1

Nr. ai bi ci Pimin Pimax


grup 2
[tcc / MW h] [tcc / MW h] [tcc / h] [MW] [MW]
1 0,0025 0,30 0 20 60
2 0,0017 0,24 0 40 100
3 0,0014 0,16 0 100 200
4 0,0008 0,18 0 100 200
5 0,0010 0,20 0 100 200
5.4.5.2. Soluţionarea aplicaţiei cu metoda multiplicatorilor Lagrange
Se calculează valoarea multiplicatorului Lagrange cu relaţia (5.4.8):
 0,3 0,24 0,16 0,18 0,2 
2  680       
  0,0025 0,0017 0,0014 0,0008 0,001  0,546604 (5.4.28)
 1 1 1 1 1 
 0,0025  0,0017  0,0014  0,0008  0,001
 
Rezultă apoi valorile puterilor generate, cu relaţia (5.4.8):
0,546604 0,30
P1   49,321MW
2  0,0025
0,546604 0,24
P2   90,177 MW
2  0,0017
0,546604 0,16
P3   138,073 MW (5.4.29)
2  0,0014
0,546604 0,18
P4   229,127 MW
2  0,0008
0,546604 0,20
P5   173,302 MW
2  0,0010
Valoarea FOB în absenţa limitărilor, conform relaţiei (5.4.4):

FOB  (0,0025  49,3212  0,30  49,321  0) 


 (0,0017  90,1772  0,24  90,177  0) 
 (0,0014  138,0732  0,16  138,073  0)  (5.4.30)
2
 (0,0008  229,127  0,18  229,127  0) 
 (0,0010  173,3022  0,20  173,302  0)  253,062

Se observă că P4  229,127 MW  P4max  200 MW , în consecinţă se limitează


superior valoarea acestei variabile: P4  200 MW . Se renunţă în continuare la variabila
respectivă, puterea consumată devenind Pc  680  200  480 MW .
Se reia aplicarea metodei multiplicatorilor lui Lagrange în noile condiţii ( n = 4).
Se calculează valoarea multiplicatorului Lagrange:
 0,3 0,24 0,16 0,2 
2  480      
  0,0025 0,0017 0,0014 0,001
 0,568159 (5.4.31)
 1 1 1 1 
    
 0,0025 0,0017 0,0014 0,001
Rezultă apoi valorile puterilor generate:
0,568159 0,30
P1   53,632 MW
2  0,0025
0,568159 0,24
P2   96,517 MW
2  0,0017
0,568159 0,16
P3   145,771MW (5.4.32)
2  0,0014
P4  200,000 MW
0,568159 0,20
P5   184,080 MW
2  0,0010
Valoarea FOB în prezenţa limitărilor:
FOB  (0,0025  50,6322  0,30  50,632  0) 
 (0,0017  96,5172  0,24  96,517  0) 
 (0,0014  145,7712  0,16  145,771  0)  (5.4.33)
2
 (0,0008  200,000  0,18  200,000  0) 
 (0,0010  184,0802  0,20  184,080  0)  254,055
Se observă că valoarea lui P4 fiind limitată superior la 200 MW (la varianta fără
restricţii era depăşită limitarea superioară – 229,127 MW), valoarea FOB, aşa cum era de
aşteptat, a crescut faţă de situaţia fără restricţii.
5.4.5.3. Soluţionarea aplicaţiei cu metoda gradientului simplu,
 calculat cu metoda quasi-exactă,  = 0,005
 Se definitivează modelul matematic al aplicaţiei studiate (n = 5):
 variabilele P1, P2, P3, P4, P5 (primele 4 sunt variabile de optimizare; ultima este varia-
bilă de stare, corespunzător unei singure RR de egalitate, deci ultimul grup este cel de
„echilibrare” – închide bilanţul puterilor);
 relaţii de restricţie (RR):
 RR de tip egalitate, conform relaţiei (5.4.2):
P1  P2  P3  P4  P5  680 (5.4.34)
 RR de tip inegalitate, conform relaţiei (5.4.3):
 P1  20 P1  60
 P  40 P  100
 2 2
 3P  100 P3  200 (5.4.35)
 P  100 P  200
 4 4
 P5  100 P5  200
 funcţia obiectiv, conform relaţiei (5.4.4):
FOB  0,0025  P12  0,30  P1  0  0,017  P22  0,24  P1  0 
 0,0014  P32  0,16  P3  0  0,0008  P42  0,18  P4  0  (5.4.36)
 0,001 P52  0,20  P5  0  MINIM
 funcţia auxiliară , conform relaţiei (5.4.6):
  0,0025  P12  0,30  P1  0  0,017  P22  0,24  P1  0 
 0,0014  P32  0,16  P3  0  0,0008  P42  0,18  P4  0  (5.4.37)
 0,0010  P52  0,20  P5  0   (680  P1  P2  P3  P4  P5 )  MINIM
 derivatele parţiale ale funcţiei auxiliare  au expresiile:
  /  P1  G1  0,0050  P1  0,30  
  /  P2  G2  0,0034  P2  0,24  
  / v P3  G3  0,0028  P3  0,16   (5.4.38)
  /  P4  G4  0,0016  P4  0,18  
  /  P5  0,0020  P5  0,20  
  /    680  P1  P2  P3  P4  P5 (5.4.39)
 Se iniţializează quasi-arbitrar soluţia şi se calculează valoarea FOB pentru soluţia iniţială:
 P1  52 MW

 P2  88 MW

 P3  180 MW (5.4.40)
 P4  180 MW


 P5  680  (52  88  180  180)  180 MW
FOB  0,0025  522  0,30  52  0  0,017  882  0,24  88  0 
 0,0014  1802  0,16  180  0  0,0008  1802  0,18  180  0  (5.4.41)
 0,001 1802  0,20  180  0  257,5248
 Iteraţia 1 – cu  determinat prin interpolare parabolică (subparagraful 5.2.2.2), cu pasul
h = 200 (adoptat pe baza experienţei):
 calculul valorii multiplicatorului Lagrange  , conform relaţiei (5.4.11):
  0,0020 180  0,20  0,56 (5.4.42)
 se determină componentele gradientului, conform relaţiei (5.4.12):
g1  0,0050  52  0,30  0,56  0
g2  0,0034  88  0,24  0,56  0,0208
(5.4.43)
g3  0,0028  180  0,16  0,56  0,104
g4  0,0016  180  0,18  0,56  0,092
Se observă că nu este îndeplinită condiţia de terminare a calculelor;
 se determină componentele direcţiei de căutare, conform relaţiei (5.4.13):
d1  g1  0
d2  g2  0,0208
(5.4.44)
d3  g3  0,104
d4  g4  0,092
 se calculează valorile variabilelor pentru 1 = 200, conform relaţiei (5.4.14):
 P1  52  200  0  52

 P2  88  200  0,0208  92,16

 P3  180  200  ( 0,104)  159,2 (5.4.45)
 P  180  200  0,092  198,4
 4
 P5  680  (52  92,16  159,2  198,4)  178,24
 se calculează valoarea FOB pentru 1 = 200, F1:
F1  0,0025  522  0,30  52  0  0,017  92,162  0,24  92,16  0 
 0,0014  159,22  0,16 159,2  0  0,0008 198,42  0,18 198,4  0  (5.4.46)
 0,001 178,242  0,20  178,24  0  254,4913
 se calculează valorile variabilelor pentru 2 = 400:
 P1  52  400  0  52

 P2  88  400  0,0208  96,32

 P3  180  400  ( 0,104)  138,4 (5.4.47)
 P  180  400  0,092  216,8  200  P  200
 4 4
 P5  680  (52  96,32  138,4  200)  193,28
Se observă că puterea debitată de generatorul 4 a intrat în limitare superioară.
 se calculează valoarea FOB pentru 2 = 400, F2:
F2  0,0025  522  0,30  52  0  0,017  96,322  0,24  96,32  0 
 0,0014  138,42  0,16 138,4  0  0,0008  2002  0,18  200  0  (5.4.48)
2
 0,001 193,28  0,20  193,28  0  254,2222
 se calculează valoarea lui optim:
200  (3  257,5248  4  254,4913  254,2222)
 optim   319,47 (5.4.49)
2  (257,5248  2  254,4913  254,2222)
 se calculează valorile variabilelor pentru optim = 319,47 (soluţia după iteraţia 1):
 P1  52  319,47  0  52

 P2  88  319,47  0,0208  94,645
 (5.4.50)
 P3  180  319,47  ( 0,104)  146,775
 P4  180  319,47  0,092  209,391  200  P4  200

 P5  680  (52  94,645  146,775  200)  186,58
Se observă că puterea debitată de generatorul 4 a intrat în limitare superioară.
 se calculează valoarea FOB pentru soluţia obţinută la iteraţia 1:
FOB  0,0025  522  0,30  52  0  0,017  94,6452  0,24  94,645  0 
 0,0014 146,7752  0,16 146,775  0  0,0008  2002  0,18  200  0  (5.4.51)
 0,001 186,582  0,20  186,58  0  254,0750
Se observă că s-a obţinut o reducere considerabilă a valorii FOB după prima iteraţie.
 Iteraţia 2 – cu  determinat quasi-exact, conform relaţiei (5.4.27):
 calculul valorii multiplicatorului Lagrange , conform relaţiei (5.4.11):
  0,0020  186,58  0,20  0,57316 (5.4.52)
 se determină componentele gradientului, conform relaţiei (5.4.12):
g1  0,0050  52  0,30  0,57316  0,01316
g2  0,0034  94,645  0,24  0,57316  0,011367
(5.4.53)
g3  0,0028  146,775  0,16  0,57316  0,00219
g4  0,0016  200  0,18  0,57316  0,07316
Se observă că valoarea maximă în modul a unei componente a gradientului este
| g1 | = 0,01316 (valoarea lui g4 nu se ia în considerare, deoarece P4 este limitat supe-
rior), cu un ordin de mărime mai redusă decât la prima iteraţie. Nu este îndeplinită
condiţia de terminare (componenta de modul maxim este mai mare decât 0,005);
 se determină componentele direcţiei de căutare, conform relaţiei (5.4.13):
d1  g1  0,01316
d2  g2  0,011367
(5.4.54)
d3  g3  0,00219
d4  g4  0,07316
Se observă că d4 > 0, deci sigur P4 va rămâne limitat superior;
 se calculează valoarea lui , conform relaţiei (5.4.11):
4 4
 [2  (ai  a5 ) Pi  di  (bi  b5  2 Pc  a5 )  di  a5   (Pi  d j  Pj  di )]
i1 j1
ji A
  (5.4.55)
4 4 B
2   [(ai  a5 )  di  di  a5   di  d j ]
i1 j1
ji

4 4
A   [2  (ai  a5 )  Pi  di  (bi  b5  2  Pc  a5 )  di  a5   (Pi  d j  Pj  di )] 
i1 j1
ji
 [2  (a1  a5 )  P1  d1  (b1  b5  2  Pc  a5 )  d1 
 a5  (P1  d2  P2  d1  P1  d3  P3  d1  P1  d4  P4  d1)] 
 [2  (a2  a5 )  P2  d2  (b2  b5  2  Pc  a5 )  d2 
 a5  (P2  d1  P1  d2  P2  d3  P3  d2  P2  d4  P4  d2 )]  (5.4.56)
 [2  (a3  a5 )  P3  d3  (b3  b5  2  Pc  a5 )  d3 
 a5  (P3  d1  P1  d3  P3  d2  P2  d3  P3  d4  P4  d3 )] 
 [2  (a4  a5 )  P4  d4  (b4  b5  2  Pc  a5 )  d4 
 a5  (P4  d1  P1  d4  P4  d2  P2  d4  P4  d3  P3  d4 )] 
 [2  (0,0025 + 0,001)  52  0,01316 + (0,30 - 0,20 - 2  680  0,001)  0,01316 +
+ 0,001 (52  0,011367+94,645  0,01316+52  0,00219+146,775  0,01316+52  0,07316+200  0,01316)]+
+ [2  (0,0017 + 0,001)  94,645  0,011367 + (0,24 - 0,20 - 2  680  0,001)  0,011367 +
+ 0,001 (94,645  0,01316+52  0,011367+94,645  0,00219+146,775  0,011367+94,645  0,07316+200  0,011367)]+
+ [2  (0,0014 + 0,001) 146,775  0,00219 + (0,16 - 0,20 - 2  680  0,001)  0,00219 +
+ 0,001 (146,775  0,01316+52  0,00219+146,775  0,011367+94,645  0,00219+146,775  0,07316+200  0,00219)]+
+ [2  (0,0008 + 0,001)  200  0,07316 + (0,18 - 0,20 - 2  680 × 0,001)  0,07316 +
+ 0,001 (200  0,01316 + 52  0,07316 + 200  0,011367 + 94,645  0,07316 + 200  0,00219 + 146,775  0,07316)] =
 5,6596  10 3
4 4
B  2   [(ai  a5 )  di  di  a5   (di  d j )] 
i1 j1
ji
 2  [(a1  a5 )  d1  d1  a5  (d1  d2  d1  d3  d1  d4 )] 
 2  [(a2  a5 )  d2  d2  a5  (d2  d1  d2  d3  d2  d4 )]  (5.4.57)
 2  [(a3  a5 )  d3  d3  a5  (d3  d1  d3  d2  d3  d4 )] 
 2  [(a4  a5 )  d4  d4  a5  ( d4  d1  d4  d2  d4  d3 )] 
= 2  [(0,00025 + 0,0010)  0,01316  0,01316 + 0,0010  (0,01316  0,011367+0,01316  0,00219+0,01316  0,07316)]+
+ 2  [(0,0017+0,0010)0,0113670,011367+0,0010(0,0113670,01316+0,0113670,00219+0,0113670,07316)]+
+ 2  [(0,0014 + 0,0010)  0,00219  0,00219 + 0,0010  (0,00219  0,01316+0,00219  0,011367+0,00219  0,07316)]+
+ 2  [(0,0008 + 0,0010)  0,07316  0,07316 + 0,0010  (0,07316  0,01316+0,07316  0,011367+0,07316  0,00219)] =
 2,9833  105
 5,6596  103
  189,707 (5.4.58)
2,9833  105
 se calculează valorile variabilelor pentru  = 189,707 (soluţia după iteraţia 2):
 P1  52  189,707  0,01316  54,497

 P2  94,645  189,707  0,011367  96,801

 P3  146,775  189,707  0,00219  147,190 (5.4.59)
 P  200
 4
 P5  680  (54,497  96,801 147,190  200)  181,512

 se calculează valoarea FOB pentru soluţia obţinută la iteraţia 2:

FOB  0,0025  54,4972  0,30  54,497  0 


 0,017  96,8012  0,24  96,801  0 
 0,0014  147,1902  0,16  147,190  0  (5.4.60)
 0,0008  2002  0,18  200  0 
 0,001 181,5122  0,20  181,512  0  254,06615

Se observă că şi la această iteraţie s-a obţinut o reducere suplimentară a valorii FOB


faţă de prima iteraţie.
 Iteraţia 3 – cu  adoptat pe baza experienţei:
 calculul valorii multiplicatorului Lagrange , conform relaţiei (5.4.11):
  0,0020 181,512  0,20  0,563024 (5.4.61)
 se determină componentele gradientului, conform relaţiei (5.4.12):
g1  0,0050  54,497  0,30  0,563024  0,00946
g2  0,0034  96,801  0,24  0,563024  0,00610
(5.4.62)
g3  0,0028  147,190  0,16  0,563024  0,00911
g4  0,0016  200  0,18  0,563024  0,06302
Se observă că valoarea maximă în modul a unei componente a gradientului este
| g1 | = 0,00946 (valoarea lui g4 nu se ia în considerare, deoarece P4 este limitat
superior), mai redusă decât la a doua iteraţie. Nu este îndeplinită condiţia de terminare
(componenta de modul maxim este mai mare decât 0,005);
 se determină componentele direcţiei de căutare, conform relaţiei (5.4.13):
d1  g1  0,00946
d2  g2  0,00610
(5.4.63)
d3  g3  0,00911
d4  g4  0,06302
Se observă că d4 > 0, deci sigur P4 va rămâne limitat superior;
 se adoptă pentru  valoarea  = 100 (pe baza experienţei anterioare);
 se calculează valorile variabilelor pentru  = 100 (soluţia după iteraţia 3):
 P1  54,497  100  ( 0,00946)  53,551

 P2  96,801  100  ( 0,00610)  96,191

 P3  147,190  100  ( 0,00911)  146,279 (5.4.64)
 P4  200

 P5  680  (53,551  96,191  146,279  200)  183,979

 se calculează valoarea FOB pentru soluţia obţinută la iteraţia 3:

FOB  0,0025  53,5512  0,30  53,551 0  0,017  96,1912  0,24  96,191 0 


 0,0014 146,2792  0,16 146,279  0  0,0008  2002  0,18  200  0  (5.4.65)
 0,001 183,9792  0,20  183,979  0  254,0553
Se observă că s-a obţinut o reducere suplimentară a valorii FOB faţă de a doua iteraţie.
 Iteraţia 4:
 calculul valorii multiplicatorului Lagrange , conform relaţiei (5.4.11):
  0,0020  183,979  0,20  0,567958 (5.4.66)
 se determină componentele gradientului, conform relaţiei (5.4.12):
g1  0,0050  53,551  0,30  0,567958  0,00020
g2  0,0034  96,191  0,24  0,567958  0,00091
(5.4.67)
g3  0,0028  146,279  0,16  0,567958  0,00162
g4  0,0016  200  0,18  0,567958  0,06796
Se observă că valoarea maximă în modul a unei componente a gradientului
(exclusiv g4) este | g1 | = 0,00162, mai redusă decât la a doua iteraţie. Este îndeplinită
condiţia de terminare (componenta de modul maxim este mai mică decât 0,005).
Analiza soluţiei obţinute (valorile variabilelor, respectiv valoarea FOB) evidenţiază
o bună concordanţă cu soluţia cunoscută din subparagraful 5.4.4.1.
 Observaţie referitoare la iteraţia 2: având în vedere că variabila P4 era limitată superior
(relaţia 5.4.50) şi tendinţa era în continuare de creştere a valorii (relaţia 5.4.54, d4 > 0),
la calculul valorii lui  se putea ţine cont de acest lucru (prin „eliminarea” variabilei P4
şi corectarea lui Pc la valoarea 680 – 200 = 480):
 se calculează valoarea lui :
4 4
 [2  (ai  a5 ) Pi  di  (bi  b5  2 Pc  a5 )  di  a5   (Pi  d j  Pjvdi )]
i1 j1
i 4 j i
j 4 A (5.4.68)
 
4 4 B
2   [(ai  a5 )  di  di  a5   di  d j ]
i1 j1
i 4 j i
j 4
4 4
A  [2  (ai  a5 )  Pi  di  (bi  b5  2  Pc  a5 )  di  a5   (Pi  d j  Pj  di )] 
i1 j1
i 4 ji
i 4 (5.4.69)
 [2(a1 a5 )P1d1 (b1 b5  2Pc a5 )d1  a5 (P1d2 P2 d1 P1d3 P3 d1)] 
 [2(a2  a5 )P2 d2 (b2 b5  2Pc a5 )d2  a5 (P2 d1 P1d2 P2 d3 P3 d2 )] 
 [2(a3  a5 )P3 d3 (b3 b5  2Pc a5 )d3  a5 (P3 d1 P1d3 P3 d2 P2 d3 )] 
 [2  (0,0025  0,001)  52  0,01316  (0,30  0,20  2  680  0,001)  0,01316 
 0,001 (52  0,011367  94,645  0,01316  52  0,00219  146,775  0,01316)] 
 [2  (0,0017  0,001)  94,645  0,011367  (0,24  0,20  2  680  0,001)  0,011367 
 0,001 (94,645  0,01316  52  0,011367  94,645  0,00219  146,775  0,011367)] 
 [2  (0,0014  0,001)  146,775  0,00219  (0,16  0,20  2  680  0,001)  0,00219 
 0,001 (146,775  0,01316  52  0,00219  146,775  0,011367  94,645  0,00219)] 
 3,0719  104
4 4
B  2   [(ai  a5 )  di  di  a5   (di  d j )] 
i1 j1
i 4 j i
j 4
(5.4.70)
 2  [(a1  a5 )  d1  d1  a5  (d1  d2  d1  d3 )] 
 2  [(a2  a5 )  d2  d2  a5  (d2  d1  d2  d3 )] 
 2  [(a3  a5 )  d3  d3  a5  (d3  d1  d3  d2 )] 
= 2  [(0,00025+0,0010)0,013160,01316+0,0010(0,013160,011367+0,013160,00219)] +
+ 2  [(0,0017+0,0010)0,0113670,011367+0,0010(0,0113670,01316+0,0113670,00219)]+
+ 2  [(0,0014+0,0010)0,002190,00219+0,0010(0,002190,01316+0,00219 0,011367)] =
 2,7463  106

 3,0719  104
  111,858 (5.4.71)
2,7463  106
 se calculează valorile variabilelor pentru  = 111,858:
 P1  52  111,858  0,01316  53,472

 P2  94,645  111,858  0,011367  95,916

 P3  146,775  111,858  0,00219  147,020 (5.4.72)
 P  200
 4
 P5  680  (54,497  96,801 147,190  200)  183,592

 se calculează valoarea FOB pentru soluţia obţinută la iteraţia 2:

FOB  0,0025  53,4722  0,30  53,472  0 


 0,017  95,9162  0,24  95,916  0 
 0,0014  147,0202  0,16  147,020  0  (5.4.73)
2
 0,0008  200  0,18  200  0 
 0,001 183,5922  0,20  183,592  0  254,0578
Se observă că s-a obţinut o valoare mai bună decât la iteraţia 2 anterioară, apropiată
de cea finală de la iteraţia 3.
5.4.5.4. Soluţionarea aplicaţiei cu metoda gradientului simplu,
 calculat prin interpolare pătratică,  = 0,0001
Se soluţionează problema propusă cu metoda clasică a gradientului, pentru care
–4
scalarul  se calculează prin interpolare pătratică, eroarea maximă admisă fiind  = 10 .
Valoarea erorii maxime admise este uşor exagerată, aleasă astfel pentru o comparaţie concludentă
între evoluţia metodei gradientului clasic şi cea a gradienţilor conjugaţi (subparagraful
5.4.5.4).
Enunţul problemei este cel prezentat la începutul paragrafului 5.4.4, modelul matematic
şi soluţia iniţială fiind cele din subrapagraful 5.4.5.2.
Calculele au fost efectuate cu programul GRADIENT_P [K1], rezultatele în detaliu
pentru fiecare iteraţie fiind prezentate în tabelul 5.4.2.
Pentru pasul de căutare s-a adoptat valoarea h = 200 (identică cu cea de la prima
iteraţie din subparagraful 5.4.5.2).
Tabelul 5.4.2
Iteraţia 1 2 3 4
P1 52,000 52,000 53,472 53,428
P2 88,000 94,645 95,916 96,180
P3 180,000 146,775 147,020 145,915
P4 180,000 200,000 200,000 200,000
P5 180,000 186,580 183,592 184,477
FOB 257,524800 254,075006 254,057825 254,055210
 0,560000 0,573161 0,567183 0,568953
g1 0,000000 –1,3161  10-2 1,7694  10-4 –1,8120  10-3
g2 –2,8000  10-2 –1,1367  10-2 –1,0670  10-3 –1,9410  10-3
g3 1,0400  10-1 –2,1920  10-3 4,4720  10-3 –3,9137  10-4
g4 –9,2000  10-2 –7,3161  10-2 –6,7183  10-2 –6,8953  10-2
d1 0,000000 1,3161  10-2 –1,7694  10-4 1,8120  10-3
d2 2,8000  10-2 1,1367  10-2 1,0670  10-3 1,9410  10-3
d3 –1,0400  10-1 2,1920  10-3 –4,4720  10-3 3,9137  10-4
d4 9,2000  10-2 7,3161  10-2 6,7183  10-2 6,8953  10-2
1 200 200 200 200
P1 52,000 54,632 53,437 53,791
P2 92,160 96,919 96,130 96,568
P3 159,200 147,213 146,125 145,993
P4 198,400 200,000 200,000 200,000
P5 178,240 181,236 184,308 183,648
FOB1 254,491333 254,068495 254,055305 254,055049
2 400 400 400 400
P1 52,000 57,264 53,401 54,153
P2 96,320 99,192 96,343 96,956
P3 138,400 147,651 145,231 146,072
P4 200,000 200,000 200,000 200,000
P5 193,280 175,893 185,025 182,819
FOB2 254,222164 254,171851 254,056212 254,057448
optim 319,4746 111,8526 247,0544 112,5498
Tabelul 5.4.2 (continuare)
Iteraţia 5 6 7 8
P1 53,632 53,598 53,631 53,626
P2 96,399 96,464 96,499 96,509
P3 145,959 145,795 145,802 145,775
P4 200,000 200,000 200,000 200,000
P5 184,010 184,143 184,068 184,090
FOB 254,054805 254,054739 254,054728 254,054727
 0,568020 0,568287 0,568136 0,568180
g1 1,4062  10-4 –2,9883  10-4 1,9798  10-5 –4,8276  10-5
g2 –2,6531  10-4 –3,0916  10-4 –4,0398  10-5 –5,0228  10-5
g3 6,4667  10-4 –6,0180  10-5 1,0922  10-4 –9,8233  10-6
g4 –6,8020  10-2 –6,8287  10-2 –6,8136  10-2 –6,8180  10-2
d1 –1,4062  10-4 2,9883  10-4 –1,9798  10-5 –
d2 2,6531  10-4 3,0916  10-4 4,0398  10-5 –
d3 –6,4667  10-4 6,0180  10-5 –1,0922  10-4 –
d4 6,8020  10-2 6,8287  10-2 6,8136  10-2 –
1 200 200 200 –
P1 53,604 53,657 53,627 –
P2 96,452 96,526 96,507 –
P3 145,826 145,807 145,780 –
P4 200,000 200,000 200,000 –
P5 184,118 184,010 184,086 –
FOB1 254,054741 254,054735 254,054727 –
2 400 400 400 –
P1 53,576 53,717 53,623 –
P2 96,505 96,588 96,515 –
P3 145,693 145,819 145,758 –
P4 200,000 200,000 200,000 –
P5 184,226 183,876 184,104 –
FOB2 254,054764 254,054798 254,054727 –
optim 246,4606 112,5704 246,4378 –
Analiza evoluţiei calculelor şi a rezultatelor obţinute evidenţiază următoarele concluzii:
 soluţia a rezultat după 7 iteraţii, fiind foarte apropiată de cea "exactă", determinată în
subparagraful 5.4.5.2 cu metoda multiplicatorilor lui Lagrange;
 se observă o convergenţă relativ lentă în apropierea soluţiei (iteraţiile 3-7), remarcându-se o
mişcare în zig-zag către soluţie, aşa cum s-a remarcat în subparagraful 5.2.3.2, datorită
ortogonalităţii direcţiilor de deplasare la doi paşi succesivi (analiza evoluţiei valorilor
componentelor gradientului şi ale direcţiei este relevantă în acest sens, cât şi evoluţia
valorilor optime ale scalarului  : 112, 247, 113, 246, 113, 246);
 câştigul real privind valoarea FOB se obţine la primele 3 iteraţii, îmbunătăţirea valorilor
la următoarele iteraţii fiind nesemnificativă;
 evoluţia soluţiei şi a valorilor FOB evidenţiază un optim puţin pronunţat, FOB fiind
destul de "plată" (există o "zonă" de optim, în care valorile FOB diferă nesemnificativ;
 valorile optime ale scalarului  indică o alegere corectă a pasului de căutare h (= 200);
 analiza rezultatelor evidenţiază ordinul de mărime pentru  (multiplicatorul Lagrange) şi
pentru valoarea optimă a scalarului  .
5.4.5.5. Soluţionarea aplicaţiei cu metoda gradienţilor conjugaţi,
 calculat prin interpolare pătratică,  = 0,0001
Se soluţionează problema propusă cu metoda gradienţilor conjugaţi, pentru care
–4
scalarul  se calculează prin interpolare pătratică, eroarea maximă admisă fiind  = 10 .
Valoarea lui  este uşor exagerată, aleasă astfel pentru o comparaţie concludentă între evoluţia
metodei gradientului clasic (subparagraful 5.4.5.3) şi cea a gradienţilor conjugaţi.
Enunţul problemei este cel prezentat la începutul paragrafului 5.4.4, modelul
matematic şi soluţia iniţială fiind cele din subrapagraful 5.4.5.2.
Calculele au fost efectuate cu programul GRADIENT_P [K1], rezultatele în detaliu
pentru fiecare iteraţie fiind prezentate în tabelul 5.4.3. Pentru pasul de căutare s-a adoptat
valoarea h = 200 (identică cu cea de la prima iteraţie din subparagraful 5.4.5.2).
Analiza evoluţiei calculelor şi a rezultatelor obţinute evidenţiază următoarele concluzii:
 soluţia a rezultat după 4 iteraţii, fiind identică cea "exactă", determinată în subparagraful
5.4.5.2 cu metoda multiplicatorilor lui Lagrange (ceea ce indică clar avantajele acestei
metode faţă de cea a gradientului simplu, chiar în condiţiile în care primele 2 iteraţii sunt
absolut identice, datorită valorii nule a scalarului  (în mod normal la prima iteraţie,
pentru că nu există "experienţă anterioară" în ceea ce priveşte direcţia de deplasare,
respectiv datorită limitării superioare a valorii lui P4 la a doua iteraţie – situaţie în care se
preferă un pas de gradient simplu);
 se observă o convergenţă extrem de puternică în apropierea soluţiei (iteraţiile 3-4), ceea ce
reliefează cu claritate avantajele acestei metode faţă de cea a gradientului simplu;
 evoluţia componentelor direcţiei de deplasare şi a valorilor optime ale scalarului  la
ultimele două iteraţii arată clar eliminarea "ciclării" în jurul soluţiei.
Tabelul 5.4.3
Iteraţia 1 2 3 4 5
P1 52,000 52,000 53,472 53,685 53,632
P2 88,000 94,645 95,916 96,456 96,517
P3 180,000 146,775 147,020 145,760 145,771
P4 180,000 200,000 200,000 200,000 200,000
P5 180,000 186,580 183,592 184,099 184,080
FOB 257,524800 254,075006 254,057825 254,054740 254,054726
 0,560000 0,573161 0,567183 0,568198 0,568159
g1 0,000000 –1,3161  10-2 1,7694  10-4 2,2587  10-4 2,097  10-9
g2 –2,8000  10-2 –1,1367  10-2 –1,0670  10-3 –2,4835  10-4 –2,179  10-9
g3 1,0400  10-1 –2,1920  10-3 4,4720  10-3 –6,8194  10-5 –5,357  10-10
g4 –9,2000  10-2 –7,3161  10-2 –6,7183  10-2 –6,8198  10-2 –6,816  10-2
 0,000000 0,000000 0.068906 0,005543 –
d1 0,000000 1,3161  10-2 7,2991  10-4 –2,2182  10-4 –
d2 2,8000  10-2 1,1367  10-2 1,8500  10-3 2,5861  10-4 –
d3 –1,0400  10-1 2,1920  10-3 –4,3210  10-3 4,4242  10-5 –
d4 9,2000  10-2 7,3161  10-2 7,2225  10-2 6,8598  10-2 –
1 200 200 200 200 –
P1 52,000 54,632 53,618 53,640 –
P2 92,160 96,919 96,287 96,508 –
P3 159,200 147,213 146,155 145,769 –
P4 198,400 200,000 200,000 200,000 –
P5 178,240 181,236 183,940 184,083 –
FOB1 254,491333 254,068495 254,055044 254,054727 –
2 400 400 400 400 –
P1 52,000 57,264 53,764 53,596 –
P2 96,320 99,192 96,657 96,559 –
P3 138,400 147,651 145,291 145,778 –
P4 200,000 200,000 200,000 200,000 –
P5 193,280 175,893 184,288 184,067 –
FOB2 254,222164 254,171851 254,055169 254,054733 –
optim 319,4746 111,8526 291,4052 238,4936 –
5.5. Optimizare neliniară cu restricţii
5.5.1. Consideraţii preliminare
Se reia forma generală a PPN, prezentată în subcapitolul 5.2: se consideră un set de n
variabile independente x1, x2, ..., xn , pentru care se caută acele valori care conduc la
extremul dorit al funcţiei obiectiv (FOB) neliniare F(x1,x2, ,xn ) , cu respectarea unor
relaţii de restricţie (RR) neliniare definite de funcţiile neliniare gj (x1,x2, ,xn ) :

F(x1,x2, ,xn )  Extrem (Minim sau Maxim) (5.5.1)

 
gj (x1,x2 , ,xn )   0 , j  1,2,...,m (5.5.2)
 
Utilizând notaţia

x  [x1, x2, ..., xn ] t (5.5.3)

problema devine:
F(x)  Extrem (Minim sau Maxim) (5.5.4)

 
g j ( x )   0 , j  1,2,...,m (5.5.5)
 
Se consideră cazul cel mai simplu, corespunzător lui n = 2, în privinţa minimului
fiind posibile următoarele situaţiile din figura 5.4.1 (considerând doar RR de tip inegalitate).

a) b)
Minimul localizat în P este în interiorul Minimul localizat în P este în exteriorul
domeniului admisibil delimitat de RR domeniului admisibil delimitat de RR
RR de inegalitate sunt “inactive” Soluţia PPN este în P’, unde RR de inegalitate g2
Soluţia problemei este în P este “activă” (satisfăcută la limită), iar celelalte
RR sunt “inactive”
Condiţiile de minim sunt satisfăcute: Condiţiile de minim nu sunt satisfăcute:
 F /  xi  0, i  1,n şi H este pozitiv definită F(x)  0 ; g2 (x)  0
Figura 5.5.1. Figură explicativă privind poziţia minimului
Se reaminteşte că există două categorii mari de metode de soluţionare:
a) metode "directe" – soluţionează PPN cu considerarea distinctă, explicită, a RR;
b) metode "indirecte" – transformă PPN cu restricţii într-o problemă de optimizare neliniară
fără restricţii şi o rezolvă pe aceasta din urmă.
În domeniul ingineriei energetice metodele indirecte au ponderea cea mai mare.
Înainte de a le prezenta, se reamintesc noţiunile legate de convexitate şi condiţiile Kuhn-Tucker
(generalizarea metodei multiplicatorilor Lagrange).
5.5.2. Generalizarea metodei multiplicatorilor Lagrange
Se reamintesc noţiunile de funcţii şi domenii convexe:
 un domeniu S este convex în n dacă pentru oricare două puncte ale domeniului, fie ele
x1 şi x2, segmentul de dreaptă care le uneşte aparţine în întregime domeniului S:
x S , x    x1  (1 )  x2 , x1, x2  S , 0   1 (5.5.6)
 o funcţie F(x) este convexă în dacă pentru oricare două puncte x1 şi x2 ale domeniului de
definiţie S convex, şi orice valoare  , 0    1, este satisfăcută inegalitatea:
F(  x1  (1 )  x2 )  F(x1)  (1  )  F(x2 ) (5.5.7)
Funcţiile convexe nu au minime locale; ele au un singur minim în domeniul S,
care este minimul global.
Dacă funcţia F( x ) este convexă şi funcţiile g j ( x ) sunt convexe (RR neliniare definesc
un domeniu admisibil convex), atunci avem de-a face cu o problemă de programare convexă
(se adaugă de obicei condiţia de nenegativitate a variabilelor x  0 ). Majoritatea aplicaţiilor
din domeniul ingineriei energetice conduc la asemenea PPN.
Se reaminteşte metoda clasică a multiplicatorilor Lagrange, aplicabilă pentru cazul
problemelor de optimizare neliniară cu RR de egalitate:
F(x)  Minim (5.5.8); gj (x)  0 , j  1,2,...,m (5.5.9)
unde funcţia F( x ) şi funcţiile g j ( x ) sunt continue şi derivabile în domeniul de interes.
Se defineşte funcţia auxiliară :
m
( x, λ )  F( x )    j  g j ( x ) (5.5.10)
j1
unde λ este vectorul coloană al multiplicatorilor Lagrange.
λ  [1, 2 , ..., n ] t (5.5.11)
Condiţiile necesare şi suficiente de minim sunt definite de relaţiile:
  F m  gj
   j   0 , i  1,2,...,n
  xi  xi j1  xi
 (5.5.12)
  g  0 , j  1,2,...,m
  j
 j
care formează un sistem de (n + m) ecuaţii cu (n + m) necunoscute ( xi , i  1,2,...,n,
 j , j  1,2,...,m ). Acest sistem este în general neliniar, cu dificultăţile inerente legate de
soluţionarea numerică. Dacă F( x ) şi g j ( x ) se cunosc prin puncte, atunci nici nu se poate pune
problema soluţionării sistemului (caz frecvent în aplicaţiile din domeniul ingineriei energetice).
Generalizarea metodei multiplicatorilor Lagrange de referă la considerarea şi a RR de
inegalitate. Fără a altera gradul de generalitate a prezentării, se vor considera numai RR de
inegalitate de tip  (cele de tip  se pot transforma ca la în RR de tip  prin înmulţire cu –1, iar
tratarea celor de egalitate a fost lămurită anterior):
F(x)  Minim (5.5.13)
gj ( x )  0 , j  1,2,...,m (5.5.14)

RR de inegalitate se pot transforma în RR de egalitate prin introducerea variabilelor


ecart w j (sub formă de w 2j pentru a marca nenegativitatea lor):

gj (x)  w 2j  0 , j  1,2,...,m (5.5.15)

Pentru aplicarea metodei multiplicatorilor Lagrange se defineşte funcţia auxiliară :


m
( x, λ w )  F( x )    j  [g j ( x )  w 2j ] (5.5.16)
j1

unde w este vectorul coloană al variabilelor ecart:


w  [w1, w 2 , ..., wm ] t (5.5.17)
Condiţiile necesare şi suficiente de minim sunt de forma:
  F m  gj
   j   0, j  1,2,...,n
  xi  xi j1  xi


  g j  w 2j  0 , j  1,2,...,m (5.5.18)
 j 
 
  2  j  w j  0 , j  1,2,...,m
  w j
care formează un sistem de (n + 2 m) ecuaţii cu (n + 2 m) necunoscute ( xi , i  1,2,...,n,
 j , j  1,2,...,m , w j , j  1,2,...,m ), cu problemele de soluţionare menţionate la versiunea
clasică a metodei multiplicatorilor Lagrange.
Se renunţă la variabilele ecart pe baza următorului raţionament:
 g j  0  w j  0   j  0 (poate fi nenul) (5.5.19)
 g j  ( ) 0  w j  0   j  0 (5.5.20)
Omiţând pe w j rezultă
 j  gj  0 (5.5.21)

ceea ce face ca sistemul anterior să devină:


 F m  gj
  j   0 , i  1,2,...,n
  xi j1  xi
g  0 , j  1,2,...,m (5.5.22)
 j

 j  g j  0 , j  1,2,...,m

la care Kuhn şi Tucker au adăugat:


 j  0, j  1,2,...,m (5.5.23)

Relaţiile anterioare reprezintă condiţiile necesare şi suficiente de minim (global)


pentru funcţii convexe – condiţiile Kuhn-Tucker.
Se observă, în concluzie, că de fapt metoda multiplicatorilor Lagrange rezolvă în
totalitate problema RR de egalitate, dar mai rămâne deschisă problema RR de inegalitate.
5.5.3. Metoda funcţiilor de penalizare
5.5.3.1. Prezentarea generală a metodelor
S-a arătat în paragraful precedent că problema RR de egalitate se poate soluţiona prin
intermediul metodei multiplicatorilor lui Lagrange. Pentru tratarea RR de inegalitate se
utilizează metoda funcţiilor de penalizare.
Metodele care utilizează funcţii de penalizare fac parte din categoria metodelor indirecte,
care transformă PPN cu restricţii într-una fără restricţii şi o soluţionează pe aceasta (cu metodele
prezentate în subcapitolul 5.3). De fapt, se soluţionează o secvenţă de PPN fără restricţii, care,
în cazul asigurării convergenţei, conduc la soluţia PPN originale cu restricţii.
Fără a altera gradul de generalitate a prezentării, se consideră o PPN cu RR de
inegalitate de tip  (cele de tip  se pot transforma în RR de tip  prin înmulţire cu –1, iar
tratarea celor de egalitate a fost lămurită anterior):
F(x)  Minim (5.5.24)
gj ( x )  0 , j  1,2,...,m (5.5.25)
Se defineşte funcţia auxiliară  (care, la fel ca înainte, înglobează atât FOB, cât şi RR,
transformând problema de programare neliniară cu restricţii într-una fără restricţii):
m
( x )  F( x )   p j  f(g j ( x )) (5.5.26)
j1

unde p j , j  2,1,...,m sunt coeficienţi de ponderare, iar funcţia f este o funcţie de penalizare
(penalizează eventuala încălcare a RR, ceea ce se resimte în valoarea lui ).
Cea mai “dură” penalizare se poate considera de forma:
0 dacă g j ( x )  0

f(g j )   (5.5.27)
 dacă g j ( x )  0

conducând însă la dificultăţi mari de convergenţă datorită infinitului.
O funcţie de penalizare mai puţin rigidă (mai realistă, mai elastică) este de forma:

0 dacă g j ( x )  0

f(g j )   2 (5.5.28)
g j dacă g j ( x )  0

ceea ce înseamnă că se permit încălcări ale RR, dar acestea sunt penalizate în valoarea lui 
(în sensul creşterii valorii sale, dacă extremul urmărit este de tip minim).
Alegerea formei particulare a funcţiilor de penalizare este elementul care diferenţiază
diversele metode concrete utilizând asemenea funcţii..
La modul general, funcţiile de penalizare pot fi de mai multe tipuri, existând o mare
varietate de forme particulare:

 funcţii interioare, la care f   când g j  0 (tinde către 0 cu valori negative), ceea
ce înseamnă că soluţia este întotdeauna în interiorul domeniului admisibil;
+
 funcţii exterioare, la care f  0 când g j  0 (tinde către 0 cu valori pozitive), ceea
ce înseamnă că soluţia este întotdeauna în exteriorul domeniului admisibil;
 funcţii mixte, la care f > 0 pentru g j > 0, respectiv f = 0 pentru g j  0, ceea ce înseamnă
că soluţia se poate afla atât în interiorul, cât şi în exteriorul domeniului admisibil.
De regulă se introduc diferite grade de penalizare, funcţia auxiliară având forma:
m
( x )  F( x )  r   p j  f(g j ( x )) (5.5.29)
j1
unde r este coeficientul de penalizare (în funcţie de valoarea sa, penalizează într-o măsură
mai mare sau mai mică eventuala încălcare a RR).
În aceste condiţii minimizarea lui  se face în mai multe trepte (etape, cicluri
succesive de optimizare), corespunzătoare unor valori din ce în ce mai mari ale coeficientului
de penalizare r. Pe măsură ce valoarea lui r creşte, şirul de soluţii converge către soluţia PPN
cu restricţii.
În concluzie, dacă se consideră forma cea mai generală a PPN, atât cu RR de
egalitate, cât şi cu RR de inegalitate:
F(x)  Minim (5.5.30)
gj ( x )  0 , j  1,2,..., l (5.5.31)
gj ( x )  0 , j  l  1,l  2,...,m (5.5.32)
funcţia auxiliară  se construieşte aplicând metoda multiplicatorilor lui Lagrange pentru RR
de egalitate şi metoda funcţiilor de penalizare pentru RR de inegalitate:
l m
( x )  F( x )    j  g j ( x )  r   p j  f(g j ( x )) (5.5.33)
j1 j l 1
apoi se aplică metodele de soluţionare a problemelor de optimizare neliniară fără restricţii,
prezentate în subcapitolul 5.3.
5.5.3.2. Algoritmul Caroll
Algoritmul CEST (Created Response Surface Technique), elaborat de Caroll, este una
dintre primele metode utilizând funcţii de penalizare. Ea presupunerea unor cicluri succesive
de optimizare, până la obţinerea soluţiei optime.
Considerând problema definită de relaţiile (5.5.24) şi (5.5.25),
F(x)  Minim (5.5.24)
gj ( x )  0 , j  1,2,...,m (5.5.25)

funcţia auxiliară  este definită în maniera:


m 1
( x )  F( x )  r  p j  g j ( x ) (5.5.34)
j1

unde p j sunt coeficienţi de ponderare, funcţia de penalizare f(gj ( x )) are expresia:


1
f(gj ( x ))  g j ( x) (5.5.35)

iar r este un parametru scalar (coeficient de penalizare), redus succesiv de la un ciclu de


optimizare a funcţiei ( x ) la altul (optimizarea fiind realizată cu una dintre metodele
prezentate în subcapitolul 5.3).
În aceste circumstanţe, principalele etape de aplicare a algoritmului Caroll sunt
următoarele:
a) se defineşte funcţia ( x ) , se iniţializează x (într-un punct din interiorul domeniului
admisibil al soluţiilor – cu alte cuvinte sunt satisfăcute toate RR) şi coeficientul de
penalizare r;
b) se soluţionează problema de optimizare neliniară fără restricţii definită de funcţia ( x ) ,
rezultând soluţia corespunzătoare valorii curente a coeficientului de penalizare r;
c) se verifică condiţia de terminare a calculelor: dacă nu este satisfăcută, se reduce valoarea lui r
(de exemplu rk  rk 1 / c , unde c este un factor supraunitar de reducere a valorii lui r),
se reiniţializează soluţia cu cea determinată la punctul b) şi se sare la punctul b); dacă este
satisfăcută, calculul este terminat, ultima soluţie obţinută fiind soluţia problemei iniţiale;
d) condiţia de terminare a calculelor: micşorarea lui r nu mai are un efect semnificativ asupra
soluţiei (la două cicluri de optimizare succesive soluţia nu se mai modifică semnificativ).
Succesul aplicării metodei depinde în principal de modul de iniţializare a lui r şi de
manierea în care se face reducerea valorii sale de la un ciclu de optimizare la altul. Lucrările
de specialitate oferă o serie de recomandări practice, fără ca ele să fie de valabilitate generală.
5.5.3.2. Algoritmul Fiacco-McCormick
Algoritmul Fiacco-McCormick (SUMT – Sequential Unconstrained Minimisation
Technique) reprezintă, în esenţă, o versiune perfecţionată a metodei Caroll.
Se evidenţiază câteva elemente noi aduse faţă de algoritmul Caroll:
a) se poate aplica un procedeu de accelerare a convergenţei la reiniţializarea soluţiei de
la pasul c), printr-o extrapolare liniară (gradul 1) sau parabolică (gradul 2):
c1/ 2  xk  xk 1
xkacc  (5.5.36)
c1/ 2  1
c3 / 2  xk  (c  c1/ 2 )  xk 1  xk 2
xkacc  (5.5.37)
(c  1)  (c1/ 2  1)
b) relaţii de calcul pe baza experienţei pentru iniţializarea lui r;
c) măsuri de precauţie pentru situaţiile de părăsire a domeniului fezabil al soluţiilor.
Se menţionează că ambele algoritme se pot utiliza şi pentru o funcţie de penalizare de
tip exterior, cu observaţia că atunci valoarea coeficientului de penalizare trebuie mărită la
trecerea la un nou ciclu de utilizare (nu redusă, ca la cazul funcţiilor de tip interior).
În acest context, la soluţionarea aplicaţiilor de specialitate din domeniul ingineriei
energetice se utilizează frecvent funcţii de penalizare de tipul celor din relaţia (5.5.28). Pentru
aceste funcţii de penalizare funcţia auxiliară ( x ) este de forma:
m 2
( x )  F( x )  r  p j  g j ( x ) (5.5.38)
j1
5.5.4. Metoda direcţiilor admisibile (Zoutendijk)
.........................................................................

5.5.5. Metoda gradientului proiectat (Rosen)


.........................................................................
5.6. Aplicaţie: optimizarea funcţionării momentane a SEE
5.6.1. Finalizarea modelului matematic complet
Se consideră problema de optimizare definită în paragraful 5.1.1. Pentru soluţionarea
acestei probleme de programare neliniară cu restricţii se utilizează metoda funcţiilor de penalizare
şi cea a multiplicatorilor Lagrange generalizată, prezentate în paragrafele 5.5.2 şi 5.5.3, în
conjuncţie cu metodele de gradient, discutate în paragraful 5.3.3.
Se construieşte funcţia auxiliară  de forma definită de relaţiile (5.5.33) şi (5.5.38):
l m
( x )  F( x )    j  g j ( x )  r   p j  f(g j ( x )) (5.5.33)
j1 j l 1
m 2
( x )  F( x )  r  p j  g j ( x ) (5.5.38)
j1

  (ai  Pgi2  bi  Pgi  ci ) 


iG
  pi  (Pi  Pgi  Pc i )    qi  (Qi  Qc i ) 
iN\e iC
* 2
 rp e  (Pge  Pge )  rq   pqi (Qgi  Qgi* )2  ru  pui (Ui  Ui* )2  (5.6.1)
iG iC
 rp   ppij  (Pij  Pij* )2  rs   psij  (Sij  Sij* )2
ijR ijR
unde: pi , i  N \ e; qi , i  C – multiplicatori Lagrange;
rpe , rq , ru , rp , rs – coeficienţi de penalizare;
pqi , i  G; pui , i  C; ppij , ij  R; psij , ij  R – coeficienţi de ponderare;
* *
mărimile Pge ; Qgi , i  G; Ui* , i  C; Pij* , ij  R; Sij* , ij  R se determină cu relaţiile:

Pge min
dacă Pge max
 Pge  Pge

*  min min
Pge  Pge dacă Pge  Pge (5.6.2)
 max max
Pge dacă Pge  Pge

Qgi dacă Qmin max
gi  Qgi  Qgi


Q*gi  Qmin
gi dacă Qgi  Qmin
gi , iG (5.6.3)
 max max
Qgi dacă Qgi  Qgi

Ui dacă Uimin  Ui  Umax
i


Ui*  Umin
i dacă U i  Umin
i , iC (5.6.4)
 max
U dacă Ui  Umax
 i i
Pij dacă Pijmin  Pij  Pijmax


Pij*  Pijmin dacă Pij  Pijmin , ij  R (5.6.5)
 max
Pij dacă Pij  Pijmax

Sij dacă Sijmin  Sij  Sijmax


Sij*  Sijmin dacă Sij  Sijmin , ij  R (5.6.6)
 max
Sij dacă Sij  Sijmax

Analiza relaţiilor 5.6.1 - 5.6.6 evidenţiază următoarele observaţii:
 funcţia  are următoarele componente: FOB, termenii corespunzători multiplicatorilor
Lagrange pi , i  N \ e; qi , i  C ) şi cei aferenţi coeficienţilor de penalizare rpe , rq , ru , rp , rs ;
 termenii cu multiplicatori Lagrange corespund variabilelor de stare (5.2.2) şi RR de
egalitate (5.2.7) aferente, mai puţin cele pentru Pge şi Qgi , i  G , mărimi care la calculul
circulaţiei de puteri rezultă direct din relaţiile de forma (5.2.7);
 termenii de penalizare corespund RR de inegalitate (5.2.9) - (5.2.15), referitoare la
variabilele de stare;
 eventuala limitare a valorii variabilelor de optimizare se realizează direct, la recalcularea
valorii lor pentru fiecare iteraţie, în maniera utilizată în paragraful 5.4.4.
Pe parcursul minimizării funcţiei auxiliare , aplicând metode de gradient (paragraful  derivatele în raport cu variabilele de optimizare [K10]:
5.3.3), se vor utiliza derivatele lui  în raport cu variabilele de optimizare (la calculul  derivatele în raport cu tensiunile la bornele generatoarelor, Uk , k  G :
direcţiei de deplasare) şi cele în raport cu variabilele de stare (la calculul multiplicatorilor
  P   P 
Lagrange): Uk   (2  ak  Pgk  bk )  Uk  k    (2  ai  Pgi  bi )  Uk  i  
Uk  Uk  iG\k  Uk 
 P   P    Qi 
  pk  Uk  k     pi  Uk  i      qi  Uk  
 Uk  iN\e,k  Uk  iC  Uk 
  (ai  Pgi2  bi  Pgi  c i )  P , k G
iG *
 2  rp e  (Pge  Pge )  Uk  e 
Uk
  pi  (Pi  Pgi  Pc i )    qi  (Qi  Qc i ) 

iN\e iC (5.6.1)  Qk  Qi 
*
 2  rq  pqk  (Qgk  Qgk ) Uk   2  rq   pqi  (Qgi  Qgi
*
) Uk  
Uk Uk 
* 2
 rp e  (Pge  Pge )  rq   pqi  (Qgi  Qgi
* 2
)  ru  pui  (Ui  Ui* )2  iG\k 
ik ik
iG iC sau sau
jk  Pij  jk   Sij 
 rp   ppij  (Pij  Pij* )2  rs   psij  (Sij  Sij* )2  2  rp   ppij  (Pij  Pij* ) Uk    2  rs   psij  (Sij  Sij ) Uk 
*

ijR ijR ijR  Uk  ijR  Uk 
unde se observă următoarele: s-au evidenţiat separat termenii "diagonali" (i = k) şi cei
"nediagonali" (i  k) unde era cazul, toate derivatele penalizărilor aferente variabilelor
Ui , i  C sunt nule, pentru derivatele penalizărilor aferente variabilelor Pij ,Qij , ij  R ,
Sij , ij  R s-au grupat separat elementele pentru care i = k, respectiv j = k, şi s-a ţinut
cont de faptul că Pgi  Pi  Pci şi Qgi  Qi  Qci (unde Pci şi Qci sunt constante).
 derivatele în raport cu puterile active generate, Pgk , k  G \ e :

 2  ak  Pgk  bk  pk , k  G \ e (5.6.8)
Pgk

  (ai  Pgi2  bi  Pgi  c i ) 


iG
  pi  (Pi  Pgi  Pc i )    qi  (Qi  Qc i ) 
(5.6.1)
iN\e iC
* 2
 rp e  (Pge  Pge )  rq   pqi  (Qgi  Qgi
* 2
)  ru  pui  (Ui  Ui* )2 
iG iC
 rp   ppij  (Pij  Pij* )2  rs   psij  (Sij  Sij* )2
ijR ijR
 derivatele în funcţie de rapoartele de transformare (modulele lor) ale transformatoarelor şi
autotransformatoarelor cu reglaj longitudinal (cu reglaj longo-transversal), K xy , xy  T :

i x i x i x
sau sau sau
i y 
 Pi  i y  Pi  i y   Qi 
  2
(ai  Pgi  bi  Pgi  c i )    (2  ai  Pgi  bi ) 
K xy iG 
    pi 

K xy  iN\e  K xy
     qi 
 

K xy 
iG  iC 
  pi  (Pi  Pgi  Pc i )    qi  (Qi  Qc i ) 
(5.6.1)
i x
sau
iN\e iC Pe i y 
 Qi 
*
 2  rp e  (Pge  Pge )  2  rq   pqi  (Qgi  Qgi
*
)  , xy  T
* 2
 rp e  (Pge  Pge )  rq   pqi  (Qgi  Qgi
* 2
)  ru  pui  (Ui  Ui* )2  K xy iG  K xy 
iG iC i x i x
 
 rp  ppij  (Pij  Pij* )2  rs  psij  (Sij  Sij* )2 sau / şi
j y  Pij 
sau / şi
j y   Sij 
ijR ijR  2  rp   *
ppij  (Pij  Pij )    2  rs 
K xy 
 *
psij  (Sij  Sij )  
K xy 
ijR  ijR 
(5.6.9)
 derivatele în funcţie de fazele rapoartelor de transformare ale autotransformatoarelor
cu reglaj longo-transversal, xy , xy  T (evident nule la cele care au numai reglaj
longitudinal):
i x i x i x
  (ai  Pgi2  bi  Pgi  c i )  
sau
i y 
Pi  i y  Pi
sau sau
 i y   Qi 
iG   (2  ai  Pgi  bi )      pi       qi  
 xy iG  
 xy  iN\e   xy    xy 
  pi  (Pi  Pgi  Pc i )    qi  (Qi  Qc i ) 
(5.6.1)
 iC  
iN\e iC i x
sau
* 2
 rp e  (Pge  Pge )  rq   * 2
pqi  (Qgi  Qgi 
)  ru  pui  (Ui  Ui* )2  *
 2  rp e  (Pge  Pge )
 Pe i y 
 2  rq   pqi  (Qgi  Qgi
*
)
 Qi 
 , xy  T
iG iC   xy  xy 
iG 
 * 2
 * 2
 rp  ppij  (Pij  Pij )  rs  psij  (Sij  Sij ) i x
sau / şi
i x
sau / şi
ijR ijR j y  Pij  j y   Sij 
 2  rp   *
ppij  (Pij  Pij )    2  rs 
 xy 
 *
psij  (Sij  Sij )  
 xy 
ijR  ijR 
(5.6.10)
 derivatele în raport cu variabilele de stare semnificative [K10]:
 derivatele în raport cu fazele tensiunile nodurilor, k , k  N \ e (unde toate derivatele
penalizărilor aferente variabilelor Ui , i  C sunt nule):

  P   P 
 (2  ak  Pgk  bk )  k    (2  ai  Pgi  bi )  i  
  (ai  Pgi2  bi  Pgi  c i )  k  k  iG\k  k 
iG
 P   P    Qk    Qi 
  pi  (Pi  Pgi  Pc i )    qi  (Qi  Qc i )    pk  k     pi  i     qk 
  
    qi 


iN\e iC (5.6.1)  k  iN\e,k  k   k  iC\k  k 
* 2
 rp e  (Pge  Pge )  rq   pqi  (Qgi  Qgi
* 2
)  ru  pui  (Ui  Ui* )2  * P
 2  rp e  (Pge  Pge ) e  , k N \ e
iG iC k

 * 2
 * 2
 rp  ppij  (Pij  Pij )  rs  psij  (Sij  Sij ) *
 2  rq  pqk  (Qgk  Qgk )
 Qk  *  Qi 
 2  rq   pqi  (Qgi  Qgi ) 
ijR ijR  k iG\k  k 
ik ik
sau sau
jk  Pij  jk   Sij 
 2  rp   ppij  (Pij  Pij* )    2  rs   psij  (Sij  Sij ) 
*

ijR  k  ijR  k 
(5.6.11)
 derivatele în raport cu tensiunile nodurilor consumatoare, Uk , k  C :

  P   P   Pi 
Uk    (2  ai Pgi  bi ) Uk  i    pk Uk  k     pi Uk  
Uk iG  Uk   Uk  iN\e,k  Uk 
  (ai  Pgi2  bi  Pgi  c i )   Q   Q 
   qk  Uk  k      qi  Uk  i   2  rp e  (Pge  Pge * P
)  Uk  e  , k C
iG  Uk  iC\k  Uk  Uk
  pi  (Pi  Pgi  Pc i )    qi  (Qi  Qc i )    Qi 
iN\e iC (5.6.1)  2  rq   pqi  (Qgi  Qgi
*
)  Uk  *
  2  ru  puk  (Uk  Uk )  Uk
iG   Uk 
* 2
 rp e  (Pge  Pge )  rq   pqi  (Qgi  Qgi
* 2
)  ru  pui  (Ui  Ui* )2  ik ik
iG iC sau sau
jk  Pij  jk   Sij 
 rp   ppij  (Pij  Pij* )2  rs   psij  (Sij  Sij* )2  2  rp   ppij  (Pij  Pij* ) Uk    2  rs  psij  (Sij  Sij ) Uk 
 *

ijR ijR ijR  Uk  ijR  Uk 
(5.6.12)
Ţinând cont de expresiile puterilor injectate în noduri (relaţia 5.1.8), derivatele lui
Pi şi Qi în raport cu modulele şi fazele tensiunilor au expresiile):
a) derivatele parţiale ale puterilor active în raport cu fazele tensiunilor:
 elementele "diagonale" (i = k):
Pi  Ui2  Gii   Ui  U j  Gij  cos(i   j )  Bij  sin(i   j ) , i  N Pk n
      Uk  Uj  Gkj  sin (k   j )  Bkj  cos (k   j ) , k N (5.6.13)
jN

 ji k j1
(5.1.8)
 j k
Qi  Ui  Bii   Ui  Uj  Gij  sin(i   j )  Bij  cos(i   j ) , i  N
2
 jN  elementele "nediagonale" (i  k):

 ji
Pi
 Ui Uk  Gik  sin (i  k )  Bkj  cos (i  k ) , i  N, k  N, i  k (5.6.14)
k
b) derivatele parţiale ale puterilor active în raport cu modulele tensiunilor:
 elementele diagonale:

Pk n
Uk   2 U2k  Gkk   Uk Uj  Gkj  cos (k   j )  Bkj  sin (k   j ) , k  N (5.6.15)
Uk j1
j k

 elementele nediagonale:
Pi
Uk   Ui Uk  Gik  cos (i  k )  Bik  sin (i  k ) , i  N, k  N, i  k (5.6.16)
Uk
c) derivatele parţiale ale puterilor reactive în raport cu fazele tensiunilor:
 elementele diagonale:

 Qk n

k
  Uk  Uj  Gkj  cos (k   j )  Bkj  sin (k   j ) , k N (5.6.17)
Pi  Ui2 j1
 Gii   Ui  Uj  Gij  cos(i   j )  Bij  sin(i   j ) , i  N j k
 jN

 ji (5.1.8)  elementele nediagonale:

Qi  Ui  Bii   Ui  Uj  Gij  sin(i   j )  Bij  cos(i   j ) , i  N Qi
2
  Ui Uk Gik  cos (i  k )  Bik  sin (i  k ) , i  N , k  N , i  k (5.6.18)
 jN k

 ji
d) derivatele parţiale ale puterilor reactive în raport cu modulele tensiunilor:
 elementele diagonale:

Qk n
Uk    2 U2k Bkk   Uk Uj  Gkj  sin (k   j )  Bkj  cos (k   j ) , k  N (5.6.19)
Uk j1
j k

 elementele nediagonale:
 Qi
Uk   Ui Uk Gik  sin (i  k )  Bik  cos (i  k ) , i  N, k  N, i  k (5.6.20)
Uk
Ţinând cont de expresiile puterilor care circulă prin elementele de reţea (relaţia (5.1.16)),
derivatele lui Pij şi Qij , respectiv Sij , în raport cu modulele şi fazele tensiunilor sunt de forma:
 derivatele parţiale în raport cu fazele tensiunilor:
Pij
P  U2  (G G  G  sin( i  j)   Ui  Uj  G ij  sin (i   j )  B ij  cos (i   j ) , ij  R
i0 ) Ui U j  cos( i  j) B (5.6.21)
 ij i ij  ij ij  i  
 (5.1.16)
Qij  Ui2  (B B  G  cos( i  j)  Pij
 ij i0 ) Ui U j  ij  sin( i  j) B ij   Ui  Uj  G ij  sin (i   j )  B ij  cos (i   j ) , ij  R (5.6.22)
 j  

Qij
 Ui  Uj  G  cos (i   j )  B  sin (i   j ) , ij  R (5.6.23)
i  ij ij 
 Qij
 Ui  Uj  G ij  cos (i   j )  B ij  sin (i   j ) , ij  R (5.6.24)
 j  

Pij  Qij
Pij   Qij 
 Sij i i
 , ij  R (5.6.25)
i Pij2  Qij2
Pij  Qij
Pij   Qij 
 Sij  j  j
 , ij  R (5.6.26)
 j Pij2  Qij2
 derivatele parţiale în raport cu modulele tensiunilor:
Pij
Ui   2 Ui2  (G ij  G i0 )  Ui Uj  G ij  cos (i   j )  B ij  sin (i   j ) , ij  R
U  
i
(5.6.27)
P  U2  (G G  G  sin( i  j) 
 ij i ij i0 ) Ui U j  ij  cos( i  j) B ij  Pij
 (5.1.16) Uj    Ui Uj  G ij  cos (i   j )  B ij  sin (i   j ) , ij  R (5.6.28)
 Uj  
Qij  Ui2  (B ij B i0 ) Ui U j  G ij  sin( i  j ) B  cos( i  j) 
 ij 
Qij
Ui    2 Ui2  (B   ij  R
ij  B i0 )  Ui Uj  G ij  sin (i   j )  B ij  cos (i   j ) ,
Ui
(5.6.29)
 Qij
Uj    Ui Uj  G ij  sin (i   j )  B ij  cos (i   j ) , ij  R (5.6.30)
Uj  

Pij  Qij
Pij  Ui   Qij  Ui 
 Sij Ui Ui
Ui   , ij  R (5.6.31)
Ui Pij2  Qij2
Pij  Qij
Pij  Uj   Qij  Uj 
 Sij U j U j
Uj   , ij  R (5.6.32)
U j Pij2  Qij2
Ţinând cont de maniera de reprezentare a transformatoarelor şi autotransformatoarelor,
în studiile de sistem [K10] şi de expresiile puterilor injectate în noduri (relaţia 5.1.8), derivatele
lui Pi şi Qi în raport cu modulele şi fazele rapoartelor de transformare sunt de forma (consi-
derând nodul i pe partea de înaltă tensiune, respectiv nodul j pe partea de joasă tensiune):
 derivatele parţiale în funcţie de rapoartele de transformare, pentru transformatoarele şi
autotransformatoarele cu reglaj longitudinal (raport de transformare real):

Pi G ij  Gt ij Ui Uj
  2 Ui2    G ij  cos (i   j )  B ij  sin (i   j ) , ij  T (5.6.33)
Kij Kij3 Kij2  

 Qi B ij  Bt ij Ui Uj
 2 Ui2    G ij  sin (i   j )  B ij  cos (i   j ) , ij  T (5.6.34)
Kij Kij3 Kij2  

Pj Ui Uj
  G 
ij  cos ( j  i )  B ij  sin ( j  i ) , ij  T (5.6.35)
Kij Kij2 

 Qi Ui Uj  
  G ij  sin ( j  i )  B ij  cos ( j  i ) , ij  T (5.6.36)
Kij Kij2 
 derivatele parţiale în raport cu modulele rapoartelor de transformare, pentru autotransfor-
matoarele cu reglaj longo-transversal (raport de transformare complex):
Pi G ij  Gt ij
 2 Ui2   , ij  T
Kij Kij3
Ui Uj
  (G ij  cos ij  B ij  sin ij )  cos (i   j )  (G ij  sin ij  B ij  cos ij )  sin (i   j )
Kij2  

(5.6.37)
 Qi B ij  Bt ij
 2 Ui2   , ij  T
Kij Kij3
Ui Uj
  (G ij  cos ij  B ij  sin ij )  sin (i   j )  (G ij  sin ij  B ij  cos ij )  cos (i   j )
Kij2  

ij  T (5.6.38)
Pj Ui Uj
  (G ij  cos ij  B ij  sin ij )  cos ( j  i )  (G ij  sin ij  B ij  cos ij )  sin ( j  i )
Kij Kij2  

ij  T (5.6.39)
Q j Ui Uj
  (G ij  cos ij  B ij  sin ij )  sin ( j  i )  (G ij  sin ij  B ij  cos ij )  cos ( j  i )
Kij Kij2  

ij  T (5.6.40)
 derivatele parţiale în raport cu fazele rapoartelor de transformare, pentru autotransfor-
matoarele cu reglaj longo-transversal (raport de transformare complex):
Pi Ui Uj 
  (G ij  sin ij  B ij  cos ij )  cos (i  j )  (G ij  cos ij  B ij  sin ij )  sin (i  j )
 ij K  ij

ij  T (5.6.41)
Qi Ui Uj
  (G ij  sin ij  B ij  cos ij )  sin (i  j )  (G ij  cos ij  B ij  sin ij )  cos (i  j )
ij Kij  
ij  T (5.6.42)
Pj Ui Uj
  (G ij  sin ij  B ij  cos ij )  cos ( j i )  (G ij  cos ij  B ij  sin ij )  sin ( j i )
ij Kij  
ij  T (5.6.43)
Q j Ui Uj
  (G ij  sin ij  B ij  cos ij )  sin ( j i )  (G ij  cos ij  B ij  sin ij )  cos ( j i )
ij Kij  
ij  T (5.6.44)
Ţinând cont de maniera de reprezentare a transformatoarelor şi autotransformatoarelor,
în studiile de sistem [K10] şi de expresiile puterilor care circulă prin elementele de reţea
(relaţia (5.1.16)), derivatele lui Pij şi Qij , respectiv Sij , în raport cu modulele şi fazele
rapoartelor de transformare sunt de forma (nodul i pe partea de înaltă tensiune, nodul j pe
partea de joasă tensiune):
 derivatele parţiale în funcţie de rapoartele de transformare, pentru transformatoarele şi
autotransformatoarele cu reglaj longitudinal (raport de transformare real), considerând:
Pij   G ij  G i0    G ij B ij 
 Ui2      Ui Uj    cos (i   j )   sin (i   j ) , ij  T
Kij  Kij Kij 
  Kij Kij 
(5.6.45)
 Qij  B ij B i0   G ij B ij 
  Ui2      Ui Uj    sin (i   j )   cos (i   j ) , ij  T
Kij  
 Kij Kij   Kij Kij 
(5.6.46)
Pij  Qij
Pij   Qij 
 Sij Kij Kij
 , ij  T (5.6.47)
Kij Pij2  Qij2
unde:
 G ij G ij B ij B ij
 (5.6.48) ;  (5.6.49)
Kij Kij2 Kij Kij2
 G i0 G ij  2  2
  1   G (5.6.50)
Kij Kij2  Kij  K 3 t ij
  ij

B i0 B ij  2  2
  1   B (5.6.51)
Kij Kij2  Kij  K 3 t ij
  ij

 G j0 G ij B j0 B ij
 (5.6.52) ;  (5.6.53)
Kij Kij2 Kij Kij2
 derivatele parţiale în raport cu modulele rapoartelor de transformare, pentru autotransfor-
matoarele cu reglaj longo-transversal (raport de transformare complex), considerând
nodul i pe partea de înaltă tensiune, respectiv nodul j pe partea de joasă tensiune:
Pij U2 Ui Uj
  i  (G ij  G i0 )   G ij  cos (i   j  ij )  B ij  sin (i   j  ij ) (5.6.54)
Kij 2
Kij Kij2  

 Qij Ui2 Ui Uj


  (B ij  B i0 )   G ij  sin (i   j  ij )  B ij  cos (i   j  ij ) (5.6.55)
Kij Kij2 Kij2  
Pij  Qij
Pij   Qij 
 Sij Kij Kij
 , ij  T (5.6.56)
Kij Pij2  Qij2

 derivatele parţiale în raport cu fazele rapoartelor de transformare, pentru autotransfor-


matoarele cu reglaj longo-transversal (raport de transformare complex), considerând
nodul i pe partea de înaltă tensiune, respectiv nodul j pe partea de joasă tensiune:
Pij Ui Uj
  G ij  sin (i   j  ij )  B ij  cos (i   j  ij ) (5.6.57)
ij Kij  

Qij Ui Uj
  G ij  cos (i   j  ij )  B ij  sin (i   j  ij ) (5.6.58)
ij Kij  

Pij  Qij
Pij   Qij 
 Sij ij ij
 , ij  T (5.6.59)
ij Pij2  Qij2
5.6.2. Soluţionarea modelului matematic complet
Modelul matematic complet prezentat în paragraful anterior reprezintă o problemă
de optimizare de tip programare neliniară de foarte mari dimensiuni. Ea se soluţionează cu
metodele specifice prezentate în acest capitol: metoda funcţiilor de penalizare (paragraful
5.5.2), asociată cu metoda multiplicatorilor Lagrange generalizată (paragraful 5.5.3), cu metoda
gradientului conjugat (subparagraful 5.3.3.3) şi cu metoda de interpolare parabolică pentru
determinarea valorii deplasării după direcţia curentă de căutare (subparagraful 5.3.2.2).
În aceste condiţii, algoritmul metodei de soluţionare este următorul (la toate mărimile
indicele superior se referă la ciclul de optimizare c, respectiv la iteraţia de optimizare o):
0
a) Se iniţializează variabilele de control cu valorile Ui0 , i  G , Pgi , i  G \ e , Kij0 , ij  T ,
ij0 , ij  T şi coeficienţii de ponderare pqi , i  G; pui , i  C; ppij , ij  R; psij , ij  R .
b) Pentru un anumit ciclu de optimizare, c = 1, 2, 3, ... (corespunzător unui set de valori ale
c c c c c
coeficienţilor de penalizare) se aleg valorile coeficienţilor de penalizare rpe , rq , ru , rp , rs .
c) La fiecare iteraţie de optimizare, o = 1, 2, 3, ... a unui anumit ciclu de optimizare c se
soluţionează în mod clasic circulaţia de puteri, pentru valorile curente Uio1 , i  G ,
o1
Pgi , i  G \ e , Kijo1 , ij  T , ijo1 , ij  T ale variabilelor de optimizare, fără a impune
limitări ale puterilor reactive generate ( Qgi , i  G sunt lăsate "libere"), rezultând valorile
variabilelor de stare: cele aferente nodurilor – io1 , i  N \ e , Pge
o 1 o1
, Ui , i  C , Qgi , i  G ,
respectiv circulaţiile de puteri prin elementele de reţea – Pijo1,Qijo1 , ij  R , Sijo1 , ij  R .
d) Se verifică respectarea RR de inegalitate 5.1.9 - 5.1.15 şi se atribuie valorile corespunzătoare
pentru variabilele Q*gi , i  G; Ui* , i  C; Pge
*
; Pij* ,Pji* , ij  R; Sij* ,S*ji , ij  R (conform relaţiilor
5.6.2 - 5.6.6), apoi se calculează valoarea FOB, FOBo1 (relaţia 5.1.16) şi a funcţiei
auxiliare , o1 (relaţia 5.6.1).
e) Se soluţionează sistemul liniar de ecuaţii care rezultă din condiţiile ca derivatele parţiale
ale funcţiei auxiliare în raport cu variabilele de stare să fie nule:
  o1
  0 , k N \ e
 k  (5.6.60)
 o 1
  
 Uk    0 , k C
 Uk 
o1
de unde rezultă valorile multiplicatorilor Lagrange: pk , k  N \ e; oqk1 , k  C .

f) Se determină componentele gradientului go1 pentru toate variabilele de optimizare,


cu relaţii de forma (5.6.7) - (5.6.10):
o1 o 1
o1    o1
  
gUk   Uk   , k  G (5.6.61); gPgk   , k  G \ e (5.6.62)
 Uk   Pgk 
 
o1 o1
o1
     
gK   , xy  T (5.6.63); goxy
1
  , xy  T (5.6.64)
xy  K xy   xy 
   
g) Se verifică condiţiile de terminare a ciclului curent de optimizare c în maniera relaţiei
5.3.36,  fiind pragul sub care componentele gradientului se consideră nule:

 
o1
Max gUk
kG
 (5.6.65)

Max gPgk
o1
 (5.6.66)
kG\e

Max gK
o1
xy    (5.6.67)
xyT

Max goxy
1
 (5.6.68)
xyT

Dacă nu sunt îndeplinite condiţiile de terminare, se sare la punctul i) al algoritmului, iar


dacă sunt îndeplinite, atunci se trece la punctul h).
h) Se verifică condiţia de terminare a procesului de calcul: regimul optim obţinut la ciclul
de optimizare curent c – ultimul regim calculat conform punctului c) al algoritmului – să
fie practic identic cu cel obţinut la ciclul de optimizare anterior c–1 (modificare cu totul
nesemnificativă a valorii FOB şi a funcţiei auxiliare ). Dacă nu este îndeplinită condiţia
de terminare, se sare la punctul b) al algoritmului, continuând calculele cu un nou ciclu
de optimizare (cu majorarea valorii coeficienţilor de penalizare). Dacă este îndeplinită
condiţia de terminare, calculul este terminat, ultimul regim calculat conform punctului c)
al algoritmului fiind soluţia problemei (regimul optim în condiţiile date).
i) Se determină componentele direcţiei de deplasare do1 (cu relaţii de forma 5.3.39),
o 1
calculând în prealabil valoarea scalarului  (conform relaţiei 5.3.40):
o 1 2 o 1 2 o 1 2
 (gUk )   (gPgk )   (gK xy )   (goxy
1 2
)
kG kG\e xyT xyT
o1  (5.6.69)
o 2 2 o 2 2 o 2 2
 (gUk )   (gPgk )   (gK xy )   (goxy
2 2
)
kG kG\e xyT xyT
o1 o1
dUk  gUk  o1  dUk
o2
, k G (5.6.70)
o1 o1
dPgk  gPgk  o1  dPgk
o 2
, k G \ e (5.6.71)
o1 o1 o1 o2
dK xy  gK xy    dK xy , xy  T (5.6.72)
doxy
1
 goxy
1
 o1  doxy
2
, xy  T (5.6.73)
o 1
j) Se determină valoarea scalarului  , care indică mărimea deplasării după direcţia găsită,
cu metoda de interpolare parabolică discutată în subparagraful 5.3.2.2.
k) Se calculează noile valori ale variabilelor de optimizare cu relaţiile specifice metodelor
de gradient (de forma 5.3.35):
Uko  Uko1  o1  dUk
o1
, k G (5.6.74); o
Pgk o1
 Pgk  o1  dPgk
o1
, k G \ e (5.6.75)

Koxy  Koxy1  o1  dK


o1
xy , xy  T (5.6.76); oxy  oxy1  o1  doxy
1
, xy  T (5.6.77)
l) se verifică dacă sunt îndeplinite relaţiile de restricţie (de limitare superioară şi inferioară a
valorii variabilelor de optimizare), luându-se măsurile corespunzătoare în caz de nevoie:
Uko dacă Ukmin  Uko  Umax
k


Uko  Ukmin dacă Uko  Umink , k G (5.6.78)
 max
U dacă Uko  Umax
 k k

Pgk
o
dacă Pgkmin
 Pgko max
 Pgk

o  min o min
Pgk  Pgk dacă Pgk  Pgk , k G (5.6.79)
 max o max
Pgk dacă Pgk  Pgk

K oxy dacă Kmin o max
xy  K xy  K xy


K oxy  Kmin
xy dacă K oxy  Kmin
xy , xy  T (5.6.80)
 max o max
K xy dacă K xy  K xy

oxy dacă min o max
xy   xy   xy


oxy  minxy dacă oxy  minxy , xy  T (5.6.81)
 max o max
 xy dacă  xy   xy

m) Se sare la punctul c) al algoritmului pentru a începe o nouă iteraţie de optimizare în cadrul
ciclului curent de optimizare c.
Se evidenţiază câteva comentarii practice legate de utilizarea şi implementarea pe
calculator a algoritmului de optimizare:
 Valorile iniţiale ale variabilelor de control (punctul a) al algoritmului) trebuie să fie de
regulă în interiorul gamelor de valori admise pentru ele, astfel încât să existe posibilitatea
modificării lor în ambele sensuri în cadrul procesului de optimizare.
c c
 La punctul b) al algoritmului alegerea valorii iniţiale a coeficienţilor de penalizare rp e , rq ,
ruc , rpc , rsc se face pe baza experienţei, cu menţiunea că valorile iniţiale prea mari pentru
aceşti coeficienţi "aruncă" variabilele de stare dintr-o limită în alta (în cazul încălcării limitării
superioare sau inferioare), iar cele prea mici permit încălcări exagerate ale limitărilor.
 Valorile coeficienţilor de penalizare pentru diverse tipuri de variabile nu sunt identice ca
ordin de mărime, experienţa anterioară fiind esenţială din acest punct de vedere.
 Majorarea valorii coeficienţilor de penalizare la trecerea de la un ciclu de optimizare la altul
trebuie făcută cu precauţie, experienţa anterioară fiind esenţială şi din acest punct de vedere.
 Soluţionarea repetată a circulaţiei de puteri la punctul c) al algoritmului (şi de două ori la
fiecare iteraţie de optimizare la punctul j), când se determină valoarea lui ) este un element
extrem de sensibil în privinţa timpului de calcul, impunându-se utilizarea unor algoritme
extrem de performante.
 Dacă la punctul d) valoarea funcţiei auxiliare  diferă de cea a FOB (este mai mare),
înseamnă că există violări ale unor RR de tip inegalitate privind limitarea valorii variabilelor
de stare (aceste situaţii sunt "penalizate" în valoarea lui ).
 Soluţionarea sistemului liniar 5.6.60, la punctul e) al algoritmului, este al doilea element
sensibil în ceea ce priveşte timpul de calcul, analiza structurii lacunare a matricei de
coeficienţi necesitând o atenţie specială.
 Condiţiile de terminare de la punctele g) şi h) solicită experienţă în ceea ce priveşte
stabilirea valorii pragului , respectiv a condiţiilor în care două regimuri de funcţionare se
consideră quasi identice.
 Legat de condiţiile de terminare de la punctul g), se impune luarea unor măsuri de sesizare a
situaţiilor de divergenţă.
 Legat de condiţiile de terminare de la punctul h) şi de numărul maxim practic de cicluri de
optimizare, experienţa arată că la stabilirea corectă a valorii funcţiilor de penalizare şi a
manierei de augmentare a acestora, 2-3 cicluri sunt de regulă suficiente.
 Aşa cum s-a precizat şi la soluţionarea aplicaţiei 5.4 cu metode de gradient, componentele
gradientului corespunzătoare unor variabile aflate în limitare sunt exceptate la condiţiile
de terminare (5.6.65) - (5.6.68), cât şi la calculul valorii scalarului  (relaţia 5.6.69).
 Referitor la punctul i) al algoritmului, la valori exagerat de reduse ale pragului , necorelate cu
eroarea maximă admisă la calculul circulaţiei de puteri, în apropierea soluţiei (la ultimele
iteraţii de optimizare) pot să apară valori exagerate ale scalarului  (în asemenea situaţii
se recomandă  = 0, ceea ce înseamnă comutare de la gradient conjugat la gradient
clasic).
 Determinarea prin interpolare parabolică a scalarului  la punctul j) al algoritmului se
realizează practic în modul următor (conform notaţiilor din paragraful 5.3.2):
 se adoptă valoarea pasului h pe baza experienţei;
 primul punct luat în considerare se caracterizează prin:
0  0
 o 1
(5.6.82)
f0  
 se adoptă valoarea lui  pentru al doilea punct:
1  h (5.6.83)
 se calculează valorile corespunzătoare ale variabilelor de optimizare:
Uk1  Uko1  1  dUk
o1 o1
, k  G (5.6.84); Pgk1  Pgk o1
 1  dPgk , k  G \ e (5.6.85)

K xy1  Koxy1  1  dK
o1
xy , xy  T (5.6.86); xy1  oxy1  1  doxy
1
, xy  T (5.6.87)
 se calculează circulaţia de puteri, pentru valorile curente ale variabilelor de optimizare,
fără a impune limitări ale puterilor reactive generate ( Qgi , i  G sunt lăsate "libere");
 se verifică respectarea RR de (5.1.9) - (5.1.15) şi se atribuie valorile corespunzătoare
pentru variabilele Q*gi , i  G; Ui* , i  C; Pge
*
; Pij* , ij  R; Sij* , ij  R (conform relaţiilor
(5.6.2) - (5.6.6)), apoi se calculează valoarea FOB, FOB1 (relaţia 5.1.16), şi a funcţiei
auxiliare , 1 (relaţia 5.6.1), care se atribuie lui f1 :
f1  1 (5.6.88)
 se adoptă valoarea lui  pentru al treilea punct:
2  2  h (5.6.89)
 se calculează valorile corespunzătoare ale variabilelor de optimizare:
Uk 2  Uko1  2  dUk
o1 o1
, k  G (5.6.90); Pgk 2  Pgk o1
 2  dPgk , k  G \ e (5.6.91)

K xy 2  Koxy1  2  dK
o1
xy , xy  T (5.6.92); xy 2  oxy1  2  doxy
1
, xy  T (5.6.93)
 se calculează circulaţia de puteri, pentru valorile curente ale variabilelor de optimizare,
fără a impune limitări ale puterilor reactive generate ( Qgi , i  G sunt lăsate "libere");
 se verifică respectarea RR (5.1.9) - (5.1.15) şi se atribuie valorile corespunzătoare
pentru variabilele Q*gi , i  G; Ui* , i  C; Pge
*
; Pij* , ij  R; Sij* , ij  R (conform relaţiilor
(5.6.2) - (5.6.6)), apoi se calculează valoarea FOB, FOB2 (relaţia 5.1.16), şi a funcţiei
auxiliare ,  2 (relaţia 5.6.1), care se atribuie lui f2 :
f2  2 (5.6.94)
o 1
 se calculează valoarea lui  conform relaţiei 5.3.17:
h 3  f0  4  f1  f2
o1   (5.6.95)
2 f0  2  f1  f2
 Referitor la punctul k) al algoritmului se consideră utile următoare precizări:
 dacă pentru o variabilă de optimizare aflată în limitare inferioară componenta
corespunzătoare a vectorului d este negativă, ea rămâne în continuare în limitare;
 dacă pentru o variabilă de optimizare aflată în limitare inferioară componenta
corespunzătoare a vectorului d este pozitivă, variabila respectivă "se eliberează" din
limitare (se calculează noua valoare conform relaţiilor (5.6.78) - (5.6.81));
 dacă pentru o variabilă de optimizare aflată în limitare superioară componenta
corespunzătoare a vectorului d este pozitivă, ea rămâne în continuare în limitare;
 dacă pentru o variabilă de optimizare aflată în limitare superioară componenta
corespunzătoare a vectorului d este negativă, variabila respectivă "se eliberează" din
limitare (se calculează noua valoare conform relaţiilor (5.6.78) - (5.6.81)).
 Referitor la puntul l) al algoritmului, în condiţiile în care se activează o limitare la o
variabilă de optimizare (având valoarea z la iteraţia o-1, componenta corespunzătoare a
direcţiei având valoarea dz ) care anterior nu era în limitare, se recomandă recalcularea
valorii scalarului  (experienţa indică o ameliorare a convergenţei, ceea ce înseamnă
reducerea timpului total de calcul):
 dacă se activează limitarea superioară:
zmax  z
o1  (5.6.96)
dz
 dacă se activează limitarea inferioară:
zmin  z
o1  (5.6.97)
dz
 Dacă la mai multe variabile se activează o limitare în condiţiile observaţiei anterioare, se
recalculează pentru fiecare valoarea lui  şi se selectează valoarea minimă.
 O altă posibilitate de tratare a unor asemenea situaţii o reprezintă efectuarea unei iteraţii
de gradient simplu în locul gradientului conjugat.
 Raportul de transformare pentru transformatoarele şi autotransformatoarele cu reglaj
longitudinal (raport de transformare real) este o variabilă discretă: ea poate avea un număr
fix de valori, dependent de numărul ploturilor de reglare (de exemplu, pentru situaţia când
numărul de ploturi este 12 x 1,25%, raportul de transformare poate avea 25 de valori
distincte). Situaţia este similară şi la autotransformatoarele cu reglaj longo-transversal
(raport de transformare complex) în ceea ce priveşte modulul şi faza raportului de transformare
[K10]. Considerarea caracterului discret al acestor variabile pe parcursul procesului iterativ
de soluţionare reprezintă o problemă foarte dificilă. De aceea, pe parcursul calculelor se
preferă considerarea unei variaţii continue pentru K ij şi ij , între limita minimă şi maximă,
oferite de dispozitivul concret de reglaj sub sarcină al tensiunii. În final, după terminarea
procesului de optimizare, K ij şi ij "se rotunjesc" la valorile cele mai apropiate de cele
rezultate din calcul pentru regimul optim (evident, circulaţia de puteri pentru regimul
optim se recalculează cu aceste valori rotunjite).

5.6.3. Soluţionarea problemei în condiţiile minimizării


pierderilor totale de putere activă
.............
5.6.4. Aplicaţie numerică
5.6.4.1. Enunţul aplicaţiei
Se consideră SEE din figura 5.5.2, pentru care se cunosc configuraţia, parametrii
elementelor de sistem şi mărimile care caracterizează un anumit regim de funcţionare. De
asemenea, se dau valorile limită, superioară şi inferioară, pentru unele variabilele de stare şi
cele de control (tensiunile nodurilor SEE, puterile active şi reactive generate, rapoartele de
transformare ale transformatoarelor şi autotransformatoarelor (TR şi ATTR) din sistem).
Se cere să se optimizeze regimul de funcţionare considerat, în sensul minimizării
pierderilor de putere activă pe ansamblul SEE (modelul matematic prezentat în paragraful
5.6.3), considerând ca variabile de optimizare tensiunile la bornele generatoarelor, puterile
active generate şi rapoartele de transformare ale TR şi ATTR reglante. Pentru regimul optim
determinat se impune ca valorile variabilelor să fie cuprinse între limitele prestabilite.
Datele iniţiale referitoare la nodurile SEE sunt prezentate în tabelul 5.6.1 (noduri gene-
ratoare) şi 5.6.2 (noduri consumatoare), iar cele referitoare la elementele de reţea în tabelele
5.6.3 (linii electrice) şi 5.6.4 (TR şi ATTR, parametrii calculaţi la joasă tensiune).
Rezultatele circulaţiei de puteri pentru regimul de funcţionare corespunzător (considerat
drept regim iniţial în procesul de optimizare), calculate cu programul POWER [K10], sunt
prezentate în tabelele 5.6.5 (noduri), 5.6.6 (elemente de reţea), 5.6.7 şi 5.6.8 (pierderi de putere).
Analiza regimului iniţial evidenţiază faptul că toate mărimile de interes (puterile active
şi reactive generate, tensiunile nodurilor, rapoartele de transformare ale TR şi ATTR) sunt în
interiorul benzilor de valori admise. În procesul de optimizare va fi posibilă modificarea
valorii lor în ambele sensuri.
15 kV 220 kV Pc= - 140 MW 10 kV
110 kV
Qc= - 62 MVAr
3 x 150 MW ~ 110 kV

Pg = 400 MW ~ LEA 110 kV d.c. Pc= - 54 MW


Qgmin = - 67,5 MVAr L = 68 km Qc= - 23 MVAr
Qgmax = 337,5 MVAr
~ 2 x 100 MVA
Pc= - 60 MW 2 x 40 MVA
3x 190 MVA Qc= - 25,6 MVAr
5 - NCB110 6 - NCC110 8 - NCC10
1 - NE15 3 - NCB220

C
B LEA 220 kV d.c.
L = 173 km

4- NCA220 220 kV

1 x 170 MVA 5 x 63 MVA A


2 - NG15 15 kV

20 kV
~ 7- NCA20
Pg = 120 MW
Qgmin = -20 MVAr Pc= - 240 MW
Qgmax = 101 MVAr Qc= - 121,6 MVAr

Fig. 5.5.2. Schema sistemului considerat


Valoarea pierderilor de putere activă pe ansamblul SEE pentru regimul iniţial este:
P = 8,215 MW (5.6.108)
Tabelul 5.6.1
Un Umin Umax Pn Pgmin Pgmax
Qmax
g UQmin
g  Pg Pc Qc
Nod Tip
[kV] [kV] [kV] [MW] [MW] [MW] [MW] [MW] [kV] [grd] [MW] [MW] [MW]
1: NEB15 Ech. 15,75 14,25 16,5 3 x 150 200 450 –67,5 337,5 15,50 0 – 0 0
2: NGA15 Gen. 15,75 14,25 16,5 1 x 135 60 135 –20 101 15,95 – 120 0 0

Tabelul 5.6.2
Nod Tip Un [kV] Umin [kV] Umax [kV] Pc [MW] Q c [MVAr]
3: NCB220 Consumator 220 209 242 –140 –62
4: NCA220 Consumator 220 209 242 0 0
5: NCB110 Consumator 110 104 121 –60 –25,6
6: NCC110 Consumator 110 104 121 0 0
7: NCA20 Consumator 20 104 121 –240 –121,6
8: NCC10 Consumator 10 9,5 11 –54 –23
Tabelul 5.6.3
Linie Un [kV] Tip R [] X [] G [S] B [S]
3: NCB220 – 4: NCA220 220 d.c. 6,28 38,05 0 888,0
5: NCB110 – 6: NCC110 110 d.c. 4,12 15,10 0 345,5
Tabelul 5.6..4
TR / ATTR Sn [MVA] UnIT [kV] UnJT [kV] pCu [kW] usc [%] pFe [kW] i0 [%] Ploturi
1: NEB15 – 3: NCB220 3 x 190 242 15,75 500 10,5 150 0,6 1x5
2: NGA15 – 4: NCA220 1 x 170 242 15,75 620 13,8 115 1,0 1x5
3: NCB220 – 5: NCB110 2 x 100 231 121 275 10,0 65 0,8  12 x 1,25
4: NCA220 – 7: NCA20 5 x 63 220 22 300 12,0 82 0,8  9 x 1,78
6: NCC110 – 8: NCC10 2 x 40 110 11 180 12,0 52 1,0  9 x 1,78
TR / ATTR R [] X [] G [S] B [S] Ktr Plot
1: NEB15 – 3: NCB220 0,001145 0,045696 1814,06 –13787,8 16,1333 +1
2: NGA15 – 4: NCA220 0.005322 0,201368 463,593 –6853,11 14,5968 –1
3: NCB220 – 5: NCB110 0,201313 7,42328 8,87917 –109,282 1,98068 +3
4: NCA220 – 7: NCA20 0,007317 0,184381 847,197 –5206,61 10,0000 0
6: NCC110 – 8: NCC10 0,006906 0,181500 859,504 –6611,57 10,1780 +1
Tabelul 5.6.5
Nod U [kV]  [grd] Pg [MW] Q g [MVAr] Pc [MW] Q c [MVAr]
1: NEB15 15,50 0,0000 382,215 241,992 0 0
2: NGA15 15,95 –3,1366 120 69,293 0 0
3: NCB220 238,851 –4,2937 0 0 –140,000 –62,000
4: NCA220 220,703 –8,7975 0 0 0 0
5: NCB110 116,605 –7,7471 0 0 –60,000 –25,600
6: NCC110 110,660 –10,8881 0 0 0 0
7: NCA20 20,799 –14,2210 0 0 –240,000 –121,600
8: NCC10 10,389 –15,7891 0 0 –54,000 –23,000
Tabelul 5.6.6
Element de sistem Pij [MW] Qij [MVAr] Pji [MW] Q ji [MVAr] P [MW] Q [MVAr]
1: NEB15 – 3: NCB220 382,215 241,992 –380,827 –200,084 1,388 41,908
2: NGA15 – 4: NCA220 120,000 69,293 –119,489 –52,545 0,511 16,748
3: NCB220 – 5: NCB110 115,931 65,830 –115,562 –55,280 0,369 10,550
3: NCB220 – 4: NCA220 124,896 72,254 –122,131 –102,456 2,765 –30,202
5: NCB110 – 6: NCC110 55,562 29,680 –54,316 –29,577 1,246 0,103
4: NCA220 – 7: NCA20 241,620 155,001 –240,000 –121,600 1,620 33,401
6: NCC110 – 8: NCC10 54,316 29,577 –54,000 –23,000 0,316 6,577

ΔP [MW] ΔQ [MVAr]
Element de sistem
Totale Long. Transv. Totale Long. Transv.
1: NEB15 – 3: NCB220 1,388 0.971 0,417 41,908 38,741 3,167
2: NGA15 – 4: NCA220 0,511 0,399 0,112 16,748 15,093 1,655
3: NCB220 – 5: NCB110 0,369 0,369 0,000 10,550 9,012 1,538
3: NCB220 – 4: NCA220 2,765 2,765 0,000 –30,202 16,755 –46,957
5: NCB110 – 6: NCC110 1,246 1,246 0,000 0,104 4,568 –4,464
4: NCA220 – 7: NCA20 1,620 1,620 0,000 33,401 31,007 2,394
6: NCC110 – 8: NCC10 0,316 0,316 0,000 6,577 5,829 0,748
Defalcarea pierderilor de putere pe componentă "longitudinală" şi "transversală" este
prezentată în tabelul 11.8.7. Datele din tabelul 11.8.8 evidenţiază cota parte din pierderi care
revine liniilor electric, respectiv TR şi ATTR.
Tabelul 5.6.7
Pierderi Pierderi Pierderi
Generată Consumată
Putere totale longitudinale transversale
[MW] [MW]
[MW], [MVAr] [MW], [MVAr] [MW], [MVAr]
Activă 502,215 494,000 8,215 7,075 1,140
Reactivă 311,285 232,200 79,085 121,005 –41.020
Tabelul 5.6.8
Pierderi SEE Lini electrice TR şi ATTR
de [MW], [MVAr] [MW], [MVAr] [MW], [MVAr]
putere Totale Long. Transv. Totale Long. Transv. Totale Long. Transv.
Activă 8,215 7,075 1,140 4,0117 4,0117 0.000 4,203 1,140 3,063
Reactivă 79,085 121,005 -41.020 –30,098 -51,421 21,323 109,183 99.682 9,501
În prima instanţă problema de optimizare se soluţionează „manual”, prin analiza
succesivă a unor variante de regim (cu programul de calcul POWER [K10]), în sensul reducerii
pierderilor de putere pe ansamblul SEE, cu respectarea restricţiilor impuse (acest lucru este
posibil datorită dimensiunilor reduse ale SEE considerat). În a doua etapă problema se va
soluţiona cu programul de calcul OPTIM [K10].
5.6.4.2. Soluţionarea "manuală" a aplicaţiei
Analiza regimului iniţial sugerează următoarele măsuri pentru reducerea pierderilor de
putere activă pe ansamblul SEE), cu respectarea restricţiilor impuse (referitoare la puterile
active şi reactive generate – Pgmax , Qmin max
g , Qg , la tensiunile nodurilor – Umin , Umax ):
 încărcarea la puterea activă maximă a generatorului din nodul 2 (bilanţul puterilor
active din zona A sugerează acest lucru);
 încărcarea la puterea reactivă maximă a generatorului din nodul 2 (bilanţul puterilor
reactive din zona A sugerează acest lucru);
 măsurile anterioare conduc de fapt la reducerea circulaţiei de puteri pe linia 3 – 4;
 ridicarea nivelului de tensiune pe ansamblul sistemului prin creşterea corelată a
tensiunii la bornele generatoarelor (excitaţie, ploturi transformator bloc), efectul fiind
cel scontat deoarece regimul iniţial este apropiat de încărcarea maximă;
 ridicarea nivelului de tensiune pe linia de 110 kV 5 – 6 (raport de transformare ATTR);
 ajustarea nivelului de tensiune pe barele de medie tensiune (TR coborâtoare).
Evident, măsurile propuse se aplică (corelat) atâta timp cât sunt îndeplinite următoarele
condiţii:
 efectul este de reducere a pierderilor pe ansamblul sistemului;
 se respectă domeniile de valori admise, acolo unde este cazul.
Rezultatele obţinute pentru regimul optim, în urma unor rulări succesive cu programul
POWER [K10] (modificarea valorii variabilelor de optimizare şi verificarea respectării RR
de tip inegalitate fiind efectuate "manual"), sunt sintetizate în tabelele 5.6.9 (rezultate noduri),
5.6.10 (rezultate laturi) şi 5.6.11 (plotul efectiv pe care funcţionează TR şi ATTR).
Tabelul 5.6.9
Nod U [kV]  [grd] Pg [MW] Q g [MVAr] Pc [MW] Q c [MVAr]
1: NE15 15,55 0,0000 365,996 198,082 0 0
2: NG15 16,151 –1,6032 135 101 0 0
3: NCB220 241,733 –4,0584 0 0 –140,000 –62,000
4: NCA220 229,705 –7,9375 0 0 0 0
5: NCB110 119,737 –7,3206 0 0 –60,000 –25,600
6: NCC110 114,037 –10,2960 0 0 0 0
7: NCA20 21,762 –12,9169 0 0 –240,000 –121,600
8: NCC10 10,739 –14,8966 0 0 –54,000 –23,000
Tabelul 5.6.10
Latură Pij [MW] Qij [MVAr] Pji [MW] Q ji [MVAr] P [MW] Q [MVAr]
1: NE15 – 3: NCB220 365,996 198,082 –364,757 –162,293 1,239 35,789
2: NG15 – 4: NCA220 135,000 101,000 –134,312 –77,548 0,688 23,452
3: NCB220 – 5: NCB110 115,835 64,461 –115,474 –54,403 0,362 10,058
3: NCB220 – 4: NCA220 108,922 35,832 –107,237 –74,994 1,685 –39,162
5: NCB110 – 6: NCC110 55,474 28,803 –54,308 –29,254 1,166 –0,452
4: NCA220 – 7: NCA20 241,549 152,543 –240,000 –121,600 1,549 30,943
6: NCC110 – 8: NCC10 54,308 29,254 –54,000 –23,000 0,308 6,254
Tabelul 5.6.11
TR / ATTR Sn [MVA] Ploturi Plot efectiv
1: NE15 – 3: NCB220 3 x 190 1x5 +1
2: NG15 – 4: NCA220 1 x 170 1x5 0
3: NCB220 – 5: NCB110 2 x 100  12 x 1,25 +2
4: NCA220 – 7: NCA20 5 x 63  9 x 1,78 0
6: NCC110 – 8: NCC10 2 x 40  9 x 1,78 +1

Valoarea pierderilor de putere activă pe ansamblul SEE este:


 P = 6,997 MW (5.6.109)
Analiza comparativă a rezultatelor celor două regimuri (optim şi iniţial) evidenţiază
clar măsurile care au fost luate şi sursele de reducere a valorii pierderilor de putere activă pe
ansamblul SEE (cu aproximativ 15 %).
Evident, optimizarea "manuală" a circulaţiei de puteri este posibilă doar pentru SEE
de dimensiuni reduse, cum este cel din această aplicaţie cu caracter didactic. În cazul SEE reale,
având sute sau mii de noduri şi elemente de reţea, optimizarea regimului de funcţionare se
poate efectua doar cu ajutorul unor programe de calcul specializate.
5.6.4.3. Soluţionarea aplicaţiei cu programul OPTIM [K10]
Pentru optimizarea regimului iniţial se utilizează programul OPTIM [K10]. Baza de date
se completează cu elementele specifice legate de procesul de optimizare: limitele puterilor
active generate, limitele tensiunilor în noduri (tabelele 5.6.1 şi 5.6.2) şi lista TR / ATTR
reglante: ATTR 3 – 5 şi TR coborâtoare de la consumatori, 4 – 7 şi 6 – 8.
Se iau în considerare toate variabilele de optimizare posibile (opţiunea de optimizare
P, U, K). La nevoie, pe parcursul procesului de optimizare, se măresc valorile coeficienţilor
de penalizare, pentru a limita la minim eventualele încălcări ale RR de tip inegalitate (ieşirea
unor mărimi din banda admisă).
Rezultatele obţinute în urma procesului de optimizare (regimul optim de funcţionare a
SEE în condiţiile date) sunt sintetizate în tabelele 5.6.12 (rezultatele referitoare la noduri),
5.6.13 (rezultate referitoare la circulaţiile de puteri prin elementele de reţea) ş i 5.6.14
(plotul efectiv pe care funcţionează TR şi ATTR în regimul optim).
Tabelul 5.6.12
Nod U [kV]  [grd] Pg [MW] Q g [MVAr] Pc [MW] Q c [MVAr]
1: NE15 15,572 0,0000 365,911 195,690 0 0
2: NG15 16,203 –1,6173 135 101,783 0 0
3: NCB220 242,204 –4,0445 0 0 –140,000 –62,000
4: NCA220 230,396 –7,9114 0 0 0 0
5: NCB110 121,617 –7,1951 0 0 –60,000 –25,600
6: NCC110 116,054 –10,0776 0 0 0 0
7: NCA20 21,836 –12,8591 0 0 –240,000 –121,600
8: NCC10 10,947 –14,5121 0 0 –54,000 –23,000
Tabelul 5.6.13
Latură Pij [MW] Qij [MVAr] Pji [MW] Q ji [MVAr] P [MW] Q [MVAr]
1: NE15 – 3: NCB220 365,911 195,690 –364,677 –160,169 1,234 35,522
2: NG15 – 4: NCA220 135,000 101,783 –134,312 –78,339 0,688 23,444
3: NCB220 – 5: NCB110 115,783 63,686 –115,425 –53,907 0,358 9,779
3: NCB220 – 4: NCA220 108,894 34,483 –107,232 –74,030 1,662 –39,547
5: NCB110 – 6: NCC110 55,425 28,307 –54,304 –29,080 1,121 –0,773
4: NCA220 – 7: NCA20 241,544 152,370 –240,000 –121,600 1,544 30,770
6: NCC110 – 8: NCC10 54,304 29,080 –54,000 –23,00 0,304 6,080

Tabelul 5.6.14
TR / ATTR Sn [MVA] Ploturi Plot efectiv
1: NE15 – 3: NCB220 3 x 190 1x5 +1
2: NG15 – 4: NCA220 1 x 170 1x5 0
3: NCB220 – 5: NCB110 2 x 100  12 x 1,25 +1
4: NCA220 – 7: NCA20 5 x 63  9 x 1,78 0
6: NCC110 – 8: NCC10 2 x 40  9 x 1,78 +1

Valoarea pierderilor de putere activă pe ansamblul SEE pentru regimul optim:


 P = 6,911 MW (5.6.110)
Analiza comparativă a rezultatelor cu regimul iniţial evidenţiază o reducere a valorii
pierderilor de putere activă pe ansamblul SEE de aproximativ 15 %, concluzie similară cu
cea de la regimul optim obţinut „manual”.
Comparaţia regimului optim obţinut cu programul OPTIM [K10] cu cel rezultat
„manual” conduce la următoarele comentarii suplimentare:
 cele două regimuri sunt foarte apropiate, diferenţele fiind nesemnificative (datorită
dimensiunilor reduse ale SEE considerat);
 diferenţele se datorează faptului că, datorită modului de penalizare a depăşirii valorilor
limită, programul OPTIM [K10] permite o uşoară încălcare a acestora (vezi puterea
reactivă generată la generatorul 2, valoarea tensiunii în nodurile 3 şi 5), ceea ce are ca
efect o valoare uşor diferită (mai mare) a funcţiei auxiliare  faţă de valoarea FOB.
Încălcarea valorilor limită se poate reduce în continuare prin mărirea coeficienţilor de
penalizare corespunzători (lucrul practic inutil).
Programul OPTIM [K10] permite analiza contribuţiei diverselor categorii de măsuri
la reducerea valorii pierderilor de putere activă pe ansamblul SEE:
 dacă se face o optimizare numai a circulaţiei de putere activă (opţiunea OPTIM – P),
pierderile se reduc la 7,94 MW;
 dacă se face o optimizare numai a circulaţiei de putere reactivă (opţiunea OPTIM – U, K),
pierderile se reduc la 7,29 MW;
 efectul corelat al celor două categorii de măsuri se regăseşte în rezultatul prezentat
anterior (6,911 MW).
Capitolul 6
UTILIZAREA PROGRAMĂRII DINAMICE
LA SOLUŢIONAREA UNOR PROBLEME DE OPTIMIZARE
DIN DOMENIUL INGINERIEI ENERGETICE
6.1. Prezentarea optimizării funcţionării de durată a SEE
ca model de problemă de programare dinamică
Se consideră un SEE care conţine atât centrale termoelectrice de diverse tipuri, cât şi
centrale hidroelectrice. Cunoscându-se curba de sarcină pentru o anumită perioadă de timp se
cere să se determine strategia exploatării centralelor electrice în condiţiile minimizării
cheltuielilor totale pentru perioada respectivă şi a satisfacerii unor cerinţe de natură tehnică
şi economică.
Dintre modelele posibile ale acestei probleme se ia în considerare următorul;
a) se cunoaşte curba de sarcină a sistemului pe un interval de timp T, care se împarte în n
intervale t j , j  1,2,...,n ( j  J ) cunoscându-se pentru fiecare interval puterea medie Pcj
(sau pentru fiecare subinterval t j caracteristica de sarcină zilnică este aceeaşi, cunoscându-se
puterea medie Pcj );
b) în fiecare moment (pentru fiecare interval) puterea produsă de centralele sistemului
trebuie să fie egală cu puterea cerută de consumatori (pierderile de putere se consideră
cuprinse în puterea consumată);
c) strategia exploatării centralelor hidroelectrice este dată (se cunosc puterile debitate de
aceste centrale în fiecare interval), rezultând din bilanţul puterilor pentru fiecare interval
puterea Pj pe care trebuie să o producă centralele termoelectrice;
d) se consideră drept centrală electrică mulţimea grupurilor identice dintr-o centrală termo-
electrică, notându-se cu I mulţimea centralelor electrice ( i  1.2,...,m ; i  I );
e) puterea debitată de un grup al centralei i in intervalul j, Pi,j , trebuie să fie cuprinsă, între
puterea minimă tehnologică ( Pmin i ) si puterea maximă disponibilă ( Pmax i );
f) centrala i, i  I , are un număr de mi grupuri, numărul de grupuri aflate în funcţiune în
intervalul j, xi,j , fiind limitat superior la valoarea mi , i  I ;
g) cunoscându-se caracteristica de cheltuieli Ci (Pi ) pentru fiecare centrală i (un grup al
centralei i), precum şi cheltuielile de pornire Cpi pentru un grup al centralei i, se cere să
se determine numărul de grupuri in funcţiune pentru fiecare centrală în fiecare interval
( xi,j , i  I, j  J ) şi puterile cu care sunt încărcate ( Pi,j , i  I, j  J ), astfel încât cheltuielile
totale de producere a energiei in intervalul de timp T să fie minim.
Modelul matematic corespunzător este de forma:
 variabile:
 de stare:
Pi,j , i  I, j  J (6.1.1)
 de decizie (de optimizare, de control):
xi,j , i  I, j  J (6.1.2)
 relaţii de restricţie (RR):
 de egalitate:
 xi,j  Pi,j  Pj , jJ (6.1.3)
iI
 de inegalitate:
Pmini  Pij  Pmaxi , i  I (6.1.4)
0  xi,j  mi , i  I , jJ (6.1.5)
 funcţia obiectiv (FOB):
F   [t   xi,j  Ci (Pi,j )]   [(xi,j  xi,j1)  Cpi ]  Minim (6.1.6)
jJ iI iIj

unde Ij reprezintă submulţimea centralelor pentru care xi,j  xi,j1 (este necesară
pornirea unor grupuri în momentul trecerii de la intervalul t j1 la intervalul t j ).
Problema definită mai sus constituie în esenţă problema optimizării de lungă durată a
regimurilor de funcţionare pentru un sistem electroenergetic. Modelul matematic dat de
relaţiile (6.1.1)-(6.1.6) constituie o problemă de programare dinamică: determinarea setului
de valori pentru variabilele de decizie xi,j , i  I, j  J şi variabilele de stare Pi,j , i  I, j  J ,
care conduc la optimul FOB, cu satisfacerea RR. Specific problemelor de programare dinamică
este procesul de decizii in trepte (determinarea valorii variabilelor de decizie), fiecare decizie
având implicaţii asupra valorii FOB.
Soluţionarea problemei definită de relaţiile (6.1.1)-(6.1.6) se poate face prin explorare
exhaustivă în modul următor:
a) pentru intervalul t1 se determină toate seturile posibile de valori ale variabilelor
x1,1,x2,1,...,xm,1 , pentru fiecare dintre ele efectuându-se repartizarea optimă a puterii intre
centrale, cu metodele prezentate în cap. 5. Calculând primul termen al sumei din relaţia
(6.1.6), cu observaţia că a doua componentă (legată de pornirea grupurilor) este sigur nulă,
rezulta valurile F11,F12 ,F13 ,...,F1s1 (unde s1 este numărul de situaţii posibile pentru intervalul 1);
b) pornind de la fiecare din situaţiile analizate în prima etapă, se procedează în mod analog
în privinţa stabilirii valorilor posibile ale variabilelor x2,1,x2,2,x3,2,...,xm,n şi a celor
corespunzătoare pentru P21,P22,P32,...,Pm1 , calculându-se apoi F22 ,F22 ,...,F2s2 , cu
considerarea celui de-al doilea termen din relaţia (6.1.6):
F2k  F1  t 2   xki,2  Ci (Pi,2
k
)  (xi,2
k
 xi,1)  Cpi (6.1.7)
iI iI2
c) pentru un interval oarecare t j se procedează în maniera prezentată pentru intervalul al
doilea, calculându-se pentru toate succesiunile de stări din intervalele anterioare şi stările
posibile pentru intervalul j ( k  1,2,...,sk ):

Fjk  Fj1  t j   xi,j


k
 Ci (Pi,jk )   (xi,jk  xi,j1)  Cpi (6.1.8)
iI iIj

d) pentru ultimul interval tn rezultă valorile Fn1,Fn2 ,...,Fnsn , dintre care se selectează
minimul, care reprezintă chiar valoarea minimă căutată a FOB definită de relaţia (6.1.6).
Reconstituind drumul pe care s-a ajuns din starea iniţială în starea finală, se regăsesc
valorile variabilelor xi,j şi Pi,j pentru fiecare interval.
Metoda de explorare exhaustivă are dezavantajul unui volum enorm de calcule, datorită
numărului foarte mare cu situaţii care trebuie analizate in etapele superioare. Programarea
dinamică înlătură acest dezavantaj, permiţând considerarea pentru fiecare interval t j a unui
număr mult mai redus de situaţii.
Se menţionează următoarele aspecte suplimentare:
 se pot introduce restricţii privind limitarea resurselor primare aflate la dispoziţia centralelor
intr-un anumit interval, ceea ce determină eliminarea strategiilor care conduc la consumuri
ce depăşesc resursele;
 se poate considera şi necesitatea efectuării reviziilor sau reparaţiilor, care pentru grupurile
de tipul i  I introduce relaţii suplimentare de restricţii de forma:
 xi,j  t j  mi  Ti (6.1.9)
jJ

unde Ti reprezintă durata de utilizare maximă posibilă a grupurilor de tipul i. RR de tipul


(6.1.9) complică accentuat soluţionarea problemei enunţate.
Problema prezentată este deosebit de complexă, atât din cauza volumului enorm
de date şi a numărului mare de soluţii analizate, cât şi a caracterului în general neliniar a
caracteristicilor de cheltuieli ci(Pij ) din expresia FOB (6.4).
În aceste condiţii chiar şi caracteristicile pătratice complică serios soluţionarea,
recurgându-se din aceste motive la liniarizarea caracteristicilor de cheltuieli. Modelul
neliniar dat de relaţiile (6.1) – (6.4) devine liniarizat, soluţionarea simplificându-se măcar
sub acest aspect.
6.2. Prezentarea metodei programării dinamice
În principiu programarea dinamică (PD) reprezintă o metodologie de selectare a soluţiei
optime în prezenţa unor condiţii restrictive, urmând un proces de decizii în trepte. Din gama
largă de procedee de programare dinamică se prezintă doar PD discretă, cu orizont finit, aceasta
fiind cea care se utilizează pentru soluţionarea unor probleme de optimizare din domeniul
ingineriei energetice. La această categorie de PD deciziile se adoptă la „momente” bine
determinate, parcurgându-se un număr finit de paşi.
Se consideră un sistem pentru care starea iniţială Y0 este caracterizată prin valorile
y1,0 ,y2,0 ,...,ym,0 ale celor m variabile de stare y1,y2,...,ym . La momentul t1 se adoptă o
decizie D1 , căreia îi corespund valorile x1,1,x2,1,...,xp,1 ale celor p variabile de decizie.
Noua stare a sistemului, y1 , descrisă prin valorile y1,1,y 2,1,...,ym,1 ale variabilelor de stare,
caracteristică momentului t1 , este funcţie de starea iniţială şi decizia adoptată:
Y1  Y1(y0 ,D1) (6.2.1)
Procedându-se in continuare în mod similar, la momentul t j se adoptă decizia D j ,
căreia îi corespund valorile x1,j ,x2,j ,...,xp,j ale variabilelor de decizie. În urma acestei decizii
sistemul trece din starea Yj1 , caracterizată de valorile y1,j1,y2,j1,...,ym,j1 ale variabilelor
de stare, în starea Yj , caracterizată de valorile y1,j ,y2,j ,...,ym,j ale variabilelor de stare.
Starea Yj depinde de starea anterioară Yj1 şi decizia D j :

Yj  Yj (Yj1,D j ) (6.2.2)

În final, la pasul n, caracteristic momentului tn , sistemul va trece în starea yn , în


urma deciziei Dn :

Yn  Yn (Yn1,Dn ) (6.2.3)

Înlocuind succesiv relaţiile de tipul (6.2.2) în relaţia (6.2.3), rezultă că starea finală a
sistemului depinde de starea iniţială şi de deciziile adoptate:
Yn  Yn (Y0 ,D1,D2,...,Dn ) (6.2.4)
Mulţimea D1,D2,...,Dn a deciziilor poartă denumirea de politică decizională sau
strategie.
În fiecare moment variabilele trebuie să satisfacă anumite relaţii de restricţie, ceea ce
se poate simboliza prin:
Dj   j , j  1,2,...,n (6.2.5)

unde  j reprezintă mulţimea deciziilor posibile la momentul t j . Similar, variabilele de stare


sunt supuse unor condiţii restrictive de diverse tipuri simbolizate prin:
Yj   j , j  1,2,...,n (6.2.6)

unde  j reprezintă mulţimea stărilor posibile la momentul t j .


Modelul descris anterior presupune parcurgerea stărilor sistemului în sens direct,
pornind de la starea iniţială spre starea finală (analiză prospectivă). Similar se poate pune
problema parcurgerii stărilor în sens invers, pornind ce la starea finală către cea iniţială
(analiză retrospectivă).
Fiecărui pas de soluţionare j, j  1,2,...,n , i se ataşează o funcţie obiectiv parţială  j ,
a cărei valoare depinde de decizia D j şi starea Yj a sistemului la care se ajunge în urma
acestei decizii:
 j   j (D j ,Yj ) (6.2.7)
Valoarea funcţiei  j caracterizează din punctul de vedere al valorii FOB decizia D j
şi starea rezultată Yj , ansamblului strategiei corespunzându-i o funcţie obiectiv globală, care
„însumează” funcţiile parţiale  j :

FOB  1(D1,Y1)  2 (D2,Y2 )  ...  n (Dn,Yn ) (6.2.8)

În mod obişnuit dintre strategiile posibile se caută acea strategie care maximizează
sau minimizează funcţia obiectiv din relaţia (6.2.8). În cazul de faţă extremul căutat este de
tip minim. Strategia care conduce la valoarea extremă a FOB se numeşte strategie optimă:
D1* ,D2* ,...,Dn* .
Problema de optimizare dinamică se poate formula în felul următor: plecând de la o
stare iniţială Y0 a sistemului, se cere sa se determine strategia optimă D1* ,D2* ,...,Dn* care
aduce sistemul intr-o stare finală Yn , astfel că FOB să fie minimizată:

n 
FOB  F(Y0 ,D1* ,D2* ,...,Dn* )  Min   j (D j ,Yj ) (6.2.9)
D j  j1 

în condiţiile satisfacerii relaţiilor de restricţie de tipul (6.2.5), (6.2.6).


Soluţionarea problemei de optimizare dinamică prin explorare exhaustivă este laborioasă,
conducând in majoritatea cazurilor la un volum enorm de calcule. Singura alternativă viabilă
este utilizarea metodei programării dinamice, care are la baza principiul formulat de R. Bellman:
o strategie optimă are proprietatea că, oricare ar fi starea iniţială şi decizia iniţială, deciziile
ramase trebuie să constituie o strategie optimă în raport cu starea care rezultă din prima decizie.
Deci, pentru a obţine o strategie optimă, este necesar ca în fiecare moment să se adopte o
decizie optimă.
În consecinţa rezultă următoarea relaţie de recurenţă pentru aplicarea metodei PD:

Fj  Min Fj1   j (D j ,Yj ) , j  1,2,...,n (6.2.10)


Dj

În general, funcţia obiectiv parţială  j cuprinde atât "costul" trecerii de la starea Yj1
la Yj , cât şi "costul funcţionării" sistemului în starea Yj .
Aplicarea relaţiei de recurenţă (6.2.10) reduce in mod substanţial numărul de soluţii
analizate pentru găsirea optimului, în comparaţie cu metoda explorării exhaustive.
6.3. Aplicaţie la alegerea succesiunii optime
a schemelor pentru o reţea de transport
Soluţionarea prin calcul manual a unei aplicaţii utilizând modelul matematic din
subcapitolul 6.1, chiar şi pentru un sistem de dimensiuni reduse implică un volum foarte mare
de muncă, preferându-se utilizarea metodei programării dinamice pentru un exemplu mai
simplu: alegerea succesiunii optime a schemelor pentru o reţea de transport a energiei electrice.
Se menţionează că şi algoritmul Bellman-Kalaba, utilizat în capitolul 2, subparagraful 2.4.4.3,
pentru determinarea drumului critic intr-un graf de program, reprezintă o aplicare a metodei
programării dinamice.
Se consideră un sistem de transport al energiei electrice, având configuraţia prezentată
în figura 6.3.1 (starea iniţială a sistemului este reprezentată cu linie continuă).
Pe baza prognozei efectuate pentru cei trei consumatori din localităţile A, B şi C au
rezultat puterile date în tabelul 6.3.1, penultima linie cuprinzând puterea totală consumată.
Ultima linie a tabelului cuprinde puterea totală cerută de consumatori augmentată
cu 25%, pentru a ţine cont de pierderi şi de necesitatea asigurării unei rezerve. Toate
puterile sunt date in MW.
În situaţia iniţială, consumul total este de 230 MW, fiind acoperit de grupurile
centralelor din A şi B (4 x 50 MW putere instalată in fiecare), cu o putere instalată totală de
400 MW. Se cere să se determine varianta optimă de extindere a sistemului, in condiţiile
asigurării corespunzătoare a alimentării consumatorilor, astfel încât cheltuielile totale pe
10 ani să rezulte minime.
Tabelul 6.3.1
Din analiza schemei iniţiale şi a regimurilor ulterioare de funcţionare, pe baza datelor
din tabelul 6.1, rezultă următoarele concluzii privind funcţionarea sistemului pe 10 ani:
a) consumatorul cel mai mare este plasat în localitatea C, evoluţia sa impunând extinderi de
sistem atât în ceea ce priveşte sursele de putere, cât şi instalaţiile de transport;
b) în primii 5-6 ani schema iniţială asigură alimentarea consumatorilor în toate regimurile
de funcţionare;
c) între anii 6-8 apare un deficit de putere de 100 MW, iar în anii 9-10 un deficit de ordinul
de mărime a 200 MW, fiind necesară introducerea unor surse suplimentare corespunzătoare;
d) extinderea centralelor din localităţile A şi B atrage după sine şi necesitatea măririi
capacităţii de transport de la A la C, respectiv de la B la C, prin dublarea liniei de 220 kV
corespunzătoare;
e) indiferent de soluţia adoptată pentru acoperirea necesarului de putere, în ultimii 2-3 ani
se impune introducerea celui de-al treilea autotransformator de 200 MVA in staţia C, din
motive de siguranţă în funcţionare.
În scopul satisfacerii cerinţelor impuse se iau în considerare următoarele soluţii,
extinderile propuse fiind marcate in fig. 6.3.1 cu linie întreruptă:
a) instalarea unui grup de 100 MW în centrala A şi dublarea liniei de 220 kV AC (elementele
suplimentare 1 şi 2);
b) instalarea unui grup de 100 MW în centrala B şi dublarea linie de 220 kV BC (elementele
suplimentare 3 şi 4);
c) construirea unei centrale electrice cu putere instalată de 100 MW în localitatea C (elementul
suplimentar 6);
d) extinderea staţiei din C cu un autotransformator de 200 MVA (elementul suplimentar 5).
În consecinţă rezultă un număr de 7 stări posibile ale sistemului:
 starea 1: schema iniţială;
 starea 2: schema iniţială şi elementele suplimentare 1 şi 2;
 starea 3: schema iniţială şi elementele suplimentare 3 şi 4;
 starea 4: schema iniţială şi elementele suplimentare 6;
 starea 5: schema iniţială şi elementele suplimentare 1, 2, 3, 4 şi 5;
 starea 6: schema iniţială şi elementele suplimentare 1, 2, 5 şi 6;
 starea 7: schema iniţială şi elementele suplimentare 3, 4, 5 şi 6.
Bazat pe faptul că nu se admit treceri de la o stare la alta cu înlăturarea unor elemente
de sistem deja introduse, rezultă că de la starea a se poate trece la oricare altă stare în orice
moment, de la starea b numai la stările e şi f, de la starea c numai la e şi g, de la d numai la
f şi g, iar stările e, f, g sunt stările finale posibile. O cercetare exhaustivă ar trebui să
urmărească toate traseele posibile de la starea iniţială la una din stările finale, ceea ce ar
însemna analiza a 216 cazuri (figura 6.3.2).
Aplicarea metodei programării dinamice diminuează foarte mult numărul de situaţii
analizate; totuşi, pentru a reduce calculele la un nivel rezonabil, se iau în considerare numai
următoarele 4 stări ale sistemului studiat:
 starea 1: schema iniţială;
 starea 2: schema iniţială şi elementele suplimentare 1 şi 2;
 starea 3: schema iniţială şi elementele suplimentare 1, 2, 5 şi 6;
 starea 4: schema iniţială şi elementele suplimentare 1, 2, 3, 4 şi 5.
Fig. 6.3.2. Soluţionarea prin explorare exhaustivă
Evident starea iniţială este starea 1, de la care sunt posibile treceri la toate celelalte
stări, de la starea 2 se poate trece la stările 3 şi 4, iar stările 3 şi 4 sunt stările finale posibile.
Pe baza analizei anterioare efectuate se pot stabili şi alte relaţii de restricţie de tipul
(6.2.5) şi (6.2.6), care se pot enunţa în forma următoare:
 în anii 1-5 sistemul se poate afla in oricare dintre cele patru stări;
 în anii 6-8 sistemul se poate afla în starea 2, 3 sau 4;
 în anii 9-10 sistemul se poate afla numai în starea 3 sau 4.
Deciziile legate de metoda programării dinamice se referă la trecerea sistemului
dintr-o stare în alta, existând posibilitatea adoptării lor în orice moment, în limitele fixate de
relaţiile de restricţie.
Relaţia de recurenţă se pune (6.2.10) sub forma:

Fj,b  Min Fj1,a   j,ab  (6.3.1)


b

unde a reprezintă schema pe care s-a funcţionat în anul j-1, iar b reprezintă schema pe care
se funcţionează in anul j, trecerea de la schema a la scheme b făcându-se în anul j.
Termenul  j,ab are expresia:

 j,ab  1,j,ab  2,j,b (6.3.2)

unde 1,j,ab reprezintă cheltuielile de trecere de la schema a la schema b în anul j, iar 2j,b
cheltuielile de investiţie şi exploatare în anul j, funcţionându-se cu schema b. În relaţia (6.3.1)
Fj1,a reprezintă costul total de funcţionare până în anul j+1 inclusiv (în anul j-1 cu schema a),
iar Fj,b costul total de funcţionare până în anul j inclusiv (în anul j cu schema b).
În tabelul 6.3.2 se dau costurile de trecere de la o stare la alta a sistemului, in unităţi
băneşti, pentru fiecare dintre trecerile posibile. Deoarece variantele trebuie comparate între
ele reducând costurile la anul iniţial, costurile de trecere s-au reactualizat la anul de referinţă,
considerând o rată anuală de actualizare constantă, de 5%.
Tabelul 6.3.2
Anul
1 2 3 4 5 6 7 8 9 10
Stări sistem
1 2 7 6,66 6,35 6,05 5,76 5,48 5,22 4,97 4,74 4,51
1 3 15 14,28 13,60 12,96 12,34 11,75 11,19 10,66 10,16 9,67
1 4 14 13,33 12,70 12,05 11,51 10,97 10,44 9,95 9,47 9,02
1 4 8 7,62 7,25 6,91 6,58 6,27 5,97 5,68 5,41 5,15
24 7 6,66 6,35 6,05 5,76 5,48 5,22 4,97 4,74 4,51

În tabelul 6.3.3 sunt trecute cheltuielile de investiţii şi exploatare raportate la un an,


pentru fiecare din cele patru stări posibile şi cei 10 ani de funcţionare (în unităţi băneşti,
actualizate cu o rată constantă de 5%). Pentru simplificare, nu s-a ţinut cont de variaţia lor
cu modificarea puterii consumate.
Tabelul 6.3.3
Anul
1 2 3 4 5 6 7 8 9 10
Stare sistem
1 50 47,61 45,35 43,19 41,13 39,17 37,31 35,53 33,84 32,23
2 75 71,43 68,03 64,78 61,70 58,76 55,96 53,30 50,76 48,34
3 95 90,47 86,17 82,06 78,16 74,43 70,89 67,51 64,30 61,24
4 85 80,95 77,09 73,42 69,92 66,60 63,43 60,40 57,53 54,79
În scopul găsirii strategiei optime, se aplică relaţia de recurenţă (6.3.1):
Fj,b  Min Fj1,a   j,ab  (6.3.1)
b

unde a –schema pe care s-a funcţionat în anul j-1;


b – schema pe care se funcţionează in anul j, trecerea de la schema a la scheme b
făcându-se în anul j;
 j,ab  1,j,ab  2,j,b ;
1,j,ab – cheltuielile de trecere de la schema a la schema b în anul j;
2j,b – cheltuielile de investiţie şi exploatare în anul j, funcţionându-se cu schema b;
Fj1,a – costul total de funcţionare până în anul j+1 inclusiv (în anul j-1 cu schema a);
Fj,b – costul total de funcţionare până în anul j inclusiv (în anul j cu schema b).
Rezultatele sunt date în tabelul 6.3.4.
Pentru anul 1 situaţia este clară, deoarece termenul Fj1,a are valoarea 0, iar pentru
fiecare stare există o singură posibilitate, nefiind necesară selectarea minimului.
Tabelul 6.3.4
Starea Starea Anul
a b 1 2 3
1 1 0  0  50  50* 50  0  47,61 97,61 *
97,61 0  45,35 143,0*
1 2 0  7  75  82 50  6,66  71,43 128,1 97,61 6,35  68,03 172,0
2 2 – 82  0  71,43 153,4 128,1 0  68,03 196,1
1 3 0 15  95 110 50  14,21 90,47 154,7 97,61 13,6  86,17 197,4
2 3 – 82  7,62  90,47 180,1 128,1 7,25  86,17  221,5

3 3 110  0  90,47  200,5 154,7  0  86,17  240,9
1 4 0  14  85  99 50  13,33  80,95 144,3 97,61 12,7  77,098 187,4
2 4 – 82  6,66  80,95 169,6 128,1 6,35  77,09  211,5

4 4 99  0  80,95 180 144,3  0  77,09  221,4

Pentru anul 2 în cazul funcţionării cu schema 1 există din nou o singură posibilitate.
Pentru funcţionarea cu schema 2 exista două posibilităţi:
 
F2,2  Min F1,1  1,2,12  2,2,2  ; F1,2  1,2,22  2,2,2  
(6.3.3)
 Min  50  6,66  71,43  ;  82  0  71,43   Min 128,1;153,4  128,1
Se reţine pentru calculele ulterioare doar valoarea minimă, marcându-se în tabelul 6.3.4 (subliniere).
Pentru funcţionarea cu schema 3 există trei posibilităţi în anul 2: în anul 1 s-a funcţionat
cu schema 1 şi se trece la schema 3; în anul 1 s-a funcţionat cu schema 2 şi se trece la schema 3;
în anul 1 s-a funcţionat cu schema 3 şi în anul 2 la fel. Aplicarea relaţiei (6.3.1) conduce la:
 
F2,3  Min F1,1  2,13  ; F1,2  2,23  ; F1,3   2,33  
 Min  50  14,28  90,47  ;  82  7,62  90,47  ; 110  0  90,47   (6.3.4)
 Min 154,7;180,1;200,5  154,7
 
F2,4  Min F1,1  2,14  ; F1,2  2,24  ; F1,4   2,44  
 Min  50  13,33  80,95  ;  82  6,66  80,95  ;  99  0  80,95   (6.3.5)
 Min 144,3;169,6;180  144,3
Se procedează în mod analog pentru anii următori, rezultatele fiind prezentate în
tabelul 6.3.4 (în detaliu pentru anii 1, 2, 3 şi în sinteză pentru anii 4-10). În poziţiile care
sunt eliminate de relaţiile de restricţie nu se trece nimic.
Pentru fiecare an şi fiecare schemă este subliniată valoarea minimă Fj,b , corespunzătoare
situaţiei în care in anul j se funcţionează cu schema b, aceasta fiind valoarea cu care se lucrează
în continuare. Pentru fiecare an se selectează, dintre valorile subliniate, valoarea "minimum
minimorum" (însemnată cu asterisc in tabel), schema corespunzătoare fiind preferată pentru anul
respectiv. Parcurgând toate valorile cu asterisc rezultă strategia optimă de extindere a sistemului:
în primii cinci ani se funcţionează cu schema 1, în anul 6 se trece la schema 2 şi se funcţionează
astfel în anii 6-8, iar în anul 9 se trece la schema 4, sistemul rămânând în această stare până în
final. Costul total minim, corespunzător strategiei optime, are valoarea de 517,8 unităţi băneşti.
Tabelul 6.3.4 (continuare)
Starea Starea Anul
a b 4 5 6 7 8 9 10
1 1 186,2 *
227,3 * – – – – –

1 2 213,8 253,6 291,5* – – – –



2 2 236,8 275,5 312,4 347,5* 400,8*
1 3 238,0 276,7 313,5 – – – –
2 3 261,0 298,5 334,3 368,4 420,7 470,5 –
3 3 279,4 316,1 351,1 384,5 435,9 485,0 531,7
1 4 228,5 267,6 305,4 – – – –
2 4 251,5 289,5 326,7 360,2 412,8 463,0* –
4 4 260,8 298,4 334,2 368,8 429,6 470,4 517,5*

Exemplul prezentat este relativ simplu, soluţia fiind observabilă şi fără aplicarea
programării dinamice. Totuşi, procesul de soluţionare a evidenţiat cu claritate modul de
aplicare a metodei de programare dinamică, fără a depăşi un volum rezonabil ce calcule.

S-ar putea să vă placă și