설명
이 모델은 EMP에 의해 생성된 모델을 해당 모델과 비교합니다. 수동으로 모델 구축 기여자: Steven Dirkse 및 Jan-H. Jagla , 2009년 1월
소형 모델 유형 :크레이지 슬롯
카테고리 : 크레이지 슬롯 테스트 라이브러리
메인 파일 : empvi02.gms
$title 수동 모델과 EMP-VI 모델을 비교합니다(EMPVI02,SEQ=424)
$onText
이 모델은 EMP에서 생성된 모델을 해당 모델과 비교합니다.
수동으로 모델 구축
기여자: Steven Dirkse 및 Jan-H. Jagla , 2009년 1월
$offText
I / 1 * 2 / 설정;
양의 변수 x(I);
양의 변수 u;
방정식 f(I), g;
방정식 f2(I) 'vi의 MCP 버전';
f(I).. ord(I) * x(I) =N= 0;
g.. 합계 I, x(I) =G= 1;
f2(I).. ord(I) * x(I) - u =N= 0;
모델 viMCP / f /;
모델 vi / f, g /;
파일 myinfo / "%emp.info%" /;
put myinfo '* viMCP와 vi 모두에 대한 상보성 쌍';
putclose / 'vi f x';
model mcp1 'viMCP의 MCP 버전' / f.x /;
model mcp2 'vi의 MCP 버전' / f2.x, g.u /;
mcp를 사용하여 mcp1을 해결합니다.
viMCP.iterlim = 0;
emp를 사용하여 viMCP를 해결합니다.
abort$[viMCP.objval > 1e-6] '모델 vi에 대한 입력은 최적이어야 하지만 그렇지 않았습니다.';
x.l(I) = 0;
mcp를 사용하여 mcp2를 해결합니다.
vi.iterlim = 0;
emp를 사용하여 vi를 해결하십시오.
abort$[vi.objval > 1e-6] '모델 vi에 대한 입력은 최적이어야 하지만 그렇지 않았습니다.';