擅长:python、mysql、java
<p>我想用<a href="http://en.wikipedia.org/wiki/Linear_programming" rel="nofollow">linear programming</a>来解决你的问题。但是,我还是不能,因为你没有正确地说明你的问题。因此,我给你一个大概的答案:</p>
<p>线性规划背后的思想是,你需要指定一个任意的线性、多元的成本函数和任意数量的限制(通常是不等式,例如“同时使用的所有工具之和<;=5等等”)。在正确地指定了问题之后,可以使用单纯形算法或内点法等技术来获得最小化/最大化成本函数的解决方案,并且根据您的限制条件是可行的(如果存在这样的解决方案)。你甚至可以很容易地验证你的解决方案的最佳性,即使是用手(互补性的懈怠)。如果您需要整数解(这个问题有点难),您可以使用诸如分支和绑定这样的技术来获得这些解。线性规划是一个被广泛研究和灵活的研究领域,它可以很容易地应用于各种优化问题。在</p>
<p>您的问题陈述中仍然缺少的内容:</p>
<ul>
<li>改变的代价是什么?在任意工具之间切换时它们是相同的,还是添加/删除不同?每次更换是否有固定的基本成本(例如停止和恢复机器)?在</li>
<li>使用这些工具是否有成本,例如,您是否应尽量减少配备的工具数量,以尽量减少其操作成本?在</li>
<li>你一次能装备多少工具?你能装备所有的装备吗,或者只装备一定数量的装备,或者每种装备中的一种,或者它们的组合?在</li>
<li>可完成的批次有限制吗?在</li>
<li>这些工作需要不同的时间吗?这些时间是否提前知道?在</li>
<li>。。。在</li>
</ul>