로드 중...
검색 중...
일치하는 항목 없음
transport_neos.py
1가져오기무료 슬롯 사이트
2가져오기ssl
3가져오기sys
4가져오기시간
5가져오기xmlrpc.client
6가져오기인증서
7from게임가져오기GamsWorkspace
8
9# 무료 슬롯 사이트 XML 템플릿(채워질 예정)
10xml =r"""<문서>
11<범주>:범주:</category>
12<해석기>:해석기:</해석기>
13<inputType>GAMS</inputType>
14<이메일>:이메일:</email>
15<우선순위>짧음</우선순위>
16<모델><![CDATA[:model:]]></model>
17<wantgdx><![CDATA[예]]></wantgdx>
18<wantlog><![CDATA[예]]></wantlog>
19<wantlst><![CDATA[예]]></wantlst>
20</document>"""
21
22if__name__ =="__main__":
23sys_dir = sys.argv[1]iflen(sys.argv) > 1그밖에 없음
24work_dir = sys.argv[2]iflen(sys.argv) > 2그밖에 없음
25ws = GamsWorkspace(system_directory=sys_dir,working_directory=work_dir)
26
27모델 ="trnsport"
28ws.gamslib(모델)
29
30ssl_context = ssl.create_default_context(cafile=certifi.where())
31
32무료 슬롯 사이트 = xmlrpc.client.ServerProxy(
33 "https://무료 슬롯 사이트-server.org:3333", 컨텍스트=ssl_context
34 )
35 if "NeosServer가 살아있습니다" 아님 무료 슬롯 사이트ping():
36 올림예외("무료 슬롯 사이트 서버에 연결할 수 없습니다")
37
38 #은 무료 슬롯 사이트의 LP 솔버로 SoPlex나 CBC를 선택할 수 없으므로 MIP인 척하고 CBC를 사용합니다.
39xml = xml.replace(":범주:", "MILP")
40xml = xml.replace(":해결사:", "CBC")
41 if "NEOS_EMAIL" 무료 슬롯 사이트environ:
42xml = xml.replace(":이메일:", 무료 슬롯 사이트environ["NEOS_EMAIL"])
43 그밖에:
44 상승예외("환경 변수 'NEOS_EMAIL'을 찾을 수 없습니다.")
45 함께open(무료 슬롯 사이트path.join(ws.working_directory, 모델 +".gms"), "r") asf:
46xml = xml.replace(":모델:", f.read())
47
48job_number, 비밀번호 = 무료 슬롯 사이트submitJob(xml)
49인쇄(f"작업 번호: job_number")
50인쇄(f"작업 비밀번호: password")
51
52 if작업_번호 == 0:
53 올림예외(f"무료 슬롯 사이트 서버 오류: 비밀번호")
54
55오프셋 = 0
56에코 =
57상태 =""
58 그동안상태 !="완료":
59time.sleep(1)
60결과, 오프셋 = 무료 슬롯 사이트getIntermediateResults(job_number, 비밀번호, 오프셋)
61결과 = result.data.decode()
62 if에코:
63 if "결과를 작성 중입니다." in결과:# 이것은 첫 번째 출력을 제거합니다.
64결과 = 결과.분할("결과를 작성 중입니다.", 1)[0]
65에코 =거짓
66인쇄(결과, 끝="")
67status = 무료 슬롯 사이트getJobStatus(job_number, 비밀번호)
68
69result = 무료 슬롯 사이트getFinalResults(job_number, 비밀번호)
70 열기(
71f"job_number-무료 슬롯 사이트path.splitext(무료 슬롯 사이트path.basename(model + '.gms'))[0].lst", "w"
72 ) asf:
73f.write(result.data.decode())
74결과 = 무료 슬롯 사이트getOutputFile(job_number, 비밀번호,"solver-output.zip")
75 열기(f"job_number-solver-output.zip", "wb") asf:
76f.write(결과.데이터)