Matla Bop Tim

Embed Size (px)

Citation preview

  • 7/29/2019 Matla Bop Tim

    1/13

    MATLABOPT M ZASYON ARA KUTUSUNUN

    KULLANIMI

    DO. DR. RFAN KAYMAZ2006

  • 7/29/2019 Matla Bop Tim

    2/13

    1 OPTMZASYON PROBLEMLERN ZMNDE MATLABUYGULAMALARI

    Optimizasyon problemlerinin zmnde MATLABdeki hazr ktphanelerin

    yan

    s

    ra, mevcut matematiksel metotlar

    n kullan

    m

    ile de zmlemeleryaplabilir. Bu nedenle bu blmde Optimizasyon dersi kapsamnda gsterilen

    zm metotlarndan bir ksmnn MATLAB uygulamalar verilmitir.

    1.1 GRAFKSEL OPTMZASYON

    Grafiksel optimizasyon iki tasarm deikenine ait optimizasyon problemlerinin

    zmnde kullanlan metottur ve grafiksel olarak ifade edilmi problemde

    optimum deerler grafik zerinden okunur.

    rnek 1:

    Aada verilen optimizasyon probleminin zmn grafiksel olarak elde

    ediniz.

    22

    2121 )2()3(),(min += xxxxf

    22

    82),(

    s.t.

    21211 =+= xxxxh

    100100

    025.0),(

    7),(

    4)4()1(),(

    21

    221212

    21211

    21212

    =

    +=

    =+=

    xx

    xxxxg

    xxxxg

    xxxxh

    zm 1:

    Aadaki MATLAB program vastasyla grafiksel zm elde edilir. Aadaverilen MATLAB programlama kodlar MATLAB editrn kullanarak yazlr

    ve graph_cozum.m olarak kaydedilir.

    % Verilen optimizasyon probleminin MATLABde grafiksel zm

    % Tasarm deikenlerine ait deerleri retilir

    % x1 ve x2 0dan balaayarak 10 kadar 0.1 aralklarla retilen saylar ieren

    vektrler

    2

  • 7/29/2019 Matla Bop Tim

    3/13

    3

    x1=0:0.1:10;

    x2=0:0.1:10;

    % Optimizasyon fonksiyonlarnn deerlendirilecei X1 ve X2 matrisleri retilir

    [X1 X2] = meshgrid(x1,x2);

    % X1 ve X2 deerlerine karlk hedef fonksiyonun deerleri obj_ex1 dosyas

    arlararak elde edilir

    f1 = obj_ex1(X1,X2);% the objective function is evaluated

    % X1 ve X2 deerlerine karlk g1 kstlayc fonksiyonun deerleri inecon1

    dosyas arlararak elde edilir

    ineq1 = inecon1(X1,X2);

    ineq2 = inecon2(X1,X2);

    eq1 = eqcon1(X1,X2);

    eq2 = eqcon2(X1,X2);

    % ineq1 kstlaycsna ait iso-lineler bu kstlaycnn 7 deeri iin aada

    verilen komut yardmyla izilir

    [C1,han1] = contour(x1,x2,ineq1,[7,7],'r-');

    % iso-line etiketleri aadaki komut yardmyla elde edilr

    clabel(C1,han1);

    % g1 ifadesi mouse tklamas ile uygun bir yere yerletirilir

    gtext('g1');

    % Geri kalan kstlayclar iin de benzer ilemler tekrar edilir

    [C2,han2] = contour(x1,x2,ineq2,[0,0],'r--');

    clabel(C2,han2);

    gtext('g2');

    [C3,han3] = contour(x1,x2,eq1,[8,8],'b-');

    clabel(C3,han3);

    gtext('h1');

    [C4,han4] = contour(x1,x2,eq2,[4,4],'b--');clabel(C4,han4);

    gtext('h2');

    [C,hf] = contour(x1,x2,f1,'g');

    clabel(C,hf);

    % graifiin etiketleri aadaki komut yardmyla yazlr

    xlabel('x1 values','FontName','times','FontSize',12, 'FontWeight','bold');

    ylabel('x2 values','FontName','times','FontSize',12, 'FontWeight','bold');

    gridhold off

  • 7/29/2019 Matla Bop Tim

    4/13

    4

    Yukardaki m-dosyasnda arlan fonksiyonlar aada verilmitir.

    obj_ex1.m

    function retval = obj_ex1(X1,X2)

    retval = (X1 - 3).*(X1 - 3) +(X2 - 2).*(X2 - 2);

    eqcon1.m

    function retval = eqcon1(X1,X2)

    retval = 2.0*X1 + X2;

    eqcon2.m

    function retval = eqcon2(X1,X2)

    retval = (X1 - 1).*(X1 - 1) + (X2 - 4).*(X2 - 4);

    inecon1.m

    function retval = inecon1(X1, X2)

    retval = X1 + X2;

    inecon1.m

    function retval = inecon2(X1,X2)

    retval = X1 - 0.25*X2.^2;

    2 MATLABDE OPTMZASYON

    MATLAB optimizasyon toolbox, optimizasyon probleminin byklne gre

    iki farkl yaklam uygulamaktadr:

    Standart algoritma (Medium-Scale)

    Byk lekli algoritma (Large-Scale)

    Eer deiken says ok fazla ise byk lekli algoritma kullanlr. Ancak bu

    algortimann kullanmnda, baz parametrelerin (fonksiyonlarn gradyantlar

    gibi) kullanc tarafndan verilmesi gerekir. Ancak Standart algoritma

    Optimizasyon dersinde verilen rneklerin zm iin yeterli olduundan

    Sadece standart algoritma ve ona bal komutlar verilecektir. Bu toolboxda

    optimizasyon probleminin tipine bal olarak kullanlacak hazr fonksiyonlar

    bulunmakta, ve bu fonksiyonlar yardmyla optimizasyon ilemi

    gerekletirilmektedir. Belli bal optimizasyon fonksiyonlar ve ilevleri

    aadaki tabloda verilmitir.

  • 7/29/2019 Matla Bop Tim

    5/13

    5

    Tablo 1: Optimizasyon komutlar ve kullanm amalar.

    Fonksiyon Amac

    fgoalattain Birden fazla hedef fonksiyonlu optimizasyon

    fminbnd Skalar nonlinear minimizasyon snrlarla birlikte

    fmincon Kstlayc fonksiyonlu nonlinear optimizasyon

    fminimax Minimax optimizasyonu

    fminsearch,fminunc Kstlayc fonksiyonsuz nonlinear minimizasyon

    fseminf Yari-sonlu programlama

    linprog Lineer programlama

    quadprog Quadratik programlama

    Yukardaki tabloda verilen her bir komutun kullanm, komuta verilmesi

    gereken deerle (girdi bilgileri), komutun alaca seenekler (OPTIONS) vekt parametrelerin neler olduu komut ile ilgi yardm dosyasndan elde

    edilebilir. En genel optimizasyon problemlerinin zmnde kullanlan fmincon

    komutu ile ilgili bilgi rnek amacyla aada verilmitir.

    Tablo 2: fmincon komutunun kullanm

    x = fmincon(fun,x0,A,b)

    x = fmincon(fun,x0,A,b,Aeq,beq)

    x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)

    x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

    [x,fval] = fmincon(...)

    [x,fval,exitflag] = fmincon(...)

    [x,fval,exitflag,output] = fmincon(...)

    [x,fval,exitflag,output,lambda] = fmincon(...)

    [x,fval,exitflag,output,lambda,grad] = fmincon(...)

    [x,fval,exitflag,output,lambda,grad,hessian] = fmincon(...)

    Yukardaki tabloda, fmincon komutunun, en yaln kullanmdan en ileri kulanm

    ile ilgili 11 biimi verilmitir. Burada temel kullanm benzer olmakla birlikte,

    optimizasyon problemi ile alakal ne tr bir bilgi girii yaplaca ve optimum

    zm elde edildiinde ne tr sonularn, komut tanmlanmada eitliin sa

    tarafnda verilen deikenlere atanaca tanmlanr. Dolaysyla komutta ilgili

    deikenlerin mutlaka tanml olmas gerekir. Bu nedenle Tablo 3de fmincon

    komutun alaca parametrelerin detayl aklamas verilmitir.

  • 7/29/2019 Matla Bop Tim

    6/13

    6

    Tablo 3: fmincon komutunun parametrelerinin anlamlar.

    PARAMETRE ANLAMI

    GRD PARAMETRELER

    Fun hedef fonkisyonu ieren m-dosyasnn ismi

    X0 tasarm deikenlerinin balag deerleri

    A, b Lineer eitliksizlik kstlayc fonksiyonun katsaylar (A*x

  • 7/29/2019 Matla Bop Tim

    7/13

    7

    Tablo 4: OPTIMSET komutu yardmyla tanmlanan baz argmanlar.

    ARGUMAN ANLAMI ALACAI DEERLER

    DerivativeCheck Kullancnn salad derivative ile

    sonlu farklarla hesaplanan derivativi

    karlatrr.

    on, off

    DiffMaxChange Sonlu farklar ile derivative hesaplamada

    deikenlerin deerlerindeki maksimum

    deiiklik

    DiffMinChange Sonlu farklar ile derivative hesaplamada

    deikenlerin deerlerindeki minimum

    deiiklik

    Display zm admlarndan hangisinin komut

    satrnda gsterilecei belirtilir

    off: herhangi bir kt gstermez

    iter: her bir iterasyonda ktlar

    gsterir

    final: sadece son kty gsterir

    notify: optimizasyon yaknsamad

    zamanki kty gsterir

    GradObj Hedef fonksiyonun gradyantn kullanc

    tarafndan verilip verilmediini belirtir

    on, off

    GradConstr Nonlinear kstlayc fonksiyonun

    gradyantn kullanc tarafndan verilip

    verilmediini belirtir

    on, off

    Hessian Hedef fonksiyonun Hessian matrisinin

    kullanc tarafndan verilip verilmediini

    belirtir

    on, off

    MaxFunEvals Fonksiyon deerlendirilmesinin

    maksimum says

    Pozitif tam say

    MaxIter Maksimum iterasyon says Pozitif tam say

    Tolcon Kstlayc ihlalindeki tolerans Poztif bir say

    TolFun Hedef fonksiyon iin tolerans Poztif bir say

    TolX Tasarm deikenleri iin tolerans Poztif bir say

    Bu fonksiyonlarn kullanm optimizasyon problem tiplerine gre aada geni

    olarak verilmitir.

  • 7/29/2019 Matla Bop Tim

    8/13

    2.1 KISITLAYICISIZ OPTMZASYON PROBLEM

    Kstlaycs optimizasyon problemlerinin MATLABde zm iin gerekli

    admlar aada verilen rnek yardmyla verilecektir.

    Bu optimizasyon probleminin zm iin takip edilecek admlar:

    Adm 1: Bir M-file oluturun:

    Hedef fonksiyon iin bir M-file oluturulur ve hedef fonksiyona verilen isimle

    ayn olacak ekilde M-Filen ismi seilir.

    ekil 1: objfun.m isimli M-file.

    Adm 2: Kstlaycsz optimizasyon metotlarndan birini arn:

    Seilecek kstlaycsz optimizasyon metoduna gre istenilen opsiyonlarda

    verilmelidir. Bu rnekte optimizasyon metodu olarak fminunc seilmitir. Bu

    komut, tasarm deikenleri iin bir balang deeri atanmas gerekmektedir.

    Gerekli komutlar MATLAB komut satrna aada gsterildii gibi yazlr:

    ekil 2: Optimizasyon komutunun MATLAB komut satrndan arlmas.

    8

  • 7/29/2019 Matla Bop Tim

    9/13

    ekil 2de verilen komutlarn aklamas:

    X0: balang deerleri (tahmini)

    Options: optimset komutu ile seilen optimizasyon seeneklerinin atand

    deiken. Optimset yardmyla standart veya byk lekli algoritma seimine

    bal olarak optimizasyon metodunun seenekleri belirlenir. Bunlardan

    bazlar, Jakobien veya Hessian matrisinin hesaplanp hesaplanmayaca,

    ekrana ne kadar bir bilgi yazlaca gibi seeneklerdir.

    exitflag:Seilen algoritmann sonuca yaknsayp yaknsamadn belirtir.

    Eer sfrdan byk ise lokal minimum deerinin bulunduunu belirtir.

    Output:Optimizasyon zm hakknda daha detayl bilgi verir. Yukardaki

    rnek iin, komut satrna output yazlp Enterlanrsa aadaki bilgiler elde

    edilir:

    ekil 3: Output komutu yardmyla optimizasyon zm ile ilgili geni bilgi alma.

    Burada:

    Iterations: toplam iterasyon saysn

    funcCount: Fonksiyonun deerlendirme says

    stepsize: Son iterasyonda seilen adm uzunluu

    firstorderopt: birinci derece optimumluk art

    algortihm: Kullan

    lan algoritmay

    ve seilen metodu gsterir.

    2.2 LNEER OLMAYAN ETSZLK KISITLAYICILI OPTMZASYONPROBLEM

    Bu tip optimizasyon problemleri iin hedef fonksiyonun yan sra eitsizlik

    kstlayclar iinde bir M-file oluturulur. Yukardaki rnee kstlayc

    fonksiyonlar ekleyerek bu blmde kullanlacak rnek problem oluturulabilir:

    9

  • 7/29/2019 Matla Bop Tim

    10/13

    kstlayclar:

    Bu tip optimizasyon problemi iin, fmincon komutu kullanlarak zm

    yaplabilir.

    Adm 1: Kstlayclar iin bir M-dosyasn oluturulmas

    Adm 2: Optimizasyon komutlar iin bir M-dosyasn oluturulmas

    Buradaki fmincon fonksiyonun kullanmlarnn genel format

    x = f mi ncon( @obj f un, x0, A, b, Aeq, beq, l b, ub, nonl con)

    eklindedir.Kstlayc fonksiyonlarn zm noktasndaki deerlendirmesi iin aadaki

    komut icra edilir:

    Bu komutun icrasnda elde edilen sonu:

    c =

    1.110223024625157e-015

    -1.776356839400251e-015ceq =[ ]

    2.3 TASARIM DEKENLERN ALACAI DEERLERNSINIRLANDIRILMASI

    Tasarm deikenlerin alaca deerlerde snrlama olduu durumda fmincon

    komutu aadaki gibi verilir:

    10

  • 7/29/2019 Matla Bop Tim

    11/13

    Burada

    lb: tasarm deikenin aaca alt snr

    ub: tasarm deikenin aaca st snr

    Genellikle kullanlan tasarm deikenlerin sfrdan byk deer alma

    snrlamas bir nceki problem iin aadaki gibi verilebilir:

    Bu artlara gre zm yaplrsa aadaki sonu elde edilir:

    2.4 GRADYANTLARIN TEMN EDLD OPTMZASYONPROBLEMLER

    Normalde standart algoritma kullanld durumda gerekli olan gradyantlar

    sonlu farklar yntemiyle yaklak olarak hesaplanmaktadr. Ancak

    gradyantlarn verilebildii problemlerde gradyantlarnda ileme katlmas

    optimizasyon probleminin daha doru olarak zlmesini salamaktadr.

    nceki blmlerde verilen problemin gradyant salanarak zm iin

    aadaki admlar takip edilmelidir:

    11

  • 7/29/2019 Matla Bop Tim

    12/13

    Adm 1: hedef fonksiyon ve gradyant iin bir M-file oluturulur:

    Adm 2: kstlayc fonksiyonlar ve gradyantlar iin bir M-file oluturulur:

    Gradyantlarn verildiinin fmincon da belirtmek iin optimset komutu

    yardmyla Gradobj ve GradConstr deikenleri on komutunu getirilmelidir:

    Adm 3: Kstlaycl optimizasyon metotlarndan birini arn:

    Buradan elde edilen sonu:

    12

  • 7/29/2019 Matla Bop Tim

    13/13

    2.5 ETLK KISITLAYICILI OPTMZASYON PROBLEMLER

    Bir nceki rnek iin kstlayclar eitlik kstlaycs ile

    nonlineer eitsizlik kstlaycya olacak ekilde seilsin. Aadaki admlar icra

    edilerek optimizasyon problemi zlr:

    Adm 1: Hedef fonksiyon iin bir M-dosyasn oluturulmas

    Adm 2: Kstlayclar iin bir M-dosyasn oluturulmas

    Adm 3: Kstlaycl optimizasyon metotlarndan birini arn:

    Buradan elde edilen sonu:

    13