IFT575 Modèles de recherche opératonnelle (RO 7. Programmaton non lnéare
Fonctons convees et concaves Sot et deu ponts dans R n Le segment de drote jognant ces deu ponts est l ensemble des ponts + λ( - λ + (- λ, où λ ε [0,] Une foncton f est convee s tout pont sur le segment de drote jognant f( et f( se trouve au dessus du graphe de f : f(λ + (- λ λf( + (- λf(, pour toute pare de ponts, 7. Programmaton non lnéare
Fonctons convees et concaves S cette négalté est strcte, la foncton f est dte strctement convee S on remplace par dans cette négalté, la foncton f est dte concave : f(λ + (- λ λf( + (- λf(, pour toute pare de ponts, S cette dernère négalté est strcte, la foncton f est dte strctement concave 7. Programmaton non lnéare 3
Fonctons convees et concaves 7. Programmaton non lnéare 4
Tests de conveté et de concavté Supposons que f est une foncton deu fos dérvable d une seule varable f est convee ss d f d ( 0, f est strctement convee ss f est concave ss d f d ( 0, d f d ( > 0, f est strctement concave ss d f d ( < 0, 7. Programmaton non lnéare 5
Tests de conveté et de concavté Supposons que f est une foncton deu fos dérvable de deu varables Dans ce cas, on utlse le tableau suvant : f (,. f ( f ( f (,,, f (, Convee Strct. Concave Strct. convee concave 0 > 0 0 < 0 0 > 0 0 < 0 0 > 0 0 > 0 7. Programmaton non lnéare 6
Tests de conveté et de concavté Ces tests se généralsent à des fonctons de plus de deu varables en utlsant le Hessen (la matrce des dérvées secondes Deu résultats mportants pour tester la conveté et la concavté de fonctons quelconques : Une foncton qu s eprme comme la somme de fonctons convees (concaves est convee (concave L opposé d une foncton concave est convee et vce-versa Vor appendce, H&L, et TP 9 pour des eemples 7. Programmaton non lnéare 7
Ensembles convees Un ensemble est convee s, pour toute pare de ponts de l ensemble, le segment de drote jognant ces deu ponts est contenu dans l ensemble On peut démontrer qu un ensemble est convee grâce au proprétés suvantes : S f est convee, alors { f( b} est convee S f est concave, alors { f( b} est convee L ntersecton d ensembles convees est convee 7. Programmaton non lnéare 8
Programmaton non lnéare Un modèle de programmaton non lnéare prend la forme suvante : maf (,,..., g (,,..., n b,,,..., m On suppose qu au mons une des fonctons f et g est non lnéare En général, on suppose auss que toutes ces fonctons sont deu fos dérvables n 7. Programmaton non lnéare 9
Eemple On modfe l eemple Wyndor Glass (sect. en remplaçant certanes contrantes par une contrante non lnéare maz 3 + 5 9 + 5 0, 6 Voyons comment on peut représenter ce problème graphquement 4 0 7. Programmaton non lnéare 0
Eemple (sute 7. Programmaton non lnéare
Eemple (sute On remarque que l objectf est concave (car lnéare et que le domane réalsable est convee : c est un modèle de programmaton convee Ic, la soluton optmale est sur la frontère du domane réalsable, mas ne correspond pas à un con (l ntersecton de deu contrantes Résoluton par Ecel : Eemple_NL.ls 7. Programmaton non lnéare
Eemple On modfe encore l eemple Wyndor Glass (sect., mas cette fos en remplaçant l objectf lnéare par une foncton non lnéare maz 6 3 9 + 4 0, + 8 8 0 3 7. Programmaton non lnéare 3
Eemple (sute 7. Programmaton non lnéare 4
Eemple (sute On remarque que l objectf est concave et que le domane réalsable est convee : c est auss un modèle de programmaton convee Ic, la soluton optmale (8/3,5 est sur la frontère du domane réalsable, mas ne correspond pas à un pont etrême du domane réalsable Résoluton par Ecel : Eemple_NL.ls 7. Programmaton non lnéare 5
Eemple 3 Un eemple semblable au précédent, avec une foncton objectf toujours concave, mas dfférente maz 54 3 9 + 0, 4 + 78 8 0 3 7. Programmaton non lnéare 6
Eemple 3 (sute 7. Programmaton non lnéare 7
Eemple 3 (sute Il s agt à nouveau d un modèle de programmaton convee Ic, la soluton optmale (3,3 est à l ntéreur du domane réalsable La foncton objectf est la somme de deu fonctons d une seule varable S on annule les dérvées de chacune de ces fonctons, on obtent la soluton unque (3,3, qu se trouve à l ntéreur du domane : c est donc nécessarement la soluton optmale Résoluton par Ecel : Eemple3_NL.ls 7. Programmaton non lnéare 8
Eemple 4 Un eemple semblable au premer, mas on ntrodut une contrante non lnéare qu défnt un domane réalsable non convee 8 maz 3 + 4 4 4 0, + 5 0 49 7. Programmaton non lnéare 9
Eemple 4 (sute 7. Programmaton non lnéare 0
Eemple 4 (sute Dans ce modèle de programmaton non convee, on remarque la présence de deu mama locau : est un mamum local s f( f(, pour tout réalsable suffsamment près de (4,3 et (0,7 sont des mama locau, mas (0,7 est le mamum global : f( f(, pour tout réalsable Les méthodes classques de programmaton non lnéare permettent d dentfer un mamum local, mas pas nécessarement le mamum global! Programmaton convee : mamum local global Résoluton par Ecel : Eemple4_NL.ls 7. Programmaton non lnéare
Optmsaton sans contrante On consdère le cas d un modèle de programmaton non lnéare dans lequel l n y a aucune contrante : maf (,,..., On peut alors montrer que : n s (,,..., est un mamum local, alors f ( j n 0, En d autres mots, lorsque la dérvée s annule en un pont donné, ce pont peut être un mamum local Il peut auss être : mnmum local ou pont de selle j,,..., n, en 7. Programmaton non lnéare
Optmsaton sans contrante (sute Par contre, s f est concave, un pont où la dérvée s annule est nécessarement un mamum global De plus, s f est strctement concave, un tel mamum global est auss unque Snon, que fare pour trouver un mamum global? Identfer tous les mama locau Identfer celu de plus grande valeur Vérfer que la foncton est bornée supéreurement (snon, l n y a pas de mamum global! Problème : dentfer tous les mama locau peut être dffcle!!! 7. Programmaton non lnéare 3
Méthode de la bsecton On consdère d abord le cas le plus smple : la foncton objectf comporte une seule varable On suppose que f est concave On peut montrer alors que, s est une soluton optmale, l este a et b tels que a b et df ( > 0, s< a d df ( 0, s d df ( < 0, s> b d 7. Programmaton non lnéare 4
Méthode de la bsecton (sute S f est strctement concave : a b 7. Programmaton non lnéare 5
Méthode de la bsecton (sute On fe d abord une borne nféreure pour laquelle la dérvée en ce pont est > 0 On détermne également une borne supéreure pour laquelle la dérvée en ce pont est < 0 S les deu bornes ne sont pas suffsamment près l une de l autre, on prend le pont mleu entre les c deu bornes comme pont canddat c c S la dérvée en est 0, on pose c u c S la dérvée en est 0, on pose u On tère à nouveau tant que n est pas suffsamment pett s 7. Programmaton non lnéare 6
Méthode de la bsecton (sute. Identfer des bornes nféreure et supéreure u ntales et. Détermner le pont canddat : 3. S la dérvée en est 0 : 4. S la dérvée en est 0 : 5. S (où ε est un nombre suffsamment pett, arrêter; snon, retourner à l étape Eemple : u f ε Eécuter l algorthme avec IOR Tutoral c c 4 6 ( 3 c u ( + c u c / 7. Programmaton non lnéare 7
Méthode du gradent Consdérons une foncton concave f de pluseurs varables Le gradent de f au pont est défn ans : f ( f ( f ( f ( ' (,,..., en On peut montrer que le gradent correspond à une drecton d augmentaton de la valeur de f Dans la méthode du gradent, on se déplace dans la drecton du gradent en tentant d augmenter au mamum la valeur de l objectf n ' 7. Programmaton non lnéare 8
Méthode du gradent (sute À partr d un pont ntal, on effectue un déplacement dans la drecton du gradent vers un nouveau pont : ' + t f ( ' Dans cette formule, t est la soluton du problème de mamsaton suvant : mat 0 f ( ' + t f ( ' C est un problème de mamsaton d une foncton concave d une seule varable : on peut donc le résoudre par la méthode de la bsecton On pose et on tère ans jusqu à ce que le gradent s annule (ou presque 7. Programmaton non lnéare 9
7. Programmaton non lnéare 30 Méthode du gradent (sute. Détermner une soluton ntale. Résoudre le problème suvant : 3. Sot t la soluton optmale : 4. S, où ε est un nombre suffsamment pett, arrêter; snon, retourner en Eemple : Eécuter l algorthme avec IOR Tutoral ' ( ' ( ma 0 f t f t + ' ( ' ' f t + n j f j,,...,, ' ( ε, ( f +
Optmsaton sous contrantes Dans le cas d un modèle de programmaton non lnéare sans contrante, nous avons vu la condton d optmalté suvante : s (,,..., n est un mamum local, alors f ( j 0, j,,..., n, en Cette condton n est plus valable lorsqu l y a des contrantes, car une soluton optmale peut se trouver sur la frontère du domane réalsable 7. Programmaton non lnéare 3
Eemple avec contrante 0 7. Programmaton non lnéare 3
Condtons d optmalté Avec une contrante de la forme 0, les condtons d optmalté s énoncent ans : s (,,..., n est un mamum local, alors f ( 0 en 0 en j > 0 0 Mas quelles sont ces condtons dans le cas général, où les contrantes sont de la forme : Elles s eprment en foncton des multplcateurs de Lagrange u assocés à chaque contrante s s g (,,..., b,,,..., m n j j 7. Programmaton non lnéare 33
7. Programmaton non lnéare 34 Condtons KKT(Karush-Kuhn-Tucker S est un mamum local, alors l este m nombres u, u,, u m tels que m u m b g u m b g n j g u f n j g u f m j j j m j j,,..., 0,,,..., 0, ( (,,..., 0, (,,...,, 0 en ( ( (,,...,, 0 en ( (,...,, ( n
Condtons KKT : eemple ma f (, + 0, ln( D abord, l est facle de vérfer que les multplcateurs de Lagrange assocés au contrantes de non négatvté dovent être nuls On peut donc consdérer qu l n y a qu une seule contrante avec g (, + et b 3 On assoce à cette contrante un multplcateuru 0 Outre les contrantes de non négatvté, on a alors les condtons suvantes 3 0 + + 7. Programmaton non lnéare 35
7. Programmaton non lnéare 36 Condtons KKT : eemple (sute On obtent Pusque, on en dédut Donc 0 3 ( 0 3 0 ( 0 ( 0 0 + + + + u u u u u u 0 0 < + u 0
Condtons KKT : eemple (sute Pusque u 0, on a + 3 0 D où 3 Pusque 0, on dédut u Les condtons KKT sont donc satsfates en un seul pont : (0,3 Il s agt ben d un mamum global, car la foncton objectf est concave et le domane réalsable est convee (modèle de programmaton convee 7. Programmaton non lnéare 37