견적 받기
검색
제품
크레이지 슬롯 - 모델링 언어
크레이지 슬롯 MIRO
크레이지 슬롯 엔진
GAMSPy
문서
크레이지 슬롯
미로
엔진
학업
다운로드
크레이지 슬롯
미로
엔진
컨설팅
지원
커뮤니티
사례 연구
회의에서 우리를 만나세요
크레이지 슬롯 블로그 읽기
크레이지 슬롯 웹 세미나 방문
크레이지 슬롯 과정 수강
회사 소개
회사 정보
크레이지 슬롯 팀
경력
공석
인턴십
자문위원회
정보 보안
검색
×
검색
대소문자 구분
전체 단어 일치
크레이지 슬롯 문서
모델 라이브러리
MIRO 문서
엔진 문서
웹사이트 및 블로그
모두
사용자 가이드
해결사
도구
API
출시 노트
모두
모델
테스트
데이터
EMP
API
FIN
NOA
PSOPT
52(베타)
51
50
49
48
47
46
45
44
43
42
41
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25.1
버전:
문서
서문
출시 노트
설치 및 라이센스
튜토리얼 및 예시
크레이지 슬롯 언어 및 환경
솔버 매뉴얼
도구 매뉴얼
애플리케이션 프로그래밍 인터페이스
용어집
서지
모델 라이브러리
크레이지 슬롯 모델 라이브러리
크레이지 슬롯 테스트 라이브러리
크레이지 슬롯 데이터 라이브러리
크레이지 슬롯 EMP 라이브러리
크레이지 슬롯 API 라이브러리
FIN 라이브러리
NOA 도서관
PSOPT 라이브러리
색인
도움말
목차 숨기기
로드 중...
검색 중...
일치하는 항목 없음
제어
transport5.py
이 파일의 문서로 이동하세요.
1
7
8
가져오기
sys
9
에서
게임
가져오기
GamsWorkspace
10
11
GAMS_MODEL =
"""
12
설정
13
i '통조림 공장' / 시애틀, 샌디에이고 /
14
j 'markets' / 뉴욕, 시카고, 토피카 /;
15
16
매개변수
17
a(i) '경우에 따른 식물 i의 용량'
18
/ 시애틀 350
19
샌디에고 600 /
20
21
b(j) '경우에 따라 시장 j의 수요'
22
/뉴욕 325
23
시카고 300
24
토피카 275 /;
25
26
테이블 d(i,j) '거리(천 마일)'
27
뉴욕 시카고 토피카
28
시애틀 2.5 1.7 1.8
29
산디에고 2.5 1.8 1.4;
30
31
스칼라
32
f '1,000마일당 케이스당 운임(달러)' / 90 /
33
bmult '수요 승수' / 1 /;
34
35
매개변수 c(i,j) '케이스당 수천 달러의 운송 비용';
36
c(i,j) = f*d(i,j)/1000;
37
38
변수
39
x(i,j) '케이스의 배송 수량'
40
z '총 운송 비용(수천 달러)';
41
42
양수 변수 x;
43
44
방정식
45
비용 '목적 함수 정의'
46
supply(i) '공장 i의 공급 제한을 준수하세요'
47
demand(j) '시장 j의 수요를 충족';
48
49
비용.. z =e= sum((i,j), c(i,j)*x(i,j));
50
51
공급(i).. 합계(j, x(i,j)) =l= a(i);
52
53
수요(j).. sum(i, x(i,j)) =g= bmult*b(j);
54
55
모델 전송 /all/;
56
57
스칼라 ms '모델 상태', ss '해결 상태';
58
"""
59
60
if
__name__ ==
"__main__"
:
61
sys_dir = sys.argv[1]
if
len(sys.argv) > 1
그밖에
없음
62
work_dir = sys.argv[2]
if
len(sys.argv) > 2
그밖에
없음
63
ws = GamsWorkspace(system_directory=sys_dir,working_directory=work_dir)
64
65
cp = ws.add_checkpoint()
66
67
# GamsJob을 실행하여 GamsCheckpoint를 초기화합니다.
68
작업 = ws.add_job_from_string(GAMS_MODEL)
69
job.run(체크포인트=cp)
70
71
bmult = [0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3]
72
73
# GamsCheckpoint에서 초기화되는 새로운 GamsJob 생성
74
for
b
에
b다중:
75
작업 = ws.add_job_from_string(
76
f
"bmult=b; lp를 사용하여 전송 최소 z 해결; ms=transport.modelstat; ss=transport.solvestat;"
,
77
cp,
78
)
79
job.run()
80
인쇄(f
"시나리오 bmult=b:"
)
81
인쇄(f
" 모델 상태: job.out_db['ms'].find_record().value"
)
82
인쇄(f
" 해결 상태: job.out_db['ss'].find_record().value"
)
83
인쇄(f
" Obj: job.out_db['z'].find_record().level"
)