BAS格式


BAS格式

LP基础(BAS)文件用于指定连续模型的初始基础。该文件为模型中的每个变量和约束提供了基本状态信息。如果是由Gurobi写的,为了减小文件的大小,它只包含了slack基础上的差异。在每一行的松弛基中,相应的松弛变量是基本的,而所有其他问题变量都在它们的下界。如果一个基础在优化开始之前被导入到一个连续模型中(使用GRBread,并且如果选择了一个单纯形优化器(通过方法参数),Gurobi单形优化器从指定的基础开始。

BAS文件以A开头的名字行,并以一个ENDATA声明。不会从这些行中检索信息,但它们是格式所需要的。这两行之间是基本状态行,每一行由两个或三个字段组成,并以一个空白字符开始。如果第一个字段为UL,或废话,在第二个字段中命名为(松弛变量是不允许的)的变量的下界是非基本的,上界是非基本的,或者基本的。任何其他字段将被忽略。如果第一个字段为XL,在第二个字段中命名的变量是基本的,而在第三个字段中命名的行表示对应的slack变量在其下界或上界分别是非基本的。

下面是一个简单的例子:

名字的例子。bas XL x1 c1 XU x2 c2 UL x3 LL x4 ENDATA

将基导入模型相当于设置VBasisCBasis每个列出的变量的属性和对指定基状态的约束。

接近最优的基础可以加快求解困难的LP模型。然而,如果指定的起始基础不是非常接近最佳解决方案,通常会减慢解决过程。在提供起始基础时要谨慎。