설명
이 모델의 목적은 항공기를 경로에 할당하여 최대화하는 것입니다. 교통수요가 불확실할 때 예상되는 이익. 몇 가지 문제 표준 LP 솔버와 EMP SP 솔버를 사용하여 해결됩니다. AIRCRAFT, AIRSP 및 AIRSP2 모델도 참조하세요.
소형 모델 유형 :SP
카테고리 : 메가 슬롯 EMP 라이브러리
메인 파일 : airsp3.gms
$title 항공기 할당 - 확률론적 최적화(AIRSP3,SEQ=69)
$onText
이 모델의 목적은 항공기를 경로에 할당하여 최대화하는 것입니다.
교통수요가 불확실할 때 예상되는 이익. 몇 가지 문제
표준 LP 솔버와 EMP SP 솔버를 사용하여 해결됩니다.
AIRCRAFT, AIRSP 및 AIRSP2 모델도 참조하세요.
Dantzig, GB, 28장. 선형 프로그래밍 및 확장.
프린스턴 대학 출판부, 뉴저지주 프린스턴, 1963년.
$offText
i 항공기 유형 및 미지정 승객 설정 / a, b, c, d /
j 할당된 경로와 할당되지 않은 경로 / 경로-1, 경로-2, 경로-3, 경로-4, 경로-5 /
;
표 c(i,j) 항공기당 비용(1000대)
경로-1 경로-2 경로-3 경로-4 경로-5
18 21 18 16 10
ㄴ 15 16 14 9
c 10 9 6
일 17 16 17 15 10
;
테이블 pcap(i,j) j 노선에 있는 항공기 i의 승객 정원
경로-1 경로-2 경로-3 경로-4 경로-5
16 15 28 23 81
b 10 14 15 57
c 5 7 29
일 9 11 22 17 55
;
매개변수 항공기(i) 항공기 가용성 / a 10
b 19
c 25
d 15 /;
매개변수 costbumped(j) 승객 충돌과 관련된 비용
/루트-1 13
루트-2 13
루트-3 7
루트-4 7
경로-5 1 /;
k개의 가능한 결과를 설정 /k1*k5/;
테이블 stochasticdemand(j,k) 경로 j의 수요 분포
k1 k2 k3 k4 k5
노선-1 200 220 250 270 300
루트-2 50 150
루트-3 140 160 180 200 220
경로-4 10 50 80 100 340
노선-5 580 600 620
;
테이블 확률(j,k) "sd(j,k)에 해당하는 확률"
k1 k2 k3 k4 k5
루트-1 .2 .05 .35 .2 .2
루트-2 .3 .7
루트-3 .1 .2 .4 .2 .1
루트-4 .2 .2 .3 .2 .1
루트-5 .1 .8 .1
;
매개변수 rdemand(j) 무작위 수요는 평균으로 초기화됩니다.
rdemand(j) = sum(k$probability(j,k), Probability(j,k)*stochasticdemand(j,k));
양의 변수 x(i,j) 경로 j에 할당된 항공기 유형 i의 수;
양수 변수 충돌(j) 승객 충돌;
변수 z 목적 변수;
방정식 avail(i) 항공기 가용성 제약;
방정식 수요(j) 수요 제약;
방정식 비용 목표;
비용.. z =e= sum((i,j), c(i,j)*x(i,j)) + sum(j, costbumped(j)*bumped(j));
avail(i)..sum(j, x(i,j)) =l= 항공기(i);
수요(j).. sum(i, pcap(i,j)*x(i,j)) + 범프(j) =g= rdemand(j);
모델 고정 /비용, 가용성, 수요/;
파일 emp / '%emp.info%' /; put emp '* 문제 %메가 슬롯i%';
루프(j,
put / 'randvar ' rdemand.tn(j) ' 이산 ';
루프(k$확률(j,k),
put / 확률(j,k) 확률론적 수요(j,k));
);
putclose / '2단계 수요 증가 rdemand';
$eval scenmax 카드(k)**카드(j)
s 시나리오 설정 / s1*s%scenmax% /;
매개변수
srep(s,*) 시나리오 확률 / #s.prob 0 /
s_demand(s,j) 시나리오별 수요 실현
담당자 솔루션 지표 보고서;
dictSP / s .scenario를 설정하십시오.''
'' .opt. srep
rdemand.randvar. s_수요 /;
* 확률론적 의지 문제 또는 지금 여기에서 해결
emp min z 시나리오 dictSP를 사용하여 수정된 문제를 해결합니다.
rep('지금 여기') = z.l;
* 기대값(EV) 문제 해결
lp min z를 사용하여 고정 문제를 해결합니다.
* 모든 시나리오에서 EV 솔루션의 첫 번째 단계 결정을 평가하여 EV 솔루션 사용의 예상 결과를 계산합니다.
x.fx(i,j) = x.l(i,j);
매개변수
s_cost(s) 시나리오별 비용;
dictMS / s .scenario를 설정하세요.''
rdemand.param. s_수요
z.레벨. s_비용 /;
lp min z 시나리오 dictMS를 사용하여 수정된 문제를 해결합니다.
rep('EV 솔루션의 기대값') = sum(s, s_cost(s)*srep(s,'prob'));
* 이제 완벽한 예측을 가정하고 관망 모델을 해결하세요.
x.lo(i,j) = 0; x.up(i,j) = inf;
lp min z 시나리오 dictMS를 사용하여 수정된 문제를 해결합니다.
rep('기다려보세요') = sum(s, s_cost(s)*srep(s,'prob'));
* 이제 다른 측정값을 계산해 보세요.
rep('완벽한 정보의 기대값(EVPI)') = rep('지금 여기') - rep('기다려보세요');
rep('확률론적 솔루션(VSS)의 값') = rep('EV 솔루션의 기대값') - rep('지금 그리고 여기');
옵션 담당자:2:0:1 디스플레이 담당자;