2016-11-09 1 views
1

MIP에 대해 매우 큰 인스턴스를 해결하고 두 종료 조건을 결합하고자합니다. 나는 두 개의 criterions에 결합하고 싶은 개별적으로 여러 인스턴스의 같은 시간, 즉JAVA 콘서트를 사용하여 CPLEX에서 시간 종료 및 간격 종료 기준을 결합하는 방법

cplex.setParam(IloCplex.Param.MIP.Tolerances.MIPGap, 0.1); 
cplex.setParam(IloCplex.Param.TimeLimit, 3600); 

에서 TIMELIMIT 상대 MIP 격차를 사용하는 방법을 알고이 다음과 같은 두 가지 단계가 있습니다

  • 단계 2 :
  • 1 단계 : 더 최적의 솔루션이 제 1 시간에서 발견되지 않은 경우 상반기 최대 런타임 (갭 제한되지 => 최적으로 해결)
  • (4 추가 시간의 최대) 5H 위해 런타임 & 갭 제한 = 0.1 즉 whatev 어 한계에 도달 첫 번째는

내가 그 달성 방법에 대한 두 가지 방법을 생각할 수있는 검색 종료 : 제안 된 2 단계 접근 방식에서 실행하는 모델에

  • 설정 특정 매개 변수를
  • 기본값 (예 : 시간 또는 간격 제한 없음), 1h => 종료 기준으로 시간 및 간격 제한을 추가 한 후에도 런타임이 실행중인 경우 런타임을 모니터링하십시오.

불행히도 이러한 접근 방식을 구현하는 방법을 모릅니다.

제안 사항, 다른 아이디어? 미리 감사드립니다.

답변

0

기본적으로 advanced start switch 매개 변수는 1로 설정되어 있습니다. 따라서 1 단계의 경우 초기 시간 제한으로 모델을 실행하고 완료되면 solution status을 확인하면됩니다. 그런 다음 필요에 따라 매개 변수를 변경하고 단계 2에 대해 solve()을 다시 호출합니다 (CPLEX는 부분적으로 탐색 된 MIP 트리를 계속 사용함).