当我看到优化问题时,我看到了很多选择。一种是线性编程。我用抽象的术语理解LP是如何工作的,但我发现很难看出某个特定问题是否适合LP。是否有任何启发式方法可以帮助指导这一决定?
例如,在我看到如何正确构建问题之前,Is there a good way to do this type of mining?中描述的工作花了几周时间。是否有可能“提前”知道LP可以解决问题,而不首先看到“如何表达它”?
是否有可用于确定问题是否适合LP的清单?是否有针对该主题的标准(可读)参考?
答案 0 :(得分:7)
启发式(和/或核对清单),以确定手头的问题是否真的是一个线性计划。
这是我尝试回答的问题,我也试图概述我是如何解决这个问题的。
表明某个特定问题适合制定为LP / IP的问题:
对这些问题回答“是”意味着LP配方可能有用。
常见的LP< s> 包括:资源分配:(分配,运输,转运,背包),投资组合分配,作业调度和网络流量问题。 Here's a good list of LP Applications适用于任何刚接触LP或IP的人。 也就是说,实际上有1000种不同类型的问题可以表述为LP / IP。我与之合作的人(研究人员,同事)培养了一种直觉。他们善于认识到问题是某种类型的整数计划,即使他们不记得细节,然后他们可以查找。
为什么这个问题很难回答: 有很多原因可以解释为什么LP配方是否会切割它并不总是直截了当。
如何继续完成基本配方?
以下总是引导我朝着正确的方向前进。我通常首先列出决策变量,约束和目标函数。然后,我通常会在这三个中进行迭代,以确保所有内容都适合。"
因此,如果您手头有问题,请问问自己:
一旦您认为您的LP配方完成后,将进行一些快速的完整性检查:
根据我的经验,坚持下去的人几乎总是发展所需的直觉。希望这会有所帮助。