Merhaba, Tavlama Benzetimi konusunda bir başlık açmıştım. daha açıklayıcı olması ve açık bir biçimde kodu paylaşıp yardım talep etmek için tekrar buradayım. Tavlama benzetimi yapılacak kodu hyperlinkte paylaştım. simanneal
python için bu işi kolaylıyormuş.
simanneal
kütüphanesini ve Traveling Salesman problemini çözdüm birkaç değişiklik de yaptım. Fakat liste sırlamasına nasıl uyarlayabilirim anlamadım.
Kod excelden veri alarak çalışıyor. şu an hali hazırda 6x5 (6 iş 5 makine) verileri yüklü. Run edince makineye 5 işe 6 değerlerini girip işle ve getir
ardından çalıştır
dediğimizde hesap yapıyor.
kodda yukarıdaki algoritmalar sonucunda bir sıralama buluyorum bu da başlangıç sıralamam
Tavlama benzetimi kullanımı için aşağıdaki değişkenleri bilmeniz gerekiyor.
sonuc_siralamasi —> algoritmalar sonucu en iyi sıralama (başlangıç sıralaması)
SA(yazmasirasi)
—>Bu fonksiyonumuz çağrılınca Gannt Hesabı ile Fmax buluyor
Sa_fmax
----> FMax değeri yani SA(yazmasirasi) fonksiyonun bulduğu değer. En küçükleme yapmak istediğimiz. 53’e yaklaşmalı
Simulated_sira
------> fonksiyonda hesaplanacak sıra. aynı zamanda move ile yeri değiştirilecek sıra
Aslında amaç 53 ü bulmaktan ziyade 55i geliştirebilmek.
Kodun temiz biçimde yazılmamasından dolayı yalnızca yukarıdaki açıklamaların işe yarayacağını düşünmekteyim.
SA(yazmasirasi)
bu fonksiyon sıralamanın değerini fmaxını buluyor. en önemli bilinmez bu olmalı.
yani sizden talebim. kodun 1035. satırına tavlama benzetimi algoritması kurabilmeniz. (böyle betimliyorum çünkü temiz bir kod değil ve bunun için sürem malesef yok ) run etme şartını da yukarıda belirttim tkintere 5 ve 6 değeri girip işleyip çalıştırdıktan sonra konsol çalışır.
Şimdiden teşekkür ediyor, dilerseniz çıkacak makalede isminizi de paylaşmayı teklif ediyorum. İyi çalışmalar dilerim