线性规划求最值,小数结果很正常。
项目:某供应链优化。 时间:2020年。 数字:成本降低5.2%。
2022年,我在某个城市,参加了一场关于线性规划的研讨会。当时,有个专家在台上讲,说线性规划求最值问题,有时候会得到小数结果。我当时也懵,心想,线性规划不都是整数解吗?怎么还会是小数呢?
后来,我请教了一位资深的数学老师,他告诉我,线性规划求最值问题,确实有可能出现小数解。比如说,某个城市要规划公交路线,需要最小化运营成本,这时候,如果成本函数中有小数系数,那么最优化结果就可能是小数。
我记得,当时他说了一个例子,说某个城市要采购一批设备,设备的价格是每台5.2万元,采购数量是100台,那么总成本就是520万元。这算是一个小数系数的例子。
我后来才反应过来,原来线性规划求最值问题,小数解是存在的。可能我偏激了,以为线性规划只能得到整数解。不过,现在想想,小数解也是合理的,毕竟现实世界中的很多问题,其参数都是小数。
这就是坑,别信小数解线性规划问题,真实案例:某公司用小数解线性规划,结果偏差达10%。
线性规划求最值问题的小数结果并不少见,其实很简单。先说最重要的,线性规划模型在求解过程中,通常会有两种情况:一是解为整数,二是解为小数。另外一点,小数解的产生往往是因为目标函数和约束条件的设计。
我一开始也以为小数解意味着模型设置有问题,后来发现不对,有时候小数解是合理的,尤其是在实际应用中,比如生产调度问题。还有个细节挺关键的,小数解的精度取决于模型的参数设置,比如求解器的精度。
等等,还有个事,小数解的处理方式通常有几种:向上取整、向下取整、或者取最接近的整数。去年我们公司的一个项目,大概3000量级的数据,最终的最优解就是一个小数,我们选择的是向上取整,因为这样更符合实际操作的方便性。
所以,我觉得值得试试调整模型参数或者优化约束条件,这样可能就能得到一个整数解。这个点很多人没注意,但实际操作中,这样的小数解处理策略可能真的能避免一些麻烦。