I'm new to Xpress Mosel after working with CPLEX with quite some time. I want to solve a vehicle routing problem with callbacks in Mosel and Xpress natively.
model VRPSPD
uses "mmxprs", "mmsystem", "mmsheet"
forward procedure break_subtours(isheur:boolean,cutoff:real)
!implementation VRP except subtours
setcallback(XPRS_CB_PREINTSOL, "break_subtours(false,0.01)")
minimize(obj)
procedure break_subtours(isheur:boolean,cutoff:real)
!subtour separation
!insert cuts
end-procedure
So far, I get the error message: "Wrong procedure type for callback PREINTSOL" (but https://www.fico.com/fico-xpress-optimization/docs/latest/mosel/mosel_lang/dhtml/setcallback.html specifies to use exactly this)
I found that there is something like cbsetcutoff
, but I don't know how to use it just yet.
I haven't found any code example for using PREINTSOL. Can you point me to an example implementation which I can use?
THANK YOU :)