Karınca Kolonisi Algoritması ile Yazılım Proje Takvimi Oluşturma

Yazılım proje takvimi, yetkinlikleri göz önünde bulundurularak eldeki insan kaynaklarının görevlere tahsis edilmesi, görevlerin projenin ihtiyaçlarına göre uygun sırada işlenmesi, görev sürelerinin tahmin edilmesi, gerekli harcamaların görevlerle ilişkilendirilmesi süreçlerini kapsar. İnsanların görevlere atanması, bu problemin çözümünü karmaşık yapar. Problemin durum uzayı çok büyüktür. Bu gibi karmaşık problemlerde durum uzayını daraltmak için çeşitli yapay zeka optimizasyon algoritmaları kullanılabilmektedir. Bu çalışmada yazılım proje takviminin efektif bir şekilde oluşturulabilmesi için karınca kolonisi algoritması yöntemlerinden, maksimum minimum karınca sistemi algoritması uygulanmıştır. Uygulanan algoritma ile kaynakların görevleri tamamlama zamanı ve görevleri yapabilirliği dikkate alınarak, proje takvimindeki görevlerin en kısa sürede tamamlanması için uygun çözüm bulunmuştur. Algoritmanın stokastik özelliği nedeniyle her zaman en ideal çözüme ulaşmak mümkün olmamaktadır. Bununla birlikte, yapılan deneysel çalışma ile yazılım proje takvimindeki tüm aktiviteleri en kısa sürede gerçekleştirecek uygun insan kaynaklarını belirlemek için rastgele başlangıç noktasından ideal çözüme yakınsayacak şekilde karınca kolonisi algoritmasının kullanılabileceği gözlenmiştir. Deneysel sonuçlar, proje takvimi oluşturulması sürecinde karınca kolonisi algoritmasının beklenen çözümü ürettiğini göstermektedir.

Constitution of Software Project Schedule with Ant Colony Algorithm

Software project scheduling include the process of assigning human resources to tasks in consideration of their competencies, processing tasks according to the needs of the project in an order, estimating of the duration of tasks and associating required budget with tasks. Assigning human resources to tasks makes the solution space too complex. The state space of the problem is too large. In such complex problems, artificial intelligence algorithms can be a solution to narrow the state space. In this study, max-min ant colony system algorithm is applied in order to create a software project schedule in an effective way. While taking into account time for human resources to complete tasks and the ability of human resources to perform tasks, it finds appropriate solution includes minimum time for the completion of tasks in the project schedule. Because of the stochastic nature of the algorithm, it is not always possible to achieve the best solution. However, starting from the random status, the solution converges to the effective status with KKA-YPTO algorithm. Experimental results show that the algorithm produces the expected results.