Closed DouBiBaNi closed 1 day ago
In CONSENFOLP
function, we using SCIP_SOL* sol = SCIPgetBestSol(scip)
to get the best solution. It‘s objective value is larger than that of some solutions previously found, and there are no subtours. Therefore, some lazy constraints are not added.
The solution obtained by SCIPgetBestSol
is not the smallest objective function. Why is this the case?
In
CONSENFOLP
function, we usingSCIP_SOL* sol = SCIPgetBestSol(scip)
to get the best solution. It‘s objective value is larger than that of some solutions previously found, and there are no subtours. Therefore, some lazy constraints are not added.The solution obtained by
SCIPgetBestSol
is not the smallest objective function. Why is this the case?
This is in a new case, and we change back the max to min.
I know what's going on. Although there is no SCIP_SOL* in this consenfolp, SCIP will get its LP solution by default when calling this, so I should not get its best solution in consenfolp.
Dear support team, When solving a TSP-like problem, we change the optimization objective to max and use lazy callback to deal with the subtour. During the subtour elimination process, CONSCHECK and CONSENFOLP were functioning normally, but CONSENFOLP failed to detect subtours. Eventually, the following information was output:
When setting a fixed subtour in CONSENFOLP, we can add lazy constraints correctly. Why CONSENFOLP can't detect the subtour in lazy callback?