hark-oligop-ind.gms : Harker의 SPE 모델 - 과점 버전

설명

공간 가격 균형 모델은 다양한 차이점을 보여주기 위해 사용됩니다.
시장 행동을 모델링하는 방법. 이 변형에서는 다음을 살펴봅니다.
과점을 가정할 때 발생하는 Cournot-Nash 모델,
즉, 각 지역의 생산은 단일 회사에 의해 통제됩니다.
지역 기업이 독립적인 곳.  이 모델은
Cournot-Nash 솔루션을 통해 이것이 각각의 솔루션인지 확인합니다.
에이전트 최적화 문제가 차례로 고려됩니다.

Harker, PT, 공간 경쟁의 대안 모델. 운영
연구 34, 3(1986), 410-425.

기고자: Steven Dirkse, 2011년 6월

  hark-oligop을 포함하거나
  hark-oligop 저장 파일에서 다시 시작하여 실행

소형 모델 유형 :EQUIL


카테고리 : 무료 슬롯 게임 EMP 라이브러리


메인 파일 : hark-oligop-ind.gms

Harker의 $title SPE 모델 - 과점 버전(HARK-OLIGOP-IND,SEQ=66)

$onText

공간적 가격 균형 모델은 다양한 것을 보여주기 위해 사용됩니다.
시장 행동을 모델링하는 방법. 이 변형에서는 다음을 살펴봅니다.
과점을 가정할 때 발생하는 Cournot-Nash 모델,
즉, 각 지역의 생산은 단일 회사에 의해 통제됩니다.
지역 기업이 독립적인 곳.  이 모델은
Cournot-Nash 솔루션을 통해 이것이 각각의 솔루션인지 확인합니다.
에이전트 최적화 문제가 차례로 고려됩니다.

Harker, PT, 공간 경쟁의 대안 모델. 운영
연구 34, 3(1986), 410-425.

기고자: Steven Dirkse, 2011년 6월
$offText

* hark-oligop을 포함하거나
* hark-oligop 저장 파일에서 다시 시작하여 실행
$include hark-oligop.gms

Q1(Q) '해결할 하나의 q'를 설정합니다.
매개변수
  cBar(i,j) '운송 시장의 가격 수용자에 대한 비용 계수'
  dlqBar(L,Q)
  z바(Q)
  s바(Q)
  ;

cBar(arc(i,j)) = cVar.L(i,j);
dlqBar(L,Q) = dlq.l(L,Q);
zBar(Q) = z.l(Q);
sBar(Q) = s.l(Q);

방정식
  objDef1 객관적인 정의 과점
  흐름Bal1(n,Q)
  sBal1(Q)
  dlBal1(L,Q)
  in1(L,Q) 유입 잔액
  out1(Q) 유출잔액
  ;
변수 obj 목적값 ;

objDef1.. obj =e= 합계Q1(Q),
    합계 L, (rho(L) - eta(L)*dl(L,Q)) * dlq(L,Q) 
   - (알파(Q)*s(Q) + 베타(Q)*sqr(s(Q)))
   -sumarc(i,j), cBar(i,j) * t(i,j,Q)
                     ;
flowBal1(NL(n),Q1(Q)).. sum(arc(n,j), t(n,j,Q)) =e= sum(arc(i,n), t(i,n,Q));

sBal1(Q1(Q)).. s(Q) =e= sumL, dlq(L,Q);

dlBal1(L,Q1(Q)).. dl(L,Q) =E= dlq(L,Q)
                            + sumQQ$[not sameas(Q,QQ)], dlqBar(L,QQ);

in1(L,Q1(Q))$[not sameas(L,Q)].. dlq(L,Q) =e= sumarc(i,L), t(i,L,Q);

out1(Q1(Q)).. s(Q) =E= dlq(Q,Q) + sumarc(Q,j), t(Q,j,Q);

모델 oli1 / objDef1, flowBal1, sBal1, dlBal1, in, out / ;

dl.up(L,Q) = 100;
dlq.up(L,Q) = 100;
s.up(Q) = 100;

스칼라 dt;
루프치,
  Q1(Q) = 동일(Q,Qi);
  nlp를 사용하여 obj를 최대화하는 oli1을 해결합니다.
  dt = zBar(Qi) - z.l(Qi);
  abort$[abs(zBar(Qi)-z.l(Qi)) > 1e-3] 'NLP가 다른 목표를 찾았습니다.', Qi, zBar, z.l, dt;
  dt = sBar(Qi) - s.l(Qi);
  abort$[abs(sBar(Qi)-s.l(Qi)) > 1e-3] 'NLP가 다른 공급을 찾았습니다.', Qi, sBar, s.l, dt;
;