ÇÖZÜCÜLER
Python dili kullanarak Sypder veya bir MS Excel eklentisi olan solver studio'da Gurobi veya CBC solver kullanarak karma tamsayı modelleri kurmak ve çözmek için buraya bakabilirsiniz. Çözücüler için detaylı bilgi için aşağıdaki yazıları okuyabilirsiniz.
Çözücüler
Bir matematiksel modelin (LP, MIP, vs.) çözülebilmesi için o modelin öncelikle bir yerlerde kodlanması, sonrasında da bu kodun bir çözücüde çözülmesi gerekir.
Kodlama
· Kodlama için GAMS çok kullanılan bir programdır ve matematik modellemeye özel bir dildir.
· Excel Solver kullanarak bu modeller kodlanabilir
· Bunun dışında diğer kodlama dillerinde de, yani Python, C#, C++, JAVA da da matematiksel modeller kodlanabilir.
Çözücüler/Solver
· Kodlanan modeller sonrasında bir çözücü ile çözülmelidir. Çözücüler ticari ve açık kaynak olmak üzere ikiye ayrılabilir.
· Açık kaynak çözücülere COIN-OR tarafından geliştirilen CBC örneği verilebilir.
· Ticari çözücülerin en bilinenleri ise GUROBI ve IBM Tarafından üretilen CPLEX tir.
· Akademik kullanıma her iki şirkette ücret almamaktadır. Bunun için edu.tr uzantılı mail adresleri ile akademi lisansı edinilebilir.
Matematiksel modellerin kodlanması ve çözülmesi için şu iki kaynak kullanılabilir
· MS Excel’e ve GoogleSheets’e eklenti olarak kurulan ve bir açık çözücü olan CBC’yi kullanan bir program.
· CBC, diğer ticari çözücüler olan IBM ILOG-CPLEX ve GUROBI’ye göre oldukça yavaş olmakla beraber çoğu bitirme ödevi için yeterli düzeyde bir çözücü.
· Solver studio yine Excel’e bir eklenti olarak kuruluyor
· Pulp, GAMS, AMPL gibi bir çok farklı optimizasyon dilini kullanarak kurduğunuz modelleri, eğer lisansınız varsa CPLEX ve GUROBI gibi çözücülerde çözdürülebilir.
· Eğer lisans yoksa, o zaman NEOS adlı sunucuya gönderecek buradan çözüm beklenilebilir. NEOS sunucusu, üzerinde tüm paralı çözücülerin olduğu ve bunların hizmetinin ücretsiz verildiği bir sunucu. Ancak buraya gönderilen problemler bir sıraya alınarak bekletilip öyle çözülüyor, dolayısıyla bilgisayarda elinizin altında olan çözücülere kadar rahat davranılamıyor.