Excel Solver求解器搞乱了我的优化

时间:2018-05-04 09:36:21

标签: excel optimization solver

我已经设置了优化问题,但我必须做错事,我可以使用你的帮助。我有三家公司:alpha,Bravo,Charlie。他们每人完成三项任务:铣削,检查,钻孔。它们每个都需要不同的分钟数来完成每项任务。 Alpha需要12分钟磨,5分钟检查,10分钟钻。 Bravo需要10分钟进行铣削,4进行检查,8进行钻孔。查理需要8个磨机,4个检查,16个钻孔。在每家公司完成所有这些任务后,他们将获得一定的利润,Alpha将获得2.40美元,Bravo将获得2.50美元,而Charlie将获得3.00美元。这三家公司的最大分配时间分别为1200分钟,900分钟,1440分钟。目标是最大化这三家公司的利润。我已将其设置为使得任务的总和将从解算器更改时剩余的可用时间中消失。我还在求解器中设置约束,将每个任务限制为每个任务允许的分配时间。我必须错过一个重要的步骤,因为它一直试图最大化单个公司的分配时间,而不是考虑其他公司的机会成本或其他东西。请帮忙! (如图所示)

Data

Solver

After executing Solver

2 个答案:

答案 0 :(得分:0)

为了考虑最小单位,我改变了逻辑有点不同:

enter image description here

UNITS 部分是可变单元格。由于最终生成的单位将是这些单元格中的最小单位,因此E9公式为=MIN(B9:D9)并向下复制。

TIME 部分是单位时间单位的乘法。因此B14的公式为=B9*B2并向下复制&右。

I9:I11是通过将单位收入乘以最小单位计算的收入

I12是我们的总收入,是我们的客观细胞。

请注意约束,因为当你没有设置整数约束时,找到解决方案变得更加困难,当然我们的单位在任何情况下都应该是整数。

并且还使用某些值(例如100)填充B9:D11单元格,因为否则迭代无法正确启动,并且求解器最终会得到一个非常小的目标单元格。

答案 1 :(得分:0)

我刚刚接受了这个,我得到了一个不同的答案,因为我已经假设为了实现利润,公司必须完成铣削加工,然后检查,然后钻孔,一旦完成,那么就是1利润单位 - 我希望这是有效的。

但如果没有,那么这种布局可能会对你有所帮助。注意我已将其设置为求解器的线性模型,并注意使用整数和非负数。

enter image description here

无论如何这很有趣!