로드 중...
검색 중...
일치하는 항목 없음
Transport2.java
1패키지com.슬롯 무료체험examples.transport;
2
3가져오기java.io.BufferedWriter;
4가져오기java.io.파일;
5가져오기java.io.FileWriter;
6가져오기java.io.IOException;
7
10가져오기 com.게임.API.GAMSVariableRecord;
12가져오기 com.게임.API.GAMSJob;
14가져오기 com.게임.API.GAMSWorkspaceInfo;
15
21공개 클래스수송2{
22
23 공개 정적 공허메인(문자열[] 인수)
25 // 명령줄 인수에서 작업공간 정보 확인
26 if(args.length > 0)
28wsInfo.setSystemDirectory(인수[0]);
29 // 사용자가 지정한 시스템 디렉토리와 기본 작업 디렉토리를 사용하여 GAMSWorkspace "ws"를 생성합니다.
30 // (System.getProperty("java.io.tmpdir") 아래에 현재 날짜와 시간으로 명명된 디렉터리)
31ws =신규 슬롯 무료체험작업공간(wsInfo);
32}그밖에{
33 // 기본 시스템 디렉토리와 기본 작업 디렉토리를 사용하여 GAMSWorkspace "ws"를 생성합니다.
34 // (System.getProperty("java.io.tmpdir") 아래의 현재 날짜 및 시간으로 명명된 디렉터리)
36}
37
38 // GAMSWorkspace 작업 디렉터리 아래의 "tdata.gms" 파일에 "data" 쓰기
39 시도해 보세요{
40BufferedWriter 파일 =신규버퍼링라이터(신규FileWriter(ws.workingDirectory() + GAMSGlobals.FILE_SEPARATOR +"tdata.gms"));
41file.write(데이터);
42file.close();
43}잡기(IOException e)
44e.printStackTrace();
45System.exit(-1);
46}
47
48 // "model" 문자열 변수에서 GAMSJob "t2" 생성
49 GAMSJobt2 = ws.addJobFromString(모델);
50 // GAMSOption "opt"를 생성하고 "incname"을 "tdata"로 정의
51GAMSOptions opt = ws.추가옵션();
52선택.정의("incname", "tdata");
53 // GAMSOptions "opt"를 사용하여 GAMSJob "t2" 실행
54t2.실행(선택);
55
56 // GAMSJob의 출력 데이터베이스에서 GAMSVariable "x" 검색
58 for (GAMSVariableRecordrec : var)
59System.out.println("x("+ rec.getKey(0) +", "+ rec.getKey(1) +"): 레벨="+ rec.getLevel() +" 한계="+ rec.getMarginal());
60
61 // 옵션 및 데이터베이스 삭제
62opt.dispose();
63t2.아웃DB().처분();
64 // GAMSWorkspace의 작업 디렉터리 정리
65정리(ws.workingDirectory());
66 // 프로그램 종료
67System.exit(0);
68}
69
70 정적 무효정리(문자열 디렉터리)
71파일 디렉토리ToDelete =신규파일(디렉토리);
72문자열 파일[] =directoryToDelete.list();
73 for(문자열 파일 : 파일)
74파일 fileToDelete =신규파일(디렉토리삭제, 파일);
75 시도해 보세요{
76fileToDelete.delete();
77}잡기(예외 e)
78e.printStackTrace();
79}
80}
81 시도{
82directoryToDelete.delete();
83}잡기(예외 e)
84e.printStackTrace();
85}
86}
87
88
89 // 데이터
90 정적문자열 데이터 =
91 "\n 세트" +
92 " 나는 식물 통조림 / 시애틀, 샌디에고 / \n" +
93 " j 마켓 / 뉴욕, 시카고, 토피카 / ; \n" +
94 "매개변수\n" +
95 " \n" +
96 " a(i) 경우에 따라 공장 i의 용량 \n" +
97 " / 시애틀 350 \n" +
98 " 샌디에고 600 / \n" +
99 " \n" +
100 " b(j) 경우의 시장 j 수요 \n" +
101 " / 뉴욕 325 \n" +
102 " 시카고 300 \n" +
103 " 토피카 275 / ; \n" +
104 " \n" +
105 "테이블 d(i,j) 거리(천 마일 단위) \n" +
106 " 뉴욕 시카고 토피카 \n" +
107 " 시애틀 2.5 1.7 1.8 \n" +
108 " 샌디에고 2.5 1.8 1.4 ; \n" +
109 " \n" +
110 "천 마일당 케이스당 달러 단위의 스칼라 f 화물 /90/ \n " +
111 " \n";
112
113 // 모델
114 정적문자열 모델 =
115 "세트 \n" +
116 "나는 식물을 통조림으로 만들고 있습니다 \n" +
117 " j 시장 \n" +
118 " \n" +
119 "매개변수\n" +
120 " a(i) 경우에 따라 공장 i의 용량 \n" +
121 " b(j) 경우의 시장 j 수요 \n" +
122 " d(i,j) 거리(천 마일 단위) \n" +
123 "천 마일당 케이스당 달러 단위의 스칼라 f 운임; \n" +
124 " \n" +
125 "$incname이 설정되지 않은 경우 $abort '제공된 데이터 파일에 대한 포함 파일 이름 없음'\n" +
126 "$include %incname% \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}
158
GAMSVariable getVariable(문자열 식별자)
슬롯 무료체험데이터베이스 OutDB()
void 정의(String defStr, String asStr)
void setSystemDirectory(문자열 디렉토리)
GAMSJob addJobFromString(문자열 소스)
이 예는 ...에서 간단한 슬롯 무료체험 [trnsport] 모델로 작업을 실행하기 위해 데이터 파일을 포함하는 방법을 보여줍니다.