属性
属性
查询和修改Gurobi模型属性的主要机制是通过属性接口。可以使用各种不同的属性。有些只在特定的时间被填充(例如,与模型的解相关的时间),而另一些则在任何时候都可用(例如,模型中变量的数量)。属性可以与变量(例如,下界)、约束(例如,右侧)、SOSs(例如,IIS成员资格)或与模型作为一个整体(例如,当前解决方案的客观值)相关联。
下表列出了完整的Gurobi属性集。属性已经按类型分组:模型属性接受标量值,而变量、线性约束、SOS约束、二次约束和一般约束属性在模型中的每个变量或约束中包含一个条目。api提供了用于查询单个约束或变量的属性值的方法,或用于查询约束或变量数组的属性值的方法(请参阅我们的属性的例子部分的例子)。数组查询通常效率更高。
请注意,在本节末尾,提供解决方案质量信息的属性被分离到一个单独的表中。这些属性也与整个模型相关联。
一些解决方案属性需要仅由某些Gurobi算法计算的信息。这些情况将在后面的详细属性描述中说明。例如,VBasis
而且CBasis
只有在单形基可用时才能查询属性(当使用原始单形、对偶单形或带有交叉的障碍来求解连续模型时,基可用)。敏感度资料(SAObjLow
,SAObjUp
等)也只适用于基本解决方案。
模型属性:
这些属性提供了关于整个模型的信息(相对于关于模型中个别变量或约束的信息)。
属性名称 | 描述 |
---|---|
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 | 多目标数量 |
部分
- 模型属性
- NumConstrs
- NumVars
- NumSOS
- NumQConstrs
- NumGenConstrs
- NumNZs
- DNumNZs
- NumQNZs
- NumQCNZs
- NumIntVars
- NumBinVars
- NumPWLObjVars
- ModelName
- ModelSense
- ObjCon
- ObjVal
- ObjBound
- ObjBoundC
- PoolObjBound
- PoolObjVal
- MIPGap
- 运行时
- 状态
- SolCount
- IterCount
- BarIterCount
- NodeCount
- IsMIP
- IsQP
- IsQCP
- IsMultiObj
- IISMinimal
- MaxCoeff
- MinCoeff
- MaxBound
- MinBound
- MaxObjCoeff
- MinObjCoeff
- MaxRHS
- MinRHS
- MaxQCCoeff
- MinQCCoeff
- MaxQCLCoeff
- MinQCLCoeff
- MaxQCRHS
- MinQCRHS
- MaxQObjCoeff
- MinQObjCoeff
- 卡巴
- KappaExact
- FarkasProof
- TuneResultCount
- NumStart
- LicenseExpiration
- JobID
- 服务器
- 变量的属性
- 磅
- 乌兰巴托
- Obj
- VType
- VarName
- X
- Xn
- 钢筋混凝土
- BarX
- 开始
- VarHintVal
- VarHintPri
- BranchPriority
- 分区
- VBasis
- PStart
- IISLB
- IISUB
- PWLObjCvx
- SAObjLow
- SAObjUp
- SALBLow
- SALBUp
- SAUBLow
- SAUBUp
- UnbdRay
- 线性约束属性
- SOS属性
- 二次约束属性
- 一般约束属性
- 质量属性
- 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
- 多目标属性
- 属性的例子