최적화 작업을 수행하려고하지만 원인을 찾을 수없는 오류가 발생합니다. 컴파일러는 servicetime, startlimit 및 endlimit가 유효하지 않음에 대해 불평합니다. 특히 컴파일러는 TimeConstraint 제약 조건에서 servicetime [ 'ORIGINS'] 값이 없음을 불평합니다. 문제AMPL : 유효하지 않은 첨자
제약 조건은 다음과 같습니다
set ORIGINS;
set DESTINATIONS;
set UNI;
param servicetime{UNI} integer > 0;
var x{UNI,UNI, H} binary;
param startlimit{UNI};
param endlimit{UNI};
.DAT 파일은 다음과 같습니다 :이 작동하지 않습니다 볼 수 없습니다
set ORIGINS := 1 2 3 4 5 6 7;
set DESTINATIONS := 8 9 10 11 12 13 14;
set UNI = ORIGINS union DESTINATIONS;
param: startlimit endlimit servicetime:=
1 0 1440 360
2 0 1440 360
3 0 1440 360
4 0 1440 360
5 0 1440 360
6 0 1440 120
7 0 1440 120
8 0 1440 360
9 0 1440 360
10 0 1440 360
11 0 1440 360
12 0 1440 360
13 0 1440 120
14 0 1440 120;
subject to TimeConstraint {k in H}: sum{i in UNI, j in UNI} servicetime[i]*x[i,j,k] <= 1440;
. 나에게 이것은 정확한 것처럼 보인다. 누군가가 이것에 약간의 빛을 비추 길 바랍니다! 감사
시작 제한 및 종료 제한은 어떻게 정의됩니까? – vitaut
답장을 보내 주셔서 감사합니다. 지금까지 포럼에 로그인 할 수 없었기 때문에 인터넷 문제가 발생했습니다. 정의를 포함하도록 원래 게시물을 수정했습니다. – Cenderze