nbcontindep.gms : 뉴스보이 문제, 지속적이고 독립적인 배포

설명

Lindo 매뉴얼의 Newsboy 문제
랜덤 매개변수 D와 R은 연속적이고 독립적으로 분포됩니다.

참조: LINDO API 7.0 사용자 매뉴얼

소형 모델 유형 :SP


카테고리 : 슬롯 EMP 라이브러리


메인 파일 : nbcontindep.gms

$title Newsboy 문제, 지속적이고 독립적인 배포 (NBCONTINDEP,SEQ=76)

$onText

Lindo 매뉴얼의 Newsboy 문제
랜덤 매개변수 D와 R은 연속적이고 독립적으로 분포됩니다.

참조: LINDO API 7.0 사용자 매뉴얼

$offText

스칼라 c 단위당 구매 비용 / 30 /
        p 충족되지 않은 수요 단위당 페널티 부족 비용 / 5 /
        h 남은 단위당 보유 비용 / 10 /
        v 판매 단위당 수익 / 60 /
* 무작위 매개변수
        d 수요 / 63 /
        r 단위당 환불 / 9 /;

가변 Z 이익;
양수 변수
         X 단위 구매
         나는 재고
         L 매출 손실
         S 단위 판매
         Y 단위 반환됨
         E 단위는 유지됩니다.

방정식 Row1, Row2, Row3, Row4, 이익;

* 구매한 수량, X, 최소 1개 구매(1단계에 대한 더미 제약 조건 역할을 함)
행1..X =g= 1;

* 재고(I) 및 판매 손실(L);
행2.. I =e= X + L - d;

* 판매된 수량 S, 남은 재고량, I;
행3.. S =e= X - I;

* 환불 가능한 Y개 제품은 공급업체에 반환되었으며 E개 제품은 보관되었습니다.
4행.. Y + E =e= I;

* 이익이 극대화됩니다.
이익.. Z =e= v*S - c*X - h*I - p*L + r*Y - h*E;

모델 nb / 모두 /;

파일 emp / '%emp.info%' /; put emp '* 문제 %슬롯i%'/;
$onPut
랜드바르 d 노멀 45 10
randvar r 일반 -3 2
2단계
3단계 R
2단계 I L S
3단계 Z Y E
2단계 Row2 Row3
3단계 이익 행4
$offPut
* Lindo는 연속 분포를 직접 처리할 수 있습니다.
* 다른 EMPSP 솔버의 경우 d와 r은 시간보다 일찍 샘플링되어야 합니다.
$'%슬롯emp%'가 아닌 경우==lindo put 'sample d r 6';
putclose emp;

장면 시나리오 설정 / s1*s36 /;
매개변수
    s_d(scen) 시나리오별 수요 실현
    s_r(scen) 시나리오별 환불 구현
    s_x(장면)
    s_s(장면) ;

dict/scen .scenario를 설정하세요.''
           d .randvar .s_d
           r .randvar .s_r
           s.레벨 .s_s
           x .레벨 .s_x /;

nb max z를 해결하려면 emp 시나리오 dict를 사용하세요.

s_d, s_r, s_s, s_x를 표시합니다.