설명
이 모델은 1974년 세계은행에서 배경으로 사용되었습니다. 에너지 태스크 포스에 대한 연구. 출력 정책을 분석하는 데 사용되었습니다. OPEC을 위해. 연구가 수행된 당시에는 완전한 최적화가 이루어지지 않았습니다. 시도되었습니다.
소형 모델 유형 :NLP
카테고리 : 슬롯 무료체험 모델 라이브러리
메인 파일 : otpop.gms
$title OPEC 무역 및 생산의 동적 모델(OTPOP,SEQ=47)
$onText
이 모델은 1974년 세계은행이 배경으로 사용했습니다.
에너지 태스크 포스에 대한 연구. 출력 정책을 분석하는 데 사용되었습니다.
OPEC을 위해. 연구가 수행된 당시에는 완전한 최적화가 이루어지지 않았습니다.
시도되었습니다.
Blitzer, C, Meeraus, A 및 Stoutjesdijk, A, OPEC 무역의 동적 모델
및 생산. 개발경제학 저널, 2(1975), 318-335.
키워드: 비선형 계획법, 생산 정책, 무역 정책, 에너지 경제학
$offText
세트
tt '총 시간 범위' / 1965*1990 /
th(tt) '역사적 연도' / 1965*1974 /
t(tt) '모델 지평선' / 1974*1990 /
tp(tt) '예상 연도' / 1975*1990 /
n '기억(년)' / 1*3 /;
매개변수
db(t) '수요 스케일링 상수'
xb(t) 'OPEC 생산능력'
rd(t) '흡수 용량'
del(t) '외국자산 축적'
alpha(n) 'ph에 대한 가중치' / 1 .5, 2 .3, 3 .2 /
phis(tt) '역사적 가격($ bbl)' / 1965*1971 3.5, 1972 4.0, 1973 7.0, 1974 10.0 /
y(tt) '연도 값'
xtr(t) 'x 타겟'
ptr(t) 'p 대상';
스칼라
'수요의 가격 탄력성' / 0 /
b '비OPEC 가격 탄력성' / .2 /
g '장기 수요 증가' / .04 /
r '실질 수익률' / .03 /
gr '흡수능력 증가' / .07 /
c '생산 및 배송 비용' / .25 /
l '투자 지연' / 4 /
v '터미널 할인' / .25 /
ph '대체 투자 트리거(bbl당 $)' / 3.0 /
pb '대안에서 얻은 모든 새로운 에너지(bbl당 $)' / 9.0 /
xb74 'OPEC 생산능력(밀 bpd)' / 32.25 /
x74 'OPEC 생산량(밀 bpd)' / 29.4 /
d74 '세계 에너지 수요(밀 bpd)' / 88.2 /
db74 '수요 확장 상수'
rd74 '1974년 흡수능력' / 20 /
con '시프트 매개변수 상수';
db74 = d74*phis("1974")**a;
db(t) = db74*(1 + g)**(ord(t) - 1);
con = g/pb**b/(pb - ph);
rd(t) = rd74*(1 + gr)**(ord(t) - 1);
del(t) = (1 + r)**(카드(t) - ord(t));
y(tt) = 1964 + ord(tt);
xb(t) = xb74 + 3.0*min(y(t) - 1974,6) + .9*max(y(t) - 1980,0);
xtr(t) = min(xb(t),x74*1.02**(ord(t) - 1));
ptr(t) = 10*1.02**(ord(t) - 1);
db74, db, rd, del, con, y, xb, xtr, ptr을 표시합니다.
$sTitle 모델 정의
변수
x(tt) 'OPEC 석유 판매(밀 bpd)'
d(tt) '에너지 수요(밀 bpd)'
as(tt) '시프트 매개변수'
p(tt) '에너지 가격(bbl당 $)'
pd(tt) '에너지의 예상 가격(bbl당 $)'
k '최종 해외 자산(bill $)'
z '지상 석유 가치(청구서 $)'
xdev '출력 편차'
pdev '가격 편차'
파이 '기준';
양수 변수 x;
방정식
dem(t) '에너지 수요(밀 bpd)'
sup(t) 'OPEC 공급(밀 bpd)'
adef(tt) 'shift 매개변수 정의'
pdef(tt) '예상 가격 정의(bbl당 $)'
kdef '해외 자산(청구서 $)'
zdef '비생산 준비금(청구서 $)'
xtrack 'x 추적 오류 정의'
ptrack 'p 추적 오류 정의'
obj '기준 정의'
objx '대체 기준 정의';
dem(t).. d(t) =e= db(t)*p(t)**(-a);
sup(t).. x(t) =e= d(t) - as(t)*p(t)**b;
adef(tt)$tp(tt).. as(tt) =e= as(tt-1) + con*d(tt-1)*(pd(tt-l)-ph);
pdef(tt).. pd(tt) =e= sum(n, alpha(n)*p(tt-(ord(n) - 1)));
kdef.. k =e= sum(t, del(t)*(.365*(1 - c)*p(t)*x(t) - rd(t)));
zdef.. z =e= v*sum(t, .365*(xb(t) - x(t))*p(t + (카드(t) - ord(t))));
xtrack.. xdev =e= sum(t, sqr(xtr(t) - x(t)));
ptrack.. pdev =e= sum(t, sqr(ptr(t) - p(t)));
obj..pi =e= k + z;
objx.. pi =e= sum(t, del(t)*(.365*(1 - c)*p(t)*x(t) - rd(t)))
+ v*sum(t, .365*(xb(t) - x(t))*p(t + (카드(t) - ord(t))));
모델
otpop1 / dem, sup, adef, pdef, kdef, zdef, obj /
otpop2 / dem, sup, adef, pdef, ptrack /
otpop3 / dem, sup, adef, pdef, objx /;
x.up(t) = xb(t);
p.lo(tt) = 1;
p.fx(th) = phis(th);
x.fx(일) = x74;
nlp를 사용하여 pdev를 최소화하는 otpop2를 해결합니다.
nlp를 사용하여 pi를 최대화하는 otpop3을 해결합니다.
kdef.m = 1;
zdef.m = 1;
nlp를 사용하여 pi를 최대화하는 otpop1을 해결합니다.