설명
소형 모델 유형 :크레이지 슬롯
카테고리 : 크레이지 슬롯 테스트 라이브러리
메인 파일 : gamschk2.gms
$title 'GAMSCHK 테스트 모음 - 척도 인자 사용' (GAMSCHK2,SEQ=959)
$onCheckError레벨
$onEchoV > solo.gms
변수 /x1*x4/의 항목 이름을 설정합니다.
리소스 제약 조건 이름 /r1*r4/
매개변수 objcoef(items) 목적 함수 계수
/x1 1, x2 -500, x3 -400, x4 -5000/
rhs(resources) 리소스 가용성
/r3 6000,r4 300/;
테이블 amatrix(자원, 항목) aij 행렬
x1 x2 x3 x4
r1 1 -10000 -8000
r2 5 4 -50
r3 1500 2000
r4 50 45 ;
변수 z;
양수 변수 xvar(items);
방정식 objfun
avail(자원);
objfun.. z =e= sum(items,objcoef(items)*xvar(items));
avail(자원).. sum(items,amatrix(resources,items)*xvar(items))
=l= rhs(자원);
옵션 제한=4;
옵션 limcol=4;
모델 scalemod /all/;
옵션 lp=gamschk;
$ifthen 설정 SETSCALES
"기본값이 아닌 값으로 스케일 설정"을 표시합니다.
objfun.scale=10000;
z.scale=objfun.scale;
avail.scale("r1")=10000;
xvar.scale("x1")= avail.scale("r1");
avail.scale("r3")=1000;
avail.scale("r4")=50;
$else
"모든 스케일은 기본값으로 유지됩니다"를 표시합니다.
$endif
scalemod.scaleopt=0;
z를 최대화하는 lp를 사용하여 scalemod를 해결합니다.
$offEcho
$onEchoV > solo.gck
디스플레이cr
방정식
가능*
사후 선택
방정식
가능*
$offEcho
* -----------------------------------------------------
$call =크레이지 슬롯 solo.gms lo=0 pw=80 o=gamschk2_noscales.lst
$call =크레이지 슬롯 solo.gms lo=0 pw=80 --SETSCALES=1 o=gamschk2_setscales.lst
$통화 CD . && "%크레이지 슬롯sysdir%GMSPython%system.dirsep%python" ./lstGrabber.py gamschk2_noscales.lst "### DISPLAYCR 실행 중" 86 noscales.txt > %system.nullFile%
$통화 CD . && "%크레이지 슬롯sysdir%GMSPython%system.dirsep%python" ./lstGrabber.py gamschk2_setscales.lst "### DISPLAYCR 실행 중" 86 setscales.txt > %system.nullFile%
$offCheckError레벨
$call diff noscales.txt setscales.txt > %system.nullFile%
$if errorlevel 1 $abort '오류: GAMSCHK 출력에서 예상치 못한 차이점이 발견되었습니다.'
$log %system.fn% 테스트가 성공적으로 완료되었습니다.