설명
이 모델은 핫스타트에서 웜스타트로의 전환을 하나의 mi.solve에서 다음 mi.solve로 테스트합니다. 기고자: Michael Bussieck, 2022년 1월
소형 모델 유형 :크레이지 슬롯
카테고리 : 크레이지 슬롯 테스트 라이브러리
메인 파일 : embmihws.gms
$title ModelInstance 핫/웜 스타트 스위치(EMBMIHWS,SEQ=886)
$onText
이 모델은 하나의 mi.solve에서 다음 mi.solve까지 핫스타트에서 웜스타트로의 전환을 테스트합니다.
기고자: Michael Bussieck, 2022년 1월
$offText
$log --- Python 라이브러리 %sysEnv.GMSPYTHONLIB% 사용
$onEchoV > runm.gms
스칼라 a /2/, b/2/, c/4/;
변수 x,y,z;
방정식 e1,e2,e3,obj;
e1..sqr(x) + sqr(y) =l= c;
e2.. x =g= a;
e3..y =l= b;
obj.. z =e= x + y;
모델 m /all/;
m max z us qcp를 풀어보세요;
임베디드 코드 Python:
defsolvMI(mi, SymIn=[], SymOut=[]):
SymIn의 Sym에 대해:
크레이지 슬롯db[sym].copy_symbol(mi.sync_db[sym])
mi.solve(출력=sys.stdout)
SymOut의 Sym에 대해:
시도해 보세요:
크레이지 슬롯db[sym].clear() # Sym에 대해 "writerTo" 플래그가 설정되었는지 확인하기 위해 기호를 명시적으로 지웁니다.
mi.sync_db[sym].copy_symbol(크레이지 슬롯db[sym])
제외:
통과
일시중지임베디드코드
abort$execerror '파이썬 오류입니다. 로그를 확인하세요';
$libInclude pyEmbMI mMI 'm us qcp max z' -all_model_types=cplex a.Zero b.Zero c.Zero
계속임베디드코드:
solvMI(mMI,['a','b','c'],['x','y'])
일시 중지EmbeddedCode x y
a = 3; b = 4; c = 9;
계속임베디드코드:
solvMI(mMI,['a','b','c'],['x','y'])
일시 중지EmbeddedCode x y
$offEcho
$call.checkErrorLevel 크레이지 슬롯 runm.gms lo=3 > runm.log
$call.checkErrorLevel grep -q "Hotstart failed" runm.log