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.

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

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

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. de lungime dat optimizarea strunjirii unui arbore. 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. 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 .

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.

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. 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 . Tabelul 1 Pachet Problema tratat Metod DUALQP Programare p tratic strict convex Goldfarb-Idnani cu factorizarea Cholesky IQP Programare p tratic cu matrice simetric . î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. inclusiv a problemelor de programare liniar . dou tehnici de factorizare Cholesky. In Tabelele 1 i 2 sunt prezentate principalele pachete software destinate acestui domeniu. grupate în func ie de dimensiunea problemelor rezolvate. cat i al aplica iilor software proiectate pentru rezolvarea acestor probleme. 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. algoritmul gradului minim i algoritmul umplerii minime locale Metoda primal-dual de punct QPABO Programare p tratic convex . 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. sistem simetric i matrice a restric iilor rar KKT.

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

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

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

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

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

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

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

3 x1  x 2  2 x3 e 16 x 2  3x3 e 12 0 e x i .2667 2.3934 7 1.0000 2 1. Algoritmul PCIPLC.5407 0. evident c trebuie considerat saltul relativ de dualitate.5330 0.6627 3 1.4248 0.4973 0.2669 2.0000 1. Dac saltul relativ la dualitate este mai mic decat o toleran de oprire a D B CB CB B .5334 0. z 0 ! [1 1 1]T i w0 ! [1 1]T furnizeaz rezultatele din Tabelul 3. i ! 1.7728 4 1. ini ializat în punctul x 0 ! [1 1 1]T .5394 0. ca i în cazul liniar.2293 0.1.5674 5 1.3.4693 2.0000 1.2918 1. X k ! 0. Tabelul 3 Nr.2.4000 Evolu ia variabilelor problemei ! 0.4314 6 1. itera iei x3 x1 x2 1 1.3365 2. s 0 ! [1 1]T . realizat în MATLAB.6279 2.4003 8 1. y 0 ! [1 1]T .2627 2.99995 Referitor la criteriul de oprire a itera iilor.

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

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

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

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

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

0009 0.1336 0.2389 1. Combinatorica. 373±395.5 0 e x i e 10.9661 0.9946 0. y 0 ! [1 1 1]T .5000 0.1334 0.5000 0.5000 0. "A New Polynomial Time Algorithm for Linear Programming". 1]T furnizeaz rezultatele din Tabelul 4.6960 0. Nr.9654 x3 0.9693 0.1336 x4 0. s 0 ! [1.6709E-1 0.9351 0.8810 0. 1]T .1329 0.9717 2. X k ! 0.1493E-4 0. care const în rezolvarea sistemelor algebrice liniare () i ().4963E-1 0.6828 2. realizat în MATLAB.8909 2. 1]T i w0 ! [1.5086 2.9733 0. ini ializat în punctul x0 ! [0. pp.8372 1.2830 0.6015 1.6450 2.5000 0.9654 0.1718 0.5131 1.9208 1.6346 Tabelul 4 x7 0. aceasta poate fi utilizat pentru calculul celor dou direc ii: de predic ie i de corec ie.2674 0. algoritmul este rapid convergent la solu ia optim .5.2352 0.2753 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.8115 2.1264E-2 0.404E-10 Evolu ia variabilelor problemei W ! 0. In acest caz.8646E-1 0.0000 0. 0 1 2 3 4 5 6 7 8 9 10 x1 0. al minimiz rii func iei f(x) în prezen a restric iile liniare. . O dat ce matricea acestor sisteme este factorizat .6103 0.5000 0.5632 0.6930 0..1322 0.8787 2.2562E-3 0.1677 0.5000 0.4850 2. i ! 1. Algoritmul PCIPLC.0000 x5 0.6450E-7 0.99995.3391 0. 4. z 0 ! [1. no.8328 1. pa ii cei mai delica i sunt 3 i 5.1.6348 2.4421E-1 x2 0.7.2738 0.4062 0.5150 0.4421E-1 0.4429E-1 0. Bibliografie Karmarkar..0000 0.5000 0.0147 2. Narendra (1984).1106E-1 0.8912 x6 0.1740 2.5901 0. apare o complica ie în plus dat de evaluarea hessianului “ 2 f ( x ) în itera ia curent .7846 1.6393 2. fiind asem natoare situa iei din programarea liniar . Lungimea pasului de deplasare nu implic probleme de calcul deosebite..5]T .1153 2. I ! 10 18 Dup cum se observ . 0.3721 0. Computa ional. Vol 4..6497 0.6317 0.6386 0.

Sign up to vote on this title
UsefulNot useful