T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SEZGİSEL ALGORİTMALARLA SINAV ÇİZELGELEME PROBLEMİ ÇÖZÜMÜ

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SEZGİSEL ALGORİTMALARLA SINAV ÇİZELGELEME PROBLEMİ ÇÖZÜMÜ"

Transkript

1 T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SEZGİSEL ALGORİTMALARLA SINAV ÇİZELGELEME PROBLEMİ ÇÖZÜMÜ Cevriye ALTINTAŞ Danışman: Doç. Dr. Tuncay YİĞİT YÜKSEK LİSANS TEZİ BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI ISPARTA 2011

2

3 İÇİNDEKİLER Sayfa İÇİNDEKİLER... i ÖZET... iv ABSTRACT... v TEŞEKKÜR... vi ŞEKİLLER DİZİNİ... vii ÇİZELGELER DİZİNİ... ix SİMGELER VE KISALTMALAR... x 1. GİRİŞ Zaman Çizelgeleme Çizelgelemenin temel amaçları Çizelgelemenin çözümünde kullanıldığı problemler Çizelgelemenin başarılı olması için gerekeli hususlar KAYNAK ÖZETLERİ MATERYAL VE YÖNTEM Materyal Genetik arama algoritması Genetik algoritmaların tarihçesi Genetik algoritmanın tanımı ve çalışma prensibi Gen Kromozom Genetik algoritmaların akış diyagramı Akış diyagramının açıklaması Çaprazlama yöntemi Çaprazlama olasılığı Mutasyon olasılığı Popülasyon büyüklüğü GA nın performansını etkileyen nedenler GA nın uygulama alanları GA nın diğer algoritmalardan farkları Karınca kolonisi algoritması i

4 Tabu arama algoritması Tabu arama algoritması genel yapısı Değiştirilmiş greedy araması Kısır döngülerden kurtulmak için geliştirilen strateji Benzetimli tavlama (simulated annealing) algoritması Benzetimli tavlama (simulated annealing) algoritması kullanım alanları Benzetimli tavlama (simulated annealing) algoritması çalışma prensibi Benzetimli tavlama (simulated annealing) algoritması adımları Üst sezgisel algoritmalarla sezgisel algoritmaların seçimi Yöntem Sınav çizelgeleme probleminin tanımlanması Sınav çizelgeleme probleminde belirlenen kısıtlar Fakülte-bölüm kısıtları Öğretim elemanı-gözetmen kısıtları Ders kısıtları Dönem dersi kısıtları Derslik kısıtları Sistem mimarisi ve program oluşturulması Sistem tasarımı Kullanıcı giriş ekranı Fakülte-bölüm ekranı Dersler ekranı Dönem dersleri ekranı Derslikler ekranı Öğretim üyeleri ekranı Sınav çizelgesi oluşturma-görüntüleme ekranı Veri tabanı tabloları Veri tabanı tablolarının birbirleri ile bağlantıları Sınav programı çizelgelemesi için genetik algoritmalar Kromozomların kodlanması Başlangıç popülasyonunun oluşturulması Uygunluk fonksiyonu ii

5 Sınav programı çizelgelemesi için tabu arama algoritması Sınav programı çizelgelemesi için benzetimli tavlama algoritması Sınav programı çizelgelemesi için karınca kolonisi optimizasyonu tabanlı algoritma ARAŞTIRMA BULGULARI VE TARTIŞMA Sınav Çizelgeleme Problemi İçin Geliştirilen Program Genetik Algoritma İle Sınav Çizelgeleme Deneyleri Deney verisinin özellikleri Deney Deney Deney uygunluk değeri puan grafiği Tabu Arama Algoritması İle Sınav Çizelgeleme İşlemi Benzetimli Tavlama (Simulated Annealing) Algoritması İle Sınav Çizelgeleme İşlemi Deney Sonuçları Sezgisel Analiz SONUÇ KAYNAKLAR ÖZGEÇMİŞ iii

6 ÖZET Yüksek Lisans Tezi SEZGİSEL ALGORİTMALARLA SINAV ÇİZELGELEME PROBLEMİ ÇÖZÜMÜ Cevriye ALTINTAŞ Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı Danışman: Doç. Dr. Tuncay YİĞİT Çalışmanın amacı, çizelgeleme problemlerinin tanımlanması ve bu yöntemlerle sınav çizelgeleme probleminin nasıl çözülebileceğinin incelenmesidir. Sınav programı çizelgeleme problemleri NP(Non-polinomal) zor diye adlandırılan optimizasyon problemleridir. Bu tip problemlerin her zaman tam çözümü bulunamamakta, sadece yaklaşık sonuçların elde edilmesi de yeterli olabilmektedir. Problemlerin çözümünde; matematiksel yöntemler, sayısal analiz ve sezgisel yöntemler kullanılmaktadır. Bu çalışmada sezgisel yöntemlerden, Genetik Algoritma, Karınca Kolonisi, Tabu Arama, Benzetimli Tavlama (Simulated Annealing) algoritmaları ele alınmıştır. Anahtar Kelimeler: Genetik Algoritmalar, Zaman Çizelgeleme Problemi, Optimizasyon, Karınca Kolonisi Algoritması, Tabu Arama, Benzetimli Tavlama 2011, 74 sayfa iv

7 ABSTRACT M.Sc. Thesis EXAMINATION TIMETABLE PROBLEM SOLVING WITH HEURISTIC ALGORITHMS Cevriye ALTINTAŞ Süleyman Demirel University Graduate School of Applied and Natural Sciences Department of Computer Engineering Supervisor: Assoc. Prof. Dr. Tuncay YİĞİT The aim of the study, the scheduling problem with these methods of identification and of examination how to solve the scheduling problem is to examine. Examination problem scheduling NP (Non-polinomal) called problems are difficult. This type of complete solution of the problems has always unable, only approximate results may be sufficient to obtain. In the solution of problems, mathematical methods, numerical analysis and heuristic methods are used. In this study, heuristic methods, Genetic Algorithms, Ant Colony, Tabu Search, and Simulated Annealing algorithms have been addressed. Key Words:Genetic Algorithm, Timetabling Problem, Optimization, Tabu Search, Ant Colony Algorithm, Simulating Annealing 2011, 74 pages v

8 TEŞEKKÜR Bu çalışmanın başından sonuna kadar konuları tartışmamda, çalışmayı yönlendirici kritiklerinden ve sürekli tez çalışma sürecindeki sıcak ilgilerinden dolayı sayın danışmanım Doç. Dr. Tuncay YİĞİT e sonsuz teşekkürlerimi sunarım. Cevriye ALTINTAŞ ISPARTA, 2011 vi

9 ŞEKİLLER DİZİNİ Şekil 3.1. Sınav programı çizelgeleme için kullanılabilecek gen yapısı... 9 Şekil 3.2. n adet gene sahip bir kromozom yapısı Şekil 3.3. Genetik algoritmalar için genel akış diyagramı Şekil 3.4. Pozisyona dayalı çaprazlama Şekil 3.5. Sıraya dayalı çaprazlama Şekil 3.6. Kısmi planlı çaprazlama 1.örnek Şekil 3.7. Kısmi planlı çaprazlama 2.örnek Şekil 3.8. Kısmi planlı çaprazlama 3.örnek Şekil 3.9. Dairesel çaprazlama 1.örnek Şekil Dairesel çaprazlama 2.örnek Şekil Dairesel çaprazlama 3.örnek Şekil Sıralı çaprazlama 1.örnek Şekil Sıralı çaprazlama 2.örnek Şekil Sıralı çaprazlama 3.örnek Şekil Karıncaların yuva ile yiyecek kaynağı arasındaki hareketleri Şekil Karıncaların yollarına bıraktıkları feromon miktarı Şekil Boyutlu fonksiyon Şekil Ayrık noktalı 2 boyutlu fonksiyon Şekil Fonksiyondaki local minimum gösterimi Şekil Sınav programı kullanıcı giriş ekranı Şekil Sınav programı bölüm bilgileri giriş ekranı.. 38 Şekil Sınav programı ders giriş ekranı Şekil Sınav programı dönem dersi giriş ekranı Şekil Sınav programı derslik bilgi giriş ekranı Şekil Sınav programı öğretim üyesi giriş ekranı Şekil Sınav çizelgesi oluşturma ekranı Şekil Kromozomların kodlanması Şekil Sınav programı genetik algoritması akış şeması..48 Şekil Sınav programı tabu arama algoritması akış diyagramı.. 52 vii

10 Şekil Sınav programı benzetimli tavlama (simulated annealing) akış diyagramı Şekil Sınav programı karınca kolonisi algoritması akış diyagramı. 58 Şekil 4.1. Algoritmaların parametrelerinin girilmesi Şekil 4.2. Deney 1 sonuç ekranı Şekil 4.3. Deney 2 sonuç ekranı Şekil 4.4. Tabu arama algoritması uygunluk- sınav programı değişim grafiği Şekil 4.5. Benzetimli tavlama algoritması T=10 4 sonuç grafiği Şekil 4.6. Benzetimli tavlama algoritması T=10 3 sonuç grafiği Şekil 4.7. Benzetimli tavlama algoritması T=10 2 sonuç grafiği Şekil 4.8. Sınav programı raporu Şekil 4.9. Sezgisel algoritmaların çözüm uygunluk değeri-iterasyon grafiği viii

11 ÇİZELGELER DİZİNİ Çizelge 4.1. Genetik algoritma deney verisi Çizelge 4.2. Tabu arama algoritması sonuç tablosu Çizelge 4.3. Benzetimli tavlama algoritması sonuç tablosu ix

12 SİMGELER VE KISALTMALAR GA KKO SA TA VLSI Genetik Algoritma Karınca Kolonisi Optimizasyonu Simulated Annealing Algoritması Tabu Arama Algoritması Very Large Scale Integration x

13 1.GİRİŞ Çizelgeleme problemleri verimin maksimum olduğu nokta için, belirlenen kaynakların istenilen hedeflere, kısıtları da dikkate alarak dağıtılmasıdır. Bazı problemlerde, çözüme en yakın çözüm kümesine ulaşmak da yeterli çözüm olarak kabul edilebilmektedir. Bu projede, analitik ve sezgisel yöntemler kullanılarak, bir üniversitenin sınav programı çizelgeleme sorunlarının çözümü amaçlanmaktadır. Sınav programı çizelgeleme sorunlarında kurallar, düzenlemeler ve kalite faktörleri rol oynar. Sınav programı çizelgeleme sorunlarının çözümü için Genetik Algoritma, Karınca Kolonisi Algoritması, Tabu Arama gibi teknikler kullanılarak çeşitli matematiksel modeller ve sonuçlar elde edilmiştir. Sınav çizelgeleme belirli dersliklere belirli zaman içerisinde en optimum düzeyde sınav programı yapmak için kullanılmaktadır. Sınavlar planlanırken süre ve yer kısıtlamaları vardır. Bu kısıtlamalar sert ve yumuşak olabilir. Sert kısıtlamalar hiç bir şekilde ihlal edilemez. Sınav programı çizelgelemesinde hedef sınav saatlerini mevcut kaynaklarla (sınıf, laboratuar, amfi, vb) şubelere dağıtmak ve iki sınav arasını en uzun süre yapmaktır. Böyle bir problem için kısıtlar şube çakışması, derslik çakışması, öğrencinin iki sınav arasında en fazla süre ile sınavın yerleştirilememesidir. Kısıtların çok olması problemin çözümünü de zorlaştırmaktadır. Bu kadar yoğun kısıt olan problemlerin çözümü için literatürde sezgisel algoritmaların sıklıkla kullanıldığı görülmektedir. Üst Sezgisel Algoritmalarla da bu algoritmaların en başarılı olanı seçilmektedir. Sınav programı çizelgeme için aşağıdaki sezgisel algoritmalar kullanılabilir: Genetik Algoritma Karınca Kolonisi Algoritması Tabu Arama Algoritması Benzetimli Tavlama Algoritması (Simulated Annealing) 1

14 1.1. Zaman Çizelgeleme Çizelgeleme problemleri, verimliliği esas alarak, kaynakların kullanıcılara belli kısıtlarla tahsis edilmesini hedefler. Bir zaman çizelgeleme problemi olan sınav programı çizelgeleme de hedef, her sınıf için atanacak sınav saatlerinin istenen kısıtlar sağlanarak belirlenmesidir. Örneğin, herhangi bir üniversitede bir bölümümün sınav programının belirlenmesi demek bütün sınav saatlerinin belirlenmesi demektir. Doğal kısıtlardan biri ise aynı sınıfın sınavlarının kesişmemesidir. Benzer şekilde, bir öğretim elemanın yaptığı sınavlar aynı saate atanamaz. Zaman çizelgeleme problemi, zor bir problemdir. Bu tür problemlerinin çözümü için değişik yaklaşımlar kullanılmıştır. Schmidt, bildirisinde bu konudaki ilk çalışmalardan bahseder. Zaman çizelgeleme problemleri için geliştirilen modeller genelde birbirinden oldukça farklıdır. Bu sebeple literatürde bulunan sonuçları karşılaştırmak zordur. Son yıllarda, birçok araştırmacı çözüm yaklaşımlarını Tavlama Benzetimi (Simulated Annealing), Tabu Arama (Tabu Search) ve Genetik Algoritmalar (Genetic Algorithms) gibi yapay zekâ yöntemlerine dayandırmaktadır. Bu algoritmalar zaman çizelgeleme problemlerinin çözümünde başarılı olmalarına rağmen, çok fazla bilgisayar işlemi gerektirmekte ve probleme özgü bir çözüm olmaktadır. Ayrıca, gerçek bir uygulamada, göz önüne alınması gereken kısıt sayısı bir hayli fazladır; bu sebeple, kısıtların girilebilmesi için, kullanıcı dostu bir ara yüze de ihtiyaç duyulur Çizelgelemenin temel amaçları Çizelgelemedeki temel amaçlar kalitenin, kısıtların uygulanması ve düzenlemelerin en optimum seviyede sağlanmasıdır. Sınav programı çizelgeleme işleminde istenilen ölçütlere göre sınav programı çizelgelemesi yapılmaktadır. Sınav programı çizelgelemedeki amaçlar: Kaynakların en etkin biçimde kullanılması Sürenin en etkin biçimde kullanılması 2

15 Çizelgelemenin çözümünde kullanıldığı problemler Çizelgeleme birçok problemin çözümünde kullanılmaktadır. Bunlardan bazıları: Operasyonel sabit iş çizelgeleme problemi Hazır ve karışık operasyonlar için üretim ve araç çizelgeleme Yeryüzü gözlem sistemleri için çizelgeleme Uçak bakım sürecinde sabit iş çizelgeleme problemi Lisans sınıf tasarımı: karmaşıklığı ve algoritması Çizelgelemenin başarılı olması için gerekeli hususlar Kapasite: Kapasitenin ne olduğu bilinmelidir. Uygulanması mümkün olmayan ya da oldukça pahalıya mal olabilecek çizelgelerin herhangi bir faydası yoktur. Ayrıca kapasite sabit bir kavram değildir ve kullanılan kaynak çeşitlerinin miktarına göre değişir. Örneğin; sınıf öğrenci kapasitesi 40, sınava girecek öğrenci sayısı 30 olabilir. Yeterlilik: Bu kavramın hangi kaynağın hangi sınava atanacağına karar verirken kullanılması gerekir. Gereksinimler: Hangi kalite ve standartların istendiği, sınav programının ne zaman yapılması gerektiği veya operasyonların sırası gibi gereksinimler bilinmelidir. Ölçüm Standartları: Zaman, maliyet, kalite ve kapasite ile ilgili bilinen her şey için ve bunların tahsisi ile ilgili standartlar oluşturulmalıdır 3

16 2. KAYNAK ÖZETLERİ Even (et al., 1976: 692), Zaman çizelgeleme problemini çözülmesi zor bir problem olarak tanımlamıştır. Sınav çizelgeleme problemi, bir zaman çizelgeleme problemidir ve problemin çözümü için hedef, her şube için derslerin istenen kısıtların göz önünde bulundurulması ile en uygun sınav çizelgesinin elde edilmesi işlemidir. Çizelgeleme problemlerinde kısıtlar, zorunlu olanlar yani keskin kısıtlar ve tercihe bağlı olanlar yani esnek kısıtlar olarak iki guruba ayrılır. Bir sınıfın aynı anda farklı iki dersinin sınavının olamayacağı veya aynı derslikte farklı iki dersin sınavının olamayacağı keskin kısıtlara birer örnek iken, sınavların ilk saatlerde olması, esnek kısıt için örnek verilebilir. Abramson, tavlama yöntemiyle çizelgeleme problemlerini çözmeye çalışmış ve altı farklı soğutma tekniğini karşılaştırmıştır. Kısıt bazlı mantık programlama, bu tür problemleri çözmek için kullanılan diğer bir yaklaşımdır. Hertz ve Schaerf, çizelgelemeyi, tabu arama yöntemiyle çözmeye çalışmışlardır. Colorni, yaptığı deneylerin sonucunda, Genetik Algoritmaların (GA) ve tabu arama yönteminin daha iyi çizelgeler ürettiğini rapor etmiştir. Erben, birbiriyle etkileşen kütüphanelere dayalı problemin ikili düzen ile temsil edildiği bir GA kullanmıştır ki muhtemelen testlerin yavaşlığının sebebi bunlardır. Cladeira, problemi çözmek için, nesil ötesi Genetik Algoritma kullanmıştır. Burke, çalışmalarında üniversiteler için ders programı hazırlama ve sınav hazırlama problemleri için sezgisel çaprazlama ve mutasyon yöntemlerini kullanmışlardır. Çaprazlama operatörü olarak tek ve iki noktadan sezgisel çaprazlama, mutasyon operatörü olarak da tek noktan sezgisel mutasyonu kullanmışlardır. 4

17 Abdullah, çalışmalarında üniversite çizelgeleme problemini üst sezgisel yaklaşımları, popülasyon tabanlı yaklaşım metodu, kısıt tabanlı yaklaşım metodu, grafik tabanlı yaklaşım metodu vb. algoritmalarla incelemiştir. Yazılım piyasasındaki sınav programı yapan benzer yazılımlar; Piyasada sınav programı oluşturma işlevini gören birçok yazılım vardır. İşlevlerine göre maliyetleri artan yazılım örnekleri aşağıda açıklanmıştır. Lantiv timetabler 6 yazılımı: ( Lantiv Timetabler tahminen en oturmuş çizelgeleme aracı olup, bütün eğitim kurumları için kullanılabilir. Bu program bütün gerekli verileri (öğretmen, öğrenci, malzeme vb.) veritabanına kaydedip daha sonra hatalardan ayıklayarak kullanıcıya göstermektedir. Bütün istenilen bilgileri ara yüzünde gösteriyor olup kullanıcının bulmak istediği bilgilere kolayca ulaşmasını sağlamaktadır. Fakat yazılımın web desteği yoktur. İhtiyaç duyulduğunda iletişim bilgileri vardır. Bununla beraber web sayfası içerisinde bir forum bulunmaktadır. Bu sayede kullanıcıların birbiri ile haberleşmeleri ve sorunlarını kolayca paylaşmaları sağlanmaktadır. Bu yazılım Lantiv International tarafından geliştirilmiş olup kişi sayısı arttıkça maliyet değişmektedir. Mimosa scheduling yazılımı: ( Mimosa bütün eğitim kurumlarının değişik çeşit ve boyutta kapasiteleri için uluslar arası çizelgeleme programı oluşturma yazılımıdır. Bununla beraber bu yazılım konferans, iş yeri ve askeri kurumlar için çizelgeleme de yapabilmektedir. Bu sayede Mimosa iş ve endüstri çevresinde de tercih edilen bir programdır. Bu programın hızlı, kullanıcı dostu ve çok büyük kapasiteli olduğu iddia edilmektedir. Bununla beraber program çok zengin eniyileme araçları ve kullanıcı ile beraber yapılabilen birçok çizelgeleme bilgisine de sahip olduğu iddia edilmektedir. Kullanıcı dostu olan program yaygın kullanıcı hatalarını en alta indirmekte olduğu, kullanıcılara birçok ipucu vermekte olduğu ve kullanıcı sorularına makalelerle veya web sayfasından cevap vermekte olduğu belirtilmektedir. Kullanıcı birçok çizelgeleme programını otomatik ya da manüel olarak oluşturabilmekte isterse interaktif olarak da oluşturabilmekte olduğu belirtilmektedir. Bu yazılım Mimosa Software Ltd. tarafından geliştirilmiş olup kişi 5

18 sayısına göre yazılım maliyeti değişmektedir. Fakat maliyet hesabı öğrenci bazlı olduğu için öğrenci sayısı arttıkça yazılımın maliyeti de artmaktadır. Calculix exam planner yazılımı: adresinden online olarak sınav çizelgeleme yapılabilmektedir. 6

19 3. MATERYAL VE YÖNTEM 3.1. Materyal Bu çalışmada materyal olarak sezgisel algoritmalar kullanılmıştır. Bu bölümde genel olarak problem çözümünde kullanılan algoritmalar tanımlanmaktadır Genetik arama algoritması Genetik algoritma, rastlantısal ve deterministik arama tekniklerini kullanarak çözüm bulmaya çalışan, parametre kodlama esasına dayanan sezgisel bir arama tekniğidir (Goldberg, 1989). Genetik Algoritmalar mümkün olan çözümlerin bir popülasyonu üzerinde işlem yapan olasılıklı (stochastic) arama algoritmalarıdır (Shapiro, 2001). Geleneksel programlama teknikleriyle çözülmesi güç olan, özellikle sınıflandırma ve çok boyutlu optimizasyon problemleri, bunların yardımıyla daha kolay ve hızlı olarak çözüme ulaştırılmaktadır. Genetik algoritmanın çalışması doğal evrim sürecine benzetilir. Genetik algoritmalar doğada geçerli olan en iyinin yaşaması kuralına dayanarak sürekli iyileşen çözümler üretir. Bunun için iyi nin ne olduğunu belirleyen bir uygunluk (fitness) fonksiyonu ve yeni çözümler üretmek için yeniden kopyalama (recombination), değiştirme (mutation) gibi operatörleri kullanır Genetik algoritmaların tarihçesi Michigan Üniversitesinde psikoloji ve bilgisayar bilimi uzmanı olan John Holland bu konuda ilk çalışmaları yapan kişidir. John Holland (1975) doğal evrimden ve canlılardaki bu süreçten yararlanarak, makine öğrenmesi üzerine çalışmalarını yoğunlaştırmıştır. Holland ın asıl amacı, belirli problemleri çözmek için algoritma tasarlamak değil; uyum olgusu üzerinde çalışmak ve doğal uyumun bilgisayar sistemlerinde kullanılabilmesini sağlamak olmuştur. Mekanik öğrenme (machine learning) konusunda çalışan Holland, Darwin in evrim kuramında etkilenerek canlılarda yaşanan genetik süreci bilgisayar ortamında gerçekleştirmeyi düşünmüştür. Tek bir mekanik yapının öğrenme yeteneğini geliştirmek yerine böyle yapılarda oluşan bir topluluğun çoğalma, çiftleşme, mutasyon, vb. genetik süreçlerden geçerek başarılı (öğrenebilen) yeni bireyler oluşturabildiğini görmüştür. 7

20 Çalışmalarının sonucunu açıkladığı kitabının 1975 te yayınlanmasından sonra geliştirdiği yöntemin adı Genetik Algoritmalar olarak yerleşmiştir. Ancak 1985 yılında Holland ın öğrencisi olarak doktorasını veren David E. Goldberg adlı inşaat mühendisi 1989 da konusunda bir klasik sayılan Genetic Algorithm in Search, Optimization and Machine Learning kitabını yayınlayana kadar genetik algoritmaların pek pratik yararı olmayan bir araştırma konusu olduğu düşünülmüştür. Hâlbuki Goldberg in gaz boru hatlarının denetimi üzerine yaptığı doktora tezi ona sadece 1985 te National Science Foundation Genç Araştırmacı ödülünü kazandırmakla kalmadı, genetik algoritmaların pratik kullanımının da olabilirliğini kanıtlamıştır. Ayrıca kitabında genetik algoritmalara dayalı tam 83 uygulamaya yer vererek GA nın dünyanın her yerinde çeşitli konularda kullanılmakta olduğunu göstermiştir (Goldberg, 1989). Son yıllarda genetik algoritma, optimizasyon problemlerinin çözümü için büyük önem kazanmıştır. Genetik algoritmanın son yıllardaki çalışmaları arasında haberleşme şebekeleri tasarımı, elektronik devre dizaynı, gaz boruları şebeke optimizasyonu, görüntü ve ses tanıma, veri tabanı sorgulama optimizasyonu, uçak tasarımı bulunmaktadır Genetik algoritmanın tanımı ve çalışma prensibi Genetik Algoritmalar (GA) ya da daha geniş kapsamıyla Evrimsel Algoritmalar (EA), doğadaki evrimsel süreçleri model olarak kullanan bilgisayara dayalı problem çözme teknikleridir. Geleneksel programlama teknikleriyle çözülmesi güç olan, özellikle sınıflandırma ve çok boyutlu optimizasyon problemleri, bunların yardımıyla daha kolay ve hızlı olarak çözülebilmektedir. Algoritma ilk olarak popülasyon diye tabir edilen bir çözüm (kromozomlarla ifade edilir) seti ile başlatılır. Bir popülasyondan alınan sonuçlar bir öncekinden daha iyi olacağı beklenen yeni bir popülasyon oluşturmak için kullanılır. Yeni popülasyon oluşturulmasında iyinin seçilmesine olanak veren bir uygunluk (fitness) fonksiyonu kullanılır. Daha sonra bu oluşan popülasyondaki kromozomlar doğada olduğu gibi çaprazlama (cros-over) ve değişim (mutation) işlemine tabi tutulurlar. Bunun sonucunda oluşan popülasyonun en güçlü kromozomu (fitness fonksiyonunu 8

21 maksimum yapan kromozom) bir tabloya yazılır. Bu bir önceki popülasyondan yeni popülasyon üretme ve popülasyonun en güçlü kromozomunu bularak tabloya ekleme işlemi defalarca yapılır. Bu işlemin yapılma sayısı ne kadar fazla olursa algoritmamız o kadar iyi bir sonucu elde etmiş olur. Tüm bu işlemler bitirilip her popülasyondaki güçlü kromozomların bulunduğu tablo oluşturulduktan sonra bu tablodaki kromozomlardan uygunluk değeri en büyük olan, yani fitness fonksiyonunu maksimum yapan kromozom sonuç olarak alınır Gen Tek başına anlamı olan en küçük veri birimidir. Sınav programı çizelgelemesi için gen dönem ders kodu, öğrenci sayısı, derslik kodu, sınav tarihi, başlama saati, bitiş saati, sınıfı, şubesi, dönemi ve öğretim elemanı bilgilerinden oluşmuş bir veridir. Dönem Dersi Kodu Öğrenci Sayısı Derslik Kodu Sınav Tarihi Başlama Saati Bitiş Saati Sınıfı Şube Dönemi Öğretim Elemanı Şekil 3.1. Sınav programı çizelgeleme için kullanılabilecek gen yapısı Kromozom Bir veya birden fazla gen yapısının bir araya gelerek problemin çözümüne ait bilgilerin bir kısmını oluşturan dizilere kromozom denir (Biroğul, 2005). Kromozomlar alternatif çözümlerdir. Popülasyondaki bireylere karşılık gelirler. GA da kromozom sayısının fazla olması çeşitlilik açısından avantaj sağlar fakat aynı zamanda fazla kromozom demek çözüm zamanının uzaması anlamına gelir. Kromozom sayısının tespiti problemlere göre değişse de literatürde kromozom sayısında arası değerlerin kullanıldığı gözlenmiştir. 9

22 Gen 1 Gen 2 Gen 3 Gen 4 Gen n Şekil 3.2. n adet gene sahip bir kromozom yapısı Sınav programı çizelgelemesi için kromozomdaki gen sayısı bölümdeki dönem derslerinin sınavlarının sayısı kadar olacaktır Genetik algoritmaların akış diyagramı 1.Adım Başlangıç popülasyonunu oluştur 2.Adım Bir önceki popülasyondan yeni bir popülasyon oluştur 3.Adım Oluşan yeni popülasyondaki en iyi kromozomu belirle nesil:=nesil+1 Hayır if nesil=döngü 4.Adım Sonuç Evet Şekil 3.3. Genetik algoritmalar için genel akış diyagramı Akış diyagramının açıklaması 1. Adım: Bu adımda başlangıç için rastgele seçilen bir popülasyon oluşturulur. 10

23 2. Adım: Bir önceki popülasyondan yeni bir popülasyon oluşturulur. İlk olarak mevcut popülasyondaki kromozomların seçilme olasılıkları hesaplanır ve bir tabloya aktarılır. Olasılık = kromozomun değeri / popülasyondaki kromozom değerleri toplamı Daha sonra bu kromozomlar seçilir. Bu seçimi yapabilmek için rulet tekerleği seçimi (roulette wheel selection), turnuva seçimi (Tournament Selection) gibi seçme yöntemleri vardır. Bu problemin çözümünde rulet tekerleği seçim yöntemi kullanılmıştır. Rulet tekerleği yönteminde seçilme olasılıklarını tuttuğumuz tablodaki sayılar birbirine eklenerek kümülatif toplamları alınır. Bu toplamlar aralığı her kromozomun seçilebilme aralığıdır. Daha sonra popülasyondaki kromozom sayısı kadar 0 ile 1 aralığında rastgele sayı üretilir. Bu üretilen rastgele sayılar hangi aralığa denk geliyorsa o birey seçilmiş olur. Bu kromozomlar gen bazında belirlenen çaprazlama oranı ve şekline göre çaprazlanır. Genler belirlenen mutasyon oranı ve şekline göre mutasyona uğratılır. Tüm bu işlemler sonucu yeni bir popülasyon oluşturulmuş olur. 3. Adım: Oluşturmuş olduğumuz yeni popülasyondaki kromozomlar için fitness (uygunluk) fonksiyonu hesaplanarak bu popülasyondaki en iyi uygunluk değeri olan birey seçilir. Bu seçilen birey nesillerin en iyi bireylerinin yer aldığı tabloya eklenir. 4. Adım: Bu adım algoritmanın en son adımıdır. Nesillerin en iyi uygunluk değerine sahip kromozomlarının bulunduğu tablodaki en iyi uygunluk değeri olan birey seçilir. Yeni bireyler uyumluluğa göre veya rastgele olarak seçilebilir. Yeni bireylerin tamamen rastgele seçilme durumunda yakınsama zorlaşabilir. Tüm bireyler uyumluluğa göre seçildiğinde ise yeni kuşak içinde bölgesel yakınsamalar olabilir. Bu sorunların üstesinden gelmek için belli bir oranda uyumluluk seçimi belli bir oranda da rastgele seçim yapılabilir. Bu oran Kuşak farkı (Generation gap) ile ifade edilir. Kuşak farkı %100 olduğunda yeni bireylerin tamamı uyumluluğa göre seçilir. 11

24 Çaprazlama yöntemi Zaman çizelgeleme problemlerine uygun altı farklı çaprazlama yöntemi test edilmiştir. Bunlar; Pozisyona dayalı, Sıraya dayalı, Kısmi planlı, Dairesel, Doğrusal ve Sıralı Çaprazlama yöntemleridir. Pozisyona dayalı çaprazlama yöntemi: Bu yöntemde rastlantısal olarak seçilmiş pozisyondaki işler, bir ebeveynden çocuğa kalıtsallaştırılır. Diğer işler diğer ebeveynde bulundukları sıra ile yerleştirilir. Öncelikle pozisyondaki sayılar, [1, n] rastlantısal tamsayılar şeklinde düzenlenir, daha sonra bu pozisyonlar rastlantısal olarak seçilir. Her pozisyonun çaprazlama olasılığı %50 dir (Murata vd, 1996). Şekil 3.4 de sekiz iş içeren iki kromozomdan yapılan pozisyona dayalı çaprazlama örneği görülmektedir. A B C D E F G H A B C D E G F H E H A D B C G F Şekil 3.4. Pozisyona dayalı çaprazlama Sıraya dayalı çaprazlama yöntemi: Bu yöntemde bir grup nokta rastgele seçilir. Birinci kromozomun seçilen noktalara karşılık gelen karakterleri aynen yerlerini korur. İkinci kromozomun seçilen noktalara ait karakterleri birinci kromozomun aynı noktalarındaki karakterlerin arkasına getirilir. Geriye kalan boş pozisyonlara ikinci kromozomdan aktarılan yeni karakterler de göz önünde bulundurularak ilk kromozomun kullanılmayan karakterleri sıra ile (soldan sağa) yerleştirilerek yeni bir kromozom elde edilir (Cheng, 1999). Bu tür çaprazlama, kromozomu oluşturan karakterlerin sayı ve sıralarının önem taşıdığı durumlarda kullanılır. Bu çaprazlama işlemine ait birer çaprazlama örneği Şekil 3.5 de verilmiştir. 12

25 Çaprazlama İşleminden Önce Sonra A B C D E F G A G C D E F B G F E D C B A G A E D C B F Şekil 3.5. Sıraya dayalı çaprazlama Kısmi planlı çaprazlama: Goldberg tarafından geliştirilen bu çaprazlama ilk olarak gezgin satıcı probleminde (TSP) kullanılmıştır. Bu yöntemde iki ayrı iş sırasında rastlantısal olarak aralıklar belirlenir ve bu aralıkta yer alan işlerin yeri karşılıklı olarak değiştirilir (Goldberg, 1989). Bu yöntem aşağıda bir örnek üzerinde açıklanmaktadır: Çaprazlama için seçilen ebeveyn yapılar, A ve B olarak adlandırılmıştır ve sekiz iş içermektedir. Yapıdaki elementler aşağıdaki biçimde verilmiştir. A= B = Şekil 3.6. Kısmi planlı çaprazlama 1.örnek A ve B. ye kısmi planlı çaprazlama operatörü uygulanır ise, A ve B.den ilk olarak ortak bir aralık rastlantısal bir şekilde seçilir. Daha sonra, seçilmiş iki aralıktaki elementlerin değişim planları belirlenir. Bu örnekte, seçilmiş aralıklar arasındaki plan 6. ya 2., 4. ye 1. ve 5. ye 3. dür. İkinci olarak, A ve B. deki iki aralık karşılıklı değiştirilir. Bir dizide bir iş tekrarlı olarak yer aldığından her iki yapının da uygun olmadığı görülmektedir ve buradan elde edilen yapılar geçici sonuçlar olarak değerlendirilir. A= B = Şekil 3.7. Kısmi planlı çaprazlama 2.örnek 13

26 Bundan dolayı, yeni yapıları uygun olmayan A ve B. de, değişim planının uygulanması gerekir. Bu örnekte, A yapısının 1, 7 ve 8 pozisyonlarında yer alan; 2, 1 ve 3 değerleri sırasıyla 6, 4 ve 5 değerleriyle değiştirilir. B yapısında ise 6, 7, ve 8 pozisyonlarındaki 4, 6 ve 5 değerleri sırasıyla 1, 2 ve 3 tarafından değiştirilir. Yeni yapı aşağıdaki gibi oluşmaktadır. A= B = Şekil 3.8. Kısmi planlı çaprazlama 3.örnek Dairesel çaprazlama: Davis, Goldberg ve Lingle tarafından geliştirilmiş bir yöntemdir. Bu yöntemde ilk kromozomdan en baştaki gen seçilir ve bu gen yeni diziye yerleştirilir. Bu gene karşılık gelen ikinci kromozomdaki gen belirlenir bu değer de yeni kromozom üzerine yerleştirilerek dairesel bir şekilde bütün genler belirlenir (Goldberg, 1989). İşlem adımları aşağıdaki örnekte görülmektedir: İki ayrı ebeveyn (kromozom) C ve D olarak kodlanmış olsun, C= D = Şekil 3.9. Dairesel çaprazlama 1.örnek Çaprazlama haritasında C kromozomundan (ilk bireyden) en sondaki değer olan 9 seçilir. C bireyinden seçilen 9.un karşılığı, D bireyinde 1 olmaktadır; C. de 1 geni yerine yazılır, 1.in karşılığı D. de 4 olmaktadır, 4 geni yerine yazılır ve aşağıdaki ifade elde edilir: C 1 = Şekil Dairesel çaprazlama 2.örnek Kalan boşluklara diğer genler yazılarak yeni kromozomlar elde edilir: 14

27 C 1 = D 1 = Şekil Dairesel çaprazlama 3.örnek Doğrusal sıralı çaprazlama: Falkenauer ve Bouffouix tarafından geliştirilmiştir. Dairesel çaprazlamanın bir varyantıdır. İşlem adımları (Cheng, 1999) aşağıda verilmektedir: 1. Mevcut popülasyon içerisinden rastlantısal olarak iki ebeveyn seç, 2. Seçilen bu iki dizi (kromozom) üzerinde rastlantısal olarak iki alt dizi seç, 3. P1 dizisinden seçilen alt diziyi kromozomdan kopar ve boş kalan yerleri belirle, benzer şekilde P2 dizisinde de aynı işlemleri gerçekleştir, 4. Birinci alt diziyi P1. ye ve ikinci alt diziyi P2. ye yerleştir. Sıralı çaprazlama: Bu yöntem de, Davis, Goldberg ve Lingle tarafından geliştirilmiştir (Goldberg, 1989). Bu yöntemde, gen havuzundan rastlantısal olarak iki kromozom seçilir. Bu kromozomlar üzerinde yine rastlantısal olarak iki ayrı kesim noktası belirlenir. Bu kesim noktaları arasındaki kromozom sayısının her iki kromozomda da aynı olmasına dikkat edilir. Kesim noktaları arasındaki kromozomlar karşılıklı olarak yer değiştirilir. Kesim bölgesi dışında yer alan genler içerisinde tekrarlı genler oluşursa bunlar yerine sıra ile soldan sağa doğru kromozomda bulunmayan genler yazılır. Sıralı çaprazlama yönteminin işleyişi aşağıda A ve B şeklinde kodlanmış olan iki kromozom üzerinde gösterilmektedir: A= B= Şekil Sıralı çaprazlama 1.örnek Sıralı çaprazlama yöntemine göre, 5, 6, 7 genleri yerine; 2, 3, 10 genleri atanır ve A kromozomunda daha önce 2, 3 ve 10 bulunan yerlere H yazılır, buna göre aşağıdaki ifade elde edilir: 15

28 A= H H H B= 8 H H 4 H Şekil Sıralı çaprazlama 2.örnek H yerine dizide olmayan işler eklendiğinde yeni kromozomlar aşağıdaki şekilde elde edilir: 1 A = B 1 = Şekil Sıralı çaprazlama 3.örnek Çaprazlama olasılığı Çaprazlama olasılığı çaprazlamanın hangi sıklıkta yapılacağını belirtir. Eğer hiç çaprazlama yapılmaz ise (çaprazlama olasılığı %0) yeni bireyler eski bireylerin aynısı olur ama bu yeni kuşağın eskisiyle aynı olacağı anlamına gelmez. Eğer bu oran %100 olursa yeni bireyler tamamıyla çaprazlama ile elde edilir. Çaprazlama eski bireylerden iyi taraflar alınarak elde edilen yeni bireylerin daha iyi olması umuduyla yapılır Mutasyon olasılığı Mutasyon olasılığı ise mutasyonun hangi sıklıkta yapılacağını belirtir. Mutasyon olmaz ise yeni birey çaprazlama veya kopyalama sonrasında olduğu gibi kalır. Eğer mutasyon olur ise yeni bireyin bir kısmı değiştirilmiş olur. Mutasyon olasılığının yüksek olması, çözüm olasılığının çok genişlemesine sebep olur. Bu da problemin çözüm süresini geciktirir. Literatürde mutasyon olasılığı %1 ile %0.1 arasında değişmektedir. 16

29 Popülasyon büyüklüğü Popülasyon büyüklüğü, problemin çözüm süresini etkilemektedir. Problemin özelliğine göre seçilecek olan popülasyondaki birey sayısı genetik algoritmayı hazırlayan tarafından iyi belirlenmelidir. Bu parametre popülasyon içinde (yalnızca bir kuşakta) kaç adet kromozom yani birey olduğunu gösterir. Eğer kromozom sayısı az olursa GA çözüm aranan uzayın ancak bir kısmını gezebilir ve çaprazlama için fazla bir seçeneği yoktur. Kromozom sayısı çok fazla olursa GA çok yavaş çalışır. Araştırmalar belli bir noktadan sonra popülasyon sayısını artırmanın bir yararı olmadığını göstermiştir. Yeni bireyler uyumluluğa göre veya rastgele olarak seçilebilir. Yeni bireylerin tamamen rastgele seçilme durumunda yakınsama zorlaşır. Tüm bireyler uyumluluğa göre seçildiğinde ise yeni kuşak içinde bölgesel yakınsamalar olabilir. Bu sorunların üstesinden gelmek için belli bir oranda uyumluluk seçimi belli bir oranda da rastgele seçim yapılabilir. Bu oran Kuşak Farkı (Generation Gap) ile ifade edilir. Kuşak Farkı %100 olduğunda yeni bireylerin tamamı uyumluluğa göre seçilir GA nın performansını etkileyen nedenler Kromozom sayısı: Kromozom sayısını artırmak çalışma zamanını arttırırken azaltmak da kromozom çeşitliliğini yok eder. Mutasyon oranı: Kromozomlar birbirine benzemeye başladığında hala çözüm noktalarının uzağında bulunuyorsa mutasyon işlemi GA nın sıkıştığı yerden kurtulmak için tek yoludur. Ancak yüksek bir değer vermek GA yı kararlı bir noktaya ulaşmaktan alıkoyacaktır. Kaç noktalı çaprazlama yapılacağı: Normal olarak çaprazlama tek noktada gerçekleştirilmekle beraber yapılan araştırmalar bazı problemlerde çok noktalı çaprazlamanın çok yararlı olduğunu göstermiştir. Çaprazlamanın sonucu elde edilen bireylerin nasıl değerlendirileceği: Elde edilen iki bireyin birden kullanılıp kullanılamayacağı bazen önemli olmaktadır. 17

30 Nesillerin birbirinden ayrık olup olmadığı: Normal olarak her nesil tümüyle bir önceki nesle bağlı olarak yaratılır. Bazı durumlarda yeni nesli eski nesille birlikte yeni neslin o ana kadar elde edilen bireyleri ile yaratmak yararlı olabilir. Parametre kodlanmasının nasıl yapıldığı: Kodlananın nasıl yapıldığı en önemli noktalardan biridir. Örnek vermek gerekirse kimi zaman bir parametrenin doğrusal ya da logaritmik kodlanması GA nın performansında önemli bir farka yol açabilir. Kodlama gösteriminin nasıl yapıldığı: Bu da nasıl olduğu yeterince açık olmamakla beraber GA nın performansını etkileyen bir noktadır. İkilik düzen, kayan nokta aritmetiği ya da gray kodu ile gösterim en yaygın yöntemlerdir. Başarı değerlendirmesinin nasıl yapıldığı: akıllıca yazılmamış bir değerlendirme işlevi çalışma zamanını uzatabileceği gibi çözüme hiçbir zaman ulaşmamasına neden olabilir GA nın uygulama alanları Genetik algoritmaların en uygun olduğu problemler geleneksel yöntemler ile çözümü mümkün olamayan ya da çözüm süresi problemin büyüklüğü ile üstel orantılı olarak artanlardır. Bugüne kadar GA ile çözümüne çalışılan konulardan bazıları şunlardır. Optimizasyon: GA, sayısal optimizasyon ve kombinetoral optimizasyon problemleri olan devre tasarımı, doğrusal olmayan denklem sistemlerinin çözümünde ve fabrikaüretim planlamasında kullanılır. Otomatik programlama (automatic programming): GA, bilgisayar programları yardımıyla network sıralamasında (sorting),ders programı hazırlanmasında kullanılır. Makine öğrenmesi (machine learning): GA, robot sensorlerinde, neural networklerde, VLSI yonga tasarımı ve protein yapısal analizinde kullanır. Ekonomi (economics): GA, ekonomik modellerin geliştirilmesinde ve işlemesinde kullanılır. 18

31 Bağışık sistemler (Immune systems): GA, çok-gen li ailelerin evrimi esnasında ve doğal immün sistem modellerinde kullanılır. Popülasyon genetiği (population genetics): GA, evrim ile ilgili sorulara cevap bulmada kullanılır. Evrim ve öğrenme (evolution and learning): GA, fertlerin öğrenmesini ve türlerin evrilmesinde kullanılır. Sosyal sistemler (social systems): GA, sosyal sistemlerin analizinde kullanılır GA nın diğer algoritmalardan farkları Genetik algoritmayı diğer arama yöntemlerinden (tabu arama, benzetimli tavlama gibi.) ayıran en belirgin özellikleri çözüm arama şeklinin farklı oluşudur. Aşağıda bu farklılıklar açıklanmaktadır (Goldberg, 1989). 1. Genetik algoritma parametrelerin kodlarıyla uğraşır. Parametreler kodlanabildiği sürece fark etmez. 2. Genetik algoritma bir tek yerden değil, bir grup çözüm içinden arama yapar. 3. Genetik algoritma ne yapıldığı konusunda bilgi içermez, nasıl yaptığını bilir. Bu nedenle bir kör arama (blind search) metodudur. 4. Genetik algoritmalar olasılık kurallarına göre çalışır. Programın ne kadar iyi çalışacağı önceden kesin olarak belirlenemez. Ama olasılıkla hesaplanabilir Karınca kolonisi algoritması Karıncalar, yuvaları ile besin kaynakları arasındaki en kısa yolu bulabilmektedirler. Karıncaların bu davranış kalıplarının optimizasyon probleminde kullanılabileceği ilk kez 1992 yılında Marco Dorigo tarafından ortaya atılmıştır. Karınca Kolonileri Meta Sezgiselinden türetilmiş ve çeşitli problemlerin çözümünde kullanılan çok sayıda algoritma vardır. Bu algoritmalar ile birçok optimizasyon problemleri çözülmüştür (Alaykıran, ve Engin, 2005). 19

32 Optimizasyon problemlerinin çözümünde kullanılan sezgisel yöntemlerin belirlenmesinde yeni metot, doğal süreçleri gözlemlemek ve en uygun şekle sokma problemlerinde kullanılabilecek bir model elde etmektir. Örneğin Metropolis algoritması, genetik algoritmalar ve yapay sinir ağları bu şekilde bulunmuş yöntemlerdir. Hayvanlar dünyasında da basit yeteneklere sahip bireylerin oluşturduğu karmaşık ve üstün yeteneklere sahip pek çok sosyal sistem örneği vardır. Bunlara bir örnek karınca kolonileridir. Karınca kolonileri meta sezgiseli, doğal karıncaların yuvaları ile besin kaynakları arasında izledikleri yolların izlenmesi sonucu ortaya çıkan bilimsel gerçekler üzerine doğmuştur. Gerçek karıncalar ile ilgili deneyler Goss ve arkadaşları tarafından 1989 yılında laboratuar ortamında yetiştirilmiş karınca kolonileri üzerinde yapılmıştır. Bu çalışmalardan elde edilen sonuçlar su şekilde özetlenmiştir. Karıncalar neredeyse kördür. Karıncalar, feromon adı verilen bir tür kimyasal maddeyi yuvalarından yiyecek kaynağına veya tersi yönde hareket ederlerken geçtikleri yollara bırakmaktadırlar. Karıncalar bir yol seçmeleri gerektiği zaman bu seçimi feromon madde yoğunluğuna göre belirlemektedirler ve karıncaların bu hareketleri merkezi bir kontrol ile sağlanmamaktadır. Karıncaların yuvaları ile yiyecek kaynağı arasındaki hareketleri Şekil 3.15 de gösterilmiştir (Alaykıran ve Engin, 2005). 20

33 Şekil Karıncaların yuva ile yiyecek kaynağı arasındaki hareketleri Şekil Karıncaların yollarına bıraktıkları feromon miktarı Şekil 3.16 da görüldüğü gibi, karıncalar yuvalarının etrafındaki alanda yiyecek kaynaklarını rassal bir şekilde ararlar. Bir karınca bir yiyecek kaynağı bulduğu zaman kaynağın kalitesini veya miktarını değerlendirir ve bir miktar yiyecek alarak yuvasına geri döner. Bu geri dönüş sırasında, bulduğu yiyecek kaynağının kalitesi veya miktarıyla doğru orantılı olacak şekilde kullandığı yola feromon maddesi koyar. Böylece diğer karıncalar bu yolun sonundaki yiyecek kaynağının kalitesi veya miktarı konusunda bilgi sahibi olurlar. Yuvaya yakın kaynaklara ulaşmak daha kolay olacağı için bu bölgelerde feromon maddesinin yoğunluğu daha fazla olacaktır. Karıncaların bu önemli özellikleri Hewlett-Packard ve British Telecom daki araştırmacılar tarafından iletişim ağlarının dengelenmesi ve mesaj rotalaması 21

34 problemlerinde kullanılmıştır. Burada ağ üzerinde yapay karıncaların feromon bırakma ve bu bilgiyi kullanma özellikleri simule edilmiş ve elde edilen sonuçlara göre rotalama yapılmıştır (Alaykıran ve Engin, 2005). Karıncaların doğal hareketleri ile kombinatoriyel optimizasyon problemlerinin uyuşan karakteristik özellikleri; Gerçek karıncaların arama alanı ile kombinatoriyel problemlerin mümkün sonuçlar kümesi, bir kaynaktaki yiyecek miktarı ile amaç fonksiyonu, feromon madde ile hafıza dır. Karınca Kolonileri Meta sezgiselinden türetilmiş ve çeşitli problemlerin çözümünde kullanılan çok sayıda algoritma vardır. Bu algoritmalar formülasyon olarak birbirinden ayrılmakta fakat hepsi karınca kolonileri meta sezgiselinin ortak özelliklerini kullanmaktadır (Alaykıran ve Engin, 2005) Tabu arama algoritması Yerel arama teknikleri, mümkün çözümlerin sadece küçük bir kısmıyla, birçok problemi en iyi şekilde çözme veya en iyi çözümü verme yeteneğine sahiptir. Burada mümkün çözümlerden kasıt mevcut çözümün komşularının araştırılmasıdır. Bu esnada karşılaşılan problemlerden birisi yerel optimum çözüme takılmadır. Birçok arama tekniğinde, incelenecek komşu seçimi belli bir olasılıkla rastgele seçildiğinden dolayı yerel optimumdan kaçma imkânı bulunabilir. Fakat incelenmiş çözümlere tekrar geri dönme olasılığı olduğundan arama yerel optimum civarında takılabilir. Bu aşırı zaman kaybına sebep olur. Bu yüzden daha önceden incelenmiş belli sayıda çözüm bir listede tutulur. Bu listede yer alan çözümler tekrar hesaplamaya katılmadığından aramanın tekrarlanması mümkün değildir. İşte böyle listelerin oluşturulduğu ve tabu listesi adı verilen arama yaklaşımına tabu arama algoritması denir (Çivril, 2009). Tabu kelimesi, literatürde dokunulmaz, kutsal, sosyal açıdan korunması gereken yasaklar anlamında kullanılmıştır. Ayrıca yapılması risk taşıyan eylemlere de denir. Tabu sayılan eylemler zamanla değişen yapıdadır. Toplum zamanla bazı eylemleri tabu olmaktan çıkarmakta, bunları normal karşılamakta, bazılarını ise tabu tutmaya devam etmektedir. Glover tarafından geliştirilen Tabu Arama (TA) algoritması 22

35 önceleri ayrık optimizasyon problemlerine uygulanmıştır. Bu tür problemlerde gradyent kullanarak çözüm elde edilemeyeceğinden deneme-yanılma metodu izlenmesi gerekir. Fakat bütün olasılıkları denemek çok fazla zaman alır. Bu sebepten zeki bir yöntemle, en az sayıda hesaplama yaparak en iyi çözüme ulaşmak için tabu arama algoritması geliştirilmiştir. Arama uzayındaki denenen çözümlerin bilgilerini bellekte tutması özelliğinden dolayı arama sınırlandırılmış ve yerel optimumdan kurtulmuş olur. TA yerel optimuma düşmeden kaçınmak için bir bellek fonksiyonu kullanıp, küresel optimumu hızlı bir şekilde aramada bir veya daha çok yerel arama prosedürünü hiyerarşik olarak yönlendiren zeki bir tekniktir. TA genel olarak incelendiğinde yeni çözüm metotlarının geliştirilmesi için üst düzey bir serbestliğe izin vermesinden dolayı, birçok araştırmacı TA algoritması üzerinde yeni çözüm metotları ve stratejileri geliştirmek için çaba göstermişlerdir. Algoritmanın oluşturulmasında temel alınan iki unsur, daha önce denenmiş çözümleri yeniden isleme almaması ve yerel optimum noktadan uzaklaşıp küresel optimum çözüme ulaşabilmesidir (Çivril, 2009) Tabu arama algoritması genel yapısı Tabu aramanın temel elemanları; Başlangıç çözümü: Tabu aramada başlangıç çözümü rastsal olarak seçilebileceği gibi başlangıç çözümünün belirlenmesinde herhangi bir algoritmada kullanılabilir. Hareket mekanizması: Mevcut çözüm üzerinde yapılan değişiklikle elde edilebilecek yeni çözümleri belirleyen bir mekanizmadır. Hareket mekanizmasının problem yapısına bağlı olmasının yanı sıra uygun bir şekilde belirlenmesi tabu aramanın başarısı açısından oldukça önemlidir. Aday liste stratejileri: Tabu arama mümkün ve tabu listesinde olmayan en iyi hareketin, makul zaman ve çaba ile seçilmesi kuralını kullanır. En iyi hareket amaç fonksiyonu açısından düşünüldüğünde en iyi amaç fonksiyonu değerini veren harekettir. En iyi kavramı ilgilenilen probleme göre değişebilir. Örneğin hareketler mevcut çözüm üzerinde yapılan etkiye göre değerlendirilebilirler. Mevcut x çözümün 23

36 komşu kümesi geniş veya bu kümedeki elemanların değerlendirilmesinin hesaplama maliyeti yüksek ise, aday liste stratejilerinin kullanımı kaçınılmaz olmaktadır. Aday listeleri ilgilenilen problem yapısına göre veya problem yapısından bağımsız genel stratejilere göre oluşturur. Bir aday liste stratejisinin etkinliği zorluğunun azaltılmasının açısından düşünülmemelidir. Bunun yerine, belli bir bilgisayar zamanı içinde bulunan çözümün kalitesi, kullanılan aday liste stratejisi için etkinlik ölçütü olmalıdır. Hafıza: Tabu aramada uzun ya da kısa dönem hafızalar mevcuttur. Bu hafızalar daha önceki en iyi çözümlerin bilgisini tutmaktadır Değiştirilmiş greedy araması Arama işleminin her adımında, algoritma üretilen komşu çözümlerinden en iyi değerlendirme değeri olanını seçer ve o noktayı bir sonraki adımda kullanır. Standart greedy algoritmasıyla aradaki fark ise, bu algoritmada belli bir iterasyonda üretilen komşu çözümlerin değerlendirilmesinde en iyi değerlendirme değeri olanı, o anki çözümden daha kötü olsa bile yine de kötü sonuç veren ama en iyi komşu çözüm olan çözüm kümesinin seçilmesidir. Böylece yerel minimum bölge asılıp diğer bölgelere doğru arama yapılabilir (Çivril, 2009) Kısır döngülerden kurtulmak için geliştirilen strateji Uygun olamayan çözümün seçilmesi, bazı durumlarda yerel minimumdan kurtulmada yeterli olmayabilir. Bu durumda, daha önce arama yapılan noktaları yeniden denememek, yani kısır döngüye girmemek için geriye dönük denenen noktaların bir listesi tutulmuştur. Bu listenin boyu seçilirken, çok küçük seçilmemesi gerekir. Bu durumda kısır döngüden çıkamama ihtimali ortaya çıkmaktadır (Çivril, 2009) Benzetimli tavlama (simulated annealing) algoritması Bilgisayar bilimlerinde, özellikle hesaplama alanında kullanılan algoritmalardan birisidir. İsmini demir tavlamak veya demiri ısıtmak anlamına gelen annealing 24

37 (tavlama) kelimesinden almıştır. Algoritmanın amacı, herhangi bir problem için genel iyileştirme (global optimization) elde etmektir. Tavlama Benzetimi (TB) orijinini doğal tavlama işleminden almaktadır. Bu algoritmanın optimizasyon problemlerine uygulanması ile ilgili çalışmalar 1983 yılında Kirkpatrick ve arkadaşları tarafından yapılan bir çalışma ile başlamıştır. Algoritma metallerin tavlama işlemi ile bir optimizasyon problemine çözüm araştırma olayları arasındaki benzerlikten ilham alınarak ortaya konulmuştur. Burada metaldeki atomların durumları optimizasyon probleminin muhtemel çözümlerine ve durumların enerjileri de çözümlere ait amaç fonksiyon değerlerine karşılık gelmektedir. Hızlı soğutma işlemi ise bölgesel optimizasyon işlemine tekabül etmektedir. Dış sıcaklık sıfır olduğunda daha yüksek enerjili bir duruma geçiş mümkün olmaz. Böylece bölgesel optimizasyondaki gibi yukarı doğru hareketler yasaklanır ve araştırma bir bölgesel minimuma takılı kalır. Bu işlemde sıcaklık (T) çeşitli seviyeler boyunca yavaşça düşürülür. Enerji seviyesinden uzaklaşmamayı sağlamak için mevcut sıcaklığı belirli bir süre muhafaza etmek suretiyle ve sıfır dereceye yaklaşıncaya kadar bu işlemlerin tekrarlanması bölgesel optimallikten kaçışı sağlayabilmektedir (Karaboğa, 2004) Benzetimli tavlama (simulated annealing) algoritması kullanım alanları Genellikle hesaplamalı bilimlerde bir deneyin yada nümerik sonuçların anlık değerleri elde edilir. 25

38 Şekil Boyutlu Fonksiyon Şekil 3.17 de görülen herhangi bir indis değerlerine sahip fonksiyon olabilir. Şekil 3.17 deki 2 boyutlu grafiğin indisleri ya da formüllendirilmesi ile ilgilenmeden grafiğin en küçük olduğu değeri bulalım. Şayet Şekil 3.17 deki grafiği veren bir formül varsa, bu formülün üzerinde çeşitli matematiksel yöntemler uygulayarak (örneğin türev alarak) bir sonuç elde ederiz. Ancak Şekil 3.17 de grafiği veren bir formülümüz yoksa, yukarıdaki değerleri ancak belirli aralıklarla yapılan ölçümler sonucu elde ederiz. 26

39 Şekil Ayrık Noktalı 2 Boyutlu Fonksiyon Örneğin Şekil 3.18 deki noktalar ile gösterilen değerlerin ölçüldüğü ayrık bir (discrete) sistemimiz vardır. Bu duruma yapay zeka problemlerinde sezgisel sonuçların (heuristic) elde edildiği problemlerde veya gerçek hayattaki farklı zamanlarda yapılan ölçümlerde sıkça rastlanır. Benzer bir durum olarak ölçme maliyetinin yüksek olduğunu da kabul edilebilir. Örneğin her ölçümün yüksek maliyet getirdiği ve dolayısıyla kısıtlı sayıda ölçüm yaparak en düşük değeri bulacağımız x ekseni değerini ararız. İşte Şekil 3.18 deki 2 boyutlu grafikte kullanılabilecek benzetimli tavlama (simulated annealing) algoritması, matematiksel olarak bir fonksiyonla modellenemeyen, nümerik ve ayrık uygulamalarda kullanılabilir. Ayrıca problemin kaç boyutlu olduğunun da bir önemi yoktur. Örneğin 3, 4 veya daha fazla boyutlu problemlerde de kolaylıkla uygulanır. 27

40 Benzetimli tavlama (simulated annealing) algoritması çalışma prensibi Algoritmanın çalışması aslında isminin de geldiği demir tavlama işlemine benzer. Yani nasıl demir tavlama işlemi sırasında bir demir parçayı ısıtıp sonra soğumaya bırakıyorsak, herhangi bir sayısal ölçüme de benzeri yaklaşım uygulanabilir. Şayet demir tavlama problemini, demiri oluşturan ufak hücrelerin ısınması ve soğuması olarak düşünecek olursak, ki bu hücreler daha sonra problemimizin örneklendiği her bir deney veya nümerik sonuç olarak modellenecektir, hücreler arası geçiş ve hücrelerin zamana bağlı değerlerini elde etmek mümkündür. Amacımız genel bir minimum noktası bulmak olduğuna göre, problemin farklı zamanlardaki sonuçlarını ele alıp bu sonuçlardan iyi olanına doğru hareket etmemiz gerekir. Örneğin s durumu ve s durumları arasından, P(e,e,T) olasılık değerine göre seçim yapılır. Buradaki e= E(s) ve e =E(s ) olarak hesaplanan s ve s için enerji değerleridir. Yani grafikteki karşılık değerleri veya deneyimizin sonuç değerleri olarak düşünülebilir. T değeri ise ısı olarak geçer ki bunu da deneydeki ölçüm zamanları olarak kabul etmek mümkündür. Kısaca P(e,e,T) değeri bir olasılık sonucu çıkarır. Bu sonuç bize s durumundan s durumuna geçişin ne kadar kabul edilebilir olduğunu olasılıksal olarak verir. Şayet e değeri, e değerinden yüksekse, yani yeni durumumuzdaki enerji daha yüksek bir enerjiyse, sistem soğumuyor ısınıyor demektir. Bu ise sistemin daha kötüye gittiğinin bir işaretidir ve doğal olarak kabul edilir bir durum değildir. Ancak sistemin hep iyiye gitmesi hiç kötüye gitmemesi istenildiği durumda yerel minimumla (local minimum) karşılaşılır. Örneğin Şekil 3.18 deki temsili resmi verilen şekli incelersek: 28

41 Şekil Fonksiyondaki yerel minimum gösterimi Şekil 3.19 daki şekilde düşey ekseni enerji olarak kabul edersek, soldaki okun gösterdiği değer soğuma olarak düşünülebilir. Yani farklı durumlar için enerji değerleri azalmıştır. İkinci okta ise enerji değerleri artmış yani elde edilen durumlarda ısınma olmuştur. Şekil 3.19 daki örnek için, şayet ısınan durumları, yani okun yukarı yönlü olduğu durumları kabul etmez ve grafikte sağa doğru hareket etmezsek ilk minimum değerde takılırız. Bu durumda sistemimiz hiçbir zaman, daha iyi sonuçlar veren minimum değerlere ulaşamaz. Bu şekilde elde edilen sonuçlara yerel minimum (local minimum) ismi verilir ve algoritmanın Şekil 3.19 da açıklanan şekilde davranması durumuna açgözlü yaklaşımı (greedy approach) ismi verilir. Kısaca ilk bulduğu minimum değerine takılan ve dolayısıyla sistemdeki daha düşük minimum değerleri bulamayan algoritma haline gelir. Bu duruma çözüm olarak e -e değerindeki değişimler gözlenir. Bu değerler arasındaki değişimlerin artması, bu değerleri üreten s ve s durumlarının kabulünü zorlaştırır. Ancak iki durumda ölçülen enerji değerlerinin birbirine çok yaklaşması 29

42 durumunda sistem kabul edilir. Bu sayede sistemin yükseldiği durumlarda da sistem dolaşmaya devam eder ancak enerji değerlerinin birbirine iyice yaklaşması sonucunda minimum değerler bulunmuş olur Benzetimli tavlama (simulated annealing) algoritması adımları Simulated Annealing ile fonksiyon minimumu bulmada kullanılabilecek olası bir algoritma şu şekildedir; 1. T için başlangıç değeri seçilir. 2. N boyutlu uzayda xi başlangıç noktası (i = 0) seçilir, f (xi) hesaplanır. 3. Nokta xi+1 = xi + xi şeklinde rastgele bir hareket gerçekleştirilir, f (xi+1) hesaplanır. 4. f (xi+1) < f (xi) ise hareket kabul edilir, değilse (a) ω = exp [ (f (xi+1) f (xi)) /T] programın bu adımı için sabit olan T değeri ile hesaplanır. (b) 0 < r < 1 olacak biçimde bir r rastgele sayısı üretilir. (c) ω > r ise hareket kabul edilir, değilse reddedilir. 5. 3,4 işlemleri yeni hareket noktası i cin yinelenir. 6. Fonksiyonun en küçük değerini veren x bulunur (x ) 7. T azaltılır 8. Yeni T i cin 2-6 arası işlemler, hareketin başlangıç noktası 6 da bulunan x olacak şekilde uygulanır. 9. T, programın başında belirlenen değere indiğinde program durur. Yukarıdaki kod, görüldüğü üzere komşu durumlar üzerinde hareket ederek (ya da olasılık durumuna göre etmeyerek) en iyi sonucu bulmaya çalışır. Yukarıdaki kodun diğer bir özelliği ise sezgi üstü yaklaşımlar için kullanışlı olmasıdır. Dikkat edilirse, algoritmanın taradığı bütün durumlar s ve s durumları olarak geçmekte ve dilenirse kaydedilebilmektedir. Bu durum normal bir soğuma sürecinden farklı olarak (gerçek hayatta herhangi bir t anında sadece bir durum vardır) çok durumu tutabilme imkânı sunar. 30

43 Ayrıca yukarıdaki algoritmada yapılacak deneme sayısı kodun 7. Satırındaki döngü ile limitlenebilmektedir. Dolayısıyla bir kişi en iyi ama en maliyetli çözüm için bu MAX değerini arttırabilir. Elbette en iyi çözüm için daha çok deneme ve yüksek maliyet gerekir. Maliyetin düşürülmesi için deneme sayısının kısılması ise, en iyi genel sonucun bulunamaması ihtimalini yükseltir. Elbette şanslıysak ve genel minimum f(0) değeriyse hiç deneme yapılmaz. Benzetilmiş tavlama yönteminin (simulated annealing), bir özelliği de, aynı problem için birden fazla çözümü olmasıdır. Bunun sebebi yukarıdaki kodda da belirsiz olarak bırakılan, komsu(), P(), T() fonksiyonlarının (functions) problemin çözümündeki seçilme şeklidir. Yani aynı problemi iki farklı bilgisayar bilimcisi iki farklı komşuluk fonksiyonu, ısı değeri ve olasılık değerine göre çözebilir. Burada probleme özgü olarak modelleme yapmak ve problemin karakteristiğinin doğru analiz edilmesi önem taşır Üst sezgisel algoritmalarla sezgisel algoritmaların seçimi Üst Sezgisel algoritmalar, kombinatoryal problemler için geliştirilmiş genel optimizasyon teknikleridir. Bu yöntemlerin en önemli özelliği sadece belli bir tip problem için değil, tüm kombinatoryal problemlere uygulanabilir esneklikte olmasıdır. Bu sebeple literatürde bu tekniklerin birçok basarı hikâyesine rastlanmaktadır. Bir Üst Sezgisel algoritmanın iyi sonuçlar üretmesi için yapılması gereken ilk işlem, yöntemin temel kavramlarının probleme iyi bir şekilde adapte edilmesidir. Üst Sezgisel yöntemler çözüm uzayında etkili bir şekilde arama yapmak için, farklı yapılardaki alt kademe sezgisel algoritmaların zekice birleştirilmesi ile oluşturulmuş iteratif problem çözme prosedürleridir. Bu yöntemler her iterasyonda bir çözümden veya çözüm koleksiyonunda yola çıkarak yeni çözümler üretirler. Çoğu Üst Sezgisel yaklaşım çözüm uzayında stokastik fakat bilinçli bir şekilde arama yapar. Üst Sezgisel algoritmalarda amaç, arama uzayının en umut verici noktalarında arama yapıp yerel optimum noktalardan kurutularak, optimum çözüme yakın sonuçlar elde 31

44 etmektir. Bu yöntemler karmaşık komşuluk arama kuralları, bellek yapıları ve çözümlerin kombinasyonundan yeni çözümler elde ederek sonuç üretmeye çalışırlar. Bu metotlarla üretilen sonuçlar, klasik sezgisel algoritmalarla üretilen sonuçlardan daha iyidir fakat hesaplama işlemi klasik algoritmalara kıyasla daha uzun sürmektedir. Üst Sezgisel yöntemler problemin özelliklerine bağımlıdırlar, diğer bir deyişle problem tipine göre farklı parametreler gerekebilmektedir. Bu da diğer problemlere uygulanabilirliğini zor kılar. Üst Sezgisel algoritmalar, klasik sezgisel algoritmaların doğadan esinlenerek geliştirilmiş hali olarak görülebilir. Üst Sezgisel yöntemler hakkında genellemeler; Üst Sezgisel yöntemler arama prosesi sırasında kılavuzluk yapan stratejilerdir. Genel amaç, arama uzayını etkili bir şekilde araştırıp optimum veya optimuma yakın sonuçlar elde etmektir. Üst Sezgisel yöntemler lokal arama tekniklerinden, karmaşık öğrenme prosedürlerine kadar yaygınlık gösterir. Üst Sezgisel algoritmalar Yaklaşık yöntemlerdir ve genellikle deterministik değildir. Arama uzayında lokal optimum noktalardan takılıp kalmayı engelleyecek mekanizmaları içinde barındırırlar. Üst Sezgisel teknikler probleme özel yöntemler değildirler. Genellikle tüm kombinatoryal problemlere uygulanabilirler. Günümüzde gelişmiş Üst Sezgisel algoritmalarda arama sırasında kılavuzluk etmesi için hafıza tabanlı süreçler bulunmaktadır. 32

45 3.2. Yöntem Sınav çizelgeleme probleminin tanımlanması Sınav Çizelgeleme Problemi zaman ve dersliklerin kullanılabilirliğinin, belirli bir süre için fizibilite ve kalite kısıtlarının genel maksimizasyonunu amaçlayan bir dizi işlemdir. Sınav çizelgeleme problemindeki temel sorun, bir sabit veya değişken sınav süresi için çözüm üretmektir. Biz durumunda, sınav dönemini birkaç hafta ya da birkaç gün olacak şekilde planlamalıyız. Her sınava kayıtlı bir öğrenci sayısı önceden bilinmelidir ve buna göre derslikler, sınavın uzunluğu iki sınav arasındaki süre kısıtlamalarının kapasiteleri belirlenebilmelidir. Sınav çizelgeleme problemi çözüldükten sonra sadece çözümün sonuçları sert ve yumuşak kısıtlara göre karşılaştırılır. Her öğrenci grubu için değişik kısıtlamalara göre değerlendirme yapılabilir. Bu kısıtlamalar dikkate alınarak aynı şube aynı gün iki sınava arka arkaya girerken aradaki sürenin en uzun olması amaçlanır. Bu sayede öğrencinin başarısının artması sağlanmış olur. Kısıtların ağırlıklarını belirlemek için Kurumsal Model Endeksi (IMI) modeli kullanılır. Bu modelin kısıt ihlallerinin ağırlıklı toplamını hesaplar. Sınav çizelgeleme probleminin çözümleri farklı olabilir. Bunun için en iyi algoritmanın bulunması gereklidir Sınav çizelgeleme probleminde belirlenen kısıtlar Zaman çizelgeleme kısıtları, Süleyman Demirel Üniversitesi nin ihtiyaçlarına göre, diğer üniversitelerin ihtiyaçları da gözetilerek, düzenlenmiştir. Kısıtlar, eğitim kalitesinin iyileştirilmesi, öğrenci ve öğretim elemanlarının performansının yükseltilmesi, öğretim elemanı isteklerinin karşılanması ve idari ihtiyaçlara cevap verilebilmesi esas alınarak oluşturulmuştur. Tüm kısıtlar, 5 ana grupta toplanabilir; Fakülte-Bölüm Kısıtları, Öğretim elemanıgözetmen kısıtları, ders kısıtları, dönem dersi kısıtları, derslik kısıtları. Herhangi bir kısıt, program çalıştırılmadan önce önem derecesi belirlenebilir ya da belirlenmeyebilir. Açılan her kısıt sistem tarafından sağlanmaya çalışılır. Takip eden kısımda, sistemin desteklediği kısıtlar detaylı olarak anlatılmıştır. 33

46 Fakülte-bölüm kısıtları Sınavların yapılacağı tarih aralığı belirlenir. Sınavların yapılacağı saat aralıkları belirlenir. Günlük maximun sınav adeti girilir. Bu kısıtın ağırlık derecesi önemsiz, az önemli, önemli, çok önemli, aşırı önemli şeklinde sisteme girilir. Belirlenen sınav tarihleri arasında sınav atanmaması gereken günler varsa belirtilir. Bu günlerin önem derecesi aşırı önemli şeklindedir. Sınavın yapıldığı yıl, dönem ve ara sınav mı yıl sonu sınavı mı olduğu girilir Öğretim elemanı-gözetmen kısıtları Aşağıdaki kısıtlardan herhangi birisi ilgili öğretim elemanı için sisteme girilebilir: Bir öğretim elemanının verdiği derslerin sınav saatleri kesişmemelidir. Bu kısıt bütün öğretim elemanları için her zaman aşırı önemli konumdadır. Bu kısıt açıldığında, bir öğretim elemanının gün içerisindeki tüm sınavları ardışık olarak atanmaya çalışılır. Böylece yarı zamanlı öğretim elemanlarının gün içerisinde boş yere beklemeleri önlenmiş olur. Bir kurumda, eğitim birden fazla binada birden sağlanıyor olabilir. Eğer binalar birbirinden uzaksa, bir öğretim elemanının binalar arası sürekli gidip gelmesi sıkıntı doğurabilir. Bu problemin giderilmesi için eklenen kısıt, öğretim elemanları için, her binada verilen sınavların gün içerisinde ardışık atanmasını ve binalar arası gidiş geliş mesafesinin azaltılmasını amaçlar. Öğretim elemanlarının sınav saati olarak atanmasını istemedikleri çizelge haneleri belirlenerek, her birine özel kısıtlar sağlanmaya çalışılır. Günlük yapacağı maximum veya minimum sınav sayısı ve önem derecesi belirlenir. İki sınav arası istenen maximum veya minimum boş saat ve önem derecesi belirlenir. Sınav yapacağı gün sayısı (kısmi zamanlı öğretim elemanları veya uzak mesafeden gelenler için) ve önem derecesi belirlenir. 34

47 Ders kısıtları Bu kısıtlar genel olarak bir ders grubuna atfedilemeyen ve sağlanması istenebilecek derse özel kısıtlardır. Ayrı müfredat döneminde farklı öğretim elemanlarının verdiği iki dersin sınavlarının birbiriyle kesişip kesişmemesi durumları bu kısıt sayesinde gerçekleştirilebilir. Bir sınavın buluşma adedi ve süresi önceden belirlenerek her bir buluşmanın farklı günlere atanması amaçlanır. Örnek, toplam buluşma süresi 4 saat olan bir ders, 1+3 ya da 2+2 şeklinde 2 buluşma olarak belirlenebilir ve bu iki buluşma farklı günlere veya farklı dersliğe atanmaya çalışılır. Bu kısıt bütün dersler için önceden belirlenmişse aşırı önemli konumdadır. Özel durumu olan derslerin sınavlarının atanacak derslik tipi veya atanmayacak derslik tipi ve önem derecesi belirlenir. (Örn. Laboratuarda sınav yapılacak dersler) Özel durumu olan derslerin sınavlarının atanacak derslik veya atanmayacak derslikleri ve önem derecesi belirlenir. Ders gruplara ayrılmışsa grupların sınavları aynı anda yapılabilir bunun için ders grupları birleştirilsin kısıtı belirlenebilir. Ders farklı programlarda bulunmasına karşın üniversitesin ortak dersi ise dersin sınavı başka bir dersin sınavı birleştirilebilir. Bu dersler belirtilerek kısıt belirlenir Dönem dersi kısıtları Dönem dersi dersin farklı şubelere atanmasıyla oluşmuştur. Bu yüzde her şubenin sınav atanmaması gün ve saatler belirlenir. Dersin sınav için belirli şubeleri birleştirilebilir. (Örn. A-C, B-D) Her dönem dersi sınav tarihi ve saatleri arasındaki süreler uzatılmalıdır. Her bir öğrencinin alt sınıftan aldığı dersler düşünülerek bu derslerin sınavı diğer aldığı dersle çakışmamalıdır. 35

48 Derslik kısıtları Dersliğin sınav kapasitesi sınava girecek öğrenci sayısını aşmamalıdır. Dersliğin boş kalmasının istenildiği saatler belirlenerek derslik kapatılabilir. Bir derslik özel durumlar dışında birden fazla sınava atanmamalıdır. Bir derslik ortak derslik ise farklı derslerin veya öğrencilerin sınavları aynı anda yapılabilir Sistem mimarisi ve program oluşturulması Sistem tasarlanırken benzer yazılımlar araştırılmış olup sistem en iyi biçimde tasarlanmaya çalışılmıştır. Yazılım bütün eğitim kurumları için çalışmaktadır. Fakat oldukça pahalı bir yazılım ürünüdür. Burada tanıtılan yazılımların objektifleri farklıdır. Ticari amaçlı araçlar olup oldukça pahalıdırlar ve Türkçe dil desteği yoktur. Bu projede üniversite için daha kullanışlı hem Türkçe hem İngilizce dil desteği olan bir program hazırlanmıştır. Yazılımın oluşturulma kriterleri aşağıdaki şekilde özetlenebilir: Genetik, Tabu Arama, Benzetimli Tavlama veya Karınca Kolonisi Optimizasyonu Algoritmaları ile program oluşturabilmesi. İngilizce versiyonunun olması. Dokümantasyonun olması veya yazılımın sezgisel kullanılabilmesi. Yazılımın ya ücretsiz ya da eğitici demosunun olması. Yazılımın ve dokümantasyonun web de bulunabilmesi. Programın ASP.Net C# programlama dili ile yazılmasına karar verilmiştir. Uygulama yazılımı çok katmanlı mimari şeklinde çalışmaktadır. Yazılım sunucu(server) olarak katmanlı olarak yazılmıştır. Bu yazılımın arayüzü web tabanlı olarak çalışmaktadır. Veritabanı olarak Microsoft SQL Server 2008 R2 ilişkisel veritabanı kullanılmıştır. 36

49 Sistem tasarımı Kullanıcı giriş ekranı Sisteme giriş yetkili kullanıcılar tarafından yapılacaktır. Bölüm başkanı bütün sınav programını, öğretim elemanı kendi verdiği derslerin sınav programını görebilecektir. Bölüm başkanı sınav programını değiştirebilirken diğer kullanıcıların sadece görüntüleme yetkisi olacaktır. Şekil Sınav programı kullanıcı giriş ekranı 37

50 Fakülte-bölüm ekranı Bölüm bilgilerinin listelendiği ve kaydedildiği ekrandır. Bölüm başkanı tarafından bölüm kısıtlarının sisteme girişi yapılır. İleri butonu ile kullanıcı bölüm derslerinin görüntülendiği ve kısıtlarının girildiği ekrana geçer. Şekil Sınav programı bölüm bilgileri giriş ekranı 38

51 Dersler ekranı: Bölümdeki müfredatta okutulan derslerin ders kodu, ders adı, saat toplamı gibi bilgilerinin listelendiği ve kaydedildiği ekrandır. Ayrıca ekranda sınav programı için dersin kısıtları da girilebilmektedir. Şekil Sınav programı ders giriş ekranı 39

52 Dönem dersleri ekranı Bölümde her dönem okutulan derslerin şubesi, öğrenci sayısı gibi bilgilerin listelendiği ve kayıtlarının yapıldığı ekrandır. Her dönem dersi için öğretim elemanı ataması yapılabilir. Her dönem dersi için ders kapama kısıtı bu ekrandan gerçekleştirilir. Şekil Sınav programı dönem dersi giriş ekranı 40

53 Derslikler ekranı Dersliklerin bina, kapasite, derslik tipi, kullanımda olup olmadığı gibi bilgilerinin listelendiği ve kaydedildiği ekrandır. Detay butonuna tıklandıktan sonra derslik kapama kısıtı bu ekrandan girilebilmektedir. Şekil Sınav programı derslik bilgi giriş ekranı 41

54 Öğretim üyeleri ekranı Dönem derslerinde görevlendirilecek öğretim üyeleri ve gözetmenlerin bilgilerinin listelendiği ve kaydedildiği ekrandır. Detay butonuna tıklandıktan sonra öğretim üyelerinin ders atanmadığı gün ve saat kısıtlarının girişi yapılabilmektedir. Şekil Sınav programı öğretim üyesi giriş ekranı 42

55 Sınav çizelgesi oluşturma - görüntüleme ekranı Girilen bütün kısıtlara ve parametrelere göre GA, TA, SA, KKO Algoritmaları ile Sınav Çizelgeleme işleminin listelendiği ve kaydedildiği ekrandır. Şekil Sınav çizelgesi oluşturma ekranı 43

56 Veri tabanı tabloları BIRIMLER Tablosu: Fakülte/MYO/Enstitü gibi birimlerim tutulduğu tablodur. BOLUMLER Tablosu: Birimdeki bölümlerin bilgilerini tutar. BOLUMSINAVTARIHLERI Tablosu: Bölümün hangi tarihler arasında hangi sınavları yapacağı bilgisini tutar. DERSLER Tablosu: Ders bilgilerinin tutulduğu tablodur. Dersin bir hafta içerisindeki toplam ders saati bilgisini tutar. DERSDONEMLERI Tablosu: Eğitim kurumunun dönem bilgilerini tutar. DONEMDERSLERI Tablosu: Her dersin verildiği dönemdeki bilgilerini ve şube bilgilerini tutar. DERSSAATLERI Tablosu: Eğitim kurumlarının sınav programında bir gün içerisinde yapılacak sınavların başlangıç ve bitiş saatlerinin bilgilerinin tutulduğu tablodur. GUNLER Tablosu: Eğitim kurumlarının sınav programında haftanın hangi günlerinde sınav yapılacağı bilgilerinin tutulduğu tablodur. SINIF Tablosu: Sınıf bilgilerinin tutulduğu tablodur. Sınıfın aktif olup olmadığı bilgisini ve sınıfta bulunan toplam öğrenci mevcudu bilgisini tutar. SUBE Tablosu: Şube bilgilerini tutar. DERSLIKTIPI Tablosu: Dersliğin tipinin bulunduğu bilgileri tutar. BINAKOD Tablosu: Dersliğin bulunduğu binanın bilgilerini tutar. DERSLIK Tablosu: Derslik bilgilerinin tutulduğu tablodur. Derslik hakkında bilgi, sınav kapasitesi, dersliğin tipinin Amfi yada Laboratuar belirlenmesi bilgisini tutar. UNVANLAR Tablosu: Öğretim elemanları unvan bilgilerini tutar. OGRETIMELEMANLARI Tablosu: Öğretim elemanları bilgilerinin tutulduğu tablodur. SINAVDERSPROGRAMI Tablosu: Sınav Programı veya Ders programının tutulduğu tablodur. SINAVGOZETMEN Tablosu: Sınavda görevlendirilecek gözetmenlerin bilgilerini tutar. KISITTIPI Tablosu: Kısıt tipi bilgilerini tutar. KISITLAR Tablosu: Kısıt bilgilerini tutar. 44

57 Veri tabanı tablolarının birbirleri ile bağlantıları Veri tabanı tasarımı yapılırken ilişkisel tasarım kullanılmıştır. Yani tablolar birbirlerine ilişkili alanlar üzerinden bağlanmıştır. Bir tablonun birincil anahtarı diğer bir tablonun yabancı anahtarı olarak bulunmaktadır Sınav programı çizelgelemesi için genetik algoritmalar Genetik algoritmada kullanılan terimlerin, eğitim kurumları için sınav programı çizelgelemesinin çözümünde ifade edilen karşılıkları aşağıda kısaca açıklanmıştır. 1-Popülasyon: Sınav programı çözümlerinin oluşturduğu topluluğu ifade eder. 2-Birey: Sınav programı çizelgelemesi çözümlerinden her birini ifade eder. 3-Kromozom: Çizelgeleme çözümünü ifade eder. 4-Gen: Kromozomu oluştururlar. Bir gen sınav tarihi, başlama saati, bitiş saati, dönem dersi, öğretim elemanı, derslik ve derslik tipi gibi özelliklerin her birini ifade eder. 5-Uygunluk değeri: Olası sınav programı çözümünün, belirlenen zorunlu ve esnek kısıtlara ne derece yakınsadığını ifade eder. 6-Çaprazlama operatörü: Seçilen iki bireyin temsil ettiği çözümlerin bir bölümünün karşılıklı olarak yer değiştirerek yeni özellikte iki bireyin oluşmasıdır. 7-Mutasyon operatörü: Seçilen bireyin temsil ettiği çözümün bir kromozomunun değişikliğe uğratılmasıdır. 8-Tamir fonksiyonu: Bireyin zorunlu ve esnek kısıtlara uygunluğunu arttırmak için kromozom yapılarının değiştirilmesidir. 45

58 9-Üreme: Seçilen bireyin yeni nesile aktarılmasıdır Kromozomların kodlanması GA da bireylerin oluşturulmasında kodlamanın doğru yapılması ve işlem sonunda bu kodların doğru olarak çıkış ifadelerine dönüştürülmeleri gerekmektedir. Bu yüzden, aday çözüm için bireylerdeki her gen bir sınav saatine karşılık gelir ve bu saat için öğretim elemanı, öğrenci sayısı, ders ve derslik bilgileri tutulur. Üniversitedeki tüm bölümler için bir dönemde açılan tüm dersler kromozomda kodlanır. Kromozom boyutu denklem 3.1 de ifade edilmiştir. Toplam kromozom boyutu = Günlük ders saati x sınavı yapılacağı gün sayısı x bölümdeki dönem ders sayısı (3.1) Bu çalışma için kromozom boyutu, günde 12 saat ve belirlenen sınav tarihleri gününden oluşmaktadır. Her bir bölüm için kromozomda dönem ders sayısı kadar gen ayrılmıştır. Her bir gen, öğretim elemanı, sınav tarihi, sınav başlama saati, sınav bitiş saati, öğrenci sayısı, ders ve derslik değerlerini tutmaktadır. Şekil 3.27 de kromozomun kodlanması için bir temsili gösterim sunulmuştur. Sınav Programı Gen Yapısı Dönem Öğrenci Derslik Sınav Başlama Bitiş Sınıfı Şube Dönemi Öğretim Dersi Sayısı Kodu Tarihi Saati Saati Elemanı Kodu Sınav Programı Kromozom Yapısı Gen1 Gen2 Gen3 Genn Sınav Programı Populasyonu Şube1 Ş ube 2 Şube3 Şuben Sınav Programı İterasyonu İterasyon1 İterasyon2 İterasyon3 İterasyonn Şekil 3.27 Kromozomların kodlanması 46

59 Başlangıç popülasyonunun oluşturulması GA nın ilk aşamasında uzay büyüklüğünü ve bu uzay içindeki dizilerin (bireylerin) belirleneceği başlangıç popülasyonun oluşturulması gerekmektedir. Diziler rastgele oluşturulacağı gibi belirli şartlara bağımlı kalarak da oluşturulabilir. Bu çalışmada, kromozomdaki her gen için zaman hanesi olarak rastgele bir değer atanmaktadır Uygunluk fonksiyonu Uygunluk fonksiyonu herhangi bir kısıta uymayan bir atamanın öneminin ağırlık derecesi ile hesaplanır. Yapılan çalışmada sınav çizelgesinin performansını zorlayacak kısıtlara daha önceden belirlenen ağırlık değerleri atanır ve popülasyondaki her bir bireyin uygunluğu bu önem derecesi değerlerinin toplanması ile, n F =. i= 1 c j a j (3.2) gibi ifade edilir. Burada c, bir bireydeki kısıtları, j a j, açılan kısıt için ağırlık değerini göstermektedir. n, ise bir popülasyondaki birey sayısını vermektedir. Böylece, bir bireyin ağırlık toplamını minimize ederek bir bireyin uygunluk fonksiyonu, f 1 = 1 + F (3.3) ile bulunabilir. Burada, bir bireyde tüm kısıtlar yerine getirildiğinde uygunluk fonksiyonunun tanımsız olmasını önlemek için paydadaki ağırlık toplamına bir eklenmiştir. 47

60 BAŞLA Başlangıç sınav programı popülasyonunu rastgele üret EVET Belirlenen durum kriteri sağlandı mı? Sonucu yaz BİTİR HAYIR Jenerasyondaki kromozomların uygunluğunu hesapla Yeni bireylerin uygunluk değerlerini hesapla ve yeni popülasyonda yerine koy Eşleşen bireyleri çaprazla Yeni bireylerde değişim oranına göre değişime(mutasyona) uğrat Şekil Sınav programı genetik algoritması akış şeması Sınav programı çizelgelemesi için tabu arama algoritması Tabu Arama algoritması ile bu problemi 3 adımda çözmektedir. 1.adımda kısıtlar belirlenir, amaç fonksiyonu denklem (3.2) deki formül ile hesaplanarak ve tabu elemanları belirlenir ve parametreler belirlenir. 1. Adım: Sınav programı için tabu arama elemanları; Başlangıç Çözümü: Her bir sınav programının liste halinde tutulduğu ve programların rastgele oluşturulduğu listeden seçilen rastgele bir sınav programdır. 48

61 Bu program içinde bir bölümün müfredatındaki bütün derslerin sınavları uygunluklarıyla birlikte tutulmaktadır. Amaç Fonksiyonu: Listedeki her bir sınav programlarının uygunluk değerinin hesaplanmasıdır. Hesaplama denklem (3.2) deki formül ile yapılır. Çözüm Komşuluğu: Seçilen sınav programının listedeki komşu çözümleridir. Program sırasıyla mevcut çözümün uygunluğunu komşuları ile karşılaştırır. Eğer mevcut çözümün uygunluğu komşu çözümün uygunluğunda daha küçükse mevcut çözüm komşunun listedeki bulunduğu yerine taşınır. Elde edilen çözüm tabu listesine aktarılmaktadır. Durdurma kriteri sağlanana kadar tabu listesi sürekli güncellenir. Eğer bir çözüm daha önce tabu listesine alınmışsa tekrar alınmaz. Tabu listesine ilk giren ilk olarak listeden çıkartılır. Aspirasyon Kriteri: Aspirasyon kriteri genel aspirasyon kriteri olarak kullanılır. Yeni çözümün uygunluğu elde edilen en iyi çözümün uygunluğundan daha düşük olmasına rağmen aspirasyon kriteri aşılmamışsa yeri yine de değiştirilir. Bu da global en iyi çözümde programın sonlanmamasını sağlar. 2. Adım: Sınav programı için tabu arama parametreleri; İterasyon Sayısı: Programın yapacağı en fazla arama sayısıdır. Genel iyileşme sağlanmayan iterasyon sayısı: Bu sayı aşılana kadar arama en iyi genel çözümden başlayacaktır. Yerel iyileşme sağlanmayan iterasyon sayısı: Bu sayı aşılana kadar arama en iyi yerel çözümden başlayacaktır. Yoğunlaşma Sayısı: Bu sınır içinde arama en iyi yerel çözümden başlayacaktır. Tabu Listesinin Uzunluğu: Tabu listesinde ne kadar değişim olacağını gösterir. 3. Adım: Sınav programı için tabu arama akış algoritması ve diyagramı; Algoritmanın çözüm akış şeması aşağıdaki gibidir. Temsili gösterim Şekil 3.29 daki gibidir. 49

62 Tabu arama algoritması: Başla Çözüm=Başlangıç çözümü,en_iyi_çözüm=çözüm,tabu_listesi (Boş),Durdurma_Kriteri, Kontrol=FALSE, Repeat Eğer Çözüm>En_İyi_Çözüm ise En_iyi_Çözüm=Çözüm Eğer Durdurma_Kriteri ne ulaşılmış ise Çözümü Tabu_Listesine ekle Eğer Tabu_Listesi dolu ise ilk gireni listeden çıkar, çözümlerin içinden başka birini Yeni_Çözüm olarak seç Eğer Yeni_Çözüm bulunamadıysa veya (Eğer geliştirilen Yeni_Çözüm, Uzun_Dönem_Hafıza da bulunuyor ise Yeni_Çözümü rasgele üret) Eğer Yeni_Çözüm, Tabu_Listesi nde yok ise Çözüm=Yeni_Çözüm Değil ise Kontrol=TRUE Until Kontrol=TRUE Bitir Tabu arama algoritması adımları: 1. Başla 2. Rastgele bir başlangıç sınav programı üret, bu programa ait f(x 0 ) amaç fonksiyonunu hesapla, bu programı Xc mevcut program olarak ata, Xc= X Hareket mekanizmasını uygulamak için değişkeni seç. 4. Aspirasyon kriterini kontrol ederek sırasıyla tabu olmayan X komşu tasarımlarını hareket mekanizmasıyla elde et. Sınırlayıcıların ihlal edilme katsayısını, sınırlayıcısız amaç fonksiyonunu hesapla. Komşu tasarımların içinde sınırlayıcısız amaç fonksiyonu değeri en küçük olanı seç, f(en iyi yerel X0)=minf(En iyi yerel Xl). 5. f(en iyi yerel X0) değerini aspirasyon listesinde bulunan ve f(en iyi genel X) ile gösterilen mevcut optimum tasarımla kıyasla. Eğer f(en iyi yerel X0) f(en iyi genel X) ise minimum değerli komşu tasarımı, En iyi genel X mevcut optimum 50

63 tasarım ve Xc mevcut tasarım olarak ata. En iyi genel X = En iyi yerel X0 ve Xc= En iyi yerel X0. 7. adıma git. f(en iyi yerel X0) f(en iyi genel X) şartı sağlanmıyorsa 6. adıma git. 6. Eğer f(en iyi yerel X0) > f(en iyi genel X) ise minimum değerli komşu tasarımı sadece mevcut tasarım olarak ata, Xc= En iyi yerel X0. 7. Tabu ve aspirasyon listelerini güncelle. Eğer tabu listesi uzunluğu itl aşılmışsa listenin başındaki en eski hareketi listeden çıkar. Listeyi bir sıra yukarı kaydır, boşalan son sıraya yeni hareketi kaydet. 8. Tüm tasarım değişkenleri birer kez seçilmişse 9. adıma git, değilse 3. adıma git. 9. Eğer mi=100 ise mi=mi+1 ve önceki yüz iterasyonda elde edilen En iyi genel X mevcut optimum tasarımı başlangıç tasarımı olarak ata, 3 ncü adıma git. Değilse 10 ncu adıma git. 10. mi kl ise mi=mi+1 değerini ata ve 3. adıma git, değilse tabu arama işlemini bitir. Aspirasyon listesinde bulunan En iyi genel X tasarımı optimum tasarım, f(en iyi genel X) ise çerçevenin optimum ağırlığıdır. 51

64 BAŞLA Tabu listesini oluştur Başlangıç çözümünü rastgele üret f(x) amaç fonksiyonunu hesapla, bu programı X mevcut program olarak ata, Xi= X. X e komşu Xi programını seç Sonlandırma kriteri sağlandı mı? HAYIR HAYIR Xi tabu listesind e mi? EVET Uygunluk kriteri sağlandı mı? HAYIR EVET X=Xi X önceki programdan iyi mi? HAYIR Tabu listesini güncelle Yerel en iyi sağlanmama sayısı aşıldı mı? HAYIR X=Xi En iyi yerel X=Xi En iyi genel X=Xi Yerel en iyi program sağlandı mı? EVET EVET Yoğunlaşma tekrar sayısına ulaşıldı mı? En iyi yerel X=Xi Genel en iyi program sağlandı mı? En iyi genel X=Xi EVET En iyi genel X=Xi Tabu listesini güncelle Sonlandırma kriteri sağlandı mı? BİTİR Şekil Sınav programı tabu arama algoritması akış diyagramı 52

65 Sınav programı çizelgelemesi için benzetimli tavlama algoritması Benzetimli Tavlama algoritmasında kullanılan bir dizi parametre vardır. Aşağıdaki değerleri belirlenmiş olmalıdır: Başlangıç T sabit bir değerdir. T yi azaltma katsayısı Alfa Epsilon(r) Yeni mesafe alma olasılık sayısı İterasyon sayısı: Programın yapacağı en fazla arama sayısıdır. Başlangıç çözümü rastgele üretilir ve amaç fonksiyonu denklem 3.2 deki gibi hesaplanır. Üretilen çözümler bir listede tutulur. Listedeki ilk sınav programı seçildikten sonra rastgele bir mesafede bulunan başka bir program seçilir. Eğer seçilen programın uygunluk değeri ilk çözümün uygunluk değerinde daha büyük ise hareket kabul edilir değilse ω değeri hesaplanıp bu değer rastgele 0-1 arasında üretilen r değerinden büyük ise hareket kabul edilir değilse yeni bir hareket noktası seçilir. En küçük uygunluk değerini veren çözüm alınır belirlenen T değerine ulaşılıncaya kadar işlemler tekrar edilir. Benzetimli Tavlama(Simulated Annealing) ile sınav çizelgeleme probleminde kullanılabilecek olası bir algoritma şu şekildedir; 1. T için başlangıç değeri seçilir. 2. N boyutlu uzayda xi başlangıç noktası (i = 0) seçilir, f (xi) hesaplanır. 3. Nokta xi+1 = xi + xi şeklinde rastgele bir hareket gerçekleştirilir, f (xi+1) hesaplanır. 4. f (xi+1) < f (xi) ise hareket kabul edilir, değilse (a) ω = exp [ (f (xi+1) f (xi)) /T] programın bu adımı için sabit olan T değeri ile hesaplanır. (b) 0 < r < 1 olacak biçimde bir r rastgele sayısı üretilir. (c) ω > r ise hareket kabul edilir, değilse reddedilir. 5. 3,4 işlemleri yeni hareket noktası için yinelenir. 6. Fonksiyonun en küçük değerini veren x bulunur (x ) 7. T azaltılır 53

66 8. Yeni T için 2-6 arası işlemler, hareketin başlangıç noktası 6 da bulunan x olacak şekilde uygulanır. 9. T, programın başında belirlenen değere indiğinde program durur. BAŞLA T için rastgele başlangıç X sınav çözümü üret T değerini Güncelle Rassal adımı üret EVET HAYIR X ile X çözümünü yer değiştir Sonlandırma kriteri sağlandı mı? Şekil Sınav programı benzetimli tavlama (simulated annealing) akış diyagramı Sınav programı çizelgelemesi için karınca kolonisi optimizasyonu tabanlı algoritma KKO algoritması sınav programı çizelgelemesine uygulanırken, her derse algoritmanın çalışması esnasında sürekli güncellenen ve feromon miktarını ifade eden sayısal bir τ ij (t) değeri atanır (Burada t, iterasyon sayısını ifade etmektedir). Başlangıçta m ile temsil edilen her ders rastgele seçilen programa yerleştirilir ve yenilemeli olarak her programa aktarmalı bir geçiş kuralı uygular. Karınca program i de iken henüz ziyaret edilmemiş olan program j yi, bu iki program arasındaki yol 54

67 uzunluğunun bir fonksiyonu olan feromon izinin miktarı (τ ij ) ve sezgisel bilgiye bağlı olarak seçer. Makul bir sonuca ulaşabilmek için her ders tabu listesi adı verilen küçük çapta bir belleğe sahiptir. Dersler bu belleği her adımda henüz ziyaret edilmemiş olan programları saptamak ve akıllıca bir sonuca ulaşmak için kullanırlar. Bütün dersler bir tur gerçekleştirdikten sonra feromonlar güncellenir. Bu iş öncelikle feromon izlerinin güçlülük derecelerinin sabit bir faktöre bağlı olarak azalmasıyla başlar. Ardından dersler ziyaret ettikleri kenarlar üzerinde feromon depolar. Feromon yoğunluğu daha kısa turların gerçekleştiği ve dersler tarafından sık ziyaret edilen kısımlarda fazlalaşır. Bunun sonucunda bu yolların seçilme olasılığı artar. Bu anlayışla feromon yoğunluğu τ ij (t) ders i programında iken bir sonraki program olarak j yi seçebilme yeteneği sunar. Bu olasılık aşağıda yer alan 3.4 ve 3.5 nolu formüldeki gibi hesaplanmaktadır: (3.4) (3.5) KKO algoritmaları, feromon izlerinin ve bazı parametrelerin başlatılmasından sonra ana döngü içerisinde çözüm oluşturucularının belirli bir sayısı veya verilmiş bir işlemci zaman limiti olabilecek son bulma durumuna kadar tekrarlanır. Öncelikle dersler mümkün dolaşımlar oluşturur, daha sonra geliştirilen dolaşımlar lokal arama kullanılarak güçlendirilir. Her ders bir sonuç ürettikten sonra feromon izlerinin güncellenmesi aşağıdaki 3.6 nolu denkleme bağlı olarak yapılmaktadır (Nabiyev, 2003). (3.6) KKO Tabanlı algoritmada kullanılan bir dizi parametre vardır. Aşağıdaki değerler belirlenmiş olmalıdır: Tur Sayısı. Alfa(α): Feromon miktarı yoğunluğu önemi Beta(β): Dolaşılan programlar arası mesafenin önemi (0-1 arasında sabit bir değerdir). Algoritmada ilk olarak rastgele seçilen karınca kolonisini temsil 55

68 eden vektörler, sonraki iterasyonda en iyi çözüm değerini veren parametrelere ve β ile belirtilen katsayı ile bağlantılı olarak sınırlanır. β değeri algoritmanın performansında oldukça etkili olup, fonksiyon tipine ve çözüm uzayının büyüklüğüne göre farklı değerleri alabilmektedir. İlk olarak çözüm uzayının büyüklüğüyle orantılı olarak seçilen β değeri sonraki iterasyonlarda belli bir değerde azaltılmakta ve iterasyon süreci boyunca çözüm uzayının sınırlandırılması ve yakınsama yeteneğinin böylece artırılması sağlanmaktadır. Buharlaşma Katsayısı(ρ): 0-1 aralığında sabit bir sayıdır. ρ parametresi feromon birikimini sınırlayarak anlamsız çözümlerden kurtulmak için kullanılmaktadır. 1.Adım: İlkleme t = 0 {zaman sayacı} TS:=0 {TS tur sayacı} ij= 0 {ij başlangıç feromon yoğunluğu} m tane sınav programını n tane listeye rastgele yerleştir {m toplam programdaki derslerin sayısı} 2.Adım: Tur başlangıcı s:=1 {s tabu listesi(dolaşılan sınav programlarının listesi) indeksi} For k:=1 to m do k. karıncanın tabuk(s) listesine başlangıç sınav programını ekle 3.Adım: Her sınav programının turu Tabu listesi dolana kadar tekrarla {bu basamak n-1 defa tekrarlanacak} s:=s+1 For k:=1 to m do Pk ij(t) olasılığına göre j programına hareket etmek için seç {k. Sınav programı t zamanında i=tabuk(s-1) indeksinde} k. Sınav programını j programına hareket ettir 56

69 j programını tabuk(s) ya ekle 4.Adım: Tur sonunda program uygunluğunu ölçme ve en iyi program uygunluk değerini yenileme For k:=1 to m do k. Sınav programının indeksini tabuk(n) dan tabuk(1) e getir Lk (uygunluğu) her k. Sınav programı için hesapla En iyi sınav programını bul ve yenile Her program yolu için {--- Buharlaştırmayla birlikte feromon izi bırakma For k:1 to m do Her program için ij(t+n)=ij(t)+ij eşitliğine göre ij(t+n) i bul t:=t+n, TS=TS+1 Her program için ij:=0 5.Adım: Sonlandırma Eğer (TS< TSMAX) ise{tsmax maximum tur sayısı} Tüm programların Tabu listelerini boşalt 2. basamağa git değilse En iyi programı bastır 57

70 BAŞLA Başlangıç çözümünü rastgele üret f(x) amaç fonksiyonunu hesapla Turları Başlat Tüm programlar için ilk sıçramayı yap Tüm programlar için seçim yap İlk Tur mu? EVET HAYIR Random tercih yap Bir önceki en iyi sonuç etrafında odaklan Listeye Ekle En iyi sonuca doğru alan daralt Tüm karıncalar için amaç fonksiyonu hesapla Seçim yap Sonuçları karşılaştır En iyi amaç fonk. Sonucunu bul ve hafızada tut Sonlandırma kriteri sağlandı mı? En iyi sınav programı çözümü al BİTİR Şekil Sınav programı karınca kolonisi algoritması akış diyagramı 58

71 4. ARAŞTIRMA BULGULARI VE TARTIŞMA 4.1. Sınav Çizelgeleme Problemi İçin Geliştirilen Program Bu çalışmada sınav çizelgeleme işleminin GA, SA, TS ve KKO algoritmaları ile gerçekleştirilmesi amaçlanmıştır. İnternet üzerinden erişime açık olan bir sınav programı üzerinden bir bölümün sınav takvimi belirlenmektedir. Şekil 4.1 de sınav programı oluşturma ekranı gösterilmektedir. Gerekli kısıtlar sisteme girildikten sonra sunucuda bu bilgiler Genetik Algoritma, Benzetilmiş Tavlama Algoritması (Simulated Annealing Algorithm), Tabu Arama ve Karınca Kolonisi Optimizasyonu ile işlenmektedir. Her bir algoritma ile ayrı ayrı sınav takvimi oluşturulabilmekte ve sisteme kaydedilebilmektedir. Kısıtlar ve gerekli tanımlamalar sisteme girildikten sonra GA, SA, TA, ve KKO nun parametrelerine uygun değerler girilmelidir (Şekil 4.1). 59

72 Şekil 4.1. Algoritmaların parametrelerinin girilmesi Algoritmaların parametreleri Bölüm 3 de detaylı olarak açıklanmıştır. Parametrelere uygun değerler atanmasından sonra Sınav Çizelgeleme işleminin başlatılabilmesi için Uygula butonlarına basılmalıdır. Butona basıldıktan sonra sistem internet üzerinden çalıştığı için geç tepki verebilmektedir. Hesaplama işleminden sonra oluşturulan sınav çizelgesi aynı sayfada gösterilmektedir Genetik Algoritma İle Sınav Çizelgeleme Deneyleri Çaprazlama oranı, mutasyon oranı ve iterasyon sayılarının değiştirilmesi ile elde edilen sonuçlar ve bu sonuçlara ilişkin sayısal değerler çizelge ve şekillerle gösterilmiştir. 60

73 Deney verisinin özellikleri Çizelge 4.1 Genetik Algoritma Deney Verisi Veriler Değer Toplam öğretim elemanı 169 Toplam bölüm sayısı 24 Toplam şube sayısı 400 Toplam ders adedi 60 Toplam derslik adedi 57 Günlük ders saati 8 Toplam ders saati 8*60 Deneylerde GA için rulet tekerleği seçim operatörü kullanılmıştır. Üreme işleminde önceki nesilden belli sayıda birey aktarma (elitizm) yönteminin kullanılması yanı sıra eski ve yeni nesilleri birleştirip en iyi uygunluk değerine sahip 50 bireyi sonraki nesile aktarma yöntemi de denenmiştir. Mutasyon olasılığının %4 veya %20 olduğu kabul edilerek deneyler yapılmıştır. Ayrıca her 20 nesil boyunca popülasyondaki en iyi bireyin uygunluk değeri değişmezse mutasyon olasılığı %4 oranında arttırılmaktadır. Deneylerde nesil sayısı adet olarak belirtilmiştir. Genetik algoritmada olası çözüm bulunurken eğer tüm kısıtlar yerine getirilirse ve hiç bir çakımsa olmazsa en yüksek puan olan 100 verilmektedir. Algoritmanın çalışması esnasında 100 puana ulaşılırsa, başka çözümlerin bulunma işlemine devam edilmez. Arama işlemi genetik algoritma tarafından sonlandırılır. Arama uzayında, rağmen halen istenilen sonuçlar bulunamazsa algoritmanın çalışması nesil sayısının sonlandırma kriteri ile çarpılmasıyla elde edilen sayıya ulaşıldığında durdurulur. Durdurma işlemi sonrası çakışmaları bulunan ve bazı kısıtları yerine getiremeyen çözüm, tüm hata kodlarıyla veritabanına kayıt edilir. Böylelikle sonuçlarda esnek kısıtlara izin verilecek bir durum söz konusuysa, istenilen çözüm eğitim kurumu tarafından sınav programı çizelgelemesi olarak kullanılabilinir. 61

74 Deney 1 Bu deneyde birey sayısı 50, elitizm kriteri 0.2 birey ve mutasyon olasılığı %4 olarak seçilmiştir. Eğer 50x0.2 nesil boyunca en iyi bireyin uygunluk değeri değişmez ise mutasyon olasılığı %4 oranında arttırılmaktadır. Deneyde tek noktadan çaprazlama operatörü kullanılmıştır. Mutasyon operatörü için tek noktadan mutasyon ve kötü kromozom mutasyon operatörleri birlikte kullanılmıştır Deney 2 Bu deneyde birey sayısı 100, elitizm sayısı 0.2 birey ve mutasyon olasılığı %4 olarak seçilmiştir. Eğer 50x0.2 nesil boyunca en iyi bireyin uygunluk değeri değişmez ise mutasyon olasılığı %4 oranında arttırılmaktadır. Deneyde iki noktadan çaprazlama operatörü kullanılmıştır. Mutasyon operatörü için tek noktadan mutasyon ve kötü kromozom mutasyon operatörleri birlikte kullanılmıştır Deneylerin uygunluk değeri puan grafiği Deney sonuçları Şekil 4.2 ve 4.3 de verilmiştir. Deney sonuçları tablosunda Çözümlü Deney Adedi ders çizelgelemesindeki tüm kısıtları sağlayarak, en yüksek puan olan 5000 i alan deney sayısıdır. Çözümsüz Deney Adedi sınav çizelgelemesindeki tüm kısıtları sağlayamamış olan ve uygunluk değeri 5000 puana ulaşamayan deney sayısını vermektedir. Çözümlü Nesil Sayısı Ortalaması çözümlü olan deneylerin 5000 puana ulaştıklarındaki nesil sayılarının genel ortalamasını vermektedir. Çözümü En Kısa Zamanda Bulan Nesil Sayısı tüm kısıtları sağlayarak en kısa zamanda çözüme ulasan nesil sayısını göstermektedir. Çözümü En Uzun Zamanda Bulan Nesil Sayısı tüm kısıtları sağlayarak en uzun zamanda çözüme ulasan nesil sayısını göstermektedir. Başarı % yapılan deneylerin içerisinde çözüme ulasan deneylerin basarı oranını vermektedir. Çözüme Ulaşılan En Kısa Zaman çözümün bulunduğu en iyi zamanı göstermektedir. Deney Açıklaması deney ile ilgili ek açıklamaları göstermektedir. 62

75 Algoritma 0:92 dakikada çözülmüş en yüksek uygunluk 4600 olarak ölçülmüştür. Şekil 4.2. Deney 1 sonuç ekranı Algoritma 01:82 dakikada çözülmüş en yüksek uygunluk değeri ise 4570 olarak ölçülmüştür. Şekil 4.3. Deney 2 sonuç ekranı 63

76 4.3. Tabu Arama Algoritması İle Sınav Çizelgeleme İşlemi Çözümler tabu listesinin uzunluğuna ve parametrelere göre değişmektedir. Algoritma 00:91 dakikada çözülmüş en iyi uygunluk değeri ise 3680 olarak ölçülmüştür. Çizelge 4.2. de görüldüğü gibi iterasyon sayısı arttıkça sınav programı değişim sayısının arttığı gözlenmekte ve daha iyi çözüm uygunluğu elde edilmektedir. Çizelge 4.2. Tabu arama algoritması başlangıç ve sonuç çözümleri sonuç tablosu Birinci dereceden çakışma Uzaklık 1 Uzaklık 2 Sınav programı değişimiiterasyon Şekil 4.4.Tabu arama algoritması uygunluk- sınav programı değişim grafiği 64

77 4.4. Benzetimli Tavlama (Simulated Annealing) Algoritması İle Sınav Çizelgeleme İşlemi Algoritma 00:95 dakikada çözülmüş en iyi uygunluk değeri ise Çizelge 4.3 deki gibi 3760 olarak ölçülmüştür. Bu algoritmanın çözümünde T çok küçük seçilirse çözümün sonlandığı uygunluk ilk yerel minimum değeri olmaktadır. T çok büyük seçilirse hareketin sonlandığı yerdeki fonksiyonun belli bir minimum değeri olmamaktadır. Çizelge 4.3. Benzetimli tavlama algoritması sonuç tablosu T X uygunluk Değeri X Uygunluk Değeri Sınav programı değişimi Şekil 4.5. Benzetimli tavlama algoritması T=10 4 sonuç grafiği 65

78 Şekil 4.6. Benzetimli tavlama algoritması T=10 3 sonuç grafiği Şekil 4.7. Benzetimli tavlama algoritması T=10 2 sonuç grafiği 66

79 4.5. Deney Sonuçları Deneyleri sadece çaprazlama operatörlerini kullanarak veya sadece mutasyon operatörlerini kullanarak yaptığımızda çözüm zamanının ve nesil sayısının çok arttığı gözlenmiştir. Bunun yanında çaprazlama ve mutasyon operatörleri birlikte kullanıldığında başarının arttığı görülmüştür. İlk defa kullanılmış olan kötü kromozom mutasyon operatörü, çözümün bulunmasında, tek noktadan mutasyon operatörü ile birlikte kullanıldığında daha başarılı sonuçlar elde ettiği gözlenmiştir. Yapılan deneylerin sonucunda en kısa zamanda, tüm kısıtları sağlayarak çözüme ulaşan bireyin olduğu görülmüştür. Bu deneyde seçilen genetik algoritma parametrelerinin değerleri ve genetik algoritmanın seçim, çaprazlama, mutasyon ve düzeltme operatörlerinin hangileri olduğu aşağıda açıklanmıştır. 1. Popülasyondaki en uygun birey sayısı 50 dir. 2. Elitizm kriteri 0.2 dir. 3. Mutasyon olasılığının %4 olup, eğer 20 nesil boyunca en iyi bireyin uygunluk değeri değişmez ise mutasyon olasılığı %4 oranında arttırılmaktadır.. 4. En iyi çaprazlama operatörü tek noktadan çaprazlama operatörüdür. 5. En iyi mutasyon operatörü tek noktadan ve kötü-kromozom mutasyon operatörlerinin birlikte kullanıldığı durumdur. 6. Tamir fonksiyonlarının kullanıldığı durumdur. Deneyler sırasında algoritmaların parametreleri değiştirilerek değişik süre içerisinde en iyi çözüme ulaşma tam olarak hiçbir algoritma ile sağlanamamakla beraber elde edilen çözümler tamir fonksiyonunda geçirilerek en iyi çözüm elde edilir. Program tarafından hazırlanan eğitim kurumları sınav programı çizelgelemesi 2 dakikadan az bir sürede tüm kısıtları yerine getirerek doğru çözüme ulaşmaktadır. Yazılım, kullanıcıların istedikleri zaman algoritmayı durdurabilmelerine, algoritma parametrelerini yeniden belirleyip tekrar çalıştırabilmesine ve çözüm sonucunda oluşan çizelgelemeleri tarihsel kronolojide tutarak veritabanında saklamasına izin vermektedir. Sonuçların sınıf, öğretim elemanı ve derslik seçeneklerinde raporlarının yazıcıdan çıktı olarak alınmasına izin vermektedir. Şekil 4.7 de sınav programı raporu gösterilmiştir. 67

80 Şekil 4.8. Sınav programı raporu 68

81 4.6. Sezgisel Analiz Sezgisel algoritmaların durdurma kriterleri farklı olduğu için en iyi sonuç çözüm değerleri basit bir şekilde karşılaştırılamazlar. Ayrıca, her algoritmadaki işlem süreleri farklı parametrelere bağlıdır ve işlem sürelerini tahmin etmek zordur. Sezgisel analiz için çözümlerin uygunluk değerlerini ve iterasyon sayılarını gösteren örnek grafik Şekil 4.9 da gösterilmiştir. Şekil 4.9. Sezgisel algoritmaların çözüm uygunluk değeri-iterasyon grafiği 69

82 5.SONUÇ Çizelgeleme problemlerinin en büyük özellikleri her problemin farklı olmasıdır. Bu da her problem için probleme özgü kabullerin ve tasarımların gerçekleştirilmesinin gerektirir. Sınav çizelgeleme problemini ele alırsak, hedef belirli kısıtlar kapsamında, ilgili dönemdeki sınavların zaman çizelgesine yerleştirilmesidir. Bu çizelgeleme problemi polinom zamanda çözülemeyen tam (NP-complete) bir problemdir. Çizelgeleme problemlerinde işlem zamanları kabul edilen kısıtlara ve problemin zorluğuna bağımlı olarak değişebilmektedir. Çözümün çok uzun süren zamanda çözülebilmesi problemleri bir değişik sezgisel yöntemlerle çözme zorunlulukları doğurabilmektedir. Her algoritma her problem için iyi sonuçlar veremeyebilir. Bundan dolayı seçilen algoritma önem kazanmaktadır. Algoritma tercihleri rastgele yapılmamalı çözülmek istenen problem iyi analiz edilmeli ve benzer problemlerin çözüm sonuçları incelendikten sonra algoritmaya karar vermek gerekir. Sınav programı çizelgeleme problemi için Genetik Algoritma ve Tabu Arama, Karınca Kolonisi, Benzetimli Tavlama Algoritmaları çözümü sağlayabilecek algoritmalar olarak görünmektedir. Bu algoritmalar üst sezgisel algoritmalarla karşılaştırılarak daha hızlı çözümler yapan uygulamalar geliştirmek mümkün görünmektedir. Ayrıca sistemin araştırma zamanını kısaltmak için bu algoritmaların denenmesi hedef çalışmalar olarak düşünülmektedir. 70

83 KAYNAKLAR Abdullah, S., Ahmadi, S., Burke, E.K., Dror, M. and McCollum, B, A tabu based large neighbourhood search methodology for the capacitated examination timetabling problem. Journal of Operational Research, pp. 58: Abramson, D, Constructing school timetables using simulated annealing: sequential and parallel algorithms. Management Science, Volume 37 Issue 1, pp Alataş, B., Akın, E., Yapay Zekada Yeni Bir Alan: Yapay Bağışıklık Sistemleri. Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü,Sayfa , Elazığ. Alaykıran, K., Engin, O., Karınca Kolonileri Metasezgiseli ve Gezgin Satıcı Problemleri Üzerinde Bir Uygulaması. Gazi Üniversitesi Mühendislik- Mimarlık Fakültesi Dergisi, Sayı: 20, Biroğul, S., Genetik Algoritma Yaklaşımıyla Atölye Çizelgeleme. Gazi Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 95s, Ankara. Burke, E.K. and Newall, J.P., Solving examination timetabling problems through adaptation of heuristic orderings. Annals of Operational Research, 129: Burke, E.K., Elliman, D.G., Ford, P.H., and R.F. Weare, Examination Timetabling in British Universities - A Survey. In:[BP06], pp Burke, E. K., Bykov, Y. J., Newall and Petrovic, S. A Time-Predefined Local Search Approach to Exam Timetabling Problems, Computer Science Technical Report No. NOTTCSTR Cengiz, Y., Optimum Performanslı Mikrodalga Kuvvetlendirici Tasarımı. Yıldız Teknik Üniversitesi Fen Bilimleri Enstitüsü, Doktora Tezi, 243s, İstanbul. Cheng, R., Gen, M., Tsujimura, Y., A Tutorial Survey of Job Shop Scheduling Problems Using Genetic Algorithms: Part II. Hybrid Genetic Search Strategies, Computers and Industrial Engineering, 37, Cladeira, J.P., Rosa, A.C., School Timetabling using Genetic Search, The 2nd International Conference for the Practice and Theory of Automated Timetabling (PATAT'97),

84 Colorni, A., Dorigo, M., Maniezzo, V., Genetic Algorithm and Highly Constrained Problems: The Time-Table Case, Proceeding of the First International Workshop on Parallel Problem solving from Nature, pp Çivril, H., Hemşire Çizelgeleme Problemlerinin Genetik Algoritma ile Çözümü. Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi 97s, Isparta Dorigo, M., Stützle, T.,2004, Ant Colony Optimization, Bradford Books, 305s. Erben, W., Keppler, J., A Genetic Algorithm Solving a Weekly Course- Timetabling Problem, Proc. of the First Int. Conf. on the Practice and Theory of Automated Timetabling (ICPTAT), Even, S., Itai, A., Shamir, A., On the Complexity of Timetable and Multicommodity Flow Problems, SIAM Journal of Computing, Farhad, Azadivar and John, Wang: Facility layout optimization using simulation and genetic algorithms, International Journal of Production Research, Vol.38, No.17, Goldberg, D.E., Genetic Algorithms in Search Optimization and Machine Learning, Addion Wesley Publishing Company,USA ISBN: Hertz, A., Finding a feasible course schedule using a tabu search, Discrete Applied Mathematics, 35: Kalender, M., Ders Çizelgeleme Programı. TMMOB Elektrik Mühendisleri Odası İstanbul Şubesi, Öğretim Yılı Proje Yarışması, İstanbul. Karaboğa, D., Yapay Zeka Optimizasyon Algoritmaları, Atlas Yayın Dağıtım, Cağaloğlu, İstanbul Kaya, S., Operasyonel Sabit İş Çizelgeleme Problemlerinin Genetik Algoritmalar ile Çözümü. Selçuk Üniversitesi Fen Bilimleri Enstitüsü, Yüksek Lisans Tezi, 83s, Konya. Kılıç, S., Kaylan, A., Uçak Çizelgeleme Probleminin Karınca Kolonileri Optimizasyonu ile Çözümü. Havacılık ve Uzay Teknolojileri Dergisi, 2(1), Murata, T., Ishibuchi, H., Tanaka, H., Genetic Algorithms for Flow Shop Scheduling Problems, Computers and Industrial Enginering,Vol.30, No.4, Nabiyev, V. V., (2003). Yapay Zeka Problemler Yöntemler Algoritmalar, Seçkin Yayınevi, Ankara 72

85 Özcan, E., Alpay, A., Çok Nüfuslu Kararlı Genetik Algoritması Kullanarak Otomatik Çizelgeleme, TBD 19. Bilişim Kurultayı, Sayfa , Schaerf, A., Tabu Search Techniques for Large High-School Timetabling Problems, Proc. of the Fourteenth National Conference on AI, August, pp Shapiro, J.L., Genetic Algorithms in Machine Learning Volume 2049, Issue, pp Lecture Notes in Computer Science Ulker O., Ozcan E. and Korkmaz E.E., Linear linkage encoding in grouping problems: applications on graph coloring and timetabling. In: E.K. Burke and H. Rudova (eds) (2007) Practice and Theory of Automated Timetabling: Selected Papers from the 6th International Conference. Lecture Notes in Computer Science vol. 3867, Yiğit T., Meslek Liselerindeki Haftalık Ders Çizelgelerinin Genetik Algoritmalar Yardımı İle Çözülmesi. Gazi Üniversitesi Endüstriyel Sanatlar Eğitim Fakültesi Dergisi, Sayı:19,

86 ÖZGEÇMİŞ Adı Soyadı : Cevriye ALTINTAŞ Doğum Yeri ve Yılı : AFYONKARAHİSAR 1978 Medeni Hali : Bekar Yabancı Dili : İngilizce Eğitim Durumu Lise : Afyon Lisesi ( ) Önlisans : Hacettepe Üniversitesi Hemşirelik Hizmetleri Meslek Yüksekokulu ( ) Lisans : Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Bilgisayar Mühendisliği ( ) Yüksek Lisans : Selçuk Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı ( ) Yüksek Lisans : Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği Anabilim Dalı ( ) Halen Çalıştığı Kurum : Süleyman Demirel Üniversitesi Bilgi İşlem Daire Başkanlığı ( ) 74

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA GENETİK ALGORİTMA ÖZNUR CENGİZ 201410306014 HİLAL KOCA 150306024 GENETİK ALGORİTMA Genetik Algoritma yaklaşımının ortaya çıkışı 1970 lerin başında olmuştur. 1975 te John Holland ın makine öğrenmesi üzerine

Detaylı

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR Sınıflandırma Yöntemleri: Karar Ağaçları (Decision Trees) Örnek Tabanlı Yöntemler (Instance Based Methods): k en yakın komşu (k nearest

Detaylı

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ GENETİK ALGORİTMALAR Genetik algoritmalar, Darwin in doğal seçim ve evrim teorisi ilkelerine dayanan bir arama ve optimizasyon yöntemidir.

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Genetik Algoritma (Genetic Algorithm) Doç.Dr. M. Ali Akcayol Genetik Algoritma 1970 li yıllarda John Holland tarafından geliştirilmiştir. 1989 yılında David E. Goldberg Genetik

Detaylı

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA i GENETİK ALGORİTMA YAKLAŞIMIYLA ATÖLYE ÇİZELGELEME Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ OCAK 2005 ANKARA ii Serdar BİROĞUL tarafından hazırlanan

Detaylı

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR GENETİK ALGORİTMALAR BÜŞRA GÜRACAR 201420404036 İÇERİK Genetik Algoritmanın, Amacı Kullanım Alanları Kavramları Uygulama Adımları Parametreler Genetik Algoritma Kodlama Türleri Genetik Algoritma Genetik

Detaylı

Fonksiyon Optimizasyonunda Genetik Algoritmalar

Fonksiyon Optimizasyonunda Genetik Algoritmalar 01-12-06 Ümit Akıncı Fonksiyon Optimizasyonunda Genetik Algoritmalar 1 Fonksiyon Optimizasyonu Fonksiyon optimizasyonu fizikte karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu

Detaylı

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri Onur KARASOY 1, Serkan BALLI 2 1 Muğla Sıtkı Koçman Üniversitesi Bilgi İşlem Dairesi Başkanlığı 2 Muğla Sıtkı Koçman Üniversitesi Bilişim Sistemleri

Detaylı

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

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta: Genetik Algoritmalar Bölüm 1 Optimizasyon Yrd. Doç. Dr. Adem Tuncer E-posta: adem.tuncer@yalova.edu.tr Optimizasyon? Optimizasyon Nedir? Eldeki kısıtlı kaynakları en iyi biçimde kullanmak olarak tanımlanabilir.

Detaylı

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar METASEZGİSEL YÖNTEMLER Genetik Algoritmalar 1970 li yıllarda John Holland tarafından geliştirilmiştir. 1989 yılında David E. Goldberg Genetik Genetik Algoritma Algoritma Uygulamaları üzerine klasik eser

Detaylı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım Mehmet Ali Aytekin Tahir Emre Kalaycı Gündem Gezgin Satıcı Problemi GSP'yi Çözen Algoritmalar Genetik Algoritmalar

Detaylı

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ü

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ü 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ü Karınca Koloni Algoritması Bilim adamları, böcek davranışlarını inceleyerek

Detaylı

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

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği

Detaylı

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI Hatice YANIKOĞLU a, Ezgi ÖZKARA a, Mehmet YÜCEER a* İnönü Üniversitesi Mühendislik Fakültesi Kimya Mühendisliği

Detaylı

Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla Eniyilemesi ve Karşılaştırılması

Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla Eniyilemesi ve Karşılaştırılması Süleyman Demirel Üniversitesi Fen Bilimleri Enstitüsü Dergisi Suleyman Demirel University Journal of Natural andappliedscience 18(1), 8-13, 2014 Gezgin Satıcı Probleminin Karınca Kolonisi ve Genetik Algoritmalarla

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Tabu Arama (Tabu Search) Doç.Dr. M. Ali Akcayol Tabu Arama 1986 yılında Glover tarafından geliştirilmiştir. Lokal minimum u elimine edebilir ve global minimum u bulur. Değerlendirme

Detaylı

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

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon OPTİMİZASYON TEKNİKLERİ Kısıtsız Optimizasyon Giriş Klasik optimizasyon yöntemleri minimum veya maksimum değerlerini bulmak için türev gerektiren ve gerektirmeyen teknikler olarak bilinirler. Bu yöntemler

Detaylı

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi 07-04-006 Ümit Akıncı Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi İçindekiler Fonksiyon Minimizasyonu Metropolis Algoritması. Algoritma.......................................... Bir boyutlu

Detaylı

Esnek Hesaplamaya Giriş

Esnek Hesaplamaya Giriş Esnek Hesaplamaya Giriş J E O L O J İ M Ü H E N D İ S L İ Ğ İ A. B. D. E S N E K H E S A P L A M A Y Ö N T E M L E R İ - I DOÇ. DR. ERSAN KABALCI Esnek Hesaplama Nedir? Esnek hesaplamanın temelinde yatan

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Ara sınav - 25% Ödev (Haftalık) - 10% Ödev Sunumu (Haftalık) - 5% Final (Proje Sunumu) - 60% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn:

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri (nt lgorithm) Doç.Dr. M. li kcayol 996 yılında Marco Dorigo tarafından ortaya atılmıştır. Temel olarak karıncaların yiyecek madde ile yuvaları arasındaki en kısa yolu bulmalarından

Detaylı

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı Erol Şahin Bilgisayar Mühendisliği Bölümü, Orta Doğu Teknik Üniversitesi Ankara, Türkiye 2. ULUSAL GRİD ÇALIŞTAYI, 1-2 Mart 2007, TÜBİTAK,

Detaylı

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

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN 1995 yılında Dr.Eberhart ve Dr.Kennedy tarafından geliştirilmiş popülasyon temelli sezgisel bir optimizasyon tekniğidir.

Detaylı

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden Genetik Algoritmalar Nesin Matematik Köyü Evrim Çalıştayı 20-23 Nisan, 202 Genetik Algoritmalar (GA Đçerik Biyolojiden esinlenme GA nın özellikleri GA nın unsurları uygulama Algoritma Şema teoremi Mustafa

Detaylı

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

Zeki Optimizasyon Teknikleri. Karınca Algoritması (Ant Algorithm) Zeki Optimizasyon Teknikleri Karınca Algoritması (Ant Algorithm) Karınca Algoritması 1996 yılında Marco Dorigo tarafından ortaya atılmıştır. Temel olarak karıncaların yiyecek madde ile yuvaları arasındaki

Detaylı

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması Özay CAN, Nedim TUTKUN Düzce Üniversitesi Elektrik/Elektronik Mühendisliği Kapsam Giriş Hibrit Sistem ve Güç

Detaylı

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

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH) İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH) Tabu Arama Algoritması, optimizasyon problemlerinin çözümü için F.Glover tarafından geliştirilmiş iteratif bir araştırma algoritmasıdır. Temel

Detaylı

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA İLERİ ALGORİTMA ANALİZİ 1. Giriş GENETİK ALGORİTMA Geniş çözüm uzaylarının klasik yöntemlerle taranması hesaplama zamanını artırmaktadır. Genetik algoritma ile kabul edilebilir doğrulukta kısa sürede bir

Detaylı

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI ... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE 2018 2019 ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI Hazırlayan : Özel Öğretim Kurumları Birliği (ÖZKURBİR) Dersin Adı : Bilişim

Detaylı

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms)

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 2017-2018 Güz Yarıyılı EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) 4 Genetik Algoritma Örnek Uygulamalar (Sırt Çantası Problemi, Sınav Programı Çizelgeleme) Yrd. Doç. Dr. İbrahim

Detaylı

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği Yrd. Doç. Dr. A. Burak İER Bilgisayar Mühendisliği Algoritma Analizi İçerik: Temel Kavramlar Yinelemeli ve Yinelemesiz Algoritma Analizi Asimptotik otasyonlar Temel Kavramlar Algoritma: Bir problemin çözümüne

Detaylı

METASEZGİSEL YÖNTEMLER

METASEZGİSEL YÖNTEMLER 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ı,

Detaylı

Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği)

Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği) Karınca Kolonisi Algoritmasının Zaman Çizelgelemesi Üzerine: Bir Modellemesi ve Uygulaması Hülya Özdağ (YTÜ Matematik Bölümü Ö.Ü.) Nilgün Aygör (YTÜ Matematik Bölümü Ö.Ü.) Aykut Parlak (YTÜ Matematik Mühendisliği)

Detaylı

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008

Kablosuz Sensör Ağlar ve Eniyileme. Tahir Emre KALAYCI. 21 Mart 2008 Kablosuz Sensör Ağlar ve Eniyileme Tahir Emre KALAYCI 21 Mart 2008 Gündem Genel Bilgi Alınan Dersler Üretilen Yayınlar Yapılması Planlanan Doktora Çalışması Kablosuz Sensör Ağlar Yapay Zeka Teknikleri

Detaylı

BİRİNCİ BASIMA ÖN SÖZ

BİRİNCİ BASIMA ÖN SÖZ BİRİNCİ BASIMA ÖN SÖZ Varlıkların kendilerinde cereyan eden olayları ve varlıklar arasındaki ilişkileri inceleyerek anlamak ve bunları bilgi formuna dökmek kimya, biyoloji, fizik ve astronomi gibi temel

Detaylı

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D. Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ Ders 1- Yapay Zekâya Giriş Erhan AKDOĞAN, Ph.D. Yapay Zekâ nedir?! İnsanın düşünme ve karar verme yeteneğini bilgisayarlar aracılığı ile taklit etmeye

Detaylı

YÖNEYLEM ARAŞTIRMASI - III

YÖNEYLEM ARAŞTIRMASI - III YÖNEYLEM ARAŞTIRMASI - III Prof. Dr. Cemalettin KUBAT Yrd. Doç. Dr. Özer UYGUN İçerik Altın Oran (Golden Section Search) Arama Metodu Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f

Detaylı

Yazılım Mühendisliği 1

Yazılım Mühendisliği 1 Yazılım Mühendisliği 1 HEDEFLER Yazılım, program ve algoritma kavramları anlar. Yazılım ve donanım maliyetlerinin zamansal değişimlerini ve nedenleri hakkında yorum yapar. Yazılım mühendisliği ile Bilgisayar

Detaylı

Karınca Koloni Algoritması 2

Karınca Koloni Algoritması 2 Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr Karınca Koloni Algoritması 2 7 TSP ve ACO Algoritması Gezgin satıcı problemi (travelling salesman problem-tsp) yöneylem araştırması ve teorik

Detaylı

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

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği

Detaylı

Evrimsel Çok amaçlı eniyileme. Tahir Emre Kalaycı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 25 Mart 2010

Evrimsel Çok amaçlı eniyileme. Tahir Emre Kalaycı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 25 Mart 2010 Evrimsel Çok amaçlı eniyileme Tahir Emre Kalaycı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 25 Mart 2010 Gündem Çok amaçlı eniyileme Giriş Evrimsel çok amaçlı eniyileme Sonuç Giriş Gerçek dünya problemleri

Detaylı

Makine Öğrenmesi 2. hafta

Makine Öğrenmesi 2. hafta Makine Öğrenmesi 2. hafta Uzaklığa dayalı gruplandırma K-means kümeleme K-NN sınıflayıcı 1 Uzaklığa dayalı gruplandırma Makine öğrenmesinde amaç birbirine en çok benzeyen veri noktalarını aynı grup içerisinde

Detaylı

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Kümeleme İşlemleri Kümeleme Tanımı Kümeleme Uygulamaları Kümeleme Yöntemleri Kümeleme (Clustering) Kümeleme birbirine

Detaylı

KARINCA OPTİMİZASYONU. Harun Kayıkçı

KARINCA OPTİMİZASYONU. Harun Kayıkçı KARINCA OPTİMİZASYONU Harun Kayıkçı Ö Z E T : Karınca kolonisi optimizasyonu algoritması, kombinasyonel (kombinasyon hesapları içeren) optimizasyon problemlerinde, optimuma en yakın çözümü üretmek için

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimsiz Öğrenmenin Temelleri Kümeleme Uzaklık Fonksiyonları Öklid Uzaklığı Manhattan

Detaylı

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ YAPAY SİNİR AĞLARI Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ İÇERİK Sinir Hücreleri Yapay Sinir Ağları Yapısı Elemanları Çalışması Modelleri Yapılarına Göre Öğrenme Algoritmalarına Göre Avantaj ve

Detaylı

İleri Diferansiyel Denklemler

İleri Diferansiyel Denklemler MIT AçıkDersSistemi http://ocw.mit.edu 18.034 İleri Diferansiyel Denklemler 2009 Bahar Bu bilgilere atıfta bulunmak veya kullanım koşulları hakkında bilgi için http://ocw.mit.edu/terms web sitesini ziyaret

Detaylı

GENETİK ALGORİTMALARA GİRİŞ (III)

GENETİK ALGORİTMALARA GİRİŞ (III) GENETİK ALGORİTMALARA GİRİŞ (III) Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620

Detaylı

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

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi OPTİMİZASYON Gerçek hayatta, çok değişkenli optimizasyon problemleri karmaşıktır ve nadir olarak problem tek değişkenli olur. Bununla birlikte, tek değişkenli optimizasyon algoritmaları çok değişkenli

Detaylı

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

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü ULAŞTIRMA MODELİNİN TANIMI Ulaştırma modeli, doğrusal programlama probleminin özel bir şeklidir.

Detaylı

PARALEL MAKĠNALARIN GENETĠK ALGORĠTMA ĠLE ÇĠZELGELENMESĠNDE MUTASYON ORANININ ETKĠNLĠĞĠ

PARALEL MAKĠNALARIN GENETĠK ALGORĠTMA ĠLE ÇĠZELGELENMESĠNDE MUTASYON ORANININ ETKĠNLĠĞĠ Ege Akademik BakıĢ / Ege Academic Review 10 (1) 2010: 199-210 PARALEL MAKĠNALARIN GENETĠK ALGORĠTMA ĠLE ÇĠZELGELENMESĠNDE MUTASYON ORANININ ETKĠNLĠĞĠ EFFICIENCY OF MUTATION RATE FOR PARALLEL MACHINE SCHEDULING

Detaylı

Deniz ERSOY Elektrik Yük. Müh.

Deniz ERSOY Elektrik Yük. Müh. Deniz ERSOY Elektrik Yük. Müh. AMACIMIZ Yenilenebilir enerji kaynaklarının tesis edilmesi ve enerji üretimi pek çok araştırmaya konu olmuştur. Fosil yakıtların giderek artan maliyeti ve giderek tükeniyor

Detaylı

Doğal Hesaplama (COMPE 564) Ders Detayları

Doğal Hesaplama (COMPE 564) Ders Detayları Doğal Hesaplama (COMPE 564) Ders Detayları Ders Adı Doğal Hesaplama Ders Kodu COMPE 564 Dönemi Ders Uygulama Laboratuar Kredi AKTS Saati Saati Saati Güz 3 0 0 3 7.5 Ön Koşul Ders(ler)i Öğretim üyesinin

Detaylı

THE EFFECT OF PRODUCT NUMBER ON SOLVING THE JOP-SHOP SCHEDULING PROBLEM BY USING GENETIC ALGORITHM

THE EFFECT OF PRODUCT NUMBER ON SOLVING THE JOP-SHOP SCHEDULING PROBLEM BY USING GENETIC ALGORITHM GENETİK ALGORİTMA İLE ÇÖZÜMÜ GERÇEKLEŞTİRİLEN ATÖLYE ÇİZELGELEME PROBLEMİNDE ÜRÜN SAYISININ ETKİSİ Serdar BİROĞUL*, Uğur GÜVENÇ* (*) Gazi Üniversitesi Teknik Eğitim Fakültesi Elektrik Eğitimi Bölümü, Beşevler

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA BG-213 2/1 2+0+2 2+1 5 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1 Bilgisayar Mühendisliği Bilgisayar Mühendisliğine Giriş 1 Mühendislik Nedir? Mühendislik, bilim ve matematiğin yararlı cihaz ve sistemlerin üretimine uygulanmasıdır. Örn: Elektrik mühendisleri, elektronik

Detaylı

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

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Giriş. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Giriş 1 Amaç : Mühendislik problemlerinin bilgisayar ortamında çözümünü mümkün kılacak

Detaylı

Bilgisayar Programlama (COMPE 102) Ders Detayları

Bilgisayar Programlama (COMPE 102) Ders Detayları Bilgisayar Programlama (COMPE 102) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayar Programlama COMPE 102 Bahar 2 2 0 3 4 Ön Koşul Ders(ler)i Dersin

Detaylı

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI ÖZEL EGE LĠSESĠ GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI HAZIRLAYAN ÖĞRENCĠLER: Berkin ĠNAN Doğa YÜKSEL DANIġMAN ÖĞRETMEN: Aslı ÇAKIR ĠZMĠR 2014 ĠÇĠNDEKĠLER 1. PROJENĠN AMACI. 3

Detaylı

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

ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ ULAŞTIRMA MODELİ VE ÇEŞİTLİ ULAŞTIRMA MODELLERİ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü ULAŞTıRMA MODELININ TANıMı Ulaştırma modeli, doğrusal programlama probleminin özel bir şeklidir.

Detaylı

MEKÂN ENVANTERİ OLUŞTURMA, MEKÂN ANALİZİ VE DERS PROGRAMI OLUŞTURMA İŞLEMLERİ

MEKÂN ENVANTERİ OLUŞTURMA, MEKÂN ANALİZİ VE DERS PROGRAMI OLUŞTURMA İŞLEMLERİ T.C. SÜLEYMAN DEMİREL ÜNİVERSİTESİ MEKÂN ENVANTERİ OLUŞTURMA, MEKÂN ANALİZİ VE DERS PROGRAMI OLUŞTURMA İŞLEMLERİ OCAK, 2016 ISPARTA İÇİNDEKİLER 1. GİRİŞ... 2 2. DERS PORGRAMLARININ OLUŞTURULMASI... 5 3.

Detaylı

GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ

GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ GEZGİN SATICI PROBLEMİ İÇİN BİR MEMETİK ALGORİTMA ÖNERİSİ Engin Sansarcı İ.T.Ü. İşletme Fakültesi, İSTANBUL enginsansarci@gmail.com Abdullah Aktel İ.T.Ü. İşletmeFakültesi, İSTANBUL abdullahaktel@gmail.com

Detaylı

GENETİK ALGORİTMALARA GİRİŞ

GENETİK ALGORİTMALARA GİRİŞ GENETİK ALGORİTMALARA GİRİŞ Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620 Düzce

Detaylı

MAK 210 SAYISAL ANALİZ

MAK 210 SAYISAL ANALİZ MAK 210 SAYISAL ANALİZ BÖLÜM 5- SONLU FARKLAR VE İNTERPOLASYON TEKNİKLERİ Doç. Dr. Ali Rıza YILDIZ MAK 210 - Sayısal Analiz 1 İNTERPOLASYON Tablo halinde verilen hassas sayısal değerler veya ayrık noktalardan

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS YAZILIM MÜHENDİSLİĞİ BG-411 4/1 3+0+0 3+0 5 Dersin Dili : TÜRKÇE Dersin Seviyesi

Detaylı

BÖLÜM 12 STUDENT T DAĞILIMI

BÖLÜM 12 STUDENT T DAĞILIMI 1 BÖLÜM 12 STUDENT T DAĞILIMI 'Student t dağılımı' ya da kısaca 't dağılımı'; normal dağılım ve Z dağılımının da içerisinde bulunduğu 'sürekli olasılık dağılımları' ailesinde yer alan dağılımlardan bir

Detaylı

Bir Normal Dağılım Ortalaması İçin Testler

Bir Normal Dağılım Ortalaması İçin Testler Bir Normal Dağılım Ortalaması İçin Testler İÇERİK o Giriş ovaryansı Bilinen Bir Normal Dağılım Ortalaması İçin Hipotez Testler P-değerleri: II. Çeşit hata ve Örnekleme Büyüklüğü Seçimi Örnekleme Büyüklüğü

Detaylı

Ölçme ve Değerlendirmenin. Eğitim Sistemi Açısından. Ölçme ve Değerlendirme. TESOY-Hafta Yrd. Doç. Dr.

Ölçme ve Değerlendirmenin. Eğitim Sistemi Açısından. Ölçme ve Değerlendirme. TESOY-Hafta Yrd. Doç. Dr. TESOY-Hafta-1 ve Değerlendirme BÖLÜM 1-2 ve Değerlendirmenin Önemi ve Temel Kavramları Yrd. Doç. Dr. Çetin ERDOĞAN cetinerdogan@gmail.com Eğitimde ölçme ve değerlendirme neden önemlidir? Eğitim politikalarına

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi

ARDIŞIL DİYAGRAM YAPI DİYAGRAMI. Sistem Analizi ve Tasarımı Dersi ARDIŞIL DİYAGRAM YAPI DİYAGRAMI Sistem Analizi ve Tasarımı Dersi İçindekiler Ardışıl Diyagram Nedir ve Neden Kullanılır... 3 Ardışıl Diyagram Elemanları... 3 MS Visio ile Ardışıl Diyagram Çizimi... 5 Violet

Detaylı

Web Madenciliği (Web Mining)

Web Madenciliği (Web Mining) Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing

Detaylı

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU Tek değişkenli bir f(x) fonksiyonunu ele alalım. [Bazı x ler için f (x) bulunamayabilir.] Aşağıdaki DOP modelini çözmek istediğimizi var sayalım. Max f(x)

Detaylı

Uzaktan Algılama Teknolojileri

Uzaktan Algılama Teknolojileri Uzaktan Algılama Teknolojileri Ders 11 Hiperspektral Görüntülerde Kümeleme ve Sınıflandırma Alp Ertürk alp.erturk@kocaeli.edu.tr Sınıflandırma Sınıflandırma işleminin amacı, her piksel vektörüne bir ve

Detaylı

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması

Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması Gezgin Satıcı Probleminin Benzetilmiş Tavlama Yöntemiyle Çözümünde Paralel Hesaplamanın Kullanılması Emrullah SONUÇ1, Baha ŞEN2,Şafak BAYIR3 1 Karabük Üniversitesi, Bilgisayar Mühendisliği Bölümü, Karabük

Detaylı

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi

Veri Yapıları. Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Veri Yapıları Öğr.Gör.Günay TEMÜR Düzce Üniversitesi Teknolojis Fakültesi Hash Tabloları ve Fonksiyonları Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing

Detaylı

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ 127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ Veri Madenciliği : Bir sistemin veri madenciliği sistemi olabilmesi

Detaylı

YÖNEYLEM ARAŞTIRMASI - III

YÖNEYLEM ARAŞTIRMASI - III YÖNEYLEM ARAŞTIRMASI - III Prof. Dr. Cemalettin KUBAT Yrd. Doç. Dr. Özer UYGUN İçerik Bu bölümde eşitsizlik kısıtlarına bağlı bir doğrusal olmayan kısıta sahip problemin belirlenen stasyoner noktaları

Detaylı

Temel ve Uygulamalı Araştırmalar için Araştırma Süreci

Temel ve Uygulamalı Araştırmalar için Araştırma Süreci BÖLÜM 8 ÖRNEKLEME Temel ve Uygulamalı Araştırmalar için Araştırma Süreci 1.Gözlem Genel araştırma alanı 3.Sorunun Belirlenmesi Sorun taslağının hazırlanması 4.Kuramsal Çatı Değişkenlerin açıkça saptanması

Detaylı

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta SAYISAL ÇÖZÜMLEME Yrd.Doç.Dr.Esra Tunç Görmüş 1.Hafta Sayısal çözümleme nümerik analiz nümerik çözümleme, approximate computation mühendislikte sayısal yöntemler Computational mathematics Numerical analysis

Detaylı

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

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI. 4. HAFTA BLM33 SAYISAL ANALİZ Okt. Yasin ORTAKCI yasinortakci@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi BLM33 DOĞRUSAL OLMAYAN (NONLINEAR) DENKLEM SİSTEMLERİ Mühendisliğin

Detaylı

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği SAYI VE KODLAMA SİSTEMLERİ Teknoloji Fakültesi/Bilgisayar Mühendisliği Neler Var? Sayısal Kodlar BCD Kodu (Binary Coded Decimal Code) - 8421 Kodu Gray Kodu Artı 3 (Excess 3) Kodu 5 de 2 Kodu Eşitlik (Parity)

Detaylı

GENETİK ALGORİTMALARA GİRİŞ (V)

GENETİK ALGORİTMALARA GİRİŞ (V) GENETİK ALGORİTMALARA GİRİŞ (V) Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620

Detaylı

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI YZM 2116- VERİ YAPILARI DERS#9: HASH FONKSİYONLARI İÇERİK Bu bölümde, Giriş Hash Tabloları Hash Fonksiyonu Çakışma (Collision) Ayrık Zincirleme Çözümü Linear Probing Çözümü Quadratic Probing Çözümü konusuna

Detaylı

ERCİYES ÜNİVERSİTESİ KİMYA ANABİLİM DALI

ERCİYES ÜNİVERSİTESİ KİMYA ANABİLİM DALI İlaç Tasarımında Yeni Yazılımların Geliştirilmesi: Elektron Konformasyonel-Genetik Algoritma Metodu ile Triaminotriazin Bileşiklerinde Farmakofor Belirlenmesi ve Nicel Biyoaktivite Hesabı; ERCİYES ÜNİVERSİTESİ

Detaylı

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA BLM-431 YAPAY ZEKA Ders-5 Bilgili Arama Yöntemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Arama Grafları Eğer arama uzayı ağaç yapısından değil de graf

Detaylı

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr İçerik Sınıflandırma yöntemleri Karar ağaçları ile sınıflandırma Entropi Kavramı ID3 Algoritması C4.5

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS YAPAY ZEKA BG-421 4/2 2+1+0 2+.5 4 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS PROGRAMLAMA DİLLERİ BG-324 3/2 3+0+0 3+0 4 Dersin Dili : TÜRKÇE Dersin Seviyesi

Detaylı

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

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Algoritma & Matlab. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Algoritma & Matlab 1 Algoritma Algoritma ; verilerin bilgisayara hangi çevre biriminden

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

3. Bölüm Algoritmalar

3. Bölüm Algoritmalar 3. Bölüm Algoritmalar Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 3.1. Veri ve Bilgi Şekil 3.1 de bilgisayar sistemin temelini oluşturan veri işlem modeli görülmektedir. Hesaplama, saklama gibi

Detaylı

Öğretim içeriğinin seçimi ve düzenlenmesi

Öğretim içeriğinin seçimi ve düzenlenmesi Öğretim içeriğinin seçimi ve düzenlenmesi Öğretim hedefleri belirlendikten sonra öğrencileri bu hedeflere ulaştıracak içeriğin saptanması gerekmektedir. Eğitim programlarının geliştirilmesinde ikinci aşama

Detaylı

MONTE CARLO BENZETİMİ

MONTE CARLO BENZETİMİ MONTE CARLO BENZETİMİ U(0,1) rassal değişkenler kullanılarak (zamanın önemli bir rolü olmadığı) stokastik ya da deterministik problemlerin çözümünde kullanılan bir tekniktir. Monte Carlo simülasyonu, genellikle

Detaylı

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati Kredi AKTS (T+U+L) ŞEBEKE MODELLERİ EN-413 4/I 3+0+0 3 5 Dersin Dili : İngilizce Dersin Seviyesi : Lisans

Detaylı

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

BULANIK MANTIK VE SİSTEMLERİ 2014 2015 BAHAR DÖNEMİ ÖDEV 1. Müslüm ÖZTÜRK 148164001004 Bilişim Teknolojileri Mühendisliği ABD Doktora Programı BULANIK MANTIK VE SİSTEMLERİ 2014 2015 BAHAR DÖNEMİ ÖDEV 1 Müslüm ÖZTÜRK 148164001004 Bilişim Teknolojileri Mühendisliği ABD Doktora Programı Mart 2015 0 SORU 1) Bulanık Küme nedir? Bulanık Kümenin (fuzzy

Detaylı

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics 2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics Özet: Bulanık bir denetleyici tasarlanırken karşılaşılan en önemli sıkıntı, bulanık giriş çıkış üyelik fonksiyonlarının

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

Detaylı

Bilgisayar Programlama (COMPE 102) Ders Detayları

Bilgisayar Programlama (COMPE 102) Ders Detayları Bilgisayar Programlama (COMPE 102) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayar Programlama COMPE 102 Bahar 2 2 0 3 4 Ön Koşul Ders(ler)i Dersin

Detaylı