【问题标题】:Excel Solver solver is messing up my optimizationExcel Solver 求解器搞砸了我的优化
【发布时间】:2018-05-05 06:06:50
【问题描述】:

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

Data

Solver

After executing Solver

【问题讨论】:

    标签: excel optimization solver


    【解决方案1】:

    为了将最小单位考虑在内,我稍微改变了逻辑:

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

    TIME 部分是 Unit TimesUnits 的乘积。所以B14的公式是=B9*B2,然后向下&向右复制。

    I9:I11 是单位收入乘以最低单位计算的收入

    I12 是我们的总收入,是我们的目标单元格。

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

    还要用一些值(例如 100)填充 B9:D11 单元格,否则迭代将无法正确开始,求解器最终会得到一个非常小的目标单元格。

    【讨论】:

      【解决方案2】:

      我刚刚尝试过,但我得到了不同的答案,因为我假设为了实现利润,公司必须完成铣削过程,然后检查,然后钻孔,一旦全部完成,那就是 1利润单位 - 我希望这是有效的。

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

      反正很有趣!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多