33파일 WorkingDirectory =
신규파일(System.getProperty(
"user.dir"),
"수송4");
34workingDirectory.mkdir();
40List<String> 식물 = Arrays.asList(
"시애틀",
"샌디에고");
41List<String> 시장 = Arrays.asList(
"뉴욕",
"시카고",
"토피카");
42Map<String, Double> 용량 =
신규HashMap<String, Double>();
44용량.put(
"시애틀", Double.valueOf(350.0));
45용량.put(
"샌디에고", Double.valueOf(600.0));
47Map<String, Double> 수요 =
신규HashMap<String, Double>();
49수요.put(
"뉴욕", Double.valueOf(325.0));
50수요.put(
"시카고", Double.valueOf(300.0));
51수요.put(
"토피카", Double.valueOf(275.0));
54지도<벡터<문자열>, 이중> 거리 =
신규HashMap<Vector<String>, Double>();
56거리.put(
신규벡터<문자열>( Arrays.asList(
신규문자열[]
"시애틀",
"뉴욕") ), Double.valueOf(2.5));
57거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"시애틀",
"시카고") ), Double.valueOf(1.7));
58거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"시애틀",
"토피카") ), Double.valueOf(1.8));
59거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"샌디에고",
"뉴욕") ), Double.valueOf(2.5));
60거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"샌디에고",
"시카고") ), Double.valueOf(1.8));
61거리.put(
신규Vector<String>( Arrays.asList(
신규문자열[]
"샌디에이고",
"토피카") ), Double.valueOf(1.4));
77a.addRecord(p).setValue(capacity.get(p) );
82b.addRecord(m).setValue(demand.get(m) );
85 for(Vector<String> vd : distance.keySet())
86d.addRecord(vd).setValue( distance.get(vd).doubleValue() );
89f.addRecord().setValue( 90 );
93GAMSOptions opt = ws.
추가옵션();
100System.out.println(
"x("+ rec.getKey(0) +
", "+ rec.getKey(1) +
"): 레벨="+ rec.getLevel() +
" 한계="+ rec.getMarginal());
104opt.setAllModelTypes(
"익스프레스");
108System.out.println(
"x("+ rec.getKey(0) +
","+ rec.getKey(1) +
"): 레벨="+ rec.getLevel() +
" 한계="+ rec.getMarginal());
114 "나는 식물을 통조림으로 만들고 있습니다 \n" +
118 " a(i) 경우에 따라 공장 i의 용량 \n" +
119 " b(j) 경우의 시장 j 수요 \n" +
120 " d(i,j) 거리(천 마일 단위) \n" +
121 " 천 마일당 케이스당 달러 단위의 스칼라 f 운임; \n" +
123 "$if gdxincname이 설정되지 않음 $abort '제공된 데이터 파일에 대한 포함 파일 이름 없음'\n" +
124 "$gdxin %gdxincname% \n" +
125 "$load i j a b d f \n" +
128 " 매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ; \n" +
130 " c(i,j) = f * d(i,j) / 1000 ; \n" +
133 " 케이스의 x(i,j) 배송 수량 \n" +
134 " z 총 운송 비용(수천 달러) ; \n" +
141 " 공급(i) 공장 i의 공급 제한 준수 \n" +
142 " 수요(j)는 시장 j의 수요를 충족시킵니다. \n" +
144 " 비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ; \n" +
146 " 공급(i) .. sum(j, x(i,j)) =l= a(i) ; \n" +
148 " 수요(j) .. sum(i, x(i,j)) =g= b(j) ; \n" +
150 " 모델 전송 /all/ ; \n" +
152 " z를 최소화하는 lp를 사용하여 전송 문제를 해결합니다. \n" +
154 " x.l, x.m 표시 ; \n" +