2014-12-18 3 views
0
balance(i)..  Sum(k,X(k,i)) - Sum(j,X(i,j)) =G= 0 

나는 GAMS에이 방정식을 가지고 있는데, 왜 이것이 도메인 위반인지 이해합니다. 그러나 나는 이것을 표현할 필요가있다. 나는 GAMS에서이 제약을 표현하는 다른 방법을 생각할 수 없다. 어떤 도움이라도 좋을 것입니다.GAMS, 집합에 대한 도메인 위반

답변

2

당신의 실수는 X (k, i)와 X (i, j)가 있다는 사실에서 비롯된 것 같습니다. 다른 색인을 가진 두 개의 동일한 이름 변수 "X"를 사용할 수 없습니다.

별칭 (j, k)로 j와 k의 별명을 지정하지 않은 경우 : 그렇지만 내가 왜 방정식을 쓰는지는 알 수 없으므로 다음 중 하나에서 X 대신 다른 변수를 사용한다고 가정합니다. Xs.

균형 (i) .. sum (k, X (k, i)) - sum (j, Y (j, i)) = G = 0이면 그럴 것입니다. 이 일을 할 것입니다

sets i; 
alias(i,j,k); 
variables X(i,i); 
equations balance(i); 
balance(i).. sum(j,X(j,i)) - sum(k,(X(k,i)) =G= 0; 

희망 :

0

나는이 별칭을 사용할 수있는 완벽한 경우가 말할 것입니다! 저는 GAMS를 처음 사용하기 때문에 피드백을 할 준비가되었습니다.

건배, Niclas

+0

@Yunnosch 님, 감사합니다! – Niclas