로드 중...
검색 중...
일치하는 항목 없음
Transport3.cs
1사용 중시스템;
2사용 중System.Collections.Generic;
3사용 중시스템.텍스트;
4사용 중시스템.IO;
5사용 중피망 슬롯;
6
7네임스페이스TransportSeq
8{
23 클래스운송3
24{
25 정적 무효메인(문자열[] 인수)
26{
28 if(Environment.GetCommandLineArgs().Length > 1)
29ws =신규 피망 슬롯작업공간(systemDirectory: Environment.GetCommandLineArgs()[1]);
30 그밖에
31ws =신규 피망 슬롯작업공간();
32
33 // GDX 파일로 명시적으로 내보내는 피망 슬롯 구문이 포함된 문자열의 데이터
34 GAMSJobt3 = ws.AddJobFromString(GetDataText());
35t3.실행();
36t3.아웃DB.내보내기(ws.작업 디렉터리+ Path.DirectorySeparatorChar +"tdata.gdx");
37
38 // 데이터 포함 파일을 정의하는 GAMSOptions 인스턴스를 사용하여 작업 실행
39t3 = ws.AddJobFromString(GetModelText());
40 사용 중 (피망 슬롯옵션opt = ws.추가옵션())
41{
42선택.정의.추가("gdxincname", "tdata");
43opt.AllModelTypes ="익스프레스";
44t3.실행(선택);
45 foreach (GAMSVariableRecordrecint3.아웃DB.GetVariable("x"))
46Console.WriteLine("x("+ Rec.Key(0) +","+ Rec.Key(1) +"): 레벨="+ 추천레벨 + " 한계="+ 추천한계);
47}
48
49 // 동일하지만 암시적 데이터베이스 통신이 있음
50 사용 중 (피망 슬롯옵션opt = ws.추가옵션())
51{
52 GAMSJobt3a = ws.AddJobFromString(GetDataText());
53 GAMSJobt3b = ws.AddJobFromString(GetModelText());
54t3a.실행();
55선택.정의.추가("gdxincname", t3a.아웃DB.이름);
56opt.AllModelTypes ="익스프레스";
57t3b.실행(선택, t3a.아웃DB);
58 foreach (GAMSVariableRecordrecint3b.OutDB.GetVariable("x"))
59Console.WriteLine("x("+ Rec.Key(0) +","+ Rec.Key(1) +"): 레벨="+ 추천레벨 + " 한계="+ 추천한계);
60}
61
62}
63
64 정적문자열 GetDataText()
65{
66문자열 데이터 =@"
67세트
68i 통조림 공장 / 시애틀, 샌디에이고 /
69j 마켓 / 뉴욕, 시카고, 토피카 / ;
70
71매개변수
72
73a(i) 경우에 따라 공장 i의 용량
74/ 시애틀 350
75샌디에고 600 /
76
77b(j) 경우에 따라 시장 j의 수요
78/ 뉴욕 325
79시카고 300
80토페카 275 / ;
81
82테이블 d(i,j) 거리(천 마일 단위)
83뉴욕 시카고 토피카
84시애틀 2.5 1.7 1.8
85산디에고 2.5 1.8 1.4 ;
86
87천 마일당 케이스당 달러 단위의 스칼라 f 화물 /90/ ;
88";
89 반환데이터;
90}
91
92 정적문자열 GetModelText()
93{
94문자열 모델 =@"
95세트
96나는 통조림 공장
97j 시장
98
99매개변수
100a(i) 경우에 따라 공장 i의 용량
101b(j) 경우에 따라 시장 j의 수요
102d(i,j) 거리(천 마일)
103천 마일당 케이스당 달러 단위의 스칼라 f 화물;
104
105$if 설정되지 않음 gdxincname $abort '제공된 데이터 파일에 대한 포함 파일 이름 없음'
106$gdxin %gdxincname%
107$load i j a b d f
108$gdxin
109
110매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ;
111
112c(i,j) = f * d(i,j) / 1000 ;
113
114변수
115x(i,j) 케이스의 배송 수량
116z 총 운송 비용(천 달러) ;
117
118양수 변수 x ;
119
120수식
121비용 정의 목적 함수
122공급(i) 공장 i의 공급 제한을 준수
123수요(j)는 시장 j의 수요를 충족합니다. ;
124
125비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ;
126
127공급(i) .. 합계(j, x(i,j)) =l= a(i) ;
128
129수요(j) .. 합계(i, x(i,j)) =g= b(j) ;
130
131모델 전송 /all/ ;
132
133z를 최소화하는 lp를 사용하여 전송을 해결합니다.
134
135x.l, x.m 표시 ;
136";
137
138 반환모델;
139}
140
141}
142}
GAMSVariable GetVariable(문자열 변수 식별자)
피망 슬롯데이터베이스 OutDB
void Run(GAMSOptions gamsOptions=null, GAMSCheckpoint 체크포인트=null, TextWriter 출력=null, Boolean createOutDB=true)
사전< 문자열, 문자열 > 정의
GAMSJob AddJobFromString(문자열 gamsSource, GAMSCheckpoint 체크포인트=null, 문자열 jobName=null)
GAMSOptions AddOptions(GAMSOptions optFrom=null)
이것은 일련의 튜토리얼 예제 중 세 번째 모델입니다. 여기서는 문자열에서 데이터를 읽는 방법을 보여줍니다...