24 공개 정적 공허main(String[] args)
30파일 WorkingDirectory =
신규파일(System.getProperty(
"user.dir"),
"수송8");
31workingDirectory.mkdir();
42큐<더블> bmultQueue =
신규링크드리스트<더블>(
43Arrays.asList( Double.valueOf(0.6), Double.valueOf(0.7), Double.valueOf(0.8), Double.valueOf(0.9),
44Double.valueOf(1.0), Double.valueOf(1.1), Double.valueOf(1.2), Double.valueOf(1.3) )
48객체 IOLockObject =
신규객체();
49 intnumberOfWorkers = 2;
50시나리오[] 시나리오 =
신규시나리오[numberOfWorkers];
51 for (
inti=0; i<노동자 수; 나++)
52시나리오[i] =
신규시나리오( ws, cp, bmultQueue, IOLockObject, i );
55 for (
inti=0; i<노동자 수; 나++)
58}
잡기(InterruptedException e)
82IOLockObject = IOLockObj;
96GAMSOptions opt = 작업공간.
추가옵션();
102bmult.addRecord().setValue( 1.0 );
108 if(bmultQueue.isEmpty())
111b = bmultQueue.remove();
113bmult.getFirstRecord().setValue(b);
117System.out.println(
"#"+작업자번호+
":시나리오 bmult="+ b +
":");
120System.out.println(
" 개체: "+ 마일.
SyncDB().
get변수(
"z").findRecord().getLevel());
132 " 나는 식물 통조림 / 시애틀, 샌디에이고 / \n" +
133 " j 마켓 / 뉴욕, 시카고, 토피카 / ; \n" +
136 " a(i) 경우에 따라 공장 i의 용량 \n" +
140 " b(j) 경우의 시장 j 수요 \n" +
145 "테이블 d(i,j) 거리(천 마일 단위) \n" +
147 "시애틀 2.5 1.7 1.8 \n" +
148 "샌디에고 2.5 1.8 1.4 ; \n" +
150 "천 마일당 케이스당 달러 단위의 스칼라 f 운임 /90/ ; \n" +
151 "스칼라 bmult 수요 승수 /1/; \n" +
153 "매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ; \n" +
154 " c(i,j) = f * d(i,j) / 1000 ; \n" +
157 " x(i,j) 케이스의 배송 수량 \n" +
158 " z 총 운송 비용(수천 달러) ; \n" +
164 " 공급(i) 공장 i의 공급 제한 준수 \n" +
165 " 수요(j)는 시장 j의 수요를 충족합니다. \n" +
167 " 비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ; \n" +
169 " 공급(i) .. sum(j, x(i,j)) =l= a(i) ; \n" +
171 " 수요(j) .. sum(i, x(i,j)) =g= bmult*b(j) ; \n" +