merhabalar,

youtube da matlab üzerinden bu algoritmayı anlatan anlatan videolar izledim. ancak benim amaç fonksiyonum ve kısıtlarıma nasıl uygulayabileceğimi bilemiyorum. yardımcı olabilecek olan birileri var mı? ya da çözebilecek birini tanıyan?Çok sevinirim.


 

Beklerim.

Kısıtlar için eğer bir kısıt aşılıyorsa, amaç fonksiyonu deperine ceza verirsiniz. Yani, diyelim ki problem minimizasyon olsun ve genelde de amaç fonksiyonları değeri 100'ler civarında gezinsin. Eğer kısıtlardan biri aşılıyorsa, örneğin değeri çok güzel olsun, 75 gibi bir amaç fonksiyony değeri var ama kısıtı aşıyor. O zaman amaç fonksiyonuna ceza verir 20 ile çarparsınız. Değeri 750 olur ve asla en iyi parçacık olamaz. Algoritma ilk olarak infeasible noktalardan girer, bir süre cevaplar kısıtlara aykırı olur ama ywterince iterasyondan sonra güzel sonuçlr gelmeye başlar. Kısıtsız bir probleme göre daha uzun sürede çözülür çünkü ilk iterasyonlar olurlu bölgeyi tanımlamak için kullanılır. Problem maksimizasyonsa bu sefer amaç fonksiyonunu azaltıcı yönde ceza verilir.

Amaç fonksiyonları ise probleme özel kodlanır, problemi bilmeden yorum yapamayız.

aychovsky
1

mobil görünümden çık