在现实生活中,是否有人在工作中定期解决NP完全问题或NP困难问题(通过试探法或追求次优解决方案等)?我知道它们会发生在调度,计划,VLSI设计等中,但是我试图了解当今经常使用程序员或工程师的主要行业。如果要开发专门知识或库,例如组合优化,在哪里可以将其用作编程工作的一部分?
有个人账户吗?
在现实生活中,是否有人在工作中定期解决NP完全问题或NP困难问题(通过试探法或追求次优解决方案等)?我知道它们会发生在调度,计划,VLSI设计等中,但是我试图了解当今经常使用程序员或工程师的主要行业。如果要开发专门知识或库,例如组合优化,在哪里可以将其用作编程工作的一部分?
有个人账户吗?
Answers:
我能想到的一些事情(大多数我或多或少都参与过):
有很多标准示例,例如查找最短路径,护士调度等,但是如果您要进行组合优化,则对这些都一无所知:)
我已经使用了时间受限的模拟退火来解决触摸板制造中类似旅行商的问题。我们可以从每块面板的激光蚀刻周期中节省每毫秒的时间,这将提高机器的产量,利用率并因此提高利润率,因此我付出了很多努力来最大程度地减少划线路径之间的停滞时间(非划线路径)(显然无法进行优化)。
我使用了一个有时间限制的算法来解决问题的NP硬度,因为我们无法承担优化计算可能要花费比最佳路径节省的时间更长的风险。当机器将面板从加载位置移动到激光头位于最近角上的位置时,我有时间进行一些模拟。该算法几乎不会在移动的几百毫秒内完成,但是几乎总是返回比我们以前使用的任何简单的非自适应模型(例如螺旋形或蛇形路径)更好的划线路径。
我正在(实际上现在)正在研究多个局部DNA序列比对的生物信息学问题。这样做的目的是,如果某个特性相同的基因(在ChIP芯片实验中具有相似的表达谱或相同的转录因子结合)的许多序列在某个时刻强烈对齐,那么您可能已经发现了它们相同的原因属性。再说一次,我对问题的统计方面更感兴趣。即使是NP难题,在实践中使用启发式方法也不会造成太大损失。问题的有趣部分,恕我直言,是信噪比问题。
我真的不知道NP完整/困难意味着什么,但是我认为供应自动计划就是一种。
您有90天远期需求计划,可针对100个产品SKU:啤酒!SKU的100种产品来自:
每种操作都有机器“生产线”:从酿造到包装。这些机器可以执行更多的操作,例如,某些包装机可以生产6件装和3件装,而其他包装机只能生产6件装。存在限制,例如速度,或者大的煮沸水壶用于最小的煮沸。最多6000升啤酒,最多8000升(但如果是淡啤酒,则最小为5000升,最大为7000升)。等等,在每个级别上。
任务:正如我提到的,有一个针对100种5级(瓶装,包装好的东西)的需求计划。做一个最佳 manufactoring计划为所有5个级别,所有的机器。尽量减少机器开关(例如,装瓶.5,.5,.5,.3,.3,.3比.3,.5,.3,.5,.3,.5更好,开关更少,减少装瓶机的停工时间)。客户优先:某些客户只需要在啤酒中保留超过50%的有效时间就可以发货。等等
发现瓶颈(eh),通过在这些点上添加不存在的计算机来制定替代计划,然后可以使用最佳虚拟方案来建议购买新计算机。
够难吗,还是我应该告诉您一家纺织厂如何运作?
(个人评论:网络,银行和物流是具有挑战性的领域,但与制造问题相比,它们是婴儿玩具。)
免责声明:出于安全原因,数字会失真,数量级是真实的。