설명
이 모델은 다음의 변형입니다. Raman & Grossmann, 컴퓨터 및 화학 공학 18, 7, p.563-578, 1994. 기여자: Jan-H. Jagla와 Alex Meeraus, 2009년 1월
소형 모델 유형 :무료 슬롯 게임
카테고리 : 무료 슬롯 게임 테스트 라이브러리
메인 파일 : empdisj1.gms
$title EMP 분리 테스트 - makespan 최소화(EMPDISJ1,SEQ=429)
$onText
이 모델은
Raman & Grossmann, 컴퓨터 및 화학 공학 18, 7, p.563-578, 1994.
기여자: Jan-H. Jagla와 Alex Meeraus, 2009년 1월
$offText
j개의 작업을 설정합니다.
단계
lt(j,j) 위쪽 삼각형
별칭(j,jj),(s,ss);
매개변수 w(j,jj) 최대 쌍별 대기 시간
pt(j) 총 처리 시간;
변수 t 완료 시간
x(j) 작업 시작 시간
양의 변수 x; 이진변수 y;
방정식 comp(j) 작업 완료 시간
seq(j,jj) 작업 순서 j 이전 jj ;
comp(j)..t =g= x(j) + pt(j);
seq(j,jj)$(not sameas(j,jj)).. x(j) + w(j,jj) =l= x(jj);
모델 m / 모두 /;
* 1~3개 직업, 3단계 예시 데이터
j개 작업 설정 / A, B, C /, s개 단계 / 1*3 /
테이블 p(j,s) 처리 시간
1 2 3
5 3
비 3 2
C 2 4
스칼라 optval / 11 /;
* 완전한 데이터 준비
매개변수 c(j,s) 단계 완료 시간;
lt(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));
파일 emp / "%emp.info%" /; put emp '* 문제 %무료 슬롯 게임i%';
루프(lt(j,jj),
put / 'disjunction *' seq(j,jj) 'else' seq(jj,j));
닫다;
옵션 limcol=0,limrow=0,optcr=0;
t를 최소화하는 EMP를 사용하여 m을 해결합니다.
abort$(abs(m.objval-optval) > 1e-6) '올바른 해결책을 얻지 못했습니다.';
*동일한 테스트를 다시 수행하지만 키워드 분리를 한 번만 사용합니다.
put emp '* 문제 %무료 슬롯 게임i%' / 'disjunction';
루프(lt(j,jj),
put / ' *' seq(j,jj) 'else' seq(jj,j));
닫다;
옵션 limcol=0,limrow=0,optcr=0;
t를 최소화하는 EMP를 사용하여 m을 해결합니다.
abort$(abs(m.objval-optval) > 1e-6) '올바른 해결책을 얻지 못했습니다.';