abel.gms : 선형 2차 제어 문제

설명

선형 이차 리카티 방정식은 일반으로 풀립니다.
일반적인 행렬 대신 비선형 프로그래밍 문제
재귀.

소형 모델 유형 :NLP


카테고리 : 슬롯 게임 모델 라이브러리


메인 파일 : abel.gms

$title 선형 2차 제어 문제(ABEL,SEQ=64)

$onText
선형 이차 리카티 방정식은 일반으로 풀립니다.
일반적인 행렬 대신 비선형 계획법 문제
재귀.

Kendrick, D, 거시경제 모델의 주의 및 조사. 저널
경제 역학 및 통제 4, 2(1982).

키워드: 비선형 계획법, 리카티 방정식, 거시경제학, 재정정책
$offText

세트
   n '상태' / 소비, 투자 /
   m 'controls' / gov-expend, 돈 /
   k '수평선' / 1964-i, 1964-ii, 1964-iii, 1964-iv
                      1965-i, 1965-ii, 1965-iii, 1965-iv /
   ku(k) '제어 범위'
   ki(k) '초기 기간'
   kt(k) '말기';

별칭 (n,np), (m,mp);

ku(k) = yes$(ord(k) < 카드(k));
ki(k) = 예$(ord(k) = 1);
kt(k) = ku(k)가 아님;
k, ki, kt, ku를 표시하고;

테이블 a(n,np) '상태 벡터 행렬'
                소비하다 투자하다
   소비 .914 -.016
   .097 .424를 투자;

테이블 b(n,m) '제어 벡터 행렬'
                정부 지출 돈
   소비 .305 .424
   투자 -.101 1.459;

테이블 wk(n,np) '상태에 대한 페널티 매트릭스 - 입력'
                소비하다 투자하다
   소비 .0625
   1을 투자하다;

테이블 람다(m,mp) '컨트롤에 대한 페널티 매트릭스'
                정부 지출 돈
   정부 지출 1
   돈 .444;

매개변수
   c(n) '상수' / 소비 -59.4, 투자 -184.7 /
   xinit(n) '초기값' / 소비 387.9, 투자 85.3 /
   uinit(m) '초기 제어' / gov-expend 110.5, 돈 147.1 /
   xtilde(n,k) 'x에 대한 원하는 경로'
   utilde(m,k) '원하는 경로'
   w(n,np,k) '주에 대한 페널티 매트릭스';

w(n,np,ku) = wk(n,np);
w(n,np,kt) = 100*wk(n,np);
xtilde(n,k) = xinit(n)*1.0075**(ord(k) - 1);
utilde(m,k) = uinit(m)*1.0075**(ord(k) - 1);

w, xtilde, utilde를 표시합니다.

변수
   x(n,k) '상태 변수'
   u(m,k) '제어 변수'
   j '기준';

방정식
   기준 '기준 정의'
   stateq(n,k) '상태 방정식';

기준..
   j =e= .5*sum((k,n,np), (x(n,k) - xtilde(n,k))*w(n,np,k)*(x(np,k) - xtilde(np,k)))
      + .5*sum((ku,m,mp), (u(m,ku) - utilde(m,ku))*lambda(m,mp)*(u(mp,ku) - utilde(mp,ku)));

상태q(n,k+1)..
   x(n,k+1) =e= 합(np, a(n,np)*x(np,k)) + 합(m, b(n,m)*u(m,k)) + c(n);

모델 abel / all /;

x.l(n,k) = xinit(n);
u.l(m,k) = uinit(m);
x.fx(n,ki) = xinit(n);

nlp를 사용하여 j를 최소화하는 abel을 해결합니다.

x.l, ul을 표시;