2017-04-07 31 views
0

나는 다음과 같은 설정이 있습니다GAMS 정의 + 그래서 1

i 1,2,3,...,I 
j 1,2,3,...,J 
k 1,2,3,...,K with k´2,3,4,...,K 

내가 설정 그래서 변경할 수있는 엑셀 시트를 통해 GDX-가져 오기를 통해 내 세트와 내 매개 변수를 정의하고이 선형 프로그래밍 모델을 사용하여 계산 스터디를 수행하기 위해 매개 변수를 동적으로 조정합니다.

d_kk '(k에서 k까지의 거리) 및 t_jkk'와 같은 매개 변수와 함께 작동하도록 k'와 함께이 종류의 세트를 어떻게 정의합니까?

해결책은 모든 지표에 대해 1, ..., 100 이상으로 커야한다는 점에 유의하십시오.

고마워요. 건배, SAM

+1

[지금까지 가지고있는 코드] (http://whathaveyoutried.com)를 표시하려면 질문을 편집하십시오. 문제가있는 코드의 윤곽선 (적어도 선호하는 [mcve])을 포함해야합니다. 그런 다음 특정 문제를 해결할 수 있습니다. 또한 [ask]를 읽어야합니다. –

+0

질문은 읽기가 약간 어렵습니다. Excel에서 얻은 것은'k'라고 생각합니다. 이제는 하나의 원소가 적은'k1'을 원합니다. 이것은'set k1 (k); k1 (k) $ (ord (k)> 1) = 예'; 항상'display k1;'으로 확인하십시오. 'k1'은 동적 세트이므로,'매개 변수 d (k, k1)'대신'매개 변수 d (k, k)'를 선언해야합니다. ('d'를 참조 할 때'd (k, k1)'을 사용할 수 있습니다). –

답변

0

세트 k에서 다른 점 사이의 거리를 계산하는 것이 좋을 것 같은데요. 별칭 세트와 다차원 세트를 사용하십시오.

Set i /1*I/ 
    j /1*J/ 
    k /1*K/ 
    kk(k,k); 
alias(ka,k); 

kk(k,ka)$(ord(k)<ord(ka))=yes; 

parameter 
    x(k) 'x-koordinate' 
    y(k) 'y-koordinate' 
    d(k,k) 'Distance from k to ka'; 

x(k)=uniform(0,1); 
y(k)=uniform(0,1); 

d(k,ka)$kk(k,ka)=sqrt((x(k)-x(ka))^2+(y(k)-y(ka))^2);