emp17.gms : 하나의 최적화 에이전트에 대한 간단한 테스트

설명

24.8 이전에는 임의의 목적 계수 c가 올바르게 처리되지 않았습니다.
Trac #3002에 보고되었습니다.

기고자: 김영대 및 Steve Dirkse, 2016년 6월

소형 모델 유형 :슬롯 게임


카테고리 : 슬롯 게임 테스트 라이브러리


메인 파일 : emp17.gms

$title 하나의 최적화 에이전트에 대한 간단한 테스트 (EMP17,SEQ=693)

$onText
24.8 이전에는 임의의 목적 계수 c가 올바르게 처리되지 않았습니다.
Trac #3002에 보고되었습니다.

기고자: 김영대 & Steve Dirkse, 2016년 6월
$offText

스칼라
  톨 / 1e-6 /
  c / 1 /
  ;
변수 z;
양의 변수 v;
방정식 zdef;

zdef.. c*z =E= sqr(v) - 2*v + 2;

모델 m / zdef /;

k / '-8', '-1', 1, 8 / 설정;
매개변수 cc(k) /
 '-8' -8
 '-1' -1
   1 1
   8 8
  /;

파일 empinfo / '%emp.info%' /;
루프 k,
  c =cc(k);
  empinfo '평형' 입력 /;
  만약 (c > 0),
    empinfo 'min'을 입력하세요.
  그렇지 않으면
    empinfo '최대'를 입력하세요.
  ;
  putclose 'z v zdef' /;
  emp를 사용하여 m을 해결합니다.
  abort$(m.solvestat <> %solveStat.normalCompletion%) '잘못된solvestat';
  abort$(m.modelstat > %modelStat.locallyOptimal%) '잘못된 modelstat';

  abort$(abs(c*z.l - 1) > tol) '잘못된 z 레벨';
  abort$(abs(z.m - 0) > tol) '잘못된 z 한계';
  abort$(abs(v.l - 1) > tol) '나쁜 v 레벨';
  abort$(abs(v.m - 0) > tol) '나쁜 v 한계';

  abort$(abs(zdef.l - 2) > tol) '잘못된 zdef 수준';
  abort$(abs(c*zdef.m - 1) > tol) '잘못된 zdef 한계';
;