설명
SCENRED - 시나리오 트리 구성 예
3단계 확률적 구매 예시 문제
분석 솔루션:
OPT = 4.167(최적값)
VOPI = 3.667(완전한 정보의 가치)
H. Heitsch, W. Roemisch, C. Strugarek
다단계 확률론적 프로그램의 안정성
SIAM 최적화 저널 17(2006), 511-525
키워드: 선형 계획법, 확률론적 계획법, 시나리오 트리 구성
차원(짝수)
소형 모델 유형 :LP
카테고리 : 슬롯 머신 모델 라이브러리
메인 파일 : srpchase.gms
$title 시나리오 트리 구성 예(SRPCHASE,SEQ=344)
$onText
SCENRED - 시나리오 트리 구성 예
3단계 확률적 구매 예시 문제
분석 솔루션:
OPT = 4.167(최적값)
VOPI = 3.667(완전한 정보의 가치)
H. Heitsch, W. Roemisch, C. Strugarek
다단계 확률론적 프로그램의 안정성
SIAM 최적화 저널 17(2006), 511-525
키워드: 선형 계획법, 확률론적 계획법, 시나리오 트리 구성
$offText
* 치수(짝수)
$DIM을 설정하지 않은 경우 $set DIM 1000
$ifE mod(%DIM%,2)=1 $eval DIM %DIM%+1
세트
n '노드' / n0*n%DIM% /
t '기간' / t1*t3 /
stage(n,t) '단계 매핑'
조상(n,n) '조상 행렬'
leaf(n) '잎 노드';
* 팬을 구축
* 단계 매핑 및 리프 노드 할당
stage('n0','t1') = 예;
stage(n ,'t2') = ord(n) > 1 및 ord(n) <= %DIM%/2 + 1;
stage(n ,'t3') = ord(n) > %DIM%/2 + 1;
리프(n) = 단계(n,'t3');
* 팬을 대표하는 조상 관계 구축
조상(n,'n0')$stage(n,'t2') = 예;
조상(n,n-card(leaf))$stage(n,'t3') = yes;
* 랜덤변수(가격) 및 확률
매개변수
가격(n) '노드 가격'
prob(n) '노드 확률';
prob(n) = 1/카드(잎);
* 첫 번째 단계
가격('n0') = 1;
prob('n0') = 1;
* 두 번째 단계 - 가격은 [0,1]에 균일하게 분포됩니다.
가격(n)$stage(n,'t2') = 균일(0,1);
* 3단계 - 가격은 조건부 선형 분포입니다.
스칼라 알파, 베타;
루프(스테이지(n,'t3'),
알파 = 1 - 가격(n - 카드(잎));
베타 = 1 - 2*가격(n - 카드(잎));
가격(n) = 균일(0,1);
가격(n)$beta = 알파/베타 - 부호(베타)*sqrt(sqr(알파/베타) - 가격(n)/베타);
);
* ScenRed 초기화
$set srprefix srpchase
$libInclude 검열됨
파일은 '검사 옵션 파일' / 'sr2%srprefix%.opt' /를 찾습니다.
putClose는 '주문 1'을 선택합니다.
/ '섹션 엡실론'
/ '2 0.05'
/'3 0.05'
/ '끝';
* 스크리닝 방법 선택
ScenRedParms('construction_method') = 2;
ScenRedParms('reduction_method' ) = 2;
ScenRedParms('sroption' ) = 1;
* 스크린콜
$libInclude scenred %srprefix% tree_con n 조상 프로브 조상 프로브 가격
변수
x(n) '구매 금액'
y(n) '여유 변수'
비용 '객관적 가치';
양수 변수 x, y;
방정식
목표 '예상 비용'
slack(n) '느슨한 방정식'
수요(n) '수요 불평등';
srn(n) '트리 구성 후 노드의 하위 집합'을 설정합니다.
srn(n) = prob(n);
목표.. 비용 =e= sum(srn, prob(srn)*price(srn)*x(srn));
slack(srn)$(리프(srn) 아님).. y(srn) =e= x(srn) + sum(ancestor(srn,n), y(n));
수요(잎(srn)).. x(srn) + 합계(조상(srn,n), y(n)) =g= 1;
모델 구매 / 모두 /;
lp를 사용하여 구매 비용을 최소화하는 문제를 해결합니다.