X& IloArray::operator[] (IloInt i) : Out of bounds operation: index superior to
size of array
Assertion failed: (i < _impl->getSize()) || (ILOSTD(cerr) << "X& IloArray::opera
tor[] (IloInt i) : Out of bounds operation: index superior to size of array" <<
ILOSTD(endl), ilo_stop_assert()), file c:\ilog\concert25\include\ilconcert\iloen
v.h, line 1964
C++ 실행 도중에 위와 같은 디버그 에러가 뜹니다.
제가 예비 실험으로
item 3, 5, 7
period 3, 5, 7
을 각각 조합한 문제를 푸는데, 5X3 과 7X5만 위와 같은 에러가 뜨네요.(item수가 period수보다 큰경우, 즉 행수가 열수 보다 큰경우 임), infeasible 한 문제도 있어서 infeasible이면 infeasible이라도 떠야 되는데 알길이 없군요;
아무래도 결정변수 선언쪽에 문제가 있는거 같은데, 한번 봐주셨으면 좋겠습니다.
사실 결정변수 선언 부분은 결정변수에 index가 2개 혹은 3개까지 붙는 건 어떻게 처리하는지 몰라서 여기 Q&A 게시판에 다른 답변들을 참고하면서 선언했었거든요. 그쪽에 문제가 있는거 같습니다.
한번 검토 부탁드립니다.
ps. 추가질문
Q1) C++을 실행 시켰을 때 위에 문제 푸는 과정이 실행창에 안나타나게는 할 수 없나요? 다른 코딩 파일에서 최적해 값은 파일에다 출력하게끔 해두었는데, 그다지 크지 않은 사이즈 문제도 생각 이상의 시간이 걸리는 이유가 혹시 실행화면에 문제 푸는 과정을 화면에 보여주는 시간 때문인가 해서요.
test_2.zip