GENETIC ALGORITHMS – Mobile Application Developer

All Posts All Posts

Category: GENETIC ALGORITHMS
GENETİK ALGORİTMA İLE LOJİSTİK AĞ TASARIMI PROBLEMİ – GAMS İLE HİBRİT ÇÖZÜM (C#)

Model, tedarikçilerden satış toplama merkezine sıfır parça (komponent) ve sıfır ürün satışı yaparken, diğer taraftan satış toplama merkezleri aynı zamanda geri dönen ürünleri toplamakta ve bu ürünlerin belirlenen değer seviyelerine göre de tamir, komple demontaj ve atık seçeneklerine göndermektedir. Bu şekilde ileri ve tersine bir akış söz konusudur. Çalışmamdaki modelimi GAMS paket programında çözdürülebilmektedir(GAMS optimizasyon modellerini çözüme ulaştıran bir paket programdır) fakat problem GAMS te küçük boyutlu problemler için çözüme ulaşırken, tesis sayılarını arttırdığında çözümün  uzun süreler aldığını ve uzun sürelere rağmen optimal çözümler elde edilmemiştir. Bu problem NP hard problem sınıfında, Genetık algorıma ile yaklaşık kısa sürede yaklaşık çözümler elde etmek istenmiştir. Model yapısı çok basit olup, sadece tedarikçi, fabrika ve dağıtım merkezlerinin açma kapama kararlarını sezgisel algoritma karar verip, geri kalan cebirsel işlemleri GAMS paket programı ile çözmüştür. Yani tüm model komple genetik algoritma değilde Hibrit olarak çözülmüştür.

Kaynak kodları projeye özel olduğu için yayınlanmamıştır.

Genetik Algoritma ile Maksimum Ağırlıklı Clique Problemi ( MWCP ) (Genetik Algoritma, C#)

Bu çalışmada ağırlıkları ve diğer Nodelerle ilişkileri verilmiş bir uzayda en yüksek ağırlığa sahip alt grafın bulunması amaçlanmıştır. Çalışma sonunda büyük bir arama uzayına rağmen doğru çaprazlama şekli ve oranı sayesinde çok kenarlı graflar bulunmuştur. Projede bu çalışma için en uygun olan Rulet tekeri çaprazlama modeli kullanılmıştır. Problemin Genetik Algortima ile çözümü için geliştirilen uygulama, c#(sharp) programlama dili ile yazılmıştır.

Projenin detayı: maksimum ağırlık projesi

Projenin Kodları

Tüm projeyi İNDİR: Program Kodu

Genetik Algoritma ile Çift Taraflı Montaj Hattı Dengeleme (Genetic Algorithms, C#)

Projenin Kodları

Tüm projeyi İNDİR: Program Rapor ve Kodu

1. GİRİŞ

Bu çalışmada, çift taraflı mondaj hattının her iki tarafı için belirlenmiş çevrim süresi içerisinde istasyon sayısını en aza indirgeme amaçlanmıştır. Operasyonlarda taraf ve istasyon sayısı kısıtları bulunmaktadır. Problemin Genetik Algortima ile çözümü için geliştirilen uygulama, c#(sharp) programlama dili ile yazılmıştır.

Genetik algoritma rastgele arama metodu olduğu için tek bir çözüm aramak yerine bir çözüm kümesi üzerinde çalışır. Optimum çözüme olası çözümlerin bir bölümü üzerinde gidilir. Böylece çalışmadaki sonuçlar her zaman en iyi olmaz. Çalışmada genetik algoritmanın kullanılmasının nedeni, genetik algoritmanın problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaç duymamasıdır.

2. Materyal ve Yöntem

Genetik Algoritmalar, daha iyi çözümlere yavaş yavaş bir yaklaşım sağlayan geniş bir problem uzayı boyunca yönlendirilmiş rastgele bir araştırmaya imkan sağlar. Temel avantajı optimize edilmeye çalışılan problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaç göstermemeleridir.

Genetik Algoritma Kullanılarak Noktadan Noktaya Yol ve Rota Planlama (C#)

Projenin Kodları

Tüm projeyi İNDİR: Program Kodu ve Rapor

1.Giriş

Bu çalışmada bir kroki üzerinde bulunan noktalar arası rota ve yolun genetik algortima ile bulunması amaçlanmıştır. Genetik algoritma rastgele arama metodu olduğu için tek bir çözüm aramak yerine bir çözüm kümesi üzerinde çalışır. Optimum çözüme olası çözümlerin bir bölümü üzerinde gidilir. Böylece çalışmadaki sonuçlar her zaman en iyi olmaz. Çalışmada genetik algoritmanın kullanılmasının nedeni, genetik algoritmanın  problemin doğasıyla ilgili herhangi bir bilgiye ihtiyaç duymamasıdır. Temelinde gezgin satıcı problemine benzeyen çalışmanın , gezgin satıcı problemine benzer problemler içinde çözüm olması amaçlanmıştır.

2.Genetik Algoritma Yönteminin Probleme Uygulanışı

Problemin çözümü için populasyon büyüklüğü karar verilmelidir. Populasyon büyüklüğü seçilirken aşırı yüksek seçilirse gelişim yavaşlar, aşırı küçük seçilmesi durumunda da araştırma uzayı yetersiz olur. Problemimize en uygun populasyon büyüklüğü 30 birey olarak seçilmiştir. Programın arayüzünde birey sayısı değiştirilebilir. Her kromozom 20 genle temsil edilip, genler kodlanırken değer kodlama yöntemi kullanılmıştır. Her gen yönleri temsil eden 0;Batı, 1;Kuzey, 2;Doğu ve 3;Güney ile belirtilmiştir. Örnek olarak 5 nolu kromozomun genleri:01102033021011023221 gibi 20 gene sahiptir.

Populasyon büyüklüğü tamamlanıp, kromozomlar kodlandıktan sonra uygunluklarına göre seçilim yapıldı. Uygunluk değerleri hesaplanırken noktalar arası seyahat olduğu için kromozomun en son noktası ile ulaşmak istenen arasındaki farka bakılır. Bu yüzden uygunluk fonksiyonumuz 2 fonksiyonun toplamına eşittir. Birinci fonksiyonumuz en son nokta uzaklığı f(y) , ikinci fonksiyonumuz ise kromozomun aldığı yolların toplamı olan toplam mesafe f(z) fonksiyonudur. Uygunluk fonksiyonumuz f(x)=5*f(y)+ f(z) olarak belirlenmiştir. Burada son nokta uzaklığını fonksiyonu problem için daha önemli olduğundan katsayısı artılmıştır. Örneğin 6 nolu kromozom son noktası 21 , ulaşılmak istenen nokta 22 ise f(y)=20, ve aldığı yolların mesafesini ölçen f(z)=550 olduğunu düşünelim ,6 nolu kromozomun uygunluk değeri f(x)=5*20+550=650 olur. Kromozom ulaşılmak istenilen noktaya varmış olsaydı bu değer 550 olacaktı. Burada görüldüğü gibi son noktaya ulaşmak uygunluk değerini hesabının doğruluğunu kanıtlıyor.