설명
세 가지 작업(A,B,C)은 세 단계로 순차적으로 실행되어야 하지만 모든 작업에 모든 단계가 필요한 것은 아닙니다. 목표는 다음을 얻는 것입니다. 완료 시간을 최소화하는 일련의 작업입니다. 일단 직업이 있으면 시작되었으므로 중단할 수 없습니다. 목표는 다음을 얻는 것입니다. 완료 시간을 최소화하는 작업 순서입니다. 이 모델에서는 우선순위 공식을 사용합니다. 참조: Raman & Grossmann, Comp. & 화학. Eng., 18, 7, p.563-578, 1994. Aldo Vecchietti, 슬롯 머신 사용자 매뉴얼, 2007,http://www.슬롯 머신ceride.gov.ar/files/pdfs/logmip_manual.pdf키워드: 확장 수학 프로그래밍, 분리형 프로그래밍, 작업 스케줄링, 실행 순서
소형 모델 유형 :EMP
카테고리 : 슬롯 머신 모델 라이브러리
메인 파일 : logmip1c.gms
$title 슬롯 머신 사용자 매뉴얼 예 1c - 작업 스케줄링 (LOGMIP1C,SEQ=334)
$onText
3가지 작업(A,B,C)은 3단계로 순차적으로 실행되어야 하지만,
모든 작업에 모든 단계가 필요한 것은 아닙니다. 목표는 다음을 얻는 것입니다.
완료 시간을 최소화하는 일련의 작업입니다. 일단 직업이 있으면
시작되었으므로 중단할 수 없습니다. 목표는 다음을 얻는 것입니다.
완료 시간을 최소화하는 작업 순서입니다.
이 모델에서는 우선순위 공식을 사용합니다.
참조: Raman & Grossmann, Comp. & 화학. Eng., 18, 7, p.563-578, 1994.
Aldo Vecchietti, 슬롯 머신 사용자 매뉴얼, 2007,
http://www.슬롯 머신ceride.gov.ar/files/pdfs/logmip_manual.pdf
키워드: 확장 수학 프로그래밍, 분리형 프로그래밍,
작업 스케줄링, 실행 순서
$offText
세트
j '일자리' / A, B, C /
s '단계' / 1*3 /;
별칭 (j,jj), (s,ss);
less(j,jj) '상부 삼각형'을 설정합니다.
테이블 p(j,s) '처리 시간'
1 2 3
5 3
비 3 2
C24;
매개변수
c(j,s) '단계 완료 시간'
w(j,jj) '쌍별 대기 시간'
pt(j) '총 처리 시간';
less(j,jj) = ord(j) < ord(jj);
c(j,s) = sum(ss$(ord(ss) <= ord(s)), p(j,ss));
w(j,jj) = smax(s, c(j,s) - c(jj,s-1));
pt(j) = 합(s, p(j,s));
c, w, pt를 표시합니다.
변수
t '완료 시간'
x(j) '작업 시작 시간'
pr(j,jj) '작업 우선순위';
양수 변수 x;
이진변수 pr;
방정식
comp(j) '작업 완료 시간'
seq(j,jj) '작업 순서 j는 jj보다 먼저'
dummy '이름을 모델에 강제 적용';
comp(j)..t =g= x(j) + pt(j);
seq(j,jj)$(ord(j) <> ord(jj)).. x(j) + w(j,jj) =l= x(jj);
더미.. sum(less(j,jj), pr(j,jj)) =g= 0;
x.up(j) = 1000;
모델 m / 모두 /;
* 기본적으로 볼록 껍질 공식이 사용됩니다.
파일 fx /"%lm.info%"/;
FX '분리'를 넣어;
loop(less(j,jj), put / pr(j,jj) seq(j,jj) 'else' seq(jj,j););
넣어닫다;
옵션 emp = 슬롯 머신;
t를 최소화하는 emp를 사용하여 m을 해결합니다.