로드 중...
검색 중...
일치하는 항목 없음
Transport4.cs
1사용 중시스템;
2사용 중System.Collections.Generic;
3사용 중System.Linq;
4사용 중시스템.텍스트;
6
7네임스페이스TransportSeq
8{
20 클래스운송4
21{
22 정적 무효메인(문자열[] 인수)
23{
25 if(Environment.GetCommandLineArgs().Length > 1)
26ws =신규 무료 슬롯 게임작업공간(systemDirectory: Environment.GetCommandLineArgs()[1]);
27 그밖에
29
30 // C# 데이터 구조를 사용하여 일부 데이터 정의
31목록<string> 식물 =신규목록<문자열>()
32{
33 "시애틀", "샌디에이고"
34};
35목록<string> 시장 =신규목록<문자열>()
36{
37 "뉴욕", "시카고", "토피카"
38};
39사전<문자열, 더블> 용량 =신규사전<문자열, 더블>()
40{
41{"시애틀", 350.0 }, { "샌디에고", 600.0 }
42};
43사전<string, double> 수요 =신규사전<문자열, 더블>()
44{
45{"뉴욕", 325.0 }, { "시카고", 300.0 }, { "토피카", 275.0 }
46};
47사전<튜플<문자열,문자열>,더블> 거리 =신규사전<Tuple<문자열,문자열>,더블>()
48{
49{신규튜플<문자열,문자열> ("시애틀", "뉴욕"), 2.5 },
50{신규튜플<문자열,문자열> ("시애틀", "시카고"), 1.7 },
51{신규튜플<문자열,문자열> ("시애틀", "토피카"), 1.8 },
52{신규튜플<문자열,문자열> ("샌디에고", "뉴욕"), 2.5 },
53{신규튜플<문자열,문자열> ("샌디에고", "시카고"), 1.8 },
54{신규튜플<문자열,문자열> ("샌디에이고", "토피카"), 1.4 }
55};
56
57 // C# 데이터 구조의 데이터로 GAMSDatabase 준비
59
60 GAMSSeti = DB.AddSet("나", 1,"통조림 공장");
61 foreach (문자열pin식물)
62i.AddRecord(p);
63
64 GAMSSetj = db.AddSet("j", 1,"시장");
65 foreach (문자열m시장)
66j.AddRecord(m);
67
68 무료 슬롯 게임매개변수a = db.AddParameter("a", "케이스에 있는 식물 i의 용량", i);
69 foreach (문자열p식물)
70a.AddRecord(p).= 용량[p];
71
72 무료 슬롯 게임매개변수b = db.AddParameter("b", "경우에 따라 시장 j의 수요", j);
73 foreach (문자열m시장)
74b.AddRecord(m).= 수요[m];
75
76 무료 슬롯 게임매개변수d = db.AddParameter("d", "수천 마일 단위의 거리", i, j);
77 foreach(튜플<문자열,문자열> t거리.키)
78d.AddRecord(t.Item1,t.Item2).= 거리[t];
79
80 무료 슬롯 게임매개변수f = db.AddParameter("f", "1,000마일당 케이스당 화물(달러)");
81f.AddRecord().= 90;
82
83 // 생성된 GAMSDatabase의 데이터를 사용하여 작업 실행
84 GAMSJobt4 = ws.AddJobFromString(GetModelText());
85 사용 중 (무료 슬롯 게임옵션opt = ws.AddOptions())
86{
87선택.정의.추가("gdxincname", db.이름);
88opt.AllModelTypes ="익스프레스";
89t4.실행(선택, DB);
90 foreach (GAMSVariableRecordrecint4.아웃DB.GetVariable("x"))
91Console.WriteLine("x("+ Rec.Key(0) +","+ Rec.Key(1) +"): 레벨="+ 기록.레벨 + " 한계="+ 추천한계);
92}
93}
94
95 정적문자열 GetModelText()
96{
97문자열 모델 =@"
98세트
99나는 통조림 공장
100j 시장
101
102매개변수
103a(i) 경우에 따라 공장 i의 용량
104b(j) 경우에 따라 시장 j의 수요
105d(i,j) 거리(천 마일)
106천 마일당 케이스당 달러 단위의 스칼라 f 화물;
107
108$if 설정되지 않음 gdxincname $abort '제공된 데이터 파일에 대한 포함 파일 이름 없음'
109$gdxin %gdxincname%
110$load i j a b d f
111$gdxin
112
113매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ;
114
115c(i,j) = f * d(i,j) / 1000 ;
116
117변수
118x(i,j) 케이스의 배송 수량
119z 총 운송 비용(수천 달러) ;
120
121양수 변수 x ;
122
123수식
124비용 정의 목적 함수
125공급(i) 공장 i의 공급 제한 준수
126수요(j)는 시장 j의 수요를 충족합니다. ;
127
128비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ;
129
130공급(i) .. 합계(j, x(i,j)) =l= a(i) ;
131
132수요(j) .. 합계(i, x(i,j)) =g= b(j) ;
133
134모델 전송 /all/ ;
135
136z를 최소화하는 lp를 사용하여 전송을 해결합니다;
137
138x.l, x.m 표시 ;
139";
140
141 반환모델;
142}
143
144}
145}
GAMSVariable GetVariable(문자열 변수 식별자)
GAMSSet AddSet(문자열 식별자, int 차원, 문자열 설명텍스트="", SetType setType=SetType.multi)
무료 슬롯 게임데이터베이스 OutDB
void Run(GAMSOptions gamsOptions=null, GAMSCheckpoint 체크포인트=null, TextWriter 출력=null, Boolean createOutDB=true)
새 GAMSParameterRecord AddRecord(params 문자열[] 키)
새 GAMSSetRecord AddRecord(params 문자열[] 키)
GAMSDatabase AddDatabase(문자열 데이터베이스 이름=null, 문자열 inModelName=null)
이것은 일련의 튜토리얼 예제 중 4번째 모델입니다. 여기서는 C# 데이터를 사용하여 데이터를 정의하는 방법을 보여줍니다...