MATLAB OPTİMİZASYON ARAÇ KUTUSUNUN KULLANIMI

Benzer belgeler
Araştırma Makalesi / Research Article. Yapı Sistemlerinin MATLAB Optimizasyon Araç Kutusu ile Optimum Boyutlandırılması

Zeki Optimizasyon Teknikleri

Modelleme bir sanattan çok bir Bilim olarak tanımlanabilir. Bir model kurucu için en önemli karar model seçiminde ilişkileri belirlemektir.

Simpleks Yönteminde Kullanılan İlave Değişkenler (Eşitliğin yönüne göre):

Bilgisayar Programlama

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

BİLGİSAYAR PROGRAMLAMA DERSİ

METASEZGİSEL YÖNTEMLER

BİLGİSAYAR PROGRAMLAMA DERSİ

TİPİK MODELLEME UYGULAMALARI

KISITLI OPTİMİZASYON

Başlangıç Temel Programının Bilinmemesi Durumu

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

İstatistik ve Olasılık

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

DOĞRUSAL OLMAYAN PROGRAMLAMA -I-

Yöneylem Araştırması II

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

doğrusal programlama DOĞRUSAL PROGRAMLAMA (GENEL)

Fen ve Mühendislik Uygulamalarında MATLAB

Bir Doğrusal Programlama Modelinin Genel Yapısı

YÖNEYLEM ARAŞTIRMASI - III

Kısıtsız Optimizasyon OPTİMİZASYON Kısıtsız Optimizasyon

ANKASTRE KĠRĠġ TASARIMI ĠÇĠN MATLAB VE ANSYS OPTĠMĠZASYONU

Altın Oran Arama Metodu(Golden Search)

YÖNEYLEM ARAŞTIRMASI - III

MatLab. Mustafa Coşar

İleri Diferansiyel Denklemler

13 Aralık Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar. Kullanıcı Tanımlı Raporlar Bölümünden Yapabildiklerimiz

ideal Sistem Tester Kullanım Klavuzu

MATLAB Semineri. EM 314 Kontrol Sistemleri 1 GÜMMF Elektrik-Elektronik Müh. Bölümü. 30 Nisan / 1 Mayıs 2007

Yrd. Doç. Dr. A. Burak İNNER

YÖNEYLEM ARAŞTIRMASI - III

Genel Graf Üzerinde Mutlak 1-merkez

MAK 210 SAYISAL ANALİZ

MATLAB programı kullanılarak bazı mühendislik sistemlerinin optimum tasarımı

DESTEK DOKÜMANI. Ürün : UNITY2 / TIGER2 / GO Bölüm : Finans BANKA VE KASA KUR FARKI HESAPLAMASI

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

BİL-142 Bilgisayar Programlama II

YÖNEYLEM ARAŞTIRMASI - III

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

Özyineleme (Recursion)

Bilgisayar Programlama MATLAB

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

MATLAB DA SAYISAL ANALİZ DOÇ. DR. ERSAN KABALCI

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

Bilgisayar Programlama MATLAB

KONU 8: SİMPLEKS TABLODA KARŞILAŞILAN BAZI DURUMLAR - II 8.1. İki Evreli Yöntem Standart biçime dönüştürülmüş min /max Z cx (8.1)

Bilgisayar Programlama MATLAB

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Doğrusal Programlama. Prof. Dr. Ferit Kemal Sönmez

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

EMM3208 Optimizasyon Teknikleri

Hesapların Belirlenmesi Bölümünde Kayıtlı Gelen Entegrasyon Tablosu Dosyaları Listesi

HESSİEN MATRİS QUADRATİK FORM MUTLAK ve BÖLGESEL MAKS-MİN NOKTALAR

GĐRĐŞ. 1 Nisan 2009 tarihinde BDP programının yeni bir sürümü yayınlanmış ve bu sürümde yapılan değişikliklere

OPTIMIZASYON Bir Değişkenli Fonksiyonların Maksimizasyonu...2

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

UFRS ANALİZ DOKÜMANI

SIMÜLASYON DERS SORUMLUSU: DOÇ. DR. SAADETTIN ERHAN KESEN. Ders No:5 Rassal Değişken Üretimi

IPACK LADDER. Arayüz Dökümantasyonu

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

BM202 SAYISAL ÇÖZÜMLEME

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

HSancak Nesne Tabanlı Programlama I Ders Notları

KONU 13: GENEL UYGULAMA

FONKSİYONLARIN TABLO ŞEKLİNDE HESAPLANMASI

BAHAR YARIYILI MAK1010 MAKİNE MÜHENDİSLİĞİNDE BİLGİSAYAR UYGULAMALARI DERSİ FİNAL SINAV SORULARI

Bakım Yönetimi Logo Nisan 2016

Excel Nedir? Microsoft Excell. Excel de Çalışma sayfası-tablo

k ise bir gerçek sayı olsun. Buna göre aşağıdaki işlemler Matlab da yapılabilir.

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜMÜ YÖNEYLEM ARAŞTIRMASI DERSİ LINDO

Program ile birlikte 4 adet örnek Excel dosyası ve bu dosyaları transfer etmekte kullanılan örnek dizaynlar verilmektedir.

BİLGİSAYAR PROGRAMLAMA DERSİ

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak

Ekran Arayüzü ve Obje Seçimi (V )

İSTATİSTİK EXCEL UYGULAMA

Dövizli Kullanım LOGO KASIM 2011

NB Macro Kullanımı Hakkında Genel Bilgiler

Bu uygulama saatinde, dinamik sistemlerin simülasyonu (benzetimi) için geliştirilmiş olan, oldukça kullanışlı bir arayüz, Simulink, tanıtılacaktır.

Internet Programming II

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

Analog Alçak Geçiren Filtre Karakteristikleri

MATLAB. Temel işlemler, Vektörler, Matrisler DOÇ. DR. ERSAN KABALCI

İÇİNDEKİLER ÖNSÖZ Bölüm 1 SAYILAR 11 Bölüm 2 KÜMELER 31 Bölüm 3 FONKSİYONLAR

NESNE TABANLI PROGRAMLAMA Final Sınavı Cevapları

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

HSancak Nesne Tabanlı Programlama I Ders Notları

EKOM WEB DESIGNER PROGRMI KULLANMA KILAVUZ. 1 - Web Sayfası Tasarımı Oluşturma / Var Olan Tasarımı Açma:

Grafik Komutları. Grafik Türleri plot: çizgisel grafikler bar: sütun bar şeklindeki grafikler stem: sütun çizgisel grafikler pie: pasta grafikleri

Ücret Bütçe Simülasyonu

Zeki Optimizasyon Teknikleri

Doğrusal olmayan programlama. Suat ATAN

Konu : 2017 Yılına, Yılsonu Devir İşlemleri

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

PROGRAMLAMA DİLLERİ I

7 Temmuz Đlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. Đlgili Modül/ler : Raporlar

Transkript:

MATLAB OPTİMİZASYON ARAÇ KUTUSUNUN KULLANIMI DOÇ. DR. İRFAN KAYMAZ 2006

1 OPTİMİZASYON PROBLEMLERİN ÇÖZÜMÜNDE MATLAB UYGULAMALARI Optimizasyon problemlerinin çözümünde MATLAB deki hazır kütüphanelerin yanı sıra, mevcut matematiksel metotların kullanımı ile de çözümlemeler yapılabilir. Bu nedenle bu bölümde Optimizasyon dersi kapsamında gösterilen çözüm metotlarından bir kısmının MATLAB uygulamaları verilmiştir. 1.1 GRAFİKSEL OPTİMİZASYON Grafiksel optimizasyon iki tasarım değişkenine ait optimizasyon problemlerinin çözümünde kullanılan metottur ve grafiksel olarak ifade edilmiş problemde optimum değerler grafik üzerinden okunur. Örnek 1: Aşağıda verilen optimizasyon probleminin çözümünü grafiksel olarak elde ediniz. min f ( x 2 2 1, x2 ) = ( x1 3) + ( x2 2) s.t. h1 ( x1, x2 ) = 2x1 + x2 = 8 2 2 h2 ( x1, x2 ) = ( x1 1) + ( x2 4) g1( x1, x2 ) = x1 + x2 7 2 g2 ( x1, x2 ) = x1 0.25x2 0 = 4 0 x1 10 0 x2 10 Çözüm 1: Aşağıdaki MATLAB programı vasıtasıyla grafiksel çözüm elde edilir. Aşağıda verilen MATLAB programlama kodları MATLAB editörünü kullanarak yazıılır ve graph_cozum.m olarak kaydedilir. % Verilen optimizasyon probleminin MATLAB de grafiksel çözümü % Tasarım değişkenlerine ait değerleri üretilir % x1 ve x2 0 dan başlaayarak 10 kadar 0.1 aralıklarla üretilen sayıları içeren vektörler 2

x1=0:0.1:10; x2=0:0.1:10; % Optimizasyon fonksiyonlarının değerlendirileceği X1 ve X2 matrisleri üretilir [X1 X2] = meshgrid(x1,x2); % X1 ve X2 değerlerine karşılık hedef fonksiyonun değerleri obj_ex1 dosyası çağrılararak elde edilir f1 = obj_ex1(x1,x2);% the objective function is evaluated % X1 ve X2 değerlerine karşılık g1 kısıtlayıcı fonksiyonun değerleri inecon1 dosyası çağrılararak elde edilir ineq1 = inecon1(x1,x2); ineq2 = inecon2(x1,x2); eq1 = eqcon1(x1,x2); eq2 = eqcon2(x1,x2); % ineq1 kısıtlayıcısına ait iso-line ler bu kısıtlayıcının 7 değeri için aşağıda verilen komut yardımıyla çizilir [C1,han1] = contour(x1,x2,ineq1,[7,7],'r-'); % iso-line etiketleri aşağıdaki komut yardımıyla elde edilr clabel(c1,han1); % g1 ifadesi mouse tıklaması ile uygun bir yere yerleştirilir gtext('g1'); % Geri kalan kısıtlayıcılar için de benzer işlemler 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); % graifiğin etiketleri aşağıdaki komut yardımıyla yazılır xlabel('x1 values','fontname','times','fontsize',12, 'FontWeight','bold'); ylabel('x2 values','fontname','times','fontsize',12, 'FontWeight','bold'); grid hold off 3

Yukarıdaki m-dosyasında çağrılan fonksiyonlar aşağıda verilmiştir. 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 MATLAB DE OPTİMİZASYON MATLAB optimizasyon toolbox ı, optimizasyon probleminin büyüklüğüne göre iki farklı yaklaşım uygulamaktadır: Standart algoritma (Medium-Scale) Büyük ölçekli algoritma (Large-Scale) Eğer değişken sayısı çok fazla ise büyük ölçekli algoritma kullanılır. Ancak bu algortimanın kullanımında, bazı parametrelerin (fonksiyonların gradyantları gibi) kullanıcı tarafından verilmesi gerekir. Ancak Standart algoritma Optimizasyon dersinde verilen örneklerin çözümü için yeterli olduğundan Sadece standart algoritma ve ona bağlı komutlar verilecektir. Bu toolbox da optimizasyon probleminin tipine bağlı olarak kullanılacak hazır fonksiyonlar bulunmakta, ve bu fonksiyonlar yardımıyla optimizasyon işlemi gerçekleştirilmektedir. Belli başlı optimizasyon fonksiyonları ve işlevleri aşağıdaki tabloda verilmiştir. 4

Tablo 1: Optimizasyon komutları ve kullanım amaçları. Fonksiyon Amacı fgoalattain Birden fazla hedef fonksiyonlu optimizasyon fminbnd Skalar nonlinear minimizasyon sınırlarla birlikte fmincon Kısıtlayıcı fonksiyonlu nonlinear optimizasyon fminimax Minimax optimizasyonu fminsearch,fminunc Kısıtlayıcı fonksiyonsuz nonlinear minimizasyon fseminf Yari-sonlu programlama linprog Lineer programlama quadprog Quadratik programlama Yukarıdaki tabloda verilen her bir komutun kullanımı, komuta verilmesi gereken değerle (girdi bilgileri), komutun alacağı seçenekler (OPTIONS) ve çıktı parametrelerin neler olduğu komut ile ilgi yardım dosyasından elde edilebilir. En genel optimizasyon problemlerinin çözümünde kullanılan fmincon komutu ile ilgili bilgi örnek amacıyla aşağıda verilmiştir. Tablo 2: fmincon komutunun kullanımı 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(...) Yukarıdaki tabloda, fmincon komutunun, en yalın kullanımdan en ileri kulanımı ile ilgili 11 biçimi verilmiştir. Burada temel kullanım benzer olmakla birlikte, optimizasyon problemi ile alakalı ne tür bir bilgi girişi yapılacağı ve optimum çözüm elde edildiğinde ne tür sonuçların, komut tanımlanmada eşitliğin sağ tarafında verilen değişkenlere atanacağı tanımlanır. Dolayısıyla komutta ilgili değişkenlerin mutlaka tanımlı olması gerekir. Bu nedenle Tablo 3 de fmincon komutun alacağı parametrelerin detaylı açıklaması verilmiştir. 5

Tablo 3: fmincon komutunun parametrelerinin anlamları. PARAMETRE ANLAMI GİRDİ PARAMETRELERİ Fun hedef fonkisyonu içeren m-dosyasının ismi X0 tasarım değişkenlerinin başlagıç değerleri A, b Lineer eşitliksizlik kısıtlayıcı fonksiyonun katsayıları (A*x <= b) Aeq,beq Lineer eşitlik kısıtlayıcı fonksiyonun katsayıları Aeq*x = beq lb Dizayn değişkenlerin alt siniri ub Dizayn değişkenlerin üst siniri nonlcon Kısıtlayıcı fonksiyonları içeren fonksiyon options Optimizasyon algortitmasını kontrol eden seçenekler ÇIKTI PARAMETRELERİ x Optimum tasarım değişkenerinin atandığı vektör Fval Optimum noktada hedef fonksiyonun değeri output Optimizasyon çözümü hakkında daha detaylı bilgi verir Lambda Lagrange çarpanlarının değerleri Grad Opitmum noktada hedef fonksiyonun gradyantı hesssian Opitmum noktada hessian matrisinin değerini verir Seçilen optimizasyon metodunun kontrolünü sağlamak için OPTIONS parametresi ile belirtilen pek çok argüman vardır. İlgili komutun, MATLAB tarafından atanan geçerli (default) değerleri yerine, bu argümanlar OPTIMSET komut yardımıyla değiştirilerek kullanıcının tanımladığı ve optimizasyon tekniğini kullandığı değerler değiştirilebilir. Bu argümanlar Tablo 4 de verilmiştir. 6

Tablo 4: OPTIMSET komutu yardımıyla tanımlanan bazı argümanlar. ARGUMAN ANLAMI ALACAĞI DEĞERLER DerivativeCheck Kullanıcının sağladığı derivative ile on, off sonlu farklarla hesaplanan derivativi karşılaştırır. DiffMaxChange Sonlu farklar ile derivative hesaplamada değişkenlerin değerlerindeki maksimum değişiklik DiffMinChange Sonlu farklar ile derivative hesaplamada değişkenlerin değerlerindeki minimum değişiklik Display Çözüm adımlarından hangisinin komut satırında gösterileceği belirtilir off : herhangi bir çıktı göstermez iter : her bir iterasyonda çıktıları gösterir final : sadece son çıktıyı gösterir notify : optimizasyon yakınsamadığı zamanki çıktıyı gösterir GradObj Hedef fonksiyonun gradyantın kullanıcı tarafından verilip verilmediğini belirtir on, off GradConstr Nonlinear kısıtlayıcı fonksiyonun on, off gradyantın kullanıcı tarafından verilip verilmediğini belirtir Hessian Hedef fonksiyonun Hessian matrisinin on, off kullanıcı tarafından verilip verilmediğini belirtir MaxFunEvals Fonksiyon değerlendirilmesinin Pozitif tam sayı maksimum sayısı MaxIter Maksimum iterasyon sayısı Pozitif tam sayı Tolcon Kısıtlayıcı ihlalindeki tolerans Poztif bir sayı TolFun Hedef fonksiyon için tolerans Poztif bir sayı TolX Tasarım değişkenleri için tolerans Poztif bir sayı Bu fonksiyonların kullanımı optimizasyon problem tiplerine göre aşağıda geniş olarak verilmiştir. 7

2.1 KISITLAYICISIZ OPTİMİZASYON PROBLEMİ Kısıtlayıcısı optimizasyon problemlerinin MATLAB de çözümü için gerekli adımları aşağıda verilen örnek yardımıyla verilecektir. Bu optimizasyon probleminin çözümü için takip edilecek adımlar: Adım 1: Bir M-file oluşturun: Hedef fonksiyon için bir M-file oluşturulur ve hedef fonksiyona verilen isimle aynı olacak şekilde M-File ın ismi seçilir. Şekil 1: objfun.m isimli M-file. Adım 2: Kısıtlayıcısız optimizasyon metotlarından birini çağırın: Seçilecek kısıtlayıcısız optimizasyon metoduna göre istenilen opsiyonlarda verilmelidir. Bu örnekte optimizasyon metodu olarak fminunc seçilmiştir. Bu komut, tasarım değişkenleri için bir başlangıç değeri atanması gerekmektedir. Gerekli komutlar MATLAB komut satırına aşağıda gösterildiği gibi yazılır: Şekil 2: Optimizasyon komutunun MATLAB komut satırından çağrılması. 8

Şekil 2 de verilen komutların açıklaması: X0: başlangıç değerleri (tahmini) Options: optimset komutu ile seçilen optimizasyon seçeneklerinin atandığı değişken. Optimset yardımıyla standart veya büyük ölçekli algoritma seçimine bağlı olarak optimizasyon metodunun seçenekleri belirlenir. Bunlardan bazıları, Jakobien veya Hessian matrisinin hesaplanıp hesaplanmayacağı, ekrana ne kadar bir bilgi yazılacağı gibi seçeneklerdir. exitflag:seçilen algoritmanın sonuca yakınsayıp yakınsamadığını belirtir. Eğer sıfırdan büyük ise lokal minimum değerinin bulunduğunu belirtir. Output:Optimizasyon çözümü hakkında daha detaylı bilgi verir. Yukarıdaki örnek için, komut satırına output yazılıp Enter lanırsa aşağıdaki bilgiler elde edilir: Şekil 3: Output komutu yardımıyla optimizasyon çözümü ile ilgili geniş bilgi alma. Burada: Iterations: toplam iterasyon sayısını funccount: Fonksiyonun değerlendirme sayısı stepsize: Son iterasyonda seçilen adım uzunluğu firstorderopt: birinci derece optimumluk şartı algortihm: Kullanılan algoritmayı ve seçilen metodu gösterir. 2.2 LİNEER OLMAYAN EŞİTSİZLİK KISITLAYICILI OPTİMİZASYON PROBLEMİ Bu tip optimizasyon problemleri için hedef fonksiyonun yanı sıra eşitsizlik kısıtlayıcıları içinde bir M-file oluşturulur. Yukarıdaki örneğe kısıtlayıcı fonksiyonlar ekleyerek bu bölümde kullanılacak örnek problem oluşturulabilir: 9

kısıtlayıcılar: Bu tip optimizasyon problemi için, fmincon komutu kullanılarak çözüm yapılabilir. Adım 1: Kısıtlayıcılar için bir M-dosyasını oluşturulması Adım 2: Optimizasyon komutları için bir M-dosyasını oluşturulması Buradaki fmincon fonksiyonun kullanımlarının genel formatı x = fmincon(@objfun,x0,a,b,aeq,beq,lb,ub,nonlcon) şeklindedir. Kısıtlayıcı fonksiyonların çözüm noktasındaki değerlendirmesi için aşağıdaki komut icra edilir: Bu komutun icrasında elde edilen sonuç: c = 1.110223024625157e-015-1.776356839400251e-015 ceq =[ ] 2.3 TASARIM DEĞİŞKENLERİN ALACAĞI DEĞERLERİN SINIRLANDIRILMASI Tasarım değişkenlerin alacağı değerlerde sınırlama olduğu durumda fmincon komutu aşağıdaki gibi verilir: 10

Burada lb: tasarım değişkenin aşacağı alt sınır ub: tasarım değişkenin aşacağı üst sınır Genellikle kullanılan tasarım değişkenlerin sıfırdan büyük değer alma sınırlaması bir önceki problem için aşağıdaki gibi verilebilir: Bu şartlara göre çözüm yapılırsa aşağıdaki sonuç elde edilir: 2.4 GRADYANTLARIN TEMİN EDİLDİĞİ OPTİMİZASYON PROBLEMLERİ Normalde standart algoritma kullanıldığı durumda gerekli olan gradyantlar sonlu farklar yöntemiyle yaklaşık olarak hesaplanmaktadır. Ancak gradyantların verilebildiği problemlerde gradyantlarında işleme katılması optimizasyon probleminin daha doğru olarak çözülmesini sağlamaktadır. Önceki bölümlerde verilen problemin gradyant sağlanarak çözümü için aşağıdaki adımlar takip edilmelidir: 11

Adım 1: hedef fonksiyon ve gradyant için bir M-file oluşturulur: Adım 2: kısıtlayıcı fonksiyonlar ve gradyantları için bir M-file oluşturulur: Gradyantların verildiğinin fmincon da belirtmek için optimset komutu yardımıyla Gradobj ve GradConstr değişkenleri on komutunu getirilmelidir: Adım 3: Kısıtlayıcılı optimizasyon metotlarından birini çağırın: Buradan elde edilen sonuç: 12

2.5 EŞİTLİK KISITLAYICILI OPTİMİZASYON PROBLEMLERİ Bir önceki örnek için kısıtlayıcılar eşitlik kısıtlayıcısı ile nonlineer eşitsizlik kısıtlayıcıya olacak şekilde seçilsin. Aşağıdaki adımlar icra edilerek optimizasyon problemi çözülür: Adım 1: Hedef fonksiyon için bir M-dosyasını oluşturulması Adım 2: Kısıtlayıcılar için bir M-dosyasını oluşturulması Adım 3: Kısıtlayıcılı optimizasyon metotlarından birini çağırın: Buradan elde edilen sonuç: 13