pindyck.gms : OPEC를 위한 최적의 가격 책정 및 추출

설명

이 모델은 석유의 최적 가격 책정 및 추출을 찾습니다.
OPEC 카르텔.

소형 모델 유형 :NLP


카테고리 : 슬롯 커뮤니티 모델 라이브러리


메인 파일 : pindyck.gms

$title OPEC의 최적 가격 및 추출(PINDYCK,SEQ=28)

$onText
이 모델은 석유의 최적 가격 책정 및 추출을 찾습니다.
OPEC 카르텔.

Pindyck, R S, 카르텔화로 인해 생산자가 얻는 이익
고갈 가능한 자원. 경제통계학개론 60
(1978), 238-251.

키워드: 비선형 프로그래밍, 석유 추출, 가격 설정, 에너지 경제학
$offText

세트
   t '전체 시간 범위' / 1974*1990 /
   to(t) '최적화 기간' / 1975*1990 /;

매개변수 수요(t) '고정 가격에 대한 균형 세계 수요';
수요(to) = 1. + 2.3*1.015**(ord(to)-1);

변수
   p(t) '세계 석유 가격'
   td(t) '석유의 총 수요'
   s(t) '비OPEC 국가의 석유 공급'
   cs(t) '비OPEC 국가의 누적 공급량'
   d(t) 'opec-석유 수요'
   r(t) 'OPEC 보유량'
   rev(t) '각 기간의 수익'
   이익;

양수 변수 p, td, s, cs, d, r;

방정식
   tdeq(t) '총수요 방정식'
   seq(t) '비OPEC 국가의 공급 방정식'
   cseq(t) '누적 공급에 대한 회계 방정식'
   deq(t) 'OPEC의 수요 방정식'
   req(t) 'OPEC 보유량에 대한 회계 방정식'
   drev(t) '연간 목적 함수 값'
   tprofit '총 목적 함수';

tdeq(t-1).. td(t) =e= 0.87*td(t-1) - 0.13*p(t) + 수요(t);

seq(t-1)..s(t) =e= 0.75*s(t-1) + (1.1+0.1*p(t))*1.02**(-cs(t)/7);

cseq(t-1).. cs(t) =e= cs(t-1) + s(t);

deq(to).. d(to) =e= td(to) - s(to);

req(t-1).. r(t) =e= r(t-1) - d(t);

drev(to).. rev(to) =e= d(to)*(p(to)-250/r(to));

tprofit..profit =e= sum(to,rev(to)*1.05**(1-ord(to)));

* 고정된 초기 조건
td.fx("1974") = 18;
s.fx ("1974") = 6.5;
r.fx ("1974") = 500;
cs.fx("1974") = 0.0;

td.l(to) = 18;
s.l(to) = 7;
cs.l(to) = 7*ord(to);
d.l(에) = td.l(에) - s.l(에);
p.l(to) = 14;

loop(t$to(t), r.l(t) = r.l(t-1)-d.l(t));

td.l, s.l, cs.l, d.l, r.l을 표시합니다.

모델 로버트 / 모두 /;

nlp를 사용하여 로버트의 이익 극대화 문제를 해결합니다.