Wednesday, November 14, 2012

Başlıca GAMS hataları

Domain list redefined hatası

Bu ne demek ? Bu şu demek aynı isimle başka bir şey yapmışın ve aynı zamanda da farklı parametre kullanmışın gülüm demek.

Mesela
U(m,k) dedin m elemanın k. ya uzaklığı bir de aşağıda

U(m) demişsin m. elemanın bir şeyi atıyorum o zaman bu hata çıkar işte

Symbol redefined  with a different type hatası

Bu şu demek

F(a,b) demişsin bu bu tablo diyelim

bir de F diye bir küme tanımlamışsın o yüzden de different type diyor.

Set expected Hatası
Bu da toplam sembolü kullanırken hata yaptın demek. Neye göre toplayacağını söylemedin demek.

sum(F(a,b)) demişsin ama neye toplican a ya göre mi b ye göre mi ?

Uncontrolled set entered as constant hatası 

Burda da şu durum var.

kısıt.. sum(a,F(a,b)) yaptın diyelim.

Burda kısıt adlı eşitlik b yi kontrol etmiyor yani her "b" için ayrı bir eşitlik yok. 1 tane eşitlik var o yüzden b ye göre de toplaman lazım. Demek istiyor tüm elemanları kullan diyor. Eğer her b için varsa bu eşitlik zaten b ye göre toplayamazsın. Ama yoksa ona göre toplaman lazım.

Bu hata bir de şöyle çıkar

sum((a,b), T(a,b)) * U(a,b) dedin demek işte onu da toplamın içine yaz bu yanlış olanı

sum( (a,b), T(a,b) * U(a,b)   ) böyle yap


Unknown symbol hatası 

Bu ne zaman olur? Bir değişkeninin ismini değiştirirsin ama onu aşağıda yazmasın mesela Ab(a,b) vardır bunu A yaparsın sonra da adam Ab yi görünce "bu ne" der.

')' expected 

parantez hatası yaptın demek

Dimension different hatası 

M(a,b) diye bir şey tanımlamışsın

sonra da aşağıda

M(a,b,c) demişsin boyutu farklı olmuş

Domain violation for set hatası 

M(a) diye bir şey tanımlamışın bu a kümesi için dimi heh sonra da demişin ki

M(b)  o zaman GAMS de diyor ki "hani  a içindi niye "b" yazıyosun ?

Objective Variable is not a free variable hatası

diyelim ki amaç değişkeni z olsun

z yi positive variable olarak tanımlanmışın demektir ama variable olarak tanımlaman gerekiyor.

 Unknown identifier entered as set hatası

küme olmayan bir şeyi küme olarak belirtmişin demek

sets
a
b
;
paramater A(ali,veli)

ali ve veli diye küme yok o zamanbu hata çıkar

şimdilik bu kadar bunlar benim bulduğum hatalar isterseniz siz de hatalarınızı bana söyleyin beraber burda bu işi halledelim

2 comments: