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