stockcc.gms : 총 평균 주기 재고 최소화

설명

총 평균 주기 재고 최소화.

대형 모델 유형 :MIP


카테고리 : 무료 슬롯 게임 모델 라이브러리


메인 파일 : stockcc.gms

$title 총 평균 주기 재고 최소화(STOCKCC,SEQ=225)

$onText
총 평균주기 재고를 최소화합니다.

Silver, E A 및 Moon, I, 합계를 최소화하기 위한 빠른 휴리스틱
실제적인 제약이 있는 평균주기 재고. 저널
운영연구학회 50(1999), 789-796.

키워드: 혼합 정수 선형 계획법, 주기 재고, 재고
$offText

세트
   nn '항목' / n1*n48 /
   mm '재주문 간격' / i1*i9 /;

스칼라 N '최대 총 보충 수' / 100 /;

매개변수
   Y(mm) '주문 가능 수량'
          / i1 3, i2 6, i3 9, i4 12, i5 18
             i6 36, i7 52, i8 78, i9 156 /
   Dv(nn) '수요율×품목 nn의 단가'
          / n1 20.04, n2 21.72, n3 37.92, n4 54.12
             n5 61.80, n6 81.24, n7 94.20, n8 119.40
             n9 171.60, n10 208.80, n11 415.27, n12 470.23
            n13 1212 , n14 1393.2 , n15 1496.4 , n16 1600
            n17 1702.4 , n18 1714.5 , n19 1870.5 , n20 1977.8
            n21 2647.12, n22 3143.82, n23 4173 , n24 4347.78
            n25 4917 , n26 5048.3 , n27 5397.2 , n28 6692.4
            n29 6837.6 , n30 8003.1 , n31 8449.5 , n32 9152
            n33 13236.3 , n34 13970 , n35 15327.6 , n36 16368
            n37 19765 , n38 20470.3 , n39 23182.2 , n40 25026
            n41 31675.6 , n42 56734.2 , n43 69040.4 , n44 75192
            n45 97066.5 , n46 99803.2 , n47 105984 , n48 106465 /;

변수
   x(nn) '단위 시간당 주문 수'
   z(nn,mm) '이산 주문 선택'
   obj '객관변수';

이진변수 z;

방정식
   데포브
   용량
   defx(nn)
   defsos(nn);

defobj..obj =e= sum(nn, 1.5*Dv(nn)/x(nn));

용량.. sum(nn, x(nn)) =l= 3*N;

defx(nn).. sum(mm, z(nn,mm)*Y(mm)) =e= x(nn);

defsos(nn).. sum(mm, z(nn,mm)) =e= 1;

x.lo(nn) = Y('i1');
x.up(nn) = Y('i9');

모델 재고/전부/;
* minlp를 사용하여 obj를 최소화하는 재고를 해결합니다.

$onText
이는 MIP를 쉽게 풀 수 있는 대체 공식입니다.
모델.

먼저 defsos는 정확히 하나의 nn 인덱스 값이
각 mm 인덱스와 일치합니다.

둘째, defx는 x(nn)이 해당하는 Y(mm)와 같아야 한다고 말합니다.
이 경기에.

셋째, 객관적 항 1.5*Dv(nn)/x(nn)은 따라서 다음과 같습니다.
선택한 (nn,mm) 일치에 대해 1.5*Dev(nn)/Y(mm). 경기 이후
z로 정의된 경우 목표는 다음과 함께 z를 사용하여 재정의될 수 있습니다.
계수는 1.5*Dv(nn)/Y(mm)이며 x는 더 이상 필요하지 않습니다.
$offText

매개변수 CostZ(nn,mm) '주문 일정이 mm인 품목 nn의 비용';
비용Z(nn,mm) = 1.5*Dv(nn)/Y(mm);

방정식 defobjmip;

defobjmip.. obj =e= sum((nn,mm), Costz(nn,mm)*z(nn,mm));

모델 stockmip / defobjmip, 용량, defx, defsos /;

Mip을 사용하여 obj를 최소화하는 StockMip을 해결합니다.