P. 1
Proiect_Programare neliniara

Proiect_Programare neliniara

|Views: 128|Likes:
Published by Olympiadus Roxanne

More info:

Published by: Olympiadus Roxanne on Apr 02, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

01/08/2013

pdf

text

original

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

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

Exemplu numeric: Optimizarea compozi iei unui amestec chimic . Exemple de probleme din domeniul chimic: y y y y y y y proiectarea unui reactor chimic calculul echilibrului chimic optim optimizarea procesului de separare printr-o membran cu n straturi optimizarea proceselor de alchilare calculul unui amestec chimic optim probleme de separare i amestec (blending) optimizarea procesului de combustie a propanului în aer. Exemple de probleme din domeniul economic: y problema investi iilor. Exemple de probleme din domeniul mecanic: y y y y optimizarea formei unei came optimizarea traiectoriei unui corp greu plasat în camp gravita ional determinarea formei unui lan de densitate uniform . de lungime dat optimizarea strunjirii unui arbore.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.

015 x6 ! 0 x17  100 x7 ! 0 x18  33.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. .

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

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

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

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

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

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

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

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

4003 8 1.2. s 0 ! [1 1]T .4248 0.2627 2.4973 0. y 0 ! [1 1]T .0000 2 1.5407 0.5330 0. realizat în MATLAB.3. Algoritmul PCIPLC.1.6627 3 1.7728 4 1.99995 Referitor la criteriul de oprire a itera iilor.0000 1.3365 2.2669 2. Dac saltul relativ la dualitate este mai mic decat o toleran de oprire a D B CB CB B . ca i în cazul liniar.6279 2. i ! 1.5394 0.5674 5 1.2667 2.4000 Evolu ia variabilelor problemei ! 0. itera iei x3 x1 x2 1 1.0000 1. z 0 ! [1 1 1]T i w0 ! [1 1]T furnizeaz rezultatele din Tabelul 3. ini ializat în punctul x 0 ! [1 1 1]T .4693 2.3934 7 1. 3 x1  x 2  2 x3 e 16 x 2  3x3 e 12 0 e x i .2918 1.4314 6 1. evident c trebuie considerat saltul relativ de dualitate.2293 0.5334 0. Tabelul 3 Nr. X k ! 0.

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

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

din (4. w>0. În a doua etap .. Considerand f de dou ori continuu diferen iabil . aceste direc ii sunt utilizate pentru a calcula o nou estima ie a parametrului barier Q . Ideea metodei predictor-corector de urm rire a traiestoriei pentru rezolvarea lui (4. R (4. (z j . putem calcula noua estima ie t  (t . In prima etap . z>0. S y z (4.. (4.5) Diferen a esen ial dintre (4.1) este de a solu iona sistemul liniar (4. n ).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. de predic ie. (S .3). (W sunt matrice diagonale cu elementele (x j . (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. (s j . .3).6) în privin a direc iei afine (de predic ie) (t a ! [ (x a (s a (y a (z a (wa ]T . s>0. (Z . de corec ie. vom aplica metoda lui Newton. presupunand c dispunem de o estima ie curent t ! [ x s y z w]T a solu iei lui (4.5) i sistemul din cadrul program rii liniare este prezen a matricei hessian a func iei obiectiv. unde (t ! [ (x (s (y (z (w]T este solu ia urm torului sistem neliniar: A( x  (x) ! b ( x  (x )  ( s  (s ) ! u AT ( y  (y )  ( z  (z )  ( w  (w) ! f ( x  (x) ( X  (X )( Z  (Z )e ! Q e (S  (S )(W  (W )e ! Q e..5) în dou etape..Pentru rezolvarea sistemului algebric neliniar (4. se consider Q ! 0 i se ignor termenii p tratici (X(Ze i (S(We . pentru care x>0.4) în care (X . precum i pentru a aproxima termenii p tratici neglija i în prima etap . 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 .Pentru calculul parametrului barier . Pentru aczul optimiz rii cu restric ii liniare.7) i consider m H P ! X HÖP i H D ! X HÖD .10) în privin a direc iei de centrare (t c ! [ (xc (s c (y c (z c ( c ]T . 2 ± n ° (4.8) Atunci parametrul barier este calculat conform rela iei: 2 ®« Ö Ö g » «g» T T W¬ T ± T ¼ ¬ n ¼. vom utiliza aceea i strategie ca în cazul liniar. la fel ca în programarea liniar .1) este un parametru care permite modificarea lui Q . min ± j À ¾ ± 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. Astfel. atunci lungimea pasului de deplasare se determin prin utilizarea testului rapoartelor standard.6). (w a j ¯  ± ( wa j ° (4. ± À± À ¾¾ ± ± 0 ¿¿ . nu apar probleme complicate.9) unde W  (0.1) este un parametru de atenuare a bloc rii (anul rii) unei variabile (de obicei X ! 0. ± À± À j ® wj ± . (4. Acum trebuie s specific m modul de calcul al lungimii pasului de deplasare de-a lungul acestei direc ii. 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 ). Dac am considera un pas în direc ia afin dat de (4. W . (z a j ¯  ± (z a j ° ¾ ± 0 ¿. (x a j ¯  ± (x a j ° ® zj ± . min ± j À ® ± sj . ¯  ± (s a j ° ¾¾ ± ± 0¿ ¿ . Simplul test al V . (4. unde X  (0. calcul m: ® ± HÖP ! min ¯min ± j ° ® ± HÖD ! min ¯min ± j ° ® ± xj . x z  s w u 1 ± x z  s w½ ­ ½ Q !¯ ­ T T ± x zs w x T z  s T w 1. (s a. cu care calcul m direc ia de deplasare (t ! (t a  (t c din cadrul algoritmului predictor-corector.9995 ).

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

2352 0.5000 0. realizat în MATLAB.1334 0.3391 0.8646E-1 0.1106E-1 0..9654 0. Combinatorica. I ! 10 18 Dup cum se observ .8328 1.8115 2.. ini ializat în punctul x0 ! [0.6960 0. "A New Polynomial Time Algorithm for Linear Programming". Narendra (1984).5901 0. In acest caz. 1]T furnizeaz rezultatele din Tabelul 4.9717 2.7846 1.2562E-3 0. Algoritmul PCIPLC. O dat ce matricea acestor sisteme este factorizat .2389 1. s 0 ! [1. .1740 2.1336 0.4963E-1 0. 4.6497 0.8372 1.1153 2.6828 2.6386 0.2753 0.5000 0.. al minimiz rii func iei f(x) în prezen a restric iile liniare.1322 0.6015 1. fiind asem natoare situa iei din programarea liniar .2738 0.6317 0.1493E-4 0.4850 2.1.6393 2.8810 0. 1]T i w0 ! [1. 0.0000 0.99995. care const în rezolvarea sistemelor algebrice liniare () i (). Lungimea pasului de deplasare nu implic probleme de calcul deosebite. aceasta poate fi utilizat pentru calculul celor dou direc ii: de predic ie i de corec ie.1677 0.404E-10 Evolu ia variabilelor problemei W ! 0.5632 0. 373±395.3721 0.8912 x6 0. Nr. pp. 1]T .1336 x4 0. pa ii cei mai delica i sunt 3 i 5.0147 2.9661 0.6450 2.0000 x5 0.5]T .5.5150 0.5086 2. 0 1 2 3 4 5 6 7 8 9 10 x1 0. y 0 ! [1 1 1]T .6346 Tabelul 4 x7 0.5000 0.5 0 e x i e 10.5000 0. algoritmul este rapid convergent la solu ia optim ..6450E-7 0.5131 1.4421E-1 x2 0.6103 0.7.6930 0.5000 0.9351 0.0000 0.0009 0.5000 0.1718 0. Computa ional.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.5000 0.9693 0.9654 x3 0. Vol 4. i ! 1.4429E-1 0.4062 0.2830 0. no.4421E-1 0.1264E-2 0.6348 2.1329 0. z 0 ! [1. Bibliografie Karmarkar.2674 0.9208 1.6709E-1 0.9946 0.8909 2. apare o complica ie în plus dat de evaluarea hessianului “ 2 f ( x ) în itera ia curent . X k ! 0.9733 0.8787 2.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->