로드 중...
검색 중...
일치하는 항목 없음
Transport7.cs
1사용 중시스템;
2사용 중System.Collections.Generic;
3사용 중시스템.텍스트;
4사용 중시스템.IO;
6
7네임스페이스TransportSeq
8{
23 클래스운송7
24{
25 정적 무효메인(문자열[] 인수)
26{
28 if(Environment.GetCommandLineArgs().Length > 1)
29ws =신규 슬롯 사이트 추천작업공간(systemDirectory: Environment.GetCommandLineArgs()[1]);
30 그밖에
33
34 // GAMSJob을 실행하여 GAMSCheckpoint 초기화
35 GAMSJobt7 = ws.AddJobFromString(GetModelText());
36t7.실행(cp);
37
38 // GAMSModelInstance를 생성하고 다른 스칼라 bmult를 사용하여 여러 번 해결합니다.
40
41 슬롯 사이트 추천매개변수bmult = mi.SyncDB.매개변수 추가("bmult", "수요 승수");
43opt.AllModelTypes ="복합체";
44
45 // GAMSModelInstance를 인스턴스화하고 모델 정의 및 GAMSModifier를 전달하여 bmult 변경 가능 선언
46mi.인스턴스화("운송은 lp min z를 사용합니다", 선택,신규 GAMSModifier(bmult));
47
48b다중.AddRecord().= 1.0;
49 더블[] bmultilist =신규 더블[] { 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3 };
50
51 foreach (더블binb멀티리스트)
52{
53bmult.FirstRecord().값 = b;
54mi.Solve();
55Console.WriteLine("시나리오 bmult="+ b +":");
56Console.WriteLine(" 모델 상태: "+ mi.ModelStatus);
57Console.WriteLine(" 해결 상태: "+ mi.SolveStatus);
58Console.WriteLine(" 개체: "+ mi.SyncDB.GetVariable("z").FindRecord().레벨);
59}
60
61 // GAMSModelInstance를 생성하고 차단된 네트워크의 단일 링크로 해결
62mi = cp.AddModelInstance();
63
64 슬롯 사이트 추천변수x = mi.SyncDB.AddVariable("x", 2,VarType.긍정적,"");
65 슬롯 사이트 추천매개변수xup = mi.SyncDB.AddParameter("xup", 2,"x의 상한");
66
67 // GAMSModelInstance를 인스턴스화하고 모델 정의 및 GAMSModifier를 전달하여 X의 상한을 변경 가능으로 선언
68mi.인스턴스화("운송은 lp min z를 사용합니다", 신규 GAMSModifier(x,업데이트작업.Upper,xup));
69
70 foreach (GAMSSetRecordit7.OutDB.GetSet("나"))
71 foreach (GAMSSetRecordjt7.OutDB.GetSet("j"))
72{
73xup.Clear();
74xup.AddRecord(i.Key(0),j.Key(0)).값 = 0;
75mi.Solve();
76Console.WriteLine("시나리오 링크가 차단되었습니다: "+ i.Key(0) +" - "+ j.Key(0));
77Console.WriteLine(" 모델 상태: "+ mi.ModelStatus);
78Console.WriteLine(" 해결 상태: "+ mi.SolveStatus);
79Console.WriteLine(" 개체: "+ mi.SyncDB.GetVariable("z").FindRecord().레벨);
80}
81}
82
83 정적문자열 GetModelText()
84{
85문자열 모델 =@"
86세트
87i 통조림 공장 / 시애틀, 샌디에고 /
88j 마켓 / 뉴욕, 시카고, 토피카 / ;
89
90매개변수
91
92a(i) 경우에 따라 공장 i의 용량
93/시애틀 350
94샌디에고 600 /
95
96b(j) 경우에 따라 시장 j의 수요
97/뉴욕 325
98시카고 300
99토페카 275 / ;
100
101테이블 d(i,j) 거리(천 마일 단위)
102뉴욕 시카고 토피카
103시애틀 2.5 1.7 1.8
104산디에고 2.5 1.8 1.4 ;
105
106천 마일당 케이스당 달러 단위의 스칼라 f 화물 /90/ ;
107스칼라 bmult 수요 승수 /1/;
108
109매개변수 c(i,j) 운송 비용(케이스당 수천 달러) ;
110
111c(i,j) = f * d(i,j) / 1000 ;
112
113변수
114x(i,j) 케이스의 배송 수량
115z 총 운송 비용(수천 달러) ;
116
117양수 변수 x ;
118
119수식
120비용 정의 목적 함수
121공급(i) 공장 i의 공급 제한을 준수
122수요(j)는 시장 j의 수요를 충족합니다. ;
123
124비용 .. z =e= sum((i,j), c(i,j)*x(i,j)) ;
125
126공급(i) .. 합계(j, x(i,j)) =l= a(i) ;
127
128수요(j) .. sum(i, x(i,j)) =g= bmult*b(j) ;
129
130모델 전송 /all/ ;
131";
132
133 반환모델;
134}
135
136}
137}
GAMSModelInstance AddModelInstance(string modelInstanceName=null)
GAMSParameter AddParameter(문자열 식별자, 정수 차원, 문자열 설명텍스트="")
void Run(GAMSOptions gamsOptions=null, GAMSCheckpoint 체크포인트=null, TextWriter 출력=null, Boolean createOutDB=true)
슬롯 사이트 추천데이터베이스 SyncDB
void 인스턴스화(문자열 모델 정의, params GAMSModifier[] 수정자)
새 GAMSParameterRecord AddRecord(params 문자열[] 키)
GAMSJob AddJobFromString(문자열 gamsSource, GAMSCheckpoint 체크포인트=null, 문자열 jobName=null)
GAMSCheckpoint AddCheckpoint(string checkpointName=null)
GAMSOptions AddOptions(GAMSOptions optFrom=null)
이것은 일련의 튜토리얼 예제 중 7번째 모델입니다. 여기서는 GAMSModelInstan을 생성하는 방법을 보여줍니다...