开始


开始

类型:
修改: 是的

当前MIP开始向量。当这个向量可用时手机万博登录,MIP求解器将尝试从这个向量构建一个初始解决方案。注意,可以部分填充开始——MIP求解器将尝试填充缺少的开始值的值。手机万博登录如果您希望为一个变量保留未定义的起始值,您可以避免设置开始属性,也可以将其设置为特殊的未定义的值(GRB_UNDEFINED在C和c++,或伽马射线爆发。未定义的在Java, . net和Python)。

如果Gurobi MIP求解器日志表手机万博登录明您的MIP启动没有产生新的现有解决方案,请注意可能有多种解释。一种可能性是你的MIP启动是不可行的。另一种更常见的可能性是,一种Gurobi启发式方法找到了与MIP启动产生的解决方案一样好的解决方案,因此MIP启动解决方案被切断了。最后,如果您指定了一个部分MIP启动,那么在该部分启动上所做的有限MIP探索可能不足以找到一个新的现有解决方案。你可以试着设置StartNodeLimit参数设置为更大的值,如果您希望Gurobi更努力地工作以完成部分启动。

如果您解决了一系列模型,其中一个是通过修改前一个来构建的,并且如果您不提供MIP开始,那么Gurobi将尝试从前一个模型的解决方案自动构建一个。如果您不希望它尝试这个,您应该在开始后续解决之前重置模型。如果您提供了一个MIP开始,但希望使用前面的解决方案作为开始,您应该清除您的开始(通过设置开始属性来未定义的所有的变量)。

如果您有多个起始向量,您可以使用开始属性与NumStart属性和StartNumber参数。具体地说,使用NumStart属性指示您将提供多少起始向量。然后设置StartNumber参数设置为介于0和NumStart-1表示您要提供哪个起点。对于每个值StartNumber,填充开始属性来提供该开始。Gurobi将使用所有提供的启动。作为一种替代方法,您可以通过将新的MIP开始向量添加到模型中StartNumber参数-1.在这种情况下,每当您读取一个MIP开始,或者使用一个函数为一组变量设置一个MIP开始值时,就会创建一个新的MIP开始,即参数NumStart将增加,并且任何未指定的变量将保留为未定义的

如果您想诊断不可行的MIP启动,您可以尝试将模型中的变量固定为MIP启动时的值(通过设置它们的下限和上限属性)。如果生成的MIP模型不可行,那么可以计算该模型上的IIS,以获得额外的信息,这些信息应该有助于确定不可行的原因。

只影响MIP模型。

有关如何查询或修改属性的示例,请参阅我们的属性的例子