로드 중...
검색 중...
일치하는 항목 없음
Transport7.java
1패키지com.무료 슬롯examples.transport;
2
3가져오기java.io.파일;
4
7가져오기 com.게임.API.GAMSJob;
9가져오기 com.게임.API.GAMSModifier;
12가져오기 com.게임.API.GAMSSetRecord;
15가져오기 com.게임.API.GAMSWorkspaceInfo;
16
23공개 클래스운송7{
24
25 공개 정적 무효메인(문자열[] 인수)
26 // 명령줄 인수에서 작업공간 정보 확인
28 if(args.length > 0)
29wsInfo.setSystemDirectory( 인수[0] );
30 // 디렉토리 생성
31파일 WorkingDirectory =신규파일(System.getProperty("user.dir"), "교통7");
32workingDirectory.mkdir();
33wsInfo.setWorkingDirectory(workingDirectory.getAbsolutePath());
34 // 작업공간 생성
36 // 체크포인트 생성
38
39 // 작업을 실행하여 체크포인트를 초기화합니다.
40 GAMSJobt7 = ws.addJobFromString(모델);
41t7.실행(cp);
42
43 // MoelInstance를 생성하고 다른 스칼라 bmult를 사용하여 여러 번 해결합니다.
45 무료 슬롯매개변수bmult = mi.SyncDB().addParameter("bmult", "수요 승수");
46GAMSOptions opt = ws.추가옵션();
47선택.setAllModelTypes("복합체");
48
49 // ModelInstance를 인스턴스화하고 모델 정의 및 수정자를 전달하여 bmult 변경 가능을 선언
50mi.인스턴스화("운송은 lp min z를 사용합니다", 선택,신규 GAMSModifier(bmult));
51
52bmult.addRecord().setValue( 1.0 );
53 더블[] bmultilist =신규 더블[] { 0.6, 0.7 , 0.8, 0.9, 1.0, 1.1, 1.2, 1.3 };
54
55 for (더블b : bmultlist)
56bmult.getFirstRecord().setValue(b );
57mi.해결();
58System.out.println("시나리오 bmult="+ b +":");
59System.out.println(" 모델 상태: "+ 마일.getModelStatus());
60System.out.println(" 해결 상태: "+ 마일.getSolveStatus());
61System.out.println(" 개체: "+ 마일.SyncDB().get변수("z").findRecord().getLevel());
62}
63
64 // ModelInstance를 생성하고 차단된 네트워크의 단일 링크로 해결
65mi = cp.addModelInstance();
66
67 무료 슬롯변수x = 마일.SyncDB().변수 추가("x", 2, GAMSGlobals.VarType.POSITIVE,"");
68 무료 슬롯매개변수xup = mi.SyncDB().addParameter("xup", 2,"x의 상한");
69
70 // ModelInstance를 인스턴스화하고 모델 정의 및 수정자를 전달하여 X의 상한을 변경 가능으로 선언
71mi.인스턴스화("운송은 lp min z를 사용합니다", 신규 GAMSModifier(x, GAMSGlobals.UpdateAction.UPPER, xup));
72
73 for (GAMSSetRecordi : t7.아웃DB().getSet("나")) {
74 for (GAMSSetRecordj : t7.아웃DB().getSet("j")) {
75xup.clear();
76문자열[] 키 = i.getKey(0), j.getKey(0) ;
77xup.addRecord(keys).setValue(0);
78mi.해결();
79System.out.println("시나리오 링크가 차단되었습니다: "+ i.getKey(0) +" - "+ j.getKey(0));
80System.out.println(" 모델 상태: "+ 마일.getModelStatus());
81System.out.println(" 해결 상태: "+ 마일.getSolveStatus());
82System.out.println(" 개체: "+ 마일.SyncDB().get변수("z").findRecord().getLevel());
83}
84}
85}
86
87
88 정적문자열 모델 =
89 "세트 \n" +
90 " i 통조림 공장 / 시애틀, 샌디에고 / \n" +
91 " j 마켓 / 뉴욕, 시카고, 토피카 / ; \n" +
92 " \n" +
93 "매개변수\n" +
94 " a(i) 경우에 따라 공장 i의 용량 \n" +
95 " / 시애틀 350 \n" +
96 " 샌디에고 600 / \n" +
97 " \n" +
98 " b(j) 경우의 시장 j 수요 \n" +
99 " / 뉴욕 325 \n" +
100 " 시카고 300 \n" +
101 " 토피카 275 / ; \n" +
102 " \n" +
103 "테이블 d(i,j) 거리(천 마일 단위) \n" +
104 " 뉴욕 시카고 토피카 \n" +
105 "시애틀 2.5 1.7 1.8 \n" +
106 "샌디에고 2.5 1.8 1.4 ; \n" +
107 " \n" +
108 "천 마일당 케이스당 달러 단위의 스칼라 f 화물 /90/ ; \n" +
109 "스칼라 bmult 수요 승수 /1/; \n" +
110 " \n" +
111 "매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ; \n" +
112 " c(i,j) = f * d(i,j) / 1000 ; \n" +
113 " \n" +
114 "변수 \n" +
115 " x(i,j) 배송 수량 \n" +
116 " z 총 운송 비용(수천 달러) ; \n" +
117 " \n" +
118 "양수 변수 x ; \n" +
119 " \n" +
120 "방정식 \n" +
121 " 비용 정의 목적 함수 \n" +
122 " 공급(i) 공장 i의 공급 제한 준수 \n" +
123 " 수요(j)는 시장 j의 수요를 충족시킵니다. \n" +
124 " \n" +
125 " 비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ; \n" +
126 " \n" +
127 " 공급(i) .. sum(j, x(i,j)) =l= a(i) ; \n" +
128 " \n" +
129 " 수요(j) .. sum(i, x(i,j)) =g= bmult*b(j) ; \n" +
130 " \n" +
131 "모델 전송 /all/ ; \n" +
132 " \n";
133}
GAMSVariable addVariable(문자열 식별자, int 차원, GAMSGlobals.VarType varType)
GAMSParameter addParameter(문자열 식별자, 정수 차원)
GAMSVariable getVariable(문자열 식별자)
GAMSSet getSet(문자열 식별자)
무료 슬롯데이터베이스 OutDB()
무료 슬롯데이터베이스 SyncDB()
void instantiate(String modelDefinition, GAMSModifier ... modifiers)
void setAllModelTypes(문자열 값)
void setSystemDirectory(문자열 디렉토리)
void setWorkingDirectory(문자열 디렉터리)
GAMSJob addJobFromString(문자열 소스)
이 예는 GAMSCheckpoint에서 GAMSModelInstance를 생성하는 방법과 매개변수를 수정하는 방법을 보여줍니다...