cplex07.gms : CPLEX 테스트 스위트 - bch 현직 검사기

설명

CPLEX 링크 옵션 'userincbcall'(BCH 현직 검사기)을 테스트합니다. 이 인스턴스
추가로 'miptrace' 및 BCH 휴리스틱 테스트가 포함됩니다.

기고자: Renke Kuhlmann, 2020년 10월

소형 모델 유형 :슬롯 무료체험


카테고리 : 슬롯 무료체험 테스트 라이브러리


메인 파일 : cplex07.gms

$title 'CPLEX 테스트 스위트 - bch 현직 검사기' (CPLEX07,SEQ=832)
$if not '%슬롯 무료체험lp%' == '' $set 솔버 %슬롯 무료체험lp%
$설정되지 않은 경우 솔버 $set 솔버 cplex
$onText
CPLEX 링크 옵션 'userincbcall'(BCH 현직 검사기)을 테스트합니다. 이 인스턴스
추가로 'miptrace' 및 BCH 휴리스틱 테스트가 포함됩니다.

기고자: Renke Kuhlmann, 2020년 10월
$offText

$call gamslib -q 12

$call =게임 매직 lo=%슬롯 무료체험lo% 솔버=%solver%
$if errorlevel 1 $abort '원래 문제를 해결하는 문제'

* 현직 보고서 테스트

$onEchoV > incubemt_check.gms
$echo BCH 재직 보고서 > cplex07_empty_report.txt
$offEcho

$echo userincbicall incubemt_check > %solver%.opt

$call =게임 매직 lo=%슬롯 무료체험lo% 솔버=%solver% optfile=1
$if errorlevel 1 $abort '%solver% userincbicall 옵션 문제'

$call =grep -q "BCH 기존 보고서" Magic.lst
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'
$call =grep -q "BCH 기존 보고서" cplex07_empty_report.txt
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'

* 기존 확인 및 miptrace 테스트(항상 허용)

$onEchoV > incubemt_check.gms
'재직 수락'을 중단합니다.
$offEcho

$echo userincbcall incubemt_check > %solver%.opt
$echo miptrace miptrace.trc >> %solver%.opt

$call =게임 매직 lo=%슬롯 무료체험lo% 솔버=%solver% optfile=1
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'

$call =grep -q "BCH 현직 확인: 거부됨" Magic.lst
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'
$call =grep -q "BCH 현직 확인: 승인됨" Magic.lst
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'

$call =grep -q ".*, E, .*, 988540, 988540" miptrace.trc
$if errorlevel 1 $abort '%solver% miptrace 옵션 문제'

* 기존 확인 및 miptrace 테스트(항상 거부)

$onEchoV > incubemt_check.gms

$offEcho

$echo userincbcall incubemt_check > %solver%.opt
$echo miptrace miptrace.trc >> %solver%.opt

$call =게임 매직 lo=%슬롯 무료체험lo% 솔버=%solver% optfile=1 nodlim=20
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'

$call =grep -q "BCH 현직 확인: 거부됨" Magic.lst
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'
$call =grep -q "BCH 현직 확인: 승인됨" Magic.lst
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'

$call =grep -q ".*, E, .*, na, 988540" miptrace.trc
$if errorlevel 1 $abort '%solver% miptrace 옵션 문제'

* 재직자 확인 및 사용자 경험적 방법 테스트
* 사용자 휴리스틱은 n개의 변수를 수정하여 1320300의 해를 제공합니다.

$onEchoV > userheur.gms
$include Magic.gms
n.lo(g,t) = n.up(g,t);
mip를 사용하여 비용을 최소화하는 윌리엄의 문제를 해결합니다.
$offEcho

$onEchoV > incubemt_check.gms
매개변수 c;
$gdxIn bchout_i.gdx
$load c=cost.l
$gdxIn
abort$(c = 1320300) '현재 수락';
$offEcho

$echo userheurcall userheur.gms >> %solver%.opt

$call =게임 매직 lo=%슬롯 무료체험lo% 솔버=%solver% optfile=1 nodlim=20
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'

$call =grep -q "BCH 현직 확인: 거부됨" Magic.lst
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'
$call =grep -q "BCH 현직 확인: 승인됨" Magic.lst
$if errorlevel 1 $abort '%solver% userincbcall 옵션 문제'

$call =grep -q ".*, E, .*, 1320300\|.*, E, .*, 1.3203e+06" miptrace.trc
$if errorlevel 1 $abort '%solver% miptrace 옵션 문제'