설명
자재 요구 사항 계획 모델.
소형 모델 유형 :MIP lp
카테고리 : 메가 슬롯 모델 라이브러리
메인 파일 : mrp2.gms
$title 자재 소요량 계획(MRP) 공식(MRP2,SEQ=207)
$onText
자재 요구 사항 계획 모델.
Voss, S 및 Woodruff, D L, 전산 입문
공급망의 생산 계획을 위한 최적화 모델.
키워드: 선형 계획법, 혼합 정수 선형 계획법, 생산
계획, 자재 소요량 계획
$offText
세트
PP 'SKU 번호' / AJ8172, LQ8811, RN0098, NN1100, WN7342 /
TT '시간 버킷' / 1jan01*8jan01 /
KK '자원' / HR-101, MT-402 /;
별칭(TT,TTp), (PP,PPp);
테이블 R(PP,PP) '하나의 j를 만드는 i의 수'
AJ8172 LQ8811 RN0098 NN1100 WN7342
AJ8172
LQ8811 2
RN0098 1
NN1100 1
WN7342 1;
테이블 수요(PP,TT) '특정 기간의 품목에 대한 외부 수요'
1월 1일 2월 01일 3월 01일 4월 01일 5월 01일 6월 1일 7월 01일 8월 01일
AJ8172 20 30 10 20 30 20 30 40
LQ8811
RN0098
NN1100
WN7342 ;
매개변수
lev(PP) '프로덕션 트리의 수준'
TD(PP) '총 수요 외부 + 암시적';
스칼라 runlev '레벨 반복' / 0 /;
* 루트 노드는 레벨 0을 얻고, 다른 모든 노드는 -1을 얻습니다.
lev(PP)$(sum(PPp,R(PP,PPp))) = -1;
TD(PP)$(lev(PP) = 0) = sum(TT,수요(PP,TT));
loop(PP$(lev(PP) = runlev),
runlev = runlev + 1;
lev(PPp)$R(PPp,PP) = runlev;
TD(PPp)$R(PPp,PP) = 합계(TT,수요(PPp,TT)) + R(PPp,PP)*TD(PP);
);
매개변수
LT(PP) '리드타임'
I(PP) '재고 시작'
LS(PP) '로트 크기';
테이블 SKU데이터(PP,*)
LT LS I
AJ8172 2 100 90
LQ8811 3 400 300
RN0098 4 100 100
NN1100 1 1 0
WN7342 12 1000 900;
LT(PP) = SKUdata(PP,'LT');
LS(PP) = SKUdata(PP,'LS');
I(PP) = SKUdata(PP, '나');
테이블 U(PP,KK) '하나의 i에 필요한 자원 k의 비율'
HR-101 MT-402
AJ8172 0.00208333 0.000104166
LQ8811 0.000333333
RN0098
NN1100 0.000001000;
매개변수 M(PP) '방정식 defprod에 대한 큰 M';
M(PP) = 최대(TD(PP),LS(PP));
이진변수 d(PP,TT) '생산 지표';
양수 변수 x(PP,TT) '생산할 SKU 수';
변수 obj;
방정식
defobj '목적 함수'
defreq(PP,TT) '재료 요구사항'
deflot(PP,TT) '로트 크기'
defprod(PP,TT) '생산 지표'
defcap(TT,KK) '용량';
defobj..obj =e= sum((PP,TT), (카드(TT) - ord(TT) + 1)*x(PP,TT));
defreq(PP,TT).. sum(TTp$(ord(TTp) <= ord(TT) - LT(PP)), x(PP,TTp)) + I(PP)
=g= 합계(TTp$(ord(TTp) <= ord(TT)), 수요(PP,TTp)
+ 합(PPp, R(PP,PPp)*x(PPp,TTp)));
deflot(PP,TT).. x(PP,TT) =g= d(PP,TT)*LS(PP);
defprod(PP,TT).. x(PP,TT) =l= d(PP,TT)*M(PP);
defcap(TT,KK).. sum(PP, U(PP,KK)*x(PP,TT)) =l= 1;
모델
mrp / defobj, defreq, deflot, defprod /
mrp2 / defreq, defreq, defcap /
mrp2l / defobj, defreq, deflot, defprod, defcap /;
옵션 optCr = 0.0;
mip를 사용하여 obj를 최소화하는 mrp를 해결합니다.
lp를 사용하여 obj를 최소화하는 mrp2를 해결합니다.
mip를 사용하여 obj를 최소화하는 mrp2l을 해결합니다.