empvi01.gms : EMP를 통한 변분부등식에 대한 간단한 테스트

설명

이 모델은 두 가지 간단한 EMP에 의해 생성된 모델의 정확성을 확인합니다.
변이 불평등 모델.

기여자: Jan-H. Jagla, 2009년 1월

소형 모델 유형 :메가 슬롯


카테고리 : 메가 슬롯 테스트 라이브러리


메인 파일 : empvi01.gms

$title EMP를 통한 변분부등식에 대한 간단한 검정(EMPVI01,SEQ=423)

$onText

이 모델은 EMP에서 생성된 모델의 정확성을 두 가지 간단한 방법으로 확인합니다.
변이 불평등 모델.

기여자: Jan-H. 자글라, 2009년 1월

$offText

$eolCom //

방정식 defvi, e1, e0;
변수 x,z,y;

y.lo=1;

e0..y =n= 0;
e1..x =e= z + 3;
defvi.. 2*x =e= z;

모델 테스트 /all/;

$onEcho > "%메가 슬롯scrdir%reset.%메가 슬롯scrext%"
x.l=0; x.m=0;
y.l=1; y.m=0;
z.l=0; z.m=0;
e0.l=0; e0.m=0;
e1.l=0; e1.m=0;
defvi.l=0; defvi.m=0;
$offEcho

$include "%메가 슬롯scrdir%reset.%메가 슬롯scrext%"
$call echo 파일 이름 vitest1.gms > jams.opt
'echo vi e0 y > "%emp.info%"'를 실행합니다.
테스트.옵트파일=1;
emp를 사용하여 테스트를 해결합니다.

*참조 파일과 생성된 파일 비교
'sed "2d" vitest1.gms > vitest1.txt'를 실행합니다.
'sed "2d" vitest1ref.gms > vitest1ref.txt'를 실행합니다.
'=diff -I reslim -bw vitest1.txt vitest1ref.txt'를 실행합니다.
abort$errorlevel 'vitest1과 vitest1ref가 다릅니다';

$include "%메가 슬롯scrdir%reset.%메가 슬롯scrext%"
$call echo 파일 이름 vitest2.gms > jams.op2
'echo vi e0 y defvi x > "%emp.info%"'를 실행합니다.
test.optfile=2;
emp를 사용하여 테스트를 해결합니다.

*참조 파일과 생성된 파일 비교
'sed "2d" vitest2.gms > vitest2.txt'를 실행합니다.
'sed "2d" vitest2ref.gms > vitest2ref.txt'를 실행합니다.
'=diff -I reslim -bw vitest2.txt vitest2ref.txt'를 실행합니다.
abort$errorlevel 'vitest2와 vitest2ref가 다릅니다';

'rm -f vitest1* vitest2*'를 실행합니다.
'rm -f jams.opt jams.op2'를 실행합니다.

* 참조 파일
$onEcho > vitest1ref.gms
***********************************************
* 메가 슬롯/EMP가 2009년 9월 2일 04:52:46에 작성함
* 자세한 내용은 JAMS 옵션 "Dict"를 사용하세요.
***********************************************

변수 x1,x2,x3,u1,u2;

방정식 e1,e2,e3,zero_x1,zero_x2;

e1..2*x1 - x2 =E= 0;

e2.. x1 - x2 =E= 3;

e3.. x3 =N= 0;

zero_x1.. - 2*u1 - u2 =E= 0;

zero_x2.. u1 + u2 =E= 0;

* 기본이 아닌 경계를 설정
x3.lo = 1;

* 기본값이 아닌 수준 설정
x3.1 = 1;

모델 m / e1.u1,e2.u2,e3.x3,zero_x1.x1,zero_x2.x2 /;

m.limrow=0; m.limcol=0;

MCP를 사용하여 m을 해결합니다.
$offEcho

$onEcho > vitest2ref.gms
***********************************************
* 메가 슬롯/EMP가 2009년 9월 2일 04:52:46에 작성함
* 자세한 내용은 JAMS 옵션 "Dict"를 사용하세요.
***********************************************

변수 x1,x2,x3,u2;

방정식 e1,e2,e3,zero_x2;

e1..2*x1 - x2 - u2 =E= 0;

e2.. x1 - x2 =E= 3;

e3.. x3 =N= 0;

zero_x2..u2 =E= 0;

* 기본이 아닌 경계를 설정
x3.lo = 1;

* 기본값이 아닌 수준 설정
x3.1 = 1;

모델 m / e1.x1,e2.u2,e3.x3,zero_x2.x2 /;

m.limrow=0; m.limcol=0;

MCP를 사용하여 m을 해결합니다.
$offEcho