MDRP

Programare neliniara
Proiect
Costache Simona-Roxana 2010

Introducere
Cu toate c programarea liniar constituie un instrument de reprezentare a realit ii foarte comod i puternic, totu i fenomenele lumii reale nu sunt liniare. Acesta a constituit principala justificare a efortului de cercetare referitor la extinderea i dezvoltarea tehnicilor proprii program rii liniare la problemele neliniare. Capitolul 1 al acestui proiect realizeaz o prezentare succint a domeniului program rii neliniare, enumerând principalele clase de probleme neliniare i unele exemple de probleme din lumea real , care pot fi modelate utilizând programarea neliniar . În Capitolul 2 domeniul este restrâns la clasa de probleme convexe, pentru care sunt trecute în revist principalele pachete software care le rezolv . Capitolele 3 i 4 descriu metoda de punct interior, aplicat la clasa problemelor de programare p tratic , respectiv la clasa celor de optimizare cu restric ii liniare, în fiecare caz fiind prezentat i algoritmul realizat în MATLAB. În Anex sunt listate sursele celor dou programe MATLAB, iar în finalul proiectului este prezentat Bibliografia.

restric iile inegalit i sunt de forma g i ( x ) e 0 în care g i este o func ie convex (echivalent cu g i ( x ) u 0 cu g i func ie concav ).. se rezolv prin metode derivate din metoda simplex într-un num r finit de pa i.Capitolul 1: Programarea neliniar 1... 3) Probleme de programare convex Au urm toarele caracteristici: y y y func ie obiectiv convex dac aceasta se minimizeaz (echivalent: func ie obiectiv concav dac aceasta se maximizeaz ). x n ) minimul fiind luat dupa to i x  R n în care func ia f este definit . 1) Probleme de optimizare f r restric ii Au forma general : S se determine x*  R n care minimizeaz valoarea func iei z ! f ( x1 . x n ) c 0  § ci xi  i 1 n 1e i e j e n §c ij xi x j .. x 2 ... Importan a problemelor de programare p tratic este motivat prin urm toarele aspecte: y y y modeleaz cu suficient acurate e multe situa ii practice. x 2 . cerin motivat prin aceea c func iile liniare sunt singurele func ii simultan convexe i concave. se diferen iaz 5 clase de probleme neliniare..1 Clase de probleme In cadrul acestui domeniu. Problemele convexe au urm toarele propriet i fundamentale:   . rezolvarea multor probleme cu restric ii liniare i func ie obiectiv neliniar se poate reduce la rezolvarea unei secven e de probleme de programare p tratic ale c ror func ii obiectiv aproximeaz din ce în ce mai bine obiectivul neliniar original. 2) Probleme de optimizare cu restric ii liniare i func ie obiectiv neliniar În aceast clas un loc deosebit îl ocup problemele de programare p tratic în care func ia obiectiv este un polinom de gradul doi în variabilele sale: ¡ i f ( x1 . eventualele restric ii egalit i sunt liniare..

utile în practic .. exist câteve tipuri de probleme neconvexe.2 Aplica ii Programarea matematic neliniar are aplicabilitate în domenii variate: electricitate. De exemplu.y y y mul imea solu iilor admisibile este convex . chimie. dac optimul liber (nerestric ionat) al func iei obiectiv nu este o solu ie admisibil .. x 2 . Separabilitatea este important prin aceea c u ureaz optimizarea. 5) Probleme de programare neconvex Aceast clas reune te problemele care nu satisfac ipotezele de convexitate. Exemple de probleme din domeniul electric: . Din fericire. biologie etc. Importan a acestei clase de probleme este covâr itoare. Ele sunt dificile în primul rând din cauza faptului c au mai multe minime locale. Într-adev r: y y y programarea convex include programarea liniar .. dar nu garanteaz c optimul g sit este cel global. atunci optimul restric ionat se g se te cu necesitate pe frontiera mul imii A. optimizarea unei func ii separabile f r restric ii se reduce la optimizarea independent a termenilor.. ce pot fi rezolvate f r dificult i deosebite prin metode speciale. Printre aceste tipuri. întregul formalism matematic al teoriei economice moderne se bazeaz pe ipotezele de convexitate.. se num r problemele de programare frac ionar .  f n ( x n ) .. x 2 . fiecare de câte o singur variabil : ¢ f ( x1 . condi iile de optimalitate Kuhn ± Tucker) i practice (metode i algoritmi de optimizare). x n ) se nume te separabil dac ea se poate scrie ca o sum de func ii. metodele actuale pot determina un asemenea optim.. automat acesta va fi un optim global i va reprezenta optimul problemei.. 4) Probleme de programare separabil Se caracterizeaz prin faptul c func ia obiectiv f ca i func iile g i din restric ii sunt separabile în sensul urm toarei defini ii: Func ia f ( x1 . 1. în acest domeniu a fost depus cel mai mare efort de cercetare i s-au ob inut cele mai puternice rezultate teoretice (cum ar fi teoria dualit ii neliniare. x n ) f 1 ( x1 )  f 2 ( x 2 )  .. mecanic . Dup cum s-a mai spus.. func ia obiectiv admite cel mult un optim (minim sau maxim) local.

Exemple de probleme din domeniul chimic: y y y y y y y proiectarea unui reactor chimic calculul echilibrului chimic optim optimizarea procesului de separare printr-o membran cu n straturi optimizarea proceselor de alchilare calculul unui amestec chimic optim probleme de separare i amestec (blending) optimizarea procesului de combustie a propanului în aer. Exemple de probleme din domeniul economic: y problema investi iilor. Exemple de probleme din domeniul mecanic: y y y y optimizarea formei unei came optimizarea traiectoriei unui corp greu plasat în camp gravita ional determinarea formei unui lan de densitate uniform . de lungime dat optimizarea strunjirii unui arbore. Exemplu numeric: Optimizarea compozi iei unui amestec chimic .y y y y proiectarea unui transformator/circuit electric planificarea puterii electrice statice compactizarea circuitelor în sensul plas rii cipurilor calculul distribu iei electronilor pe o sfer conductoare.

min § ( xi  ci ) 2 i !1 18 x1 x9  x 2 x14  x3 x 4 ! 0 x1 x10  x 2 x15  x3 x5 ! 0 x1 x11  x 2 x16  x3 x 6 ! 0 x1 x12  x 2 x17  x3 x 7 ! 0 x1 x13  x 2 x18  x3 x8 ! 0 x 4  x5  x 6  x 7  x8  1 ! 0 x9  x10  x11  x12  x13  1 ! 0 x14  x15  x16  x17  x18  1 ! 0 x14  66.015 x6 ! 0 x17  100 x7 ! 0 x18  33. .33x8 ! 0.67 x 4 ! 0 x15  50 x5 ! 0 x16  0.

grupate în func ie de dimensiunea problemelor rezolvate. sistem simetric i matrice a restric iilor rar KKT. Strategia mul imii active Murray cu posibil nedefinit factorizarea Bunch-Kaufman a matricelor simetrice MINQ Programare p tratic nedefinit C utare de-a lungul coordonatelor cu pa i de minimizare pe subspa ii QLD Programare p tratic cu matrice simetric i Factorizare Cholesky pozitiv definit QPAKO Programare p tratic convex cu matrice Metoda Wolfe diagonal SOLQP Programare p tratic standard cu matrice Punct admisibil interior. cu matrice dens MOSEK Programare p tratic cu restric ii func ii p tratice QHOPDM Programare p tratic Metod Strategia mul imii active Metoda primal-dual de punct interior cu c utare liniar Strategia mul imii active Tehnologii de calcul cu matrice rare Metoda primal-dual de punct interior cu corec ii multiple. în care variabilele i restric iile pot fi dublu m rginite LOQO Programare p tratic de forma 1 min x T Hx  c T x  f 2 b e Ax e b  r l e xeu LSSOL Programare p tratic a celor mai mici p trate. punct de optim Pachete de programe p tratic pentru un num r redus de variabile Tabelul 2 Pachet BQPD Problema tratat Programare p tratic în forma general . inclusiv a problemelor de programare liniar . dou tehnici de factorizare Cholesky. atat din punct de vedere teoretic.Capitolul 2: Pachete sofware pentru programarea convex Domeniul program rii convexe a cunoscut o dezvoltare remarcabil în ultimii ani. cat i al aplica iilor software proiectate pentru rezolvarea acestor probleme. In Tabelele 1 i 2 sunt prezentate principalele pachete software destinate acestui domeniu. algoritmul gradului minim i algoritmul umplerii minime locale Metoda primal-dual de punct QPABO Programare p tratic convex . Tabelul 1 Pachet Problema tratat Metod DUALQP Programare p tratic strict convex Goldfarb-Idnani cu factorizarea Cholesky IQP Programare p tratic cu matrice simetric .

dimensional . ³traiectoria barier ´. cat i al aspectelor computa ionale. A este o matrice xn .1). In metodele de punct interior pentru programarea liniar o pozi ie special o are problema dual . deriv din cele asociate metodei barier . ceea ce a condus la reconsiderarea metodelor barier atat din punctul de vedere al teoriei. Fiecare itera ie a ³metodei de urm rire a traiectoriei´ construie te un pas. Problemele de programare sunt formulate de obicei ca probleme de minimizare: min 1 T x Qx  c T x 2 Ax u b (3. Imediat s-a constatat o leg tur formal foarte strans între acestea i clasicile metode barier . computa ionale.1). Ca atare.QPOPT Programare p tratic (convex sau neconvex ) sau de programare liniar â cu matrice dense Pachete de programe p tratic pentru probleme de mari dimensiuni interior Metoda mul imii active Capitolul 3: Metode de punct interior pentru problema de programare p tratic Metodele de punct interior au fost introduse de Karmarkar (1984). Pentru acestea. Modul cel mai direct de construc ie a dualei se bazeaz pe leg tura care exist între dualitate i condi iile de optimalitate de ordinul întai pentru problema barier asociat . Pentru aceast problem . Vom începe prin a scrie problema barier asociat lui (3.1). iar Q o matrice simetric nxn . cat i de-a lungul aceateia. drumul c tre solu ie urm re te o traiectorie neted . deplasandu-se atat c tre. introducem func ia Lagrange: ¤¥ (3. Problemele tehnice. s consider m variabilele ecart s  . care converg asimptotic la solu ia exact a acesteia. care urm re te aceast traiectorie. cu care scriem urm toarea problem barier : min m n 1 T x Qx  c T x  Q § log x j  Q § log s i 2 i !1 j !1 Ax  s ! b. Când parametrul barier î i atinge limita. £ unde x  R n .dimensional . în restric iile din (3.1) x u 0. i în acest caz vom utiliza o tehnic de construc ie a problemei duale a lui (3.2) . Fundamental pentru metodele de punct interior este definirea unei familii continuu parametrizate a unor solu ii aproximative a problemei.

2 j !1 i !1 Condi iile de optimalitate de primul ordin ale problemei barier (3.  unde X. xy  Introducand vectorul z ! Q form compact : 1 e . y.2) se ob in prin anularea derivatelor func iei Lagrange în raport cu toate variabilele x. Deci restric iile problemei duale sunt: A T y  z  Qx ! c y . care sunt complementare variabilelor primale x. Pentru a scrie obiectiv a problemei duale vom utiliza teorema slab de dualitate. care sunt complementare variabilelor ecart primale s. trebuie ca a doua rela ie din condi iile de mai sus s fie restric ia problemei duale. pentru a stabili leg tura dintre condi iile de optimalitate i problema dual . care pare s apar in problemei primale. în principiu. y i respectiv s. Z. condi iile de optimalitate de ordinul întai se pot scrie sub Ax  s ! b A T y  z  Qx ! c Z e!Qe Y S e ! Q e. z ) . s i y: § x ! x c  Q X 1e  xx x !  Q S 1 e y ! 0 xs x ! b  x s ! 0. Interpretarea corect este c variabilele x care apar în dual . s ) i de o solu ie admisibil dual ( x.L ( x . precum i vectorul m ± dimensional al variabilelor y. Datorit acestor condi ii de complementaritate. z u 0. rezult c variabilele y i z sunt nenegative în problema dual . Y i S sunt matrice diagonale ale c ror elemente sunt componentele vectorilo x. Este interesant de notat faptul c restric iile problemei duale implic vectorul n ± dimensional x. nu au nici o leg tur cu variabilele x care apar în primal . z. y ) ! n m 1 T x Qx  c T x  Q § log x j  Q § log s i  y T (b  Ax  s ). In aceast teorem presupunem c dispunem de o solu ie admisibil primal ( x. s. Atunci: ¦ ¦ § ¦ © ¨ ¨ ¨ y!0 . De asemenea. Din ultimele dou condi ii de mai sus se observ c problema dual implic vectorul n ± dimensional al variabilelor z. cu excep ia faptului c în punctul de optim ele sunt egale.

Deoarece y T ( Ax ) ! ( AT y ) T x. z*) este solu ia optim Ö i ( x. s*) care este admisibil pentru problema primal i o solu ie ( x*.  La fel ca în cazul program rii liniare. fie ( x. Intr-adev r.   atunci ( x*. z u 0. i pentru programarea p tratic leg tura fundamental dintre problema primal (3. z*) care este admisibil pentru problema dual . 2 2 º º ª ª           Din aceast inegalitate rezult c func ia obiectiv a problemei duale este b y  dual a lui (3.1) este: max b T y  1 T x Qx.1) i cea dual (3.3) este dat de teorema ecarturilor complementare. s ) o solu ie primal admisibil scrie: y T ( Ax ) ! ( A T y ) T x . y*. Demonstra ie. Problema 2 (3.y T ( Ax ) ! y T (b  s ) ! b T  y T s i      ( y ) x ! (c  z  Qx ) x ! c x  z x  x Qx. rezult : 0 e y s  z x ! c x  x Qx  b y ! 1 1 ¸ ¸ ¨ ¨ ! © c x  x Qx ¹  © b y  x Qx ¹. dac acestea satisfac rela ia: y * s *  z * x* ! 0. Pentru problema de programare p tratic convex . Putem . y*. z ) o solu ie dual admisibil . y. 2 AT y  z  Qx ! c y . Din condi iile de optimalitate se ob ine: y ( x ) ! y (b  s ) ! b  y s .3) i ( x*. Teorema 1. s*) este solu ia optim pentru problema primal pentru problema dual . dat o solu ie ( x*.       1 x Qx.

Teorema de dualitate slab aplicat lui ( x. se ob ine: cT x *  1 1 T x * Qx* ! c T x *  x *T Qx *  x *T Qx* e 2 2 1 e c T x  x *T Qx  x *T Qx* ! 2 1 1 T 1 T ! c T x  x Qx  x Qx  x *T Qx  x *T Qx * 2 2 2 1 1 ! c T x  x T Qx  ( x  x*) T Q ( x  x*). " " " Combinand aceste dou rela ii de mai sus.i respectiv ( AT y ) T x ! (c  z  Qx ) T x ! c T x  z T x  x T Qx. dar trebuie ar tat c func ia obiectiv primal evaluat în x* nu este mai mare decat valoarea ei în x. cat i z x sunt nenegative. din punctul de vedere al primalei i al lui ( x*. se ob ine: c x *  x * Qx* e c x  x * Qx. # # # # Acest rezultat este interesant prin el însu i. din punctul de vedere al dualei arat c : c T x  x *T Qx  b T y* u 0. din inegalitatea de mai sus. 2 2 Dar. adic : $ $ $ c x* $ 1 1 x * Qx* e c x  x Qx. Comparand aceste dou rela ii i inand seama de faptul c atat y s . s*) inegalitatea de mai sus este chiar egalitate: c x *  x * Qx * b y* ! 0. ! Dar. 2 2 Acest lucru este foarte u or de ar tat. Pornind de la membrul stang al inegalit ii de mai sus. Fie deci ( x. din ipotezele teoremei. rezult : 0 e y s  z x ! c x  x Qx  b y. z*) . rezult : . astfel încat. în punctul de optim ( x*. y*. matricea Q este pozitiv semidefinit . s ) . s ) o solu ie admisibil .

O analiz similar arat c y* (împreun cu x* i z*) formeaz o solu ie optim pentru problema dual .1). (z ) : 20 & (' ' ( y  (z  Q ( x ! c  ) 0 y  z  Qx | rD ) (x  X (z  (X ( e ! Q e  X S(y  Y(s  (Y(S e ! Q e  Y S e. dac se elimin termenii neliniari (p tratici). z  (z ) pentru a ob ine urm torul sistem algebric neliniar. în cele ce urmeaz vom dezvolta metoda primal-dual de punct interior pentru problema de programare p tratic (3. s. ( z ) : (y  (z  Q(x ! rD 4 ( x  X( z ! Q e  X S(y  Y(s ! Q e  Y S e. rezult c x* (împreun cu s*) constituie o solu ie optim pentru problema primal . z ) cu ( x  (x. In continuare.Cum x este un punct primal admisibil. y . unde rP i r sunt reziduurile primale i respectiv cele duale. din ultimele dou ecua ii ale sistemului de mai sus ob inem: 6 (x  (s ! r 1 (x  (s ! b  x  s | r e % % % c x* % 1 1 x * Qx* e c x  x Qx. condi iile de optimalitate de ordinul întai sunt: y  z  Qx ! c xs!b X e!Qe Y S e ! Q e. Dup modul în care sunt rezolvate condi iile de optimalitate asociate problemei barier . se pot dezvolta metode de punct interior de urm rire a traiectoriei: primal-duale. pentru problema de programare p tratic . (y . ob inem direc ia de deplasare c utat . se ob ine urm torul sistem algebric liniar pentru direc ia ( (x . Putem reduce acest sistem. ( s . In continuare vom considera abordarea primal-dual din cadrul metodelor de urm rire a traiectoriei. Se înlocuie te punctul ( x. r manand ca în capitolul urm tor s consider m abordarea predictor-corector pentru optimizarea cu restric ii liniare. Cu aceste preciz ri. Intr-adev r. în sensul variabilelor ( z i (s . s  (s. Rezolvand acest sistem. y  (y . (y . a c rui solu ie furnizeaz direc ia de deplasare ( (x. predictor-corector sau predictorcorector de ordin superior. la fel ca în cazul programelor liniare. (s. 2 2 75 5 4 20 0 ) 3 e . Intr-adev r.

unde x 0 " 0. prin calculul deplas rii maxime admisibile penalizat cu un factor X  (0.1) este factorul de mentinere a itera iei curente în interioirul domeniului de admisibilitate (de obicei X ! 0. y i z. Se calculeaz reziduurile primale i duale: rP ! b  Ax k  s k . Cu acestea se poate prezenta urm torul algoritm de punct interior. (y j ¯  ± (y j ° ¾¾ ± ± 0¿ ¿ . (s j ¯  ± (s j ° ® yj ± . s. (x j ¯  ± (x j ° ® zj ± . alese astfel Ö Ö încat s se men in pozitivitatea variabilelor x. Se calculeaz saltul de dualitate: K ! z x  y s.(z ! X 1 ( Q e  X Z e  Z(x) (s ! Y 1 ( Q e  Y S e  S(y ) Cu acestea. o nou estima ie ( x  . min ± j À ¾ ± 0 ¿.6) i X  (0.5) putem determina direc ia de deplasare din punctul curent considerat. ± À± À (3. unde E P i E D sunt lungimile pa ilor de deplasare din spa iul primal. z 0 " 0. unde: ® ± E P ! min ¯min ± j ° ® ± E D ! min ¯min ± j ° ® ± xj . z  ! z  E (z .1) . Se testeaz un criteriu de oprire a itera iilor. ± À± À ¾¾ ± ± 0 ¿¿ . y  . s 0 " 0. Se determin valoarea parametrului barier : A A Pasul 1 2 3 4 5 . adic E P ! X E P i E D ! X E D . Lungimea pasului se determin exact ca în cazul liniar. min ± j À ® ± sj . variabilele (x i (y se determin ca solu ii ale sistemului KKT redus: » « (x » « c  «  ( X 1 Z  Q ) y  QX 1 e  Qx » !¬ ¼. s  . z  ) a variabilelor este definit sub forma: @ x  ! x  E P (x.4) (3. Algoritmul QPD Descriere T Se consider o aproxima ie ini ial t 0 ! ?x 0 s 0 y 0 z 0 A .5) Astfel. rD ! c  AT y k  z k  Qx k . Se pune k ! 0. y 0 " 0. @ s  ! s  E P (s . respectiv dual. Cu acestea. (z j ¯  ± (z j ° ¾ ± 0 ¿.4) i (3. din (3. y  ! y  E (y . primal-dual de urm rire a traiectoriei pentru programarea p tratic . ¼¬ ¼ ¬ Y 1 S ¼ ­ (y ½ ¬ b  x  QY 1 e ¼ ¬ ½ ­ ½ ­ 8 98 98 8 (3.9995 ).

1) i se pun E P ! X k E P i E D ! X k E D . Exemplul 1: S consider m problema: 2 2 min 10 x1  6 x3  x12  x 2  2 x3  4 x1 x 2  6 x1 x3 . s k 1 ! s k  E(s . Se pune k ! k  1 i se continu cu pasul 2. E D } .6 7 K . Se calculeaz noua aproxima ie t k 1 ! [ x k 1 s k 1 y k 1 z k 1 ]T .1) este un parametru de modificare al lui Q . z k 1 ! z k  E(z . Ö Ö Se alege X k  (0. iar E ! min{E P . unde E P i E D sunt cei da i de (). unde W  (0. unde x k 1 ! x k  E(x . nm Se rezolv sistemul KKT redus: » « (x » « c  «  ( X 1 Z  Q ) y  QX 1 e  Qx » !¬ ¼. y k 1 ! y k  E(y . ¼¬ ¼ ¬ Y 1 S ¼ ­ (y ½ ¬ b  x  QY 1 e ¼ ¬ ½ ­ ½ ­ Se determin direc iile: (z ! X 1 ( Q e  X Z e  Z(x) Q !W 8 9 (s ! Y 1 ( Q e  Y S e  S(y ).

evident c trebuie considerat saltul relativ de dualitate.5330 0. itera iei x3 x1 x2 1 1. ca i în cazul liniar.2918 1.3.4248 0.1. 3 x1  x 2  2 x3 e 16 x 2  3x3 e 12 0 e x i .5674 5 1.3365 2.5407 0.0000 1.4314 6 1.2669 2. y 0 ! [1 1]T . Tabelul 3 Nr. Dac saltul relativ la dualitate este mai mic decat o toleran de oprire a D B CB CB B . X k ! 0.3934 7 1. s 0 ! [1 1]T . i ! 1. Algoritmul PCIPLC.0000 2 1.6627 3 1.7728 4 1.5394 0.5334 0.99995 Referitor la criteriul de oprire a itera iilor.2667 2.4693 2.4000 Evolu ia variabilelor problemei ! 0.4003 8 1.2627 2. realizat în MATLAB.2.4973 0.0000 1.2293 0. ini ializat în punctul x 0 ! [1 1 1]T . z 0 ! [1 1 1]T i w0 ! [1 1]T furnizeaz rezultatele din Tabelul 3.6279 2.

pentru a ob ine:  ( X 1 Z  Q  AT YS 1 A) (x ! c  A T  QX 1 e  Qx  AT YS 1 (b  Ax  QY 1e) . Implementarea practic a modelelor de punct interior sufer din cauza prezen ei liniilor sau coloanelor dense în matricea restric iilor. In capitolul urm tor vom extinde aceste considera ii la clasa problemelor mai generale decat programarea p tratic . unde D este o matrice diagonal . Atunci. Prezen a termenului p tratic în func ia obiectiv constituie un motiv în plus de a prefera rezolvarea sistemului ().5) în sensul ob inerii ecua iilor normale.5) putem ob ine imediat ecua iile normale în forma dual . ne plas m în situa ia program rii liniare. Exist dou posibilit i. matrice care poate fi mult mai rar decat A( D  Q ) 1 AT . i anume optimizarea cu restric ii liniare. (1) Din (3. In aceast situa ie. cu o structur oarecare. ceea ce implic utilizarea unui software care poate trata sisteme de ecua ii liniare algebrice nedefinite. Dac Q este diagonal . Totu i. Dar. (2) Tot din (3. vom continua reducerea sistemului (3. tiparul zero/nonzero al matricei coeficien ilor ecua iilor normale în forma dual este dat de matricea A T A  Q . atunci algoritmul este oprit. în care dimensiunea sistemului este m (în general mai mic decat n).5) putem ob ine imediat ecua iile normale în forma primal prin rezolvarea primei ecua ii în privin a lui (x : (x !  ( X  1 Z  Q )  1 [ c  y  QX 1 e  Qx  (y ] . atunci structura de matrice rar a lui A( D  Q ) 1 AT este total ruinat . In acest scop. din a doua ecua ie din (3. în acest caz avem de rezolvat un sistem n ± dimensional. Aceste observa ii justific utilizarea sistemului KKT redus în implement rile practice ale algoritmului QPD. fa de cazul ecua iilor normale în forma primal . Aceasta face s fie preferat rezolvarea sistemului KKT redus (). Se observ c termenul p tratic din func ia obiectiv nu joac un rol important în cadrul algoritmului. dac Q este o matrice nediagonal . prin rezolvarea celei de a doua ecua ii în privin a lui (y : (y ! YS 1 [b  Ax  QY 1 e  A(x ] .itera iilor. FE FE Se observ c matricea coeficien ilor ecua iilor normale în forma primal are tiparul zero/nonzero dat de matricea A( D  Q ) 1 AT .5) deducem imediat ecua iile normale (în forma primal ): [ A( X 1 XZ  Q ) 1 AT  Y 1 S ](y ! b  Ax  QY 1 e   A( X 1 Z  Q ) 1 (c  AT y  QX 1 e  Qx ) . i apoi eliminarea lui din prima ecua ie. .

Condi iile necesare de ordinul întai pentru un punct sta ionar al lagrangeanului asociat problemei (4. y ( Q ). Traiectoria barier asociat problemei (4.1) se define te ca mul imea tuturor vectorilor x( Q ).Capitolul 4: Metode de punct interior pentru optimizare cu restric ii liniare Extinderea metodelor de punct interior de urm rire a traiectoriei la cazul problemelor cu restric ii liniare este foarte natural i se poate face pentru toate cele trei moduri de abordare a urm ririi traiectorieiîn sensul: primal-dual. w. Deoarece ace ti vectori depind de parametrul barier Q . z . Fie problema de optimizare cu restric ii liniare. predictor-corector sau predictor-corector de ordin superior..1) log x j  Q i !1 log s i . s j .2) sunt: x!b xs!u (4. w( Q ) care satisfac rela iile (4. putem rezolva sistemul (4. s. Pentru aceast clas de probleme vom considera metoda predictor-corector. Fixand parametrul Q la o valoare pozitiv . care tinde la 0.3) ob inem o familie de solu ii parametrizat de Q . z j .. într-o form mai general : min f ( x ) x!b 0e xeu unde f : R n p R este o func ie convex . z ( Q ).3) în privin a variabilelor x. Matricea A este mxn . S. Z. cu elemente numere reale. b  R m i unde este posibil ca anumite componente ale lui u sa fie  g . (4. din (4.3). y . cel pu in de dou ori continuu diferen iabil pe R n . unde X. xs!u H n j !1 m parametrizat dup Q u 0 . s ( Q ). W sunt matrice diagonale cu elementele x j .dimensional .. w j ( j ! 1.. din () ob inem urm toarea familie de probleme: min f ( x )  Q x ! b.3) I P y  z  ! “f ( x ) X Z e!Qe S W e ! Q e.2) . n ) . Ad ugand variabilele ecart s u 0 i considerand func ia barier logaritmic . G QP (4.

se consider Q ! 0 i se ignor termenii p tratici (X(Ze i (S(We . z>0.4) se ob ine imediat: A(x ! b  Ax (x  (s ! u  x  s  “ 2 f ( x)(x  AT (y  (z  (w ! “f ( x )  AT y  w  z X(z  Z(x ! Q e  XZe  (X(Ze S(w  W(s ! Q e  SWe  (S(We. n ). precum i pentru a aproxima termenii p tratici neglija i în prima etap .5) în dou etape.. de corec ie. (S .1) este de a solu iona sistemul liniar (4. aceste direc ii sunt utilizate pentru a calcula o nou estima ie a parametrului barier Q . (w j ( j ! 1. vom aplica metoda lui Newton.. Astfel. (z j . rezolvandu-se sistemul algebric liniar: (x ! b  x (x  (s ! u  x  s S UT S UT T T  “ 2 f ( x)(x  (y  (z  ( ! “f ( x )  X(z  Z(x !  XZe S(  W(s !  SWe. presupunand c dispunem de o estima ie curent t ! [ x s y z w]T a solu iei lui (4. . w>0. s>0. pentru care x>0. putem calcula noua estima ie t  (t . (W sunt matrice diagonale cu elementele (x j . (Z . din (4.5) i sistemul din cadrul program rii liniare este prezen a matricei hessian a func iei obiectiv. unde (t ! [ (x (s (y (z (w]T este solu ia urm torului sistem neliniar: A( x  (x) ! b ( x  (x )  ( s  (s ) ! u AT ( y  (y )  ( z  (z )  ( w  (w) ! f ( x  (x) ( X  (X )( Z  (Z )e ! Q e (S  (S )(W  (W )e ! Q e.5) Diferen a esen ial dintre (4.4) în care (X ...Pentru rezolvarea sistemului algebric neliniar (4. Considerand f de dou ori continuu diferen iabil . de predic ie. (s j . În a doua etap . R (4. S y z (4.3).3). In prima etap . (4. Ideea metodei predictor-corector de urm rire a traiestoriei pentru rezolvarea lui (4.6) în privin a direc iei afine (de predic ie) (t a ! [ (x a (s a (y a (z a (wa ]T .

Astfel. 2 ± n ° (4.Pentru calculul parametrului barier .1) este un parametru care permite modificarea lui Q . unde X  (0.10) în privin a direc iei de centrare (t c ! [ (xc (s c (y c (z c ( c ]T . Cu aceast valoare a lui Q se rezolv sistemul algebric liniar: A (x ! 0 (x  ( s ! 0  “ 2 f ( x ) ( x  A T ( y  (z  ( w ! 0 X (z  Z (x ! Q e  ( X a ( Z a e S ( w  W ( s ! Q e  (S a (W a e . atunci lungimea pasului de deplasare se determin prin utilizarea testului rapoartelor standard. ± À± À ¾¾ ± ± 0 ¿¿ .6). (z a j ¯  ± (z a j ° ¾ ± 0 ¿.8) Atunci parametrul barier este calculat conform rela iei: 2 ®« Ö Ö g » «g» T T W¬ T ± T ¼ ¬ n ¼. nu apar probleme complicate. min ± j À ® ± sj . x z  s w u 1 ± x z  s w½ ­ ½ Q !¯ ­ T T ± x zs w x T z  s T w 1. (s a.9) unde W  (0.1) este un parametru de atenuare a bloc rii (anul rii) unei variabile (de obicei X ! 0. Dac am considera un pas în direc ia afin dat de (4. Cu acestea am precizat calculul direc iei de deplasare în cadrul metodei predictor-corector ca o combina ie a direc iei de predictie i a direc iei de corectie. (w a j ¯  ± ( wa j ° (4. la fel ca în programarea liniar . calcul m: ® ± HÖP ! min ¯min ± j ° ® ± HÖD ! min ¯min ± j ° ® ± xj . (4.7) i consider m H P ! X HÖP i H D ! X HÖD .9995 ). (x a j ¯  ± (x a j ° ® zj ± . Acum trebuie s specific m modul de calcul al lungimii pasului de deplasare de-a lungul acestei direc ii. (4. cu care calcul m direc ia de deplasare (t ! (t a  (t c din cadrul algoritmului predictor-corector. ¯  ± (s a j ° ¾¾ ± ± 0¿ ¿ . ± À± À j ® wj ± . Valoarea complementarit ii care ar rezulta dac am considera un pas în direc ia afin (t a este: Ö g ! ( x  H P (x a ) T ( z  H D (z a )  ( s  H P (s a )( w  H D (wa ). min ± j À ¾ ± 0¿. Simplul test al V . W . vom utiliza aceea i strategie ca în cazul liniar. Pentru aczul optimiz rii cu restric ii liniare.

± À± À (4. y 0 0. (x j E ! min ¯min ¯  ± j ± (x j ° ° W W Y ¾ ± 0 ¿. T T Se consider W k ! min(W . min ± j À ± j ¯  ±( ° W X ± xj ± Ö . 7 8 Ö Ö Ö Ö Se alege X k  (0. unde E P i E D sunt calcula i conform formulelor (). x k z k  s k wk ) . unde E P i E D sunt calcula i conform rela iilor: X j j i X  (0.rapoartelor standard ne permite determinarea lungimii pasului astfel încat toate variabilele s se men in strict pozitive. Pasul 1 2 3 4 5 6 (s ! ( s a  (s c . e d Exemplul 2: a b b b ` c a c ` ± Ö E D ! min ¯min ± j ° ` ± zj .11) c c c . (s j ¯  ± ° (s j . Se pune k ! k  1 i se continu cu pasul 2.( ¾¾ ± ± 0¿ ¿ . care se introduce în locul lui W din formula () de calcul al parametrului barier Q . a solu iei: x k 1 ! x k  E (x . Se consider : (x ! ( x a  ( x c . y k 1 ! y k  E D (y . s k 1 ! s k  E (s .1) i se pune E P ! X k E P i E D ! X k E D . Se pune k ! 0. ( z ! (z a  ( z c . (w ! ( w a  ( w c . suficient de mic . w0 0 . z k 1 ! z k  E D (z . Se rezolv sistemul algebric liniar () în privin a direc iei de centrare determin valoarea parametrului barier (t c . Se rezolv sistemul algebric liniar () în privin a direc iei afine (t a . Se calculeaz noua estima ie t k 1 . s 0 0.. prespecificat . z 0 0 . Lungimile pa ilor se calculeaz separat în spa iul primal i cel dual ca: Ö Ö Ö Ö E P ! X E P i E D ! X E D . 1 | f ( x k )  “f ( x k ) T x k  b T y k  u T wk | unde I este o toleran pozitiv .1) este factorul de mentinere a itera iei curente în interiorul domeniului de admisibilitate (de obicei X ! 0. Cu acestea se poate prezenta urm torul algoritm al metodei predictor-corector de urm rire a traiectoriei pentru optimizarea cu restric ii liniare. Se testeaz criteriul de oprire a itera iilor: | “f ( x k ) T x k  b T y k  u T wk | e I. unde x0 0. min ± j À ± sj . wk 1 ! wk  E D (w . ± À± À ¾¾ ± ± 0 ¿¿ . ( y ! ( y a  (y c . (z j ¯  ± (z j ° ¾ ± 0¿.9995 ). Algoritmul PCIPLC Descriere T Se consider o aproxima ie ini ial t 0 ! ?x 0 s 0 y 0 z 0 w0 A .

pa ii cei mai delica i sunt 3 i 5.4850 2.5000 0.4421E-1 x2 0.1329 0. Narendra (1984).1106E-1 0. apare o complica ie în plus dat de evaluarea hessianului “ 2 f ( x ) în itera ia curent ..9733 0.5000 0.5000 0.5632 0. z 0 ! [1.5131 1.404E-10 Evolu ia variabilelor problemei W ! 0. 1]T i w0 ! [1. Nr.6930 0.2352 0. In acest caz.2830 0. y 0 ! [1 1 1]T .8787 2.4062 0. .8909 2.2738 0.1718 0.6709E-1 0.4963E-1 0.8115 2.9654 x3 0. I ! 10 18 Dup cum se observ .4429E-1 0.6346 Tabelul 4 x7 0.2674 0.6450E-7 0.7.9717 2.1336 x4 0.8810 0. no.5000 0. X k ! 0. Lungimea pasului de deplasare nu implic probleme de calcul deosebite.3391 0.5086 2. 373±395.6015 1.5 0 e x i e 10.1493E-4 0.2562E-3 0.4421E-1 0..0000 0.0000 0.6317 0.6393 2. Bibliografie Karmarkar.1336 0.5000 0. 1]T furnizeaz rezultatele din Tabelul 4.2753 0.1.99995.3721 0.9661 0.6450 2.9208 1.5000 0.6386 0. Combinatorica.6103 0.8646E-1 0.5150 0.9693 0. s 0 ! [1. 4.5901 0..6497 0. Computa ional.0009 0.5000 0. algoritmul este rapid convergent la solu ia optim .1740 2. "A New Polynomial Time Algorithm for Linear Programming".5.1322 0. 0 1 2 3 4 5 6 7 8 9 10 x1 0.1677 0.8328 1. fiind asem natoare situa iei din programarea liniar .9946 0.1264E-2 0.6828 2.8912 x6 0.S consider m problema: 1 2 ¸ ¨ 2 min © x12  x 2  x3  x1 x 3  x 3 x 4  x1  3 x 2  x3  x 4  e x  e x  e x  e x ¹ 2 º ª x1  2 x 2  x3  x 4  x5 ! 5 1 2 3 4 3 x1  x 2  2 x3  x 4  x 6 ! 4 x 2  4 x 3  x 7 ! 1. realizat în MATLAB.1334 0. 1]T . Vol 4.0147 2. O dat ce matricea acestor sisteme este factorizat . care const în rezolvarea sistemelor algebrice liniare () i ().6960 0. Algoritmul PCIPLC. aceasta poate fi utilizat pentru calculul celor dou direc ii: de predic ie i de corec ie.9351 0.9654 0. i ! 1.5]T .7846 1. ini ializat în punctul x0 ! [0. al minimiz rii func iei f(x) în prezen a restric iile liniare. 0. pp.1153 2.2389 1.0000 x5 0..8372 1.6348 2.

Sign up to vote on this title
UsefulNot useful