Școala doctoral ă de Inginerie [607653]
Universitatea „Dun ărea de Jos” din Gala ți
Școala doctoral ă de Inginerie
CONTRIBU ȚII LA
CONDUCEREA OPTIMAL Ă A PROCESELOR
UTILIZÂND ALGORITMI METAEURISTICI
Rezumat al tezei de doctorat
de
Adrian Emanoil ȘERBENCU
Conduc ător știin țific,
Prof. dr. ing. Viorel MÎNZU
Seria I 8: Ingineria sistemelor Nr. 2
GALA ȚI
2017
Universitatea „Dun ărea de Jos” din Gala ți
Școala doctoral ă de Inginerie
CONTRIBU ȚII LA
CONDUCEREA OPTIMAL Ă A PROCESELOR
UTILIZÂND ALGORITMI METAEURISTICI
Rezumat al tezei de doctorat
de
Adrian Emanoil Șerbencu
Pre ședinte, Prof univ.dr.ing. Eugen-Victor-Cristian RUSU
Conduc ător știin țific , Prof univ.dr.ing. Viorel MÎNZU
Referen ți stiin țifici Prof univ.dr.ing. Nicolae PARASCHIV
Prof univ.dr.ing. Aurelian ST ĂNESCU
Prof univ.dr.ing. Adrian FILIPESCU
Seria I 8: Ingineria sistemelor Nr. 2
GALA ȚI
2017
Cuprins
Introducere ………………………………… …………………………………………… ……………………………1
Capitolul 1 Utilizarea metodei Simulated Annealing în probleme de
conducere optimal ă ………………………………………….. …………………………………………… ……..4
1.1 Metoda Simulated Annealing ……………….. …………………………………………… ……………..4
1.2 Implementarea practic ă a algoritmului SA ………………………….. ……………………………….4
1.3 Control optimal pentru sisteme dinamice exprima te prin ecua ții
diferen țiale ordinare și algebrice ………………………………… …………………………………………..5
1.4 Clase de control optimal tratate cu algoritmul SA ………………………………………… ……….6
1.5 Concluzii ………………………………. …………………………………………… ……………………….. 10
Capitolul 2 Algoritmi evolutivi în probleme de cond ucere optimal ă …………………………. 11
2.1 Algoritmi evolutivi ……………………… …………………………………………… …………………….. 11
2.2 Implementarea AE pentru probleme de conducere î n timp continuu ……………………… 11
2.3 Implementarea AE pentru determinarea profilului de comand ă …………………………….. 13
2.4 Controlul adaptiv global al varian ței ………………………………………… ………………………. 16
2.5 Concluzii ………………………………. …………………………………………… ……………………….. 17
Capitolul 3 Utilizarea metodei Particle Swarm Optim ization în probleme
de conducere optimal ă ………………………………………….. …………………………………………… . 18
3.1 PSO în inteligen ța computa țional ă ………………………………………….. ………………………. 18
3.2 PSO utilizat în probleme de conducere optimal ă continu ă …………………………………… 19
3.3 PSO în probleme de conducere optimal ă cu comand ă discret ă binar ă ………………….. 21
3.4 Concluzii ………………………………. …………………………………………… ……………………….. 28
Capitolul 4 Utilizarea algoritmului diferen țial stigmergic la probleme de
conducere optimal ă ………………………………………….. …………………………………………… …… 29
4.1 Algoritmul ACO. Utilizarea ACO la probleme de o ptimizare cu parametri
continui …………………………………… …………………………………………… ………………………….. 29
4.2 Algoritmul diferen țial stigmergic (DASA) ……………………….. …………………………………. 29
4.3 Aspecte ale aplic ării DASA la PCO. ……………………………. …………………………………… 31
4.4 Aplicarea DASA la PCO ……………………. …………………………………………… …………….. 32
4.5 Contribu ții la ameliorarea performan țelor DASA pentru rezolvarea PCO ………………. . 33
4.6 Concluzii ………………………………. …………………………………………… ……………………….. 38
Capitolul 5 Contribu ții la conducerea în bucl ă închis ă a proceselor,
utilizând optimizarea prin metaeuristici ………. …………………………………………… …………… 39
5.1 Necesitatea unei structuri de conducere în bucl ă închis ă a proceselor
optimizate …………………………………. …………………………………………… ………………………… 39
5.2 Structur ă de conducere utilizând controlul predictiv ……. ……………………………………… 39
5.3 Controlul în bucl ă închis ă al sistemelor cu criterii de optimalitate de tip
Lagrange …………………………………… …………………………………………… ……………………….. 43
5.4 Controlul în bucl ă închis ă al sistemelor cu criterii de optimalitate de tip
Bolza ……………………………………… …………………………………………… ………………………….. 47
5.5 Concluzii ………………………………. …………………………………………… ……………………….. 50
Capitolul 6 Concluzii generale, contribu ții originale și perspective …………………………. 51
6.1 Contribu ții ………………………………………… …………………………………………… ……………. 51
6.2 Direc ții viitoare de cercetare …………………….. …………………………………………… ………. 53
6.3 Diseminarea rezultatelor …………………. …………………………………………… ……………….. 54
Abrevieri / Abbreviations
Român ă Englez ă
ACO Optimizare cu colonii de furnici Ant Colony Optim ization
AE Algoritm(i) evolutiv(i) Evolutionary Algorithm(s)
AG Algoritm(i) genetic(i) Genetic Algorithm(s)
ASA Algoritmul SA Simulated Annealing Algorithm
BHTPSO HTPSO binar Binary HTPSO
BHTPSOM BHTPSO Modificat Modified BHTPSO
BLX-α Încruci șare prin combinare liniar ă Alpha Linear Blend Alpha Crossover
DASA Algoritm diferen țial stigmergic Differential Ant-Stigmergy Algorithm
EDOA Ecua ții diferen țiale ordinare și algebrice Ordinary and Allegorical Differential Eq uations
GDD Coborâre determinist ă geografic ă Geographical deterministic descent
HTPSO PSO cu topologie hibrid ă Hybrid Topology Particle Swarm Optimization
LQP Problem ă liniar p ătratic ă Linear Quadratic Problem
PCO Problem ă(e) de conducere optimal ă Optimal Control Problem(s)
PPFBP Problem ă de producere fed-batch a
proteinelor Protein Production Fed-Batch Problem
PSO Optimizare cu roiuri de particule Particle Swarm Op timization
RBM Regulator bazat pe metaeuristica Metaheuristic Based Controller
RCAU Re țea de colectare a apelor uzate Sewer Network
SA Simulated Annealing (c ălire simulat ă) Simulated Annealing
SNDOP Problem ă de desc ărcare optimal ă a RCAU Sewer Network Discharge Optimization Problem
Introducere
Tema prezentei lucr ări "Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi
metaeuristici" pleac ă, pe de o parte, de la constatarea c ă problemele de control optimal
degajate din teoria sistemelor dinamice și impuse de practica inginereasc ă sunt probleme
dificile – în sensul complexit ății calculatorii – iar, pe de alt ă parte, metodele metaeuristice
dezvoltate de optimiz ările din "computer science" sunt concepute tocmai p entru a "sparge"
complexitatea problemelor dificile. No țiunea de metaeuristic ă, de și larg utilizat ă, este relativ
greu de definit, a șa cum rezult ă și din încerc ările unor cercet ători consacra ți din domeniu.
Metaeuristicile (metodele metaeuristice) sunt euristici de nivel în alt – așa cum arat ă numele –
de la care se a șteapt ă s ă ac ționeze mai bine decât euristicele în rezolvarea pro blemelor.
Procesul de determinare a solu ției unei probleme – de obicei optimale – este ghida t de
anumite informa ții sau cuno știn țe înglobate în procesul de c ăutare a solu ției. Termenul de
"metaeuristici", inventat de Glover în anii '90, de semneaz ă algoritmi inspira ți din natur ă cum
ar fi algoritmii genetici, c ălirea simulat ă, optimizarea prin colonii de furnici, optimizare p rin
roiuri de particule, evolu ție diferen țial ă, etc. Din acest punct de vedere, o metaeuristic ă ne
apare ca "un scenariu" cu "roluri" în care "distrib uim" elemente ale problemei de rezolvat,
astfel încât se creeaz ă o dinamic ă a acestor elemente, ce duce la rezolvarea "optimal a" a
problemei respective. Acest "scenariu" este exterio r universului de discurs al problemei.
Exist ă probleme de optimizare continue pentru care nu exi st ă un algoritm care s ă determine
optimul global cu certitudine și dup ă un num ăr finit de calcule. Exist ă multe metode clasice
"de optimizare global ă", dar de multe ori acestea sunt ineficiente dac ă func ția obiectiv nu
posed ă anumite propriet ăți structurale, cum ar fi convexitatea.
Dezvoltarea metaeuristicilor aduce o cale de rezolv are a multor probleme de optimizare
dificile discrete sau continue. În lucrarea (Siarry , 2014), sunt eviden țiate câteva caracteristici
comune ale metaeuristicilor care le recomand ă pentru probleme de optimiz ări dificile:
Metaeuristicile sunt, în general, stochastice , ceea ce le permite s ă fac ă fa ță exploziei
combinatorice a posibilit ăților ce apar în c ăutarea solu țiilor optime;
Metaeuristicile, având un caracter discret, au ava ntajul foarte important în cazul continuu
de a fi directe , adic ă nu recurg la calculul gradientului func ției obiectiv;
Metaeuristicile sunt inspirate de analogii fizice (c ălire simulat ă, difuzie simulat ă,…),
biologice (algoritmi evolutivi, genetici,…), s au etologice (colonii de furnici, roiuri de
particule, …);
Convergen ța este, în general, bine studiat ă din punct de vedere teoretic.
Au și deficien țe comune, cum ar fi necesitatea calibr ării anumitor parametri ai algoritmilor
genera ți.
De și ideea de a utiliza metaeuristici în conducerea op timal ă a proceselor nu este original ă,
prezenta lucrare se dore ște un studiu al utiliz ării de metaeuristici pentru rezolvarea de
probleme de control optimal (PCO), care s ă ating ă câteva obiective:
studiul implement ării unor algoritmi metaeuristici dedica ți rezolv ării unor PCO. Au fost
alese metaeuristici adecvate acestui scop, bine fon date teoretic și cu o bun ă
convergen ță;
în ce m ăsur ă solu țiile ob ținute sunt realiste și asigur ă m ăcar un caracter quasioptimal;
care este complexitatea practic ă a algoritmului ce implementeaz ă metaeuristica, pân ă
la ob ținerea unei solu ții bune;
2 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
degajarea unor reguli și metode de calibrare a parametrilor ce caracterize az ă un astfel
de algoritm;
realizarea unui studiu comparativ al utiliz ării diferitelor metaeuristici în rezolvarea unei
acelea și probleme.
De la bun început, men țion ăm că algoritmii metaeuristici implementa ți, dezvolta ți și analiza ți
precum și structura de conducere în bucl ă închis ă propus ă în prezenta lucrare au ca scop
utilizarea lor în situa țiile în care PCO nu cunoa ște alte modalit ăți de rezolvare convenabile.
Cauzele pot fi multiple: anumite neliniarit ăți, lipsa unor propriet ăți de regularitate,
complexitate calculatorie foarte mare, etc. În cazu istica tratat ă în lucrare, am recurs la ni ște
exemple de PCO, care au rolul de benchmark pentru n oi și care au solu ții optimale
cunoscute teoretic. Acest lucru ne ajut ă la analiza convergen ței și a calit ății solu țiilor ob ținute.
Primul capitol este dedicat prezent ării metodei probabilistice de optimizare "simulated
annealing". Este una dintre primele metaeuristici u tilizate la rezolvarea PCO. În plus este
singura din lucrare bazat ă pe evolu ția unei singure solu ții . Celelalte capitole descriu
metaeuristici ce utilizeaz ă popula ții de solu ții ale PCO. Au fost analizate, prin exemple,
câteva clase de PCO care pot fi rezolvate cu algori tmul simulated annealing (ASA). Clasa
PCO cu stare final ă liber ă și timp final fixat este cea mai simpl ă clas ă care poate fi rezolvat ă
cu ASA. Un prim exemplu tratat a fost problema Batc h Reactor, care are un criteriu de tip
Mayer. Solu ția optimal ă este cunoscut ă din alte lucr ări și reconfirmat ă de solu ția propus ă. În
acest exemplu s-a implementat tehnica de "step cont rol" care a crescut calitatea solu ției f ără
cre șterea semnificativ ă a num ărului de evalu ări ale func ției obiectiv. Al doilea exemplu a
tratat un sistem dinamic liniar cu criteriu de opti malitate de tip Bolza pentru care s-a ob ținut o
solu ție chiar optim ă, utilizând aceea și codificare a solu ției. Pentru a ilustra posibilitatea de a
rezolva cu ASA o PCO bilocal ă în raport cu starea și timp final fixat s-a considerat un sistem
liniar cu dou ă variabile de stare. Aspectul nou tratat în acest e xemplu este introducerea de
termeni suplimentari în func ția obiectiv, corespunz ători componentelor legate din variabila de
stare. Stabilirea ponderii acestor termeni este pro blema cheie pe care proiectantul
algoritmului trebuie s-o rezolve. PCO bilocale în raport cu starea și timp final liber sunt
exemplificate prin dou ă probleme de naturi diferite. Solu țiile ob ținute sunt mai mult decât
satisf ăcătoare.
În capitolul 2, dup ă analiza general ă a algoritmilor evolutivi și a cazului particular al
algoritmilor genetici, din literatura de specialita te rezult ă c ă semnul distinctiv al AG este
prezenta unei codific ări de tip genotip, indiferent ca este f ăcut ă prin șiruri de valori binare sau
reale . În cazul rezolv ării unei PCO, codificarea printr-un șir de valori reale a unui profil de
comand ă este o op țiune preferabil ă prin simplitate. De aceea, nu se degaj ă necesitate unei
codific ări de tip genotip. Ca urmare, problema poate fi rez olvat ă printr-un algoritm evolutiv.
Au fost considerate trei PCO. Pentru problema de pr oducere fed-batch a proteinelor, a fost
dezvoltat un AE cu urm ătoarele caracteristici: selec ție cu Stochastic Universal Sampling,
utilizare Rang și Scalare Rang pentru selec ție, "replacement" în ultimele lambda pozi ții din
cele N ale popula ției, încruci șare într-un singur punct cu un singur urma ș, muta ție
neuniform ă pe toate genele. De și simpl ă, î ncruci șarea de acest tip este satisf ăcătoare pentru
acest tip de problem ă și ca urmare solu țiile și viteza de convergen ță sunt satisf ăcătoare. În
contrapartid ă, pentru Problema Batch Reactor, acest tip de încru ci șare nu duce la rezultate
satisf ăcătoare. De aceea s-a adoptat un operator crossover m ai eficient: BLX-0.5 . Solu țiile și
viteza de convergen ță sunt, cu acest operator, mai mult decât satisf ăcătoare. A treia
problem ă tratat ă a fost Problema Liniar P ătratic ă, care, pentru un anumit joc de parametri,
are o convergen ță surprinz ător de slab ă, cu varianta de AE anterioar ă. De aceea, am
adoptat o Strategia Evolutiv ă cu Control Adaptiv Global al Varian ței, ce a utilizat un operator
de muta ție cu devia ție standard normal ă controlat ă adaptiv. Rezultatele au fost
Introducere 3
spectaculoase, pentru c ă num ărul de genera ții și num ărul de evalu ări ale func ției obiectiv
sunt de 15-20 ori mai mici decât la variantele cele lalte de AE utilizat.
Ca și contribu ție mai important ă a acestui capitol, putem aminti analiza, pe o cazu istic ă
format ă din PCO diverse, a diferi ților operatori de crossover și muta ție adecva ți problemelor
respective. Concluzia ne arat ă c ă fiecare problem ă are o sensibilitate diferit ă la utilizarea
unui operator sau altul. Au fost implementa ți și analiza ți operatori semnificativi pentru
implementarea unui AE.
Capitolul 3 este dedicat algoritmilor PSO (Particle Swarm Optimization). Varianta folosit ă în
lucrare se bazeaz ă pe o topologie hibrid ă – Hybrid Topology Particle Swarm Optimization
(HTPSO) -, adic ă utilizeaz ă ambele topologii, global ă și local ă, în acela și timp. Pentru
aplicarea acestei variante în probleme de conducere optimal ă, au fost implementate tehnici
cunoscute în literatur ă ca eficiente, cum ar fi: stabilirea adaptiv ă a coeficien ților implica ți în
actualizarea vitezei și pozi ției particulelor și limitarea pozi ției prin reflectare fa ță de frontiera
domeniului de c ăutare. Dac ă PCO are și un caracter bilocal cu starea, s-a considerat o
func ție obiectiv extins ă. Evaluarea func ției obiectiv se realizeaz ă cu ajutorul unui model al
procesului considerat. Aplicarea algoritmului HTPSO la PCO continue a fost ilustrat ă pe trei
cazuri: procesul neliniar din reactorul Batch, o PC O cu sistem liniar, cu criteriu Lagrange și
bilocal ă pe stare și Problema Liniar P ătratic ă discret ă.
Pentru aplicarea PSO la o PCO discret ă-binar ă a fost realizat ă și descris ă pe larg o
implementare (BHTPSO) adaptat ă la cazul binar. A fost propus ă o modalitate de a ameliora
intensificarea algoritmului BHTPSO. Pe lâng ă considerarea vecin ătății sale "sociale", o
particul ă caut ă o solu ție mai bun ă și într-o vecin ătate "geometric ă". În acest scop, a fost
propus un algoritm de intensificare "geometric ă", determinist, de coborâre local ă numit GDD
(geographical deterministic descent). Au fost propu se, de asemenea, trei tehnici de
ameliorare a algoritmului GDD, care au vizat: apelu l recursiv al GDD, pentru m ărirea
eficien ței; minimizarea fenomenului de deviere ("bias") în c ăutarea solu țiilor optime; apelarea
selectiv ă, la un anumit num ăr de itera ții f ără ameliorare a solu țiilor "local best". A fost realizat
un algoritm modificat – BHTPSOM. Testarea acestuia a fost f ăcut ă pe problema de
desc ărcare optimal ă a unei re țele de colectare a apelor uzate (RCAU) de mari dime nsiuni.
Solu țiile ob ținute au demonstrat realismul acestei abord ări, prin caracterul lor optimal sau
quasi-optimal, și durata convenabil ă a execu ției algoritmului.
Capitolul 4 descrie utilizarea algoritmului "Differ ential Ant-Stigmergy". Stigmergia este un
mecanism consensual de coordonare indirect ă între agen ți sau ac țiuni folosind mediul
înconjur ător. Algoritmul DASA, inspirat de optimizarea pe ba za coloniilor de furnici, utilizeaz ă
distribu ții Cauchy în procesul de c ăutare și transform ă problema de c ăutare într-un spa țiu
multidimensional continuu într-o problem ă de construire a unui drum într-un graf asociat. O
proprietate intrinsec ă a modului de func ționare a algoritmului DASA face ca acesta s ă
exploateze eficient solu ția promi țătoare identificat ă în etapa exploratorie . Anumite
particularit ăți ale algoritmului, precum modul explicit de select are a preciziei maxime a
pasului discret de c ăutare, sunt analizate în rela ție cu caracteristicile PCO. Vectorul
parametrilor supu și optimiz ării este reprezentat de e șantioane ale comenzilor aplicabile
procesului. Aplicarea algoritmului DASA la rezolvar ea unor PCO continue a fost ilustrat ă pe
trei cazuri: procesul neliniar din reactorul Batch, problema de producere fed-batch a
proteinelor și sistemul liniar cu criteriu Lagrange dar bilocal pe stare. Ca și contribu ții
semnificative ale acestui capitol, men țion ăm:
– Propunerea unei tehnici de redimensionare a probl emei de optimizare rezolvabile de
către DASA cu scopul cre șterii vitezei de convergen ță c ătre zonele de bun ă calitate;
– Propunerea a trei variante elitiste pentru algori tmul DASA, care promoveaz ă utilizarea
mai eficient ă a informației transmise prin feromon. Primele dou ă variante de elitism
4 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
propuse sunt echivalente unei încerc ări de c ăutare dup ă gradient, în sensul încerc ării
de a reutiliza drumul din graf care a generat ultim a ameliorare a solu ției. Cea de a treia
variant ă DASA este elitist ă în sens probabilistic.
Problema care s-a pus în capitol 5, de a avea o met oda care să ne permit ă conducerea
procesului în bucl ă închis ă, de îndat ă ce avem un bun algoritm bazat pe o metaeuristic ă ce
rezolv ă PCO, este crucial ă, pentru c ă d ă o perspectiv ă clar ă de utilizare a algoritmilor
metaeuristici dezvolta ți în capitolele anterioare. A fost propus ă o structur ă de conducere în
bucl ă închis ă dezvoltat ă în jurul a dou ă idei. Prima idee este utilizarea unei structuri de
conducere care este o adaptare a conceptului de con trol predictiv. A doua idee este
utilizarea unui algoritm capabil s ă rezolve aproximativ o PCO printr-o metaeuristic ă. Leg ătura
dintre cele dou ă idei este c ă structura predictiv ă are un regulator care poate utiliza algoritmul
metaeuristic. A fost propus ă o structur ă de conducere în bucl ă închis ă plecând de la
controlul predictiv al proceselor. Regulatorul din structur ă este un RBM (regulator bazat pe o
metaeuristic ă). La fiecare perioad ă de e șantionare, algoritmul rezolv ă PCO pentru un nou
orizont de timp – ce debuteaz ă cu momentul de e șantionare respectiv – și pentru o nou ă stare
ini țial ă a procesului , care este starea sa real ă presupus ă accesibil ă. S-a demonstrat faptul c ă
un RBM lucreaz ă în sensul minimiz ării erorii de predic ție și deci c ă structura propus ă este un
caz particular al structurii cu control predictiv. S-a propus de asemenea un mod de
organizare al controlul în bucl ă închis ă al proceselor cu criterii de optimalitate de tip
Lagrange și altul pentru criterii de tip Bolza.
Capitolul 1
Utilizarea metodei Simulated Annealing în
probleme de conducere optimală
1.1 Metoda Simulated Annealing
Metoda SA (Simulated Annealing, tradus "c ălire simulat ă") propus ă în (Kirkpatrick, 1983) și
(Cerny, 1985) emuleaz ă procesul fizic prin care un corp solid este r ăcit încet, a.î atunci când
procesul este "înghe țat", acest lucru se întâmpl ă la o configura ție de energie minim ă.
Algoritmul SA genereaz ă o realizare a unui lan ț Markov discret (în timp) neomogen, x(t).
Dac ă starea curent ă este it x=) (, se alege în mod aleator un vecin j al lui i. Probabilitatea
să fie ales ) (i S j∈ este ij q. Deîndat ă ce j este ales, starea urm ătoare x(t+1) este
determinat ă astfel:
dac ă ) ( ) ( i J jJ ≤ , atunci x(t+1)= j.
dac ă ) ( ) ( i J jJ > , atunci x (t+1)= j cu probabilitatea
−−) () ( ) (exp t Ti J jJ
altfe x(t+1)= i
1.2 Implementarea practică a algoritmului SA
Un mecanism important pentru dinamica algoritmului este adaptarea pasului de c ăutare.
Strategia din algoritmul utilizat în aceast ă lucrare este de a face raportul eval accept N N / =α ,
Utilizarea metodei Simulated Annealing în probleme de conducere optimal ă 5
cat mai apropiat de 0.5 pe durata execu ției algoritmului, unde accept N este num ărul de pa și
cu acceptare a noii solu ții candidat. Implementarea din aceast ă tez ă utilizeaz ă urm ătoarea
metod ă de adaptare a pasului unde β este un parametru:
<
+≤≤>
−+
= ∆+
4 04 04 016 0 4 06 04 06 01
11
. α dac ă.-α.β Δx. α. dac ă Δx. dac ă d .. αβ Δx
x
–
lll
l (1.4)
1.3 Control optimal pentru sisteme dinamice exprimate p rin ecuații diferențiale
ordinare și algebrice
In acest caz, problema de conducere optimal ă este descris ă de urm ătoarele elemente.
Sistemul dinamic S are evolu ția modelat ă de ecua ția general ă:
) , ), ( ), ( ), (( t p tut y t xfdt dx = (1.5)
Unde t este timpul, ∈tR;
• )(tx este vectorul variabilelor de stare de dimensiune
• )(ty este vectorul variabilelor algebrice de dimensiune yn; acestea fac
obiectul ecua țiilor algebrice și sunt, de obicei, m ărimi de ie șire din proces.
• )(tu este vectorul variabilelor de comand ă de dimensiune un.
• p este vectorul parametrilor invarian ți în timp, de dimensiune pn
Sistemul (1.5) este supus unor restric ții de tip egalitate și inegalitate, dup ă cum urmeaz ă:
0 ) 0 (x x = (condi ții ini țiale), (1.6)
restric ții algebrice de tip egalitate ( )0 ,), ( ), ( ), ( =t p t u t y t xg , (1.7)
restric ții pe traiectorie de tip inegalitate 0 ,), ( ), ( ,) (), ( ≤t p t u t ydt tdx t x h (1.8)
și restric ții de timp final tf, de tip egalitate 0 ,), (), ( ,)(), ( =
f f ff
f t p t u t ydt tdx t x ψ (1.9)
Func țiile f, g, h și ψ sunt func ții vectoriale de variabile vectoriale respectiv cu dimensiunile
nf, ng, nh, nΨ. Consider ăm o prim ă formulare de problem ă de optimizare pentru sisteme
dinamice exprimate prin ecua ții diferen țiale ordinare și algebrice (EDOA) care const ă în
minimizarea urm ătoarei func ții obiectiv:
( )f f f ft p t u t y t xt p t u t y t xJ
f,), (), (), ( min
, ), ( ), ( ), ( (1.10)
Minimizarea func ției scalare J poate fi exprimat ă sub forma criteriului Bolza:
( ) ( )∫+f
ft
tf f f ft p t u t y t xdt t p t u t y t xL t p t u t y t x M
0,), ( ), ( ), ( ,), (), (), ( min
, ), ( ), ( ), ( (1.11)
unde M este componenta Mayer a func ției obiectiv, iar L este termenul Lagrange.
În marea majoritate a problemelor de optimizare, re stric țiile de tip (1.8) sunt tratate ca
restric ții de frontier ă de forma
6 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
M mxt x x ≤ ≤ ) ( ; M mut u u ≤ ≤ ) ( ;M mpp p ≤≤ ; M
fm
f ft t t ≤ ≤ (1.8 bis)
Aceste inecua ții, indicate pentru o singur ă component ă a variabilelor respective, utilizeaz ă
valorile minim ă ( m) și maxim ă ( M).
Se define ște un spa țiu de c ăutare al solu țiilor optimale prin discretizarea diferitelor varia bile.
Discretizarea se face pentru N momente de timp, de obicei echidistante, care acop er ă
orizontul de timp:
( )f NT
N t t t t t t = = cu ; ,,,21L
Necunoscuta principal ă pentru problema de control optimal este succesiune a de comenzi
pentru aceste momente, adic ă ceea ce se cheam ă profil de comand ă:
( ) ; ,,,21T
Nu uu u L = (1.13)
Solu ția problemei de conducere optimal ă (1.5)-(1.10), presupunând c ă problema are timpul
final tf liber, poate fi prezentat ă ca vector al variabilelor de optimizare:
( )Tft p ux , , = , sau ( )Tpux ,= dac ă tf este legat.
1.4 Clase de control optimal tratate cu algoritmul SA
1.4.1 Control optimal cu stare final ă liber ă și timp final fixat
Exemplul 1 (Faber, 2005). Într-o reac ție chimic ă ce produce un produs B, o component ă A
este consumat ă. Substtan ța B reac ționeaz ă la temperaturi ridicate și produce produsul
secundar C. CBAk k2 1
2 → → .
Rata de reac ție este func ție de temperatur ă și concentra ție. Obiectivul este maximizarea
concentra ției de component ă B la sfâr șitul orizontului de timp tf de o or ă,
Modelul se inspir ă din abordarea Arrhenius și produce trei ecua ții diferen țiale
2 /
0 , 11ART E Ac e kdt dc −⋅ − = , BRT E
ART E Bc e k c e kdt dc /
0 , 22 /
0 , 12 1 − −⋅ − ⋅ = (1.16)
CRT E
BRT E Cc e k c e kdt dc /
0 , 22 /
0 , 22 2 − −⋅ − ⋅ =
unde cj , cu j=A, B, C în (mol mol -1), 11
0 , 1 4000 −−= s mol k și 1 5
0 , 2 10 2 . 6−× = s k , energiile de
activare -1
1 mol cal 5000 =E și -1
2 mol cal 10000 =E . R este constanta universal ă a gazelor,
R=1.98721 cal mol -1K-1, iar T este temperatura în grade K.
Variabila de control este temperatura T. La început, reactorul este umplut cu componenta A,
deci avem: 1)(0=tcA , 0)(0=tcB , 0)(0=tcC (1.17)
Restric țiile de frontiera: K TK 398 298 ≤≤ (1.18)
Func ția obiectiv este deci: ( )( ) )( )( ,), (), (), (f B f f f f f tc t x J t p t u t y t x J = = (1.19)
Cu implementarea ASA, se ob ține profilul de comand ă optimal ă din figura 1.3
Utilizarea metodei Simulated Annealing în probleme de conducere optimal ă 7
Controlul pasului ( Step Control )
Conform ASA, schimb ările din profilul de comand ă u se produc în trepte. O modalitate de a
men ține aceste varia ții în interiorul unor anumite limite este de a util iza o tehnic ă numit ă
controlul pasului ( step control ). Acesta impune ni ște margini superioare și inferioare ale
gradientului variabilelor de conducere max ) (sdt tdu ∆≤ , unde max s∆ este un parametru ce
trebuie stabilit la ini țializare. Aceast ă restric ție nu face parte din cele folosite în problema de
optimizare (1.5)-(1.10). Utilizând aceast ă tehnic ă în rezolvarea problemei expuse se ajunge
la convergen ța solu ției, lucru dovedit de mai toate execu țiile. De exemplu, pentru un profil de
comand ă discretizat în Nx=50 puncte pe orizontul de o or ă și o ini țializare a temperaturii liniar
descresc ătoare între 398°C și 349°C, se ob ține profilul de comand ă din figura 1.4.
6106 . 0 )( =fBtc ; 16684 =eval N ; TAfinal =4.21·10 -8; l
final x∆ =6.08·10 -4; a=0.8
Prin simularea sistemului cu profilul de comand ă determinat prin SA, se ob ține evolu ția celor
3 variabile de stare prezentat ă în figura 1.5
1.4.2 Control optimal bilocal în raport cu starea și timp final fixat
Exemplul 3 – sistem de ac ționare cu motor electric(Belea, 1985).
) (t u=θ& &,
unde θ este unghiul axului motorului, iar u reprezint ă un curent, tensiune sau cuplu activ ca
mărime de comand ă. Se cere comanda optimal ă u*( t), ] 2 , 0 [ ∈t , care transport ă sistemul din
cB(tf)
cA(t)
cC(t)
Figura 1.4 Profil de comand ă optimal ă cu
controlul pasului Figura 1.5 Evolutia variabilelor de stare
6106 . 0 )( =fBtc
= eval N 23798
TA fina=8.7 10-6
l
final x∆ =0.9923
a=0.9
Figura 1.3 Profil de comand ă optimal ă f ără controlul pasului
8 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
starea ini țial ă: 0=ot , 1=oθ , 1=oθ&, în starea final ă: 2=ft , 0=fθ , 0=fθ&,
a.î. consumul de energie s ă fie minim ∫=ft
udt t u J02) (21min
Ecua țiile de stare sunt: ) ( ,2 2 1 t u x x x = =& &
Tratarea problemelor bilocale în raport cu starea
Aspectul bilocal se poate trata, în principal, prin penalizare suplimentar ă la nivelul func ției
obiectiv. De aceea, se introduc termeni suplimentar i în func ția obiectiv, corespunz ători
componentelor legate din variabila de stare:
( ) ( )( )
+ − ⋅++ − ⋅ f f f ff
i f if
i fit t ut p t u t y t xJ x txc x txc
r r
f,), (), (), ( )( )( min 2 2
), ( 1 1L (1.20)
unde: – ri i i ,,,21L sunt indicii variabilelor de stare care sunt fixat e la momentul tf;
– 0>c , constant ă de penalizare a neîndeplinirii restric ției bilocale la momentul tf;
– f
ix
1, f
ix
2,f
irxL sunt valorile impuse variabilelor fixate la momentu l tf;
Minimizarea din (1.20) este actualizat ă la cazul tratat în aceast ă sec țiune. De asemenea, în
cazul în care restric ția bilocal ă se refer ă și la momentul ini țial, expresia (1.20) poate fi
modificat ă corespunz ător.
O problem ă important ă este alegerea parametrului de penalizare c, care trebuie s ă
penalizeze suficient neîndeplinirea restric ției bilocale, dar nu trebuie nici s ă "eclipseze"
minimizarea func ției obiectiv ini țiale.Nnoua func ție obiectiv este
( ) ( )
⋅ + − ⋅ + − ⋅ ∫f
ft
f ft t udt t u tx tx02 2
22
1), () ( 0)( 50 0)( 50 min
Considerând un profil ini țial de comand ă având toate componentele egale cu -0.5, ASA
converge la solu ția din figura 1.8.
Comanda optimal ă teoretic ă este liniar ă: 5 . 3 3) ( * −=t tu , iar ecua țiile traiectoriilor de
stare sunt: 15 . 3 5 . 1 ) ( , 1 75 . 1 5 . 0 ) (2 *
22 3 *
1 + − = ++ − = t t tx tt t tx
În figura 1.9 se prezint ă evolu ția celor dou ă st ări pe intervalul [0, tf] atât pentru comanda
optimal ă teoretic ă (cea cu *), cât și pentru comanda "optim ă" determinat ă cu ASA.
Se constat ă o foarte bun ă îndeplinire a restric ției finale asupra st ărilor fixate, care se abat de
la cerin ță cu 3% și respectiv -2%
1.4.3 Control optimal bilocal în raport cu starea și timp final liber
Exemplul 4
Pentru a exemplifica acest caz, prezent ăm în aceast ă sec țiune un exemplu de control
optimal pentru sisteme EDOA descris în (Yamashita, 1997), rezolvat în respectiva lucrare
printr-un algoritm genetic. Timpul final tf este liber
⋅ −=⋅ −+ −=
1 1 2.1 2 1 1.
) 1 () 1 ( 5
ux xu x x x; ∫− − =ft
fdt u xtJ011)43 (1;
10 03.0] , 5 . 0 [ )(] 0 , 1 [ ) 0 (
1T
≤ ≤==
ut xx
fT
Codificarea solu ției optimale c ăutate de algoritmul SA
Ținând cont de ecua țiile (1.13) și (1.14) și întrucât problema prezint ă timp final tf liber, trebuie
să adopt ăm o solu ție de forma
( )Tft p ux , , = =()Tft u, =( ) ; ,,,,21T
f Ntu uuL (1.21)
Utilizarea metodei Simulated Annealing în probleme de conducere optimal ă 9
Ca urmare necunoscuta tf este ajustat ă în cadrul algoritmului, ținând cont și de un factor de
scal ă adecvat.
Simularea sistemului dinamic pe un orizont de timp variabil
Din cauza faptului c ă timpul final este variabil, apare și necesitatea de a simula sistemul
dinamic și de a calcula func ția obiectiv cu timp final variabil. Ambele aspecte pot fi
simplificate, prin folosirea unui artificiu: schimb area de variabila care reprezint ă timpul.
Pentru exemplul de mai sus, putem recurge la un art ificiu: introducerea unei noi variabile
temporale:
ftt1⋅=τ τdt dt f⋅ = ⇒
În acest caz, sistemul dinamic și func ția obiectiv devin:
−⋅=−+ − ⋅ =
)] ( )) ( 1 [( )] ( )) ( 1 () ( 5[
1 121 2 11
τ τττ τ ττ
u x tddx u x x tddx
ff
; ∫− − =1
011)43 ( τd u x J
Avantajele acestui artificiu sunt: apelarea cu para metri invariabili a func ției Matlab de integrare
numeric ă a sistemului dinamic și calculul cu parametri invariabili a func ției de integrare
numeric ă pentru calculul func ției obiectiv, chiar și în situa ția în care variabila tf nu dispare
complet din expresia lui J. Prezen ța variabilei tf se face sim țit ă la nivelul func ției care
calculeaz ă derivatele variabilelor de stare pentru diferite m omente de integrare.
In cazul problemei de mai sus, noua func ție obiectiv este
( ) ( )
⋅ ⋅+− + − ⋅ + − ⋅ ∫1
01 12
22
1), () ( )) ( 43( . 3) 1 ( 50 5 . 0 ) 1 ( 50 min ττ τ d u x x x
ft t u
Majoritatea execu țiilor ASA realizate cu diver și parametri arat ă convergen ța solu țiilor g ăsite
ce respect ă condi ția bilocal ă. Rezultatele g ăsite, crorespunz ătoare valorilor : Neval : 4154; TA
final ă: 3.05·10 -6; l
final x∆ : 0.00022995; tf=1.2924; J=-4.3457; x1(tf)= 0.53773; x2(tf)= 3.0019,
sunt rezultate ce corespund cu cele prezentate în a rticolul men ționat mai sus.
Figura 1.8 Profil de comand ă Figura 1.9 Evolu ția comparativ ă a starilor
Neval = 5542; J= 3.4288; TA final=5.27·10 -5;
l
final x∆ = 4.9·10 -5 x1(tf)= 0.034822; x2(tf)= -0.029617; x1*(tf)= 0;
x2*(tf)= 0; verde : x1 optimal teoretic; negru: x2
optimal teoretic; rosu : x1 obtinut cu SA;
albastru : x2 obtinut cu SA
10 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
Exemplul 5
Relu ăm exemplul 3, bilocal pe stare, dar consider ăm o func ție obiectiv diferit ă, de tip Bolza
cu timp final liber: ft
utdt t u Jf+ =∫02) (21min
De asemenea, pentru acest exemplu, putem recurge la introducerea unei noi variabile
temporale:
ftt1⋅=τ τdt dt f⋅ = ⇒
Sistemul dinamic și func ția obiectiv devin:
⋅ =⋅ =
) () (
221
ττττ
utddx xtddx
ff
, f f t d u t J + ⋅⋅= ∫1
02
21) (ττ
Solu ția ini țial ă utilizat ă de ASA este [ ]44 344 21L
51 4 , 2 , , 2 , 2− −− . Dup ă convergen ță, se ob ține profilul
de comand ă și evolu ția st ărilor prezentate în figura 1.12.
1.5 Concluzii
Sec țiunea 1.3 a fost consacrat ă problemelor de control optimal pentru sisteme dina mice
exprimate prin ecua ții diferen țiale ordinare și algebrice. Dup ă o formulare relativ general ă a
cestui tip de PCO, sunt examinate restric țiile impuse și modul de implementare al acestora.
Plecând de la codificarea profilului de comand ă, sunt descrise strategiile de c ăutare a solu ției
optime: varia ția secven țial ă a variabilelor sau c ăutarea paralel ă. In sec țiunea 1.4, au fost
analizate, prin exemple, câteva clase de PCO care p ot fi rezolvate cu ASA.
Clasa PCO cu stare final ă liber ă și timp final fixat este cea mai simpl ă clas ă care poate fi
rezolvat ă cu ASA. Un prim exemplu tratat a fost problema Bat ch Reactor, care are un criteriu
de tip Mayer. Solu ția optimal ă este cunoscut ă din alte lucr ări și reconfirmat ă de solu ția
propus ă. În acest exemplu s-a implementat tehnica de "step control" care a crescut calitatea
solu ției f ără cre șterea semnificativ ă a num ărului de evalu ări ale func ției obiectiv. Al doilea
exemplu a tratat un sistem dinamic liniar cu criter iu de optimalitate de tip Bolza pentru care s-
a ob ținut o solu ție chiar optim ă, utilizând aceea și codificare a solu ției.
Pentru a ilustra posibilitatea de a rezolva cu ASA o PCO bilocal ă în raport cu starea și timp
final fixat s-a considerat un sistem liniar cu dou ă variabile de stare. Aspectul nou tratat în
acest exemplu este introducerea de termeni suplimen tari în func ția obiectiv, corespunz ători
Neval : 11329
TA finala : 1.14·10 -5
l
final x∆ : 3.81·10 -5
tf=2.7811
J=4.5858
x1(tf)= 0.0166
x2(tf)= -0.0154
Figura 1.12 Comanda si starile determinate de ASA
Algoritmi evolutivi în probleme de conducere optimal ă 11
componentelor legate din variabila de stare. Stabil irea ponderii acestor termeni este
problema cheie pe care proiectantul algoritmului tr ebuie s-o rezolve.
PCO bilocale în raport cu starea și timp final liber sunt exemplificate prin dou ă probleme de
naturi diferite. Cea din exemplul 4, are un sistem neliniar cu doua variabile de stare și are un
criteriu Lagrange, dar timpul final este liber. Pri n introducerea unei noi variabile temporale,
criteriul nu mai depinde de timpul final, dar acest a r ămâne parametru în ecua țiile de stare. În
exemplul 5, acest lucru nu mai este posibil. S-a re curs la o codificare care adaug ă timpul
final pe ultima pozi ție a vectorului care reprezint ă profilul de comand ă, cu considerarea unui
factor de scal ă corespunz ător. Solu țiile ob ținute sunt mai mult decât satisf ăcătoare.
Contribu țiile din acest capitol sunt:
• Tehnica numita controlul pasului ( step control ) impune ni ște margini superioare și
inferioare ale gradientului variabilelor de conduce re. De și cunoscut ă, în prezenta
lucrare a fost indicat ă explicit o manier ă de implementare în PCO.
• Analiza modului de implementarea a PCO bilocale în raport cu starea și timp final
fixat sau liber.
Capitolul 2
Algoritmi evolutivi în probleme de conducere
optimală
2.1 Algoritmi evolutivi
Algoritmii evolutivi (AE) sunt metaeuristici stohastice bazate pe o pop ula ție de solu ții și care
adopt ă în evolu ția acesteia principiul competi ției . Pe de alt ă parte, sunt algoritmi de
optimizare iterativi care simuleaz ă evolu ția speciilor prin evolu ția unei popula ții de indivizi.
O popula ție ini țial ă este generat ă în mod aleator. Un individ din popula ție codific ă o solu ție
candidat a problemei de optimizare considerat ă. O func ție obiectiv asociaz ă fiec ărui individ o
valoare "fitness" care arat ă cât de adecvat este individul ca solu ție a problemei. La fiecare
pas, indivizi sunt selecta ți pentru a forma p ărin ți, respectând regula conform c ăreia indivizi cu
valori "fitness" mai bune au o mai mare probabilita te să fie selecta ți. Apoi, ace știa fac
obiectul unor operatori de varia ție cum ar fi crossover-ul și muta ția pentru a genera a șa-
zisele "progenituri" (offsprings). În cele din urm ă, se aplic ă o schem ă de înlocuire prin care
se decide care indivizi din popula ție vor supravie țui dintre p ărin ți și progenituri
În lucrarea (Siarry, 2014) se precizeaz ă c ă algoritmii genetici sunt un caz particular de
algoritmi evolutivi. Ca și element de diferen țiere este faptul ca AG se inspir ă din transcrierea
genotip-fenotip din genetica natural ă.
2.2 Implementarea AE pentru probleme de conducere în ti mp continuu
2.2.1 Generarea popula ției ini țiale
Caracterul exploratoriu natural al AE trebuie asigu rat și prin considerarea unei popula ții
ini țiale care să să fie dvers ă Exist ă patru strategii posibile în generarea solu țiilor ini țiale:
generarea aleatoare, diversificarea secven țial ă, diversificarea paralel ă și ini țializarea
euristic ă.
12 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
2.2.2 Metode de selec ție
Operatorul de selec ție stabile ște la fiecare itera ție ce indivizi vor fi supusi operatorului de
recombinare și c ăți urma și va avea fiecare. Principiul de func ționare este "Cu cat un individ
este mai bun, cu atât trebuie s ă fie mai mare șansa de a fi p ărinte". Este un principiu elitist
care creeaz ă o presiune de selec ție ce îndreapt ă popula ția spre o component ă cu solu ții din
ce în ce mai bune. Valoarea func ției fitness d ă calitatea unui individ. Dar asocierea acesteia
fiec ărui individ, poate fi f ăcut ă în doua moduri:
Asocierea propor țional ă cu valoarea func ției obiectiv (Proportional fitness assignement) când
unui individ i se asociaz ă valoarea sa de fitness ca atare;
Asocierea cu un rang considerat ca valoare fitness (Rank-based fitness assignement) când o
valoare fitness este asociat ă, dar nu direct pe baza calculului func ției obiectiv, ci în func ție de
un rang (de clasificare) în cadrul popula ției
Pentru selec ția p ărin ților în func ție de valoare fitness exist ă patru tehnici larg utilizate în AE:
selec ție bazata pe principiul ruletei (Roulette Wheel Sel ection), selec ția stocastic ă universal ă
(Stochastic Universal Sampling), selec ție de tip turneu și selec ție bazat ă pe rang (Rank-
based Selection) Reducerea derivei generate de Sele c ția pe principiul Ruletei se poate face
cu Selec ția Stohastic ă Universal ă. Se poate adopta o selec ție bazat ă pe rangul liniarizat, caz
în care se ține cont și de presiunea de selec ție s. Presiunea de selec ție se define ște în cazul
selec ției propor ționale cu valorile fitness. În acest caz, individul ui #i i se asociaz ă
probabilitatea P( i):
) 1 () 1 ( ] 1 ) ( [ 2 2) (−⋅− ⋅− ⋅+−=µµ µs s p i r pi P . (2.4)
Se alege, de obicei, 2 1 ≤ ≤sp .
2.2.3 Muta ția în cazul codajului real
Pentru cromozomii care sunt vectori de numere reale , operatorul Muta ție Gaussian ă este cel
mai folosit în aplica ții. El procedeaz ă la ad ăugarea unui num ăr aleator fiec ărei gene, num ăr
ce este e șantionat dintr-o distribu ție normal ă N(0, σ), cu devia ția standard σ valabil ă pentru
to ți cromozomii. În acest mod, parametrul σ controleaz ă gradul de împr ăștiere a numerelor și
poate fi modificat în câteva trepte, dându-i-se val ori mai mari, atunci când AE este mai
explorator în spa țiul de c ăutare, și valori mai mici atunci când AE este mai orientat spre
exploatare, adic ă spre optimizare local ă.
O variant ă a acestui operator este Muta ția Gaussian ă Auto-adaptiv ă. Particularitatea const ă în
faptul c ă fiecare cromozom are propria devia ție standard.
Muta ția uniform ă: Se alege aleator o pozi ție și se modific ă gena corespunz ătoare acelei pozi ții.
În cazul codajului real, se înlocuie ște valoarea genei cu o valoare aleas ă aleator, dup ă o lege
uniform ă, în domeniul de defini ție a genei.
Muta ția neuniform ă: Acest operator, inspirat din metoda „simulated anne aling” este definit în
maniera urm ătoare:
cromozom tat ă: cromozom fiu:
unde avem: 1( , )
( , ) t t
i i t
it t
i i x t UB x dac ă a 0 x
x t x LB dac ă a 1 ++ ∆ − = =
+ ∆ − = (2.5)
unde: a ϵ {0, 1}este ales aleator; ( )t
Mt
itxxxKK1 ( )1 1 1
1+ + + t
Mt
itx x x KK
Algoritmi evolutivi în probleme de conducere optimal ă 13
• UB și LB sunt respectiv marginile domeniului de varia ție ale variabilei t
ix;
• ) , (y t∆ este o func ție care întoarce o valoare între 0 și y, ce tinde la zero pe m ăsur ă ce
t se apropie de T.
2.2.4 Încruci șarea în cazul codajului real
Din multitudinea de operatori de încruci șare (crossover), în AE propus pentru rezolvarea
PCO, ne-am oprit, într-o prim ă etap ă, la dou ă care sunt simple și verificate practic.
Încruci șare simpl ă . Când încruci șarea este într-un singur punct, ca în cazul codajul ui binar,
se alege o pozi ție k în mod aleator între 1 și M, pentru cei doi cromozomi p ărin ți. Evident, c ă
se poate practica și o încruci șare în mai multe puncte.
Încruci șarea aritmetic ă . Este definit ă ca o combina ție linear ă a celor doi vectori (cromozomi)
părin ți. Dac ă x și y sunt cei doi vectori, atunci cei doi fii x' și y' sunt defini ți dup ă cum
urmeaz ă: x' = α.x + (1- α).y; y' = (1- α).x+ α.y ,
unde α este o constant ă, în cazul încruci șării aritmetice uniforme, sau o variabil ă ce depinde
de vârsta popula ției, în cazul încruci șării aritmetice neuniforme (Michalewicz, 1992). O
variant ă a încruci șării aritmetice este aceea când α este generat aleator în intervalul [0,1].
2.3 Implementarea AE pentru determinarea profilului de comandă
La implementarea Algoritmului Evolutiv propus pentr u determinarea profilului de comand ă,
au fost f ăcute urm ătoarele op țiuni:
• Popula ția fiec ărei genera ții are un num ăr μ de indivizi, care este un parametru al
programului (de ex., în Anexa 2, avem μ=60);
• Popula ția este ordonat ă descresc ător (pentru aflarea unui maxim) în func ție de
valoarea func ției obiectiv, a.î cea mai bun ă solu ție se g ăse ște pe prima pozi ție;
• S-a utilizat selec ția cu Stochastic Universal Sampling;
• S-a utilizat selec ția bazat ă pe rang și s-a scalat liniar rangul conform formulei (2.4) ;
• Num ărul de cromozomi copii genera ți la fiecare genera ție este un parametru al
programului (" nr_fii "). Avem deci λ= nr_fii (de ex., în Anexa 2, avem λ =30);
• Cromozomii copii se ob țin din încruci șarea unui cromozom din lista de selec ție cu cel
mai bun cromozom din popula ție și se genereaz ă un singur copil;
• Încruci șarea ini țial adoptat ă este cea într-un singur punct (cu codificare real ă);
• Cei λ copii înlocuiesc ultimii λ cromozomi din popula ția curent ă.
2.3.1 Încruci șarea BLX- α liniar ă
Pentru una dintre problemele de mai jos, s-a optat pentru alt tip de încruci șare, și anume
"Încruci șarea BLX-α liniar ă" (Linear Blend Alpha Crossover). Daca x și y sunt dou ă puncte
din Rn reprezentând doi indivizi din popula ția de solu ții, un individ z rezult ă prin aplicarea
încruci șării BLX-α liniare conform unei distribu ții uniforme pe un segment de dreapt ă ce trece
prin x și y.
z = x + (y − x ) · U(−α, 1 + α)
unde U(−α, 1 + α) este un num ăr tras aleator în intervalul [- α, 1+ α ]
14 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
2.3.2 Problema de producere fed-batch a proteinelor (PPFB P)
În lucrarea (Valadi, 2014), la capitolul 8, este pr ezentat ă problema de control optimal de mai
jos care modeleaz ă produc ția fed-batch de protein ă str ăin ă indus ă prin bacterii recombinate.
Prin rezolvarea PPFBP se încearc ă determinarea "inductorului" optimal și profilul de
alimentare cu nutriment care s ă maximizeze profitabilitatea fermentatorului. Timpu l rezervat
unui lot este de 10 ore.
Modelul dinamic are 2 intr ări de comand ă (u1 și u2) și 7 variabile de stare și e descris de
urm ătoarele ecua ții:
) ( ) ( 2 1 1 tutu x + =& (2.7)
, )) ( ) ( (22 022 0
5111 ) (1) ( 35 14 ) (
122 1 2
576
3332
⋅ + ⋅
+⋅+ ⋅
+⋅ +=xxtutu – xx .x.x
.txtx .tx x& (2.8)
+⋅+
+ +
+
⋅=0.51 22 022 0
5111 1 35 14 )) ( ) ( ( – 100 2
576
333
132 1
113x
x .x.x
.xx .x
xxtutuxux& (2.9)
⋅ + ⋅
++⋅
+⋅ +⋅=
142 1 2
55
3334 )) ( ) ( ( -0.022 0.005
5111 1 35 14 233 . 0
xxtutu xxx
.xx .xx& (2.10)
⋅ +
⋅=
152 1
125 )) ( ) ( ( -) ( 4
xxtutuxtux& ; 6
556034 00.09 – xx .xx ⋅
+⋅=& ; ) 1 (034 00.09 7
557 xx .xx −⋅
+⋅=&
(2.11-2.13)
Restric ții: 1)) ( ), ((02 1 ≤ ≤ tutu ; ) ( ) (2 1 tutu ≥ , ], 0 [ft t∈ ; (2.14)
Starea ini țial ă la tinitial =0: > >=< < 0 1, 0, 0, 40, 0.1, , 1 , , , , , ,7654321 xxxxxxx (2.15)
Func ția obiectiv: { } ∫ ⋅ ⋅− ⋅ =ft
t f f dt tu Q tx tx J
0) ( )( )( 2 4 1 (2.16)
care trebuie maximizat ă J
tu t u) ( ), (2 1max cu h tf10 = . (2.17)
Valadi (2014)consider ă cazul Q=0. Pentru acesta, s-a men ționat c ă s-a ob ținut 15 . 6 *=J .
Profilul de comand ă s-a cerut pe ore, a.î. fiecare dintre intr ările de comand ă, u1 și u2, este
indicat prin cate un vector de 10 componente.
În figura 2.5 sunt prezentate profilele celor dou ă comenzi. Valoarea maxim ă a func ției
obiectiv ob ținut ă frecvent este J*=6.1577, ceea ce corespunde cu valoarea indicat ă în
(Valadi, 2014). Valoarea se ob ține în aproximativ 130 genera ții, adic ă 3960 apeluri ale
func ției obiectiv, ceea ce este pe deplin acceptabil.
Algoritmi evolutivi în probleme de conducere optimal ă 15
Figura 2.5 Profilul de comand ă determinat
cu AE pentru PPFBP
2.3.3 Problema Batch Reactor
Pentru a realiza o compara ție cu algoritmul SA, vom relua aceast ă PCO din paragraful 1.4.1
Exemplul 1
Aplicarea programului din Anexa 2 nu duce la rezult ate satisf ăcătoare, în special din cauza
operatorului de încruci șare într-un singur punct. De aceea, a fost adoptat operatorul BLX-0.5
Dup ă mai multe execu ții ale AE, dintre care unele pentru calibrarea para metrilor, au rezultat
urm ătoarele valori pentru parametrii utiliza ți de AE:
– O solu ție este codificat ă printr-un vector x=[ x1,…, xn], n=50; μ=N=60; λ=nr_fii=30; Nr. maxim
generatii:230; max s∆ =3.0 ; ( pentru "step control" când aceast ă tehnic ă se folose ște)
O evolu ție tipic ă a AE conduce la rezultate ca cele din figurile 2.7 și 2.8. Acestea prezint ă
profilul de comand ă și respectiv evolu ția st ărilor.
Convergen ța se atinge dup ă evolu ția de-a lungul a 200 și 250 genera ții. Fa ță de algoritmul
SA, se constat ă o complexitate mai redus ă până la convergen ță, în evolu ția către solu ția
optim ă, întrucât num ărul de evalu ări ale func ției obiectiv este mai redus. În plus, valoarea
optimal ă g ăsit ă pentru func ția obiectiv este mai mare, adic ă 0.6107.
În figura 2.7 se observ ă o evolu ție destul de rugoas ă a profilului de comand ă. Se poate
ob ține o evolu ție mai neted ă a acestuia, ca în figura 2.9, datorit ă integr ării tehnicii de control
al pasului.
Figura 2.7 Profil de comand ă determinat cu AE Figura 2.8 Evolu ția st ărilor cA(t)
cB(t)
cC(t)
u1(t
)
u(t)
Figura 2.9 Profil de comand ă determinat cu AE și Step
Control(Problema Batch Reactor)
16 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
2.3.4 Exemplu de Problem ă Liniar P ătratic ă
Instan țele Problemei Liniar P ătratice (LQP) tratate sunt preluate din lucrarea (M ichalewicz,
1992), unde acestea sunt rezolvate cu un algoritm g enetic.
Fie sistemul discret: k k k ub xa x ⋅+⋅=+1 , 1 ,, 1 , 0 − = N kL ; cu starea ini țial ă: 0xdat ă.
Criteriul de optim este: ( )
⋅+⋅ + ⋅ ∑−
=− =1
02 2 2
1, , 1 , 0 , min N
kk k NN kuur xs xq
kL, cu parametrii:
r s q ba , , , , preciza ți.
Pentru a compara solu ția g ăsit ă de algoritmul EA cu cea teoretic ă, preciz ăm valoarea optim ă
a func ției obiectiv 2
0 0*xK J ⋅ = unde Kk este solu ția ecua ției algebrice Riccati:
s
KbrKar K
kkk +
⋅ +⋅⋅=
++
121 2; cu q KN=.
LQP a fost rezolvat ă considerând o valoare N=45 și 4 instan țe ale problemei, la fel ca în
articolul respectiv. Aceste instan țe sunt prezentate în tabelul de mai jos:
problema A a=1; b=1; q=1; r=1; s=1; x 0=6.4
problema B a=0.01; b=1; q=1; r=1; s=1; x 0=100
problema C a=1; b=1; q=1; r=10 ; s=1; x 0=100
problema D a=0.7; b=1.5; q=2; r=0.5; s=1.2;x 0=100
S-a încercat rezolvarea problemei A cu algoritmului evolutiv prezentat în Anexa 2, adi c ă pe
structura prezentat ă în lucrarea de mai sus, și chiar cu un operator de crossover mai bun,
care include crossoverul aritmetic ca un caz partic ular.
Parametrii principali sunt: N=50; ngene=45; x min =-5; x max =5; presiune de selec ție=1.8
Pentru problema A solu ția teoretic ă este K0=1.61803; J*=66.2747
Rezultatul tipic ob ținut este urm ătorul: gen=10000; J*=66.981; Neval =301850 ;
Cu alte cuvinte, în 10000 de genera ții se ob ține un profil de comand ă bun, care duce la o
valoare a func ției obiectiv situat ă la 1% de cea optim ă, dar cu un num ăr imens de evalu ări
ale acesteia. Preciz ăm ca algoritmul converge întotdeauna, dar este foar te lent. Ca urmare,
am adoptat un operator de muta ție care să permit ă un control mai riguros al m ărimii pasului
de varia ție al valorilor genelor unui cromozom ( ) , (y t∆ ), varia ție care are un caracter
aleatoriu. La muta ția neuniforma exista un control al varian ței pasului de varia ție (ca variabil ă
aleatoare), dar aceast ă varian ță este monoton descresc ătoare. De aceea este necesara
adoptarea unui alt operator de muta ție care să adapteze aceast ă varian ță pe durata
execu ției AE.
2.4 Controlul adaptiv global al varianței
2.4.1 Strategia Evolutiv ă Adaptiv ă
Concluzia sec țiunii anterioare se refer ă la adoptarea unei tehnici împrumutate din strategi ile
evolutive, care au dus la primele forme de algoritm i evolutivi. În aceste strategii, muta ția este
mai important ă decât crossoverul, care poate chiar s ă lipseasc ă din AE. Muta ția const ă în
ad ăugarea unui vector Δ, de componente Δi, i=1,…,n gene. Fiecare element Δi este o
Algoritmi evolutivi în probleme de conducere optimal ă 17
realizare a unei variabile aleatoare distribuit ă normal de medie zero și varian ță 2
iσ. Varian ța
poate fi stabilit ă pentru fiecare element, sau s ă fie una pentru întreg cromozomul și poate
depinde de indexul genera ției.
2.4.2 Muta ție cu varian ță adaptiv ă
În lucrarea (Siarry, 2016), punctul de vedere asupr a implement ării procedurii de adaptare a
devia ției standard σ are elemente diferite, legate de momentele de adap tare. De aceea, în
AE modificat pe care l-am utilizat pentru problema LQP, am propus procedura de muta ție cu
adaptarea devia ției standard descris ă de lista 2.8. Parametrul θ, 1 0 <<θ , este pragul de la
care se modifica devia ția standard, la fiecare M muta ții. O valoare consacrat ă este θ=1/5,
caz în care se spune c ă se aplic ă "Regula unei cincimi".
Reluând LQP cu noul AE, s-au ob ținut rezultatele din figura 2.1(ne rezum ăm la problemele A
și B). De data aceasta, execu țiile tipice sunt toate convergente, dar și mult mai eficiente. În
general, num ărul de genera ții și num ărul de evalu ări ale func ției obiectiv sunt de 15-20 ori
mai mici. Valoarea optim ă teoretic este atins ă pentru toate cele 4 probleme.
Evolu ția comenzii – EA Evolu ția st ării- EA Problema
A
a=1;b=1
q=1 r=1 s=1
x0=6.4
J*=66.27
JAE =66.93
Neval =19483
eroare=10 -2
B
a=0.01 b=1
q=1 r=1 s=1
x0=100
J*=10000.5
JAE =10000.6
Neval =6541
eroare=10 -1
Figura 2.10 Rezultatele tipice ale LQP ob ținute de un AE folosind un operator de muta ție cu varian ță
auto-adaptiva
2.5 Concluzii
În cazul tratat, adic ă cel al rezolv ării unei PCO, codificarea printr-un șir de valori reale a unui
profil de comand ă este o op țiune preferabil ă prin simplitate. De aceea, nu se degaj ă
necesitate unei codific ări de tip genotip. Ca urmare, problema poate fi rez olvat ă printr-un
algoritm evolutiv.
Printr-un demers de "state of the art", în primele dou ă sec țiuni ale capitolului au fost trecute
în revist ă tehnici și operatori semnificativi în dezvoltarea unui AE le gate de generarea
18 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
popula ției ini țiale, metode de selec ție a unor indivizi din popula ție, tipuri de muta ție, tipuri de
operatori de încruci șare și strategii evolutive.
Pentru studiul implement ării unui AE dedicat determin ării profilului de comand ă, au fost
considerate trei PCO.
Pentru problema de producere fed-batch a proteinelo r, a fost dezvoltat un AE cu urm ătoarele
caracteristici: Selec ție cu Stochastic Universal Sampling, Utilizare Rang și Scalare Rang
pentru selec ție, "Replacement" în ultimele lambda pozi ții din cele N ale popula ției,
Încruci șare într-un singur punct cu un singur urma ș, muta ție neuniform ă pe toate genele.
De și simpl ă, î ncruci șarea de acest tip este satisf ăcătoare pentru acest tip de problem ă și ca
urmare solu țiile și viteza de convergen ță sunt satisf ăcătoare.
În contrapartid ă, pentru Problema Batch Reactor, acest tip de încru ci șare nu duce la
rezultate satisf ăcătoare. De aceea s-a adoptat un operator crossover m ai eficient: BLX-0.5.
Solu țiile și viteza de convergen ță sunt, cu acest operator, mai mult decât satisf ăcătoare.
A treia problem ă tratat ă în analiza noastr ă a fost Problema Liniar P ătratic ă, care pentru un
joc de parametri, are o complexitate practic ă surprinz ătoare, cu varianta de AE anterioar ă.
De aceea, am adoptat o Strategia Evolutiva cu Contr ol Adaptiv Global al Varian ței, ce a
utilizat un operator de muta ție cu devia ție standard normal ă controlat ă adaptiv. Rezultatele
au fost spectaculoase, pentru c ă num ărul de genera ții și num ărul de evalu ări ale func ției
obiectiv sunt de 15-20 ori mai mici decât la varian tele celelalte de AE utilizat.
Contribu ții ale acestui capitol sunt:
Integrarea unor tehnici eficiente (cum ar fi step control) și selec ții care s ă evite
fenomenul de deviere (Selec ție cu Stochastic Universal Sampling, Utilizare Rang și
Scalare Rang) într-un AE care s ă tina cont de particularitatea PCO tratate;
O analiz ă pe o cazuistic ă format ă din trei PCO, a diferi ților operatori de crossover și
muta ție adecva ți problemelor respective. Concluzia ne arat ă c ă fiecare problem ă are o
sensibilitate diferit ă la utilizarea unui operator sau altul. Au fost imp lementa ți și analiza ți
operatori semnificativi pentru implementarea unui A E.
Capitolul 3 Utilizarea metodei Particle Swarm
Optimization în probleme de conducere
optimală
3.1 PSO în inteligența computațională
Inteligen ța computa țional ă a roiurilor (Swarm) de particule este inspirat ă din natur ă, de
comportamentul colectiv al stolurilor de p ăsări, roiurilor de insecte, colonii de furnici, bancu ri
de pe ște, etc. S-a constatat și modelat auto-organizarea acestor grupuri de indiv izi (numi ți în
cele ce urmeaz ă "particule"), precum și comportamentul lor emergent ca urmare a
interac țiunii locale între particule.
Exist ă dou ă moduri de interac țiune între particule, prin comunicare direct ă sau indirect ă.
Când inteligen ța computa țional ă bazat ă pe roiuri de particule utilizeaz ă în modelele sale
comunicarea direct ă, avem de a face cu Particle Swarm Optimization.
Utilizarea metodei Particle Swarm Optimization în pro bleme de conducere optimal ă 19
Roiul este modelat de un num ăr de N particule, fiecare particul ă fiind reprezentat ă printr-un
vector cu 3 componente ( ), ,,ibest ii PVXrrr
, unde vectorii m dimensionali sunt respectiv pozi ția,
viteza și cea mai bun ă valoare "întâlnit ă" de particula i (cea mai bun ă experien ță personal ă).
Cea mai bun ă pozi ție pe întreg roiul ("global best") la un moment dat t este gbest Pr
,
Memoria gbest Pr
ofer ă singur ă posibilitate de comunicare între particule. Actual izarea vitezei
și pozi ției unei particule i se face prin rela țiile:
() () ( ) ( )) ( ) ( ) ( ) ( 12 2 1 1 tXt P rand CtXt P rand CtVw tVi gbest i ibest i ir r r r r r
− × × + − × × + ×=+ (3.1)
) 1 ( ) ( ) 1 ( + + =+ tVtX tX i i irr r
;
Exist ă și o alt ă variant ă a algoritmului PSO, cea care se bazeaz ă pe o topologie hibrid ă –
Hybrid Topology Particle Swarm Optimization (HTPSO) , adic ă utilizeaz ă ambele topologii,
global ă și local ă, în acela și timp. Ecua ția (3.1) este înlocuit ă prin:
( )) ( ) ( ) ( ) 1 ( ) ( ) 1 ( 3 3 txt p rand tC tvtx txd
id
gbest d
id
id
i − ⋅ ⋅ ++ + =+ (3.5)
unde rand 3 este un num ăr aleator uniform distribuit în intervalul [0 1].
3.2 PSO utilizat în probleme de conducere optimală cont inuă
3.2.1 Implementarea PSO cu topologie hibrid ă pentru probleme de conducere
Particularit ăți ale implement ării legate de problemele de CO continue
O prim ă particularitate const ă în faptul c ă evaluarea func ției obiectiv , dat ă fiind natura PCO,
are un caracter mai complex decât în aplica țiile PSO obi șnuite pentru c ă:
– realizeaz ă o întreag ă simulare a sistemului dinamic pentru profilul de c omand ă setat de
algoritm. Se face, deci o integrare a sistemului di namic pe orizontul de timp al problemei;
– calculeaz ă func ția obiectiv asociat ă PCO;
– dac ă PCO are și un caracter bilocal cu starea, se consider ă func ția obiectiv extins ă (1.4.2)
O alt ă particularitate const ă în integrarea tehnicii step control în algoritmul HTPSO. Din
diferite motive, inclusiv uzarea elementelor de exe cu ție, profilul de comand ă trebuie să se
apropie de o evolu ție continu ă și chiar derivabil ă. Fără aceast ă tehnic ă, caracterul aleator al
stabilirii salturilor comenzii la momente de timp a diacente z ădărnice ște acest deziderat și
comanda "optimal ă” poate con ține salturi puternice. În esen ță, trebuie implementat ă restric ția
de tip diferen țial max ) (sdt tdu ∆≤
unde max s∆ este implementat prin parametrul dTdtmax . Înc ă o dat ă, precizam c ă restric ția
aceasta nu face parte din PCO. Astfel se limiteaz ă saltul de pozi ție pentru direc ții succesive,
la aceea și particul ă. Ținând cont de codificare, asta înseamn ă limitarea comenzii la momente
succesive din profilul de comand ă.
3.2.2 Exemple de determinare a profilului de comand ă prin PSO cu topologie hibrid ă
Pentru a realiza o compara ție cu algoritmul SA, vom relua mai întâi dou ă exemple de PCO
din cap. 1. Relu ăm mai întâi exemplul 1 al rectorului Batch in care o substan ță A este
convertita in componentele B și C. Se cere determinarea profilului de temperaur ă care
asigur ă concentra ția maxim ă a componentei B dup ă o or ă.
20 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
Dup ă mai multe execu ții ale algoritmului HTPSO, dintre care unele pentru calibrarea
parametrilor, o evolu ție tipic ă conduce la rezultate ca cele din figurile 3.2 și 3.3. Acestea
prezint ă profilul de comand ă și respectiv evolu ția st ărilor. Se constat ă o bun ă evolu ție a
profilului de comand ă, în parte și datorit ă integr ării tehnicii de control al pasului prezentat ă
mai sus.
Fa ță de algoritmul SA, se constat ă o complexitate mai redus ă până la convergen ța c ătre
solu ția optim ă, întrucât num ărul de evalu ări ale func ției obiectiv este mai redus,
5740 =eval N pentru 287 de itera ții.
Pentru exemplul 3 din sec țiunea 1.4.2, Algoritmul HTPSO a fost executat de ma i multe ori.
O evolu ție tipic ă a algoritmului conduce la rezultate ca cele din fi gurile 3.4
Figura. 3.4 ilustreaz ă o foarte bun ă evolu ție a profilului de comand ă, în compara ție cu
comanda teoretic ă. Se constat ă un num ăr de evalu ări sub jum ătate din cel utilizat de ASA, în
numai 121 de itera ții.
Figura 3.4 Evolu ția comenzii
teoretica- ro șu HTPSO- albastra
t=121;
Neval = 2420
J* teoretic = 3.25
JHTPSO = 3.191
J*=3.118
Evolu ția st ărilor sistemului pe intervalul ] 2 , 0 [ ∈t , cu comanda determinat ă Pgbest , dar și cu
comanda optimal ă teoretic ă este prezentat ă comparativ, în figura 3.5.
Figura 3.5 Evolu ția st ărilor – teoretic și cu HTPSO
x1(tf)=0.029412
x2(tf)=-0.024452
x1*(tf)= 0
x2*(tf)= 0
verde : x1 optimal teoretic
negru: x2 optimal teoretic
ro șu: x1 ob ținut cu HTPSO
albastru : x2 ob ținut cu HTPSO
Figura 3.1 Evolu ția temperaturii de comand ă Figura 3.2 Evolu ția st ărilor cA(t)
cB(t)
cC(t)
Utilizarea metodei Particle Swarm Optimization în pro bleme de conducere optimal ă 21
St ările evolueaz ă cu cele dou ă comenzi aproape identic, lucru remarcabil care est e elocvent
pentru eficien ța algoritmului HTPSO.
Exemplu de Problem ă Liniar P ătratic ă
Aplic ăm aE pe exemplul din paragraful 2.4.2. LQP a fost r ezolvat ă considerând o valoare
N=45 și cele 4 instan țe ale problemei (combina ții ale valorilor parametrilor).
Figura 3.6 prezint ă rezultatele celor 4 instan țe de LQP (A, B, C, D). Algoritmul HTPSO a
asigurat convergen ța solu ției ob ținute pentru toate cele 4 instan țe. De men ționat c ă instan ța
A ( a=1;b=1; q=1; r=1; s=1; ) este singura care nu a dus exact la valoarea teor etic ă a
func ției obiectiv : J*=66.27 și JHTPSO =68.11. Adic ă prezint ă o eroare de +2.7%. Celelalte
instan țe au fost rezolvate a.î s-a asigurat J*= J HTPSO chiar pentru toate încerc ările .
Evolu ția comenzii – HTPSO Evolu ția st ării- HTPSO Problema
A
a=1;b=1
q=1 r=1 s=1
x0=6.4
J*=66.27
JHTPSO =68.11
Neval =15720
eroare=+2.7%
B
a=0.01 b=1
q=1 r=1 s=1
x0=100
J*=10000.5
JHTPSO =10000.5
Neval =9020
eroare=0%
Figura 3.6 Rezultatele tipice ale LQP pentru cele 4 instan țe
3.3 PSO în probleme de conducere optimală cu comandă di scretă binară
3.3.1 Adaptarea metaeuristicii PSO cu topologie hib rid ă la probleme discrete binare
Așa cum am v ăzut în sec țiunea 3.1, PSO este o metaeuristic ă, bazat ă pe o popula ție de
solu ții, care s-a perfec ționat de-a lungul timpului, și care a fost creat ă s ă caute solu ții "bune"
într-un spa țiu de c ăutare continuu. Cu toate acestea, PSO și variantele sale au fost adaptate
pentru a fi utilizate în spatii de c ăutare binare. Lucrarea (Beheshti, 2015) prezint ă una dintre
cele mai eficiente variante de PSO ce se preteaz ă la a fi utilizat ă în problemele de optimizare
binare.
În versiunea binar ă a HTPSO, pe care o numim BHTPSO, viteza unei parti cule este
calculat ă tot cu rela țiile (3.3) și (3.5), și doar pozi ția este altfel determinat ă, dat ă fiind natura
sa binar ă. Pentru determinarea pozi ției pentru o component ă d, adic ă {}1 , 0 ) (∈txd
i , se
folose ște o interpretare probabilistic ă a vitezei particulei pe direc ția d:
22 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
O valoare mare a vitezei ()1+tvd
i este echivalent ă cu o probabilitate mare de schimbare a
pozi ției anterioare ) (txd
i. Aceasta va fi schimbat ă la momentul t+1, prin complementare (din
'0' în '1' sau invers ). O valoare mic ă a vitezei ()1+tvd
i este echivalent ă cu faptul c ă pozi ția
este satisf ăcătoare și nu este nevoie s ă se schimbe.
Ecua ției (3.5) cap ătă mai întâi forma ( )) ( ) ( ) ( ) 1 ( ) 1 (3 3 txt p rand tC tv tad
id
gbest d
id
i − ⋅ ⋅ ++ =+ .
Func ția ) tanh( ) ( a aS = este adecvat ă s ă fie considerat ă o func ție de probabilitate care
furnizeaz ă probabilitatea de a schimba componenta respectiv ă a pozi ției.
Pentru a sc ăpa de un optim local, se adaug ă la S(a) o valoare mic ă Ei dat ă de rela ția:
( ) dt e T NF erf ET NF t
i ii∫−= =' /
02
)/ 2 ( ' / π , (3.8)
Reunind rela țiile (3.7) și (3.8), probabilitatea de a schimba valoarea binar ă a pozi ției
componentei este dat ă de (3.9):
( ) )) 1 ( tanh( ) 1 ( ) 1 ( + × −+ = + ta E E ta Sd
i i id
i (3.9)
Dac ă rand 4 este un num ăr uniform distribuit în intervalul [0,1], pozi ția viitoare a respectivei
componente se calculeaz ă cu:
() ( )
altfel dac ă ) 1 (
) () () 1 (4 + <
=+taS rand
txtx complement txd
i
d
id
i d
i (3.10)
și pentru ()tad
i exist ă o restric ție de m ărginire: ( )max atad
i < unde max a se alege
pentru fiecare problem ă de optimizare în parte. Cu considerentele de mai s us, algoritmul
HTPSO poate fi modificat și se ob ține algoritmul BHTPSO, prezentat în Lista 3.3
Algoritm BHTPSO
1. start
2. Genereaz ă popula ția ini țial ă format ă din N particule printr-o selec ție binar ă aleatoare
în spa țiul n-dimensional;
3. Genereaz ă vitezele ini țiale ale particulelor ca valori uniform distribuite în intervalul
[-v max , v max ]n
4. t ←1;
5. … cât timp condi ția de terminare nu este îndeplinit ă
6. pentru i=1,…, N /* fiecare particul ă*/
7. Genereaz ă ilbest Pr
folosind tehnica descris ă în sec țiunea 3.1;
8. Actualizeaz ă viteza particulelor utilizând ecua ția (3.3); /* d=1,…, n */
9. Actualizeaz ă pozi ția particulelor utilizând ecua țiile (3.6)- (3.11)
10. val ← EvalFitness (iXr
);
11. dac ă (val < BEST i) atunci ibest Pr
← iXr
; ș
12. dac ă (val < GBEST ) atunci gbest Pr
← iXr
;ș
13. ș
14. t←t+1;
15. repet ă
16. return Pgbest
17. stop
Lista 3.3 Structura general ă a algoritmului BHTPSO
Utilizarea metodei Particle Swarm Optimization în pro bleme de conducere optimal ă 23
3.3.2 Contribu ții la ameliorarea topologiei "local best"
Așa cum am v ăzut, direc ția ilbest Pr este dat ă de cea mai bun ă experien ță a particulelor care
formeaz ă vecin ătatea sa "social ă”. O modalitate de a ameliora intensificarea este a ceea de a
considera, pe lâng ă vecin ătatea sa "social ă”, și o c ăutare a unei solu ții mai bune într-o
vecin ătate "geometric ă”. În lucrarea (Mînzu, 2015) a fost prezentat ă o materializare posibil ă
a acestei idei. S-a propus ca procedura ce determin ă ilbest Pr să includ ă o component ă de
intensificare care s ă ia în considerare pozi ția curent ă iXr și care este un algoritm determinist
de coborâre local ă numit LDDA (local descent deterministic algorithm ). Obiectivul acestui
algoritm este s ă produc ă o nou ă pozi ție '
iXr, situat ă în vecin ătate "geometric ă” a vectorului
iXr, care s ă aib ă o mai bun ă valoare a func ției obiectiv. Acest nou vector '
iXr poate s ă dea
un nou ibest Pr, sau chiar cea mai bun ă solu ție global ă gbest Pr. Practic acest algoritm determinist
este integrat în procedura de calcul a vectorului ilbest Pr ca în schema de mai jos.
Generare_Plbest (i)
1. start
2. Determin ă indicii j1, j2, j3 ale celor 3 /* pot fi și mai multe "informatoare"*/
particule "informatoare" ale particulei #i;
3. ( j, val 1)← max( BEST j1, BEST j2, BEST j3)
4. ('
iXr, val 2)←LDDA (iXr);
dac ă val 1<val 2
5. atunci Plbest (i)← Pbest (j)
6. altfel Plbest (i)← '
iXr
7. ș
8. return Plbest (i)
Func ția Generare_Plbest (i) este apelat ă în linia #7 a Listei 3.3. Linia #3 determin ă cea mai
bun ă experien ță personal ă pentru cele 3 particule informatoare. Valoarea val 1 este cea mai
mic ă valoare (dac ă c ăutam un minim) dintre cele 3 valori BEST și j este indicele respectiv.
De remarcat c ă Plbest (i) se poate întoarce cu valoarea pozi ției '
iXr, generat ă de LDDA . Pe de
o parte, efectul pozitiv este c ă '
iXr produce în general o valoare foarte bun ă pentru func ția
obiectiv, ba chiar un minim local. Pe de alt ă parte, avem de a face cu o anulare a comunic ării
cu particulele informatoare și roiul nu se mai comport ă a șa cum este spiritul PSO.
În aceast ă lucrare propunem o nou ă abordare a introducerii acestei c ăut ări locale
deterministe într-o vecin ătate geografic ă. Principiul de baz ă pe care trebuie s ă-l
implement ăm este: Componenta social ă de comunicare local ă trebuie s ă r ămân ă
neschimbat ă, pentru a p ăstra strategia de intensificare adoptat ă de BHTPSO. Aplicarea unei
componente de intensificare care s ă ia în considerare pozi ția curent ă (aplicarea un algoritm
determinist de coborâre local ă, fie el și LDDA) se va face separat de generarea Plbest și
simultan pentru toate particulele roiului.
Algoritm BHTPSOM
start
……………………………………… …………………………………………… ……………
t ←1;
… cat timp condi ția de terminare nu este îndeplinita
pentru i=1,…, N /* fiecare particula*/
24 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
Genereaz ă ilbest Pr
folosind tehnica descris ă în sec țiunea 3.1;
…………………………………………… …………………………………………… ………….
ș
pentru i=1,…, N
iXr
←GDD( iXr
) /* iXr
←'
iXr
*/
ș
t←t+1;
repeta
return Pgbest
stop
Lista 3.4 Structura general ă a algoritmului BHTPSOM
Din punct de vedere al implement ării, se poate vedea în Lista 3.4 algoritmul BHTPSOM (M
de la modificat). Lista 3.4 este doar scheletul Listei 3.3 la care s-a inserat ciclul încercuit cu
linie întrerupt ă, chiar înainte de trecerea la itera ția urm ătoare. Prin acest ciclu, se execut ă
pentru toate particulele algoritmul GDD (geographic al deterministic descent).
Procedura GDD( iXr) porne ște din pozi ția iXr și are n itera ții. În fiecare itera ție, numai bitul
#d, d=1,…, n, este eventual schimbat, dac ă aceasta schimbare duce la cre șterea func ției
fitness. Astfel, se genereaz ă o secven ță de vectori adiacen ți ca în schema urm ătoare:
' 2 1
in
i i i i X X X X Xrr
Lrrr
= → → → →
Unii dintre ace ști vectori pot fi identici.
Lista 3.5 prezint ă o implementare posibil ă a acestui algoritm. Valoarea fitness i este deja
calculat ă în itera ția anterioar ă a algoritmului BHTPSOM.
func ție GDD( iXr)
1. for d=1,…, n
2. d
ix← complement (d
ix)
3. val ← EvalFitness (iXr);
4. dac ă (val < fitness i)
5. atunci fitness i ← val ;
6. altfel d
ix← complement (d
ix); /* revin la valoarea anterioar ă */
7. ș
8. ș
9. dac ă (val < best i) atunci ibest Pr← iXr
10. BEST i ←val ;
11. ș
12. dac ă (val < gbest ) atunci gbest Pr← iXr
13. GBEST ← val ;
14. ș
15. return iXr
Lista 3.5 Algoritm determinist de coborâre local ă
Func ția complement (d
ix) schimb ă valoare bitului d
ix din 0 în 1, sau vice versa. Dac ă valoarea
fitness i nu este îmbun ătățit ă, bitul d
ix este restabilit la valoarea sa anterioar ă. Când valoarea
fitness i descre ște, bitul complementat este p ăstrat și GDD va încerca s ă o mic șoreze în
Utilizarea metodei Particle Swarm Optimization în pro bleme de conducere optimal ă 25
continuare, prin complementarea bitului 1+d
ix, ș.a.m.d. Putem considera c ă aceast ă
complementare a bitului d
ix este echivalent ă cu mi șcarea în direc ția "gradientului" pe axa d,
în raport cu pozi ția ini țial ă iXr. S ă remarc ăm c ă GDD ia în considerare numai n combina ții
binare adiacente. Schema din Lista 3.5 poate fi aplicat ă din pozi ția ini țial ă iXr, dar utilizând o
alt ă ordine de tratare a bi ților ce va produce, în general, alt rezultat. Desig ur, dac ă pozi ția
curent ă iXr este un optim local, atunci GDD nu va îmbun ătăți valoarea fitness i.
Complexitatea algoritmului BHTPSO se poate calcula ca fiind num ărul de apeluri ale func ției
obiectiv (i.e. EvalFitness în cazul nostru). La itera ția t, evident, func ția obiectiv este apelat ă
de N ori. Dac ă ne referim la algoritmul BHTPSOM care integreaz ă algoritmul GDD,
complexitatea se ridica la N+n·N =N·( n+1).
Aceast ă propunere de integrare a procedurii GDD poate s ă fie ameliorat ă, de la caz la caz,
prin alte trei modific ări posibile.
Modificarea 1: Procedura GDD poate fi apelat ă în mod recursiv, pân ă când pozi ția nou
generat ă nu mai genereaz ă o ameliorare a func ției obiectiv. Evident, coborârea local ă este
mai eficient ă, dar și mai costisitoare în termeni de num ăr de apeluri ale func ției EvalFitness .
Acest fapt este compensat prin convergenta algoritm ului PSO care este mai rapid ă în
termeni de num ăr de itera ții t.
Modificarea 2: Procedura GDD, datorit ă caracterului sau determinist și asimetric (bi ții sunt
trata ți mereu în aceea și ordine fixa) poate introduce fenomenul de deviere ( bias ) în
cercetarea spa țiului solu țiilor. Acest lucru se poate rezolva renun țând la caracterul
determinist al procedurii. Parcurgerea bi ților se poate face, nu în ordinea d=1,…, n, ci se
poate genera un vector aleator pentru tratarea celo r n bi ți, ce va determina noi rela ții de
adiacen ță. Se ob ține o procedura GRD (geographical random descent), pentru care nu mai
are sens s ă se fac ă un apel recursiv. Testele arat ă o cre ștere de eficient ă a BHTPSOM fat ă
de varianta f ără GRD.
Modificarea 3: Dac ă, la itera ția t, GDD genereaz ă pozi ții locale mai bune și actualizeaz ă
vectorii de pozi ție pentru unele particule, la itera ția t+1, noii vectori de pozi ție genera ți de
mecanismul BHTPSO pot s ă nu fie suficient de dep ărta ți de vechile pozi ții. De aceea, la
apelul urm ător al GDD, noile pozi ții vor fi atrase de cele anterioare determinate la pasul t.
Acest fapt arat ă c ă apelurile la GDD pot fi ineficiente, în ciuda pre țului pl ătit în termeni de
complexitate. Pentru a contracara aceast ă situa ție, nu trebuie apelat ă procedura GDD la
fiecare itera ție t. Dup ă un num ăr de itera ții f ără ameliorare a pozi țiilor "local best", noii vectori
de pozi ție sunt suficient de dep ărta ți de cei care au generat ibest Pr
N i , , 1L= . De aceea exist ă
șanse mai mari s ă se genereze noi vectori "local best". În testele e fectuate, am ales s ă
apel ăm GDD ori de cate ori num ărul de itera ții f ără ameliorare a pozi țiilor "local best" este cel
pu țin ∆ pentru toate particulele, adic ă avem: ()∆ ≥
=iN iNF
,…, 1min unde ∆ este un nou
parametru al algoritmului ce trebuie setat.
3.3.3 O problem ă de conducere optimal ă cu comand ă discret ă binar ă
In Anexa 4 este prezentat un model neliniar discret în timp, pentru o re țea de colectare a
apelor uzate (RCAU), a șa cum a fost propus și dezvoltat în (Carp, 2014) și (Mînzu, 2015).
Controlul desc ărc ării acestor re țele duce la o problem ă de optimizare binar ă, a șa cum este
prezentat în aceea și anex ă, problem ă numit ă Sewer Network Discharge Optimization
Problem (SNDOP). Se consider ă re țeaua din figura 3.8.
Datele RCAU sunt: Nr. de bazine (tancuri) n=10;
– Perioada de e șantionare: T s=120 sec;
26 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
– Orizontul de timp pe care se studiaz ă evolu ția RCAU: H=40 (T s);
– Capacit ățile maxime ale bazinelor:
M1=10 M2=14 M3=6 M4=20 M5=50 M6=10 M7=14 M8=6 M9=20 M10 =40;
Influentul estimat pentru momentul t și pentru bazinul # i : D(t, i), t=1,…,40 ; i=1,…,10;
În figura 3.9 este ilustrat ă o predic ție pentru debitul de influent din zonele de captare
corespunz ătoare bazinelor 1 și 2, în cazul unei ploi tipice. În programul BHTPSO M, predic ția
va fi exprimat ă în unit ăți de volum (pentru o perioad ă de e șantionare), dup ă opera țiile de
integrare, discretizare și corec ție.
Desc ărcarea RCAU poate fi privit ă ca o problem ă de control optimal binar care s ă
minimizeze devers ările totale Qover .
tank 1tank 2
tank 3tank 4
d1d4 d2
d3u1u2
u3u4tank 5
tank 6
tank 7tank 8
tank 9d6d5
d7d8
u6u7u8
u9 tank
10
d10 u10 u5
d9
Figura 3.8 Structura unei re țea de colectare a apelor uzate Figura 3.9 Debit influent în zona 1 -rosu
și 2-albastru
Problema este caracterizat ă de urm ătoarele elemente:
● Ecua țiile de stare discrete ale RCAU sunt:
++
= = +
)) ( – ) ( ) ( ( min (t)) – ) ( ) ( ( min
)) ( ), ( ( ) 1 (
10 10 10 10 1 1 11
t Ut Q t x , MUtQ tx , M
tUtXf tX LL
unde
Ttx txtx tX )] ( ) ( ) ( [) (10 2 1 L = : starea sistemului
Tt UtUtUtU tU )] ( ) ( ) ( ) ( [) (10 3 2 1 L = : vectorul comenzilor binare
Ecua țiile de stare detaliate pentru fiecare bazin sunt:
x 1(t+1)=min( M1, x1(t)+ Q1(t)-U1(t)); Q1(t) ∆
= D(t,1)
x 2(t+1)= min( M2, x2(t)+ Q2(t)-U2(t)); Q2(t) )∆
= D(t,2)+ U1(t)
…….
x 10 (t+1)= min( M10 , x10 (t)+ Q10 (t)-U10 (t)); Q10 (t) )∆
= D(t,10)+ U5(t)+ U9(t)
Ecua ția ie șirii este: ) ( ) (10 effluent t Ut Q y(t) = =
● condi țiile ini țiale : ] 2 2, 2, 2, 2, 3, 3, 3, 3, 3, [ ; 10 100
0 = …= = X , , , i x)(t xi i
● condi țiile de frontiera : 10 ,…, 1 , ) ( , ) ( 0 = ∈ ≤ ≤ i tX MtXi i i I ; ( I – mul țimea întregilor)
● criteriul de optim : –
Utilizarea metodei Particle Swarm Optimization în pro bleme de conducere optimal ă 27
− + ++ − − + = ∑−
= ∈1
10 10 10 10 1 1 1 1) (over
0)] (t) U – ) ( ) ( , 0 max( ) ) ( ) ( ) ( , 0 [max( min H
t t Ut UM t Qtx MtUtQtx Q L
Reprezentarea solu ției
Pentru algoritmul BHTPSOM, o solu ție x este vectorul de pozi ție al unei particule din roi. Pe
de alt ă parte, o solu ție trebuie s ă determine în mod unic traiectoria de stare și deversarea
totala Qover , în condi țiile în care starea ini țial ă a bazinelor, influentul estimat pe tot orizontul
de timp și to ți ceilal ți parametrii ai RCAU sunt cunoscu ți. De aceea o solu ție x este o
secven ță a intr ărilor de comand ă pentru toate bazinele și pentru toate perioadele de
eșantionare apar ținând orizontului de timp. Dac ă presupunem c ă t 0=1, structura solu ției x
este: ] )(. )()(|| ) 1 ( ) 1 ( ) 1 ( [
12 1
12 1444 3444 21L444 3444 21
− = ==
Htf n f f
tn
ftU tUtU U U Ux .. …
Se constat ă c ă o solu ție este un vector binar cu 1) -(Hnm ×= bi ți. În cazul nostru, o solu ție
are m=390 bi ți.
Evaluarea func ției obiectiv
În implementarea noastr ă, evaluarea func ției obiectiv este realizat ă de func ția EvalFitness (x)
care simuleaz ă evolu ția sistemului dinamic (3.12), conform figurii 3.10. Aceast ă func ție
întoarce valoarea Qover , dar determin ă și traiectoria de stare i.e. secven ța de st ări X(1), X(2),
…, X(H) (ultima intrare de control fiind U(H-1)).
Parametrii adopta ți pentru execu ția algoritmului BHTPSOM în vederea rezolv ării acestei
probleme sunt: num ărul de particule din roi=20; vmax=5.;amax=6.; C1min =0.5;
C1max=2.; C2min=1.; C2max=2.; C3min=0.5; C3max=1.5; wmin=0.2; wmax=0.6;
Pentru cazul solu ționat avem Volumul total de influent=171 (unit ăți de volum.)
Algoritmul converge la itera ția t=34 dar cu un num ăr de apeluri ale f. obiectiv Napel =266581 .
Comanda optimal ă g ăsit ă genereaz ă o deversare total ă Qover =0 (unit ăți de volum)
și genereaz ă o evolu ție a st ărilor, dintre care figura 3.11 prezint ă doar 5 variabile de stare.
Liniile întrerupte marcheaz ă capacit ățile maxime ale bazinelor.
Pentru o problema de aceast ă talie, consideram c ă rezultatul este remarcabil
Pentru o nou ă stare ini țial ă, de exemplu ] 5 6, 3, 1, 2, 7, 3, 2, 4, 3, [0=X
comand ă optimal ă este diferit ă și duce la optimul Qover =1 (unit ăți de volum) și converge într-
un num ăr relativ mare de apeluri ale func ției obiectiv Napel = 446901. Comanda determinat ă
genereaz ă o evolu ție a st ărilor prezentat ă în figura 3.12.
Figura 3.11 Evolu ția st ărilor determinate de
BHTPSO Figura 3.12 Evolu ția st ărilor pentru noua stare
ini țial ă
28 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
3.4 Concluzii
Plecând de la cele dou ă variante de baz ă ale algoritmilor PSO din literatur ă, a fost descris ă
și a treia variant ă "standard" a algoritmului PSO, cea care se bazeaz ă pe o topologie hibrid ă
– Hybrid Topology Particle Swarm Optimization (HTPS O)-, adic ă utilizeaz ă ambele topologii,
global ă și local ă, în acela și timp, variant ă folosit ă în aceast ă lucrare.
Dac ă PCO are și un caracter bilocal cu starea, s-a considerat o f unc ție obiectiv extins ă.
Evaluarea func ției obiectiv, dat ă fiind natura PCO, se realizeaz ă cu ajutorul unui model al
procesului considerat.
Aplicarea algoritmului HTPSO la rezolvarea unor PCO continue a fost ilustrat ă pe trei cazuri:
procesul neliniar din reactorul Batch, sistemul lin iar cu criteriu Lagrange dar bilocal pe stare
și Problema Liniar P ătratic ă discret ă.
Pentru aplicarea PSO la o PCO discret ă-binar ă a fost descris ă pe larg o implementare (cu
elemente existente în literatur ă) de algoritm HTPSO adaptat la cazul binar. S-a ad ăugat și o
accelera ție a particulelor pe fiecare component ă, care este legat ă de o probabilitate de
schimbare a valorilor binare din vectorul de pozi ție. O modalitate de a ameliora intensificarea
algoritmului BHTPSO este aceea de a considera, pe l âng ă vecin ătatea sa "social ă", și o
căutare a unei solu ții mai bune într-o vecin ătate "geometric ă".
Testarea acestui algoritm (BHTPSOM) a fost f ăcut ă pe problema de desc ărcare optimal ă a
unei re țele de colectare a apelor uzate (RCAU) de mari dime nsiuni.
Solu țiile ob ținute au demonstrat realismul acestei abord ări, prin caracterul lor optimal sau
quasi-optimal, și durata convenabil ă a execu ției algoritmului.
Contribu țiile din acest capitol sunt:
Integrarea tehnicii step control – care nu corespunde unei restric ții specifice PCO – în
algoritmului HTPSO pentru a asigura un profil de co mand ă cu o evolu ție continu ă și
chiar derivabil ă, pe un domeniu cat mai larg. Astfel, cel pu țin, comanda "optimal ă”
evit ă salturile puternice;
S-a propus ca procedura ce determin ă experien ța local ă cea mai bun ă s ă includ ă, pe
lâng ă informa ția "social ă", o component ă de intensificare care s ă ia în considerare
pozi ția curent ă (informa ția "geometric ă"). În acest scop, s-a introdus un algoritm de
intensificare "geometric ă", determinist, de coborâre local ă numit GDD (geographical
deterministic descent);
Au fost propuse, de asemenea, trei tehnici de amel iorare a algoritmului GDD, care au
vizat:
– apelul recursiv al GDD, pentru m ărirea eficientei;
– minimizarea fenomenului de deviere ("bias") în c ăutarea solu țiilor optime;
– apelarea selectiv ă, la un anumit num ăr de itera ții f ără ameliorare a solu țiilor
"local best".
Utilizarea algoritmului diferen țial stigmergic la probleme de conducere optimal ă 29
Capitolul 4
Utilizarea algoritmului diferențial stigmergic
la probleme de conducere optimală
4.1 Algoritmul ACO. Utilizarea ACO la probleme de optim izare cu parametri
continui
Metoda „Optimizare cu colonie de furnici” (Ant Colo ny Optimization (ACO)(Dorigo, 1995)) a
fost dezvoltat ă pentru a fi utilizat ă în rezolvarea problemelor de optimizare combinator ic ă.
Avantajul posibilit ăților de a folosi reprezent ări sub form ă de graf a spa țiului de c ăutare, de a
putea integra în algoritm informa ții euristice, de a utiliza popula ții de solu ții ( ce asigur ă în
general robuste țe și evitarea unei convergen țe premature) și nu în ultimul rând de a fi u șor
de hibridizat, a f ăcut ca ACO s ă fie aplicat cu succes în multe probleme din domeni ul
sistemelor de productic ă (Șerbencu, 2007), ( Șerbencu,2014) și (Șerbencu și Mînzu, 2016).
Mecanismul utilizat de furnicile pentru a transmite informa ții celorlalți membri ai comunit ății
se bazeaz ă pe emiterea și receptarea de feromoni ce sunt depu și în mediu. Coordonarea
realizat ă prin acest mecanism de comunicare poart ă numele de comportament stigmergic.
Un algoritm promi țător bazat pe structura algoritmului ACO, și care poate fi aplicat
problemelor de optimizare cu variabile continue est e „Algoritmul diferen țial stigmergic” =
„Differential Ant-Stigmergy Algorithm” (DASA) propu s de Korosec în 2006. În cele ce
urmeaz ă este realizat ă o prezentare a DASA, se analizeaz ă performanta lui în aplicarea pe
PCO și se propun amelior ări ale structurii lui în scopul cre șterii performantelor în cazul
aplic ării la rezolvarea PCO.
4.2 Algoritmul diferențial stigmergic (DASA)
4.2.1 Forma discret ă fin-granulat ă a domeniului continuu
In cadrul DASA(Korosec 2010), pasul de c ăutare este discretizat, și nu direct spa țiul de
căutare. Fiecare direc ție de c ăutare este discretizat ă folosindu-se o baz ă de discretizare b.
Fiecare pas cu care poate fi modificat ă solu ția curent ă este calculat sub forma iwδ⋅ unde
Zx bx
i ∈ =cu δ . iδeste numit ă diferen ță a parametrului și este aleas ă a șa cum se detaliaz ă
mai jos, iar ω este un factor de ponderare ales ca num ăr aleator întreg cu valori între 1 și
1−b. Astfel dac ă consider ăm ip' valoarea parametrului i din solu ția curent ă, pe durata c ăut ării
valorilor optime ale parametrilor, noua valoare ip, atribuit ă parametrului i este:
i i ip p ωδ + =' (4.2)
unde iδ este un element din mul țimea i∆de diferen țe pozitive și negative aplicabile
parametrului i } ,…, 2 , 1 , |{0} ,…, 2 , 1 , |{1
, ,1
, , iL k
k i k i iL k
k i k i i d k b d k bi i= + = ∪∪ = − = =∆− + + + − + − −δδ δδ ,
cu 1+−=i i i L Ud . De aceea, pentru fiecare parametru ip, diferen ța parametrului, iδ, ia
valori între iLb și iUb, iar iL și iU se calculeaz ă cu: )(log i b iL ε = , și
)) min( ) (max( log i i b i p p U − = Parametrul iε fixeaz ă precizia maxim ă cu care s ă fie calculat
parametrul ip și reprezint ă un parametru al algoritmului.
4.2.2 Reprezentarea sub form ă de graf
Din toate mul țimile, i∆, Di≤≤1 , unde D reprezint ă num ărul de dimensiuni ale spa țiului de
căutare, se construie ște un graf numit graf de c ăutare G=( V,E ) cu mul țimea de noduri V și
30 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
mul țimea de arce E intre noduri, conform cu figura 4.1. Fiecare mul țime i∆ din (4.3) este
reprezentat ă de o mul țime de noduri, { }1 2 , 2 , 1 ,,…, ,+ =
id i i i i v vv V și UD
iiV V
1== (4.6)
În cadrul grafului de c ăutare , fiecare nod din mul țimea Vi este conectat cu toate nodurile care
apar țin mul țimii Vi+ 1. Se ob ține astfel un graf orientat, în care orice drum v de la nodul de start
la oricare dintre nodurile de sfâr șit are aceea și lungime D și poate fi definit ca un șir de
noduri: ) (2 1 Dvv v vK = cu Di Vvi i ≤≤ ∈ 1,
Fiec ărei mul țimi Vi îi este asociat ă și o func ție distribu ție de probabilitate Cauchy ce va
modela feromonul iar utilizarea ei este detaliat ă în paragraful urm ător. În figura 4.1 Drumul
exemplificat cu albastru în a) corespunde unei posi bile e șantion ări a distribu țiilor Cauchy
asociate din b).
4.2.3 Parametrii DASA
Modul de adaptare a parametrilor distribu ției Cauchy reduce, spre finalul c ăut ării, lățimea
grafului la doar câteva valori (noduri) dominante ( în jurul lui 0), acest lucru determinând și o
convergent ă în valoare a solu țiilor ob ținute. Pe de alt ă parte printr-o alegere adecvat ă a
bazei discrete b, se poate controla l ățime grafului asociat astfel îmbun ătățindu-se de
asemenea convergen ța algoritmului. Valorile recomandate pentru paramet rii DASA, în cazul
func țiilor utilizate în analizele realizate în (Korosec, 2010), (Șerbencu, 2011) și ( Șerbencu,
2012) sunt utilizate și în testele pe PCO.
… …
… …
… … …
… … …
…
…
…
…
…
… Start
…..
…..
a) b)
Figura 4.1 a) Graful de c ăutare asociat unei probleme de optimizare multi-par ametru. b)
exemplu de distribu ții Cauchy asociate
Utilizarea algoritmului diferen țial stigmergic la probleme de conducere optimal ă 31
4.2.4 Analiza caracteristicilor DASA
1) De și bazat pe metafora furnicilor, DASA nu este un alg oritm care s ă genereze direct o
popula ție de solu ții. DASA lucreaz ă cu o singur ă solu ție curent ă, iar popula ția de agen ți
furnic ă, genereaz ă solu ții în vecin ătatea acesteia.
2) Algoritmul ACO standard poate memora prin feromo n variante dispersate „geografic” de
componente atractive ce pot fi ad ăugate la solu ția par țial ă curent ă. Prin utilizarea unei
singure distribu ții Cauchy pentru fiecare direc ție de c ăutare, componentele atractive sunt
concentrate în jurul unei singure loca ții.
Din aceste prime dou ă caracteristici se poate observa c ă DASA memoreaz ă mai pu ține
informa ții despre profilul spa țiului de c ăutare comparativ cu AE care memoreaz ă o
întreag ă popula ție de solu ții de calitate, și comparativ cu PSO care suplimentar pe lâng ă
popula ția de solu ții curente mai memoreaz ă pentru fiecare particul ă cele mai bune solu ții
traversate și o vitez ă prezent ă.
3) Algoritmul ACO pentru probleme de optimizare com binatorial ă recomand ă integrarea
unei informa ții euristice în procesul de selec ție a componentelor de solu ție. În forma de
baz ă DASA nu utilizeaz ă o astfel de informa ție. Pentru cazul particular al aplic ării la
PCO, la care solu ția reprezint ă o e șantionare a comenzilor ce vor fi aplicate unui proc es,
un mecanism de tip „step control” poate fi integrat ca informa ție euristic ă.
4) Deoarece DASA î și controleaz ă intern pasul de c ăutare în jurul solu ției curente, în
itera țiile finale ajungându-se, în mod normal, la o c ăutare cu pa și foarte mici în jurul
solu ției curente, integrarea prin hibridizare a unor met ode suplimentare de c ăutare local ă
nu este necesar ă și nici recomandat ă a șa cum se întâmpl ă în cazul ACO.
5) În cazul în care printr-un pas mare de c ăutare, se produce o îmbun ătățire a solu ției
curente, dar prin acest pas se traverseaz ă în cealalt ă parte a v ăii ce con ține un minim ce
trebuie exploatat, informa ția de feromon va scade semnificativ probabilitatea ca în
urm ătoarele câteva itera ții s ă se realizeze pa și înapoi c ătre vale pe respectiva direc ție
de c ăutare. În cadrul unui algoritm de optimizare ce int egreaz ă și o strategie de c ăutare
de tip “oposittion based” acest aspect al metodei d e c ăutare poate fi adresat direct.
4.3 Aspecte ale aplicării DASA la PCO.
Faptul c ă DASA are un control direct asupra pasului de c ăutare, și selec ția acestuia
afecteaz ă în mod direct timpul de execu ție al algoritmului prin modificarea num ărului de
noduri ata șat fiec ărui parametru optimizat, conduce în cazul PCO la ev iden țierea urm ătoarei
observa ții.
Observa ția 4.1 : În cazul în care parametrii supu și optimiz ării reprezint ă comenzi ce trebuie
aplicate unui proces fizic, și nu simulat, precizia cu care trebuie determina ți ace ști parametri
trebuie corelat ă cu precizia convertorului numeric analogic prezent pe dispozitivul de
comand ă ce va fi utilizat în conducere. Astfel, dac ă se consider ă un CNA pe 12 bi ți, cu el pot
fi generate un num ăr de maxim 4096 comenzi diferite. Pentru un proces ce accepta comenzi
în intervalul [-5V,5V] rezult ă că este util ă determinarea unei comenzi cu o precizie de
10V/4096= 0.0024V. În func ție de problema rezolvat ă și algoritmul utilizat o astfel de valoare
poate fi considerat ă de referin ța în oprirea sau repornirea c ăut ării, sau pentru stabilirea unui
pas de discretizare. Suplimentar valorile comenzii pot fi normalizate.
32 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
4.4 Aplicarea DASA la PCO
4.4.1 Procesul Batch Reactor – Control optimal cu stare f inal ă liber ă și timp final fixat
Consider ăm problema „Batch Reactor” prezentat ă în 1.4.1. Procesul se desf ășoar ă dup ă o
reac ție de tipul legii lui Arrhenius: CBAk k2 1
2 → → . Procesul este comandat prin intermediul
profilului de temperatur ă.
Ca și în cazul ASA, a fost considerat ă eșantionarea comenzii aplicate u în Nt =50 e șantioane.
Rezultatele ob ținute la problema Batch-Reactor pentru execu ția pe 1000 itera ții și 10 furnici
(10000 evalu ări ale func ției criteriu) sunt cele din figura 4.2 și figura 4.3 . În figura 4.4 este
prezentata evolu ția relativ ă a valorii func ției criteriu în cea mai buna solu ție g ăsit ă în raport
cu valoarea la care se opre ște c ăutarea. ( Jk-Jfinal )/ Jfinal . Se observ ă că spre finalul celor 1000
de itera ții îmbun ătățirea Criteriului scade sub 10 -5.
Valoare criteriului pentru solu ția g ăsita este …. 6107 . 0)(=f Btc într-un num ăr de evalu ări
10000 =eval N . Valoarea final ă ob ținut ă de DASA, mai bun ă decât cea determinat ă de
HTPSO cu doar 0.05% este rezultatul unui num ăr mai mare de evalu ări ale func ției criteriu.
Pentru sc ăderea num ărului de evalu ări ale criteriului se propune în sec țiunea urm ătoare o
metoda de adaptare a pasului de e șantionare a comenzii.
Figura 4.2 Evolu ția st ărilor. (DASA- Batch Reactor) Figura 4.3 Evolu ția temperaturii de comanda
(DASA – Batch Reactor)
Figura 4.4 Evolu ția relativ ă a valorii func ției
criteriu pe durata c ăut ării ( Jk-Jfinal ) (DASA – Batch
Reactor) Figura 4.5 Comanda calculat ă pentru problema
reactorului fed-batch în 200 de itera ții
Utilizarea algoritmului diferen țial stigmergic la probleme de conducere optimal ă 33
4.4.2 Utilizarea DASA la ”Problema de producere fed-batch a proteinelor”
În scopul valid ării utiliz ării DASA în probleme de sinteza a unei comenzi în b ucl ă deschis ă
reconsider ăm problema introdus ă în paragraful 2.3.2. În cadrul acestei probleme mo delul
sistemului are 7 st ări xi i={1,..,7}. Consider ăm aceea și ini țializare a vectorului de stare și
dorim s ă maximiz ăm la momentul final cantitatea de protein ă produs ă cu un consum minim
de nutriment și inductor. Comanda este restric ționat ă în intervalul admisibil [0,1]. Aplicând
DASA la aceast ă problem ă și utilizând valorile recomandate pentru parametrii DASA pe doar
2000 de evalu ări ale criteriului s-au ob ținut rezultatele prezentate în figura 4.5. Valoarea
ob ținut ă de doar 6.0506 poate fi în acest caz satisf ăcătoare.
În cazul execut ării pe 1000 de itera ții (tot cu 10 furnici) se ob ține un rezultat J*= 6.2786.
Acest rezultat este semnificativ mai bun decât cel raportat în (Valadi 2014) și pune în
eviden ță abilit ățile de c ăutare local ă ale DASA. Justificarea de a ob ține o comand ă cu o
precizie de 10 -15 pentru un sistem de comand ă în bucl ă deschis ă este cel mai adesea doar
una teoretic ă.
Evolu ția func ției criteriu dea lungul itera țiilor în raport cu valoarea final ă la care se opre ște
algoritmul este data în figura 4.6 iar profilul de comenzi ob ținute în figura 4.7. Dup ă primele
400 de itera ții valoarea func ției criteriu nu se mai modifica decât la a 5-cea ze cimala, care de
multe ori nu se raporteaz ă în lucr ările din domeniu și nici nu poate fi influen țat ă efectiv de o
comand ă transmisa printr-un convertor numeric analogic. As tfel putem considera c ă dup ă
cele 400 de itera ții algoritmul a convers c ătre o solu ție finală (de calitate satisf ăcătoare).
Figura 4.6 Evolu ția valorii func ției criteriu în raport
cu valoarea final ă Figura 4.7 Comenzile calculate în 10000 de
evalu ări ale func ției criteriu.
Performan țe și mai bune s-ar putea ob ține în cazul în care comanda ar fi e șantionat ă mai fin,
dar formularea problemei în (Valadi 2014) cere dete rminarea profilului comenzii pe ore. În
plus o comand ă mult mai potrivit ă ar fi una în bucl ă închis ă, utilizându-se o structur ă de
control de tipul celei ce va fi introdus ă în capitolul 6, îns ă aceasta ar necesita m ăsura sau
estimarea st ărilor reale ale procesului.
Diferen ța dintre profilul comenzilor din figurile 4.5 și 4.7 se datoreaz ă și faptului c ă func ția
criteriu a fost definit ă doar în raport cu starea final ă și nu și în raport cu evolu ția comenzii
(adic ă o combina ție a consumului de nutriment și substan țe inductoare). Astfel valori similare
ale st ării finale la momentul t final fixat pot fi accesibile cu comenzi diferite, solu ția problemei de
optimizare ne fiind în mod necesar unic ă.
4.5 Contribuții la ameliorarea performanțelor DASA pent ru rezolvarea PCO
Pentru cazul PCO în care spa țiul de c ăutare este reprezentat de e șantioane succesive ale
comenzii se propun doua metode de cre ștere a performan ței DASA.
34 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
1) Modificarea pasului temporal de e șantionare a comenzii
2) Utilizarea unor variante elitiste ale DASA propu se în ( Șerbencu 2011)
4.5.1 Cre șterea performan ței algoritmului prin redimensionarea spa țiului de c ăutare
Pentru PCO considerate pân ă acum, comanda optimal ă c ăutat ă nu con ține componente
armonice, fiind cel mai adesea o combina ție de componente liniare și exponen țiale în raport
cu timpul. Pentru aceste cazuri se propune testarea unei ree șantion ări cu pas posibil adaptiv
a comenzii supuse optimiz ării, cu scopul de a creste viteza de determinare a unei zone
promi țătoare din spa țiul de c ăutare. Dup ă determinarea unei zone promi țătoare comanda
determinat ă este ree șantionat ă mai fin, procesul putând fi repetat pân ă la ob ținerea unui pas
dorit sau impus de procesul ce urmeaz ă a fi condus. Implementarea unei astfel de strategi i
necesit ă informa ții apriori despre ordinul constantelor de timp ale procesului supus
optimiz ării. Efectul aplic ării acestei strategii este de cre ștere a vitezei de convergen ță prin
separarea etapei de explorare de cea de exploatare. În cazul particular al DASA etapa de
exploatare poate fi controlat ă suplimentar prin eliminarea din graf a nodurilor
corespunz ătoare celor mai mari amplitudini ale pasului de c ăutare. În continuare se prezint ă
implementarea acestei strategii prin secven țierea c ăut ării în doar dou ă etape . La cazul
general secven țierea poate fi realizat ă în k etape.
Secvențierea execu ției în dou ă etape.
1) În etapa 1 se porne ște de la o problem ă de dimensiune redus ă în sensul determin ării
unei comenzi ce utilizeaz ă un pas de discretizare în timp mai mare decât cel impus
pentru rezolvarea problemei. Dup ă rezolvarea acestei noi probleme și ob ținerea unei
solu ții de calitate bun ă (în raport cu un criteriu de convergen ță), se trece la etapa 2 . În
etapa 1 se poate utiliza o precizie mai mic ă și la nivelul valorilor comenzii, reducându-
se astfel num ărul de noduri utilizate în cadrul grafului ata șat problemei. Acest lucru
duce la o modificarea dinamicii algoritmului prin m ic șorarea probabilit ății de a alege
pa și mici de c ăutare care ar produce îmbun ătățiri nesemnificative ale func ției criteriu.
2) etapa 2. Solu ția de la etapa 1 se ree șantioneaz ă cu pasul impus de datele ini țiale ale
problemei sau cu pasul de e șantionare ce urmeaz ă a fi aplicat efectiv în cadrul
algoritmului de conducere numeric ă a procesului. În aceast ă etap ă 2 , de rafinare a
solu ției ob ținute, se poate cre ște și precizia în valoare a solu țiilor calculate prin
eliminarea nodurile corespunz ătoare unor pa și mari de c ăutare, și ad ăugarea unora
de mare fine țe. Astfel se ob ține un comportament intensificator, de c ăutare local ă în
jurul solu ției generate la etapa 1.
Efectul utiliz ării unui pas mai mare în etapa 1 este de a mic șora num ărul de dimensiuni ale
spa țiului de c ăutare. Astfel pentru determinarea unei comenzi cu o precizie dorit ă, evaluat ă
prin ob ținerea unei gradient de sc ădere a valorii func ției obiectiv sub o valoare impus ă pentru
un num ăr consecutiv de itera ții, va necesita un num ăr mai mic de itera ții. Efectul sc ăderii
preciziei de c ăutare în etapa 1 este de a men ține ridicat ă componenta de explorare a
spa țiului de c ăutare.
4.5.2 Aplicarea tehnicii de pas variabil de e șantionare a comenzii pe cazul PCO bilocal ă în
raport cu starea
Pentru o analiz ă a eficientei metodei propuse consideram exemplul d e PCO considerat în
sec țiunea 1.4.2. Aplic ăm DASA în varianta lui de baz ă utilizând o discretizare a orizontului de
evaluare a comenzii în 25 și 50 de e șantioane.
Se poate observa ca diferen ța relativ ă între valorile func ției criteriu este de aproximativ 0,2%,
în favoarea e șantion ării comenzii în 25 de pa și fa ță de 50 de pa și. Faptul c ă prin e șantionare
Utilizarea algoritmului diferen țial stigmergic la probleme de conducere optimal ă 35
cu pas mai mare se poate ob ține un rezultat mai bun se poate explica prin num ărul mai mare
de itera ții necesare pentru ob ținerea aceluia și profil al comenzii când trebuie optimizate mai
multe e șantioane.
Nr. pa și
eșantionare 25 50 Comanda u
Timp 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-3 -2 -1 0123Cea mai buna comanda gasita
Jfinal 3,2311 3,2383 Evolu ția criteriului în raport
cu valoarea final ă
iteratie 0 100 200 300 400 500 600 700 800 900 1000 10 -10 10 -8 10 -6 10 -4 10 -2 10 010 210 4J(iteratie) – J(final)
În continuare se prezint ă rezultatele unui test în care dup ă 4000 de solu ții construite de cele
10 furnici cu un pas de e șantionare de 2/25 secunde, se trece la pasul de e șantionare de
2/50 secunde folosit și cu ASA. Valoarea de 400 de itera ții a fost aleas ă pe baza evolu ției
observate a func ției criteriu. Exemplu de comanda ree șantionat ă prin interpolare liniar ă a
eșantioanelor din solu ția etapei 1 este data în figura 4.8 .
În figura 4.9 sunt prezentate doua variante de ree șantionare ale aceleia și comenzi formate
doar din 11 e șantioane ob ținute la etapa 1. În cazul în care în procesul fizi c se folose ște o
comand ă constant ă în interiorul unui interval de e șantionare, atunci un element de re ținere
Figura 4.8 Comanda ree șantionat ă prin înjum ătățirea perioadei, folosit ă ca solu ție ini țial ă pentru etapa2
36 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
va fi recomandat s ă fie utilizat și în procesul de ree șantionare. Altfel, utilizarea unei
interpol ări de ordinul unu sau superior a comenzilor determi nate în prima etap ă ar putea
aduce îmbun ătățiri semnificative asupra calit ății solu țiilor rafinate în etapa 2 .
Observa ție:
În unele teste realizate, rezultate satisf ăcătoare au fost ob ținute și cu un num ăr mai redus de
furnici în fiecare itera ție. S-a considerat rezolvarea unei alte probleme cu 5 furnici, menite s ă
creasc ă viteza de convergenta a algoritmului. Reducerea nu m ărului de furnici p ăstrând
nemodifica ți ceilal ți parametri are ca efect o deplasare mai rapida înt r-o solu ție “mai buna”
decât cea curent ă. Au fost observate și situa ții în care acest compromis a f ăcut ca pasul ce a
determinat îmbun ătățirea și care a actualiza matricea de feromon s ă nu fie la fel de bun ca
cel selectat dintr-un num ăr dublu de drumuri generate. În general num ărul optim de furnici
depinde și de profilul spa țiului de c ăutare al problemei supuse rezolv ării. Astfel dac ă
problema este uni-modal ă, deplasarea se va face în general dup ă o direc ție dat ă de
sc ăderea gradientului pe fiecare direc ție de c ăutare. Dac ă în schimb problema prezint ă
multiple optime locale, utilizarea unui num ăr de furnici mai mare va favoriza evadarea din
bazinele de atrac ție ale acestora.
4.5.3 Ameliorarea convergen ței. DASA- elitist A/B
În (Șerbencu et al. 2011),( Șerbencu et al. 2012) este propus ă ca solu ție de cre ștere a
vitezei de convergen ță a DASA integrarea a trei variante de elitism. Deci zia introducerii unui
comportament elitist în cadrul algoritmului a fost justificat ă de observa ții precum c ă
eșantionarea distribu ției Cauchy nu conduce la selec ția nodului cu maxim de feromon decât
într-un num ăr de doar 10% din e șantioane pe durata a 1000 de itera ții. Prin acest
comportament de și sunt favorizate și noduri în jurul celui ce a generat ultima îmbun ătățire,
aceast ă îmbun ătățire nu este exploatat ă într-un mod eficient, având în vedere și varia ția
exponen țial ă a pasului de c ăutare corespunz ătoare la doua noduri adiacente.
Având în vedere aceast ă observa ție, în primele dou ă variante elitiste ale DASA s-a propus
folosirea la genera ția curent ă de c ătre una dintre furnici a valorii de vârf a distribu ției de
feromon. Varianta în care se folose ște pasul cu feromon maxim și ponderea w este
regenerat ă a fost numit ă DASA- eltistA, iar varianta în care sunt utilizate inclusiv valor ile
ponderilor care au generat ameliorarea solu ției este numit ă DASA- eltistB . Structura
timp 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-4 -3 -2 -1 0123Comanda reesantionata cu pas 1/5 si utilizare FOH
Figura 4.9 Comanda ree șantionat ă prin mic șorarea de 5 ori a perioadei de e șantionare.
Durata etapa 1 – 400 itera ții
a) Comand ă aplicat ă procesului utilizând
interpolare de ordin zero(ZOH). b) Comand ă aplicat ă procesului utilizând
interpolare de ordin unu(FOH).
Utilizarea algoritmului diferen țial stigmergic la probleme de conducere optimal ă 37
modificat ă a algoritmului este prezentat ă în figura 4.10.
In Șerbencu 2011 s-a folosit un set de 6 func ții de test cu parametri continui și s-a testat
eficien ța unei furnici elitiste comparativ cu una ne-elitis t ă. S-au utilizat 6 func ții benchmark.
S-a observat c ă Furnica-elitist ă-B ob ține rezultatele cele mai bune. Astfel, în 41,83% di n
itera ții f urnica-elitist ă-B este cea mai bun ă a itera ției. Dac ă celelalte furnici sunt cele mai
bune ale itera ției în medie într-un procent de (100%-41,83%)/( m-1)=6,46% itera ții, înseamn ă
că furnica-elitist ă-B este mai bun ă de 41,83/6,46=6,47 ori decât o furnic ă obi șnuit ă. Prin
raportare la varianta DASA standard introdus ă de Korosec s-a ar ătat c ă varianta DASA-
eltistB produce o ameliorare u șoar ă a convergen ței doar pentru unele func ții unimodale și
multimodale. Testele raportate în ( Șerbencu, 2011) au fost realizate pe probleme de
dimensiune 100.
4.5.4 Rezolvarea PCO utilizând DASA- elitist A/B
Pentru testarea variantelor elitiste A și B, s-a considerat problema sintezei comenzii pentru
PCO bilocal ă pe stare utilizat ă și în paragraful 4.5.2. Performan ța DASA- elitist -A ca valoare a
func ției criteriu în solu ția final ă returnat ă, este pu țin mai bun ă decât a celui standard
ob ținându-se J final =3,2290, o valoare cu doar 0,06% mai bun ă. DASA -elitist-B produce o
performan ță similar ă cu 0,04% mai bun ă decât DASA standard și un profil al comenzii u
similar.
4.5.5 DASA elitist probabilistic
A treia variant ă de elitism testat ă pe PCO este cea în care toate furnicile utilizeaz ă în
construc ția drumului componenta (pasul de c ăutare) corespunz ătoare maximului de feromon
cu o probabilitate pelitism și cu probabilitatea complementar ă (1- pelitism ) o diferen ță conform
eșantion ării distribu ției Cauchy ( Șerbencu, 2011). O analiz ă a dependen ței performan ței
DASA- elitist-C în raport cu valoarea lui pelitism a fost introdus ă în Șerbencu 2011. Lucrarea a
ar ătat c ă pentru unele categorii de probleme (func ții uni-modale și multi-modale ne legate de
PCO) se ob ține o eficien ță mai mare din punct de vedere al num ărului de itera ții când pelitism
este mic (0.4) iar pentru alte probleme când pelitism este mare (0.8). A șadar valoarea optim ă a
pelitism devine un parametru ce trebuie la rândul s ău optimizat. Pentru func țiile considerate în
(Șerbencu, 2011) timpul de evaluare era de acela și ordin de m ărime cu timpul de
eșantionare al distribu ției Cauchy. În aceast ă ipotez ă utilizarea unui pelitism mai mare sc ădea
timpul de calcul prin eliminarea e șantion ărilor distribu ției Cauchy. Aceast ă ipotez ă nu este
îns ă valabil ă în cazul PCO la care evaluarea func ției obiectiv implic ă cel pu țin simularea unui
model (de multe ori de tip black-box) al sistemului .
În lucrarea (Șerbencu, 2012) este realizat ă o compara ție între versiunile elitiste ale DASA și
PSO. Amândou ă metaeuristicile converg spre solu ția optim ă dar pentru func țiile considerate,
varianta DASA- elitist-C are o vitez ă de convergen ță superioar ă.
Cu aceast ă variant ă de elitism selectând pelitism =0.4 se ob ține o comand ă similar ă ca
performan ță, cu o valoare a func ției criteriu de J final =3.2300, o valoare cu doar 0.03% mai
bun ă decât varianta standard. Profilul comenzii determi nate este prezentat în figura 4.12.
Timp 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-4 -3 -2 -1 0123Cea mai buna comanda gasita – DASA-elitistC
Figura 4.11 Exemplu de comand ă determinat ă
utilizând DASA elitist-A Figura 4.12 Exemplu de comand ă determinat ă
utilizând DASA- elitist-C
38 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
4.6 Concluzii
În cadrul acestui capitol este utilizat algoritmul „Differential Ant-Stigmergy”, care transform ă
problema de c ăutare într-un spa țiu multidimensional continuu într-o problem ă de construire a
unui drum într-un graf asociat. Particularit ățile algoritmului, precum modul explicit de
selectare a preciziei maxime a pasului discret de c ăutare, sunt analizate în rela ție cu
caracteristicile PCO la care vectorul parametrilor supu și optimiz ării este reprezentat de
eșantioane ale comenzilor aplicabile procesului.
Aplicarea DASA în varianta standard și în dou ă variante ameliorate, la rezolvarea unor PCO
continue a fost ilustrat ă pe trei cazuri: procesul neliniar de tip reactor B atch, problema de
producere fed-batch a proteinelor și sistemul liniar cu criteriu Lagrange dar bilocal pe stare.
O proprietate intrinsec ă a modului de func ționare a DASA face ca acesta s ă exploateze
eficient solu ția promi țătoare identificat ă în etapa exploratorie.
Convergen ța în valoare a solu ției identificate de variantele de algoritm propuse este ilustrat ă
prin evolu ția criteriului relativ la valoarea final ă returnat ă, evolu ții prezentate în figura 4.4 și
figura 4.6
Contribu ții ale acestui capitol sunt:
Propunerea unei tehnici de redimensionare a proble mei de optimizare rezolvabile
de c ătre DASA cu scopul cre șterii vitezei de convergen ță c ătre zonele de bun ă
calitate. Prin rezolvarea într-o prim ă etap ă a unei probleme de dimensiune redus ă,
se amelioreaz ă probabilitatea algoritmului de a fi prins în optim e locale. Solu ția
problemei de dimensiune redus ă este ree șantionat ă prin interpolare, și se
genereaz ă astfel o solu ție ini țial ă de bun ă calitate pentru etapa a doua care va
rezolva problema ini țial ă.
Suplimentar, precizia de c ăutare a fost adaptat ă celor dou ă etape diferite, în etapa
de identificare a zonei promi țătoare utilizând-se doar pa și ”mari”, în etapa de
intensificare utilizându-se pa și corela ți cu precizia impus ă în rezolvarea problemei
ini țiale de c ătre parametrii tehnologici a procesului ce urmeaz ă a fi condus;
Propunerea a trei variante elitiste pentru DASA, c are promoveaz ă utilizarea mai
eficient ă a informa ției transmise prin feromon. Primele dou ă variante de elitism
propuse sunt echivalente unei încerc ări de c ăutare dup ă gradient, în sensul
încerc ării de a reutiliza drumul din graf care a generat u ltima ameliorare a solu ției.
Cea de a treia variant ă DASA –elitist probabilistic propune utilizarea de fiecare
furnic ă cu probabilitatea pelitism a diferen țelor ce au ameliorat ultima dat ă solu ția și
cu probabilitatea complementar ă a unor diferen țe eșantionate conform distribu ției
Cauchy utilizate de DASA.
Amândou ă propunerile de ameliorare a vitezei de convergen ță au condus la o ameliorare a
solu ției g ăsite.
Contribu ții la conducerea în bucl ă închis ă a proceselor, utilizând optimizarea prin metaeuris tici 39
Capitolul 5
Contribuții la conducerea în buclă închisă a
proceselor, utilizând optimizarea prin
metaeuristici
5.1 Necesitatea unei structuri de conducere în buclă î nchisă a proceselor
optimizate
Cele prezentate în capitolele anterioare demonstrea z ă că diverse PCO pot fi rezolvate prin
algoritmi care implementeaz ă metaeuristicile respective, ducând la solu ții care, dac ă nu sunt
chiar optimale, sunt foarte aproape de cele optimal e. Problema care se pune nu este legat ă
de optimalitatea exact ă a solu țiilor ob ținute, ci de faptul c ă avem nevoie de o metod ă care s ă
ne permit ă conducerea procesului în bucl ă închis ă. Aceast ă metod ă trebuie să porneasc ă de
la algoritmul generat de metaeuristic ă, dar s ă genereze o structur ă ca cea din figura 5.1,
unde I(t0) este indicatorul de performan ță (f ără a eviden ția toate datele de care depinde
calculul acestuia).
Să observ ăm urm ătoarele aspecte:
– Lu ăm în considera ție, în general, procese lente, care ne permit s ă alegem perioade
de e șantionare pentru conducerea lor numeric ă de ordinul a cel pu țin câteva minute;
– Consider ăm că st ările procesului sunt citibile sau accesibile, lucru care este adev ărat
în sistemele tratate ca exemplu în capitolele anter ioare;
– Regulatorul optimal trebuie s ă execute algoritmul generat de metaeuristic ă pentru a
determina profilul de comand ă "optimal ă" ce este solu ție a PCO definita de
<proces; H ; I(t0); restric ții> pe un orizont de timp [ t0, tf], bine stabilit;
– Într-o implementare numeric ă, perioada de e șantionare T trebuie s ă permit ă
regulatorului optimal s ă rezolve PCO pe un orizont de timp h·T, i.e. pe un num ăr de h
perioade de e șantionare.
5.2 Structură de conducere utilizând controlul predict iv
În cele ce urmeaz ă, adapt ăm conceptul de control predictiv la conducerea în b ucl ă închis ă
folosind un algoritm ce rezolv ă o PCO pe baza unei metaeuristici. Preciz ăm c ă este vorba de
o adaptare a acestui concept și nu o utilizare integral ă a teoriei referitoare la controlul
predictiv, dezvoltat ă în spatii cu bune propriet ăți de regularitate. Utiliz ăm doar caracteristicile
general acceptate ale acestui concept. În figura 5. 2 este prezentat ă structura general ă a
sistemului de conducere propus cu control predictiv , a șa cum este descris ă în lucrarea
(Laz ăr, 1999), și care subliniaz ă caracteristicile acestui concept.
Elementele principale ale metodologiei controlului predictiv sunt prezentate în continuare. Regulator
optimal Proces restricții U(t)
x(t)y(t)I(t0)
Figura 5.1 Sistem de conducere cu regulator optimal
40 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
ș La momentul prezent t=k·T , vectorii de ie șire y(k+i ) cu i=1,…,H sunt predicta ți, H fiind
orizontul de predic ție. În cazul nostru, consider ăm c ă vectorul ie șirilor y(t) coincide cu
vectorul de stare x(t).
În cele ce urmeaz ă vom folosi urm ătoarele nota ții:
– x(k+i|k ), i=1,…,H : valorile vectorilor de stare predictate pe baza d atelor disponibile
până la momentul k;
– U(k+i|k ), i=1,…,H-1 : valorile comenzilor din scenariul viitor de contr ol, stabilite pe
baza datelor disponibile pân ă la momentul k.
Model
Proces
Dispozitiv
Optimizare
Proces secvență ieșiri
predictate comenzi și
ieșiri din trecut
erori
predictate
restricții criteriu
optimizare comenzi
viitoare +evoluția
referinței
–
x(k) U(k)
Figura 5.2 Structura general ă a sistemului de conducere cu control predictiv
Predic ția este realizat ă utilizând un model al procesului. Valorile predictate x(k+i|k ), i=1,…,H
depind de valorile U(k+i|k ), i=1,…,H- 1, care se vor aplica începând cu momentul t=k·T. Să
observ ăm c ă:
U (k+i|k ) ≠U(k+i ), k >0 , i=1,…,H- 1,
pentru că U(k+i|k ) este o valoare a unei comenzi viitoare, determina t ă la momentul prezent
t=k·T , în timp ce U(k+i ) este valoarea real ă a unei comenzi viitoare la momentul t= (k+i)·T,
care în mod evident nu este cunoscut ă la momentul prezent.
ș Primul element din șirul de comenzi optimale (adic ă din "profilul de comand ă "), U(k|k ),
este aplicat procesului real ca și comand ă curent ă – în figura 5.2 este notat cu U(k).
Celelalte valori din șirul de comenzi optimale sunt practic uitate, pentr u că la urm ătoare
perioada de e șantionare, (k+1 )T, valoarea real ă a st ării, x(k+1 ), va diferi de cea predictat ă,
x(k+1|k ), și întreaga procedur ă va fi repetat ă. O nou ă comand ă va fi calculat ă, U(k+1|k+1 ), a
cărei valoare, în general, va fi diferit ă de cea predictat ă la momentul curent, U(k+1|k ). Pentru
că șirul de comenzi optimale este calculat la fiecare p erioad ă de e șantionare, pentru un
orizont de timp H, spunem că abordarea prin control predictiv are un orizont al unec ător.
ș Minimizarea erorii de predic ție
Valorile R(k+i|k ) , i=1,…,H , definesc referin țele pe orizontul de predic ție, în ideea c ă vectorul
de stare va evolua de la x(k), [ ]T
nkx kx k x ) ( ) ( ) (1L = ,
către referin ța sa R(k): [ ]T
nkr kr kR ) ( ) ( ) (1L = .
Contribu ții la conducerea în bucl ă închis ă a proceselor, utilizând optimizarea prin metaeuris tici 41
Fie Π problema de conducere optimal ă a c ărei solu ție dorim s ă o implement ăm prin structura
prezentat ă în figura 5.2. Problema Π poate fi oricare dintre problemele formulate și rezolvate,
cu titlu de exemplu, în capitolele anterioare. În g eneral, o PCO este definit ă de urm ătoarele
elemente:
Π =< f, restric ții, t0, H, x(t 0), I(t0, H, x(t 0))>, (5.1)
unde f este func ția din ecuațiile de stare ale sistemului dinamic (ecua ția (1.5))
) , ), ( ), ( ), ( ( t p t u t y t xfdt dx =
iar I(t0, H, x(t 0)) este indicatorul de performan ță calculat pe intervalul [ t0, t0+H], din starea
ini țial ă x(t 0). Solu ția teoretic ă optimal ă a problemei Π este un șir de valori ale comenzii care
extremizeaz ă indicatorul de performan ță, în condi țiile care definesc problema Π. Este ceea
ce am numit profil de comand ă optimal ă:
U*(t0), U*(t1), ··, U*(tH-1); (5.2)
Ca urmare, profilul de stare optimal este:
x(t0), x*(t1), ··, x*(tH-1), x*(tH); (5.3)
Fiecare din st ările din profilul de stare optimal este de fapt un vector de n componente
corespunz ătoare st ărilor din vectorul de stare:
T
ntx tx tx ] ) ( ) ( [) (* *
1*L =
Pentru a face referire la figura 5.2, vom considera t0=k. Deci profilul de stare optimal este
x(k), x*(k+ 1), ··, x*(k+H- 1), x*(k+H ), (5.4)
ca urmare a aplic ării profilului de comand ă optimal ă
U*(k), U*(k+ 1), ··, U*(k+H- 1). (5.5)
Să remarc ăm c ă, în secven ța (5.4), x*(k) este de fapt x(k).
Pentru a reface traiectoria optimal ă, vom considera c ă aplic ăm urm ătoarele referin țe:
R(k+i |k) = x*(k+i ), i=1,…, H (5.6)
sau detaliind pe cele n componente, avem
r 1(k+ i |k)= x1*(k+ i);
r 2(k+ i |k)= x2*(k+ i); cu i=1,…, H (5.7)
·····················
r n(k+ i |k)= xn*(k+ i);
ș Șirul de comenzi optimale, { }1 0…H- i|k), i U(k = + ,
este calculat pe orizontul de predic ție, prin minimizarea unui criteriu de optim depinzâ nd de
eroarea de predic ție.
În propunerea noastr ă, regulatorul optimal con ține un algoritm A ce implementeaz ă o
metaeuristic ă care rezolva problema Π. Doar c ă acest algoritm nu garanteaz ă c ă, în timpul
disponibil, se ob țin pofilele de comand ă și de stare optime teoretic. Fie profilul de stare
ob ținut prin predic ție cu acest algoritm, la momentul k:
x(k), x(k+ 1| k)), ··, x(k+H- 1| k)), x(k+H |k)), (5.8)
Evident x(k) nu este o predic ție, ci starea ini țial ă a secven ței. Eroarea de predic ție este, deci:
42 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
+ − ++ − ++ − +
= + − + =+
) ( ) () ( ) () ( ) (
) ( ) ( ) (
**
2 2*
1 1
ikx i|k kxikx i|k kxikx i|k kx
i|k kR i|k k x ik
n nLε , cu i= 1,.., H (5.9)
Prin esen ța metodei, algoritmul A încearc ă să minimizeze eroarea de predic ție. Când
lucreaz ă bine și are timp să convearg ă c ătre solu ția optim ă teoretic, șirul (5.8) este identic cu
șirul (5.4) și atunci, din (5.9) rezult ă ; 0) ( =+ikε cu i= 1,.., H . (5.10)
În acest caz, prima comand ă este ) ( )(*kU k|k U = (5.11)
Putem conchide c ă sistemul cu predic ție din figura 5.2 este echivalent cu sistemul de
conducere din figura 5.3. În sprijinul acestei afir ma ții, facem urm ătoarele preciz ări:
• Algoritmul A este inclus în Regulatorul optimal pentru a rezolv a problema
Π =< f, restric ții, t0, H, x(t 0), I(t0, H, x(t 0))>
pe un orizont alunec ător H;
• "Modelul procesului" este de asemenea inclus în re gulator. Algoritmul A utilizeaz ă acest
model pentru evaluarea func ției obiectiv;
• Regulatorul re ține doar prima valoare din profilul de comand ă, U(k|k) , și o trimite ca
valoare U(k) c ătre proces;
• Restul valorilor predictate din profilul de comand ă sunt uitate, pentru c ă, la urm ătoarea
perioad ă de e șantionare, se genereaz ă un nou profil de comand ă care va începe cu
) 1 1( + +|k kU , profil calculat pe baza noii st ări reale x(k+1) și tot pe un orizont de H
perioade de e șantionare.
Regulator
bazat pe
metaeuristicăprofil comandă valoarea funcției
obiectiv
Restricții I(t0)
x(k)U(k) Proces
Real Model
Proces
y(k)
Figura 5.3 Sistem de conducere cu regulator bazat pe o metaeuristic ă
ș Orizontul de timp de conducere al procesului
Orizontul de conducere al procesului este, în gener al, diferit de orizontul alunec ător H·T –
sau H, dac ă ne referim la num ărul de perioade de e șantionare – care este parametru al
algoritmul A.
– Dac ă orizontul de conducere este neprecizat, atunci la fiecare moment de
eșantionare se apeleaz ă algoritmul A pentru orizontul alunec ător H.
Contribu ții la conducerea în bucl ă închis ă a proceselor, utilizând optimizarea prin metaeuris tici 43
– Dac ă orizontul de conducere este precizat, vom consider a că are lungimea Hc·T , cu
Hc>H. Atunci, în primele Hc-H perioade de e șantionare, se apeleaz ă algoritmul A pe
orizontul H, iar pentru ultimele H-1 perioade, orizontul alunec ător este descresc ător
H-1, H-2,…, 1. S ă observ ăm c ă, în total, se apeleaz ă algoritmul A de Hc-1 ori.
Complexitatea calculatorie în general mare a algori tmul A ne oblig ă s ă facem un compromis
și s ă alegem o valoare H care s ă asigure încadrarea sa într-o perioad ă de e șantionare.
Observa ție 5.1:
Algoritmul A , de și caut ă valorile optimale, valori ce ar permite regulatoru lui s ă asigure o
anulare a erorii de predic ție, nu le atinge întotdeauna. Acest lucru, în sine, nu este grav,
pentru c ă, finalmente, doar prima comand ă din profilul de comand ă determinat este luat ă în
considera ție și trimis ă, ca valoare curent ă de comand ă, către procesul real. Întrebarea este
dac ă, procedând astfel, structura de control asigur ă un comportament al procesului quasi-
optimal satisf ăcător, pe un orizont de timp mai lung. Consider ăm că structura propus ă este
valid ă pentru c ă:
• În condi țiile în care nu dispunem de o alt ă lege de reglare optimal ă implementabil ă,
fie datorit ă propriet ăților sistemului, fie datorit ă complexit ății numerice a algoritmului
rezultat, structura de conducere propus ă are un caracter realist prin utilizarea
algoritmului A care "sparge" complexitatea PCO și ofer ă posibilitatea conducerii în
bucl ă închis ă;
• Regulatorul propus, bazat pe metaeuristic ă (RBM), ține cont de starea curent ă a
procesului, condi ție necesar ă reject ării unor perturba ții din proces;
• Analiza noastr ă prin simulare a ar ătat, pe procesele studiate, un comportament
quasi-optimal satisf ăcător, a șa cum se arat ă în sec țiunile urm ătoare.
5.3 Controlul în buclă închisă al sistemelor cu criter ii de optimalitate de tip
Lagrange
Cele de mai sus pot fi implementate ca atare prin s tructura de conducere propus ă, adic ă
utilizând un algoritm A și un orizont alunec ător H, dac ă criteriul de performan ță are forma de
mai jos
( ) ∫f
ft
tt p t u t y t xdt t p t u t y t xL
0,), ( ), ( ), ( min
, ), ( ), ( ), (, (5.12)
adic ă are numai component ă Lagrange, f ără a avea o component ă ce depinde de ie șirea
sau starea la un moment final (fixat sau liber), sa u au un caracter bilocal. Pentru a
exemplifica abordarea consider ăm problema SNDOP (Mînzu & Șerbencu, 2016).
Exemplu: Desc ărcarea optimal ă a RCAU
Pentru o RCAU având 5≤n , o abordare realist ă este aceea de a utiliza o structur ă de
control optimal ca cea din figura 5.4. Aceast ă abordare a fost prezentat ă în lucrarea (Mînzu,
2015a) și rezolv ă exact PCO printr-un algoritm de programare dinamic ă discret ă. Orizontul
de optimizare este de ordinul orelor, de exemplu N=40 și T=240 sec.
Procesul din RCAU este sub influen ța influentului real Dreal (t) și vectorul curent de stare este
trimis regulatorului optimal care va stabili o intr are de control U(t) adecvat ă. Regulatorul va
rezolva PCO definit ă de stare ini țial ă x(t), șirul de valori ale influentului estimat și orizontul de
timp stabilit. Va determina, deci, șirul optimal al intr ărilor de comand ă, adic ă "profilul de
comand ă ". Astfel, intrarea de comand ă U(t) adecvat ă este valoarea primului element din
44 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
"profilul de comand ă ", adic ă chiar comanda optimal ă teoretic cu care începe un proces
optimal de lungime H.
Profilul de comand ă trebuie calculat într-o perioada de e șantionare, ceea ce este o restric ție
crucial ă pentru aceast ă abordare.
Structura de control a fost testat ă cu algoritmul de programare dinamic ă discret ă inclus în
regulator și, a șa cum rezult ă din articolul mai sus men ționat, comportamentul a fost foarte
bun.
Regulator
Optimal
Proces
RCAU
z(t)I(t0)D(t)
Dreal (t)
Qover (t)Qinfluent (t)restrictii
U(t) x(t)
Algoritmul
BHTPSOM
RCAU Model
Proces secventa deversari
comenzi
predictate
z(t) I(t0)D(t)Dreal (t)
U(t)
Qover (t0)
Qinfluent (t)
x(t)restrictii
Figura 5.4 Control optimal pentru o RCAU cu
n ≤ 5 Figura 5.5 Structura de conducere propusa pentru RCA U
În cazul general, când num ărul de bazine este mai mare decât 5, e posibil ca a lgoritmul de
optimizare A, bazat pe metaeuristica BHPSO, s ă necesite mai mult decât o perioad ă de
eșantionare, pentru a determina comenzile optimale pe ntru întregul orizont de conducere. De
aceea, vom folosi, în cele ce urmeaz ă, structura de conducere predictiv ă prezentat ă în
sec țiunea anterioar ă, adaptat ă la RCAU de mari dimensiuni.
Se poate ar ăta că Sewer Network Discharge Optimization Problem (SNDO P) este NP-
dificil ă. Complexitatea problemei depinde exponen țial de numărul de bazine n. Instan țe ale
acestei probleme cu diferite structuri și dimensiuni au fost rezolvate cu ajutorul algoritm ului
BHTSPOM (i.e. algoritmul A) ob ținându-se solu ții foarte bune. Complexitatea originar ă a
problemei este modificat ă de acest algoritm, în sensul diminu ării ei, pentru c ă este un
algoritm de aproximare a solu țiilor optime, și de aceea poate s ă rezolve SNDOP de mari
dimensiuni.
În cele ce urmeaz ă, prezent ăm rezultatele simul ării structurii de control aplicat ă procesului,
considerat ca exemplu de RCAU, din sec țiunea 3.3.3, unde n=10. În aceast ă simulare
perioada de e șantionare este T=120 sec. și un orizont de control de 40· T, Hc=40, adic ă
simularea urm ăre ște evolu ția pe un orizont de control de 4800 sec. Regulatoru l din structura
de conducere include algoritmul BHTSPOM (pe post de algoritm A) a șa cum rezult ă din
Anexa 3. Tot de aici rezult ă și Modelul Procesului sub form ă de program
Prima etap ă de simulare
Pentru a face o analiz ă a impactului orizontului de timp alunec ător (H < 40) asupra
indicatorului de performan ță pe tot orizontul de control, structura de control a fost simulat ă cu
diferite valori ale lui H și considerând
D real (t) = D(t).
Rezultatele sunt prezentate în tabelul 5.1 (Mînzu & Șerbencu, 2016). Datorit ă caracterului
nedeterminist al algoritmului BHTSPOM, structura de control a fost simulat ă prin 30 de rul ări
independente, pentru fiecare valoare a lui H. În simul ările f ăcute am utilizat o aceea și stare
Contribu ții la conducerea în bucl ă închis ă a proceselor, utilizând optimizarea prin metaeuris tici 45
ini țial ă, x0=[3,3,3,3,3,2,2,2,2,2] T, la începutul orizontului de control. Simularea fu rnizeaz ă
deversarea total ă minim ă g ăsit ă la sfâr șitul orizontului de control, notat ă Qover (t0) în figura 5.5.
În cele 30 de simul ări independente, deversarea are valori diferite, de și apropiate. De aceea,
tabelul 5.1 indic ă, în ultimele sale 2 coloane Qmin și Qmax , adic ă limitele valorii Qover (t0).
O singur ă simulare a structurii de control din cele 30 impli c ă apelul algoritmului BHTPSOM
de 39 ori (adic ă Hc-1). De exemplu, pentru cazul H=11, în primele 29 perioade de
eșantionare, algoritmul BHTSPOM este apelat cu parame trul H=11, iar în ultimele 10
perioade de e șantionare, H ia pe rând valorile 10, 9,…,1.
H n ·( H-1) Qmin Qmax
6 50 11 14
11 100 7 10
16 150 3 5
21 200 3 4
40 390 1 2
Tabel 5.1 Influen ța orizontului H asupra devers ării minime pe orizontul de control
Șirul de comenzi este utilizat de modelul procesului pentru a determina evolu ția predictat ă a
RCAU, adic ă st ări și devers ări. Numai valorile U1(t0), U2(t0),…., Un(t0) – evident, t0 este
momentul curent în cadrul simul ării – sunt trimise efectiv fiec ărui bazin ca valoare real ă a
comenzii.
Ultima linie din tabel corespunde unui caz particul ar, când valoarea lui H este egal ă chiar cu
orizontul total de control Hc. De aceea, algoritmul BHTPSO este apelat o singur ă dat ă și
produce profilul de comand ă. S-a constat c ă, numai în acest caz, calculul secven ței
"optimale" dureaz ă mai mult de o perioad ă de e șantionare (120 sec.) . Dup ă acest calcul, se
trece la simularea structurii de control. La fiecar e pas de e șantionare, se extrag din secven ța
"optimal ă" primele 10 valori ce sunt trimise c ătre cele 10 bazine ca valori efective ale
comenzilor. Simularea furnizeaz ă Qmin =1 care poate fi considerat ă ca valoare optimal ă a
indicatorului de performan ță pentru SNDOP cu H=40.
Observa ția 5.2
Pentru celelalte valori H≠ Hc din tabel, structura de control duce la valori Qover (t0) > 1,
pentru c ă, prin adoptarea unui orizont alunec ător, caracterul optimal al profilului de
comand ă este alterat.
Analizând tabelul 5.1, consider ăm ca, în cazul H=16, avem un bun compromis între
complexitatea calculatorie a BHTPSO – ce asigur ă terminarea execu ției într-o perioad ă de
eșantionare – și valoarea final ă Qover (t0). De aceea, am adoptat aceast ă valoare pentru a
doua etap ă a simul ărilor efectuate, cele cu "influent real".
A doua etap ă de simulare
În aceast ă etap ă de simulare, RCAU este sub influen ța influentului real, Dreal , și de aceea
valorile st ărilor și ale devers ărilor vor fi diferite de cele predictate. Dar, la u rm ătoarea
perioad ă de e șantionare, valorile st ărilor luate în considerare de regulator vor fi cele reale
(din proces), nu cele predictate. Re țeaua real ă de Colectare a Apelor Uzate este simulat ă
utilizând acela și Model de Proces utilizat de Regulator, dar folosi nd ca matrice de influent pe
Dreal (t), și nu matricea D(t). Deci, perturba ția este cea real ă.
Pentru simulare, am creat o perturba ție real ă a.î. D real (t) = D(t)+ ΔD,
46 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
unde ΔD este o variabil ă aleatoare uniform distribuit ă în intervalul [0, L], valoarea L fiind
limita superioar ă a abaterii de la influentul estimat. În testele no astre, am considerat c ă L
este 10% din valoarea medie a influentului estimat, pentru fiecare bazin. Și influentul real
este supus opera țiilor de discretizare și corec ție. În simul ările f ăcute am utilizat aceea și stare
ini țial ă, ca în prima etap ă, la începutul orizontului de control.
Figurile 5.6 și 5.7 ilustreaz ă evolu ția volumului de influent c ătre bazinul #2, în ambele cazuri,
cel estimat și cel real respectiv. În aceste figuri, graficul al bastru arat ă evolu ția continu ă a
influentului estimat în m3/s, în timp ce cel ro șu și cel verde arat ă respectiv evolu ția dup ă
ac țiunile de corectare, discretizare și cuantizare. Ac țiunea de discretizare poate duce la o
pierdere de influent și, de aceea, este necesar ă o corec ție pentru a evita aceast ă pierdere. În
cazul simul ării, influentul estimat pe orizontul de control are un volum total de 171 ud (ud =
unitate de discretizare=12 m 3), în timp ce influentul real are un volum total de 180 ud . Deci,
influentul real este mai abundent în intervalul 15· T-25· T.
Figurile 5.8 și 5.9 arat ă evolu ția st ărilor predictate și respectiv reale. În linii mari, dinamica
variabilelor de stare este practic aceea și, fapt ce arat ă robuste țea structurii de control
propuse. Deversarea total ă (i.e. suma devers ărilor corespunz ătoare fiec ărui bazin și pentru
toate perioadele de e șantionare) în cazul procesului predictat este de 3 du în timp ce
deversarea real ă este de 6 du .
pentru bazinul #2 pentru bazinul #2
Figura 5.8 Evolu ția st ării predictate Figura 5.9 Evolu ția st ării procesului real
Figura 5.6 Evolu ția influentului estimat Figura 5.7 . Evolu ția influentului real
Contribu ții la conducerea în bucl ă închis ă a proceselor, utilizând optimizarea prin metaeuris tici 47
În cazul procesului predictat, adic ă în care influentul Dreal (t) este identic cu D(t), valoarea
Qover (t0)=3, adic ă mai mare decât valoarea minim ă considerat ă I(t0, Hc, x0)=1, se explic ă prin
observa ția 5.2. În acela și timp, structura de control genereaz ă un proces real ac ționând
direct asupra RCAU aflat ă sub influen ța influentului real Dreal (t). Faptul c ă influentul este mai
bogat, 180 ud fa ță de 171 ud , explic ă valoarea devers ării totale Qover (t0)=6.
Aceast ă etap ă de simulare arat ă că structura de control propus ă poate asigura o conducere
în bucl ă închis ă cu performan țe bune. Al ături de alte simul ări, pe aceea și RCAU, cu alte st ări
ini țiale și alte valori ale lui H, constituie argumentul cel mai important pentru ob serva ția 5.1.
5.4 Controlul în buclă închisă al sistemelor cu criter ii de optimalitate de tip Bolza
Dac ă criteriul de performan ță are forma de mai jos
( ) ( ) ∫+f
ft
t f f f ft p t u t y t xdt t p t u t y t xL t p t u t y t x M
0,), ( ), ( ), ( ,), (), (), ( min
, ), ( ), ( ), (, (5.13)
adic ă are nu numai o component ă Lagrange, ci și o component ă ce depinde de ie șirea sau
starea sistemului la momentul final (fixat sau libe r), sau are un caracter bilocal, ideea utiliz ării
unei ferestre alunec ătoare nu mai poate fi aplicat ă, c ăci momentul final nu este cuprins în
orizontul alunec ător. De aceea, structura din figura 5.3 poate fi ut ilizat ă dar cu o adaptare a
orizontului de rezolvare a PCO, la fiecare perioad ă de e șantionare. Presupunem c ă starea
curent ă a procesului real este accesibil ă sau poate fi estimat ă. În utilizarea acestei structuri,
ținem cont de urm ătoarele aspecte:
– Considerăm c ă orizontul de conducere al sistemului, notat [ t0, tf], are n perioade de
eșantionare, 1, 2, …, n;
– Solu ția PCO înseamn ă determinarea unui șir quasi-optimal u1, u2,…, un ce constituie
profilul de comand ă;
– În prima perioad ă de e șantionare, plecând din starea ini țial ă (cunoscut ă sau estimat ă),
algoritmul A determin ă un șir 1 1
21
1 ,,,nu uuL care este o solu ție cât mai bun ă pentru PCO,
pe orizontul H1=1, 2,…, n. Calitate acestei solu ții depinde de m ărimea perioadei de
eșantionare, pentru c ă algoritmul A trebuie să aib ă timp suficient ca s ă se apropie cât mai
mult de solu ția optimal ă. Comanda regulatorului se adopt ă ca fiind: U(1)= 1
1u;
– În general, în perioada de e șantionare # i, se determin ă mai întâi starea curent ă a
procesului real xreal (i). S ă remarc ăm că aceast ă stare, chiar dac ă nu este identic ă, este
apropiat ă de starea teoretic ă, xmodel (i), spre care evolueaz ă modelul sistemului prin
aplicarea comenzii U(i-1)= 1
1−
−i
iu: ) ( ) 1( i X i Xmodel 1) – U(i
real →−
Din starea xreal (i), pe orizontul Hi=i,…, n , algoritmul A determin ă un șir i
ni
i u u ,,L care este
o solu ție cât mai bun ă pentru PCO. Acest șir este determinat prin ameliorarea șirului
1 1,,− − i
ni
i u uL , deja cunoscut din perioada de e șantionare anterioar ă și care are un
caracter quasi-optimal în raport cu starea xmodel (i). Șirul 1 1,,− − i
ni
i u uL este folosit ca
solu ție ini țial ă a PCO pe orizontul curent. Comanda regulatorului s e adopt ă ca fiind:
U(i)= i
iu;
48 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
– Ultima comand ă pe orizontul de conducere considerat face parte di n șirul de 2 elemente
1 1
1,− −
−n
nn
nu u . Valoarea acesteia este, deci U(n-1)= 1
1−
−n
nu .
Constat ăm că PCO, rezolvat ă de algoritmul A cu orizontul cel mai lung în perioade de
eșantionare, caracterizeaz ă prima perioad ă de e șantionare. De aceea caracterul "optimal" al
acesteia este discutabil, dar și influen ța asupra p ărții Mayer a func ției obiectiv
( )f f f f t p t u t y t x M ,), (), (), (
este mai redus ă, distan ța fa ță de momentul tf fiind maxim ă. Cu alte cuvinte, prin comenzile
urm ătoare se încearc ă compensarea caracterului quasioptimal al primelor comenzi ale
regulatorului.
Din punctul de vedere al încadr ării într-o perioad ă de e șantionare a execu ției algoritmului A
pentru orizontul H1=1, 2,…, n, solu ția este considerarea unui num ăr maxim de evalu ări Neval ,
verificat prin simulare, drept condi ție de oprire a algoritmului. Pentru perioadele de
eșantionare urm ătoare, acesta va acoperi și mai bine c ăutarea secven ței de comenzi
optimale, pentru c ă orizontul scade.
Relu ăm, ca exemplu, sistemul din sec țiunea 1.4.2, pentru c ă func ția obiectiv trebuie s ă
con țin ă o component ă legat ă de caracterul bilocal al problemei, chiar dac ă lipse ște
componenta Mayer. Relu ăm aici modelul dinamic: ) ( ,2 2 1 t u x x x = =& & .
Se cere comanda u*( t), ] 2 , 0 [ ∈t – unde t este exprimat în ore – care transport ă sistemul din
starea ini țial ă: 0=ot , 1=oθ , 1=oθ&, în starea final ă: 2=ft ore , 0=fθ , 0=fθ&,
a.î. consumul de energie s ă fie minim; ∫=ft
udt t u J02) (21min
Caracterul bilocal al problemei, ne oblig ă s ă consider ăm urm ătoarea func ție obiectiv pe
parcursul c ăut ării solu ției optimale:
( ) ( ) ∫⋅ + − ⋅ + − ⋅ =ft
f f dt t u tx tx uf02 2
22
1 ) ( 0)( 50 0)( 50 ) ( .
Regulatorul utilizeaz ă algoritmul A, identic cu cel folosit în sec țiunea 3.2.2, adic ă un algoritm
HTPSO. În cele ce urmeaz ă, vom simula func ționarea sistemului de conducere din figura
5.3, cu RBM.
Prima etap ă de simulare
În aceast ă etap ă, vom simula Procesul Real printr-un Model al Proce sului Real. Desigur,
este ra țional s ă consider ăm, într-o prim ă etap ă, ca Model al Procesului Real, chiar Modelul
Procesului, utilizat în RBM. În felul acesta, vom analiza doar efectul utiliz ării unor ferestre de
timp din ce în ce mai mici, asupra caracterului de optimalitate al solu ției implementate de
regulator, f ără a mai considera și alte efecte legate de un model imperfect sau de p erturba ții .
Modelul Procesului realizeaz ă urm ătoarea tranzi ție a st ărilor la perioada k de
eșantionare, ) 1 ( ) ( + → k X k Xmodel U(k)
model . Dat ă fiind ipoteza adoptat ă, avem xreal (k)=
xmodel (k), care este echivalent ă cu tranzi ția st ărilor ) 1 ( ) ( + → k X k Xreal U(k)
real
În figura 5.10, este indicat ă în albastru evolu ția tipic ă ob ținut ă pentru comanda cu RBM, în
compara ție cu comanda optimal ă teoretic ă în bucl ă deschis ă (solu ția PCO). În figura 5.11,
Contribu ții la conducerea în bucl ă închis ă a proceselor, utilizând optimizarea prin metaeuris tici 49
avem evolu ția st ărilor când procesul este comandat în bucl ă închis ă (ro șu: x1 ob ținut cu
RBM; albastru: x2 ob ținut cu RBM) versus evolu ția teoretic ă în bucl ă deschis ă (solu ția PCO;
verde: x1 optimal teoretic; negru: x2 optimal teoretic)
Num ărul de apel ări ale func ției obiectiv este Apeluri fitness=4740, ceea ce este
mul țumitor pentru 50 perioade de e șantionare. Examinând aceste figuri, rezult ă c ă structura
de control în bucl ă închis ă este o solu ție realist ă care d ă rezultate foarte bune.
A doua etapa de simulare
În aceast ă etap ă, vom simula Modelul Procesului Real utilizând Mode lul Procesului, dar
alterând st ările acestuia (presupuse accesibile sau posibil de estimat) printr-un zgomot aditiv.
Regulator
bazat pe
metaeuristicăprofil comandă valoarea funcției
obiectiv
Restricții I(t0)
xreal (k)U(k) Model
Proces Model
Proces
y(k)
+xmodel (k)
zgomot +
Figura 5.12 Simulare cu Model Proces Real
Structura de control simulat ă este prezentat ă în figura 5.12. Zgomotul considerat pentru cele
doua st ări este uniform distribuit în intervalul [- Lk1, Lk1] respectiv [- Lk2, Lk2], unde
L k1=0.05 ·|x 1(k)|; Lk2=0.05 ·|x 2(k)|;
Figura 5.10 Evolu ția comenzii teoretic si cu
regulator Figura 5.11 Evolu ția st ărilor teoretic si cu
regulator
50 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
Figura 5.13 Evolu ția comenzii teoretic și cu
regulator Figura 5.14 Evolu ția st ărilor teoretic, cu zgomot
și fără zgomot
În figura 5.14, avem evolu ția st ărilor când procesul este comandat:
– în bucl ă închis ă f ără zgomot(negru: x1 ob ținut cu RBM; verde: x2 ob ținut cu RBM);
– în bucl ă închis ă cu zgomot(ro șu: x1 ob ținut cu RBM; albastru: x2 ob ținut cu RBM);
– în bucl ă deschis ă – evolu ția teoretic ă – (solu ția PCO; galben: x1 optimal teoretic; magenta:
x2 optimal teoretic).
Observ ăm evolu ția asem ănătoare a st ărilor ob ținute cu RBM, atât cu zgomot cât și f ără.
Num ărul de apel ări ale func ției obiectiv este Apeluri fitness=5000, ceea ce este
remarcabil de pu țin pentru 50 perioade de e șantionare . Examinând aceste figuri, rezult ă c ă
structura de control în bucl ă închis ă, cu reac ție pe stare real ă, este o solu ție realist ă care d ă
rezultate mai mult decât satisf ăcătoare.
5.5 Concluzii
Problema care s-a pus în acest capitol este de a av ea o metod ă care s ă ne permit ă
conducerea procesului în bucl ă închis ă, de îndat ă ce avem un bun algoritm bazat pe o
metaeuristic ă ce rezolv ă PCO (algoritmul A).
A fost propus ă o structur ă de conducere în bucl ă închis ă dezvoltat ă în jurul a dou ă idei.
Prima idee este utilizarea unei structuri de conduc ere care este o adaptare a conceptului de
control predictiv. A doua idee este utilizarea unui algoritm capabil s ă rezolve aproximativ o
PCO printr-o metaeuristic ă. Leg ătura dintre cele dou ă idei este c ă structura predictiv ă are un
regulator care poate utiliza algoritmul respectiv.
Rezultatele care sunt și contribu ții ale acestui capitol sunt urm ătoarele:
A fost propus ă o structur ă de conducere în bucl ă închis ă plecând de la controlul
predictiv al proceselor. Regulatorul din structur ă este un RBM (regulator bazat pe o
metaeuristic ă), adic ă folose ște un algoritm A și un model al procesului condus. La
fiecare perioad ă de e șantionare, algoritmul A rezolv ă PCO pentru un nou orizont de
timp -ce debuteaz ă cu momentul de e șantionare respectiv – și pentru o nou ă stare
ini țial ă a procesului , care este starea sa real ă presupus ă accesibil ă;
S-a demonstrat faptul c ă un RBM lucreaz ă în sensul minimiz ării erorii de predic ție și
deci c ă structura propus ă este un caz particular al structurii cu control pr edictiv;
Concluzii generale, contribu ții originale și perspective 51
S-a propus un mod de organizare al controlul în bu cl ă închis ă al proceselor cu criterii
de optimalitate de tip Lagrange, cu orizont de cont rol nedefinit sau cu timp final
stabilit. În aceast ă situa ție, orizontul de timp pe care RBM caut ă solu ția cea mai bun ă
are un num ăr constant de perioade de e șantionare, dar este alunec ător și începe cu
momentul de e șantionare respectiv;
S-a propus un mod de organizare al controlului în bucl ă închis ă al proceselor cu
criterii de optimalitate de tip Bolza, sau care duc la probleme bilocale. Modul de
rezolvare al problemelor bilocale cu criteriu de op timalitate Lagrange, duce, de fapt,
așa cum s-a ar ătat în capitolele anterioare, la considerarea unui criteriu de tip Bolza
pe parcursul c ăut ării solu ției optimale, cu scopul de a asigura îndeplinirea c ondi țiilor
finale. În aceast ă situa ție, orizontul de timp pe care RBM caut ă solu ția cea mai bun ă
este descresc ător ca num ăr de perioade de e șantionare, dar con ține întotdeauna
momentul final.
Capitolul 6
Concluzii generale, contribuții originale și
perspective
Pe parcursul a 5 capitole, prezenta lucrare propune o analiz ă a rezolv ării unor PCO cu
ajutorul unor algoritmi metaeuristici, dar și o structur ă de conducere în bucl ă închis ă care s ă
implementeze controlul propriu-zis. Consider c ă au fost atinse obiectivele propuse:
studiul implement ării unor algoritmi metaeuristici dedica ți rezolv ării unor PCO;
analiza m ăsurii în care solu țiile ob ținute sunt realiste și asigur ă m ăcar un caracter
quasioptimal;
analiza complexit ății practice a algoritmului ce implementeaz ă metaeuristica, pân ă la
ob ținerea unei solu ții bune;
realizarea unui studiu comparativ al utiliz ării diferitelor metaeuristici în rezolvarea unei
acelea și probleme;
dezvoltarea și validarea prin simulare a unei structuri de condu cere în bucl ă închis ă
utilizând ace ști algoritmi
Consider c ă algoritmii metaeuristici implementa ți, dezvolta ți și analiza ți precum și structura
de conducere în bucl ă închis ă propus ă au o importan ță practic ă considerabil ă în situa țiile în
care pentru PCO supuse rezolv ării nu se cunosc alte modalit ăți de rezolvare și implementare
convenabile.
6.1 Contribu ții
Voi indica, pentru fiecare capitol, aspectele știin țifice care se pot constitui în contribu ții legate
de metaeuristicile respective și utilizarea lor la rezolvarea unor PCO.
6.1.1 Ameliorarea performan țelor algoritmului Simulated Annealing în rezolvarea PCO
Tehnica numit ă controlul pasului ( step control ) impune ni ște margini superioare și
inferioare ale gradientului variabilelor de conduce re. De și cunoscut ă, în prezenta
lucrare a fost indicat ă explicit o manier ă de implementare în PCO.
52 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
Analiza modului de implementarea a PCO bilocale în raport cu starea și timp final
fixat sau liber cu eviden țierea unor solu ții practice.
6.1.2 Analiza pentru ameliorarea performan țelor algoritmilor evolutivi în rezolvarea PCO
Integrarea într-un AE unor tehnici eficiente (cum ar fi step control) și metode de
selec ție care s ă evite fenomenul de deviere (Selec ție cu Stochastic Universal
Sampling, Utilizare Rang și Scalare Rang), ținându-se astfel cont de particularit ățile
PCO tratate.
Analiz ă pe o cazuistic ă format ă din trei PCO, a diferi ților operatori de crossover și
muta ție adecva ți problemelor respective. Concluzia ne arat ă c ă fiecare problem ă are
o sensibilitate diferit ă la utilizarea unui operator sau altul. Au fost imp lementa ți și
analiza ți operatori semnificativi pentru implementarea unui AE.
6.1.3 Contribu ții la utilizarea PSO în rezolvarea PCO
Integrarea tehnicii step control – care nu corespunde unei restric ții specifice PCO – în
algoritmul HTPSO pentru a asigura un profil de coma nd ă cu o evolu ție continu ă și
chiar derivabil ă, pe un domeniu cât mai larg. Astfel, cel pu țin, comanda "optimal ă”
evit ă salturile puternice.
S-a propus ca procedura ce determin ă experien ța local ă cea mai bun ă s ă includ ă, pe
lâng ă informa ția "social ă", o component ă de intensificare care s ă ia în considerare
pozi ția curent ă (informa ția "geometric ă"). În acest scop, s-a introdus un algoritm de
intensificare "geometric ă", determinist, de coborâre local ă numit GDD (geographical
deterministic descent).
Au fost propuse, de asemenea, trei tehnici de amel iorare a algoritmului GDD, care au
vizat:
– apelul recursiv al GDD, pentru m ărirea eficien ței;
– minimizarea fenomenului de deviere ("bias") în c ăutarea solu țiilor optime;
– apelarea selectiv ă, la un anumit num ăr de itera ții f ără ameliorare a solu țiilor "local best".
6.1.4 Variante ameliorate ale meta-euristicii „Algoritm d iferen țial stigmergic”
În prezenta tez ă s-au propus dou ă direc ții de îmbun ătățire a performan țelor meta-euristicii
„Algoritm diferen țial stigmergic” în rezolvarea PCO.
Prim ă direc ție validat ă a fost rezolvarea PCO în dou ă etape. Problema supus ă rezolv ării
este transformat ă ini țial într-o problem ă cu dimensiune redus ă prin considerarea unui
pas de granularitate crescut ă în e șantionarea comenzii. Astfel se scade complexitatea
computa țional ă a problemei și se realizeaz ă o explorare într-un spa țiu mai granulat , cu o
convergen ță mai bun ă c ătre zona cu optimul c ăutat. Solu ția problemei de dimensiune
redus ă este ree șantionat ă prin interpolare, și se genereaz ă astfel o solu ție ini țial ă de
bun ă calitate pentru etapa a doua care va rezolva probl ema ini țial ă. Suplimentar
dimensiunea spa țiului de c ăutare în cele dou ă etape este controlat ă direct prin precizia
cu care este discretizat spa țiul continuu și transformat în graful asociat. În etapa de
identificare a zonei promi țătoare se folosesc pa și ”mari” de c ăutare, iar în etapa de
intensificare se utilizeaz ă pa și corela ți cu precizia impus ă în rezolvarea problemei ini țiale
și cu parametrii tehnologici a procesului ce urmeaz ă a fi condus.
A doua direc ție validat ă de ameliorare a performan țelor DASA la rezolvarea PCO a fost
introducerea unor elemente de elitism în strategia de c ăutare. Cele trei variante elitiste
Concluzii generale, contribu ții originale și perspective 53
ale DASA propuse promoveaz ă o utilizare mai eficient ă a informa ției transmise prin
feromon. Primele dou ă variante de elitism propuse sunt echivalente unei încerc ări de
căutare dup ă gradient prin utilizarea unei furnici elitiste la nivelul popula ției de furnici.
Aceste variante ale meta-euristicii a fost denumite „DASA-elitist-pur”. A treia variant ă, a
fost cea de introducere a componentei de elitism în cadrul procesului de construc ție a
solu ției. Meta-euristica ob ținut ă a fost denumit ă „DASA-elitist-probabilistic”.
6.1.5 Contribu ții la conducerea în bucl ă închis ă a proceselor, utilizând optimizarea prin
metaeuristici
A fost propus ă o structur ă de conducere în bucl ă închis ă dezvoltat ă în jurul a dou ă idei.
Prima idee este utilizarea unei structuri de conduc ere care este o adaptare a conceptului de
control predictiv. A doua idee este utilizarea unui algoritm capabil s ă rezolve aproximativ o
PCO printr-o metaeuristic ă. Leg ătura dintre cele dou ă idei este c ă structura predictiv ă are un
regulator care poate utiliza algoritmul respectiv.
Rezultatele care sunt și contribu ții ale acestui capitol sunt urm ătoarele:
A fost propus ă o structur ă de conducere în bucl ă închis ă plecând de la controlul
predictiv al proceselor. Regulatorul din structur ă este un RBM (regulator bazat pe o
metaeuristic ă), adic ă folose ște un algoritm A și un model al procesului condus. La
fiecare perioad ă de e șantionare, algoritmul A rezolv ă PCO pentru un nou orizont de timp
-ce debuteaz ă cu momentul de e șantionare respectiv – și pentru o nou ă stare ini țial ă a
procesului , care este starea sa real ă presupus ă accesibil ă;
S-a demonstrat faptul c ă un RBM lucreaz ă în sensul minimiz ării erorii de predic ție și deci
că structura propus ă este un caz particular al structurii cu control pr edictiv;
S-a propus un mod de organizare al controlului în bucl ă închis ă al proceselor cu criterii
de optimalitate de tip Lagrange, cu orizont de cont rol nedefinit sau cu timp final stabilit.
În aceast ă situa ție, orizontul de timp pe care RBM caut ă solu ția cea mai bun ă are un
num ăr constant de perioade de e șantionare, dar este alunec ător și începe cu momentul
de e șantionare respectiv;
S-a propus un mod de organizare al controlul în bu cl ă închis ă al proceselor cu criterii de
optimalitate de tip Bolza, sau care duc la probleme bilocale. Modul de rezolvare a
problemelor bilocale cu criteriu de optimalitate La grange, duce, de fapt, a șa cum s-a
ar ătat în capitolele anterioare, la considerarea unui criteriu de tip Bolza pe parcursul
căut ării solu ției optimale, cu scopul de a asigura îndeplinirea c ondi țiilor finale. În aceast ă
situa ție, orizontul de timp pe care RBM caut ă solu ția cea mai bun ă este descresc ător ca
num ăr de perioade de e șantionare, dar con ține întotdeauna momentul final.
6.2 Direc ții viitoare de cercetare
În cazul meta-euristicii „Differential Ant-Stigmerg y Algorithm” – DASA, o direc ție de cercetare
ce va fi investigat ă este cea în care distribu ția feromonului ar fi realizat ă prin alt ă distribu ție
decât cea Cauchy.Alt ă direc ție este cea de adaptare a modelului feromonului pen tru a
permite memorarea direc țiilor promi țătoare de c ăutare pe termen mai lung.
O direc ție conex ă cu tema acestei lucr ări este utilizarea unor metaeuristici într-o proced ur ă
de acordare on-line a parametrilor unor regulatoare .
54 Contribu ții la conducerea optimal ă a proceselor utilizând algoritmi metaeuristici
Șerbencu Adrian Emanoil
6.3 Diseminarea rezultatelor
Rezultatele ob ținute ca urmare a activit ății de cercetare a autorului și care au stat la baza
realiz ării prezentei teze au fost diseminate în cadrul urm ătoarelor lucr ări din reviste sau
manifest ări știin țifice:
13 lucr ări la conferin țe interna ționale, indexate în urm ătoarele BDI: SCOPUS (13), IEEE
Xplore (7), Science direct-IFAC-PapersOnLine (1);
7 din cele 13 lucr ări sunt indexate ISI proceedings Web of Science (Wo S);
1 lucrare în revist ă indexat ă BDI.
Mai jos, este prezentat ă lista cu lucr ările prin intermediul c ărora au fost diseminate
rezultatele:
Șerbencu, A., Minzu, V., & Șerbencu, A. (2007). An ant colony system based meta heuristic
for solving single machine scheduling problem. The Annals of Dunarea De Jos University of
Galati , 3, 19-24. (Revist ă indexat ă BDI)
Șerbencu, A. E., Șerbencu, A., Cernega, D. C., & Mînzu, V. (2010, Jul y). Particle swarm
optimization for the sliding mode controller parame ters. In Control Conference (CCC), 2010
29th Chinese (pp. 1859-1864). IEEE.
Șerbencu, A., Cernega, D. C., Șerbencu, A. E., & Susnea, I. (2009, August). Path f ollowing
problem for patrolbot solved with fuzzy control. In Automation and Logistics, 2009. ICAL'09.
IEEE International Conference on (pp. 2005-2010). I EEE.
Șerbencu, A. E., & Șerbencu, A. (2012, October). A comparison of partic le swarm
optimization and differential ant stigmergy algorit hm. In System Theory, Control and
Computing (ICSTCC), 2012 16th International Confere nce on (pp. 1-6). IEEE.
Șerbencu, A. E., Mînzu, V., & Șerbencu, A. (2014, October). Precedence constraints
treatment in ant colony optimization. In System Theory, Control and Computing (ICSTCC),
2014 18th International Conference (pp. 87-92). IEEE.
Mînzu, V., & Șerbencu, A. (2016, October). Control structure for the optimal sewer network
discharge. In System Theory, Control and Computing (ICSTCC), 2016 20th International
Conference on (pp. 61-66). IEEE.
Șerbencu, A., & Mînzu, V. (2016, December). Hybridiz ed Ant Colony System for Tasks to
Workstations Assignment. In Computational Intelligence (SSCI), 2016 IEEE Sympos ium
Series on (pp. 1-7). IEEE.
Șerbencu, A., Șerbencu, A., Mînzu, V., & Cernega, D. Multiagent Sy stems Used For Discrete
Optimization Problems. Buletinul Universitatii Petrol-Gaze din Ploiesti , Vol. LV, No. 2/2003,
ISSN 1221-9371
Serbencu, A., & Serbencu, A. E. (2015, October). Tw o mobile robotic systems synchronous
servicing an Assembly/Disassembly production line. In System Theory, Control and
Computing (ICSTCC), 2015 19th International Confere nce on (pp. 81-86). IEEE.
Șerbencu, A., Mînzu, V., & Cernega, D. C. (2006). XM L-nets for simulation of the supply
chain processes. IFAC Proceedings Volumes , 39 (3), 597-602.
Cernega D. C., Bratcu A. I. and Șerbencu A., Supervisory Control Problem for Protoc ol
Conversion, In Proceedings of The 12-th International Symposiu m on Modeling, Simulation
and System's Identification , 2004, 200-205
Concluzii generale, contribu ții originale și perspective 55
V. Mînzu, L. Beldiman, Adrian Serbencu, Adriana Ser bencu, M. Barbu; “Virtual workshop for
academic training”, Proceedings of the 14-th Conference on Control Systems and Computer
Science , 2-5 July 2003, Bucuresti, pp. 557-562
Adrian Emanoil Șerbencu, Viorel Mînzu, Adriana Șerbencu, Daniela Cernega: Two Elitist
Variants of Differential Ant-stigmergy Algorithm. I n Proceedings of the 8th International
Conference on Informatics in Control, Automation an d Robotics ICINCO (1) 2011: 136-141,
ISBN: 978-989-8425-74-4
Șerbencu A., Șerbencu A.E., Cernega D.C. (2010) Evolutionary Stra tegies Used for the
Mobile Robot Trajectory Tracking Control. In: Diama ntaras K., Duch W., Iliadis L.S. (eds)
Artificial Neural Networks – ICANN 2010. ICANN 2010 . Lecture Notes in Computer Science ,
vol 6353. Springer, Berlin, Heidelberg http://link.springer.com/chapter/10.1007/978-3-642-
15822-3_36
Capitol de carte
D. C. Cernega, A. I. Bratcu and A. Șerbencu – Discrete Event Supervision for
Communication Protocol Conversion. In: Intelligent Systems at the Service of Mankind II
(Eds. W. Elmenreich, J. Tenreiro Machado, I. J. Rud as), UBooks Verlag, Augsburg
(Germany), 2005, ISBN 3-86608-052-2, pp. 227-238.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Școala doctoral ă de Inginerie [607653] (ID: 607653)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
