METASEZGİSEL YÖNTEMLER

Benzer belgeler
Zeki Optimizasyon Teknikleri

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

YÖNEYLEM ARAŞTIRMASI - III

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

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

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

YÖNEYLEM ARAŞTIRMASI - III

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

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

Zeki Optimizasyon Teknikleri

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon

YÖNEYLEM ARAŞTIRMASI - III

OPTİMİZASYON TEKNİKLERİ-2. Hafta

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak

YÖNEYLEM ARAŞTIRMASI - III

DOĞRUSAL OLMAYAN PROGRAMLAMA -I-

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

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

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

Karar değişkenlere ilişkin fonksiyonların ve bu fonksiyonlara ilişkin sınırlamaların tanımlanması

MAK 210 SAYISAL ANALİZ

0.1 Zarf Teoremi (Envelope Teorem)

NEWTON RAPHSON YÖNTEMİ

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH)

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

TİPİK MODELLEME UYGULAMALARI

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

YÖNEYLEM ARAŞTIRMASI - III

Mesleki Terminoloji. Sayısal Analiz DERSİ VEREN: ARŞ. GRV. DR. GÖKSEL BİRİCİK MEHMET EMRE ÖNDER DOĞAÇ CEM İŞOĞLU

Yöneylem Araştırması II

İleri Diferansiyel Denklemler

YÖNEYLEM ARAŞTIRMASI - III

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

İleri Diferansiyel Denklemler

İleri Diferansiyel Denklemler

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

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

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

GÜZ DÖNEMİ ARASINAV SORULARI. 1. Sayısal çözümleme ve fonksiyonu tanımlayarak kullanıldığı alanları kısaca açıklayınız?

İleri Diferansiyel Denklemler

SAYISAL ÇÖZÜMLEME. Sayısal Çözümleme

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

MAK 210 SAYISAL ANALİZ

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

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

İleri Diferansiyel Denklemler

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

HATA VE HATA KAYNAKLARI...

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

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

Optimizasyon İçin Kök(Generic) Model (Doğrusal-Olmayan Programlama Modeli)

KISITLI OPTİMİZASYON

MAK 210 SAYISAL ANALİZ

Zeki Optimizasyon Teknikleri. Karınca Algoritması (Ant Algorithm)

İleri Diferansiyel Denklemler


T.C. DOKUZ EYLÜL ÜNİVERSİTESİ SOSYAL BİLİMLER ENSTİTÜSÜ EKONOMETRİ ANABİLİM DALI EKONOMETRİ DOKTORA PROGRAMI

Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Bölümü. Bilgisayarla Görme. Final

DOĞRUSAL PROGRAMLAMADA DUALİTE (DUALITY)

yöneylem araştırması Nedensellik üzerine diyaloglar I

Mühendislikte Sayısal Çözüm Yöntemleri NÜMERİK ANALİZ. Prof. Dr. İbrahim UZUN

ÇEV 2006 Mühendislik Matematiği (Sayısal Analiz) DEÜ Çevre Mühendisliği Bölümü Doç.Dr. Alper ELÇĐ

DENİZ HARP OKULU TEMEL BİLİMLER BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Lineer Programlama. Doğrusal terimi, hem amaç hem de kısıtları temsil eden matematiksel fonksiyonların doğrusal olduğunu gösterir.

Sistem Dinamiği. Bölüm 2- Dinamik Cevap ve Laplace Dönüşümü. Doç.Dr. Erhan AKDOĞAN

TRAKYA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ MAKİNA MÜHENDİSLİĞİ ANABİLİM DALI DOKTORA PROGRAMI ŞEKİL TANIMA ÖDEV 2 KONU : DESTEK VEKTÖR MAKİNELERİ

Altın Oran Arama Metodu(Golden Search)

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

MAK 210 SAYISAL ANALİZ

BULANIK MANTIK VE SİSTEMLERİ BAHAR DÖNEMİ ÖDEV 1. Müslüm ÖZTÜRK Bilişim Teknolojileri Mühendisliği ABD Doktora Programı

İleri Diferansiyel Denklemler

TÜREV VE UYGULAMALARI

Concept Learning. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ. Yapay Zeka - Kavram Öğrenme

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Math 322 Diferensiyel Denklemler Ders Notları 2012

YÖNEYLEM ARAŞTIRMASI - I

Teori ve Örneklerle. Doç. Dr. Bülent ORUÇ

TÜREV VE UYGULAMALARI

MAK 210 SAYISAL ANALİZ

Çok değişkenli fonksiyonlar. Maksimum- Minimum

Bölüm 2. Bir boyutta hareket

Temelleri. Doç.Dr.Ali Argun Karacabey

x e göre türev y sabit kabul edilir. y ye göre türev x sabit kabul edilir.

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

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

Doğrusal olmayan programlama. Suat ATAN

ÖĞRENME ALANI TEMEL MATEMATİK BÖLÜM TÜREV. ALT ÖĞRENME ALANLARI 1) Türev 2) Türev Uygulamaları TÜREV

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

Doğrusal Programlamada Grafik Çözüm

Web Madenciliği (Web Mining)

Çalışma Soruları 1. a) x > 5 b) y < -3 c) xy > 0 d) x 3 < y e) (x-2) 2 + y 2 > 1. ( ) 2x

Elemanter fonksiyonlarla yaklaşım ve hata

Mat Matematik II / Calculus II

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Makine Öğrenmesi 2. hafta

KPSS ÖABT İLKÖĞRETİM MATEMATİK. Tamamı Çözümlü SORU BANKASI. 50 soruda SORU

Bekleme Hattı Teorisi

Matris Cebiriyle Çoklu Regresyon Modeli

Transkript:

METASEZGİSEL YÖNTEMLER Ara sınav - 30% Ödev (Haftalık) - 20% Final (Proje Sunumu) - 50% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn: Zaman çizelgeleme, en kısa yol bulunması, denetleyici tasarımı, network optimizasyonu vb.) Güncel uygulamalar olması gerekir. - Hazırlanacak proje önerileri ara sınav tarihine kadar bildirilecek - E-posta : iaydin@firat.edu.tr - Dersin web adresi : http://web.firat.edu.tr/iaydin/ Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

Dersin İçeriği 1- Giriş, genel tanımlamalar 2- Genetik algoritmalar 3- Parçacık sürü optimizasyonu 4- Yapay bağışık sistemler 5- Diferansiyel gelişim algoritması 6- Karınca koloni algoritması 7- Yapay arı koloni algoritması 8- Isıl işlem algoritması 9- Tabu arama algoritması

Giriş Belirli sınırlamaları sağlayacak şekilde bilinmeyen parametre değerlerinin bulunmasını içeren herhangi bir problem, optimizasyon problemi olarak tanımlanır. o Optimizasyon, verilen şartlar altında en iyi sonucun elde edilmesi işidir. Bu problemde ilk adım karar değişkenleri veya parametreleri olarak isimlendirilen parametre setini tanımlamaktır. Optimizasyon alanındaki en önemli gelişmeler 18.yy da Newton ve Lagrange tarafından yapılmıştır. Bir sistemin planlanmasında hedef, istenen kar maksimize ya da gerekli çabayı minimize etmektir. İstenen kar veya gerekli çaba, karar değişkenlerinin bir fonksiyonu olarak ifade edilir. Optimizasyon sürecinde bu fonksiyonun minimum veya maksimum değerini oluşturan şartlar bulunur.

GİRİŞ N değişkenli x=(x1, x2,, xi,, xn) vektörü için maliyet fonksiyonu f(x)=f(x1,x2,, xn) şeklinde gösterilir. Sistem p adet eşitlik sınırlamasına sahip ise hj(x)=hj(x1, x2,, xn)=0 1<=j<=p şeklinde gösterilir. Eğer sistem m tane eşitsizlik sınırlamalarına sahip ise gi(x)=gi(x1, x2,, xn)<=0 1<=i<=m şeklinde gösterilir. Bazı problemlerde birden fazla maliyet fonksiyonu bulunabilir. Yani problem birden fazla en küçük yapılacak fonksiyon içeriyorsa çok amaçlı (multi objective) optimizasyon problemi olarak adlandırılır. Problem için sınırlamaları sağlayan mümkün tüm çözümlerin oluşturduğu bölge araştırma yapılabilecek uygun (feasible) çözüm bölgesi olarak adlandırılır. f(x*)<=f(x) ile verilen şartı uygun bölge içindeki tüm muhtemel (x) için sağlıyor ise f(x)fonksiyonu x* da küresel minimuma sahiptir. Eğer bu denklem dar bir bölge içinde, x* in dar bir komşuluğunda tüm muhtemel çözümler için sağlanıyorsa f(x) x* da bölgesel minimuma sahiptir.

GİRİŞ Fonksiyonlar sürekli ve türevlenebilir olmalıdır. Çok küçük pozitif ve negatif bütün h değerleri için f(x0) f(x0 +h) ise f(x) fonksiyonu x0 da yerel minimuma sahiptir. f(x0) f(x0 +h) ise f(x) fonksiyonu x0 da yerel maksimuma sahiptir.

OPTİMİZASYON PROBLEMLERİNİN SINIFLANDIRILMASI f(x) amaç fonksiyonunun x ile ilgili herhangi bir sınırlama yoksa sınırlamasız optimizasyon x ile ilgili sınırlamanın bulunduğu optimizasyon problemi ise sınırlamalı optimizasyondur. Diğer bir sınıflandırma ise amaç fonksiyonunun ve sınırlamalar ile ilgili fonksiyonların lineer olup olmamasına bağlıdır. o Lineer amaç ve sınırlama fonksiyonları var ise lineer programlama problemi o Nonlineer amaç ve sınırlama var ise nonlineer programlama problemi Sürekli ve ayrık optimizasyon problemleri diğer optimizasyon şeklidir. o Ayrık niceliklerin optimal olarak düzenlenmesi, gruplanması, sıraya konulması veya seçilmesi ayrık optimizasyon o Tasarım değişkenleri sürekli değerler ise bu tür problemlere sürekli optimizasyon denir.

OPTİMİZASYON METOTLARININ SINIFLANDIRILMASI Klasik optimizasyon metotları ikiye ayrılır: Doğrudan metotlar Optimalite kriterine dayalı dolaylı metotlar: Optimalliki şartları bir fonksiyonun minimum noktalarının sağlaması gereken şartlardır. Tahmini bir başlangıç noktasından başlayarak optimallik şartlarının başlangıç çözümünün geliştirilmesidir. Optimizasyon problemlerinde fonksiyonların bir kısmı veya tamamı nonlineerdir. Nonlineer programlama kavramı, nonlineer problemleri çözmek amacıyla geliştirilen nümerik metotlar için kullanılır. Neden nonlineer programlamaya ihtiyaç duyulur? Tasarım değişkenlerinin ve sınırlama sayılarının çok olması-çok sayıda denklem Tasarım probleminin fonksiyonları yüksek seviyede nonlineerlik içerebilir. Çoğu mühendislik uygulamalarında fonksiyonlar tasarım değişkenleri açısından açık olmayabilir.

İTERATİF ARAŞTIRMA İŞLEMİ Adım 1. Bir başlangıç çözümü (x (0) al. İterasyon sayacını sıfırla) Adım 2. Araştırma uzayında bu nokta için bir araştırma yönü (d (t) ) belirle. Sınırlamasız optimizasyonda maliyet fonksiyonu ile gradyentin hesabı Sınırlamalı optimizasyonda sınırlama fonksiyonlarına ihtiyaç duyar. Adım 3. Araştırmanın yakınsamasını kontrol et. Eğer bitmiş ise bitir, yoksa devam Adım 4. Pozitif bir adım büyüklüğü belirle ( (t) ) hesapla. Adım 5. Yeni çözümü aşağıdaki formül ile belirle. x (t+1) =x(t)+ t d (t) Adım 6. İterasyon sayacını bir arttır (t=t+1) ve 2. Adıma git.

EN DİK İNİŞ YÖNTEMİ Yöntem aşağıya doğru en mümkün olan en dik iniş yönünün araştırılmasına dayalıdır. Bunun için mevcut noktada hesaplanan negatif gradient e dayalıdır. Dolayısıyla birinci dereceden metot olarak ta isimlendirilir. Pozitif gradyent vektörü g(x), f(x) in x noktasında en yüksek artış gösterdiği yönü belirtir ve genliği g(x) de x noktasındaki eğimdir. Eğer x(t) verilmiş ise x(t+1) aşağıdaki gibi hesaplanır. x (t+1) =x (t) - t g(x (t) ) Denklemde t adım büyüklüğü olup pozitiftir. Adım büyüklüğü g(x (t) ) yönünde f(x (t+1) ) i küçük yapacak şekilde hesaplanır. x (t) B x (t+1) C d (t) A x (t-1)

EN-DİK İNİŞ YÖNTEMİ Adım 1. Bir başlangıç çözümü (x (0) al. İterasyon sayacını sıfırla ve durdurma kriteri içni bir tolerans seç.) Adım 2. x (t) noktasında g(t) gradiyentini ve g (t) yi hesapla. Şayet g (t) tolerans e den küçük ise araştırmayı durdur. Yoksa devam et. Adım 3. d (t) =-g (t) şeklinde alarak araştırmanın yönünü belirle. Adım 4. Yeni noktayı x (t+1) =x (t) + t d (t) ile belirle. Burada yapacak şekilde hesaplanan adım büyüklüğüdür. Adım 5. İterasyon sayacını bir arttır (t=t+1) ve 2. Adıma git. t f(x (t+1) ) yi minimum

Örnek: Aşağıda verilen iki değişkenli fonksiyonu minimum yapacak değişken değerlerini en-dik iniş yöntemi ile bulunuz. İkinci adımdaki g (1) için çözülürse g (1) =(0,0) elde edilir ve bu da durdurma kriterini sağlar.

Eşlenik Gradient Algoritması Eşlenik gradient en-dik iniş yönteminin performansını arttırmak için geliştirilmiştir. Eşlenik gradient algoritmasının temel adımları aşağıdaki gibidir.

Örnek: f(x1,x2,x3)=x 1 2 + 2x 2 2 + 2x 3 2 + 2x 1 x 2 + 2x 2 x 3 fonksiyonun minimum yapacak değişken değerlerini bulmak için eşlenik gradient yöntemini kullanınız. x (0) =(2, 4, 10) g (0) =(2x 1 +2x 2, 4x 2 +2x 1 +2x 3, 4x 3 +2x 2 )=(12,40,48) g (0) =63.6 f(x (0) )=332 1. iterasyon sonunda çözüm olarak x (1) =(0.0956, -2.348, 2.381) değerini bulunur. g (1) =(-4.5, -4.438, 4.828) f(x (1) )=10.75 g (1) =7.952> olduğundan araştırmaya devam et.

Newton Yöntemi Temel fikri mevcut nokta etrafında fonksiyonun ikinci dereceden Taylor serisi açılımını kullanmaktır. Newton metodunda fonksiyonun birinci ve ikinci türevlerinin olduğu varsayılır. İlk önce gradient (g) daha sonra Hessian (H) matrisi hesaplanır. x (t+1) = x (t) + Δx (t) ve Δx (t 1) = α[h(x (t) )] 1 g(x (t) ) Burada H, Hessian matrisini gösterir ve matris tekil değildir. Klasik Newton yöntemleri gradient tabanlı bilgi aracılığıyla adım büyüklüğünü 1 alır. Bu yüzden her problem için yakınsamayı garanti etmezler. Bu dezavantajı ortadan kaldırmak için değiştirilmiş Newton yöntemi kullanılır.

Değiştirilmiş Newton Yöntemi

Örnek: Aşağıda verilen üç değişkenli fonksiyonun minimumunu değiştirilmiş Newton yöntemi ile bulunuz.

Sezgisel Algoritmalar Sağ el kuralına dayalı algoritmalardır. Herhangi bir amacı gerçekleştirmek için veya hedefe varmak için çeşitli alternatif hareketlerden etkili olanlara karar vermek amacı ile tanımlanan kriterler veya bilgisayar metotlarıdır. Bu algoritmalar, çözüm uzayında optimum çözüme yakınsaması ispat edilemeyen algoritmalar olarak da adlandırılır. Bu tür algoritmalar yakınsama özelliğine sahiptir, ama kesin çözümü garanti etmezler, sadece kesin çözüme yakın çözümü garanti ederler.

Sezgisel Algoritmalara Gerek Duyulmasının Sebepleri a) Optimizasyon problemi, kesin çözümü bulma işleminin tanımlanmadığı bir yapıya sahip olabilir. b) Anlaşıla bilirlik açısından sezgisel algoritmalar karar verici için çok daha basit olabilir. c) Sezgisel algoritmalar öğrenme amaçlı ve kesin çözümü bulma işleminin bir parçası olabilir. d) Matematik formülleriyle yapılan tanımlamalarda genellikle gerçek dünya problemlerinin en zor tarafları ihmal edilir. e) Model parametrelerini belirleme aşamasında kullanılan verinin hatalı olması sezgisel yaklaşımın üretebileceği alt optimal çözümden daha büyük hatalara sebep olabilir.

Sezgisel Algoritmaların Değerlendirilmesi için Kriterler Çözüm Kalitesi ve Hesaplama zamanı Kod basitliği ve gerçeklenebilirlik Esneklik Sağlamlık Basitlik ve analiz edilebilirlik Etkileşimli hesaplama ve teknoloji değişimleri

HILL CLIMBING 1. İterasyon tekniği kullanılır. 2. Arama alanında tek bir noktadan başlar. 3. Her bir iterasyonda mevcut çözüme komşu çözümler arasından bir tanesi seçilir. 4. Eğer seçilen nokta mevcut çözümden daha iyiyse yeni çözüm olarak alınır, değilse başka bir komşu çözüm aranır. 5. Algoritma daha iyi bir çözüm bulunamayınca veya daha önceden belirlenmiş iterasyon sayısına ulaşınca sonlandırılır.

HILL CLIMBING Lokal minimumu bulabilir. - Genellikle farklı başlama noktalarından başlanmak zorundadır. Başlama noktası seçimi şu şekilde yapılabilir; o Rastgele seçilebilir o Daha önceden belirlenmiş noktalara göre seçilebilir - Diğer bilgilere göre (Örn: Önceki çözümler, Uzman bilgileri, Ölçümler, vb.)

HILL CLIMBING Örnek: 30 karakterlik bir binary karakter dizisi problemin çözüm uzayını oluşturmaktadır. f(bd) = 20 * bir_sayisi(bd) 100 fonksiyonunu maksimum yapan binary dizisini (bd) bulunuz. bir_sayisi(bd) fonksiyonu bd dizisindeki birlerin sayısını vermektedir. Örn: bd1 = ( 110111101111011101101111010101 ) f(bd1) = 10 * 22 100 = 120

HILL CLIMBING procedure HillClimbing begin iterasyon 0 repeat lokal FALSE rastgele bir bd dizisi seç bd dizisini değerlendir repeat bd dizisindeki bitlerin değerini değiştirip yeni 30 komşu çözüm üret Yeni komşu çözüm kümesinde f fonksiyonunu maks. yapanı seç else lokal TRUE until lokal iterasyon iterasyon + 1 until iterasyon = MAXITERASYON end

HILL CLIMBING Zayıf yanları: - Genellikle lokal optimum olan çözümlerde sonlanmaktadır. - Elde edilen optimum başlama noktasına bağlıdır. - Genellikle istenen sonucu elde etmede hesaplama zamanı için bir üst limit yoktur. Avantajları: - Uygulamak çok kolaydır. - Sadece problemin gösterimi, değerlendirme fonksiyonu ve komşu çözüm üretme fonksiyonu yeterlidir.