1 / 43

Bulanık Sayılarla Özdeş Olmayan Paralel Makinelerin Genetik Algoritma Yöntemi ile Çizelgelenmesi

Bulanık Sayılarla Özdeş Olmayan Paralel Makinelerin Genetik Algoritma Yöntemi ile Çizelgelenmesi. Pelin ALCAN**, Hüseyin BAŞLIGİL. YILDIZ TEKNİK ÜNİVERSİTESİ MAKİNA FAKÜLTESİ ENDÜSTRİ MÜHENDİSLİĞİ. YAEM 2010. Sunum İçeriği. 1. GİRİŞ 2. ÜRETİM PLANLAMA 3. ÜRETİM ÇİZELGELEME

maj
Download Presentation

Bulanık Sayılarla Özdeş Olmayan Paralel Makinelerin Genetik Algoritma Yöntemi ile Çizelgelenmesi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bulanık Sayılarla Özdeş Olmayan Paralel Makinelerin Genetik Algoritma Yöntemi ile Çizelgelenmesi Pelin ALCAN**, Hüseyin BAŞLIGİL YILDIZ TEKNİK ÜNİVERSİTESİ MAKİNA FAKÜLTESİ ENDÜSTRİ MÜHENDİSLİĞİ YAEM 2010

  2. Sunum İçeriği • 1. GİRİŞ • 2. ÜRETİM PLANLAMA • 3. ÜRETİM ÇİZELGELEME • 4. BULANIK SAYILAR • 5. GENETİK ALGORİTMA • 6. UYGULAMA • 7. SONUÇLAR

  3. ÖZET • Üretim konusu sanayi devriminden bu yana insanoğlunun belki de en önemli uğraş alanı olmuştur. Sürekli büyüyen ve gelişen Dünya’ da, insanların tüketimi ile doğru orantılı olarak üretim de artış göstermek durumundadır. • Birçok değişken ihtiva eden çizelgeleme problemlerine çözüm sunması için birçok yöntem ve algoritma geliştirilmiştir. Bunların en popüler olanlarından genetik algoritma bu çalışmanın ana konusunu oluşturmaktadır.

  4. ÖZET • Literatürde çizelgeleme ile ilgili çalışmaların büyük bir çoğunluğunda özdeş ve özdeş olmayan paralel makineler, genetik algoritmalar ve bulanık sayılar ayrı olarak ele alınmıştır. • Bu çalışmada, özdeş olmayan paralel makinelerde genetik algoritmanın bulanık sayılarla daha gerçekçi bir çalışmasının yapılması amaçlanmıştır.

  5. 1. GİRİŞ • Çizelgeleme ile ilgili literatürdeki araştırmalar çoğunlukla, deterministik zamanlar üzerinden giderek, deterministik sonuçlar elde etmeyi amaçlamışlardır. • Ancak gerçek hayattaki iş süreçlerinde, zamanları (makinelerin işlem zamanlarını, işlerin bekleme süreleri…vs.) deterministik olarak ifade etmek imkansızdır. • Bu sebepten bu çalışmada deterministik zamanlar yerine, bulanık sayılar kullanılarak, gerçeğe daha yakın sonuçlar elde etmek amaçlanmıştır. Ayrıca özdeş olmayan paralel makinelerde bulanık sayılarla genetik algoritma yönteminin Java dilinde bir uygulaması yapılmıştır.

  6. 2. ÜRETİM PLANLAMA • Üretim planlamasının amacı; üretim sürecinde yapılmakta olan faaliyetleri minimum maliyetle gerçekleştirerek ve zamanında üretim yaparak tüketici taleplerini karşılamaktır.

  7. 3. ÜRETİM ÇİZELGELEME Çizelgeleme, aşağıda sıralanan sorunlarla ilgilenir: • Hangi İş Merkezi hangi işi yapacak? • Bir operasyon/iş ne zaman başlayacak ve ne zaman bitecek? • İş hangi ekipmanla, kim tarafından yapılacak? • Operasyonların/İşlerin sıralaması ne olacak? • Bir işletmede ürünlerin üretilmesi veya işlemlerin yerine getirilmesi için zaman ve sıralama açısından yapılan plan üretim çizelgesidir.

  8. NP-Hard • Bu çalışmada ise benzer tip ancak özdeş olmayan paralel makineler üzerinde durulmuştur. Çalışmada ele alınan problem NP-hard (NP-zor) sınıfına girmektedir.

  9. NP-Hard • Özdeş olmayan paralel makinelerin çizelgelenmesi problemi de, çok değişkenli, karmaşık ve belli, genel bir yöntemle çözümü mümkün olmadığı için NP-zor problemler grubuna girmektedir. • Bu sınıftaki problemler belirli Turing Makinesi ile çok terimli zamanda doğrulanabilir ve bu şekilde doğrulanabilen her problem NP sınıfında yer alır. Bu nedenle NP, çok terimli zamanda doğrulanabilen problemlerin sınıfı olarak da tanımlanabilir.

  10. Çizelgelemenin Amaçları • Çizelgeler üretimin verimliliğinin arttırılması için yapılır. Bu da aynı zamanda birçok amacı yerine getirmek demektir. • Üretimi daha verimli gerçekleştirmek, aynı zamanda daha fazla kâr edebilmeyi, müşterinin taleplerine daha hızlı cevap verebilmeyi ve işletmenin her türlü (zaman, malzeme, para..vb.) kayıplarını ve israflarını en aza indirmeyi sağlayacaktır.

  11. Çalışma Ölçütleri • Kimi problemler toplam işlem zamanını minimum yapmayı hedeflerken, kimi problemler de toplam bekleme zamanını en küçüklemeyi hedeflemektedir. Bu bakımdan çizelgeleme problemleri çözümünde kullanılmak üzere belli başlı çalışma ölçütleri kullanılmaktadır. • Çalışma ölçütleri çizelgeleme dilinin alfabesidir. • Çizelgeleme konusunda sorular belli veriler, kısıtlar ve değişkenler söz konusu iken istenen performans ölçütlerinin belirlenmesi üzerine kuruludur.

  12. 4. BULANIK SAYILAR • Bir kavramı, bir amacı ve bir sistemi tanımlayan ifadelerdeki belirsizliğe veya kesin olmama haline bulanıklık denir. İnsanların düşünce biçimindeki algılama farklılıkları, onların sübjektif davranışları ve hedeflerindeki belirsizlikler bulanıklık olgusu ile açıklanabilmektedir (ZADEH, 1965). • Geleneksel kümeler ile bulanık kümeler arasındaki en temel fark üyelik fonksiyonlarıdır. Geleneksel bir küme sadece bir üyelik fonksiyonuyla nitelenebilirken, bulanık bir küme teorik olarak sonsuz sayıda üyelik fonksiyonu ile nitelenebilmektedir. Üyelik fonksiyonlarının uygulama ile örtüşen ve doğru bir şekilde belirlenmesi, bulanık küme teorisinin esasını oluşturmaktadır.

  13. Üyelik Fonksiyonları • Bulanık sayılar değişik yapılarda tanımlanabilirler. Bu çalışmada bulanık üçgensel sayılar kullanılmaktadır. Bunun sebebi, karmaşık yamuk sayılarla karşılaştırıldığında, üçgensel sayıların daha basit olmasıdır. • Bir bulanık üçgensel sayı, l≤m≤u olarak, şeklinde ifade edilebilmektedir.

  14. Sıralama, bulanık matematiksel programlama için önemlidir ve bulanık sayılar farklı üyelik değerlerine sahip pek çok muhtemel gerçel sayıyı temsil ettiği için karşılaştırılmaları zordur. Burada bulanık sayıları sıralamak için bulanık olayların genel ortalama ve standart sapmasına dayanan Lee ve Li’ nin yaklaşımı kullanılmıştır. Buna göre M üçgen bulanık sayısının ortalaması ve standart sapması sırasıyla;

  15. 5. GENETİK ALGORİTMA • Günümüzün karmaşık ve zor koşulları problemlere hızlı ve kolay çözüm sunan yeni çözüm yöntemleri arayışına neden olmuştur. • Yıllar içinde yapılan çalışmalar ile, çözümü zor olan optimizasyon ve çizelgeleme problemlerinin –özellikle NP kapsamına giren problemlerin- çözümünde çeşitli sezgisel arama metotları geliştirilmiştir. • Genetik Algoritmalar (GA), Tavlama Benzetimi (Simulated Annealing – SA) ve Tabu Araştırmaları (Tabu Search – TS) bu metotlar içerisinde başarı ile uygulanan ve en popüler olan üç tanesidir.

  16. 5. GENETİK ALGORİTMA • Geleneksel optimizasyon yöntemlerine göre farklılıkları olan genetik algoritmalar, parametre kümesini değil kodlanmış biçimlerini kullanırlar. • Olasılık kurallarına göre çalışan genetik algoritmalar, yalnızca amaç fonksiyonuna gereksinim duyar. • Çözüm uzayının tamamını değil belirli bir kısmını tararlar. • Böylece, etkin arama yaparak çok daha kısa bir sürede çözüme ulaşırlar.

  17. Çalışma Prensibi • Bir optimizasyon problemi için 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 fonksiyonu (fitness function) ve yeni çözümler üretebilmek için yeniden kopyalama (reproduction),mutasyon (mutation) gibi operatörler kullanılır. • Genetik algoritmaların bir diğer önemli özelliği de, tekil bir çözümle değil, bir grup (populasyon) çözümle uğraşmasıdır. Bu sayede çok sayıda çözümün içinden iyileri seçilip, kötüleri elenebilir.

  18. Başlangıç Popülasyonunun Yaratılması Dizilerin Uyumlarının Hesaplanması Seçme Çaprazlama Mutasyon Problem çözüldü mü? Hayır Evet DUR

  19. Popülasyon (Nesil) • Genetik algoritmanın bir uygulamasında, popülasyon genişliğinin (N ) belirlenmesi gerekir. • Büyük popülasyonlarda, çözüm uzayı iyi örneklendiği için aramanın etkinliği artar, ancak makul bir sürede yüksek kalitede çözüme ulaşamadan ağır bir hesaplama külfetiyle karşılaşabilir. • Popülasyon genişliği genelde 50-100 arasında değerler alır.

  20. Kodlama • Genetik algoritmanın kendine özgü bir dili vardır. Buna literatürde “kodlama” denir. • Problemin başlangıç çözümlerini, genetik algoritma işlemlerine tabi tutabilmek için uygunluk fonksiyonunun işleyişine uygun olarak kodlanması gerekir. • Genetik algoritmanın başarılı olabilmesi kodlama işlemi ile de yakından ilgilidir. • Parametrelerin kodlanması, probleme özgü bilgilerin genetik algoritmanın kullanacağı şekle çevrilmesine olanak tanır.

  21. Seçme • En yaygın kullanılan ilke, yüksek uyum değerine sahip bireylerin seçilme olasılıklarının daha fazla olmasıdır. • Sonraki kuşak için yavru meydana getirecek bireylerin, popülasyon içinden nasıl seçileceği ve her bir bireyin kaçar tane yavruya sahip olacağı belirlenmelidir. Daha sonra, üreme için havuzdan bireyler seçilir. • Seçimde iki önemli faktör söz konusudur: Popülasyon çeşitliliği ve seçicilik baskısı.

  22. Çaprazlama (Cross-over) • Çaprazlama işlemi genel olarak ikili dizilerin parçalarının değiş-tokuşu şeklinde gerçekleştirilir.

  23. Mutasyon • Permutasyon gerçekleştikten sonra mutasyon gerçekleştirilir. Mutasyon oluşan yeni çözümlerin önceki çözümü kopyalamasını önlemek ve sonuca daha hızlı ulaşmak için amacıyla uygulanır. • Yeniden Üretim (Selection/ Reproduction) • Yeniden üretim operatörü, hazır topluluktan uygun olan bireylerin seçilmesi ve bunların sonraki topluluğa kopyalanarak hayatta kalmalarıyla ilgilidir.

  24. Uygunluk Fonksiyonu (Fitness Function) • Bir kuşak oluşturulduktan sonraki ilk adım, popülasyondaki her üyenin uygunluk değerini hesaplama adımıdır. • Bu fonksiyon, genetik algoritmanın beynini oluşturmaktadır. • Genetik algoritmalarda, probleme özel olarak yapılandırılan ve çalıştırılan tek kısmı bu fonksiyondur.

  25. 6. UYGULAMA • Konuyla ilgili uygulamamızı gerçekleştirebilmek için bu konuda en çok kullanılan ve bizim bu konudaki ihtiyaçlarımıza en fazla cevap verebilen Java dilinde kodladık ve uygulamamız için gerekli programımızı oluşturduk. Program; Intel T2300 1,66 GHz işlemci kullanılarak yapıldı. • n sayıda benzer işin m adet özdeş olmayan makinede, işlem süreleri bulanık sayılarla verilerek, en uygun iş – makine atamasına ulaşmak problemimizin amacını oluşturmaktadır.

  26. 6. UYGULAMA • Bu amacın performansını sağlıklı bir şekilde ölçebilmek için de, hem en son işin tamamlanma zamanını hem de maksimum gecikme süresinin aynı anda en küçük değere sahip olduğu iş – makine atamasını elde edecek bir amaç fonksiyonu kullanılacaktır. • Teslim tarihleri ve işlem zamanları bulanık sayılarla verilen çok amaçlı çizelgeleme probleminin matematiksel ifadesi şu şekildedir:

  27. 6. UYGULAMA • Burada (1) denklemi, en son işin tamamlanma zamanı ile maksimum gecikme süresinin birlikte en küçük değere ulaştığı f(x) fonksiyonuna ulaşılmak istenmektedir. • 2. Denklemde, en son işin tamamlanma süresinin n. işin, m. makinede tamamlanması süresine eşit olacağı belirtilmiştir ve son olarak maksimum gecikmenin, tüm işlerin gecikmelerinden en büyük değere sahip olan gecikme değerine eşit olacağı belirtilmiştir. Ti değeri ise şöyledir;

  28. 6. UYGULAMA • Matematiksel gösterimde yer alan x değeri “iş sıralamasını” göstermektedir. Problem bir vektörel maliyet fonksiyon bileşenlerinin en iyilenmesi olduğundan tek bir çözüm değeri bulunamaz. Çözüm etkin çözümlerden oluşur. 5 nolu koşulu sağlayan başka bir x vektörü yok ise x* etkin çözüm (pareto optimal) olarak tanımlanır.

  29. Java ile yazılan programa öncelikli olarak toplam iş sayısı (n), toplam makine sayısı (m), toplam kaç makine grubunun (g) olduğu, girilen işlerin makinelere göre ayrı ayrı bulanık işlem süreleri ve teslim tarihleri girildikten sonra program genetik algoritma için şu adımları izlemektedir. • ADIM1 t = 0 için N sayıda alternatif çözüm rastsal olarak üretilir, • ADIM2 GEN(t) yığınındaki her dizi yani iş sırasını gösteren kromozom için rj pozitif rastsal sayılar (ki bu denklem 0 ile 1 arasında rastsal sayılar üretir);

  30. Sonra kromozomun uygulanacak iterasyon için seçilme olasılığı belirlenir. • Fonksiyonu etkin çözüm kuralına göre en küçük f(i) değerine ulaşması için çalıştır. • ADIM3 Başlangıç yığınındaki etkin çözümler belirlenir ve etkin çözümler kümesine eklenir. • ADIM4 Yığındaki bireyler seçilme olasılıklarına göre ikili olarak seçilir ve çaprazlama ve mutasyon uygulanır.

  31. ADIM5 Yeni yığındaki değerlerin “Uygunluk Değerleri”ni hesapla. GEN(t) kümesinden her bir ağırlıklandırılmış amacı en iyileyen kromozomları (iş sıralarını) GEN(t+1) kümesine ekle. • ADIM6 Etkin çözümler kümesini güncelle. • ADIM7 Algoritma sonlandırma koşulu sağlanıncaya kadar 4, 5 ve 6 adımlarını uygula. t = t +1 yap ve sonraki iterasyona geç.

  32. Uygulama Kaynak Verileri • Uygulamamızda kullandığımız veriler rastsal olarak belirlenmiştir. Program; 5 iş – 4 makine, 5 iş – 5 makine, 5 iş – 6 makine ve 10 iş – 4 makine, 10 iş – 5 makine, 10 iş – 6 makine için çalıştırılmış ve hepsinde aşağıda verilen tablolardaki veriler kullanılmıştır. Ort.işlem süreleri şöyledir:

  33. En iyi ve en kötü işlem süreleri ise şöyledir:

  34. Programın İşleyişi • Program başlatıldığında öncelikli olarak iş ve makine sayılarının belirlenmesini kullanıcıdan talep eder. Bu bizim örneğimiz için 5 ve 10 iş için, 4,5 ve 6 adet makinelere atanması için yürütülmüştür. Yazılan kod ile 1000 iş – 1000 makineye kadar problemlerin çözümleri bulunabilir. • Daha sonra yukarıda verilen işlerin makinelerdeki bulanık zamanları ortalama, en iyi değerler ve en kötü değerler olmak üzere girilir. Daha sonra makinelerin hangi makine grubuna ait olduğu belirtilir.

  35. Programın İşleyişi • Örneğin Şekil 6-1’de, 8 makineli bir üretim hattında 5 tane farklı hızla çalışan yani özdeş olmayan paralel torna tezgâhı ve onu izleyen 3 tane farklı hızda çalışan ve özdeş olmayan matkaplar görülmektedir. İşlemler önce torna tezgâhından geçecek daha sonra matkap işlemine tabi tutulacaktır.

  36. Programın İşleyişi • İşlemlerin ortalama, en iyi, en kötü işlem zamanları ve makine grupları programa girildikten sonra elitizm ve mutasyon oranları, kaydırma çubukları (scroll) yardımıyla belirlenir. • Daha sonra toplam iterasyon sayısını, etkin çözümler kümesinin yani N boyutunu programa gireriz. Son olarak da daha önceden bahsedilen ağırlık değerlerinin saptanması için “işlerin teslim katsayısını” gireriz. Burada girilen değer 0 ile 1 arasında bir değerdir. Örneğin burada girilen değer w1 = 0,6 ise w2 = 1 - w1 = 0,4 olarak alınacaktır anlamına gelmektedir.

  37. Programın İşleyişi • Bütün bu verilerin girilmesinden sonra program çalıştırılabilir. • Uygulamamızda 5 ve 10 işlem grupları için 4, 5 ve 6 makineli örnekler ele alınmış ve değerlendirmesi yapılmıştır. Uygulamamızda programı sonlandırma koşulu olarak N boyutunun maksimum alacağı değer 100 olarak belirledik. Böylece her bir problem çözümünde 100 adet etkin çözüm bulana kadar program çalıştırılır.

  38. Java Programının Ekran görüntüleriGiriş Ekranı

  39. Veri Giriş Ekranı

  40. 7. Sonuçlar • Bu çalışmada işlem zamanlarının belirsiz olduğu ve üçgen bulanık sayılarla ifade edildiği özdeş olmayan paralel makinelerle ilgili bir çizelgeleme problemi incelenmiştir. • Çizelgeleme kararlarına etki eden maliyetleri azaltmak için çizelge tamamlanma zamanı, maksimum gecikme zamanını kriterlerini eş zamanlı değerlendiren çok amaçlı model sunulmuştur. • Modelin çözümü için genetik algoritma yaklaşımı kullanılmıştır.

  41. 7. SONUÇLAR • Bu çalışmanın devamında işlem zamanlarının belirsizliği yanında maliyet bilgilerinin ve amaç önem derecelerinin de belirsiz olduğu durumlar modele dâhil edilerek algoritmanın genişletilmesi mümkündür. • Ayrıca sunulan model, tavlama benzetimi ve tabu arama gibi diğer modern sezgisel yöntemlerle çözülerek karşılaştırmaları yapılacaktır.

  42. BENİ DİNLEDİĞİNİZ İÇİN TEŞEKKÜRLER…

More Related