로드 중...
검색 중...
일치하는 항목 없음
Transport4.java
1패키지com.무료 슬롯 사이트examples.transport;
2
3가져오기java.io.파일;
4가져오기java.util.Arrays;
5가져오기java.util.HashMap;
6가져오기java.util.List;
7가져오기java.util.Map;
8가져오기java.util.Vector;
9
11가져오기 com.감스.API.GAMSJob;
14가져오기 com.게임.API.GAMSSet;
16가져오기 com.게임.API.GAMSVariableRecord;
18가져오기 com.게임.API.GAMSWorkspaceInfo;
19
25공개 클래스운송4{
26
27 공개 정적 무효메인(문자열[] 인수)
28 // 명령줄 인수에서 작업공간 정보 확인
30 if(args.length > 0)
31wsInfo.setSystemDirectory( 인수[0] );
32 // 디렉토리 생성
33파일 WorkingDirectory =신규파일(System.getProperty("user.dir"), "수송4");
34workingDirectory.mkdir();
35wsInfo.setWorkingDirectory(workingDirectory.getAbsolutePath());
36 // 작업공간 생성
38
39 // 입력 데이터 준비
40List<String> 식물 = Arrays.asList("시애틀", "샌디에이고");
41List<String> 시장 = Arrays.asList("뉴욕", "시카고", "토피카");
42Map<String, Double> 용량 =신규HashMap<String, Double>();
43{
44용량.put("시애틀", Double.valueOf(350.0));
45capacity.put("샌디에이고", Double.valueOf(600.0));
46}
47Map<String, Double> 수요 =신규HashMap<String, Double>();
48{
49수요.put("뉴욕", Double.valueOf(325.0));
50수요.put("시카고", Double.valueOf(300.0));
51수요.put("토피카", Double.valueOf(275.0));
52}
53
54지도<벡터<문자열>, 이중> 거리 =신규HashMap<Vector<String>, Double>();
55{
56거리.put(신규Vector<String>( 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(신규문자열[]"San-Diego", "토피카") ), Double.valueOf(1.4));
62}
63
64 // 데이터베이스를 추가하고 데이터베이스에 입력 데이터를 추가합니다.
66
67 GAMSSeti = DB.추가세트("나", 1,"통조림 공장");
68 (문자열 p : 식물)
69i.addRecord(p);
70
71 GAMSSetj = db.추가세트("j", 1,"시장");
72 for(문자열 m : 시장)
73j.addRecord(m);
74
75 무료 슬롯 사이트매개변수a = DB.addParameter("a", "케이스에 있는 식물 i의 용량", i);
76 for(문자열 p : 식물)
77a.addRecord(p).setValue(capacity.get(p) );
78}
79
80 무료 슬롯 사이트매개변수b = DB.addParameter("b", "경우에 따라 시장 j의 수요", j);
81 for(문자열 m : 시장)
82b.addRecord(m).setValue(demand.get(m));
83
84 무료 슬롯 사이트매개변수d = DB.addParameter("d", "수천 마일 단위의 거리", i, j);
85 for(Vector<String> vd : distance.keySet())
86d.addRecord(vd).setValue( distance.get(vd).doubleValue() );
87
88 무료 슬롯 사이트매개변수f = DB.addParameter("f", "1,000마일당 케이스당 화물(달러)");
89f.addRecord().setValue( 90 );
90
91 // 모델에서 작업을 생성 및 실행하고 데이터베이스에서 gdx 포함 파일을 읽습니다.
92 GAMSJobt4 = ws.addJobFromString(모델);
93GAMSOptions opt = ws.추가옵션();
94선택.정의("gdxincname", DB.getName());
95
96t4.실행(선택, DB);
97
99 for(GAMSVariableRecordrec : var)
100System.out.println("x("+ rec.getKey(0) +", "+ rec.getKey(1) +"): 레벨="+ rec.getLevel() +" 한계="+ rec.getMarginal());
101System.out.println();
102
103 // Xpress에 대한 모든 모델 유형의 옵션을 설정하고 작업을 다시 실행
104opt.setAllModelTypes("익스프레스");
105t4.실행(선택, DB);
106
107 for(GAMSVariableRecordrec : t4.아웃DB().get변수("x"))
108System.out.println("x("+ rec.getKey(0) +","+ rec.getKey(1) +"): 레벨="+ rec.getLevel() +" 한계="+ rec.getMarginal());
109
110}
111
112 정적문자열 모델 =
113 "\n 세트" +
114 "나는 식물을 통조림으로 만들고 있습니다 \n" +
115 " j 시장 \n" +
116 " \n" +
117 " 매개변수 \n" +
118 " a(i) 경우에 따라 공장 i의 용량 \n" +
119 " b(j) 경우의 시장 j 수요 \n" +
120 " d(i,j) 거리(천 마일 단위) \n" +
121 " 천 마일당 케이스당 달러 단위의 스칼라 f 운임; \n" +
122 " \n" +
123 "$if gdxincname $abort '제공된 데이터 파일에 대한 포함 파일 이름이 설정되지 않았습니다'\n" +
124 "$gdxin %gdxincname% \n" +
125 "$load i j a b d f \n" +
126 "$gdxin \n" +
127 " \n" +
128 " 매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ; \n" +
129 " \n" +
130 " c(i,j) = f * d(i,j) / 1000 ; \n" +
131 " \n" +
132 " 변수 \n" +
133 " x(i,j) 케이스의 배송 수량 \n" +
134 " z 총 운송 비용(수천 달러) ; \n" +
135 " \n" +
136 " 양수 변수 x ; \n" +
137 " \n" +
138 " 방정식 \n" +
139 " \n" +
140 " 비용 정의 목적 함수 \n" +
141 " 공급(i) 공장 i의 공급 제한 준수 \n" +
142 " 수요(j)는 시장 j의 수요를 충족합니다. \n" +
143 " \n" +
144 " 비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ; \n" +
145 " \n" +
146 " 공급(i) .. sum(j, x(i,j)) =l= a(i) ; \n" +
147 " \n" +
148 " 수요(j) .. sum(i, x(i,j)) =g= b(j) ; \n" +
149 " \n" +
150 " 모델 전송 /all/ ; \n" +
151 " \n" +
152 " z를 최소화하는 lp를 사용하여 전송 문제를 해결합니다. \n" +
153 " \n" +
154 " x.l, x.m 표시 ; \n" +
155 " \n";
156}
157
GAMSSet addSet(문자열 식별자, 정수 차원)
GAMSParameter addParameter(문자열 식별자, 정수 차원)
GAMSVariable getVariable(문자열 식별자)
무료 슬롯 사이트데이터베이스 OutDB()
void 정의(String defStr, String asStr)
무료 슬롯 사이트데이터베이스 addDatabase()
이 예는 Java 데이터 구조에서 GAMSDatabase를 준비하는 방법을 보여줍니다.