설명
다양한 모델 조합을 사용하여 Transport.trylinear = 1로 tnsport를 실행하세요. 유형, 해결자 및 해결 링크 선택을 확인하고 최종 모델 유형과 사용된 솔버가 정확함 기여자: Jan-H. Jagla, 2010년 4월
소형 모델 유형 :슬롯 커뮤니티
카테고리 : 슬롯 커뮤니티 테스트 라이브러리
메인 파일 : trylin01.슬롯 커뮤니티
$title 테스트 모델 속성 TryLinear (TRYLIN01,SEQ=482)
$onText
다양한 모델 조합을 사용하여 Transport.trylinear = 1로 tnsport를 실행하세요.
유형, 해결자 및 해결 링크 선택을 확인하고 최종 모델 유형과
사용된 솔버가 정확함
기여자: Jan-H. 자글라, 2010년 4월
$offText
$onEcho > trnstl.gms
세트
i 통조림 공장 / 시애틀, 샌디에이고 /
j 마켓 / 뉴욕, 시카고, 토피카 / ;
매개변수
a(i) 경우에 따라 공장 i의 생산 능력
/시애틀 350
샌디에이고 600 /
b(j) 다음과 같은 경우 시장 j의 수요
/ 뉴욕 325
시카고 300
토피카 275 / ;
테이블 d(i,j) 거리(천 마일)
뉴욕 시카고 토피카
시애틀 2.5 1.7 1.8
샌디에고 2.5 1.8 1.4 ;
스칼라 f 운임(1,000마일당 케이스당 달러) /90/ ;
매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ;
c(i,j) = f * d(i,j) / 1000 ;
변수
x(i,j) 케이스의 배송 수량
z 총 운송 비용(단위: 수천 달러);
양수 변수 x ;
방정식
비용 정의 목적 함수
공급(i) 공장 i의 공급 제한을 준수합니다.
수요(j)는 시장 j의 수요를 충족시킵니다.
비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ;
공급(i) .. sum(j, x(i,j)) =l= a(i) ;
수요(j) .. sum(i, x(i,j)) =g= b(j) ;
모델 전송 /all/ ;
Transport.trylinear = 1;
z를 최소화하는 %MTYPE%를 사용하여 전송을 해결합니다.
$offEcho
$onEchoV > tlscript.gms
$log --MTYPE=%2 %3=%4 풀링크=%5
$call 슬롯 커뮤니티 trnstl lo=2 --MTYPE=%2 %3=%4solvlink=%5
$echo %3 > shouldbe.txt
$echo %4 >> shouldbe.txt
$call grep "^ TYPE " trnstl.lst | tr -s " " | cut -d" " -f3 > is.txt
$call grep "^ SOLVER" trnstl.lst | tr -s " " | 잘라내기 -d" " -f3 >> is.txt
$call diff -bw shouldbe.txt is.txt
$if errorlevel 1 $abort --MTYPE=%2 %3=%4solvlink=%5 실패
$offEcho
$batInclude tlscript.gms 1 QCP LP SOPLEX %solveLink.chainScript%
$batInclude tlscript.gms 1 NLP LP SOPLEX %solveLink.chainScript%
$batInclude tlscript.gms 1 DNLP LP SOPLEX %solveLink.chainScript%
$batInclude tlscript.gms 1 RMIQCP RMIP SOPLEX %solveLink.chainScript%
$batInclude tlscript.gms 1 RMINLP RMIP SOPLEX %solveLink.chainScript%
$batInclude tlscript.gms 1 MIQCP MIP SCIP %solveLink.chainScript%
$batInclude tlscript.gms 1 MINLP MIP SCIP %solveLink.chainScript%
$batInclude tlscript.gms 1 QCP LP SOPLEX %solveLink.callScript%
$batInclude tlscript.gms 1 NLP LP SOPLEX %solveLink.callScript%
$batInclude tlscript.gms 1 DNLP LP SOPLEX %solveLink.callScript%
$batInclude tlscript.gms 1 RMIQCP RMIP SOPLEX %solveLink.callScript%
$batInclude tlscript.gms 1 RMINLP RMIP SOPLEX %solveLink.callScript%
$batInclude tlscript.gms 1 MIQCP MIP SCIP %solveLink.callScript%
$batInclude tlscript.gms 1 MINLP MIP SCIP %solveLink.callScript%
$batInclude tlscript.gms 1 QCP LP SOPLEX %solveLink.callModule%
$batInclude tlscript.gms 1 NLP LP SOPLEX %solveLink.callModule%
$batInclude tlscript.gms 1 DNLP LP SOPLEX %solveLink.callModule%
$batInclude tlscript.gms 1 RMIQCP RMIP SOPLEX %solveLink.callModule%
$batInclude tlscript.gms 1 RMINLP RMIP SOPLEX %solveLink.callModule%
$batInclude tlscript.gms 1 MIQCP MIP SCIP %solveLink.callModule%
$batInclude tlscript.gms 1 MINLP MIP SCIP %solveLink.callModule%
$batInclude tlscript.gms 1 QCP LP SOPLEX %solveLink.loadLibrary%
$batInclude tlscript.gms 1 NLP LP SOPLEX %solveLink.loadLibrary%
$batInclude tlscript.gms 1 DNLP LP SOPLEX %solveLink.loadLibrary%
$batInclude tlscript.gms 1 RMIQCP RMIP SOPLEX %solveLink.loadLibrary%
$batInclude tlscript.gms 1 RMINLP RMIP SOPLEX %solveLink.loadLibrary%
$batInclude tlscript.gms 1 MIQCP MIP SCIP %solveLink.loadLibrary%
$batInclude tlscript.gms 1 MINLP MIP SCIP %solveLink.loadLibrary%
* 이제 코어 내 통신을 지원하는 솔버를 사용해 보십시오(solvelink=5).
$batInclude tlscript.gms 2 QCP LP CONOPT %solveLink.chainScript%
$batInclude tlscript.gms 2 NLP LP CONOPT %solveLink.chainScript%
$batInclude tlscript.gms 2 DNLP LP CONOPT %solveLink.chainScript%
$batInclude tlscript.gms 2 RMIQCP RMIP CONOPT %solveLink.chainScript%
$batInclude tlscript.gms 2 RMINLP RMIP CONOPT %solveLink.chainScript%
$batInclude tlscript.gms 2 MIQCP MIP CPLEX %solveLink.chainScript%
$batInclude tlscript.gms 2 MINLP MIP CPLEX %solveLink.chainScript%
$batInclude tlscript.gms 2 QCP LP CONOPT %solveLink.callScript%
$batInclude tlscript.gms 2 NLP LP CONOPT %solveLink.callScript%
$batInclude tlscript.gms 2 DNLP LP CONOPT %solveLink.callScript%
$batInclude tlscript.gms 2 RMIQCP RMIP CONOPT %solveLink.callScript%
$batInclude tlscript.gms 2 RMINLP RMIP CONOPT %solveLink.callScript%
$batInclude tlscript.gms 2 MIQCP MIP CPLEX %solveLink.callScript%
$batInclude tlscript.gms 2 MINLP MIP CPLEX %solveLink.callScript%
$batInclude tlscript.gms 2 QCP LP CONOPT %solveLink.callModule%
$batInclude tlscript.gms 2 NLP LP CONOPT %solveLink.callModule%
$batInclude tlscript.gms 2 DNLP LP CONOPT %solveLink.callModule%
$batInclude tlscript.gms 2 RMIQCP RMIP CONOPT %solveLink.callModule%
$batInclude tlscript.gms 2 RMINLP RMIP CONOPT %solveLink.callModule%
$batInclude tlscript.gms 2 MIQCP MIP CPLEX %solveLink.callModule%
$batInclude tlscript.gms 2 MINLP MIP CPLEX %solveLink.callModule%
$batInclude tlscript.gms 2 QCP LP CONOPT %solveLink.loadLibrary%
$batInclude tlscript.gms 2 NLP LP CONOPT %solveLink.loadLibrary%
$batInclude tlscript.gms 2 DNLP LP CONOPT %solveLink.loadLibrary%
$batInclude tlscript.gms 2 RMIQCP RMIP CONOPT %solveLink.loadLibrary%
$batInclude tlscript.gms 2 RMINLP RMIP CONOPT %solveLink.loadLibrary%
$batInclude tlscript.gms 2 MIQCP MIP CPLEX %solveLink.loadLibrary%
$batInclude tlscript.gms 2 MINLP MIP CPLEX %solveLink.loadLibrary%