설명
이 테스트에서는 trnsport 모델을 사용하여 임의의 배율 인수를 적용합니다. 변수와 방정식. 다양한solvlink 설정을 사용하여 모델을 해결합니다. 그리고 동일한 결과가 나오는지 확인합니다. 키워드:solvLink, scale, scaleopt 기고자: Lutz Westermann, 2016년 3월
소형 모델 유형 :슬롯 나라
카테고리 : 슬롯 나라 테스트 라이브러리
메인 파일 : scale01.gms
$title '확장 모델 테스트 결과' (SCALE01,SEQ=692)
$onText
이 테스트에서는 trnsport 모델을 사용하여 임의의 배율 인수를 적용합니다.
변수와 방정식. 다양한solvlink 설정을 사용하여 모델을 해결합니다.
그리고 동일한 결과가 나오는지 확인합니다.
키워드:solvLink, scale, scaleopt
기고자: Lutz Westermann, 2016년 3월
$offText
$call gamslib -q trnsport
$include trnsport.gms
$onEchoV > 보고서.gms
rep0('%1', 'z.l') = z.l;
rep0('%1', 'z.m') = z.m;
rep0('%1', 'cost.l') = 비용.l;
rep0('%1', 'cost.m') = 비용.m;
rep0('%1', 'objval') = 전송.objval;;
repi('%1', 'supply.l', i) = 공급.l(i);
repi('%1', 'supply.m', i) = 공급.m(i);
repj('%1', 'demand.l', j) = 수요.l(j);
repj('%1', 'demand.m', j) = 수요.m(j);
repij('%1', 'x.l', i, j) = x.l(i,j);
repij('%1', 'x.m', i, j) = x.m(i,j);
$offEcho
실행 설정 / 기본값
스케일-SL%solveLink.chainScript%
scale-SL%solveLink.callScript%
규모-SL%solveLink.callModule%
scale-SL%solveLink.loadLibrary%
scale-SL%solveLink.asyncGrid%
scale-SL%solveLink.aSyncThreads% /;
매개변수 rep0(runs,*), repi(runs,*,i), repj(runs,*,j), repij(runs,*,i,j);
* 기본 설정으로 해결
옵션 lp=cplex;
z 를 최소화하는 lp를 사용하여 전송을 해결합니다.
$batInclude 보고서 기본값
* 일부 척도 설정
Transport.scaleOpt = 1;
비용.규모 = 2;
공급.규모(i) = 3;
수요.규모(j) = 4;
z.scale = 0.1;
x.scale(i,j) = 0.2;
* 스케일을 활성화하고 SL=%solveLink.chainScript%로 해결
Transport.solveLink = %solveLink.chainScript%;
z 를 최소화하는 lp를 사용하여 전송을 해결합니다.
$batInclude 보고서 scale-SL%solveLink.chainScript%
* 척도가 활성화되고 SL=%solveLink.callScript%로 해결
Transport.solveLink = %solveLink.callScript%;
z 를 최소화하는 lp를 사용하여 전송을 해결합니다.
$batInclude 보고서 scale-SL%solveLink.callScript%
* 척도를 활성화하고 SL=%solveLink.callModule%로 해결
Transport.solveLink = %solveLink.callModule%;
z 를 최소화하는 lp를 사용하여 전송을 해결합니다.
$batInclude 보고서 scale-SL%solveLink.callModule%
* 척도를 활성화하고 SL=%solveLink.loadLibrary%로 해결
Transport.solveLink = %solveLink.loadLibrary%;
z 를 최소화하는 lp를 사용하여 전송을 해결합니다.
$batInclude 보고서 scale-SL%solveLink.loadLibrary%
* 활성화된 척도 및 SL=%Solvelink.Load Grid%로 해결
Transport.solvelink=%solveLink.asyncGrid%;
z를 최소화하는 lp를 사용하여 전송을 해결합니다.
display$readyCollect(transport.handle) '작업 대기 중 문제';
display$handlecollect(transport.handle) '수집된 결과';
display$handledelete (transport.handle) '우선 문제 삭제 핸들';
$batInclude 보고서 scale-SL%solveLink.asyncGrid%
* 스케일을 활성화하고 SL=%Solvelink.Load Threads%로 해결
Transport.solvelink=%solveLink.aSyncThreads%;
z를 최소화하는 lp를 사용하여 전송을 해결합니다.
display$readyCollect(transport.handle) '작업 대기 중 문제';
display$handlecollect(transport.handle) '수집된 결과';
display$handledelete (transport.handle) '우선 문제 삭제 핸들';
$batInclude 보고서 scale-SL%solveLink.aSyncThreads%
error0, errori, errorj, errorij를 설정합니다.
별칭(*,u);
error0(runs,u) $(not sameas(runs,'default')) = abs(rep0(runs,u) - rep0('default',u) ) > 1e-6;
errori(runs,u,i) $(not sameas(runs,'default')) = abs(repi(runs,u,i) - repi('default',u,i) ) > 1e-6;
errorj(runs,u,j) $(not sameas(runs,'default')) = abs(repj(runs,u,j) - repj('default',u,j) ) > 1e-6;
errorij(runs,u,i,j)$(not sameas(runs,'default')) = abs(repij(runs,u,i,j) - repij('default',u,i,j)) > 1e-6;
abort$(card(error0) + 카드(errori) + 카드(errorj) + 카드(errorij)) '예기치 않은 차이',
error0, errori, errorj, errorij, rep0, repi, repj, repij;