single05.gms : 싱글톤 세트에 대한 세트 속성의 정확성 확인

설명

이 테스트는 싱글톤 세트의 속성 설정이 올바른지 확인합니다. 이것은
루프 내부와 외부 모두에서 할당과 방정식에 대해 수행됩니다.

기고자: Lutz Westermann, 2015년 10월

소형 모델 유형 :슬롯 커뮤니티


카테고리 : 슬롯 커뮤니티 테스트 라이브러리


메인 파일 : single05.gms

$title '싱글톤 세트에 대한 세트 속성의 정확성 확인' (SINGLE05,SEQ=687)

$onText
이 테스트는 싱글톤 세트의 세트 속성이 올바른지 확인합니다. 이것은
루프 내부와 외부 모두에서 할당과 방정식에 대해 수행됩니다.

기고자: Lutz Westermann, 2015년 10월
$offText

내가 설정 / 1*10 /
              나는(i) / 3 /;
싱글톤 세트는(i) / 3 /;

스칼라 m,s;

* 단순 할당에서 싱글톤 세트의 세트 속성을 확인하세요.
m = 합계(im,im.rev);
s = is.rev;
abort$(m<>s) '예상치 못한 차이', m, s;

m = 합계(im,im.pos);
s = is.pos;
abort$(m<>s) '예상치 못한 차이', m, s;

m = 합계(im,im.off);
s = is.off;
abort$(m<>s) '예상치 못한 차이', m, s;

m = 합계(im,im.uel);
s = is.uel;
abort$(m<>s) '예상치 못한 차이', m, s;

m = 합계(im,im.val);
s = is.val;
abort$(m<>s) '예상치 못한 차이', m, s;

m = 합계(im,im.len);
s = is.len;
abort$(m<>s) '예상치 못한 차이', m, s;

m = 합계(im,im.tval);
s = is.tval;
abort$(m<>s) '예상치 못한 차이', m, s;

m = 합계(im,im.tlen);
s = is.tlen;
abort$(m<>s) '예상치 못한 차이', m, s;

* 루프 내의 단순 할당에서 싱글톤 세트에 대한 세트 속성을 확인합니다.
루프(나,
  나는(im)=아니요;
  나는(i)=예;
  (i)=예;

  m = 합계(im,im.rev);
  s = is.rev;
  abort$(m<>s) '예상치 못한 차이', m, s;

  m = 합계(im,im.pos);
  s = is.pos;
  abort$(m<>s) '예상치 못한 차이', m, s;

  m = 합계(im,im.off);
  s = is.off;
  abort$(m<>s) '예상치 못한 차이', m, s;

  m = 합계(im,im.uel);
  s = is.uel;
  abort$(m<>s) '예상치 못한 차이', m, s;

  m = 합계(im,im.val);
  s = is.val;
  abort$(m<>s) '예상치 못한 차이', m, s;

  m = 합계(im,im.len);
  s = is.len;
  abort$(m<>s) '예상치 못한 차이', m, s;

  m = 합계(im,im.tval);
  s = is.tval;
  abort$(m<>s) '예상치 못한 차이', m, s;

  m = 합계(im,im.tlen);
  s = is.tlen;
  abort$(m<>s) '예상치 못한 차이', m, s;
);

* 방정식의 싱글톤 세트에 대한 세트 속성 확인
가변 회전수, 회전수
         포스, 포스
         꺼져, 꺼져
         우엘스, 우엘름
         발스, 발름
         렌즈, 렌엠
         TVAL,TVALM
         트렌스,틀렌
         z;
방정식 erevs, erevm
         에포스, 에포스
         eoffs, eoffm
         유엘스, 유엘름
         평가, 평가
         엘렌스, 엘렌스
         etvals,etvalm
         에틀렌스,에틀렌엠
         obj;

obj..z =e= 1;

erevs..revs =e= is.rev;
erevm..revm =e= sum(im,im.rev);

eposs..poss =e= is.pos;
eposm..posm =e= sum(im,im.pos);

eoffs..offs =e= is.off;
eoffm..offm =e= sum(im,im.off);

euels..uels =e= is.uel;
euelm..uelm =e= sum(im,im.uel);

평가..vals =e= is.val;
evalm..valm =e= sum(im,im.val);

elens..렌즈 =e= is.len;
elenm..lenm =e= sum(im,im.len);

etvals..tvals =e= is.tval;
etvalm.. tvalm =e= sum(im,im.tval);

etlens..tlens =e= is.tlen;
etlenm..tlenm =e= sum(im,im.tlen);

모델 mymodel /all/;

mymodel us lp max z를 해결하세요.

abort$(revs.l<>revm.l) '예상치 못한 차이', revs.l, revm.l;
abort$(poss.l<>posm.l) '예상치 못한 차이', poss.l, posm.l;
abort$(offs.l<>offm.l) '예상치 못한 차이', offs.l, offm.l;
abort$(uels.l<>uelm.l) '예기치 않은 차이', uels.l, uelm.l;
abort$(vals.l<>valm.l) '예상치 못한 차이', vals.l, valm.l;
abort$(lens.l<>lenm.l) '예상치 못한 차이', lens.l, lenm.l;
abort$(tvals.l<>tvalm.l) '예기치 않은 차이', tvals.l, tvalm.l;
abort$(tlens.l<>tlenm.l) '예상치 못한 차이', tlens.l, tlenm.l;

* 루프 내 방정식의 싱글톤 세트에 대한 세트 속성 확인
루프(나,
  나는(im)=아니요;
  나는(i)=예;
  (i)=예;

  mymodel us lp max z를 해결하세요.

  abort$(revs.l<>revm.l) '예상치 못한 차이', revs.l, revm.l;
  abort$(poss.l<>posm.l) '예상치 못한 차이', poss.l, posm.l;
  abort$(offs.l<>offm.l) '예상치 못한 차이', offs.l, offm.l;
  abort$(uels.l<>uelm.l) '예기치 않은 차이', uels.l, uelm.l;
  abort$(vals.l<>valm.l) '예상치 못한 차이', vals.l, valm.l;
  abort$(lens.l<>lenm.l) '예상치 못한 차이', lens.l, lenm.l;
  abort$(tvals.l<>tvalm.l) '예기치 않은 차이', tvals.l, tvalm.l;
  abort$(tlens.l<>tlenm.l) '예상치 못한 차이', tlens.l, tlenm.l;
);