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);