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.

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

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

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. .

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

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

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

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

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

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

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

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

2918 1.0000 2 1.5407 0.2627 2.4973 0. Tabelul 3 Nr.99995 Referitor la criteriul de oprire a itera iilor.2667 2.2. i ! 1.1. z 0 ! [1 1 1]T i w0 ! [1 1]T furnizeaz rezultatele din Tabelul 3.3934 7 1.6627 3 1.2669 2. ca i în cazul liniar. 3 x1  x 2  2 x3 e 16 x 2  3x3 e 12 0 e x i . ini ializat în punctul x 0 ! [1 1 1]T .4000 Evolu ia variabilelor problemei ! 0.5334 0.5330 0.4003 8 1.3.5394 0.4693 2. itera iei x3 x1 x2 1 1.4314 6 1. y 0 ! [1 1]T . s 0 ! [1 1]T . evident c trebuie considerat saltul relativ de dualitate.2293 0.0000 1.6279 2.4248 0. realizat în MATLAB.5674 5 1. Algoritmul PCIPLC. X k ! 0.0000 1.7728 4 1. Dac saltul relativ la dualitate este mai mic decat o toleran de oprire a D B CB CB B .3365 2.

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

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

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

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

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

Vol 4.2562E-3 0.3721 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.2738 0. 1]T . O dat ce matricea acestor sisteme este factorizat .5000 0.1264E-2 0.. z 0 ! [1. 0.9733 0.5000 0. apare o complica ie în plus dat de evaluarea hessianului “ 2 f ( x ) în itera ia curent . Computa ional.6828 2..1106E-1 0.0000 x5 0.6709E-1 0.8787 2.6015 1.8372 1.1336 x4 0. Nr. 0 1 2 3 4 5 6 7 8 9 10 x1 0.99995. Combinatorica.0000 0.4062 0.1322 0.0009 0.1.9717 2.4421E-1 x2 0.1334 0. no. 1]T i w0 ! [1. fiind asem natoare situa iei din programarea liniar .2674 0.5000 0. In acest caz.2753 0. i ! 1.5086 2.6930 0. "A New Polynomial Time Algorithm for Linear Programming". 4.5.5000 0.6450E-7 0.5632 0.9654 x3 0.1740 2.404E-10 Evolu ia variabilelor problemei W ! 0. algoritmul este rapid convergent la solu ia optim .5000 0. y 0 ! [1 1 1]T .9661 0. Bibliografie Karmarkar.6103 0.0147 2.1493E-4 0. Lungimea pasului de deplasare nu implic probleme de calcul deosebite.6497 0.1718 0.0000 0. Algoritmul PCIPLC.5150 0.5901 0.8328 1.9693 0.3391 0.4963E-1 0.6348 2. s 0 ! [1.9351 0. Narendra (1984).8912 x6 0. 373±395. X k ! 0.9654 0.6393 2.6386 0. care const în rezolvarea sistemelor algebrice liniare () i ().6960 0.1153 2.5000 0.1677 0. I ! 10 18 Dup cum se observ .7846 1. pa ii cei mai delica i sunt 3 i 5.5]T . pp.8810 0.7.6450 2.1336 0. ini ializat în punctul x0 ! [0.4421E-1 0. .9946 0.2389 1.1329 0.8646E-1 0.2830 0.5131 1.5 0 e x i e 10.5000 0.4429E-1 0. al minimiz rii func iei f(x) în prezen a restric iile liniare.9208 1.8115 2.6317 0.4850 2. aceasta poate fi utilizat pentru calculul celor dou direc ii: de predic ie i de corec ie. realizat în MATLAB..6346 Tabelul 4 x7 0.8909 2..2352 0. 1]T furnizeaz rezultatele din Tabelul 4.

Sign up to vote on this title
UsefulNot useful