simpenlp.gms : ENLP의 간단한 예

설명

이 모델은 EMP를 사용하여 간단한 ENLP를 해결하는 방법을 보여줍니다.

기고자: Michael C. Ferris, 2011년 2월

소형 모델 유형 :ENLP


카테고리 : 슬롯 사이트 EMP 라이브러리


메인 파일 : simpenlp.gms

$title ENLP의 간단한 예(SIMPENLP,SEQ=60)

$onText
이 모델은 EMP를 사용하여 간단한 ENLP를 해결하는 방법을 보여줍니다.

기고자: Michael C. Ferris, 2011년 2월
$offText

변수 obj,x1,x2;
방정식 f0,f1,f2;

f0..obj =e= -x2;

f1.. x1 + x2 + 0.5 =n= 0;
f2.. x1 - 3*x2 =e= 2;

x1.lo = 0;

파일 myinfo /'%emp.info%'/;
putclose myinfo 'modeltype nlp' / 'Adjustequ' / 'f1 maxz 2';

모델 enlpemp /all/;
emp min obj를 사용하여 enlpemp를 해결합니다.

양의 변수 w;
방정식 defobj, 디플로우;

defobj..obj =e= -x2 + 2*w;
디플로우.. w =g= x1 + x2 + 0.5;

모델 동등성 /defobj,f1,f2,deflow/;

lp min obj를 사용하여 Equivlp를 해결합니다.

abort$(enlpemp.objval <> Equivlp.objval) 'Objval이 다름', enlpemp.objval, Equivlp.objval;