Optimizare multicriterială

From Systems analysis wiki
Jump to navigation Jump to search

Optimizare multicriterială (de asemenea programare multicriterială, engl. multi-objective optimization, multi-criteria optimization) — este o ramură a optimizării matematice care studiază problemele de optimizare simultană după două sau mai multe funcții obiectiv (criterii), care, de regulă, intră în conflict unele cu altele[1][2]. Formal, problema se notează ca minimizarea unei funcții obiectiv vectoriale pe mulțimea soluțiilor admisibile.

Definiție și terminologie

Problema optimizării multicriteriale în formă generală se notează astfel: minxS{f1(x),f2(x),,fk(x)} unde Sn — mulțimea nevidă a soluțiilor admisibile, iar fi:S — funcțiile obiectiv (k2)[3]. Vectorul f(x)=(f1(x),,fk(x)) se numește vector obiectiv.

Spre deosebire de optimizarea scalară, în formularea multicriterială de obicei nu există o soluție unică care să îmbunătățească valorile tuturor criteriilor simultan. De aceea, noțiunea clasică de optim se generalizează folosind conceptul de optimalitate Pareto[4].

  • Soluție Pareto (soluție Pareto-optimală sau eficientă): o soluție admisibilă x*S, pentru care nu există o altă soluție xS astfel încât fi(x)fi(x*) pentru toți i=1,,k, și totodată fj(x)<fj(x*) cel puțin pentru un indice j[3][4]. Cu alte cuvinte, o soluție este Pareto-optimală dacă nicio valoare a unui criteriu nu poate fi îmbunătățită fără a înrăutăți cel puțin un alt criteriu.
  • Frontul Pareto (sau mulțimea Pareto): mulțimea tuturor vectorilor obiectiv corespunzători soluțiilor Pareto-optimale.
  • Soluție slab Pareto-optimală: o soluție x*S, pentru care nu există o altă soluție xS astfel încât fi(x)<fi(x*) pentru toți i.

Proprietăți și teoreme esențiale

  • Teorema sumei ponderate: În problemele convexe (unde toate funcțiile fi(x) și mulțimea S sunt convexe), orice soluție Pareto-optimală x* este soluția problemei scalare de minimizare a sumei ponderate a criteriilor minxSi=1kwifi(x) pentru un anumit set de ponderi nenegative wi0. Totuși, în problemele neconvexe, această metodă poate să nu găsească anumite porțiuni ale frontului Pareto[5][6].
  • Condițiile de optimalitate Karush-Kuhn-Tucker (KKT): Condițiile necesare de optimalitate pentru problemele netede se generalizează la cazul multicriterial. Într-un punct de optim Pareto există un set nenul de multiplicatori (ponderi) nenegativi pentru care gradienții funcțiilor obiectiv și ai restricțiilor active sunt liniar dependenți[7].
  • Proprietățile mulțimii soluțiilor: Frontul Pareto posedă o serie de caracteristici calitative importante. Frontiera sa este delimitată de punctul ideal (alcătuit din minimele element cu element ale tuturor criteriilor) și punctul nadir (din maximele element cu element pe front)[7].

Exemple

  • Problemă liniară: Minimizați f1(x)=x1 și f2(x)=x2 sub restricția x1+x21, x1,x20. Aici, îmbunătățirea unui criteriu (de exemplu, creșterea x1) conduce inevitabil la înrăutățirea celuilalt (scăderea x2). Mulțimea soluțiilor Pareto-optimale este segmentul de dreaptă x1+x2=1.
  • Problemă neconvexă: Minimizați f1(x)=x2 și f2(x)=(x2)2 pe segmentul [0,2]. Frontul Pareto este neconvex. Metoda sumelor ponderate cu ponderi pozitive nu va putea găsi soluții în interiorul acestui segment (de exemplu, în punctul x=1), deoarece combinația liniară a criteriilor va atinge minimul doar în punctele extreme x=0 sau x=2[8].

Noțiuni conexe și aplicații

Optimizarea multicriterială este strâns legată de luarea deciziilor multicriteriale (MCDM), care studiază alegerea celei mai bune alternative ținând cont de preferințele factorului de decizie. Principalele metode de transformare a problemei multicriteriale într-una scalară (scalarizare) includ:

  • Metoda sumelor ponderate.
  • Metoda restricțiilor ε: Se optimizează un singur criteriu, iar celelalte sunt transformate în restricții de tipul fi(x)εi. Această metodă este capabilă să găsească soluții pe porțiunile neconvexe ale frontului[9].

Optimizarea multicriterială găsește aplicații largi în proiectarea inginerească, economie (de exemplu, optimizarea portofoliului), management și ecologie.

Vezi și

  • Optimalitate Pareto
  • Optimizare vectorială
  • Teoria deciziei
  • Sisteme de suport al deciziei
  • Cercetare operațională

Note

  1. "Многокритериальная оптимизация". Википедия. [1]
  2. Трифонов А. Г. Многокритериальная оптимизация. Matlab Exponenta. [2]
  3. 3.0 3.1 "Multi-objective optimization". Encyclopedia of Mathematics. [3]
  4. 4.0 4.1 Ehrgott, M. (2012). Vilfredo Pareto and Multi-objective Optimization. Documenta Mathematica, Extra Volume ISMP, 447–453. [4]
  5. Соболь И. М., Статников Р. Б. (2006). Выбор оптимальных параметров в задачах со многими критериями (2-е изд.). Дрофа.
  6. Marler, R. T., & Arora, J. S. (2010). The weighted sum method for multi-objective optimization: new insights. Structural and Multidisciplinary Optimization, 41(6), 853-862. [5]
  7. 7.0 7.1 Miettinen, K. (1998). Nonlinear Multiobjective Optimization. Kluwer Academic Publishers.
  8. Ehrgott, M. (2005). Multicriteria Optimization (2nd ed.). Springer-Verlag.
  9. Mavrotas, G. (2009). Effective implementation of the ε-constraint method in Multi-Objective Mathematical Programming problems. Applied Mathematics and Computation, 213(2), 455-465. [6]