설명
한 회사가 세 가지 다른 기계를 사용하여 너트, 볼트 및 와셔를 제조합니다. 정상 또는 초과근무 생산 모드에서 작동할 수 있습니다. 회사 다음 두 기간 동안 운영을 계획해야 합니다.
소형 모델 유형 :LP
카테고리 : 슬롯 모델 라이브러리
메인 파일 : uimp.gms
$title UIMP - 생산 일정 문제(UIMP,SEQ=11)
$onText
한 회사는 세 가지 다른 기계를 사용하여 너트, 볼트, 와셔를 제조합니다.
정상 또는 초과근무 생산 모드에서 작동할 수 있습니다. 회사
다음 두 기간 동안 운영을 계획해야 합니다.
Ellison, E F D 및 Mitra, P, UIMP - 수학을 위한 사용자 인터페이스
프로그래밍. 수학 소프트웨어의 ACM 거래 8, 2(1982).
키워드: 선형 프로그래밍, 스케줄링, 다기간 생산 계획,
제조
$offText
세트
i '기간' / 여름, 겨울 /
j '생산 모드' / 정상, 초과근무 /
k '제품' / 너트, 볼트, 와셔 /
l '기계' / m1*m3 /;
테이블 mh(l,k) '기계 시간(단위당 시간)'
너트 볼트 와셔
m1 4 4 6
m2 7 6 6
m3 3 ;
테이블 mhadd(i,j) 'mh에 대한 추가 인자'
정상적인 초과근무
여름 -1
겨울 +1 ;
테이블 av(l,j) '가용성(시간)'
정상적인 초과근무
m1 100 80
m2 100 90
m3 40 30;
매개변수
t(i,j,k,l) '필요한 기계 시간'
a(i,j,l) '사용 가능한 기계 시간';
t(i,j,k,l) = mh(l,k) + mhadd(i,j)$mh(l,k);
t("겨울","잔업","세탁기","m1") = 5;
a("여름",j,l) = av(l,j);
a("겨울",j,l) = av(l,j) + 10;
mh, mhadd, av, t, a를 표시합니다.
테이블 tc(l,k) '생산 비용 데이터'
너트 볼트 와셔
m1 2 3 4
m2 4 3 2
m3 1 ;
테이블 tcadd(i,j) 'tc에 대한 추가 요소'
정상적인 초과근무
여름 1
겨울 1 2;
매개변수 c(i,j,k,l) '생산 비용';
c(i,j,k,l) = tc(l,k) + tcadd(i,j)$tc(l,k);
디스플레이 c;
테이블 p(i,k) '판매 가격'
너트 볼트 와셔
여름 10 10 9
겨울 11 11 10;
테이블 d(i,k) '수요'
너트 볼트 와셔
여름 25 30 30
겨울 30 25 25;
매개변수
s(k) '저장 비용' / (너트, 볼트, 와셔) 1 /
h(k) '저장 용량' / (너트, 볼트) 20 /;
변수
x(i,j,k,l) '생산'
y(i,k) '저장된 제품'
z(i,k) '판매된 제품'
비용
수익
이익;
양수 변수 x, y;
방정식
pdef '이익 정의'
cdef '비용 정의'
rdef '수익 정의'
ma(i,j,l) '머신 가용성'
ib(i,k) '재고 잔액';
pdef.. 이익 =e= 수익 - 비용;
cdef.. 비용 =e= sum((i,k), s(k)*y(i,k) + sum((j,l), c(i,j,k,l)*x(i,j,k,l)));
rdef.. 수익 =e= sum((i,k), p(i,k)*z(i,k));
ma(i,j,l)..sum(k, t(i,j,k,l)*x(i,j,k,l)) =l= a(i,j,l);
ib(i,k).. sum((j,l)$mh(l,k), x(i,j,k,l)) + y(i-1,k) =e= z(i,k) + y(i,k);
z.lo(i,k) = d(i,k);
y.up(i,k) = h(k);
모델 uimp 'ellison mitra' / all /;
lp를 사용하여 수익을 극대화하는 uimp 해결;
lp를 사용하여 이익을 극대화하는 uimp를 해결합니다.
매개변수 담당자 '요약 보고서';
담당자(l,i,k) = 합계(j, x.l(i,j,k,l));
rep("수요",i,k) = d(i,k);
rep("공급",i,k) = sum(l,rep(l,i,k));
디스플레이 담당자;