grbsetcallbackfunc.
grbsetcallbackfunc.
㈡ | grbsetcallbackfunc.( | grbmodel. | *模型, |
㈡ | (* CB)(GRBModel * Model,Void * CBDATA,INT,VOID * USRDATA), | ||
空白 | * usrdata) |
设置用户回调函数。请注意,模型只能具有单个回调方法,因此此呼叫将替换现有的回调。要禁用先前设置的回调,请使用a调用此函数CB.
争论空值
。
使用多个线程解决模型时,用户回调仅从单个线程调用,因此您不需要担心回调的线程安全性。
请注意,不支持从回调中的更改参数,这样做可能会导致未定义的行为。
返回值:
非零返回值表示设置用户回调时发生问题。参考错误代码表格有可能返回值列表。有关错误的详细信息可以通过呼叫获得grbgeterramsg.。
论点:
模型:应安装回调的模型。
CB.:对用户回调函数的函数指针。回调将定期从Gurobi Optimizer调用。这在哪里回调函数的参数将指示在优化过程中调用回调。可能的值描述于回调代码部分。然后,用户回调可以调用多个例程来检索有关优化状态的其他详细信息(例如,grbcbet.),或注入新信息(例如,grbcbcut.那grbcsolution.)。如果没有遇到错误,则用户回调函数应返回0,或者它可以返回其中一个gurobi错误代码如果用户回调希望优化停止并返回错误结果。
usrdata.:每次调用它时将传递给用户数据的可选指针(在usrdata.争论)。
示例用法:
int mycallback(grbmodel * model,void * cbdata,int where,void * usrdata);错误= grbsetcallbackfunc(型号,mycallback,null);