pdi.gms : ARCNET - 생산 유통 및 재고

설명

전형적인 2계층의 생산, 유통, 재고의 예입니다.
문제(pdi)는 arcnet 사용자 가이드에서 가져왔습니다.

소형 모델 유형 :LP


카테고리 : 크레이지 슬롯 모델 라이브러리


메인 파일 : pdi.gms

$title ARCNET - 생산 유통 및 재고(PDI,SEQ=10)

$onText
전형적인 2계층의 생산, 유통, 재고의 예입니다.
문제(pdi)는 arcnet 사용자 가이드에서 가져왔습니다.

ARCNET, ARCNET 사용자 가이드, 분석, 연구 및 계산,
1982년 텍사스 주 오스틴.

키워드: 선형 계획법, 유통 문제, 생산 계획, 재고 문제
$offText

세트
   p '생산시설' / 하나, 둘, 셋 /
   d '물류센터' / 동, 남, 서, 북 /
   c '고객 영역' / 1*5 /
   m '월' / 1월, 2월, 3월, 4월 /;

테이블 pfd(p,*) '생산 시설 데이터(표 12.1)'
           최소 생산 최대 생산 초과 생산 생산 비용 초과 비용
* (단위) (단위) ( 단위) ($/단위) ($/단위)
   하나 5000 1000 35 45
   2개 1200 3000 500 40 43
   3개 700 1500 38 ;

테이블 fdec(p,d) '첫 번째 분포 단계 비용(단위당 $)'
           동쪽 남쪽 서쪽 북쪽
   하나 10 12
   둘 8 4 5
   3 6 8;

테이블 sdec(d,c) '두 번째 분포 단계 비용(단위당 $)'
            1 2 3 4 5
   동쪽 15 19
   남쪽 20 22 18
   서쪽 16 18 19
   북쪽 15 21;

테이블 dcd(d,*) '물류센터 데이터(표 12.3)'
           최대 발명 유지 비용
* (단위) ($/단위)
   동쪽 3000 2
   남쪽 2500 2
   서쪽 4000 1
   북쪽 2500 3;

테이블 czd(c,*) '고객 영역 데이터 (표 12.5)'
       최소 수요 최대 수요 수익
* (단위) (단위) ($/단위)
   1 2000 2500 70
   2 2500 68
   3 2000 3000 65
   4 1500 2000 72
   5 1500 3000 71;

세트
   크레이지 슬롯(p,d)
   dc(d,c);

크레이지 슬롯(p,d) = 예$fdec(p,d);
dc(d,c) = 예$sdec(d,c);

크레이지 슬롯, dc, sdec를 표시합니다.

매개변수
   pc(p,m) '생산비 정상 이동'
   pco(p,m) '생산 비용 초과 근무'
   revfac(m) '수익 요소' / (1월,2월) 1, (3월,4월) 1.1 /;

pc(p,m) = pfd(p,"생산 비용") + Floor(2**(ord(m)-1)/2);
pco(p,m)= pfd(p,"비용 초과") + ord(m) - (ord(m) < 카드(m));

디스플레이 PC, pco, revfac;

변수
   x(p,d,m) '생산에서 유통까지의 배송'
   y(d,c,m) '유통 센터에서 시장으로의 배송'
   pn(p,m) '생산'
   po(p,m) '생산: 초과 근무'
   s(d,m) '저장 수준'
   dm(c) '수요 수준'
   h(d,m) '처리'
   이익
   수익
   수송
   생산
   보유;

양수 변수 x, y, pn, po, s, h;

방정식
   ib(d,m) '재고 잔고'
   pb(p,m) '생산수지'
   hb(d,m) '잔액 처리'
   db(c,m) '수요잔고'
   ar '수익 잔액'
   '운송 잔액'에서
   ap '제작비 잔액'
   아 '재고보유비용 정의'
   apr '이익 정의';

ib(d,m)..h(d,m) =e= s(d,m-1) + sum(p$크레이지 슬롯(p,d), x(p,d,m));

pb(p,m).. pn(p,m) + po(p,m) =e= sum(d$크레이지 슬롯(p,d), x(p,d,m));

hb(d,m)..s(d,m) =e= h(d,m) - sum(c$dc(d,c), y(d,c,m));

db(c,m).. sum(d$dc(d,c), y(d,c,m)) =e= dm(c);

ar.. 수익 =e= sum((d,c,m)$dc(d,c), revfac(m)*czd(c,"수익")*y(d,c,m));

at.. Transport =e= sum((d,m), sum(p$크레이지 슬롯(p,d), fdec(p,d)*x(p,d,m)) + sum(c$dc(d,c), sdec(d,c)*y(d,c,m)));

ap.. 생산 =e= sum((p,m), pc(p,m)*pn(p,m) + pco(p,m)*po(p,m));

아.. 보유 =e= sum((d,m), dcd(d,"hold-cost")*s(d,m));

4월..이익 =e= 수익 - 운송 - 생산 - 보유 + 10;

s.lo(d,"4월") = 200;
h.up(d,m) = dcd(d,"max-invent");
pn.lo(p,m) = pfd(p,"최소 생산");
pn.up(p,m) = pfd(p,"최대-생산");
po.up(p,m) = pfd(p,"과잉 생산");
dm.lo(c) = czd(c,"최소 수요");
dm.up(c) = czd(c,"최대 수요");

h.up, pn.lo를 표시합니다.

모델 pdi / 모두 /;

lp를 사용하여 이익을 극대화하는 pdi를 해결합니다.