설명
가스 무역 모델(GTM)은 상호 관련된 가스 시장을 모델링합니다. 공급과 균형을 맞추기 위해 가격은 자유롭게 움직일 수 있습니다. 수요. 불균형은 통제를 통해 도입될 수 있습니다. 가격 및/또는 거래 수량.
소형 모델 유형 :NLP
카테고리 : 무료 슬롯 사이트 모델 라이브러리
메인 파일 : gtm.gms
$title 국제 가스 무역 모델(GTM,SEQ=53)
$onText
가스 무역 모델(GTM)은 상호 관련된 가스 시장을 모델링합니다.
공급과 균형을 맞추기 위해 가격은 자유롭게 움직일 수 있습니다.
수요. 불균형은 통제를 통해 도입될 수 있습니다.
가격 및/또는 거래량.
Manne, A S 및 Beltramo, M A, GTM: 국제 가스 무역 모델,
국제 에너지 프로그램 보고서. 1984년 스탠포드 대학교.
키워드: 비선형 프로그래밍, 가스 거래, 가격 탄력성, 에너지 경제학,
국제 무역
$offText
세트
i '공급 지역' / 멕시코, 앨버타-BC, 대서양, 애팔래시아
us-gulf, mid-cont, permian-b, 로키산맥
태평양, 알래스카 /
j '수요 지역' / 멕시코, 서부 캔, 온트 퀘벡, 대서양
new-engl, ny-nj, mid-atl, south-atl
중서부, 남서부, 중앙, n-중앙
서쪽, n-서쪽 /
jfx(j) '수요가 고정된 지역' / 멕시코, 서부 캔, 온트 퀘벡, 대서양 /
ij(i,j) '실행 가능한 링크';
테이블 sdat(i,*) '공급 데이터'
ref-p1 ref-q1 ref-p2 ref-q2 제한
* ($/mcf) (tcf) ($/mcf) (tcf) (tcf)
멕시코 2.0 .5 2.5
앨버타-BC 3.0 1.6 3.75
대서양 .25 .03 .3
애팔래시아 3.5 .58 7.0 .65 .72
미국 만 3.5 7.88 7.0 8.82 9.75
중간 연속 3.5 2.07 7.0 2.31 2.55
페름기-b 3.5 1.39 7.0 1.55 1.72
로키산맥 3.5 1.16 7.0 1.30 1.44
태평양 3.5 .42 7.0 .47 .52
알래스카 2.0 .80 2.0 .1 inf;
테이블 ddat(j,*) '수요 데이터'
ref-p ref-q elas 세금 면제
* ($/mcf) (tcf) ($/mcf) (tcf)
멕시코 1.0 2.2 -.5
웨스트캔 3.0 1.47 -.5
온트-퀘벡 3.5 1.38 -.5
대서양 3.5 .20 -.5
new-engl 9.37 .76 -.60
ny-nj 8.33 1.18 -.66
중간 atl 8.26 .89 -.65
남쪽 atl 8.07 1.62 -.89
중서부 8.01 2.96 -.65
남서쪽 7.29 6.04 -.84
중앙 7.79 1.17 -.67
n-중앙 8.06 1.51 -.54
서쪽 8.18 2.10 -.43
n-서쪽 9.39 .36 -.57;
매개변수
supa(i) '공급 상수 a'
supb(i) '공급 상수 b'
supc(i) '공급 용량'
dema(j) '수요 상수 a'
demb(j) '수요 상수 b';
supc(i) = sdat(i,"한계");
supb(i) = ((sdat(i,"ref-p1") - sdat(i,"ref-p2"))
/ (1/(supc(i) - sdat(i,"ref-q1"))-1/(supc(i) - sdat(i,"ref-q2"))))
$(supc(i) <> inf);
supa(i) = sdat(i,"ref-p1") - supb(i)/(supc(i) - sdat(i,"ref-q1"));
* 어떤 경우에는 정확히 0으로 평가되는 supa(i)에 의존합니다.
supa(i) = round(supa(i),4);
supc(i)$(supc(i) = inf) = 100;
sdat(i,"sup-a") = supa(i);
sdat(i,"sup-b") = supb(i);
디스플레이 sdat;
demb(j) = 1/ddat(j,"elas") + 1;
dema(j) = ddat(j,"ref-p")/demb(j)/ddat(j,"ref-q")**(demb(j) - 1);
ddat(j,"dem-a") = dema(j);
ddat(j,"dem-b") = demb(j);
디스플레이 ddat;
테이블 utc(i,j) '단위 운송 비용(mcf당 $)'
멕시코 서부-수 온트-퀘벡 대서양 new-engl ny-nj mid-atl south-atl 중서부 남서부
멕시코 .25 2.29 2.22 2.03 1.96 1.25
앨버타-bc .40 .90 1.15 1.10 1.10 1.55 .80 1.25
대서양 1.50
애팔래시아 .72 .46
미국만 2.12 1.08 1.01 .82 .75 .04
중간 연속 .86 .14
페름기-b .83 .77 .05
로키산맥 0.53
알래스카 6.0
+ 중앙 n-중앙 서쪽 n-서쪽
멕시코 2.13
앨버타-bc .80 .65 .70 .65
우리 걸프 .54
중간 연속 .64
페름기-b .55 .94
로키산맥 .31 .58 .70 1.91
태평양 .43 ;
테이블 pc(i,j) '파이프라인 용량(tcf)'
멕시코 서부-수 온트-퀘벡 대서양 new-engl ny-nj mid-atl south-atl 중서부 남서부
멕시코 INF .067 .067 .067 .067
앨버타-bc inf inf .30 .150 .10 inf
대서양 inf inf
애팔래시아 .34 .35
us-gulf inf 1.390 1.060 2.0 2.62 3.73
중간 연속 .62 2.30
페름기-b .12 1.45
로키산맥 0.48
알래스카 0.80
+ 중앙 n-중앙 서쪽 n-서쪽
멕시코 .033
앨버타-BC inf inf inf inf
중간 연속 1.03
페름기-b 1.46
로키산맥 .14 inf .10 inf
태평양 .48 ;
세트
check1(i,j) '비용이 0이고 용량이 0이 아닌 공급 링크'
check2(i,j) '비용은 0이 아니지만 용량은 0인 공급 링크';
check1(i,j) = yes$(utc(i,j) = 0 및 pc(i,j) <> 0);
check2(i,j) = yes$(utc(i,j) <> 0 및 pc(i,j) = 0);
ij(i,j) = 예$pc(i,j);
check1, check2를 표시합니다.
변수
x(i,j) '천연가스 선적(tcf)'
s(i) '지역 공급(tcf)'
d(j) '지역 수요(tcf)'
'소비자 혜택 - 비용' 혜택;
양수 변수 x, s, d;
방정식
sb(i) '공급수지(tcf)'
db(j) '수요잔고(tcf)'
bdef '혜택 정의';
sb(i).. sum(j$ij(i,j), x(i,j)) =l= s(i);
db(j).. sum(i$ij(i,j), x(i,j)) =g= d(j);
bdef.. 혜택 =e= sum(j, dema(j)*d(j)**demb(j))
- sum(i, supa(i)*s(i) - supb(i)*log((supc(i) - s(i))/supc(i)))
- sum((i,j)$ij(i,j), utc(i,j)*x(i,j));
x.up(i,j) = pc(i,j);
d.lo(j) = .2;
d.fx(jfx) = ddat(jfx,"ref-q");
s.up(i) = 0.99*supc(i);
모델 gtm '가스 수송 모델' / 모두 /;
nlp를 사용하여 gtm의 이점을 극대화하는 문제를 해결합니다.
매개변수
report1(i,*) '공급 요약 보고서'
report2(j,*) '수요 요약 보고서';
Report1(i,"공급") = s.l(i);
Report1(i,"용량") = s.up(i);
report1(i,"가격") = sb.m(i);
Report2(j,"수요") = d.l(j);
Report2(j,"가격") = -db.m(j);
보고서1, 보고서2, xl을 표시합니다.