属性


属性

查询和修改Gurobi模型属性的主要机制是通过属性接口。可以使用各种不同的属性。有些只在特定的时间被填充(例如,与模型的解相关的时间),而另一些则在任何时候都可用(例如,模型中变量的数量)。属性可以与变量(例如,下界)、约束(例如,右侧)、SOSs(例如,IIS成员资格)或与模型作为一个整体(例如,当前解决方案的客观值)相关联。

下表列出了完整的Gurobi属性集。属性已经按类型分组:模型属性接受标量值,而变量、线性约束、SOS约束、二次约束和一般约束属性在模型中的每个变量或约束中包含一个条目。api提供了用于查询单个约束或变量的属性值的方法,或用于查询约束或变量数组的属性值的方法(请参阅我们的属性的例子部分的例子)。数组查询通常效率更高。

请注意,在本节末尾,提供解决方案质量信息的属性被分离到一个单独的表中。这些属性也与整个模型相关联。

一些解决方案属性需要仅由某些Gurobi算法计算的信息。这些情况将在后面的详细属性描述中说明。例如,VBasis而且CBasis只有在单形基可用时才能查询属性(当使用原始单形、对偶单形或带有交叉的障碍来求解连续模型时,基可用)。敏感度资料(SAObjLowSAObjUp等)也只适用于基本解决方案。

模型属性:

这些属性提供了关于整个模型的信息(相对于关于模型中个别变量或约束的信息)。

属性名称 描述
NumVars 变量数量
NumConstrs 线性约束数
NumSOS SOS约束数量
NumQConstrs 二次约束的个数
NumGenConstrs 一般约束数
NumNZs 约束矩阵中非零系数的个数
DNumNZs 约束矩阵中非零系数的个数(双格式)
NumQNZs 非零二次目标项的个数
NumQCNZs 二次约束中非零项的个数
NumIntVars 整数变量个数
NumBinVars 二进制变量个数
NumPWLObjVars 分段线性目标函数变量的个数。
ModelName 模型名称
ModelSense 模型感(最小化或最大化)
ObjCon 目标函数的常数偏移量
ObjVal 当前溶液的客观值
ObjBound 最佳可用目标边界(最小化的下界,最大化的上界)
ObjBoundC 最佳可用目标边界,不舍入(下界为最小,上界为最大)
PoolObjBound 对于不在池中的解,最佳目标的上界(下界为最小化,上界为最大化)
PoolObjVal 优化过程中存储的备选方案的客观值
MIPGap 当前相对MIP优化差距
运行时 运行时的最新优化
状态 当前优化状态
SolCount 存储解的个数
IterCount 在最近优化中执行的单纯形迭代数
BarIterCount 在最近的优化中执行的屏障迭代次数
NodeCount 最近优化中探索的分支和切割节点的数量
IsMIP 指示该模型是否为MIP
IsQP 指示该模型是否是QP/MIQP
IsQCP 指示模型是否为QCP/MIQCP
IsMultiObj 指示模型是否具有多个目标
IISMinimal 指示当前IIS是否为最小值
MaxCoeff 最大约束矩阵系数(绝对值)
MinCoeff 最小(非零)约束矩阵系数(绝对值)
MaxBound 最大有限变量界
MinBound 最小有限变量界
MaxObjCoeff 最大线性目标系数(绝对值)
MinObjCoeff 最小(非零)线性目标系数(绝对值)
MaxRHS 最大右侧约束(绝对值)
MinRHS 最小(非零)约束右侧(绝对值)
MaxQCCoeff 二次部分最大二次约束矩阵系数(绝对值)
MinQCCoeff 二次部分最小(非零)二次约束矩阵系数(绝对值)
MaxQCLCoeff 线性部分最大二次约束矩阵系数(绝对值)
MinQCLCoeff 线性部分最小(非零)二次约束矩阵系数(绝对值)
MaxQCRHS 最大二次约束右侧(绝对值)
MinQCRHS 最小(非零)二次约束右侧(绝对值)
MaxQObjCoeff 最大二次目标系数(绝对值)
MinQObjCoeff 最小(非零)二次目标系数(绝对值)
卡巴 估计基础条件数
KappaExact 精确的基条件数
FarkasProof 法卡斯不可行性证明中不可行性违例的大小
TuneResultCount 通过调优工具发现的改进参数集的数量
NumStart MIP启动数
LicenseExpiration 许可证有效期
JobID 对于计算服务器,当前作业的ID
服务器 对于计算服务器,服务器的名称

变量属性:

这些属性提供了与特定变量相关的信息。

属性名称 描述
下界
乌兰巴托 上界
Obj 线性目标系数
VType 变量类型(连续、二进制、整数等)
VarName 变量名
X
Xn MIP次优解决方案中的值
钢筋混凝土 降低成本
BarX 最佳屏障迭代中的值(交叉之前)
开始 MIP起始值(用于构造初始MIP解决方案)
VarHintVal MIP提示值
VarHintPri MIP提示优先级
BranchPriority 分支的优先级
分区 可变分区
VBasis 基础状态
PStart 单纯形起始向量
IISLB 下界是否参与IIS
IISUB 上界是否参与IIS
PWLObjCvx 指示变量是否具有凸分段线性目标
SAObjLow 客观系数敏感性信息
SAObjUp 客观系数敏感性信息
SALBLow 下限灵敏度信息
SALBUp 下限灵敏度信息
SAUBLow 灵敏度上限信息
SAUBUp 灵敏度上限信息
UnbdRay 无限的光芒

线性约束属性:

这些属性提供了与特定线性约束相关的信息。

属性名称 描述
感觉 约束感(“<”“>”,或“=”
园艺学会 右边值
ConstrName 约束的名字
π 对偶值(也称为影子价格
松弛 当前解决方案中的松弛
CBasis 基础状态
DStart 单纯形起始向量
懒惰的 确定约束是否被视为惰性约束
IISConstr 指示约束是否参与IIS
SARHSLow 右边的灵敏度信息
SARHSUp 右边的灵敏度信息
FarkasDual 法卡斯不可行性证明

SOS属性:

这些属性提供与特定的特殊有序集(Special-Ordered Set, SOS)约束相关联的信息。

属性名称 描述
IISSOS 指示SOS约束是否参与IIS

二次约束属性:

这些属性提供了与特定二次约束相关联的信息。

属性名称 描述
QCSense 约束感(“<”“>”,或“=”
QCRHS 右边
QCName 二次约束名称
QCPi 双重价值
QCSlack 当前解决方案中的松弛
IISQConstr 指示二次约束是否参与IIS

一般约束属性:

这些属性提供了与特定的一般约束相关联的信息。

属性名称 描述
GenConstrType 一般约束的类型
GenConstrName 一般约束名称
IISGenConstr 指示常规约束是否参与IIS

解决方案质量属性:

属性名称 描述
BoundVio 最大(未缩放)边界违反
BoundSVio 最大(缩放)界限违反
BoundVioIndex 具有最大(未缩放)边界违规的变量索引
BoundSVioIndex 具有最大(缩放)边界违规的变量索引
BoundVioSum (未缩放的)边界违反的总和
BoundSVioSum (按比例)边界违例的总和
ConstrVio 最大(未缩放的)约束违反
ConstrSVio 最大(按比例)约束违反
ConstrVioIndex 最大(未缩放的)违例约束索引
ConstrSVioIndex 最大(按比例)违例约束索引
ConstrVioSum (未缩放的)约束违反的总和
ConstrSVioSum (按比例)约束违反的总和
ConstrResidual 最大(未缩放)原始约束误差
ConstrSResidual 最大(缩放)原始约束误差
ConstrResidualIndex 具有最大(未缩放)原始约束误差的约束索引
ConstrSResidualIndex 具有最大(缩放)原始约束误差的约束索引
ConstrResidualSum (未缩放的)原始约束误差之和
ConstrSResidualSum (缩放的)原始约束误差之和
DualVio 最大限度(未缩放)减少的成本违反
DualSVio 最大限度(按比例)减少成本违规
DualVioIndex 最大(未缩放)降低成本违例变量的指数
DualSVioIndex 最大(按比例)降低成本违例的变量指数
DualVioSum (未按比例)减少的成本违规的总和
DualSVioSum (按比例)减少的成本违规总数
DualResidual 最大(未缩放)双重约束误差
DualSResidual 最大(缩放)双重约束误差
DualResidualIndex 具有最大(未缩放)双重约束误差的变量索引
DualSResidualIndex 具有最大(缩放)对偶约束误差的变量索引
DualResidualSum (未缩放的)对偶约束误差之和
DualSResidualSum (缩放)对偶约束误差的和
ComplVio 最大互补违例
ComplVioIndex 互补性违例最大的变量指数
ComplVioSum 互补性违反的总和
IntVio 最大完整性违反
IntVioIndex 违反完整性最大的变量指数
IntVioSum 完整性违反的总和

多目标属性:

属性名称 描述
ObjN 多目标的目标
ObjNCon 多目标的常数项
ObjNPriority 多目标的优先次序
ObjNWeight 多目标权重
ObjNRelTol 多目标的相对公差
ObjNAbsTol 多目标的绝对公差
ObjNVal 多目标解决方案的客观价值
ObjNName 多目标名称
NumObj 多目标数量



部分