설명
모델 명령문에서 evList 일치를 테스트합니다. 특히 유효한 입력에 대해 테스트하십시오. 기고자: Steven Dirkse, 2025년 4월
소형 모델 유형 :슬롯 게임
카테고리 : 슬롯 게임 테스트 라이브러리
메인 파일 : mcp18.gms
$title 모델 명령문에서 evList 일치 테스트(MCP18, SEQ=982)
$ontext
모델 문에서 evList 일치를 테스트합니다.
특히 유효한 입력에 대해 테스트하십시오.
기고자: Steven Dirkse, 2025년 4월
$offtext
세트
k / a, b /
j / 1, 2 /
kj(k,j)
;
별칭(k,i);
테이블 A(i,k,j)
a.1 a.2 b.1 b.2
1 -1 4 1
b 1 1 1 4 ;
매개변수
v_(k,j)
b(i)
;
v_(k,j) = ord(k) + (ord(j)-1)/2;
b(i) = 합계(k,j), A(i,k,j)*v_(k,j);
변수
v(k,j)
;
방정식
에프(나)
;
f(i).. 합계(k,j), A(i,k,j)*v(k,j) =E= b(i);
모델 mf / ( f ) : ( v ) /;
$macro CHECK_MOD(m) abort$[m.solvestat <> 1] '잘못된solvestat', m.solvestat
$ontext
-----------------------------------------------------------
사례: (f).(v)
행: f_a, f_b 열: v_a1, v_a2, v_b1, v_b2
결과: 2개의 열이 비어 있고 나머지는 고정되어 있다고 가정하면 잘 일치합니다.
-----------------------------------------------------------
$offtext
kj(k,j) = 아니오;
kj(i,'2') = 예;
v.lo(k,j) = -INF; v.up(k,j) = INF;
v.fx(kj) = v_(kj);
mcp를 사용하여 mf를 해결합니다. CHECK_MOD(mf);
kj(k,j) = 아니오;
kj('a','2') = 예;
kj('b','1') = 예;
v.lo(k,j) = -INF; v.up(k,j) = INF;
v.fx(kj) = v_(kj);
* evList 모델이 다른 모델의 일부가 될 수 있는지 확인하세요.
모델 mmf / mf /;
mcp를 사용하여 mmf를 해결합니다. CHECK_MOD(mmf);
kj(k,j) = 아니오;
kj('a',j) = 예;
v.lo(k,j) = -INF; v.up(k,j) = INF;
v.fx(kj) = v_(kj);
mcp를 사용하여 mf를 해결합니다. CHECK_MOD(mf);