Python 解中的非整数

Python 解中的非整数,python,optimization,gurobi,Python,Optimization,Gurobi,为什么在某些情况下,结果是非整数,尽管决策变量是整数 我使用gurobipy优化模型。所有MIP解算器使用不同的公差。其中之一是整数可行性公差。在古罗比,这被称为IntFeasTol。默认情况下,它是1.0e-5。因此,变量被允许是微小的分数。在大多数情况下,可以将它们四舍五入到最接近的整数。有时,这种舍入可能会导致约束变得有些不可行。这些值必须为1和0,以达到浮点精度。否,浮点精度为1e-16。这与公差有关。如何提取正确的基础整数值?我在想一些事情,比如比较价值和升学价值,检查绝对差异是否足够

为什么在某些情况下,结果是非整数,尽管决策变量是整数


我使用gurobipy优化模型。

所有MIP解算器使用不同的公差。其中之一是整数可行性公差。在古罗比,这被称为IntFeasTol。默认情况下,它是1.0e-5。因此,变量被允许是微小的分数。在大多数情况下,可以将它们四舍五入到最接近的整数。有时,这种舍入可能会导致约束变得有些不可行。

这些值必须为1和0,以达到浮点精度。否,浮点精度为1e-16。这与公差有关。如何提取正确的基础整数值?我在想一些事情,比如比较价值和升学价值,检查绝对差异是否足够小;如果不检查该值是否足够接近floorvalue?@MikkelLP严格地说,实际上没有基础整数值。如果需要,我会使用Python的round函数将浮点值转换为整数integer@MikkelLP警告roundx,0返回浮点,而roundx返回整数。