IlogNumVarArray를 이용해서 Array형 변수를 만들고자 합니다. 그런데, 3차원 변수는 어떻게 만들어야 합니까 ? 예를 들어, x[k][i][j]로 만들어 사용하고 싶습니다. 그럼, 답변에 미리 감사드립니다. 수고하세요.
/이순호.
댓글 3
김용환2002-12-06
안녕하세요.
IloNumVar를 IloArray 템플릿을 이용하여 타입을 정의해 놓은것 이 IloNumVarArray입니다. 즉 IloArray <IloNumVar> 가 IloNumVarArray가 되는 것이죠. 마찬가지로 3차원 배열을 만드시려면 IloArray <IloNumVarArray> cubic(env); 이런 방식으로 만드시면 됩니다.
수고하세요 ~
:이순호님의 글입니다.
:IlogNumVarArray를 이용해서 Array형 변수를 만들고자 합니다. :그런데, 3차원 변수는 어떻게 만들어야 합니까 ? :예를 들어, x[k][i][j]로 만들어 사용하고 싶습니다. :그럼, 답변에 미리 감사드립니다. :수고하세요. : :/이순호.
이순호2002-12-06
먼저, 답변에 감사드립니다. 아래와 같이 3차원 Array변수 x를 선언하였습니다. typedef IloArray<IloNumVarArray> IloNumVarArray2; IloArray<IloNumVarArray2> x(env, numK);
그런데, IloNumVarArray를 이용해서, 초기화를 할 때, 어떻게 처리해야 할 지 난감하군요. (2차원 Array변수는 쉽게 처리할 수 있는 것 같습니다.) x[i]번째는 어떻게 정의해 주어야 합니까 ?
IloInt first = 2; IloInt second = 3; IloInt third = 3;
threeMatrix Array(env, first); for (IloInt k = 0; k < first; k++) { Array[k] = twoMatrix(env, second); for (IloInt i = 0; i < second; i++) { Array[k][i] = IloNumArray(env, third); for (IloInt j = 0; j < third; j++) { Array[k][i][j] = k+i+j; } } }
IloInt c = 1; for (k = 0; k < first; k++) { for (IloInt i = 0; i < second; i++) { for (IloInt j = 0; j < third; j++) { cout << c++ << \"\\t\" << Array[k][i][j] << endl; } } } env.end(); }
:이순호님의 글입니다.
: :먼저, 답변에 감사드립니다. :아래와 같이 3차원 Array변수 x를 선언하였습니다. :typedef IloArray<IloNumVarArray> IloNumVarArray2; :IloArray<IloNumVarArray2> x(env, numK); : :그런데, IloNumVarArray를 이용해서, 초기화를 할 때, :어떻게 처리해야 할 지 난감하군요. :(2차원 Array변수는 쉽게 처리할 수 있는 것 같습니다.) :x[i]번째는 어떻게 정의해 주어야 합니까 ? : :그럼, 답변에 미리 감사드립니다. :수고하세요. : :/이순호