설명
Dantzig의 독창적인 운송 모델 TRNSPORT(무료 슬롯 모델 라이브러리에 있음)는 여러 에이전트가 포함된 EMP의 평형 시스템을 사용하여 재구성되었습니다. 재현한다 선형 모델을 사용하는 TRANSMCP(무료 슬롯 모델 라이브러리)의 결과 상보성 접근법. TRANSMCP에서와 같이 우리는 네 가지 모델을 해결합니다. 1. 교정 데이터를 얻기 위한 원래의 고정 수요 LP 2. 유연한 수요 모델로 고정 수요 결과를 재현 3. 고정 수요 모델을 사용한 반사실적 4. 유연한 수요 모델을 사용한 반사실적 Dantzig, GB, 3.3장. 선형 프로그래밍 및 확장. 프린스턴 대학 출판부, 뉴저지주 프린스턴, 1963년. 기고자: Michael Ferris 및 Steven Dirkse, 2010년 1월
소형 모델 유형 :ECS
카테고리 : 무료 슬롯 EMP 라이브러리
메인 파일 : transeql.gms
$title 평형 문제로서의 운송 모델(TRANSEQL,SEQ=45)
$onText
Dantzig의 원래 운송 모델인 TRNSPORT(무료 슬롯 모델 라이브러리에 있음)는 다음과 같습니다.
여러 에이전트가 포함된 EMP의 평형 시스템을 사용하여 재구성되었습니다. 재현한다
선형 모델을 사용하는 TRANSMCP(무료 슬롯 모델 라이브러리)의 결과
상보성 접근법.
TRANSMCP에서와 같이 우리는 네 가지 모델을 해결합니다.
1. 교정 데이터를 얻기 위한 원래의 고정 수요 LP
2. 유연한 수요 모델로 고정 수요 결과를 재현
3. 고정 수요 모델을 사용한 반사실적
4. 유연한 수요 모델을 사용한 반사실적
Dantzig, GB, 3.3장. 선형 프로그래밍 및 확장.
프린스턴 대학 출판부, 뉴저지주 프린스턴, 1963년.
기고자: Michael Ferris 및 Steven Dirkse, 2010년 1월
$offText
매개변수 보고서(*,*,*) 요약 보고서;
$call gamslib -q trnsport
* --- 1. 이제 원래의 고정 수요 Trnsport 모델을 해결합니다.
$include trnsport
보고서(i,j,'고정') = x.l(i,j);
report(i,"price",'fixed') = 공급.m(i);
report("price",j,'fixed') = 수요.m(j);
* 이제 유연한 수요 기능을 도입합니다.
매개변수 esub(j) 수요의 가격 탄력성(가격이 1과 동일할 때)
/ 뉴욕 1.5, 시카고 1.2, 토피카 2.0 /
pbar(j) 수요 노드 j의 기준 가격;
수요 노드 j의 변수 p(j) 그림자 가격;
방정식 flexdemand(j) 시장 j의 가격 반응 수요
플렉스이익 이익 정의 ;
flexdemand(j).. sum(i, x(i,j)) =l= b(j)*(pbar(j)/p(j))**esub(j);
flexprofit.. z =e= sum((i,j), (p(j)-c(i,j))*x(i,j));
수요가 유연한 model emp trnsport 모델 / flexprofit,supply,flexdemand /;
p.lo(j) = 1e-3; 옵션 limcol=0,limrow=0;
* EMP 정보 파일을 사용하여 가격이
* 유연한 수요 방정식의 이중
파일 FX / '%emp.info%' /;
fx '평형'을 입력합니다.
put / 'max z x flexprofit 공급 flexdemand';
putclose / 'dualVar p flexdemand';
* 수요 함수를 조정합니다:
pbar(j) = 수요.m(j);
* --- 2. 고정 수요 균형을 재현
emp를 해결하세요.
보고서(i,j,"flex") = x.l(i,j);
report(i,"price",'flex') = 공급.m(i);
report("price",j,"flex") = p.l(j);
report("이익",'',"flex") = sum((i,j), (p.l(j)-c(i,j))*x.l(i,j));
* 반사실을 위한 데이터 준비
c("시애틀","시카고") = 0.5 * c("시애틀","시카고");
* --- 3. 고정 수요에 대한 반대 사실
운송 min z us lp를 해결합니다.
report(i,j,'고정 CF') = x.l(i,j);
report(i,"price",'fixed CF') = 공급.m(i);
report("price",j,'fixed CF') = 수요.m(j);
* --- 4. 유연한 수요를 갖춘 반사실적
emp us emp를 해결하세요.
report(i,j,"flex CF") = x.l(i,j);
report(i,"price",'flex CF') = 공급.m(i);
report("price",j,"flex CF") = p.l(j);
report("이익",'',"플렉스 CF") = sum((i,j), (p.l(j)-c(i,j))*x.l(i,j));
보고서 표시;
Execute_unload 'eqlReport.gdx', 보고서;