설명
이 모델은 EMP를 사용하여 간단한 QVI를 해결하는 방법을 보여줍니다. QVI는 K(x)에서 y를 찾는 것입니다. F(y)(z - y) >= 0, K(x)의 모든 z에 대해 K(x)는 집합 값 매핑이고, 주어진 x에 대해 K(x)는 닫힌 볼록 집합입니다. 기여자: 김영대 (2018.03.20)
소형 모델 유형 :QVI
카테고리 : 슬롯 나라 EMP 라이브러리
메인 파일 : simpleqvi1.gms
$title 단순 준변형 부등식(SIMPLEQVI1,SEQ=101)
$onText
이 모델은 EMP를 사용하여 간단한 QVI를 해결하는 방법을 보여줍니다.
QVI는 K(x)에서 y를 찾는 것입니다.
F(y)(z - y) >= 0, K(x)의 모든 z에 대해
K(x)는 집합 값 매핑이고, 주어진 x에 대해 K(x)는 닫힌 볼록 집합입니다.
기고자: 김영대 (2018.03.20)
$offText
i / 1*2 / 설정;
별칭(i,j);
양의 변수 y(i), x(i);
방정식 F(i), g(i);
에프(나)..
y(i) - 10 =N= 0;
그(나)..
(y('1') + x('2'))$(i.val eq 1) + (y('2') + x('1'))$(i.val eq 2) =L= 10;
모델 qvi / F, g /;
파일 empinfo / '%emp.info%' /;
putclose empinfo 'qvi F y x g';
emp를 사용하여 qvi를 해결합니다.
$onText
이는 MCP로 다시 공식화될 수 있습니다.
$offText
음수 변수 u(i) '보조 변수, perp to g_aux(i)';
방정식 F_aux(i), g_aux;
F_aux(i)..
y(i) - 10 - u(i) =N= 0;
g_aux(i)..
합(j, y(j)) =L= 10;
u.l(i) = g.m(i);
모델 개편 / F_aux.y, g_aux.u /;
개혁.iterlim = 0;
mcp를 사용하여 개혁을 해결합니다.
abort$(reform.objval > 1e-6) '솔루션이 다릅니다';