로드 중...
검색 중...
일치하는 항목 없음
TransportGDX.cs
1사용 중시스템;
2사용 중System.Collections.Generic;
3사용 중System.Linq;
4사용 중시스템.텍스트;
5사용 중크레이지 슬롯;
6
7네임스페이스TransportSeq
8{
21 클래스TransportGDX
22{
23 정적 무효메인(문자열[] 인수)
24{
26 if(Environment.GetCommandLineArgs().Length > 1)
27ws =신규 크레이지 슬롯작업공간(systemDirectory: Environment.GetCommandLineArgs()[1]);
28 그밖에
30
31 // C# 데이터 구조를 사용하여 일부 데이터 정의
32목록<string> 식물 =신규목록<문자열>()
33{
34 "시애틀", "샌디에고"
35};
36목록<string> 시장 =신규목록<문자열>()
37{
38 "뉴욕", "시카고", "토피카"
39};
40사전<문자열, 더블> 용량 =신규사전<문자열, 더블>()
41{
42{"시애틀", 350.0 }, { "샌디에고", 600.0 }
43};
44사전<string, double> 수요 =신규사전<문자열, 더블>()
45{
46{"뉴욕", 325.0 }, { "시카고", 300.0 }, { "토피카", 275.0 }
47};
48사전<튜플<문자열, 문자열>,더블> 거리 =신규사전<Tuple<문자열, 문자열>,더블>()
49{
50{신규튜플<문자열,문자열> ("시애틀", "뉴욕"), 2.5 },
51{신규튜플<문자열,문자열> ("시애틀", "시카고"), 1.7 },
52{신규튜플<문자열,문자열> ("시애틀", "토피카"), 1.8 },
53{신규튜플<문자열,문자열> ("샌디에고", "뉴욕"), 2.5 },
54{신규튜플<문자열,문자열> ("샌디에고", "시카고"), 1.8 },
55{신규튜플<문자열,문자열> ("샌디에고", "토피카"), 1.4 }
56};
57
58 // C# 데이터 구조의 데이터로 GAMSDatabase 준비
60
61 GAMSSeti = db.AddSet("나", 1,"통조림 공장");
62 foreach (문자열p식물)
63i.AddRecord(p);
64
65 GAMSSetj = db.AddSet("j", 1,"시장");
66 foreach (문자열m시장)
67j.AddRecord(m);
68
69 크레이지 슬롯매개변수a = db.AddParameter("a", "케이스에 있는 식물 i의 용량", i);
70 foreach (문자열p식물)
71a.AddRecord(p).= 용량[p];
72
73 크레이지 슬롯매개변수b = db.AddParameter("b", "경우에 따라 시장 j의 수요", j);
74 foreach (문자열min시장)
75b.AddRecord(m).= 수요[m];
76
77 크레이지 슬롯매개변수d = db.AddParameter("d", "수천 마일 단위의 거리", i, j);
78 foreach(튜플<문자열, 문자열> t거리.키)
79d.AddRecord(t.Item1, t.Item2).= 거리[t];
80
81 크레이지 슬롯매개변수f = db.AddParameter("f", "1,000마일당 케이스당 화물(달러)");
82f.AddRecord().= 90;
83
84 // GAMSDatabase를 GAMSWorkspace의 'workingDirectory'에 있는 이름이 'data.gdx'인 GDX 파일로 내보냅니다.
85db.내보내기("data.gdx");
86
87 // 새 GAMSDatabase를 추가하고 방금 생성된 GDX 파일에서 초기화
88 크레이지 슬롯데이터베이스db2 = ws.AddDatabaseFromGDX("data.gdx");
89
90 // 기호의 데이터를 C# 데이터 구조로 읽습니다.
91목록<string> 식물2 =신규목록<문자열>();
92 foreach (GAMSSetRecord항목db2.GetSet("나"))
93plants2.Add(item.Key(0));
94
95목록<string> 시장2 =신규목록<문자열>();
96 foreach (GAMSSetRecord항목indb2.GetSet("j"))
97markets2.Add(item.Key(0));
98
99사전<문자열, 더블> 용량2 =신규사전<string, double>();
100 foreach (GAMSParameterRecord항목indb2.GetParameter("a"))
101capacity2.Add(item.Key(0), item.Value);
102
103사전<문자열, 더블> 수요2 =신규사전<string, double>();
104 foreach (GAMSParameterRecord항목db2.GetParameter("b"))
105demand2.Add(item.Key(0), item.Value);
106
107사전<튜플<문자열, 문자열>,더블> 거리2 =신규사전<튜플<문자열, 문자열>,더블>();
108 foreach (GAMSParameterRecord항목indb2.GetParameter("d"))
109거리2.추가(신규튜플<string, string>(item.Key(0), item.Key(1)), item.Value);
110
111 // GDX 파일에서 읽은 데이터를 인쇄합니다.
112Console.WriteLine("data.gdx에서 읽은 데이터");
113Console.WriteLine("\ni 설정:");
114 foreach (문자열pin식물2)
115Console.WriteLine(" "+ p);
116Console.WriteLine("\nj 설정:");
117 foreach (문자열min시장2)
118Console.WriteLine(" "+ m);
119Console.WriteLine("\n매개변수 a:");
120 foreach(변수 항목용량2)
121Console.WriteLine(" "+ 아이템.키 +": "+ 항목.값);
122Console.WriteLine("\n매개변수 b:");
123 foreach(변수 항목수요2)
124Console.WriteLine(" "+ 아이템.키 +": "+ 항목.값);
125Console.WriteLine("\n매개변수 d:");
126 foreach(변수 항목in거리2)
127Console.WriteLine(" "+ 아이템.키 +": "+ 항목.값);
128
129 반환;
130}
131}
132}
GAMSSet AddSet(문자열 식별자, int 차원, 문자열 설명Text="", SetType setType=SetType.multi)
새 GAMSParameterRecord AddRecord(params 문자열[] 키)
새 GAMSSetRecord AddRecord(params 문자열[] 키)
GAMSDatabase AddDatabase(문자열 데이터베이스 이름=null, 문자열 inModelName=null)
이 예는 GDX 파일을 읽고 쓰기 위해 GAMSDatabase 클래스를 사용하는 방법을 보여줍니다....