설명
슬롯 커뮤니티 24.2에서는 Execution_unload에 대한 몇 가지 새로운 옵션이 도입되었습니다: - 옵션 gdxUELs=[squeezed|full]; gdxUELs가 압착(새 기본값)으로 설정된 경우 다음에 필요한 UEL만 내보낸 기호는 내보냅니다(gdxUELs=full인 모든 UEL과 비교). 또한 별칭은 더 이상 세트가 아닌 별칭으로 내보내야 합니다. - Execute_UnloadDI 이 새로운 키워드는 정의된 기호를 GDX에 기록할 뿐만 아니라 도메인 세트. 기고자: Lutz Westermann, 2013년 8월
소형 모델 유형 :슬롯 커뮤니티
카테고리 : 슬롯 커뮤니티 테스트 라이브러리
메인 파일 : unload10.gms
$title '슬롯 커뮤니티 24.2의 새로운 언로드 옵션 테스트' (UNLOAD10,SEQ=614)
$onText
슬롯 커뮤니티 24.2에서는 다음과 같은 Execution_unload에 대한 몇 가지 새로운 옵션이 도입되었습니다.
- 옵션 gdxUELs=[squeezed|full];
gdxUELs가 압착(새 기본값)으로 설정된 경우 다음에 필요한 UEL만
내보낸 기호는 내보냅니다(gdxUELs=full인 모든 UEL과 비교).
또한 별칭은 더 이상 세트가 아닌 별칭으로 내보내야 합니다.
- Execute_UnloadDI
이 새로운 키워드는 정의된 기호를 GDX에 기록할 뿐만 아니라
도메인 세트.
기고자: Lutz Westermann, 2013년 8월
$offText
더미 설정 / d1*d10 /
나는 / i1* i3 /;
* i만 내보내고 모든 UEL을 내보냅니다.
옵션 gdxUELs=full;
Execute_unload 'aFull' i;
* 사용된 UEL만 포함하여 i만 내보내기
옵션 gdxUELs=압착;
Execute_unload 'aSqzd' i;
'gdxdiff aFull.gdx aSqzd.gdx > %system.nullfile%'을 실행합니다.
abort$errorlevel 'GdxUELs 옵션은 작성된 파일의 내용에 영향을 주어서는 안 됩니다.';
'wc -c aFull.gdx | sed s/a.*// > "%슬롯 커뮤니티scrdir%aFull.%슬롯 커뮤니티scrext%"';
'wc -c aSqzd.gdx | sed s/a.*// > "%슬롯 커뮤니티scrdir%aSqzd.%슬롯 커뮤니티scrext%"';
$onEchoV > checkSize.gms
스칼라 %fileA% %fileA%의 크기 /
$include "%inDir%%fileA%.%슬롯 커뮤니티scrext%"
/
%fileB% 크기 %fileB% /
$include "%inDir%%fileB%.%슬롯 커뮤니티scrext%"
/;
$if set ExpectG abort$(%fileA%<=%fileB%) "잘못된 파일 크기";
$if set ExpectE abort$(%fileA%<>%fileB%) "잘못된 파일 크기";
$offEcho
'슬롯 커뮤니티 checkSize.gms --inDir="%슬롯 커뮤니티scrdir%" --fileA=aFull --fileB=aSqzd --expectG=1 lo=%슬롯 커뮤니티lo%'를 실행합니다.
abort$errorlevel '압축된 UEL이 포함된 GDX 파일은 전체 UEL이 포함된 파일보다 작아야 합니다.';
* 슬롯 커뮤니티 24.1 이하에서는 별칭을 세트로 작성했습니다.
* Execute_unload(squeezed)는 별칭을 별칭으로 씁니다.
별칭(i,j);
옵션 gdxUELs=압착;
Execute_unload 'aliasExp.gdx' dummy,i,j;
'wc -c aliasAll.gdx | sed s/a.*// > "%슬롯 커뮤니티scrdir%aliasAll.%슬롯 커뮤니티scrext%"';
'wc -c aliasExp.gdx | sed s/a.*// > "%슬롯 커뮤니티scrdir%aliasExp.%슬롯 커뮤니티scrext%"';
'슬롯 커뮤니티 checkSize.gms --inDir="%슬롯 커뮤니티scrdir%" --fileA=aliasAll --fileB=aliasExp --expectG=1 lo=%슬롯 커뮤니티lo%'를 실행합니다.
abort$errorlevel '별명이 있는 GDX 파일은 세트가 있는 GDX 파일보다 작아야 합니다.';
* 이것은 집합 j와 별칭 k를 작성합니다.
Execute_unload 'rename.gdx' j=k,i=j;
ii(i) / i2*i3 / 설정
iii(ii) / i2 /
h(ii) / i3 /;
* 다음은 실수로 두 번째 기호를 첫 번째 기호의 별칭으로 내보냈습니다. #3309를 참조하세요.
Execute_unload "noAlias.gdx", dummy=i, i=dummy;
"gdxdump noAlias.gdx | grep -iw alias"를 실행합니다.
abort$(errorlevel=0) 'GDX 파일 noAlias.gdx에는 별칭이 포함되어서는 안 됩니다.';
* 도메인 정보로 언로드
Execute_unloaddi 'dom1.gdx' iii;
Execute_unload 'dom1want.gdx' iii,ii,i;
'gdxdiff dom1.gdx dom1want.gdx > %system.nullfile%'을 실행합니다.
abort$errorlevel 'Execute_unloaddi는 전체 도메인 정보를 작성해야 합니다.';
* 도메인을 다른 이름으로 명시적으로 내보내는 경우 별칭이 됩니다.
Execute_unloaddi 'dom2.gdx' iii,h,i=k;
Execute_unloaddi 'dom2want.gdx' iii,h,ii,i,i=k;
'gdxdiff dom1.gdx dom1want.gdx > %system.nullfile%'을 실행합니다.
abort$errorlevel 'Execute_unloaddi는 전체 도메인 정보를 작성해야 합니다.';
* 별칭을 도메인으로 사용하는 경우 별칭은 세트로 기록됩니다.
매개변수 parj(j) /#j 1/;
Execute_unloaddi 'dom3.gdx' parj;
Execute_unload 'dom3want.gdx' parj,j;
'gdxdiff dom3.gdx dom3want.gdx CmpDomains > %system.nullfile%'을 실행합니다.
abort$errorlevel 'Execute_unloaddi는 전체 도메인 정보를 작성해야 합니다.';
* 별칭을 도메인으로 사용하는 경우 별칭은 집합으로 기록되며,
* 별칭 집합은 도메인 [k(k)]로 정의되며 별칭이 기록됩니다.
* 도메인 [ka(ka)]로 자체적으로 설정됩니다.
k(k) /k1*k3/를 설정합니다.
별칭(k,ka);
매개변수 park(ka) /#k 1/;
Execute_unloaddi 'dom4.gdx' 공원;
$onEcho > dom4.gms
ka(ka) /k1*k3/를 설정합니다.
매개변수 park(ka) /#ka 1/;
$offEcho
'슬롯 커뮤니티 dom4.gms lo=%슬롯 커뮤니티lo% gdx=dom4want'를 실행합니다.
'gdxdiff dom4.gdx dom4want.gdx CmpDomains > %system.nullfile%'를 실행합니다.
abort$errorlevel 'Execute_unloaddi는 전체 도메인 정보를 작성해야 합니다.';
* 도메인이 명시적으로 내보낸 기호와 충돌하는 경우 오류가 표시됩니다.
$onEcho > wantError.gms
i /i/, ii(i) /i/, d /d/를 설정합니다.
Execute_unloaddi 'error.gdx' ii, d=i;
$if errorfree $abort '도메인이 명시적으로 내보낸 기호와 충돌하면 오류가 표시됩니다.'
$clearError
$offEcho
'슬롯 커뮤니티 wantError.gms a=c lo=%슬롯 커뮤니티lo%'를 실행합니다.
abort$errorlevel '도메인이 명시적으로 내보낸 기호와 충돌하면 오류가 표시됩니다.';
* 명령줄 gdx 내보내기, Execute_unload all 및 Execute_unloaddi가 모두 동일한 gdx 파일로 이어지는지 확인하세요.
$onEcho > expAll.gms
더미 설정 / d1*d10 /
나는 / i1* i3 /
ii(i,i) /i2.#i /;
별칭(i,j,k);
Execute_unload 'allEU';
Execute_unloaddi 'allDI';
$offEcho
'슬롯 커뮤니티 expAll.gms lo=%슬롯 커뮤니티lo% gdx=allCL'을 실행합니다.
abort$errorlevel 'expAll.gms에 오류가 있습니다.';
'gdxdiff allEU.gdx allCL.gdx > %system.nullfile%'을 실행합니다.
abort$errorlevel '모두 실행 해제하고 명령줄에서 내보내면 동일한 GDX 파일이 생성되어야 합니다.';
'gdxdiff allDI.gdx allCL.gdx > %system.nullfile%'을 실행합니다.
abort$errorlevel '모두 실행하고 명령줄에서 내보내면 동일한 GDX 파일이 생성되어야 합니다.';
별칭(*,u);
Execute_unload 'uniSqzd' u,i;
옵션 gdxUELs=전체;
Execute_unload 'uniFull' u,i;
'gdxdiff uniSqzd.gdx uniFull.gdx > %system.nullfile%'을 실행합니다.
abort$errorlevel '유니버스가 포함된 Execute_unload는 동일한 파일을 압착하여 전체 작성해야 합니다.';