Şu anda GAMS ile uğraşıyorum, bildiğim kısmında ise yardım edeyim.
machine allocationı gams'te yazmaya çalışıyorum. düz bir çizgi var. buna makinalar koyulacak ve flow*distance'ı minimize edecek bir çözüm bulunacak. (cost zaten 0) modelde 2 makina arasındaki mesafeyi x(i)-x(j) diye yazıyorum. bu yüzden modelin başında alias(i,j) dedim. sonra constraintleri yazarken constraint(i) diyip onun içinde j'li bir şey kullanamaz mıyım?
karışık yazdım ama umarım anlaşılabiliyordur.
Çok net anlayamadım ama anladığım üzerinden yorum yapayım. alias kullanımı doğru. Aynı değişkenin üzerinden farklı indis kullanımında oluyor. Constraint(i) dedi isen, her i için yazılan bir constraint var demektir. Demek ki o kısıtta j'lere bir şey yapman gerekiyor. Ya sum kullanıp toplanacak ya da sayılacak, bir şeyler yapılacak demektir. Elinde model varsa, daha çok yardımcı olabilirim. Özelden gidebiliriz.
İki makina arası mesafe d(i,j) gibi iki indisli yazılırsa daha güzelmiş gibi geldi bana.
@aychovsky öğrenci misiniz? yoksa modelleme, yöneylem vb olayları sıkça iş hayatında kullanıyor musunuz?
Hemen hemen her hafta işim gereği kullanıyorum. Akademisyenim, uzmanlık alanım sezgiseller ama tam çözüm veren matematiksel modellerden de bol bol yararlanıyorum.
uzaklık matrisi kurmadan modeli kurmanız zor olur gibi geldi bana da.
merak ettim, özel bir problem değilse daha fazla ayrıntı verir misiniz?
tabii.
model bu:
imagizer.imageshack.us
bu da illüstrasyonu:
imagizer.imageshack.us
constrainti bir türlü gams'te yazamadım.
abs(x(i)-x(j)) =g= 0.5*(l(i)+l(j))+10; diyorum ancak çözümde x(1)-x(1) diye gittiği için 0>RHS oluyor ve infeasible veriyor.
problemden anladığım kadarıyla çok şık olmayan bir yöntem burada
pastebin.ca
iki ayrı set olarak yazdım; l1(i) ve l2(j).
@aychovsky bana yardım edebilir misin bitirme ödevim için bilgine ihtiyacım var çok acil yoksa mezun olamıyorum