ps10_s.gms : 10가지 유형 및 비대칭 정보가 있는 부품 공급 문제

설명

하시모토 히데오, 하마다 고준, 호소에 노부히로, "수치적 접근"
계약 이론: 역선택의 사례", GRIPS 토론
논문 11-27, 국립 정책 연구 대학원, 일본 도쿄,
2012년 3월.

키워드: 비선형 계획법, 계약 이론, 본인-대리인 문제,
          역선택, 부품 수급 문제

소형 모델 유형 :NLP


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


메인 파일 : ps10_s.gms

$title 부품 공급 문제 10가지 유형 및 비대칭 정보 포함 (PS10_S,SEQ=368)

$onText
하시모토 히데오, 하마다 고준, 호소에 노부히로, "수치적 접근"
계약 이론: 역선택의 사례", GRIPS 토론
논문 11-27, 국립 정책 연구 대학원, 일본 도쿄,
2012년 3월.

키워드: 비선형 계획법, 계약 이론, 본인-대리인 문제,
          역선택, 부품 수급 문제
$offText

옵션 limCol = 0, limRow = 0;

i '공급업체 유형' / 0*9 /;

별칭(i,j);

매개변수
   세타(i) '효율성'
   p(i) '유형의 확률';

세타(i) = ord(i)/카드(i);
p(i) = 1/카드(i);

스칼라 ru '예약 유틸리티' / 0 /;

* 원/이중 변수의 정의
양수 변수
   x(i) "품질"
   b(i) "메이커 수익"
   w(i) "가격";

Variable Util "메이커의 유틸리티";

방정식
   obj "메이커의 유틸리티 기능"
   rev(i) "메이커의 수익 기능"
   pc(i) "참여 제약"
   licd(i) "인센티브 호환성 제약";

obj.. Util =e= sum(i, p(i)*(b(i) - w(i)));

rev(i)..b(i) =e= x(i)**(0.5);

pc(i).. w(i) - 세타(i)*x(i) =g= ru;

licd(i).. w(i) - 세타(i)*x(i) =g= w(i+1) - 세타(i)*x(i+1);

* 0으로 나누는 것을 피하기 위해 변수에 하한값 설정
x.lo(i) = 0.0001;

모델 SB_lic / 모두 /;

nlp를 사용하여 Util을 최대화하는 SB_lic을 해결합니다.

파일 sol /solution_lic.csv /;
솔을 넣어;
sol.pc = 5;
sol.pw = 32767;

"유형" "x.l" "w.l" "b.l" "prob" "theta"/를 입력합니다.
루프(i, i.tl x.l(i):20:10 w.l(i):20:10 b.l(i):20:10 p(i):20:10 theta(i):20:10/;);
"Util"을 입력하세요. Util.l:20:10;

"IC(i,j)의 그림자 가격"을 입력합니다. /;
"트루타입"을 입력하세요. "LICD"를 입력하세요 /;
loop(i, put i.tl licd.m(i):20:10; put /;);