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.

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

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

Exemplu numeric: Optimizarea compozi iei unui amestec chimic . de lungime dat optimizarea strunjirii unui arbore. 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 . 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.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.

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

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

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

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

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

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

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

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

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

2627 2.3.6627 3 1.2293 0. i ! 1. X k ! 0.4000 Evolu ia variabilelor problemei ! 0.5407 0. Algoritmul PCIPLC.5394 0. Dac saltul relativ la dualitate este mai mic decat o toleran de oprire a D B CB CB B .4973 0.6279 2. z 0 ! [1 1 1]T i w0 ! [1 1]T furnizeaz rezultatele din Tabelul 3.5674 5 1. evident c trebuie considerat saltul relativ de dualitate.5330 0. ca i în cazul liniar.3365 2. ini ializat în punctul x 0 ! [1 1 1]T .5334 0.7728 4 1. itera iei x3 x1 x2 1 1. Tabelul 3 Nr.2669 2.2.0000 1.0000 1. realizat în MATLAB. s 0 ! [1 1]T .1.2667 2. 3 x1  x 2  2 x3 e 16 x 2  3x3 e 12 0 e x i .2918 1.3934 7 1.4003 8 1. y 0 ! [1 1]T .4693 2.0000 2 1.99995 Referitor la criteriul de oprire a itera iilor.4314 6 1.4248 0.

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

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

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

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

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

5]T .5131 1.0000 0. al minimiz rii func iei f(x) în prezen a restric iile liniare. y 0 ! [1 1 1]T .1493E-4 0.2830 0. i ! 1.1336 x4 0. care const în rezolvarea sistemelor algebrice liniare () i (). O dat ce matricea acestor sisteme este factorizat .1106E-1 0.6348 2. I ! 10 18 Dup cum se observ . Computa ional.7.4963E-1 0.3391 0.8787 2.6450E-7 0.8909 2.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.5632 0. ini ializat în punctul x0 ! [0. Narendra (1984).8372 1.6497 0.4421E-1 0.9693 0.2738 0.9717 2. s 0 ! [1.1334 0.6103 0.9208 1. Lungimea pasului de deplasare nu implic probleme de calcul deosebite.1740 2.6346 Tabelul 4 x7 0.99995.8115 2.6015 1.6317 0.8810 0. 373±395.1322 0.6393 2.5000 0.0000 0.1264E-2 0. Bibliografie Karmarkar.5000 0.6386 0. "A New Polynomial Time Algorithm for Linear Programming".5086 2.4850 2.5000 0.1153 2.8912 x6 0.4429E-1 0. pp.1718 0.6828 2. In acest caz.5150 0.5000 0.8646E-1 0. Algoritmul PCIPLC.9733 0.1329 0.8328 1. 4.5.9661 0. Vol 4. aceasta poate fi utilizat pentru calculul celor dou direc ii: de predic ie i de corec ie. algoritmul este rapid convergent la solu ia optim . fiind asem natoare situa iei din programarea liniar . 1]T furnizeaz rezultatele din Tabelul 4.9654 0.5000 0.5000 0..404E-10 Evolu ia variabilelor problemei W ! 0. Nr.. 1]T i w0 ! [1.9946 0. X k ! 0.1. 0.5000 0. 1]T .9654 x3 0..0000 x5 0.4421E-1 x2 0. .7846 1.2562E-3 0.9351 0.5901 0.0147 2.6960 0.6709E-1 0. z 0 ! [1. no. Combinatorica.3721 0.4062 0. pa ii cei mai delica i sunt 3 i 5..6930 0.1336 0.0009 0. apare o complica ie în plus dat de evaluarea hessianului “ 2 f ( x ) în itera ia curent .6450 2. 0 1 2 3 4 5 6 7 8 9 10 x1 0.2389 1.2753 0.2352 0. realizat în MATLAB.1677 0.2674 0.5 0 e x i e 10.

Sign up to vote on this title
UsefulNot useful