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.

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 . x 2 ...1 Clase de probleme In cadrul acestui domeniu.. eventualele restric ii egalit i sunt liniare. x 2 . x n ) minimul fiind luat dupa to i x  R n în care func ia f este definit ..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 ). cerin motivat prin aceea c func iile liniare sunt singurele func ii simultan convexe i concave.. 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 ). 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.. se rezolv prin metode derivate din metoda simplex într-un num r finit de pa i. 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. 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 .. se diferen iaz 5 clase de probleme neliniare. x n ) c 0  § ci xi  i 1 n 1e i e j e n §c ij xi x j . Problemele convexe au urm toarele propriet i fundamentale:   .

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

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. Exemple de probleme din domeniul economic: y problema investi iilor. 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. de lungime dat optimizarea strunjirii unui arbore. Exemplu numeric: Optimizarea compozi iei unui amestec chimic . 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 .

.015 x6 ! 0 x17  100 x7 ! 0 x18  33.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.33x8 ! 0.67 x 4 ! 0 x15  50 x5 ! 0 x16  0.

algoritmul gradului minim i algoritmul umplerii minime locale Metoda primal-dual de punct QPABO Programare p tratic convex . î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. sistem simetric i matrice a restric iilor rar KKT. Tabelul 1 Pachet Problema tratat Metod DUALQP Programare p tratic strict convex Goldfarb-Idnani cu factorizarea Cholesky IQP Programare p tratic cu matrice simetric . grupate în func ie de dimensiunea problemelor rezolvate. atat din punct de vedere teoretic. 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. 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 . cat i al aplica iilor software proiectate pentru rezolvarea acestor probleme. dou tehnici de factorizare Cholesky. 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. In Tabelele 1 i 2 sunt prezentate principalele pachete software destinate acestui domeniu.Capitolul 2: Pachete sofware pentru programarea convex Domeniul program rii convexe a cunoscut o dezvoltare remarcabil în ultimii ani.

ceea ce a condus la reconsiderarea metodelor barier atat din punctul de vedere al teoriei. Pentru acestea. Fundamental pentru metodele de punct interior este definirea unei familii continuu parametrizate a unor solu ii aproximative a problemei.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).2) . computa ionale. cat i al aspectelor computa ionale. cat i de-a lungul aceateia. Vom începe prin a scrie problema barier asociat lui (3. deplasandu-se atat c tre. care urm re te aceast traiectorie. Problemele de programare sunt formulate de obicei ca probleme de minimizare: min 1 T x Qx  c T x 2 Ax u b (3.1). Problemele tehnice. 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 .1). introducem func ia Lagrange: ¤¥ (3. In metodele de punct interior pentru programarea liniar o pozi ie special o are problema dual . Imediat s-a constatat o leg tur formal foarte strans între acestea i clasicile metode barier . s consider m variabilele ecart s  .1) x u 0.dimensional . Când parametrul barier î i atinge limita.1). i în acest caz vom utiliza o tehnic de construc ie a problemei duale a lui (3. Ca atare. 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.dimensional . deriv din cele asociate metodei barier . iar Q o matrice simetric nxn . în restric iile din (3. £ unde x  R n . Pentru aceast problem . A este o matrice xn . drumul c tre solu ie urm re te o traiectorie neted . care converg asimptotic la solu ia exact a acesteia. ³traiectoria barier ´. Fiecare itera ie a ³metodei de urm rire a traiectoriei´ construie te un pas.

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

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

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

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

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

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 . unde x k 1 ! x k  E(x . s k 1 ! s k  E(s . E D } . Se pune k ! k  1 i se continu cu pasul 2. Ö Ö Se alege X k  (0. ¼¬ ¼ ¬ 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 ). Se calculeaz noua aproxima ie t k 1 ! [ x k 1 s k 1 y k 1 z k 1 ]T . unde W  (0.1) este un parametru de modificare al lui Q . unde E P i E D sunt cei da i de ().1) i se pun E P ! X k E P i E D ! X k E D .6 7 K . y k 1 ! y k  E(y . nm Se rezolv sistemul KKT redus: » « (x » « c  «  ( X 1 Z  Q ) y  QX 1 e  Qx » !¬ ¼. iar E ! min{E P . z k 1 ! z k  E(z .

4248 0.5674 5 1.3.2918 1.5407 0. evident c trebuie considerat saltul relativ de dualitate.4693 2.0000 2 1. Algoritmul PCIPLC. i ! 1. Tabelul 3 Nr.3934 7 1.2627 2. s 0 ! [1 1]T .2669 2.5394 0.5334 0.4314 6 1.2293 0. 3 x1  x 2  2 x3 e 16 x 2  3x3 e 12 0 e x i .99995 Referitor la criteriul de oprire a itera iilor.1. z 0 ! [1 1 1]T i w0 ! [1 1]T furnizeaz rezultatele din Tabelul 3.0000 1.2667 2. itera iei x3 x1 x2 1 1.5330 0.3365 2. Dac saltul relativ la dualitate este mai mic decat o toleran de oprire a D B CB CB B . y 0 ! [1 1]T .4003 8 1. ini ializat în punctul x 0 ! [1 1 1]T .6279 2.4973 0. realizat în MATLAB. ca i în cazul liniar.0000 1. X k ! 0.4000 Evolu ia variabilelor problemei ! 0.7728 4 1.2.6627 3 1.

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

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

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

(x a j ¯  ± (x a j ° ® zj ± .6). Acum trebuie s specific m modul de calcul al lungimii pasului de deplasare de-a lungul acestei direc ii. nu apar probleme complicate. Pentru aczul optimiz rii cu restric ii liniare. cu care calcul m direc ia de deplasare (t ! (t a  (t c din cadrul algoritmului predictor-corector. (s a. 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 . (4. ¯  ± (s a j ° ¾¾ ± ± 0¿ ¿ .1) este un parametru care permite modificarea lui Q . (4. 2 ± n ° (4. vom utiliza aceea i strategie ca în cazul liniar.9) unde W  (0.9995 ). (w a j ¯  ± ( wa j ° (4. W . min ± j À ® ± sj .10) în privin a direc iei de centrare (t c ! [ (xc (s c (y c (z c ( c ]T . calcul m: ® ± HÖP ! min ¯min ± j ° ® ± HÖD ! min ¯min ± j ° ® ± xj .7) i consider m H P ! X HÖP i H D ! X HÖD . Dac am considera un pas în direc ia afin dat de (4. ± À± À ¾¾ ± ± 0 ¿¿ . min ± j À ¾ ± 0¿. la fel ca în programarea liniar .8) Atunci parametrul barier este calculat conform rela iei: 2 ®« Ö Ö g » «g» T T W¬ T ± T ¼ ¬ n ¼.1) este un parametru de atenuare a bloc rii (anul rii) unei variabile (de obicei X ! 0. (z a j ¯  ± (z a j ° ¾ ± 0 ¿. Astfel. Simplul test al V . unde X  (0.Pentru calculul parametrului barier . ± À± À j ® wj ± . x z  s w u 1 ± x z  s w½ ­ ½ Q !¯ ­ T T ± x zs w x T z  s T w 1. 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 ). 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. atunci lungimea pasului de deplasare se determin prin utilizarea testului rapoartelor standard.

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

X k ! 0.8372 1.0000 0.9717 2.2389 1.7.5632 0.4421E-1 x2 0. I ! 10 18 Dup cum se observ . O dat ce matricea acestor sisteme este factorizat .3391 0.6015 1.2753 0.6103 0. Nr.8810 0.4421E-1 0.404E-10 Evolu ia variabilelor problemei W ! 0.6450E-7 0.. fiind asem natoare situa iei din programarea liniar ..6393 2. 4.1329 0. Vol 4. no. al minimiz rii func iei f(x) în prezen a restric iile liniare. i ! 1.2738 0.9654 0.3721 0.5000 0.0000 x5 0.1493E-4 0.1740 2.8115 2.4963E-1 0.5000 0.9693 0.5 0 e x i e 10.9733 0.0147 2.6348 2. ini ializat în punctul x0 ! [0.9654 x3 0.5131 1.2562E-3 0. In acest caz.9661 0.1153 2.0000 0.1322 0.1264E-2 0. 0. 1]T i w0 ! [1.7846 1.5000 0.4062 0.8646E-1 0. Bibliografie Karmarkar. "A New Polynomial Time Algorithm for Linear Programming".6386 0. 1]T . pa ii cei mai delica i sunt 3 i 5.6709E-1 0.6960 0.2674 0. Algoritmul PCIPLC.5000 0. care const în rezolvarea sistemelor algebrice liniare () i (). realizat în MATLAB. 1]T furnizeaz rezultatele din Tabelul 4.9351 0. Narendra (1984).5901 0. Lungimea pasului de deplasare nu implic probleme de calcul deosebite.6828 2.5]T .4429E-1 0. Combinatorica.1.0009 0. pp.. 0 1 2 3 4 5 6 7 8 9 10 x1 0.5. Computa ional.9946 0.99995. s 0 ! [1.6930 0.8328 1.8787 2. 373±395.6346 Tabelul 4 x7 0. apare o complica ie în plus dat de evaluarea hessianului “ 2 f ( x ) în itera ia curent .9208 1.1106E-1 0. aceasta poate fi utilizat pentru calculul celor dou direc ii: de predic ie i de corec ie.5150 0.5000 0.5000 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.2352 0. y 0 ! [1 1 1]T .1718 0. z 0 ! [1.5000 0.6497 0.1677 0.6450 2.1336 x4 0.4850 2.8912 x6 0.6317 0..1336 0. .5086 2.1334 0.2830 0. algoritmul este rapid convergent la solu ia optim .8909 2.