Hocamla bundan birkaç hafta önce bazı deneylerin üzerinden geçtik ve deney sonuçları kısa bir sunumda kullanmaya karar verdik. Sunum için Ekim'de Washington D.C.'de gerçekleşecek olan INFORMS'a başvurduk. Başvurunun üstünden bir gün geçmeden IBM'den iki e-posta aldık. Deneylerimizde LPSOLVE ve CPLEX'in yanı sıra COIN-OR'ı da kullanmamızı önerdiler. COIN-OR, IBM'in ön ayak olduğu open source ve ücretsiz bir optimizasyon kütüphanesi. Tavsiyelerini uygun gördük ve COIN-OR'ı da deneylerimizde kullandık. COIN-OR'ın uygulaması çok vakit aldı. LPSOLVE'u kullanmaya başlayabilmem birkaç saatimi almıştı. LPSOLVE'a alıştıktan sonra CPLEX'i kullanabilmem 1 saat bile almamıştı. Oysa COIN-OR'ı tam olarak çalıştırmam tam 1-2 günümü aldı. COIN-OR'ın en önemli problemi farklı yazılım dillerinde desteğinin olmaması. CPLEX ve LPSOLVE pek çok farklı kodlama diliyle çalışmasına rağmen COIN-OR sadece C++ ile çalışıyor. Öncelikle bu sorunu aşmak için uğraştım. Kendim bir java wrapper mı yazsam, yoksa java wrapper oluşturucu bir yazılım mı kullansam diye düşündüm. Her iki olasılığı da inceledikten sonra aslında bu yöntemlerin başlı başına bir haftamı alacağına karar verdim. Sonuç olarak Microsoft'tan C++ Visual Studio Express'i indirdim ve kodumu C++ olarak yazdım. COIN-OR'ın bir diğer önemli problemiyse tek bir yazılım kütüphanesi olarak gelmemesi. COIN-OR 10'un üzerinde projeden oluşuyor. Eğer problemlerinizi integer olarak çözmek isterseniz bir kütüphaneyi, standart lineer olarak çözmek isterseniz başka bir kütüphaneyi kullanmalısınız. Bu da kullanıcı için fazlasıyla kafa karıştırıcı bir ortam yaratıyor. LPSOLVE ve CPLEX bu konuda çok gelişmiş durumdalar, her ikisinde de tek bir kütüphaneyle bütün fonksiyonlara ulaşıyorsunuz. COIN-OR'ın en önemli pozitif yanı hızıydı. Her ne kadar CPLEX kadar hızlı olmasa da COIN-OR LPSOLVE'dan daha hızlı çözdü test problemlerini. |