32 if(Environment.GetCommandLineArgs().Length > 1)
33ws =
신규 슬롯 사이트작업공간(systemDirectory: Environment.GetCommandLineArgs()[1]);
41 사용 중(StreamWriter 아웃파일 =
신규StreamWriter(Path.Combine(ws.
작업 디렉터리,
"cplex.opt")))
44outfile.WriteLine(
"epgap 0");
46outfile.WriteLine(
"대화형 1");
48outfile.WriteLine(
"iafile cplex.op2");
57StringWriter sw =
신규StringWriter();
60스레드 optThread =
신규스레드(
신규ThreadStart(delegate() j1.
실행(출력: sw, gamsOptions: 선택); ));
64목록<Tuple<int, String>> 단계 =
신규목록<Tuple<int, 문자열>>();
65단계.추가(
신규튜플<int, 문자열>(5,
"epgap 0.1"));
66단계.추가(
신규튜플<int, 문자열>(10,
"epgap 0.2"));
67단계.추가(
신규튜플<int, 문자열>(20,
"epagap 1e9"));
73 if(optThread.Join(TimeSpan.FromSeconds(s.Item1 - prevStep)))
77 사용 중(StreamWriter 아웃파일 =
신규StreamWriter(Path.Combine(ws.WorkingDirectory,
"cplex.op2")))
78outfile.WriteLine(s.Item2);
81Console.WriteLine(
"새 옵션을 계속하기 위해 Cplex가 중단되었습니다: "+ s.Item2);
89문자열 로그 = sw.ToString();
90 if(!log.Contains(
"중단되었습니다..."))
92Console.WriteLine(
"솔버가 적어도 한 번은 중단될 것으로 예상됩니다.");