2012-03-05 3 views
0

결정적인 모델이 있으며 결과에 어떤 영향을 주는지 알아보기 위해 두 개의 매개 변수 Var1Var2을 변경할 때마다 모델을 여러 번 실행하려고합니다. I는 다음과 같이 내 모델을 요약 할 수 x가, y는 변수GAMS에서 루프 내에서 루프를 작성하는 방법

... 
equations obj,a,b; 

obj... Ax+By=e=cost; 
a... x+y=l=var1 * z1; 
b... x+y=l=var2 * z2; 

solve; 
dispaly cost.l; 
dispaly y.l; 
dispaly x.l; 

, VAR1, Z1, VAR2 및 Z2는 매개 변수이다. 나는 var1에 대해 10 개의 다른 값을 시도하고 var2에 대해 10 개의 다른 값을 시도하고 결과를 얻고 싶습니다.

그렇게하는 가장 좋은 방법은 무엇입니까?

답변

0

here 루프 문 사용 방법을 확인할 수 있습니다.

귀하의 경우에는 10 개의 값과 2 개의 매개 변수 var1_values ​​(i), var2_values ​​(i)로 된 집합을 정의해야합니다. 루프에서

당신은

var1 = var1_values(i); 
var2 = var2_values(i); 
solve; 
*you can also store values to new parameters 
display cost.l; 
display y.l; 
display x.l; 

하지만 방정식을 포함해야합니다. 당신은 아마도 solve 문으로부터 정보를 생략했을 것입니다 만, 해결할 모델과 변수를 최소화하거나 최대화 할지를 지정해야합니다 (이 경우 아마 obj). 이것을 지정하지 않으면 GAMS는 모델에서 고유하지 않은 가능한 솔루션을 찾습니다.

관련 문제