설명
CONOPT4의 멀티스레드 기능 평가를 테스트합니다. 기고자: Renke Kuhlmann, 2021년 2월
소형 모델 유형 :슬롯 머신
카테고리 : 슬롯 머신 테스트 라이브러리
메인 파일 : conopt02.gms
$title 'CONOPT 테스트 스위트 - 멀티스레드 테스트' (CONOPT02,SEQ=852)
$if not '%슬롯 머신nlp%' == '' $set 솔버 %슬롯 머신nlp%
$설정되지 않은 경우 솔버 $set 솔버 conopt4
$onText
CONOPT4의 다중 스레드 기능 평가를 테스트합니다.
기고자: Renke Kuhlmann, 2021년 2월
$offText
$설정되지 않은 경우 DEMOSIZE $set DEMOSIZE 0
$%DEMOSIZE%가 아닌 경우 == 0 $exit
i / 1*100000 / 설정;
변수 x(i), z;
방정식 e(i), obj;
e(i)$(ord(i)>1).. sqrt(x(i) - x(i-1)) =E= 1;
obj.. z =E= x('100000');
x.lo(i) = 1e-4;
x.up(i) = 10;
x.l(i) = 1;
x.fx('1') = 0;
모델 m / 모두 /;
옵션 스레드 = 2;
z를 최소화하는 NLP를 사용하여 m을 해결합니다.
abort$(m.modelstat <> %modelStat.optimal% 및 m.modelstat <> %modelStat.locallyOptimal%) '잘못된 모델 상태';
abort$(m.solvestat <> %solveStat.normalCompletion%) '잘못된 해결 상태';
abort$(abs(z.l - 1) > 1e-6) '잘못된 최적 목표';
abort$(sum(i, abs(x.l(i) - 1) > 1e-6) > 1) '잘못된 최적 솔루션';