15from gams
import GamsWorkspace
18def interrupt_gams(job):
23if __name__ ==
"__main__":
24 parser = argparse.ArgumentParser()
25 parser.add_argument(
"sysDir", nargs=
"?", default=
None)
26 parser.add_argument(
"workDir", nargs=
"?", default=
None)
27 parser.add_argument(
"-nonInteractive", action=
"store_true")
28 args = parser.parse_args()
30 ws = GamsWorkspace(system_directory=args.sysDir, working_directory=args.workDir)
34 job = ws.add_job_from_file(
"dicex.gms")
35 opt = ws.add_options()
36 opt.all_model_types =
"scip"
38 if args.nonInteractive:
40 threading.Thread(target=interrupt_gams, args=(job,)).start()
43 signal.signal(signal.SIGINT,
lambda signal, frame: job.interrupt())
46 job.run(opt, output=sys.stdout)