GRBoptimizeasync


GRBoptimizeasync

int GRBoptimizeasync GRBmodel *模型)

异步优化模型。这个程序立即返回。您的程序可以在后台进行优化时执行其他计算。查询异步优化的状态状态属性。的值IN_PROGRESS指示优化尚未完成。当您完成前台任务时,您必须调用GRBsync将前台程序与异步优化任务同步。

注意,当优化在后台运行时,允许进行的Gurobi调用集受到了严重的限制。具体来说,您只能执行属性查询,而且只能查询少数属性(如下所列)。对运行模型的任何其他调用,或在同一Gurobi环境中构建的任何其他模型上,将以错误代码失败OPTIMIZATION_IN_PROGRESS

注意,在其他环境中构建的模型没有这样的限制。因此,例如,您可以创建多个环境,然后让一个前台程序启动多个同步异步优化,每一个都在它自己的环境中。

如前所述,允许查询状态属性,而异步优化正在进行中。其他可查询的属性有:ObjValObjBoundIterCountNodeCount,BarIterCount.在每种情况下,返回值都反映了优化到该点的进度。任何查询不在此列表中的属性值的尝试都将返回OPTIMIZATION_IN_PROGRESS错误。

返回值:

非零返回值表明在优化模型时发生了问题。指的是错误代码表中可能的返回值列表。关于错误的详细信息可以通过调用GRBgeterrormsg

参数:

模型:需要优化的模型。注意,此例程仅报告启动异步作业是否遇到错误。查询状态属性来确定优化的结果(请参阅属性章节以获取关于查询属性的更多信息)。的返回值GRBsync指示后台优化是否遇到错误。

使用示例:

错误= GRBoptimizeasync(模型);/ *……执行其他计算密集型任务…*/错误= GRBsync(模型);