splcge.gms : 간단한 CGE 모델

설명

설명이 없습니다.

소형 모델 유형 :NLP


카테고리 : 크레이지 슬롯 모델 라이브러리


메인 파일 : splcge.gms

$title Ch.의 간단한 CGE 모델. 5 (SPLCGE, SEQ=275)

$onText
설명이 없습니다.

호소에(Hosoe), N, 가사와(Gasawa), K, 하시모토(Hashimoto), H
계산 가능한 일반 평형 모델링 핸드북
도쿄 대학 출판부, 도쿄, 일본, 2004

키워드: 비선형계획법, 일반균형모형, 사회회계
          매트릭스, 효용 극대화 문제
$offText

세트
   u 'SAM 항목' / BRD, MLK, CAP, LAB, HOH /
   i(u) '상품' / BRD, MLK /
   h(u) '인자' / CAP, LAB /;

별칭 (u,v), (i,j), (h,k);

테이블 SAM(u,v) '사회회계 매트릭스'
         BRD MLK CAP LAB HOH
   BRD 15
   MLK 35
   캡 5 20
   연구실 10 15
   호 25 25 ;

* 초기값 로딩
매개변수
   X0(i) 'i번째 재화의 가계 소비'
   F0(h,j) 'j번째 기업이 입력한 h번째 인자'
   Z0(j) 'j번째 좋은 출력'
   FF(h) 'h번째 인자의 인자부여';

X0(i) = SAM(i,"HOH");
F0(h,j) = SAM(h,j);
Z0(j) = 합(h, F0(h,j));
FF(h) = SAM("HOH",h);

X0, F0, Z0, FF를 표시합니다.

* 교정
매개변수
   alpha(i) '유틸리티 함수의 공유 매개변수'
   beta(h,j) '생산 함수에서 매개변수 공유'
   b(j) '생산함수의 규모 매개변수';

알파(i) = X0(i)/sum(j, X0(j));
베타(h,j) = F0(h,j)/sum(k, F0(k,j));
b(j) = Z0(j)/prod(h, F0(h,j)**베타(h,j));

알파, 베타, b를 표시합니다.

변수
   X(i) 'i번째 재화의 가계 소비'
   F(h,j) 'j번째 기업이 입력한 h번째 인자'
   Z(j) 'j번째 좋은 출력'
   px(i) 'i번째 상품의 수요 가격'
   pz(j) 'i번째 재화의 공급 가격'
   pf(h) 'h번째 팩터 가격'
   UU '유틸리티 [가상]';

방정식
    eqX(i) '가계수요함수'
    eqpz(i) '생산 함수'
    eqF(h,j) '요인수요함수'
    eqpx(i) '좋은 시장 청산 조건'
    eqpf(h) '요소시장 청산 조건'
    eqZ(i) '가격 방정식'
    obj '유틸리티 함수 [가상]';

eqX(i).. X(i) =e= alpha(i)*sum(h, pf(h)*FF(h))/px(i);

eqpz(j).. Z(j) =e= b(j)*prod(h, F(h,j)**beta(h,j));

eqF(h,j).. F(h,j) =e= 베타(h,j)*pz(j)*Z(j)/pf(h);

eqpx(i)..X(i) =e= Z(i);

eqpf(h)..sum(j, F(h,j)) =e= FF(h);

eqZ(i)..px(i) =e= pz(i);

obj.. UU =e= prod(i, X(i)**alpha(i));

* 변수 초기화
X.1(i) = X0(i);
F.l(h,j) = F0(h,j);
Z.l(j) = Z0(j);
px.l(i) = 1;
pz.l(j) = 1;
pf.l(h) = 1;

* 0으로 나누는 것을 방지하기 위해 하한값 설정
X.lo(i) = 0.001;
F.lo(h,j) = 0.001;
Z.lo(j) = 0.001;
px.lo(i) = 0.001;
pz.lo(j) = 0.001;
pf.lo(h) = 0.001;

pf.fx("LAB") = 1;

모델 splcge / 모두 /;

nlp를 사용하여 UU를 최대화하는 splcge를 해결합니다.