MPSGE 소개

MPSGE는 Arrow-Debreu 경제 균형 모델을 공식화하고 해결하는 데 사용되는 언어이며 GAMS 내의 하위 시스템으로 존재합니다. 이름은 '일반 슬롯 사이트을 위한 수학적 프로그래밍 시스템'을 의미합니다. MPSGE는 일반 슬롯 사이트 모델의 기초가 되는 비선형 부등식 시스템에 대한 간략한 비대수적 표현을 제공합니다. MPSGE 프레임워크는 대체 효용과 생산 기능의 내포된 일정한 탄력성을 기반으로 합니다. 모델의 데이터 요구 사항에는 모델의 모든 소비자 및 생산 부문에 대한 공유 및 탄력성 매개변수, 기부금, 세율이 포함됩니다. 이는 일관된 벤치마크 균형 데이터 세트에서 보정될 수도 있고 보정되지 않을 수도 있습니다.

MPSGE를 사용하는 주요 이점은 슬롯 사이트러가 슬롯 사이트의 방정식과 보정된 수요 및 공급 함수를 작성하지 않아도 된다는 것입니다. 경험에 따르면 함수의 매개변수를 계산하는 것조차 오류가 발생하기 쉽습니다. MPSGE의 표 형식 입력 형식은 슬롯 사이트 방정식의 간결하고 비대수적 표현을 용이하게 합니다. 따라서 대수학적 지루함과 프로그래밍 오류의 범위가 줄어들고 대체 공식의 경제적 해석과 테스트에 더 많은 주의를 기울일 수 있습니다.

이 장에서는 GAMS에 익숙한 사용자를 위해 MPSGE를 소개합니다. MPSGE에 대한 자세한 내용과 고급 기능에 대한 자세한 내용은 [을 참조하세요.155] 및 [129]. 또한, 자율 학습을 위한 작은 예제 라이브러리도 제공됩니다.여기.

이 장은 다음과 같이 구성되어 있습니다. 우리는 몇 가지 개요부터 시작합니다.기본적인 경제 사상및 일반 설명MPSGE 슬롯 사이트 지정. 다음으로 첫 번째를 소개합니다.간단한 예. 그런 다음 방법을 보여드리겠습니다.중간수요 및 공동생산MPSGE로 슬롯 사이트링되었습니다. 우리는 다음을 특징으로 하는 세 번째 슬롯 사이트을 따릅니다.소규모 개방경제또한 투입 및 산출에 대한 세금, 노동-여가 선택, 고전적 실업 및 중첩 수요 함수가 포함됩니다. 우리는 다음의 개요로 장을 마무리합니다.MPSGE 키워드및 함수 지정을 위한 구문, 다음과 같은 기타 기능변수 선언에 대한 도메인 제한및에 대한 몇 가지 간단한 설명MPSGE 특정 출력27593_27738부록.

몇 가지 기본 경제 아이디어

MPSGE 슬롯 사이트은 다음과 같은 경제적 아이디어를 기반으로 합니다. 각 슬롯 사이트에는 여러 상호 작용 에이전트가 있으며 각 에이전트는 최적화 문제를 해결합니다. 예를 들어, 소비자는 예산 제약에 따라 효용을 극대화하고, 생산자는 이용 가능한 기술이 주어지면 비용을 최소화합니다. 에이전트 상호작용은 시장과 가격에 의해 조정되며 최적의 솔루션은 가격과 활동 수준이 조정되어 생산된 제품과 투입 요인에 대한 시장이 명확해지는 균형을 이루는 것입니다. 균형 상태에서 각 에이전트는 자신의 행동을 변경하여 더 나은 결과를 얻을 수 없습니다(그들이 직면한 제약 조건을 고려할 때). 이 섹션에서는 이러한 기본적인 경제 아이디어에 대해 자세히 설명합니다. 특히 다음 사항에 대해 간략하게 소개합니다.소비자 수요 이론, 생산자 공급 이론그리고일반 경제 균형.

소비자 수요 이론

소비자 선택은 최적화 패러다임을 사용하여 슬롯 사이트링됩니다. 소비자는 예산 제약에 따라 복지를 극대화하는 소비 묶음을 형성합니다. 추상적인 개념으로서 이는 그럴듯해 보이지만 아이디어를 운영에 적용하려면 특정 세부 사항을 다루어야 합니다.

다음 예를 고려해보세요. 토마스는 앤아버에 살고 있으며 그곳에서 주택 구입에 30%를 지출하고 나머지 수입을 기타 물품 구입에 지출합니다. 이 정보는 본질적으로 a벤치마크 슬롯 사이트, 일반적인 가격과 수요되는 상품 수량으로 구성됩니다. 이제 토마스는 베를린에서 자신이 현재 버는 것보다 50% 더 많은 급여를 받는 고용 제의를 받았지만 베를린의 임대료가 앤아버보다 3배나 높기 때문에 일자리를 구하기를 주저하고 있습니다. 문제는 순전히 경제적인 이유로 이사해야 하는가입니다.

토마스의 선택은 아래에 설명되어 있습니다. 포인트 \(a\)는 그가 앤아버의 주택에 \(H_a\) 금액을 지출하는 벤치마크 포인트를 나타냅니다. 점 \(b\)는 베를린에서 주택과 기타 상품 간의 잠재적인 상충 관계를 나타냅니다. 여기서 그는 소득의 낮은 비율을 주택에 지출하고 기타 상품에 더 많은 비율을 지출합니다.

토마스의 선택

토마스가 \(a\) 지점으로 표시된 선택과 마찬가지로 \(b\) 지점으로 표시된 선택에서 동일한 복지를 얻는지는 다음에 따라 다릅니다.탄력성 대체. 대체 탄력성이란 한 재화를 다른 재화와 더 많이 교환하려는 의지를 말합니다. 위 그림의 세 곡선은 세 가지 대체탄력성을 나타냅니다. 곡선이 덜 볼록할수록(더 평평할수록) 탄력성은 더 높아집니다. 즉, 토마스가 다른 상품을 주택으로 대체하려는 의지가 더 커집니다.

대체탄력성이 \(\sigma^\star\)와 같다면 Thomas는무관심\(a\)와 \(b\) 선택 사이, 두 지점 모두 해당 항목에 있으므로무관심 곡선. 그러나 대체탄력성이 더 낮다면, 즉 \(\sigma_L\)과 같거나 더 높다면, \(\sigma_H\)와 같다면 \(b\)는 \(a\)보다 나빠질 것이므로 Thomas는 이를 선택하지 않을 것입니다. 따라서 대체탄력성은 토마스가 경제적 근거로 움직여야 하는지 여부를 결정하는 데 매우 중요합니다. 대체탄력성은 토마스의 선호도에 대한 척도라는 점에 유의하세요.

가격 및 관련 선택 사항이 관찰되고 대체 탄력성이 주어지면 효용 함수를 추론할 수 있습니다. 따라서 MPSGE에서 효용 함수는 기준(또는 관측) 수량, 기준 가격 및 관련 대체 탄력성으로 표현됩니다. 벤치마크 수량은 무차별 곡선 집합의 기준점을 결정합니다. 벤치마크 가격은 해당 지점에서 무차별 곡선의 기울기를 고정합니다. 대체탄력성은 무차별곡선의 곡률을 측정하고 효용함수를 명확하게 지정합니다.

생산자 공급 이론

소비자는 예산에 따라 효용을 극대화하는 것을 목표로 하는 반면, 생산자는 사용 가능한 기술을 통해 생산 비용을 줄이는 것을 목표로 합니다. 회사의 활동은 다음과 같이 슬롯 사이트링됩니다.생산 함수입력을 출력으로 매핑합니다. 투입물은 노동, 자본, 토지, 원자재 등과 같은 주요 요소이며 산출물은 상품과 서비스입니다. 효용함수와 마찬가지로 MPSGE에서 생산함수는 투입물과 산출물에 대한 기준가격의 기준량, 대체 탄력성, 변환 탄력성으로 표현됩니다.

요약하면, 소비자와 생산자 모두를 위한 주요 원칙은 선택입니다. 소비자는 자신의 선호도, 가격, 예산을 고려하여 상품의 수량을 선택합니다. 생산자는 사용 가능한 기술에 따라 기본 요소의 양과 생산량 수준을 선택합니다. 사용 가능한 기술은 입력 간의 대체 탄력성과 출력 간의 변환 탄력성을 통해 슬롯 사이트링됩니다.

일반 경제 균형

위에서 언급했듯이 MPSGE는 일반적인 경제 균형을 슬롯 사이트링하는 시스템입니다. 일반 경제 균형 분석은 경제 시스템 전체의 작동을 연구합니다. 기본 가정은 경제에는 생산자와 소비자라는 두 가지 유형의 주체가 있다는 것입니다. 생산자는 규모에 대한 지속적인 수익을 가지고 운영되며 완전경쟁적인 가격수용 기업이라고 가정됩니다. 또한, 그들은 이용 가능한 기술에서 이익을 극대화하기 위해 요소 투입 및 산출 수준을 선택한다고 가정합니다. 소비자는 예산 제약(소득 및 기부금)에 따라 복지를 극대화한다고 가정됩니다. 모든 소비자가 최대 만족을 얻도록 주어진 소득을 지출하고, 각 부문의 모든 기업이 사용 가능한 기술을 고려하여 비용을 최소화하고, 가격(1차 요소 및 상품에 대한)과 활동 수준이 조정되어 모든 행위자가 직면한 제약에 따라 행동을 변경하여 더 나은 결과를 얻을 수 없는 경우 경제는 경제적 균형에 있습니다. 균형 상태에서는 모든 시장이 정리되었습니다. 상품 시장과 요소 시장 모두에서 총 수요는 총 공급과 같습니다.

수학적으로 이러한 경제는 약한 불평등 시스템으로 슬롯 사이트링되며, 여기서 각 불평등은 가격이나 수량을 나타내는 음이 아닌 변수와 연관됩니다. 특정 약한 불평등이 방정식으로 유지되면 관련 변수는 엄격하게 양수입니다. 이것이 엄격한 부등식으로 유지되면 관련 변수는 0과 같습니다. 이는 표준 GAMS 구문으로 공식화하고 해결할 수 있는 혼합 상보성 문제입니다. 자세한 내용은 섹션을 참조하세요.혼합 상보성 문제(MCP). 앞으로 설명하겠지만 MPSGE 슬롯 사이트은 표준 GAMS MCP 슬롯 사이트로 변환될 수 있습니다. 그러나 MPSGE가 제공하는 프레임워크는 슬롯 사이트러가 복잡한 방정식을 수동으로 입력할 필요가 없기 때문에 훨씬 더 사용자 친화적입니다.

MPSGE 슬롯 사이트 지정

이 섹션에서는 MPSGE 슬롯 사이트 사양에 대한 개요를 제공하며 간단한 소개 예는 다음과 같습니다.다음 섹션. 표준 GAMS 프로그램과 마찬가지로 MPSGE 슬롯 사이트이 내장된 프로그램은 나중에 슬롯 사이트에 사용될 집합 및 매개변수 정의로 시작됩니다. MPSGE 슬롯 사이트은$ontext / $offtext차단.

먼저, 슬롯 사이트의 이름을 정의해야 합니다:

$MODEL:내슬롯 사이트

여기$MODELMPSGE 키워드및 슬롯 사이트 이름내슬롯 사이트GAMS입니다식별자.

GAMS 프로그램 라인 내에서$on/offtext은 블록 댓글로 처리됩니다. 그러나 전처리기가 MPSGE 슬롯 사이트 정의문을 발견하면 MPSGE 슬롯 사이트 사양이 따른다는 것을 인식하고 그에 따라 코드를 처리합니다.

참고
GAMS와 마찬가지로 MPSGE도 대소문자를 구분하지 않습니다.

두 번째로, MPSGE 슬롯 사이트의 변수가 선언됩니다. 모든 슬롯 사이트에는 세 가지 클래스가 있습니다.중앙 변수:

  • $SECTORS:경제의 규모 생산 부문에 대한 지속적인 수익과 관련된 활동 수준에 대한 변수(음수가 아님),
  • $상품:모든 최종재, 중간재 및 주요 생산 요소를 포함한 상품 가격에 대한 변수(역시 음수가 아님) 및
  • $CONSUMERS:정부 기관을 포함하여 슬롯 사이트의 각 "가구"에 대해 하나씩 소득 수준에 대한 변수입니다.

또한 슬롯 사이트에는 다음이 포함될 수 있습니다.보조변수($보조)은 내생적 조세 도구 또는 내생적 기부 수량을 슬롯 사이트에 도입하는 데 사용됩니다.

참고
GAMS 슬롯 사이트과 달리 MPSGE 슬롯 사이트의 변수는 명시적 도메인을 통해 선언되어야 합니다. MPSGE 슬롯 사이트에서는 네 가지 MPSGE 변수 유형 중 하나로 선언된 변수만 사용할 수 있습니다. 선언되었지만 참조되지 않은 변수에 대해 오류 메시지가 생성됩니다.

셋째, 함수에 대한 매개변수는 구조화된 방식으로 지정됩니다. 가능한 모든 항목에 대한 일반 구문은 섹션입니다.생산 및 수요 함수 구문아래. MPSGE 프레임워크는 이러한 사양을 사용하여 해당 시장 청산 및 소득 균형 방정식을 자동으로 생성합니다. 두 가지 유형의 함수가 있습니다.

  • $PROD:이 블록은 입력, 출력, 대체 및 변환의 탄력성을 지정하는 생산 기능을 정의합니다. 슬롯 사이트의 각 부문에 대해 생산 기능이 제공되어야 합니다. MPSGE 프레임워크의 대부분의 강력함과 미묘함은 다음을 중심으로 이루어집니다.$PROD테이블.
  • $DEMAND:이 블록은 수요 함수를 정의합니다. 이 함수는 선호도(참조 수요 사용), 초기 요소 부여 및 대체 탄력성을 나타냅니다. 슬롯 사이트의 각 소비자에 대해 수요 함수를 지정해야 합니다.

마지막으로, 모든 보조 변수에는 사용자가 기존의 GAMS 대수 구문을 사용하여 정의하고 다음과 같은 블록에 배치되는 관련 슬롯 사이트 조건이 있습니다.$CONSTRAINT.

이 네 부분 - 슬롯 사이트 정의, 변수 선언, 함수 사양 및 보조 변수에 대한 측면 제약 조건 -은 MPSGE 슬롯 사이트 사양의 핵심입니다. 슬롯 사이트 사양 뒤에는 달러 제어 옵션이 옵니다.$offtext및 다음 컴파일러 지시문:

$sysinclude mpsgeset mymodel

이 컴파일러 지시문은 MPSGE에 함수를 컴파일하고 다음이라는 외부 파일을 생성하도록 지시합니다.MYMODEL.GEN. 그런 다음 이 외부 파일은 다음 지시문을 사용하여 GAMS 파일에 로드됩니다.

$include MYMODEL.GEN

마지막으로 표준 GAMS해결문다음에 슬롯 사이트이 MCP 솔버 중 하나에 대한 솔루션으로 전달됩니다.

mcp를 사용하여 mymodel을 해결합니다.

적절한 GAMS 슬롯 사이트 유형은 다음과 같습니다.MCP.

대부분의 경우 슬롯 사이트은 벤치마크 지점에서 먼저 평가되어 슬롯 사이트이 올바르게 보정되었는지, 모든 것이 예상대로 작동하는지 테스트합니다. 이는 옵션을 설정하여 달성됩니다.iterlim0으로. 그런 다음 하나 이상의 반사실적 문제가 해결됩니다. 먼저 일부 매개변수가 표준 GAMS 구문을 사용하여 수정된 다음$include문이 반복되고 슬롯 사이트이 다시 해결됩니다.

참고
"$sysInclude mpsgeset"선택적 인수 허용-mt=0또는1슬롯 사이트 이름 뒤에. 인수의 기본값mt다음을 통해 제어할 수 있습니다.이중 대시옵션--MPSGEMT=0또는1. 만약mt옵션이 1로 설정되었습니다.슬롯 사이트.GEN파일이 GAMS 스크래치 디렉토리에 생성되었습니다. 그러므로$include해결책을 읽어야 하기 전$include "%gams.scrdir%MODEL.GEN". 이를 통해 동일한 작업 디렉터리에서 동일한 슬롯 사이트로 여러 MPSGE 작업을 실행할 수 있습니다. 이 옵션의 기본값은 0입니다. 슬롯 사이트hansmge사용법을 보여줍니다.

소개 예: 폐쇄경제의 두 가지 상품과 두 가지 요소

표준 2x2 슬롯 사이트에서는 두 개의 최종 재화 \(X\)와 \(Y\)가 두 가지 기본 요소인 노동 \(L\)과 자본 \(K\)으로 생산되며 단일 대표 대리인(소비자) \(RA\)이 있습니다. 슬롯 사이트은 기술, 선호도, 기부금으로 정의됩니다. \(X\) 및 \(Y\)에 대한 소비 수준의 순서 순위를 제공하는 효용 함수로 선호도를 설명할 수 있습니다. 우리는 두 요소 모두 고정된 공급 상태에 있으므로 균형에서 요소 부여는 요소 수요와 동일하고 두 재화의 공급은 수요와 동일하다고 가정합니다.

문제는 세 가지 생산 활동 \(X\), \(Y\) 및 \(U\)와 다섯 개의 시장 \(X\), \(Y\), \(U\), \(K\) 및 \(L\)로 구성된 것으로 해석될 수 있습니다. 슬롯 사이트의 초기 데이터는 다음 행렬로 제공됩니다.

생산 부문 소비자
                 ----------------------------------
    시장 X Y U RA 행 합계
    -------------------------------
    PX 100 -100 0
    피 50 -50 0
    PU 150 -150 0
    PK -50 -20 70 0
    PL -50 -30 80 0
    -------------------------------
    열 합계 0 0 0 0
    -------------------------------

데이터는 대표적인 균형을 설명합니다. 행은 시장에 해당합니다. 여기서 \(PX\), \(PY\), \(PU\), \(PK\) 및 \(PL\)은 각각 상품 \(X\), 상품 \(Y\), 유틸리티 \(U\), 자본 및 노동의 가격입니다. 양수 항목은 상품 흐름의 가치를 나타냅니다.속으로경제(판매 또는 요소 공급) 및 음수 항목은 상품 흐름의 가치를 나타냅니다.아웃43330_43608균형 잡힌모든 행과 열의 합이 0인 경우.

매트릭스의 레이아웃은 활동과 관련된 거래의 전체 목록이 각 생산 열에 제공되도록 보장합니다. 산출물의 가치가 투입물의 비용과 같으면 생산 부문 열의 합은 0입니다. 1차 요소 판매의 합계가 최종 수요의 가치와 같을 경우 소비자 열은 균형을 이룹니다. 따라서 합계가 0인 열은 이익이 0임을 나타냅니다. 이 유형의 행렬은 a의 개념과 관련이 있습니다.사회적 회계 매트릭스(또는 짧게:).

문제는 다음과 같이 GAMS MPSGE로 슬롯 사이트링될 수 있습니다:

인력 부여 지수 / 1.0 /;

* MPSGE 슬롯 사이트 선언은 다음과 같습니다.

$ontext
$MODEL:투바이투

$섹터:
    엑스! 섹터 X의 활동 수준 -- 벤치마크=1
    야! Y 부문의 활동 수준 -- 벤치마크=1
    유! 섹터 U의 활동 수준 -- 벤치마크=1

$상품:
    PX! 상품 X의 상대 가격 지수 -- 벤치마크=1
    파이! 상품 Y의 상대 가격 지수 -- 벤치마크=1
    푸! 상품 U의 상대 가격 지수 -- 벤치마크=1
    PL! 인건비 상대물가 -- 벤치마크=1
    PK! 자본의 상대가격지수 -- 벤치마크=1

$소비자:
    라! 대표 대리인의 소득 수준 -- 벤치마크=150;

$PROD:X s:1
        O:PX Q:100
        I:PL Q: 50 ! 대수 슬롯 사이트의 변수 LX
        I:PK Q: 50 ! 대수 슬롯 사이트의 변수 KX

$PROD:Y 초:1
        오:PY Q: 50
        I:PL Q: 20 ! 대수 슬롯 사이트의 변수 LY
        I:PK Q: 30 ! 대수 슬롯 사이트의 변수 KY

$PROD:U s:1
        O:PU Q:150
        I:PX Q:100 ! 대수 슬롯 사이트의 변수 DX
        I:PY Q: 50 ! 대수 슬롯 사이트의 변수 DY

$수요:RA
        D:PU
        E:PL Q: (70*기부금)
        E:PK Q: 80

$offtext

* MPSGE에 함수를 컴파일하도록 지시하는 컴파일러 지시문

$sysinclude mpsgeset twobytwo

* 벤치마크 복제

twobytwo.iterlim = 0;
$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.
abort$(abs(twobytwo.objval) gt 1e-7) "*** twobytwo가 보정되지 않습니다! ***";
twobytwo.iterlim = 1000;

* 반사실적 : 노동력 10% 증가

부여 = 1.1;

* 가격의 기본 정규화를 사용하여 슬롯 사이트을 해결합니다. 
* 대표 대리인의 소득 수준을 수정합니다.  RA
* 초기 가격의 소득 수준은 80 + 1.1*70 = 157입니다.

$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.

표준 GAMS 구문을 사용하는 이 슬롯 사이트의 대수적 버전이 다음에 나와 있습니다.부록.

슬롯 사이트 이름이 지정된 슬롯 사이트 문 다음에 세 개의 중앙 변수 클래스 각각에 변수가 선언됩니다. 기존 GAMS 구문과 달리 MPSGE에서는 변수 선언의 후행 주석(기호로 시작)!)는 목록 파일에 나타날 변수 설명자로 해석됩니다.

그런 다음 세 개의 생산 블록$PROD- 각 부문마다 하나씩 - 따라가세요. 출력 매개변수는 라벨로 시작하는 줄에 지정됩니다.O및 입력 매개변수는 라벨로 시작하는 줄에 제공됩니다.I, 해당 수량은 필드에 나열됩니다.Q. 부문에 대한 생산 블록의 첫 번째 입력에 유의하세요.X섹터 X의 노동 수요를 나타내고 두 번째 입력은 섹터의 자본 수요를 나타냅니다.X. 마찬가지로 부문에 대한 생산 블록의 입력Y부문의 노동 및 자본 수요를 나타냄Y. 부문별 생산 블록에서U, 입력은 다음에 대한 수요를 나타냅니다.X그리고Y섹터 내U. 현장에서s:섹터 이름 옆에 입력 사이의 대체 탄력성이 지정됩니다.

요구 차단$DEMAND소비자용RA슬롯 사이트 사양을 완료합니다. 수요 매개변수는 라벨로 시작하는 줄에 지정됩니다.D및 기부 매개변수는 라벨로 시작하는 줄에 제공됩니다.E. 생산 및 수요 블록에 대한 모든 가능한 항목은 섹션에서 논의됩니다.생산 및 수요 함수 구문. 방정식의 대수적 공식은 없고 매개변수 사양만 있음을 확인하세요. 이 입력이 주어지면 MPGSGE 프레임워크는 해당 방정식을 자동으로 생성합니다.

숫자를 수정할 필요는 없습니다. 숫자가 지정되지 않은 경우 가격의 정규화는 임의적입니다. 예를 들어 위 슬롯 사이트에서는,RA은 숫자로 사용되며 다음 설명이 목록 파일에 나타납니다.

RA 수입을 이용한 기본 가격 정규화

이 슬롯 사이트의 버전은 다음과 같습니다.부록첫 번째 섹터인 두 가지 추가 반사실적 시나리오를 포함합니다.X숫자 상품으로 사용된 다음 임금률PL는 숫자로 고정됩니다. 에서부록, 위 슬롯 사이트의 두 가지 대체 버전도 있습니다.표준 GAMS 구문여기서 MPSGE 프레임워크에 의해 자동으로 생성된 방정식은 명시적으로 제공되며MPSGE 슬롯 사이트스칼라 대신 벡터 표기법을 사용합니다.

중간 수요 슬롯 사이트링 및 공동 생산

이 섹션에서는 다음 세 가지 방법으로 위의 2x2 슬롯 사이트을 확장합니다.

  1. 우리는 생산 부문과 생산품을 구별합니다.
  2. 각 부문은 두 가지 상품을 모두 생산하므로 우리는관절 생산.
  3. 노동 및 자본과 같은 기본 요소 외에도 상품은 생산 과정에 투입물로 들어갑니다. 따라서 우리는중급 수요.

전체 MPSGE 슬롯 사이트과 슬롯 사이트의 MCP 및 NLP 버전은 다음에 제공됩니다.부록. 여기서는 선택된 코드 조각만 재현하고 논의합니다. 위의 단순 슬롯 사이트과의 주요 차이점은 생산 블록의 사양입니다.

$PROD:X(j) s:1 t:1
      O:P(i) Q:make0(i,j) ! MCP 및 NLP 슬롯 사이트의 S(i,j)
      I:P(i) Q:use0(i,j) ! MCP 및 NLP 슬롯 사이트의 D(i,j)
      I:PF(f) Q:fd0(f,j) ! MCP 및 NLP 슬롯 사이트의 FD(f,j)

공급은 출력 라인에 지정되고 중간 수요는 첫 번째 입력 라인에 제공되며 요소 수요는 두 번째 입력 라인에 나열됩니다. 따라서 각 부문j상품을 생산합니다I중간재 사용I및 주요 요인f. 부문에 대해 완전히 설명된 생산 블록을 고려하십시오.s1:

$PROD:X("s1") s:1 t:1
      O:P("g1") Q:6.0    
      O:P("g2") Q:2.0
      I:P("g1") Q:4.0
      I:P("g2") Q:2.0
      I:PF("노동") Q:1.0
      I:PF("자본") Q:1.0

벤치마크에서 섹터s1상품 6개 생산g1그리고 상품 2개g2. 이 출력의 입력은 상품 4개입니다.g1, 상품 2개g2그리고 노동(1단위)과 자본(1단위).

참고
더블51408_51527

이 네 가지 생산 요소를 결합하는 데 사용되는 기술은 Cobb-Douglas 생산 함수를 기반으로 한다는 점을 관찰하십시오. 즉, 필드의 값으로 표시된 대체 탄력성은 1과 같습니다.s. 또한, 생산가능곡면(변환함수의 일정한 탄력성)의 곡률이 필드에 주어집니다.t.

소규모 개방경제 슬롯 사이트링

개방 경제는 상품이 국제 시장에서 일반적으로 고정된 국제 가격으로 거래되는 경제입니다. 즉, 수입과 수출이 있습니다. 소규모 개방 경제를 위한 슬롯 사이트 클래스 중 하나는 "123개 슬롯 사이트"로 알려져 있습니다. [41]. 원래 123 슬롯 사이트에는 작은 국가 1개, 생산 부문 2개, 상품 3개(국내 상품 1개, 수입 상품 1개, 수출 상품 1개)가 있었습니다. 이 섹션에서 제시하고 논의하는 슬롯 사이트은 수입과 수출, 세금, 노동-여가 선택, 고전적 실업 및 공동 생산에 대한 세계 가격을 외생적으로 제공했습니다. 프로그래밍 언어는 프로그래밍하기가 지루한 세수 흐름, 방정식을 추적합니다. 이 슬롯 사이트은 개방형 경제 GTAP 슬롯 사이트의 작은 버전입니다. [114]. 이는 정식 미시경제적 최적화 프레임워크를 따릅니다. (i) 소비자는 고정된 수준의 투자 및 공공 지출을 통해 예산 제약에 따라 복지를 극대화하고, (ii) 생산자는 주어진 기술에 대해 최소한의 비용으로 중간 투입 요소와 기본 요소를 결합합니다.

전체 MPSGE 슬롯 사이트에 유의하세요.mge123그리고 대수적 버전은 다음에 나와 있습니다.부록. 또한 다음을 포함하는 슬롯 사이트 버전을 소개하고 논의합니다.중첩. 또한 슬롯 사이트 및 해당 변형에 대한 데이터는 다음 항목에 포함되어 있습니다.별도의 GAMS 파일. 데이터 파일의 입출력 매트릭스는 주요 생산 요소, 중간재 및 최종 소비 제품의 가치 흐름에 대한 데이터를 제공합니다. 다음에서는 선택된 코드 조각에 대해 설명하고 슬롯 사이트의 가장 중요한 기능에 대해 논의합니다.

소규모 경제의 전체 생산을 위한 생산 블록을 고려하십시오:

$PROD:Y t:etadx s:esubkl
        O:PD Q:d0 P:1 ! YD
        O:PX Q:x0 P:px0 A:GOVT T:tx ! YX
        I:RK Q:kd0 P:rr0 A:GOVT T:tk ! KD
        I:PL Q:ly0 P:pl0 A:GOVT T:tl N:TAU_TL ! 리

첫 번째 출력 라인은 변수로 표시되는 국내 시장의 생산량을 나타냅니다.YD슬롯 사이트의 대수적 버전에서. 벤치마크의 참조 가격은 새 필드에 제공됩니다.P.

참고
P 및 Q 필드 모두의 기본값은 1.0입니다.

두 번째 출력 라인은 수출 시장의 생산을 나타냅니다(변수YX대수 버전). 두 개의 새로운 필드에 세금이 지정되어 있는지 확인하세요.A그리고T:세금 수령자가 필드에 지정되어 있습니다.A그리고 세율은 필드에 나열되어 있습니다t. 세금 수령자는 다음을 참조해야 합니다.$CONSUMER변수 및 세율TX(수출에 대한 세율)이 부여됨외생적으로.

주의
MPSGE에서 외생 세금이 계산되는 방식은 세금이 산출물에 부과되는지 투입물에 부과되는지에 따라 다릅니다. 다음에 대한 세금출력에 지정되었습니다.총액기초. 따라서 산출물에 대한 세금이 \(t\) 비례세율을 갖는 경우 생산자 가격은 \(p(1-t)\)가 됩니다. 여기서 \(p\)는 시장 가격입니다. 단, 세금은 다음과 같습니다.입력a에 지정됨그물기초. 따라서 투입물에 대한 세금이 종가세율 \(t\) 을 갖는 경우 사용자 비용은 \(p(1+t)\)가 됩니다. 여기서 \(p\)는 시장 가격입니다.

첫 번째 입력 라인은 자본 수요를 나타냅니다(변수KD대수 버전). 슬롯 사이트에는 개인(가계) 가구의 투자가 포함되므로 변수RK임대 가격 지수를 나타냅니다. 자본은 자본세율로 외생적으로 과세된다는 점을 관찰하세요.tk.

두 번째 입력 라인은 노동 수요를 나타냅니다(변수LY대수 버전). 외생 노동세에 추가로tl, 안내인성이 입력에는 세금이 부과됩니다. 내생세율은 보조변수에 의해 결정됩니다.TAU_TL, 이는 필드의 항목입니다.N줄 끝에. 보조 변수와 관련된 방정식은 다음 블록에 지정됩니다.

$CONSTRAINT:TAU_TL
        GOVT =e= PA * g0;
참고
보조 변수가 고정되면 제약 조건이 필요하지 않습니다. 보조변수의 하한이 상한보다 작은 경우 제약이 필요합니다.

추가로 변수는 다음과 같습니다.TAU_TL는 임금대체세로 벤치마크에서는 0으로 고정되어 있습니다. 4개의 반사실적 시나리오 중 2개에서 긍정적입니다.

국내 수요는 Armington 가정을 사용하여 슬롯 사이트링됩니다. 소비자는 다음의 집합인 하나의 상품을 요구합니다.복합 상품국내에서 생산된 상품과 수입 버전으로 구성되어 있으며, 동일한 부문의 수입품과 국내 상품은 불완전한 대체품입니다. 집합된 복합재는 대체탄력성이 일정한 국산품과 대체탄력성을 갖는 수입품의 집합함수로 주어진다sigmadm. 우리 슬롯 사이트에서는,sigmadm은 4입니다(국내 제품 대 수입 제품). Armington 상품의 생산은 다음 블록에 지정됩니다.

$PROD:A s:sigmadm
        O:PA Q:a0 A:GOVT t:ta
        나:PD Q:d0 ! 다
        I:PM Q:m0 p:pm0 A:GOVT t:tm ! MA

두 입력 모두 중간재라는 점에 유의하세요. 첫 번째 입력 라인은 국내 흡수(변수)를 나타냅니다.슬롯 사이트의 대수 버전) 및 두 번째 입력 라인은 가져오기(변수MA대수 버전). 수입품에는 수입관세율이 적용됩니다.tm복합재에는 소비세와 판매세율이 적용됩니다.. 두 세금 모두 외생적입니다.

또한 슬롯 사이트에는 가져오기 및 내보내기를 위한 생산 블록이 포함되어 있습니다. 외환(MPSGE 변수로 표시됨)PFX)는 이 두 생산 블록에 사용됩니다. 이는 수입용 생산 블록의 투입물이고 수출용 생산 블록의 산출물입니다.

슬롯 사이트의 두 소비자는 정부입니다(MPSGE 변수정부) 및 집계된 개인 가구(MPSGE 변수흐흐). 정부 대리인에 대한 수요 블록은 다음과 같습니다.

$DEMAND:GOVT
        E:PFX Q:bopdef
        E:PA Q:dtax
        E:PA Q:g0 R:TAU_LS
        디:PA

첫 번째 기부금 라인은 당좌 계좌의 지불 잔액을 나타냅니다(으로 표시됨$COMMODITIES변수PFX). 우리 슬롯 사이트에서는 수출이 수입을 초과하여 적자가 발생합니다.밥데프. 수입이 수출보다 많으면 흑자가 발생합니다. 다른 두 기부금 라인은 가구가 납부하는 세금, 즉 직접세를 나타냅니다.dtax및 보조변수로 지정되고 각각의 보완 방정식에 의해 결정되는 일시불 노동 대체세. 이 슬롯 사이트에서 노동 대체세는 일괄세(TAU_LS) 또는 다음의 세율로 노동에 부과됩니다.TAU_TL(위 참조). 에 대한 수요 블록의 직접세 및 일괄세 기능에 유의하세요.흐흐으로부정기부금. 마이너스 기부금은 지불해야 할 금액을 나타냅니다. 에 대한 수요 블록흐흐다음:

$DEMAND:HH s:sigma
        E:PA Q:(-g0) R:TAU_LS
        E:PA Q:(-dtax)
        E:RK Q:kd0
        E:PA Q:(-i0)
        E:PL Q:(ly0+l0) ! 노동 부여 = ly0+l0 - UR * (ly0+l0)
        E:PL Q:(-(ly0+l0)) R:UR
        D:PA Q:c0
        D:PL Q:l0

가정에서는 두 가지 상품을 요구합니다: Armington 복합재PA(첫 번째 수요 라인) 및 여가(두 번째 수요 라인). 처음 두 개의 기부금 라인은 위에서 설명한 대로 세금을 나타냅니다. 세 번째와 네 번째 기부금 줄은 자본과 관련됩니다. 세 번째 줄은 자본 투자로 발생한 소득을 나타내고 네 번째 줄은 자본 투자를 나타냅니다. 마지막 두 개의 기부금 라인은 노동을 나타냅니다. 전체 가구의 노동부여액은 노동과 여가의 합계에서 실업률을 뺀 것과 같습니다. 벤치마크에서는 실업률을 참고하세요.UG은 0으로 고정되어 있으며 반사실적에서 다른 시나리오가 탐색됩니다.

슬롯 사이트 내mge123, Armington 재화를 구성하는 국내 및 수입품에 대한 대체율PA다음으로 고정됨sigmadm = 4. 대체 가능성에 대해 더 많은 제어를 원한다고 가정해 보겠습니다. 예를 들어, Armington 재화의 다른 용도와는 다른 최종 수요 대체율을 슬롯 사이트링할 수 있습니다. MPSGE는 다음을 통해 이러한 추가 자유도 슬롯 사이트링을 용이하게 합니다.중첩. 다음 수요 블록을 고려하십시오.흐흐슬롯 사이트에서제네스트됨, 슬롯 사이트의 변형mge123:

$DEMAND:HH s:시그마 c:sigmac
        E:PA Q:(-g0) R:TAU_LS
        E:PA Q:(-dtax)
        E:RK Q:kd0
        E:PA Q:(-i0)
        E:PL Q:(ly0+l0) ! 노동 부여 = ly0+l0 - UR * (ly0+l0)
        E:PL Q:(-(ly0+l0)) R:UR
        D:PD Q:cd0 c:
        D:PM Q:cm0 c:
        D:PL Q:l0

이 공식에서 기부금 라인은 변경되지 않으며 세 개의 수요 라인이 있다는 점에 유의하십시오. 처음 두 개의 수요 라인에는 추가 필드()가 있습니다.c:). 이 태그는 이 두 상품이 중첩의 일부임을 나타냅니다. 이 두 상품은라는 중간 상품으로 결합됩니다.C. 둥지에 있는 상품의 대체율은 수요 블록의 첫 번째 줄에 나와 있습니다.c:시그맥. 대체율을 제외하고는 다음과 같습니다.C같음PA. 최종 수요의 구조는 다음 중첩 다이어그램을 사용하여 그래픽으로 표시할 수 있습니다.

HH에 대한 중첩 수요 구조

다음으로 표현된 중첩된 유틸리티 함수단위 함수다음과 같습니다:

\begin방정식*

여기서 \(\theta\)는 총 지출에서 여가의 예산 점유율(\(\ell\))이고 \(\alpha\)는 상품 지출에서 국내 상품의 예산 점유율(\(D\))이며 둘 다 벤치마크 지점에서 평가됩니다.

\begin방정식*

그리고

\begin방정식*

여가에 대한 수요는 확장된 소득의 함수입니다( \(HH\)):

\begin방정식*

국산품과 수입품에 대한 수요는 최상위 대체 탄력성 \(\sigma\)과 소비재 간 대체 탄력성 \(\sigma_C\)의 함수입니다.

\begin방정식*

그리고

\begin방정식*

그래프는 2단계 중첩 구조를 보여줍니다. 국내상품과 수입품은 대체탄력성을 갖는 2차 네스트에 결합됨시그맥. 여기서는 식별자를 사용합니다.C.

참고
중첩 할당의 이름 공간은 GAMS 코드의 세트, 매개변수 및 변수의 이름 공간에서 분할됩니다. 두 가지 세트 식별자가 사전 정의되어 있습니다.s:그리고티:. 다른 모든 식별자는 4자 이하로 허용됩니다.

전체 슬롯 사이트제네스트됨다음에 제공됩니다.부록. 최종 수요에서 Armington 상품의 대체율이 변경됨에 따라 슬롯 사이트을 재보정하기 위해 프로그램 시작 시 일부 매개변수가 수정된다는 점을 관찰하세요.

관세 개혁은 세금 개혁과 유사하며 정부 예산 구조에 큰 영향을 미칩니다. 정부 지출을 일정하게 유지하고 조세 도구의 다양한 조합을 나타내는 다양한 시나리오를 실험한다고 가정해 보겠습니다. 예를 들어, 벤치마크에서 우리 슬롯 사이트의 실업률은UR그리고 내생적인 근로세TAU_TL0으로 고정됩니다. 네 가지 대안적 폐쇄가 반사실적에서 탐구됩니다. 이는 수익 대체(일시금 대 임금세)와 노동 시장(유연 임금 대 고정 임금)에 따라 달라집니다. 결과의 개요는 다음 표에 나와 있습니다.

--- 1914 PARAMETER 보고서 수익 대체를 통한 관세 제거(% 영향)

          일시금 일시금 근로세 근로세
          유연한 경직된 임금 유연한 경직된 임금

PFX 4.6 4.6 13.0 9.4
PD -2.1 -2.1 5.9 2.6
르크 0.6 0.6 7.9 -1.6
PA -4.5 -4.5 3.3 2.22045E-14
정부 3299.9 3299.9 3574.4 3458.3
HH 40184.6 40184.6 42403.1 38219.6
PX 4.6 4.6 13.0 9.4
W 0.4 0.4 0.3 -7.5
Y 0.3 0.3 -0.5 -6.3
A 0.7 0.7 -4.15640E-2 -5.3
남 13.7 13.7 13.0 7.5
X 18.7 18.7 17.6 10.2
YD -8.8 -8.8 -9.5 -14.6
YX 18.7 18.7 17.6 10.2
KD 3.800191E-8 -7.9403E-11 -2.21554E-9 2.22045E-14
LY 0.6 0.6 -0.9 -11.9
DA -8.8 -8.8 -9.5 -14.6
MA 13.7 13.7 13.0 7.5
C 1.0 1.0 -5.89421E-2 -7.5
LD -0.9 -0.9 1.2 -7.5
오후 4.6 4.6 13.0 9.4
TAU_LS 38.1 38.1
TAU_TL 9.1 11.9
UR 10.0

이 슬롯 사이트의 고전적인 실업 부분은 슬롯 사이트링 프레임워크의 유용성에 동기를 부여하는 좋은 방법을 제공합니다. 우리는 노동 시장 공식화의 중요성을 보여주는 슬롯 사이트을 쉽게 생성합니다. 실질임금이 하향경직적일 때 관세를 근로소득세로 대체하면 복지가 감소합니다.W) 7.9%, 생산량 6.6%, 고용 10%. 임금이 탄력적이라면 관세를 근로소득세로 대체하면 복지가 0.1% 감소합니다.

MPSGE 키워드 및 구문

이 섹션의 일반 구문 표현에서는 일반적인 GAMS 구문 기호를 사용합니다.[ ](동봉된 구문은 선택 사항입니다),{ }(동봉된 구문은 0회 이상 반복될 수 있음) 및| (독점또는). EOL"줄 끝"을 의미하며num_expr숫자를 나타냄 또는GAMS 수치 표현다음을 포함할 수 있음달러 조건예외 처리용.

MPSGE 키워드

MPSGE는 MPSGE 슬롯 사이트을 지정하는 데 사용되는 9개의 키워드를 제공합니다. 그들은 다음과 같이 주어진다.표 1. 이 키워드는 다음과 같습니다.아님 GAMS 예약어, 즉 MPSGE 슬롯 사이트 사양과 별개로 GAMS 코드의 키워드가 아닙니다.

MPSGE 키워드 및 구문설명
$MODEL:슬롯 사이트_이름 이 키워드는 다음을 할당하는 데 사용됩니다.식별자 슬롯 사이트_이름슬롯 사이트에게.슬롯 사이트_이름형성하는 데 사용되므로 유효한 파일 이름이어야 합니다.슬롯 사이트_이름.GEN. 이는 내의 첫 번째 문이어야 합니다.$ontext - $offtextMPSGE 코드가 포함된 블록; 의 모든 줄$ontext - $offtext이 키워드 앞의 블록은 주석으로 처리됩니다.
$SECTORS:
    섹트1 ! 설명1
    섹트2 ! 설명2
    ...
이 키워드는 슬롯 사이트에 사용되는 섹터에 대해 하나 이상의 변수를 선언하는 데 사용됩니다.
$상품:
    com1 ! 설명1
    com2 ! 설명2
    ...
이 키워드는 슬롯 사이트에 사용되는 상품에 대한 하나 이상의 변수를 선언하는 데 사용됩니다.
$CONSUMERS:
    단점1 ! 설명1
    단점2 ! 설명2
    ...
이 키워드는 슬롯 사이트에서 사용되는 소비자에 대한 하나 이상의 변수를 선언하는 데 사용됩니다.
$보조:
    aux1 ! 설명1
    aux2 ! 설명2
    ...
이 키워드는 하나 이상의 보조 변수를 선언하는 데 사용됩니다. 이는 측면 제약과 내생적 세금 또는 배분된 기부금이 있는 슬롯 사이트에서만 사용됩니다.
$PROD:섹터 이 키워드는 생산 기능을 지정하는 데 사용됩니다. 슬롯 사이트의 각 부문에 대해 생산 기능을 지정해야 합니다. 참고하세요섹터이전에 a로 선언되었어야 합니다.$SECTORS진술.
$DEMAND:소비자 이 키워드는 수요 함수를 정의하는 데 사용됩니다. 슬롯 사이트의 각 소비자에 대해 수요 함수를 지정해야 합니다. 참고하세요소비자이전에 a로 선언되었어야 합니다.$CONSUMERS진술.
$CONSTRAINT:보조 이 키워드는 보조 변수와 연관될 측면 제약 조건을 지정하는 데 사용됩니다.보조. 참고하세요보조이전에로 선언되었어야 합니다.$보조진술.
$보고서: 이 키워드는 계산할 추가 변수 세트를 식별합니다. 이러한 변수는 보고서에 사용되며 부문별 산출물과 투입물, 개별 소비자의 수요와 복지가 포함됩니다. 에 선언된 변수$REPORT블록은 슬롯 사이트 방정식에 사용될 수 없습니다. 이 장에서는 보고서 블록에 대해 논의하지 않았습니다. 자세한 내용은 [을 참조하세요.129] .

표 1:MPSGE 키워드

생산 및 수요 함수 구문

위의 키워드 외에도 MPSGE는 생산 및 수요 기능을 지정하기 위한 고정된 구조를 제공합니다. 이 구조는 미리 지정된 필드(또는 레이블)가 포함된 표 형식을 갖습니다. 대부분의 필드 이름은 MPSGE의 예약어인 단일 문자입니다. 중첩 식별자는 예외입니다. 최대 4자로 구성된 임의의 이름입니다.

생산 함수 정의 구문은 다음과 같습니다.

$PROD:섹터 [s:num_expr] [t:num_expr] [a:num_expr b:num_expr]
O:상품1 [Q:num_expr] [P:num_expr] [A:소비자] [T:num_expr T:num_expr] [N:auxiliary [M:num_expr ]] [a: | 비:] 
I:상품2 [Q:num_expr] [P:num_expr] [A:소비자] [T:num_expr T:num_expr] [N:auxiliary [M:num_expr ]] [a: | b:]

숫자 표현에 주의하세요num_expr매개변수 또는 값일 수 있습니다.

각 생산 기능 블록은 MPSGE 키워드로 시작합니다.$PROD및 해당섹터. 변수에 유의하세요.섹터이전에에 정의되어 있어야 합니다.$SECTORS차단. 다음 라벨은 선택사항입니다. 여기에는 다음이 포함됩니다.

  • s:입력 간 대체의 최고 수준 탄력성. 기본값은 0입니다.
  • T:생산 중 출력 간 변환의 탄력성. 0일 수 있지만 무한대는 아닙니다.
  • a:,b:,...개별 입력 중첩의 대체 탄력성. 여기A그리고b네스트 식별자입니다.

각 생산 블록에는 적어도 하나의 출력 라인이 있습니다.O및 하나의 입력 라인I. 필드의 값O그리고I상품이전에 선언된$COMMODITIES차단. 이 첫 번째 필드만 필수이고 다른 모든 항목은 선택 사항이며 슬롯 사이트에 따라 다릅니다. 두 줄 모두에 유효한 라벨은 다음과 같습니다.

  • 질문:참조 수량. 기본값은 1입니다. 지정하는 경우 두 번째 항목이어야 합니다.
  • P:참조 가격. 기본값은 1입니다.
  • 답:세입 대리인, 항목은 다음과 같아야 합니다.소비자이전에 정의된$CONSUMERS차단. 이 필드가 나타나야 합니다.이전에해당t또는N필드.
  • T:세율외인성세율. 한 줄에 두 개 이상의 세율이 나열될 수 있습니다.
  • N: 내인성세금, 항목은보조이전에 정의된 변수$보조차단.
  • 엠:내생적 세금 승수. 종가세율은 내생세 가치와 이 승수를 곱한 값입니다. 다음과 같은 경우에 주의하세요.M필드는가 있는 줄에서 생략됩니다.N필드,M:1가정됩니다. 다음을 관찰하세요.M필드는가 없으면 포함될 수 없습니다.N필드.
  • a:,b:,..중첩 할당. 이러한 라벨은 한 줄에 하나만 표시될 수 있습니다.

수요함수 지정 구문은 다음과 같습니다.

$DEMAND:소비자 [s:num_expr] [a:num_expr b:num_expr]
D:상품1 [Q:num_expr] [P:num_expr] [a: | 비:] 
E:상품2 [Q:num_expr] [R:보조]

각 수요 기능 블록은 MPSGE 키워드로 시작합니다$DEMAND및 해당소비자. 변수에 유의하세요.소비자이전에 선언된 것이어야 합니다.$CONSUMERS차단. 다음 라벨은 선택사항입니다. 여기에는 다음이 포함됩니다.

  • s:수요 간 대체의 최고 수준 탄력성.
  • a:,b:,...개별 수요 중첩의 대체 탄력성.

각 수요 블록에는 최소 하나의 수요 라인이 있습니다.D그리고 하나 이상의 기부금 라인이 있을 수 있습니다E. 필드의 값D그리고E상품이전에 선언된$COMMODITIES차단. 이 첫 번째 필드만 필수이고 다른 모든 항목은 선택 사항이며 슬롯 사이트에 따라 다릅니다. a의 유효한 라벨D라인에는 다음이 포함됩니다:

  • 질문:참조 수량. 기본값은 1입니다. 지정하는 경우 두 번째 항목이어야 합니다.
  • P:참조 가격. 기본값은 1입니다.
  • a:,b:,..중첩 할당. 이러한 라벨은 한 줄에 하나만 표시될 수 있습니다.

다음의 유효한 라벨은E라인에는 다음이 포함됩니다:

  • 질문:참조 수량. 기본값은 1입니다. 지정하는 경우 두 번째 항목이어야 합니다.
  • R:배급 도구, 항목은보조이전에 정의된 변수$보조차단.

MPSGE 슬롯 사이트의 보조 제약 조건은 표준을 준수합니다.GAMS 방정식 구문. 이는 네 가지 변수 클래스 중 하나를 참조할 수 있습니다.$SECTORS, $COMMODITIES, $CONSUMERS그리고$보조, 그러나 a 내에 선언된 변수 이름을 참조할 수는 없습니다.$REPORT차단. 상보성 조건은 보조 변수 및 관련 제약 조건의 상한 및 하한에 적용됩니다. 이러한 이유로 방정식의 방향이 중요합니다. 보조변수를 지정한 경우긍정적(기본값) 보조 제약조건은 해당 유형의 방정식으로 표현되어야 합니다.=g=. 보조변수가 지정된 경우무료, 연관된 제약조건은 등식()으로 표현되어야 합니다.=e=).

변수 선언에 대한 도메인 제한

변수 선언에 대한 도메인 제한은 GAMS로 공식화된 슬롯 사이트과 MPSGE로 공식화된 슬롯 사이트 간의 중요한 차이점입니다. GAMS에서 변수는 도메인에 대해 정의되지만 슬롯 사이트에 사용되는 명시적인 도메인은 슬롯 사이트이 생성되는 시점의 CMEX에 의해 결정됩니다. MPSGE 슬롯 사이트에서 사용자는 모든 변수에 대해 명시적인 도메인을 선언해야 합니다. 슬롯 사이트에서 참조되지 않는 변수를 포함하는 경우 "소스 없음" 또는 "싱크 없음" 오류 메시지가 표시됩니다. 선언되지 않은 변수가 참조되면 MPSGE 함수 평가기에서 오류 메시지가 생성됩니다.

MPSGE의 섹터 선언에 대한 다음 예를 고려하십시오:

$섹터:
   Y(i)$y0(i)
   남(i)$m0(i)
...

해당 생산 블록에는 해당 예외 연산자가 있어야 합니다:

$PROD:Y(i)$y0(i)
   ...

$PROD:M(i)$m0(i)
   ...

GAMS의 예외 처리에 대한 자세한 내용은 장을 참조하세요.조건식, 할당 및 방정식.

네스트 노동 운영자 및 스패닝 운영자

둥지 노동 운영자 (.tl)은 일련의 중첩을 만드는 데 사용됩니다. 다음 예는 예시로서 설명이 필요합니다.

$PROD:Y s:0.5 m:0 i.tl(m):esubdm(i) va:1
   O:PY Q:y0
   I:PD(i) Q:d0(i) i.tl:
   I:PM(i) Q:m0(i) i.tl:
   I:PK Q:k0 va:
   I:PL Q:10 va:

스패닝 연산자(#)은 하나의 상품에 대해 여러 입력을 제공하는 방법입니다. 예를 들어 가격이 있는 상품오후도매/소매 무역 마진입니다. 상품 마진의 벤치마크 가치I이다md0(i)및 상품의 순마진(도매) 가치I판매량은d0(i). 상품이 Cobb-Douglas 둥지에서 총 마진 가격으로 거래되는 경우 이를 MPSGE 슬롯 사이트에서 다음과 같이 나타낼 수 있습니다.

$PROD:A s:1 i.tl:0
   O:PA Q:a0
   I:P(i) Q:d0(i) i.tl:
   I:PM#(i) Q:md0(i) i.tl:

MPSGE 특정 출력

MPSGE 슬롯 사이트 목록 파일의 출력에는 몇 가지 독특한 특징이 있습니다. MPSGE 슬롯 사이트 사양은 다음에서 재현됩니다.에코 인쇄. 지시문 뒤$offtext, 에코 인쇄가 중단되고 a기호 참조 맵이 삽입되었습니다. 이 맵에는 표준 GAMS 구문과 MPSGE 변수를 사용하여 정의된 식별자가 모두 나열되어 있습니다. 그 외에도표준 GAMS 데이터 유형, 다음 MPSGE 약칭 기호가 이 목록에 나타날 수 있습니다.

약식 기호MPSGE 데이터 유형
ACTIV 섹터 변수
AUXIL 보조변수
CONSU 소비자 변수
가격 상품 변수

표 2:MPSGE 데이터 유형의 약식 기호

예를 들어, 벡터 표기법의 첫 번째 단순 슬롯 사이트에 대한 기호 참조 맵은 다음과 같습니다:

기호 목록

      기호 유형 참조
      ========== ===== =================================================
      단점 매개변수 19 23
      수요 매개변수 20
      엔도우 매개변수 24
      F 세트 9 16 16 24 24
      요인 매개변수 16
      저는 3 14 15 15 16 20 20으로 설정했어요
      PC 가격 8 15 20
      PF 가격 9 16 24
      PU 가격 7 19 23
      RA 콘수 12 22
      공급 매개변수 15
      유액티브4 18
      활동 3 14

정규화가 자동으로 수행된 경우 주석은 다음 뒤에 나타납니다.요약 해결어떤 변수가 숫자로 사용되었는지 자세히 설명합니다. 예를 들어,

RA에 대한 수입을 이용한 기본 가격 정규화

MPSGE 변수의 하한, 수준, 상한 및 한계 값이 다음에 제공되는 것을 관찰하십시오.솔루션 목록다른 GAMS 변수와 같습니다. 표준 GAMS 출력에 대한 자세한 내용은 장을 참조하세요.GAMS 출력.

부록

슬롯 사이트 TWOBYTWO의 세 가지 버전

MPSGE 슬롯 사이트 TWOBYTWO

$title 2x2 일반 슬롯 사이트 모델 -- 스칼라 GAMS/MPSGE 

매개변수 부여 노동 부여 지수 / 1.0 /;

* MPSGE 모델 선언은 다음과 같습니다.

$ontext
$MODEL:투바이투

$섹터:
    엑스! 섹터 X의 활동 수준 -- 벤치마크=1
    야! Y 부문의 활동 수준 -- 벤치마크=1
    유! 섹터 U의 활동 수준 -- 벤치마크=1

$상품:
    PX! 상품 X의 상대 가격 지수 -- 벤치마크=1
    파이! 상품 Y의 상대 가격 지수 -- 벤치마크=1
    푸! 상품 U의 상대 가격 지수 -- 벤치마크=1
    PL! 인건비 상대물가 -- 벤치마크=1
    PK! 자본의 상대가격지수 -- 벤치마크=1

$소비자:
    라! 대표 대리인의 소득 수준 -- 벤치마크=150;

$PROD:X s:1
        O:PX Q:100
        I:PL Q: 50 ! 대수 모델의 변수 LX
        I:PK Q: 50 ! 대수 모델의 변수 KX

$PROD:Y 초:1
        오:PY Q: 50
        I:PL Q: 20 ! 대수 모델의 변수 LY
        I:PK Q: 30 ! 대수 모델의 변수 KY

$PROD:U s:1
        O:PU Q:150
        I:PX Q:100 ! 대수 모델의 변수 DX
        I:PY Q: 50 ! 대수 모델의 변수 DY

$수요:RA
        D:PU
        E:PL Q: (70*기부금)
        E:PK Q: 80

$offtext

* MPSGE에 함수를 컴파일하도록 지시하는 컴파일러 지시문

$sysinclude mpsgeset twobytwo

* 벤치마크 복제

twobytwo.iterlim = 0;
$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.
abort$(abs(twobytwo.objval) gt 1e-7) "*** twobytwo가 보정되지 않습니다! ***";
twobytwo.iterlim = 1000;

* 반사실적 : 노동력 10% 증가

부여 = 1.1;

* 가격의 기본 정규화를 사용하여 모델을 해결합니다. 
* 대표 대리인의 소득 수준을 수정합니다.  RA
* 초기 가격의 소득 수준은 80 + 1.1*70 = 157입니다.

$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.

매개변수 슬롯 사이트 슬롯 사이트 값;

* 반사실적 값 저장:

슬롯 사이트("X.L","RA=157") = X.L;
슬롯 사이트("Y.L","RA=157") = Y.L;
슬롯 사이트("U.L","RA=157") = U.L;

슬롯 사이트("PX.L","RA=157") = PX.L;
슬롯 사이트("PY.L","RA=157") = PY.L;
슬롯 사이트("PU.L","RA=157") = PU.L;
슬롯 사이트("PL.L","RA=157") = PL.L;
슬롯 사이트("PK.L","RA=157") = PK.L;

슬롯 사이트("RA.L","RA=157") = RA.L;
슬롯 사이트("PX.L/PX.L","RA=157") = PX.L/PX.L;
슬롯 사이트("PY.L/PX.L","RA=157") = PY.L/PX.L;
슬롯 사이트("PU.L/PX.L","RA=157") = PU.L/PX.L;
슬롯 사이트("PL.L/PX.L","RA=157") = PL.L/PX.L;
슬롯 사이트("PK.L/PX.L","RA=157") = PK.L/PX.L;
슬롯 사이트("RA.L/PX.L","RA=157") = RA.L/PX.L;

* 숫자 가격 지수를 수정하고 다시 계산합니다.

PX.FX = 1;
$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.

슬롯 사이트("X.L","PX=1") = X.L;
슬롯 사이트("Y.L","PX=1") = Y.L;
슬롯 사이트("U.L","PX=1") = U.L;

슬롯 사이트("PX.L","PX=1") = PX.L;
슬롯 사이트("PY.L","PX=1") = PY.L;
슬롯 사이트("PU.L","PX=1") = PU.L;
슬롯 사이트("PL.L","PX=1") = PL.L;
슬롯 사이트("PK.L","PX=1") = PK.L;

슬롯 사이트("RA.L","PX=1") = RA.L;

슬롯 사이트("PX.L/PX.L","PX=1") = PX.L/PX.L;
슬롯 사이트("PY.L/PX.L","PX=1") = PY.L/PX.L;
슬롯 사이트("PU.L/PX.L","PX=1") = PU.L/PX.L;
슬롯 사이트("PL.L/PX.L","PX=1") = PL.L/PX.L;
슬롯 사이트("PK.L/PX.L","PX=1") = PK.L/PX.L;

슬롯 사이트("RA.L/PX.L","PX=1") = RA.L/PX.L;

* 다른 숫자로 다시 계산하세요.
* X의 가격을 "고정 해제"하고 임금률을 고정합니다.

PX.UP = +inf; 
PX.LO = 1e-5;
PL.FX = 1;
$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.

슬롯 사이트("X.L","PL=1") = X.L;
슬롯 사이트("Y.L","PL=1") = Y.L;
슬롯 사이트("U.L","PL=1") = U.L;

슬롯 사이트("PX.L","PL=1") = PX.L;
슬롯 사이트("PY.L","PL=1") = PY.L;
슬롯 사이트("PU.L","PL=1") = PU.L;
슬롯 사이트("PL.L","PL=1") = PL.L;
슬롯 사이트("PK.L","PL=1") = PK.L;

슬롯 사이트("RA.L","PL=1") = RA.L;

슬롯 사이트("PX.L/PX.L","PL=1") = PX.L/PX.L;
슬롯 사이트("PY.L/PX.L","PL=1") = PY.L/PX.L;
슬롯 사이트("PU.L/PX.L","PL=1") = PU.L/PX.L;
슬롯 사이트("PL.L/PX.L","PL=1") = PL.L/PX.L;
슬롯 사이트("PK.L/PX.L","PL=1") = PK.L/PX.L;

슬롯 사이트("RA.L/PX.L","PL=1") = RA.L/PX.L;

디스플레이 슬롯 사이트;

슬롯 사이트 TWOBYTWO: GAMS MCP의 대수 버전

$title 2x2 일반 슬롯 사이트 모델 -- 스칼라 GAMS/MCP

매개변수 부여 노동 부여 지수 / 1.0 /;

* ====================================================
* MPSGE 모델에 명시적으로 나타나는 변수:

음이 아닌 변수
    X 섹터 X의 활동 수준 -- 벤치마크=1
    Y 부문 Y의 활동 수준 -- 벤치마크=1
    U 섹터 U의 활동 수준 -- 벤치마크=1

    PU 상품 U의 상대 가격 지수 -- 벤치마크=1, 
    PX 상품 X의 상대 가격 지수 -- 벤치마크=1, 
    PY 상품 Y의 상대 가격 지수 -- 벤치마크=1
    PL 노동 상대 가격 지수 -- 벤치마크=1
    PK 자본의 상대가격지수 -- 벤치마크=1;

자유변수
    RA 대표 대리인 소득 수준 -- 벤치마크=150;

* 기본 가격 및 활동 수준 지정:

XL = 1; YL = 1; UL = 1; PX.L = 1; PY.L = 1; PK.L = 1; PU.L = 1; RA.L = 150;

* 잘못된 함수 호출을 방지하려면 하한을 삽입하세요.

PX.LO = 0.001; PY.LO = 0.001; PU.LO = 0.001; PL.LO = 0.001; PK.LO = 0.001;

* ====================================================
* 암시적으로 MPSGE 모델에 입력되는 변수:

변수
   LX 'x부문의 노동수요 보상'
   LY 'y 부문의 보상된 노동 수요'
   KX 'x 부문의 보상 자본 수요'
   KY 'y 부문의 보상 자본 수요'
   DX 'u섹터에서 x에 대한 수요 보상'
   DY 'u섹터에서 y에 대한 수요를 보상했습니다';

* 암시적 변수에 대한 방정식:

방정식

   lxdef 'x 부문의 보상된 노동 수요'
   lydef 'y 부문의 노동 수요 보상'
   kxdef '섹터 x의 보상 자본 수요'
   kydef 'y 부문의 보상된 자본 수요'
   dxdef 'u 섹터의 x에 대한 수요 보상'
   dydef 'u 섹터의 y에 대한 수요 보상';

lxdef..LX =e= 50 * (PL**0.5 * PK**0.5)/PL;
lydef..LY =e= 20 * (PL**0.4 * PK**0.6)/PL;
kxdef.. KX =e= 50 * (PL**0.5 * PK**0.5)/PK;
kydef..KY =e= 30 * (PL**0.4 * PK**0.6)/PK;
dxdef.. DX =e= 100 * (PX**(2/3) * PY**(1/3))/PX;
dydef.. DY =e= 50 * (PX**(2/3) * PY**(1/3))/PY;

* 초기값:

LX.L = 50; LY.L = 20; KX.L = 50; KY.L = 30; DX.L = 100; DY.L = 50;

* ====================================================

방정식
   prf_x '섹터 x에 대한 이익이 0입니다.'
   prf_y 'y 부문의 이익은 0입니다'
   prf_u 'u 부문에 대한 이익이 0입니다(힉시안 복지 지수)'

   mkt_x '상품 x에 대한 공급-수요 균형'
   mkt_y 'y 상품에 대한 수요-공급 균형'
   mkt_l '1차 요소 l에 대한 수급 균형'
   mkt_k '1차 요소 k에 대한 공급-수요 균형'
   mkt_u '총수요에 대한 수급수지'

   i_ra '소비자 소득 정의(ra)';

* 제로 이익:

prf_x.. PL*LX + PK*KX =e= 100 * PX;
prf_y.. PL*LY + PK*KY =E= 50 * PY;
prf_u.. PX*DX + PY*DY =E= 150*PU;

* 시장 정리:

mkt_x.. 100 * X =e= DX*U;
mkt_y.. 50 * Y =e= DY*U;
mkt_u.. 150 * U =E= RA / PU;
mkt_l.. 70 * 엔다우 =e= LX*X + LY*Y;
mkt_k.. 80 =e= KX*X + KY*Y;

* 소득 잔액:

i_ra.. RA =e= (70*endow)*PL + 80*PK;

* 혼합 상보성 구문을 사용하여 모델을 선언합니다.
* 방정식 식별자가 변수와 연관되어 있습니다.

모델 대수학 / prf_x.X, prf_y.Y, prf_u.U, mkt_x.PX, mkt_y.PY, mkt_l.PL, 
                 mkt_k.PK, mkt_u.PU, I_ra.RA,
         lxdef.LX, lydef.LY, kxdef.KX, kydef.KY, dxdef.DX, dydef.DY /;

* 섹터 x를 숫자 상품으로 사용

PX.FX = PX.L;

algebraic.iterlim = 0;
MCP를 사용하여 대수학을 해결합니다.
algebraic.iterlim = 1000;

* 동일한 반사실적 문제를 해결합니다.

부여 = 1.1;

* 소득 수준을 기본 수준으로 수정합니다.
* 반사실적에 해당하는 소득 수준 
* 벤치마크 가격으로 기부:

RA.FX = 80 + 1.1 * 70;

MCP를 사용하여 대수학을 해결합니다.

매개변수 슬롯 사이트 슬롯 사이트 값;

* 반사실적 값 저장:

슬롯 사이트("X.L","RA=157") = X.L;
슬롯 사이트("Y.L","RA=157") = Y.L;
슬롯 사이트("U.L","RA=157") = U.L;

슬롯 사이트("PX.L","RA=157") = PX.L;
슬롯 사이트("PY.L","RA=157") = PY.L;
슬롯 사이트("PU.L","RA=157") = PU.L;
슬롯 사이트("PL.L","RA=157") = PL.L;
슬롯 사이트("PK.L","RA=157") = PK.L;

슬롯 사이트("RA.L","RA=157") = RA.L;
슬롯 사이트("PX.L/PX.L","RA=157") = PX.L/PX.L;
슬롯 사이트("PY.L/PX.L","RA=157") = PY.L/PX.L;
슬롯 사이트("PU.L/PX.L","RA=157") = PU.L/PX.L;
슬롯 사이트("PL.L/PX.L","RA=157") = PL.L/PX.L;
슬롯 사이트("PK.L/PX.L","RA=157") = PK.L/PX.L;
슬롯 사이트("RA.L/PX.L","RA=157") = RA.L/PX.L;

* 숫자 가격 지수를 수정하고 다시 계산합니다.

RA.LO = -inf;
RA.UP = INF;
PX.FX = 1;

mcp를 사용하여 대수학을 해결합니다.

슬롯 사이트("X.L","PX=1") = X.L;
슬롯 사이트("Y.L","PX=1") = Y.L;
슬롯 사이트("U.L","PX=1") = U.L;

슬롯 사이트("PX.L","PX=1") = PX.L;
슬롯 사이트("PY.L","PX=1") = PY.L;
슬롯 사이트("PU.L","PX=1") = PU.L;
슬롯 사이트("PL.L","PX=1") = PL.L;
슬롯 사이트("PK.L","PX=1") = PK.L;

슬롯 사이트("RA.L","PX=1") = RA.L;

슬롯 사이트("PX.L/PX.L","PX=1") = PX.L/PX.L;
슬롯 사이트("PY.L/PX.L","PX=1") = PY.L/PX.L;
슬롯 사이트("PU.L/PX.L","PX=1") = PU.L/PX.L;
슬롯 사이트("PL.L/PX.L","PX=1") = PL.L/PX.L;
슬롯 사이트("PK.L/PX.L","PX=1") = PK.L/PX.L;

슬롯 사이트("RA.L/PX.L","PX=1") = RA.L/PX.L;

* 다른 숫자로 다시 계산하세요.
* X의 가격을 "고정 해제"하고 임금률을 고정합니다.

PX.UP = +inf; 
PX.LO = 1e-5;
PL.FX = 1;
mcp를 사용하여 대수학을 해결합니다.

슬롯 사이트("X.L","PL=1") = X.L;
슬롯 사이트("Y.L","PL=1") = Y.L;
슬롯 사이트("U.L","PL=1") = U.L;

슬롯 사이트("PX.L","PL=1") = PX.L;
슬롯 사이트("PY.L","PL=1") = PY.L;
슬롯 사이트("PU.L","PL=1") = PU.L;
슬롯 사이트("PL.L","PL=1") = PL.L;
슬롯 사이트("PK.L","PL=1") = PK.L;

슬롯 사이트("RA.L","PL=1") = RA.L;

슬롯 사이트("PX.L/PX.L","PL=1") = PX.L/PX.L;
슬롯 사이트("PY.L/PX.L","PL=1") = PY.L/PX.L;
슬롯 사이트("PU.L/PX.L","PL=1") = PU.L/PX.L;
슬롯 사이트("PL.L/PX.L","PL=1") = PL.L/PX.L;
슬롯 사이트("PK.L/PX.L","PL=1") = PK.L/PX.L;

슬롯 사이트("RA.L/PX.L","PL=1") = RA.L/PX.L;

디스플레이 슬롯 사이트;

인덱싱된 MPSGE 슬롯 사이트 TWOBYTWO

$title 2×2 일반균형 모델 -- 색인화된 GAMS/MPSGE 

세트
    i 생산된 상품 / x, y /,
    f 생산요소 / L, K /;

테이블 sam(*,*) 벤치마크 입출력 행렬

                엑스유라
        X 100 -100
        Y 50 -50
        유 150 -150
        K -50 -20 70
        엘 -50 -30 80;

매개변수
    공급(i) 부문별 생산량의 벤치마크 공급,
    Factor(f,i) 벤치마크 팩터 수요,
    수요(i) 소비에 대한 벤치마크 수요,
    부여(f) 요소 부여,
    단점 벤치마크 총 소비;

* 원본 형식의 데이터를 모델별 배열로 추출

공급(i) = 샘(i,i);
요인(f,i) = -sam(f,i);
수요(i) = -sam(i,'u');
단점 = sum(i, 수요(i));
endow(f) = sam(f,'ra');

공급, 요소, 수요, 단점, 부여를 표시합니다.

$ontext
$MODEL:투바이투

$섹터:
    응(나) ! 활동 수준 -- 벤치마크=1
    유! 최종 소비 지수 -- 벤치마크=1

$상품:
    푸! 최종 소비의 상대 가격 -- 벤치마크=1
    PC(i) ! 상품의 상대 가격 -- 벤치마크=1
    PF(에프) ! 팩터의 상대 가격 - 벤치마크=1 

$소비자:
    라! 소득 수준(벤치마크=150)

$PROD:Y(i) s:1
        O:PC(i) Q:공급(i)
        I:PF(f) Q:인자(f,i)

$PROD:U s:1
        O:PU Q:단점
        I:PC(i) Q:수요(i)

$수요:RA
        D:PU Q:단점
        E:PF(f) Q:엔다우(f)

$offtext
$sysinclude mpsgeset twobytwo

* 벤치마크 복제

twobytwo.iterlim = 0;
$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.
twobytwo.iterlim = 1000;

* 반사실적 : 노동력 10% 증가

endow('l') = 1.1*endow('l');

* 가격의 기본 정규화를 사용하여 모델을 해결합니다. 
* 대표 대리인의 소득 수준을 수정합니다.  RA
* 초기 가격의 소득 수준은 80 + 1.1*70 = 157입니다.

$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.

매개변수 슬롯 사이트 슬롯 사이트 값;

* 반사실적 값 저장:

슬롯 사이트("Y.L",i,"RA=157") = Y.L(i);
슬롯 사이트("U.L","_","RA=157") = U.L;
슬롯 사이트("PC.L",i,"RA=157") = PC.L(i);
슬롯 사이트("PF.L",f,"RA=157") = PF.L(f);
슬롯 사이트("RA.L","_","RA=157") = RA.L;
슬롯 사이트('PC(i)/PC("x")',i,"RA=157") = PC.L(i)/PC.L("x");
슬롯 사이트('PF(f)/PC("x")',f,"RA=157") = PF.L(f)/PC.L("x");
슬롯 사이트('RA.L/PC("x")',"_","RA=157") = RA.L/PC.L("x");

* 숫자 가격 지수를 수정하고 다시 계산합니다.

PC.FX("x") = 1;
$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.

슬롯 사이트("Y.L",i,'PC("x")=1') = Y.L(i);
슬롯 사이트("U.L","_",'PC("x")=1') = U.L;
슬롯 사이트("PC.L",i,'PC("x")=1') = PC.L(i);
슬롯 사이트("PF.L",f,'PC("x")=1') = PF.L(f);
슬롯 사이트('PC(i)/PC("x")',i,'PC("x")=1') = PC.L(i)/PC.L("x");
슬롯 사이트('PF(f)/PC("x")',f,'PC("x")=1') = PF.L(f)/PC.L("x");
슬롯 사이트("RA.L","_",'PC("x")=1') = RA.L;
슬롯 사이트('RA.L/PC("x")',"_",'PC("x")=1') = RA.L/PC.L("x");

* 다른 숫자로 다시 계산하세요.
* X의 가격을 "고정 해제"하고 임금률을 고정합니다.

PC.UP("X") = +inf;  PC.LO("X") = 1e-5;  PF.FX("L") = 1;
$include TWOBYTWO.GEN
mcp를 사용하여 2x2를 해결합니다.

슬롯 사이트("Y.L",i,'PF("L")=1') = Y.L(i);
슬롯 사이트("U.L","_",'PF("L")=1') = U.L;
슬롯 사이트("PC.L",i,'PF("L")=1') = PC.L(i);
슬롯 사이트("PF.L",f,'PF("L")=1') = PF.L(f);
슬롯 사이트('PC(i)/PC("x")',i,'PF("L")=1') = PC.L(i)/PC.L("x");
슬롯 사이트('PF(f)/PC("x")',f,'PF("L")=1') = PF.L(f)/PC.L("x");
슬롯 사이트("RA.L","_",'PF("L")=1') = RA.L;
슬롯 사이트('RA.L/PC("x")',"_",'PF("L")=1') = RA.L/PC.L("x");

옵션 균형:3:2:1;
디스플레이 슬롯 사이트;

슬롯 사이트 JPMGE의 세 가지 버전

MPSGE 슬롯 사이트 JPMGE

공작 제품 및 중간 수요가 포함된 $title 모델 -- GAMS/MPSGE로 해결

j 섹터 / s1*s2 /를 설정합니다.
        i 물품 / g1*g2 /,
        f 주요 요소 / 노동, 자본 / ;

별칭 (i,ii),(j,jj);

테이블 make0(i,j) 매트릭스 -- 소모품
           초1 초2
   g1 6 2
   g2 2 10 ;

테이블 use0(i,j) 매트릭스 사용 - 중간 수요
           초1 초2
   g1 4 2
   g2 2 6 ;

표 fd0(f,j) 요인 요구 사항
           초1 초2
   노동 1 3
   자본금 1 1 ;

매개변수
  c0(i) 소비자 수요 / g1 2, g2 4 /
  e0(f) 인자 기부;

e0(f) = sum(j, fd0(f,j));
e0을 표시;

$ontext
$MODEL:jpmge

$섹터:
    X(j) ! 활동 지수 -- 벤치마크=1

$상품:
    피(i) ! 상대 상품 가격 -- 벤치마크=1
    PF(에프) ! 상대 팩터 가격 -- 벤치마크=1

$소비자:
    야! 명목 가구 소득 = 지출

$PROD:X(j) s:1 t:1
      O:P(i) Q:make0(i,j) ! MCP 및 NLP 모델의 S(i,j)
      I:P(i) Q:use0(i,j) ! MCP 및 NLP 모델의 D(i,j)
      I:PF(f) Q:fd0(f,j) ! MCP 및 NLP 모델의 FD(f,j)

$보고서:
    v:S(i,j) O:P(i) PROD:X(j)
    v:D(i,j) I:P(i) PROD:X(j)
    v:FD(f,j) I:PF(f) PROD:X(j)

$DEMAND:Y 초:1
    D:P(i) Q:c0(i)
    E:PF(f) Q:e0(f)

$보고서:
    v:C(i) D:P(i) 수요:Y

$offtext
$sysinclude mpsgeset jpmge

* 벤치마크 복제

jpmge.iterlim = 0;
$include JPMGE.GEN
mcp를 사용하여 jpmge를 해결합니다.
abort$(abs(jpmge.objval) gt 1e-7) "JPMGE가 보정되지 않습니다!";
jpmge.iterlim = 1000;

* 반사실적 : 노동력 10% 증가

e0("노동") = 1.1 * e0("노동");

$include JPMGE.GEN
mcp를 사용하여 jpmge를 해결합니다.

매개변수 슬롯 사이트 슬롯 사이트 값;

* 반사실적 값 저장:

슬롯 사이트("X",j,"Y=6.4") = X.L(j);
슬롯 사이트(i,j,"Y=6.4") = S.L(i,j)-D.L(i,j);
슬롯 사이트(f,j,"Y=6.4") = FD.L(f,j);
슬롯 사이트("C",i,"Y=6.4") = C.L(i);
슬롯 사이트("X",j,"Y=6.4") = X.L(j);
슬롯 사이트("P",i,"Y=6.4") = P.L(i);
슬롯 사이트("PF",f,"Y=6.4") = PF.L(f);
슬롯 사이트("Y","_","Y=6.4") = Y.L;

* 숫자 가격 지수를 수정하고 다시 계산합니다.

P.FX("g1") = 1;
$include JPMGE.GEN
mcp를 사용하여 jpmge를 해결합니다.

슬롯 사이트("X", j,'P("g1")=1') = X.L(j);
슬롯 사이트(i, j,'P("g1")=1') = S.L(i,j)-D.L(i,j);
슬롯 사이트(f, j,'P("g1")=1') = FD.L(f,j);
슬롯 사이트("C", i,'P("g1")=1') = C.L(i);
슬롯 사이트("X", j,'P("g1")=1') = X.L(j);
슬롯 사이트("P", i,'P("g1")=1') = P.L(i);
슬롯 사이트("PF", f,'P("g1")=1') = PF.L(f);
슬롯 사이트("Y","_",'P("g1")=1') = Y.L;

* 다른 숫자로 다시 계산하세요.
* X의 가격을 "고정 해제"하고 임금률을 고정합니다.

P.UP("g1") = +inf;
P.LO("g1") = 1e-5;
PF.FX("노동") = 1;

$include JPMGE.GEN
mcp를 사용하여 jpmge를 해결합니다.

Equilibrium("X", j,'PF("노동")=1') = X.L(j);
슬롯 사이트(i, j,'PF("노동")=1') = S.L(i,j)-D.L(i,j);
슬롯 사이트(f, j,'PF("노동")=1') = FD.L(f,j);
Equilibrium("C", i,'PF("노동")=1') = C.L(i);
Equilibrium("X", j,'PF("노동")=1') = X.L(j);
Equilibrium("P", i,'PF("노동")=1') = P.L(i);
Equilibrium("PF", f,'PF("노동")=1') = PF.L(f);
Equilibrium("Y","_",'PF("노동")=1') = Y.L;

옵션 균형:3:2:1;
디스플레이 슬롯 사이트;

슬롯 사이트 JPMGE의 대수 버전: MCP 공식

공작 제품과 중간 수요가 있는 $title 모델 -- GAMS/MCP로 해결 

j 섹터 / s1*s2 /를 설정합니다.
        i 물품 / g1*g2 /,
        f 주요 요소 / 노동, 자본 / ;

별칭 (i,ii),(j,jj);

테이블 make0(i,j) 매트릭스 -- 소모품
           초1 초2
   g1 6 2
   g2 2 10 ;

테이블 use0(i,j) 매트릭스 사용 - 중간 수요
           초1 초2
   g1 4 2
   g2 2 6 ;

표 fd0(f,j) 요인 요구 사항
           초1 초2
   노동 1 3
   자본금 1 1 ;

매개변수
  c0(i) 소비자 수요 / g1 2, g2 4 /
  e0(f) 인자 기부;

e0(f) = sum(j, fd0(f,j));
e0을 표시;

* ====================================================
* MPSGE 모델에 명시적으로 나타나는 변수:

변수
    X(j) ! 활동 지수 -- 벤치마크=1
    피(i) ! 상대 상품 가격 -- 벤치마크=1
    PF(에프) ! 상대 팩터 가격 -- 벤치마크=1
    야! 명목 가구 소득=지출;

X.L(j) = 1;  P.L(i) = 1; PF.L(f) = 1; Y.L = 합(f,e0(f));
P.LO(i) = 1e-4; PF.LO(f) = 1e-4;

* ====================================================
* 암시적으로 MPSGE 모델에 입력되는 변수:

변수
    S(i,j) 보상 공급 
    D(i,j) 보상된 중간 수요 
    FD(f,j) 보상요소 수요
    C(i) 최종 수요;

S.L(i,j) = make0(i,j);
D.L(i,j) = use0(i,j);
FD.L(f,j) = fd0(f,j);
C.L(i) = c0(i);

* ====================================================
* MPSGE에서 자동으로 제공하는 교정 계산:

매개변수 thetad(i,j) 중간 수요 가치 점유율
            thetas(i,j) 출력값 공유
            thetaf(f,j) 요소 수요 가치 점유율
            thetac(i) 최종 수요 가치 지분;

thetas(i,j) = make0(i,j)/sum(ii,make0(ii,j));
thetad(i,j) = use0(i,j)/(sum(ii,use0(ii,j))+sum(ff,fd0(ff,j)));
thetaf(f,j) = fd0(f,j) /(sum(ii,use0(ii,j))+sum(ff,fd0(ff,j)));

thetac(i) = c0(i)/sum(ii,c0(ii));

별칭 (i,i_), (f,f_);

* 암시적 변수에 대한 방정식:

방정식 sdef, ddef, fddef, cdef;

$macro REV(j) (sqrt(sum(i_,thetas(i_,j)*sqr(P(i_)))))

sdef(i,j).. S(i,j) =e= make0(i,j)*P(i)/REV(j);

$macro COST(j) (prod(i_,P(i_)**thetad(i_,j))*prod(f_,PF(f_)**thetaf(f_,j)))

ddef(i,j).. D(i,j) =e= use0(i,j) * COST(j)/P(i);

fddef(f,j).. FD(f,j) =e= fd0(f,j) * COST(j)/PF(f);

cdef(i).. C(i) =e= thetac(i) * Y/P(i);

* ====================================================
* 슬롯 사이트 조건:

방정식 prf_X(j), mkt_p(i), mkt_pf(f), 소득;

* 제로 이익:

prf_X(j).. sum(f,PF(f)*FD(f,j)) + sum(i,P(i)*D(i,j)) =e= sum(i,P(i)*S(i,j));

* 시장 정리:

mkt_P(i).. sum(j, X(j)*(S(i,j)-D(i,j))) =e= C(i);

mkt_PF(f).. e0(f) =e= sum(j, FD(f,j)*X(j));

* 소득 잔액:

소득.. Y =e= sum(f, PF(f)*e0(f));

모델 jpmcp / sdef.S, ddef.D, fddef.FD, cdef.C, prf_X.X, mkt_P.P, mkt_PF.PF, 수입.Y /;

* ====================================================

* 반복 제한이 0인 벤치마크 복제.  필요하지 않다
* 이 시점에서 가격 수준을 수정하려면:

jpmcp.iterlim = 0;
mcp를 사용하여 jpmcp를 해결합니다.
abort$(abs(jpmcp.objval) gt 1e-7) "JPMCP가 보정되지 않습니다!";
jpmcp.iterlim = 1000;

* ====================================================
* 반사실적 : 노동력 10% 증가

e0("노동") = 1.1 * e0("노동");

* 소득 수준을 기본 수준으로 수정합니다.
* 반사실적에 해당하는 소득 수준 
* 벤치마크 가격으로 기부:

Y.FX = 합(f,e0(f));

mcp를 사용하여 jpmcp를 해결합니다.

매개변수 슬롯 사이트 슬롯 사이트 값;

* 반사실적 값 저장:

슬롯 사이트("X",j,"Y=6.4") = X.L(j);
슬롯 사이트(i,j,"Y=6.4") = S.L(i,j)-D.L(i,j);
슬롯 사이트(f,j,"Y=6.4") = FD.L(f,j);
슬롯 사이트("C",i,"Y=6.4") = C.L(i);
슬롯 사이트("X",j,"Y=6.4") = X.L(j);
슬롯 사이트("P",i,"Y=6.4") = P.L(i);
슬롯 사이트("PF",f,"Y=6.4") = PF.L(f);
슬롯 사이트("Y","_","Y=6.4") = Y.L;

* 숫자 가격 지수를 수정하고 다시 계산합니다.

P.FX("g1") = 1;
Y.LO = -INF;
Y.UP = INF;

mcp를 사용하여 jpmcp를 해결합니다.

슬롯 사이트("X", j,'P("g1")=1') = X.L(j);
슬롯 사이트(i, j,'P("g1")=1') = S.L(i,j)-D.L(i,j);
슬롯 사이트(f, j,'P("g1")=1') = FD.L(f,j);
슬롯 사이트("C", i,'P("g1")=1') = C.L(i);
슬롯 사이트("X", j,'P("g1")=1') = X.L(j);
슬롯 사이트("P", i,'P("g1")=1') = P.L(i);
슬롯 사이트("PF", f,'P("g1")=1') = PF.L(f);
슬롯 사이트("Y","_",'P("g1")=1') = Y.L;

* 다른 숫자로 다시 계산하세요.
* X의 가격을 "고정 해제"하고 임금률을 고정합니다.

P.UP("g1") = +inf;
P.LO("g1") = 1e-5;
PF.FX("노동") = 1;

mcp를 사용하여 jpmcp를 해결합니다.

Equilibrium("X", j,'PF("노동")=1') = X.L(j);
슬롯 사이트(i, j,'PF("노동")=1') = S.L(i,j)-D.L(i,j);
슬롯 사이트(f, j,'PF("노동")=1') = FD.L(f,j);
Equilibrium("C", i,'PF("노동")=1') = C.L(i);
Equilibrium("X", j,'PF("노동")=1') = X.L(j);
Equilibrium("P", i,'PF("노동")=1') = P.L(i);
Equilibrium("PF", f,'PF("노동")=1') = PF.L(f);
Equilibrium("Y","_",'PF("노동")=1') = Y.L;

옵션 균형:3:2:1;
디스플레이 슬롯 사이트;

슬롯 사이트 JPMGE의 대수 버전: NLP 공식

공작 제품과 중간 수요가 포함된 $title 모델 -- NLP로 해결됨

j 섹터 / s1*s2 /를 설정합니다.
        i 물품 / g1*g2 /,
        f 주요 요소 / 노동, 자본 / ;

별칭 (i,ii),(j,jj);

테이블 make0(i,j) 매트릭스 -- 소모품
           초1 초2
   g1 6 2
   g2 2 10 ;

테이블 use0(i,j) 매트릭스 사용 - 중간 수요
           초1 초2
   g1 4 2
   g2 2 6 ;

표 fd0(f,j) 요인 요구 사항
           초1 초2
   노동 1 3
   자본금 1 1 ;

매개변수
  c0(i) 소비자 수요 / g1 2, g2 4 /
  e0(f) 인자 기부;

e0(f) = sum(j, fd0(f,j));
e0을 표시;

* ====================================================
* MPSGE 모델에 명시적으로 나타나는 변수:

음수가 아닌
변수 X(j) ! 활동 지수 -- 벤치마크=1;
X.L(j) = 1;

* ====================================================
* 암시적으로 MPSGE 모델에 입력되는 변수:

변수
    유 유틸리티
    S(i,j) 보상 공급 
    D(i,j) 보상된 중간 수요 
    FD(f,j) 보상요소 수요
    C(i) 최종 수요;

S.L(i,j) = make0(i,j);
D.L(i,j) = use0(i,j);
FD.L(f,j) = fd0(f,j);
C.L(i) = c0(i);

* ====================================================
* MPSGE에서 자동으로 제공하는 교정 계산:

매개변수 thetad(i,j) 중간 수요 가치 점유율
            thetas(i,j) 출력값 공유
            thetaf(f,j) 요소 수요 가치 점유율
            thetac(i) 최종 수요 가치 지분;

thetas(i,j) = make0(i,j)/sum(ii,make0(ii,j));
thetad(i,j) = use0(i,j)/(sum(ii,use0(ii,j))+sum(ff,fd0(ff,j)));
thetaf(f,j) = fd0(f,j) /(sum(ii,use0(ii,j))+sum(ff,fd0(ff,j)));
thetac(i) = c0(i)/sum(ii,c0(ii));

* ====================================================
* 슬롯 사이트 조건:

방정식 생산, 상품, 요소, 유틸리티;

* 제로 이익:

생산(j).. prod(i, (D(i,j)/use0(i,j))**thetad(i,j)) *
        prod(f, (FD(f,j)/fd0(f,j))**thetaf(f,j)) =e=
        sqrt(sum(i, thetas(i,j)*sqr(S(i,j)/make0(i,j))));

* 시장 정리:

상품(i).. sum(j, X(j)*(S(i,j)-D(i,j))) =e= C(i);

Factors(f)..e0(f) =e= sum(j, FD(f,j)*X(j));

* 소득 잔액:

유틸리티.. U =E= prod(i, (C(i)/c0(i))**thetac(i));

모델 jpnlp / 생산, 상품, 요소, 유틸리티/;

* ====================================================
* 반복 제한이 0인 벤치마크 복제.  필요하지 않다
* 이 시점에서 가격 수준을 수정하려면:

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

매개변수 슬롯 사이트 슬롯 사이트 값
            pnum Numeraire 가격 지수;

* 벤치마크 값 저장:

pnum = sum(f,factors.m(f)*e0(f))/sum(f,e0(f));
슬롯 사이트("X",j,"bmk") = X.L(j);
슬롯 사이트(i,j,"bmk") = X.L(j)*(S.L(i,j)-D.L(i,j));
슬롯 사이트(f,j,"bmk") = FD.L(f,j);
슬롯 사이트("C",i,"bmk") = C.L(i);
슬롯 사이트("X",j,"bmk") = X.L(j);
Equilibrium("P",i,"bmk") = good.m(i)/pnum;
Equilibrium("PF",f,"bmk") = Factors.m(f)/pnum;
슬롯 사이트("Y","_","bmk") = sum(f,factors.m(f)*e0(f)/pnum);

* ====================================================
* 반사실적 : 노동력 10% 증가

e0("노동") = 1.1 * e0("노동");

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

* 반사실적 값 저장:

pnum = sum(f,factors.m(f)*e0(f))/sum(f,e0(f));
Equilibrium("X",j,'노동+10%') = X.L(j);
슬롯 사이트(i,j,'노동+10%') = X.L(j)*(S.L(i,j)-D.L(i,j));
슬롯 사이트(f,j,'노동+10%') = FD.L(f,j);
Equilibrium("C",i,'노동+10%') = C.L(i);
Equilibrium("X",j,'노동+10%') = X.L(j);
Equilibrium("P",i,'노동+10%') = products.m(i)/pnum;
Equilibrium("PF",f,'노동+10%') = Factors.m(f)/pnum;
슬롯 사이트("Y","_",'노동+10%') = sum(f,factors.m(f)*e0(f)/pnum);

옵션 균형:3:2:1;
디스플레이 슬롯 사이트;

123 슬롯 사이트의 세 가지 버전

슬롯 사이트용 데이터: 123DATA

이 데이터 파일은 다음 각 슬롯 사이트에 포함되어 있습니다.

112741_116258

MGE123: MPSGE 슬롯 사이트

이것은 기본 123 MPSGE 슬롯 사이트입니다.

$title 정적 123 슬롯 사이트 Ala Devarjan

$123data.gms 포함

$ontext
$슬롯 사이트:MGE123

$섹터:
        야! 생산
        ! 아르밍턴 복합재
        엠! 수입품
        엑스! 수출

$상품:
        PD! 국내물가지수
        PX! 수출가격지수
        오후! 수입물가지수
        파! 아밍턴 가격 지수
        PL! 임금지수
        RK! 임대가격지수
        PFX! 외환

$소비자:
        ㅎ! 개인 가구
        정부! 정부

$보조:
        TAU_LS! 일시대체세
        TAU_TL ! 노동세 대체
        당신! 실업률

$PROD:Y t:etadx s:esubkl
        O:PD Q:d0 P:1 ! YD
        O:PX Q:x0 P:px0 A:GOVT T:tx ! YX
        I:RK Q:kd0 P:rr0 A:GOVT T:tk ! KD
        I:PL Q:ly0 P:pl0 A:GOVT T:tl N:TAU_TL ! 리

$보고서:
         v:YD o:PD prod:Y
         v:YX o:PX prod:Y
         v:KD i:RK 제품:Y
         v:LY i:PL prod:Y

$PROD:A s:sigmadm
        O:PA Q:a0 A:GOVT t:ta
        나:PD Q:d0 ! 다
        I:PM Q:m0 p:pm0 A:GOVT t:tm ! 석사

$보고서:
    v:DA i:PD prod:A
    v:MA i:PM prod:A

$PROD:M
        O:오후 Q:m0
        I:PFX Q:(pwm*m0)

$PROD:X
        O:PFX Q:(pwx*x0)
        I:PX Q:x0

$Demand:정부
        E:PFX Q:bopdef
        E:PA Q:dtax
        E:PA Q:g0 R:TAU_LS
        D:PA

$CONSTRAINT:UR
        PL =G= PA;

$CONSTRAINT:TAU_LS
        GOVT =e= PA * g0;

$CONSTRAINT:TAU_TL
        GOVT =e= PA * g0;

$DEMAND:HH s:시그마
        E:PA Q:(-g0) R:TAU_LS
        E:PA Q:(-dtax)
        E:RK Q:kd0
        E:PA Q:(-i0)
        E:PL Q:(ly0+l0) ! 노동 부여 = ly0+l0 - UR * (ly0+l0)
        E:PL Q:(-(ly0+l0)) R:UR
        D:PA Q:c0
        D:PL Q:l0

$보고서:
    v:W w:HH
    v:C d:PA 수요:HH
    v:LD d:PL 수요:HH

$offtext
$sysinclude mpsgeset mge123

UR.FX = 0;
TAU_TL.FX = 0;
TAU_LS.UP = INF;
TAU_LS.LO = -INF;
mge123.iterlim = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.
abort$(mge123.objval > 1e-4) "벤치마크 슬롯 사이트이 보정되지 않습니다.";
mge123.iterlim = 10000;

mge123.savepoint = 2;

매개변수 보고서 관세 제거 및 수익 대체(영향%);

$onechov >%gams.scrdir%report.gms
abort$(mge123.objval > 1e-4) "시나리오를 해결하지 못했습니다.";

report("W","%replacement%","%노동시장%") = 100*(W.L-1);
report("Y","%replacement%","%노동시장%") = 100*(Y.L-1);
report("A","%replacement%","%labormarket%") = 100 * (A.L-1);
report("M","%replacement%","%labormarket%") = 100 * (M.L-1);
report("X","%replacement%","%labormarket%") = 100 * (X.L-1);
report("YD","%replacement%","%labormarket%") = 100 * (YD.L/d0-1);
report("YX","%replacement%","%labormarket%") = 100 * (YX.L/x0-1);
report("KD","%replacement%","%labormarket%") = 100 * (KD.L/kd0-1);
report("LY","%replacement%","%labormarket%") = 100 * (LY.L/ly0-1);
report("DA","%replacement%","%labormarket%") = 100 * (DA.L/d0-1);
report("MA","%replacement%","%labormarket%") = 100 * (MA.L/m0-1);
report("C","%replacement%","%labormarket%") = 100 * (C.L/c0-1);
report("LD","%replacement%","%labormarket%") = 100 * (LD.L/l0-1);
report("PD","%replacement%","%노동시장%") = 100 * (PD.L/PL.L - 1);
report("PX","%replacement%","%labormarket%") = 100 * (PX.L/PL.L - 1);
report("PM","%replacement%","%labormarket%") = 100 * (PM.L/PL.L - 1);
report("PA","%replacement%","%labormarket%") = 100 * (PA.L/PL.L - 1);
report("PL","%replacement%","%labormarket%") = 100 * (PL.L/PL.L - 1);
report("RK","%replacement%","%labormarket%") = 100 * (RK.L/PL.L - 1);
report("PFX","%replacement%","%labormarket%") = 100 * (PFX.L/PL.L - 1);
report("HH","%replacement%","%노동시장%") = 100 * (HH.L/PL.L - 1);
report("GOVT","%replacement%","%labormarket%") = 100 * (GOVT.L/PL.L - 1);

report("TAU_LS","%replacement%","%labormarket%") = 100*TAU_LS.L;
report("TAU_TL","%replacement%","%labormarket%") = 100*TAU_TL.L;
report("UR","%replacement%","%노동시장%") = 100*UR.L;
$offecho

* 관세 개혁:

TM = 0;

UR.FX = 0;
TAU_LS.UP = +inf;
TAU_LS.LO = -inf;
TAU_TL.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 교체 일시금 
$set 노동 시장 유연성
$include %gams.scrdir%report

UR.FX = 0;
TAU_TL.UP = +inf;
TAU_TL.LO = -inf;
TAU_LS.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 대체 근로소득세
$set 노동 시장 유연성
$include %gams.scrdir%report

UR.LO = 0;
UR.UP = +inf;
TAU_LS.UP = +inf;
TAU_LS.LO = -inf;
TAU_TL.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 교체 일시금
$set 노동시장 경직된 임금
$include %gams.scrdir%report

UR.LO = 0;
UR.UP = +inf;
TAU_TL.UP = +inf;
TAU_TL.LO = -inf;
TAU_LS.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 대체 근로소득세
$set 노동시장 경직된 임금
$include %gams.scrdir%report

옵션 보고서:1:1:2;
보고서 표시;

슬롯 사이트 MCP123: GAMS MCP의 대수 버전

이 GAMS 슬롯 사이트은 슬롯 사이트입니다mge123문자 그대로 GAMS/MCP(대수) 형식으로 번역되었습니다. 이것이 슬롯 사이트이 MPSGEv2 프레임워크에서 보이는 방식입니다.

$title 정적 123 슬롯 사이트 Ala Devarjan -- GAMS/MCP 형식

$123개 데이터 포함

* ====================================================
* MPSGE 슬롯 사이트에 명시적으로 나타나는 변수:

음이 아닌 변수

*$섹터:
        와이프로덕션
        Armington 합성물
        M 수입품
        X 수출

*$상품:
        PD 국내물가지수
        PX 수출 가격 지수
        PM 수입물가지수
        PA 아밍턴 가격 지수
        PL 임금지수
        RK 임대가격지수
        PFX 외환

*$소비자:
        HH 개인가구
        정부 정부

*$보조:
        TAU_TL 임금대체세,
        TAU_LS 일시대체세
        UR 실업률;

* 기본 가격 및 활동 수준 지정:

YL = 1; AL = 1; ML = 1; XL = 1;
PD.L = 1; PX.L = 1; PM.L = 1; PA.L = 1; PL.L = 1; RK.L = 1; PFX.L = 1;
HH.L = c0+l0; GOVT.L=g0;
TAU_TL.L = 0; TAU_LS.L = 0; URL.L = 0;

* 잘못된 함수 호출을 방지하려면 하한을 삽입하세요.

PD.LO = 1e-4; PX.LO = 1e-4; PM.LO = 1e-4; PA.LO = 1e-4; PL.LO = 1e-4; RK.LO = 1e-4; PFX.LO = 1e-4;

* ====================================================
* 변수는 MPSGE 슬롯 사이트에 암시적으로 입력됩니다.

변수
    국내 시장을 겨냥한 YD Production,
    수출시장을 위한 YX Production,
    KD캐피탈 수요,
    LY 노동수요,
    DA 국내 흡수,
    MA 수입,
    C 상품 소비(미보상),
    LD 여가수요(무보상),

* 암시적 변수에 대한 방정식:

방정식 YDdef, YXdef, KDdef, LYdef, DAdef, MAdef, Cdef, LDdef;

* 종합 가격(단가 및 단가 수익)을 정의하는 매크로:

매개변수 총 비용 함수의 노동 점유율,
          thetac 지출함수 중 소비점유율,
          Armington 함수의 thetam Share 매개변수
          thetaz 변환 함수의 공유 매개변수 ;

thetal = ly0*pl0 /(kd0*rr0+ly0*pl0);
thetaz = x0 *px0 /(d0+x0*px0);
thetam = m0 *pm0 /(d0+m0*pm0);
thetac = c0/(c0+l0);

$macro CY ((PL*(1+tl+TAU_TL)/pl0)**thetal * (RK*(1+tk)/rr0)**(1-thetal))
$macro RY ((thetaz * (PX*(1-tx)/px0)**(1+etadx) + (1-thetaz) * PD**(1+etadx)) **(1/(1+etadx)))
$macro CA ((탐 *(PM*(1+tm)/pm0)**(1-sigmadm) + (1-탐)*PD**(1-sigmadm))**(1/(1-sigmadm)))
$macro CU ((thetac*PA**(1-시그마) + (1-thetac)*PL**(1-시그마))**(1/(1-시그마)))
$매크로 W (HH.L/((c0+l0)*CU))

* 수요와 공급 함수의 정의:

YDdef.. YD =e= d0 * (PD/RY)**etadx;
YXdef.. YX =e= x0 * (PX*(1-tx)/(px0*RY))**etadx;
KDdef.. KD =e= kd0 * (CY*rr0/(RK*(1+tk)))**esubkl;
LYdef.. LY =e= ly0 * (CY*pl0/(PL*(1+tl+TAU_TL)))**esubkl;

DAdef.. DA =e= d0 * (CA/PD)**sigmadm;
MAdef.. MA =e= m0 * (CA*pm0/(PM*(1+tm)))**sigmadm;

Cdef.. C =e= c0 * W * (CU/PA)**시그마;
LDdef.. LD =e= l0 * W * (CU/PL)**시그마;

* 초기화:

YD.L = d0; YX.L = x0; KD.L = kd0; LY.L = ly0; DA.L = d0; MA.L = m0;
C.L = c0; LD.L = 10;

* ====================================================

방정식

* 제로 이익 조건
         수익성 있는 국내 생산,
         이익을 창출하는 Armington 공급,
         수입품 생산 이익
         이익x 수출품 생산

* 시장 청산 조건
         국내 상품 시장에 출시됨,
         marketa Armington 상품 시장
         마켓엠 수입품 마켓
         marketx 수출품 시장
         marketfx 지불 잔액
         시장 자본 시장
         시장 노동 시장

* 소득 잔액
         수입 예산
         소득 가계 예산

* 추가 제약사항
         tauTLdef 동일 수율 제약 조건(TL),
         tauLSdef 동일 수율 제약조건(LS),
     URdef 실질임금의 하한선;

시장.. Y*YD =e= A*DA;

수익성이 좋습니다.. KD*RK*(1+tk) + LY*PL*(1+tl+TAU_TL) =E= YD*PD + YX*PX*(1-tx);

marketa.. A*a0 =g= GOVT/PA + i0 + C;

이익.. PD*DA + PM*(1+tm)*MA =e= PA*a0*(1-ta);

시장m.. M*m0 =e= A*MA;

이익m.. PFX*pwm =e= PM;

marketx.. Y*YX =e= X*x0;

이익x.. PX =e= PFX*pwx;

marketfx.. X*pwx*x0 + bopdef =E= M*pwm*m0;

시장..kd0 =e= Y*KD;

시장..ly0+l0 =e= Y*LY + LD + (ly0+l0)*UR;

소득.. GOVT =e= PFX*bopdef + PA*dtax + PA*g0*TAU_LS + tx*PX*YX*Y + 
            tk*RK*KD*Y + (tl+TAU_TL)*PL*LY*Y + tm*PM*MA*A + ta*PA*a0*A;

tauTLdef..GOVT =e= PA * g0;

tauLSdef..GOVT =e= PA * g0;

URdef..PL =G= PA;

소득.. HH =e= PL*(ly0+l0)*(1-UR) - PA*dtax - PA*g0*TAU_LS + RK*kd0 - PA*i0 ;

슬롯 사이트 mcp123 /marketd.PD, marketa.PA, marketm.PM, marketx.PX, marketfx.PFX, marketk.RK, marketl.PL,
              profity.Y,profita.A,profitm.M,profitx.X,incomeg.GOVT,incomeh.HH,tauLSdef.TAU_LS,tauTLdef.TAU_TL,URdef.UR,
          YDdef.YD, YXdef.YX, KDdef.KD, LYdef.LY, DAdef.DA, MAdef.MA, Cdef.C, LDdef.LD /;

* 숫자 가격 지수 설정:

HH.FX = HH.L;
mcp123.iterlim = 0;
mcp를 사용하여 mcp123을 해결합니다.
abort$(mcp123.objval > 1e-4) "벤치마크 슬롯 사이트이 보정되지 않습니다.";
mcp123.iterlim = 10000;

매개변수 보고서 관세 제거 및 수익 대체(영향%);

$onechov >%gams.scrdir%report.gms
abort$(mcp123.objval > 1e-4) "시나리오를 해결하지 못했습니다.";

$ondotl
report("W","%replacement%","%노동시장%") = 100*(W-1);
report("Y","%replacement%","%노동시장%") = 100*(Y.L-1);
report("A","%replacement%","%labormarket%") = 100 * (A.L-1);
report("M","%replacement%","%labormarket%") = 100 * (M.L-1);
report("X","%replacement%","%labormarket%") = 100 * (X.L-1);
report("YD","%replacement%","%labormarket%") = 100 * (YD.L/d0-1);
report("YX","%replacement%","%labormarket%") = 100 * (YX.L/x0-1);
report("KD","%replacement%","%labormarket%") = 100 * (KD.L/kd0-1);
report("LY","%replacement%","%labormarket%") = 100 * (LY.L/ly0-1);
report("DA","%replacement%","%labormarket%") = 100 * (DA.L/d0-1);
report("MA","%replacement%","%labormarket%") = 100 * (MA.L/m0-1);
report("C","%replacement%","%labormarket%") = 100 * (C.L/c0-1);
report("LD","%replacement%","%labormarket%") = 100 * (LD.L/l0-1);
report("PD","%replacement%","%노동시장%") = 100 * (PD.L/PL.L - 1);
report("PX","%replacement%","%labormarket%") = 100 * (PX.L/PL.L - 1);
report("PM","%replacement%","%labormarket%") = 100 * (PM.L/PL.L - 1);
report("PA","%replacement%","%labormarket%") = 100 * (PA.L/PL.L - 1);
report("PL","%replacement%","%labormarket%") = 100 * (PL.L/PL.L - 1);
report("RK","%replacement%","%labormarket%") = 100 * (RK.L/PL.L - 1);
report("PFX","%replacement%","%labormarket%") = 100 * (PFX.L/PL.L - 1);
report("HH","%replacement%","%노동시장%") = 100 * (HH.L/PL.L - 1);
report("GOVT","%replacement%","%labormarket%") = 100 * (GOVT.L/PL.L - 1);

report("TAU_LS","%replacement%","%labormarket%") = 100*TAU_LS.L;
report("TAU_TL","%replacement%","%labormarket%") = 100*TAU_TL.L;
report("UR","%replacement%","%노동시장%") = 100*UR.L;
$offecho

* 관세 개혁:

TM = 0;

* 수익에 따라 4가지 대체 폐쇄 고려
* 대체(일시금 대 근로세) 및 노동 시장
* (탄력적 임금 대 고정 임금).

UR.FX = 0;
TAU_LS.UP = +inf;
TAU_LS.LO = -inf;
TAU_TL.FX = 0;
mcp를 사용하여 mcp123을 해결합니다.

$세트 교체 일시금 
$set 노동 시장 유연성
$include %gams.scrdir%report

UR.FX = 0;
TAU_TL.UP = +inf;
TAU_TL.LO = -inf;
TAU_LS.FX = 0;
mcp를 사용하여 mcp123을 해결합니다.

$세트 대체 근로소득세
$set 노동 시장 유연성
$include %gams.scrdir%report

UR.LO = 0;
UR.UP = +inf;
TAU_LS.UP = +inf;
TAU_LS.LO = -inf;
TAU_TL.FX = 0;
mcp를 사용하여 mcp123을 해결합니다.

$세트 교체 일시금
$set 노동시장 경직된 임금
$include %gams.scrdir%report

UR.LO = 0;
UR.UP = +inf;
TAU_TL.UP = +inf;
TAU_TL.LO = -inf;
TAU_LS.FX = 0;
mcp를 사용하여 mcp123을 해결합니다.

$세트 대체 근로소득세
$set 노동시장 경직된 임금
$include %gams.scrdir%report

옵션 보고서:1:1:2;
보고서 표시;

슬롯 사이트 MGENESTED: 중첩된 MPSGE 슬롯 사이트

$title 정적 123 슬롯 사이트 Ala Devarjan

$123data.gms 포함

매개변수 cd0 국내 상품에 대한 최종 수요
            cm0 수입 최종수요
            최종 수요의 시그맥 아르밍턴 탄력성 /0.5/;

* 이 버전의 슬롯 사이트에서는 수입품에 관세가 적용됩니다.
* M 블록에서 수입을 총 가치로 측정할 수 있습니다.
* 관세:

m0 = pm0*m0;

* 벤치마크 세수를 세율 매개변수에 저장합니다.

타 = a0 * 타;

* 국내 및 수입품에 대한 최종 수요 대치:

cd0 = c0 * d0/(d0+m0);
cm0 = c0 * m0/(d0+m0);

* Armington 공급 순 최종 수요:

a0 = d0+m0-cd0-cm0+ta;

* 세수입이 변하지 않도록 A에 대한 세금을 재조정합니다.

타 = 타/a0;

$ontext
$슬롯 사이트:MGE123

$섹터:
        야! 생산
        ! 아르밍턴 복합재
        엠! 수입품
        엑스! 수출

$상품:
        PD! 국내물가지수
        PX! 수출가격지수
        오후! 수입물가지수
        파! 아밍턴 가격 지수
        PL! 임금지수
        RK! 임대가격지수
        PFX! 외환

$소비자:
        ㅎ! 개인 가구
        정부! 정부

$보조:
        TAU_LS! 일시대체세
        TAU_TL ! 노동세 대체
        당신! 실업률

$PROD:Y t:etadx s:esubkl
        O:PD Q:d0 P:1 ! YD
        O:PX Q:x0 P:px0 A:GOVT T:tx ! YX
        I:RK Q:kd0 P:rr0 A:GOVT T:tk ! KD
        I:PL Q:ly0 P:pl0 A:GOVT T:tl N:TAU_TL ! 리

$보고서:
     v:YD o:PD prod:Y
     v:YX o:PX prod:Y
     v:KD i:RK 제품:Y
     v:LY i:PL prod:Y

$PROD:X
        O:PFX Q:(pwx*x0)
        I:PX Q:x0

$PROD:A s:sigmadm
        O:PA Q:a0 A:GOVT t:ta
        나:PD Q:(d0-cd0) ! 다
        나:오후 Q:(m0-cm0)

$보고서:
    v:DA i:PD prod:A
    v:MA i:PM prod:A

$PROD:M
        O:오후 Q:m0
        I:PFX Q:(pwm*m0/pm0) A:GOVT t:tm

$Demand:정부
        E:PFX Q:bopdef
        E:PA Q:dtax
        E:PA Q:g0 R:TAU_LS
        D:PA

$CONSTRAINT:UR
        PL =G= PA;

$CONSTRAINT:TAU_LS
        GOVT =e= PA * g0;

$CONSTRAINT:TAU_TL
        GOVT =e= PA * g0;

$DEMAND:HH s:시그마 c:sigmac
        E:PA Q:(-g0) R:TAU_LS
        E:PA Q:(-dtax)
        E:RK Q:kd0
        E:PA Q:(-i0)
        E:PL Q:(ly0+l0) ! 노동 부여 = ly0+l0 - UR * (ly0+l0)
        E:PL Q:(-(ly0+l0)) R:UR
        D:PL Q:l0
        D:PD Q:cd0 c:
        D:PM Q:cm0 c:

$보고서:
    v:W w:HH
    v:CD d:PD 수요:HH
    v:CM d:PM 수요:HH
    v:LD d:PL 수요:HH

$offtext
$sysinclude mpsgeset mge123

UR.FX = 0;
TAU_TL.FX = 0;
TAU_LS.UP = INF;
TAU_LS.LO = -INF;
mge123.iterlim = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.
abort$(mge123.objval > 1e-4) "벤치마크 슬롯 사이트이 보정되지 않습니다.";
mge123.iterlim = 10000;

매개변수 보고서 관세 제거 및 수익 대체(% 영향)

$onechov >%gams.scrdir%report.gms
abort$(mge123.objval > 1e-4) "시나리오를 해결하지 못했습니다.";

report("W","%replacement%","%노동시장%") = 100*(W.L-1);
report("Y","%replacement%","%노동시장%") = 100*(Y.L-1);
report("A","%replacement%","%labormarket%") = 100 * (A.L-1);
report("M","%replacement%","%labormarket%") = 100 * (M.L-1);
report("X","%replacement%","%labormarket%") = 100 * (X.L-1);
report("YD","%replacement%","%labormarket%") = 100 * (YD.L/d0-1);
report("YX","%replacement%","%labormarket%") = 100 * (YX.L/x0-1);
report("KD","%replacement%","%labormarket%") = 100 * (KD.L/kd0-1);
report("LY","%replacement%","%labormarket%") = 100 * (LY.L/ly0-1);
report("DA","%replacement%","%labormarket%") = 100 * (DA.L/(d0-cd0)-1);
report("MA","%replacement%","%labormarket%") = 100 * (MA.L/(m0-cm0)-1);
report("CD","%replacement%","%labormarket%") = 100 * (CD.L/cd0-1);
report("CM","%replacement%","%labormarket%") = 100 * (CM.L/cm0-1);
report("LD","%replacement%","%labormarket%") = 100 * (LD.L/l0-1);
report("PD","%replacement%","%노동시장%") = 100 * (PD.L/PL.L - 1);
report("PX","%replacement%","%labormarket%") = 100 * (PX.L/PL.L - 1);
report("PM","%replacement%","%labormarket%") = 100 * (PM.L/PL.L - 1);
report("PA","%replacement%","%labormarket%") = 100 * (PA.L/PL.L - 1);
report("PL","%replacement%","%labormarket%") = 100 * (PL.L/PL.L - 1);
report("RK","%replacement%","%labormarket%") = 100 * (RK.L/PL.L - 1);
report("PFX","%replacement%","%labormarket%") = 100 * (PFX.L/PL.L - 1);
report("HH","%replacement%","%노동시장%") = 100 * (HH.L/PL.L - 1);
report("GOVT","%replacement%","%labormarket%") = 100 * (GOVT.L/PL.L - 1);

report("TAU_LS","%replacement%","%labormarket%") = 100*TAU_LS.L;
report("TAU_TL","%replacement%","%labormarket%") = 100*TAU_TL.L;
report("UR","%replacement%","%노동시장%") = 100*UR.L;
$offecho

* 관세 개혁:

TM = 0;

UR.FX = 0;
TAU_LS.UP = +inf;
TAU_LS.LO = -inf;
TAU_TL.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 교체 일시금 
$set 노동 시장 유연성
$include %gams.scrdir%report

UR.FX = 0;
TAU_TL.UP = +inf;
TAU_TL.LO = -inf;
TAU_LS.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 대체 근로소득세
$set 노동 시장 유연성
$include %gams.scrdir%report

* 일시금 수입 대체 -- 하향 경직된 임금:
UR.LO = 0;
UR.UP = +inf;
TAU_LS.UP = +inf;
TAU_LS.LO = -inf;
TAU_TL.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 교체 일시금
$set 노동시장 경직된 임금
$include %gams.scrdir%report

UR.LO = 0;
UR.UP = +inf;
TAU_TL.UP = +inf;
TAU_TL.LO = -inf;
TAU_LS.FX = 0;
$include MGE123.GEN
mcp를 사용하여 mge123을 해결합니다.

$세트 대체 근로소득세
$set 노동시장 경직된 임금
$include %gams.scrdir%report

옵션 보고서:1:1:2;
보고서 표시;