설명
볼록 껍질 재구성에 대한 LOGMIP 동작 테스트 var가 0으로 고정되고 a의 NL 방정식에 나타날 때의 분리 분리. 이로 인해 메가 슬롯 24.9.1 및 이전 버전의 버그가 발생했습니다. 기고자: Steve Dirkse, 2017년 9월
소형 모델 유형 :메가 슬롯
카테고리 : 메가 슬롯 테스트 라이브러리
메인 파일 : emp27.gms
$title 'x.fx=0 처리에서 LOGMIP/EMP 테스트' (EMP27,SEQ=738)
$onText
볼록 껍질 재구성에 대한 LOGMIP 동작을 테스트합니다.
var가 0으로 고정되고 a의 NL 방정식에 나타날 때의 분리
분리.
이로 인해 메가 슬롯 24.9.1 및 이전 버전의 버그가 발생했습니다.
기고자: Steve Dirkse, 2017년 9월
$offText
$설정되지 않은 경우 TESTTOL $set TESTTOL 1e-6
스칼라 tol / %TESTTOL% /;
i / i1 * i3 / 설정;
매개변수
c(i) '객관 중심' /
i1 0.25
i2 0.25
/
b1(i) 'ball1 중심' /
나는1 2
i2 2
i3 1
/
b2(i) 'ball2 중심' /
i1 -2
i2 -2
i3 -1
/
변수 v(i), z;
방정식 zDef, ball1, ball2;
zDef..sumi, sqr(v(i)-c(i)) =E= z;
ball1..sumi, sqr(v(i)-b1(i)) =L= 3;
ball2..sumi, sqr(v(i)-b2(i)) =L= 3;
모델 m /모두/ ;
파일 emp / '%emp.info%' /;
putclose emp
/ '모델 유형 minlp'
/ '기본 척 100'
/ '분리 * ball1 else ball2'
/;
옵션 optcr =0.0;
옵션 emp = logmip;
* 귀찮은 변수수정입니다
v.fx('i3') = 0;
EMP 최소화 z를 사용하여 m을 해결합니다.
abort$[m.solveStat <> 1] 'solveStat==1이 예상됩니다.', m.solveStat;
abort$[abs(z.L-1.125) > 1e-6] 'z.L=1.125가 예상됩니다.', z.L;
abort$[abs(ball1.L-3) > 1e-6] '예상된 ball1.L=3, 있음:', ball1.L;
abort$[abs(ball2.L-19) > 1e-6] '예상된 ball2.L=19, 도착:', ball2.L;