13i '통조림 공장' / 시애틀, 샌디에이고 /
14j 'markets' / 뉴욕, 시카고, 토피카 /;
31스칼라 f '1,000마일당 케이스당 운임(달러)' / 90 /;
44$if not set incname $abort '제공된 데이터 파일에 대한 포함 파일 이름이 없습니다'
47매개변수 c(i,j) '케이스당 수천 달러의 운송 비용';
48c(i,j) = f*d(i,j)/1000;
58supply(i) '공장 i의 공급 제한을 준수하세요'
59demand(j) '시장 j의 수요 충족';
61비용.. z =e= sum((i,j), c(i,j)*x(i,j));
63공급(i).. 합계(j, x(i,j)) =l= a(i);
65수요(j).. 합계(i, x(i,j)) =g= b(j);
69z를 최소화하는 lp를 사용하여 전송을 해결합니다.
74if__name__ ==
"__main__":
75sys_dir = sys.argv[1]
iflen(sys.argv) > 1
그밖에 없음
76work_dir = sys.argv[2]
iflen(sys.argv) > 2
그밖에 없음
77ws = GamsWorkspace(system_directory=sys_dir,working_directory=work_dir)
79 함께오픈(os.path.join(ws.working_directory,
"tdata.gms"),
"w")
as파일:
82작업 = ws.add_job_from_string(GAMS_MODEL)
84opt.defines[
"inc이름"] =
"tdata"
86 forrec
에job.out_db[
"x"]:
88f
"x(rec.key(0),rec.key(1)): 레벨=rec.level 한계=rec.marginal"