Conflict refiner를 java로 구현시에...
안녕하십니까..
밑에 답글을 달고 바로 질문을 올리네요. ^^
모델을 하나 검증할게 있어 conflict refiner를 시용하려고 합니다. 막상 manual을 찾아보고 하려니 답답한 부분이 있군요.
refineConflict(IloConstraint[] cons, double[] d);
위 메소드를 사용하려고 하는데, cons[]에는 모델링에서 사용된 constraint를 모두 집어넣는 것으로 보입니다.
보통 constraint들이 loop문 안에서 정의되어 model에 삽입되는데요...C++에서는 IloConstraint가 class로 되어 있으니 add 멤버메소드를 이용해서 constraint 하나하나를 cons[]에 집어넣으면 문제될것이 없는데, java에서는 IloConstraint가 interface로 정의되어 있더군요..
흠... IloLinearNumExpr의 경우에는 interface로 정의되어 있지만
IloLinearNumExpr expr = cplex.linearNumExpr();
로 초기화(?)하고 expr.addTerm()해서 사용하면 되는데, IloConstraint는 그것도 안되고.. 어떻게 초기화(?)해서 사용해야 할지 모르겠습니다.
요약하면, loop문 안에서 제약조건들을 하나씩 cons[]에 집어넣어야 할듯한데, cons[]를 어떻게 초기화(?)하고 constraint를 삽입하는지 모르겠습니다.
p.s... 혹시 제가 refineConflict 메소드의 용법을 잘못 이해한 것을수도 있겠군요.ㅋ.. 이해가 잘못되었다 하더라도 IloConstraint의 사용방법은 궁금하네요. (^^)