당신은 그렇게 할 scip.h가 제공하는 솔루션의 방법을 사용할 수 있습니다 : 그것은 sols
의 처음 5 개 솔루션을 반복하기에 충분하도록
#define SOLSTOPRINT 5;
SCIP* scip;
SCIP_SOL** sols;
int nsols, i;
// ...
// put here your code to create a SCIP instance, read in a problem and call the
// the solving method of SCIP
// ...
sols = SCIPgetSols(scip);
nsols = SCIPgetNSols(scip);
for(i = 0; i < MIN(nsols, SOLSTOPRINT); ++i)
{
SCIP_CALL(SCIPprintSol(scip, sols[i], NULL, FALSE));
}
SCIP는 최악의 최고의에서 자동으로 솔루션을 저장 -정렬. SCIP은 기본적으로 최대 개의 솔루션을 찾을 수 있습니다. 당신은 문제를 해결 전에 위의 코드 에 줄을
SCIP_CALL(SCIPsetIntParam(scip, "limits/maxsol", 200));
을 추가하여, 예를 들어, 매개 변수 limits/maxsol
를 통해이 동작을 변경할 수 있습니다.
감사합니다. 나는 이것에 잠시 붙어 있었다. – migs