【问题标题】:Blending Model: Oil Production混合模型:石油生产
【发布时间】:2017-02-08 13:50:20
【问题描述】:

调油

一家石油公司生产三种品牌的油:普通油、多级油和 最高。每个品牌的机油都由四种原油中的一种或多种组成,每种原油都有不同的润滑指数。原油库存相关数据如下。

+-------------+-------------------+------------------+--------------------------+
| Crude Stock | Lubrication Index | Cost (€/barrell) | Supply per day (barrels) |
+-------------+-------------------+------------------+--------------------------+
| 1           | 20                | 7,10             | 1000                     |
+-------------+-------------------+------------------+--------------------------+
| 2           | 40                | 8,50             | 1100                     |
+-------------+-------------------+------------------+--------------------------+
| 3           | 30                | 7,70             | 1200                     |
+-------------+-------------------+------------------+--------------------------+
| 4           | 55                | 9,00             | 1100                     |
+-------------+-------------------+------------------+--------------------------+  

每个品牌的机油都必须满足润滑指标的最低标准,并且每个品牌 因此以不同的价格出售。三个品牌机油的相关数据如下 跟随。

+------------+---------------------------+---------------+--------------+
| Brand      | Minimum Lubrication index | Selling price | Daily demand |
+------------+---------------------------+---------------+--------------+
| Regular    | 25                        | 8,50          | 2000         |
+------------+---------------------------+---------------+--------------+
| Multigrade | 35                        | 9,00          | 1500         |
+------------+---------------------------+---------------+--------------+
| Supreme    | 50                        | 10,00         | 750          |
+------------+---------------------------+---------------+--------------+   

确定一天的最佳产出计划,假设生产可以是 以微不足道的成本出售或储存。 每日需求数据有不同的解释。调查 以下:
(a) 每日需求代表潜在销售额。换句话说,模型应该包含需求上限(上限)。什么是最优利润?
(b) 日常要求是严格的义务。换句话说,模型应该包含精确满足的需求约束。什么是最优利润?
(c) 每日需求代表最低销售承诺,但所有产出都可以出售。换句话说,该模型应该允许生产超过每日承诺。什么是最优利润?

问题

我已经能够在 Excel 中构建以下模型并通过 OpenSolver 解决它,但我只能整合普通油的混合物。 我正在尝试通过 Kenneth R. Baker 撰写的使用电子表格进行优化建模一书,但我一直坚持这个练习。虽然我可以从另一个混合问题中转移逻辑,但我不确定如何一次为多个混合构建模型。 我将问题建模为不同原油库存成本的最小化问题。使用润滑指数数据,我将 R-Lub 指数的约束构建为线性约束。到目前为止,对于普通油来说,答案似乎是正确的。但是,使用这种方法,我什至不知道如何包含第二种 Multigrade Oil。

+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Decision Variables |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    | C1     | C2     | C3     | C4     |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Inputs             | 1000   | 0      | 1000   | 0      |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Objective Function |        |        |        |        |  | Total       |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Cost               | 7,10 € | 8,50 € | 7,70 € | 9,00 € |  | 14.800,00 € |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Constraints        |        |        |        |        |  | LHS         |    | RHS  |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C1 supply          | 1      |        |        |        |  | 1000        | <= | 1000 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C2 supply          |        | 1      |        |        |  | 0           | <= | 1100 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C3 supply          |        |        | 1      |        |  | 1000        | <= | 1200 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| C4 supply          |        |        |        | 1      |  | 0           | <= | 1100 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| R- Lub Index       | -5     | 15     | 5      | 30     |  | 0           | >= | 0    |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| R- Output          | 1      | 1      | 1      | 1      |  | 2000        | =  | 2000 |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
|                    |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| Blending Data      |        |        |        |        |  |             |    |      |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+
| R- Lub             | 20     | 40     | 30     | 55     |  | 25          | >= | 25   |
+--------------------+--------+--------+--------+--------+--+-------------+----+------+  

这是带有 Excel 公式的模型:

+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Decision Variables |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    | C1   | C2  | C3   | C4 |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Inputs             | 1000 | 0   | 1000 | 0  |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Objective Function |      |     |      |    |  | Total                                              |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Cost               | 7,1  | 8,5 | 7,7  | 9  |  | =SUMMENPRODUKT(B5:E5;B8:E8)                        |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Constraints        |      |     |      |    |  | LHS                                                |    | RHS  |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C1 supply          | 1    |     |      |    |  | =SUMMENPRODUKT($B$5:$E$5;B11:E11)                  | <= | 1000 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C2 supply          |      | 1   |      |    |  | =SUMMENPRODUKT($B$5:$E$5;B12:E12)                  | <= | 1100 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C3 supply          |      |     | 1    |    |  | =SUMMENPRODUKT($B$5:$E$5;B13:E13)                  | <= | 1200 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| C4 supply          |      |     |      | 1  |  | =SUMMENPRODUKT($B$5:$E$5;B14:E14)                  | <= | 1100 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| R- Lub Index       | -5   | 15  | 5    | 30 |  | =SUMMENPRODUKT($B$5:$E$5;B15:E15)                  | >= | 0    |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| R- Output          | 1    | 1   | 1    | 1  |  | =SUMMENPRODUKT($B$5:$E$5;B16:E16)                  | =  | 2000 |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
|                    |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| Blending Data      |      |     |      |    |  |                                                    |    |      |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+
| R- Lub             | 20   | 40  | 30   | 55 |  | =SUMMENPRODUKT($B$5:$E$5;B19:E19)/SUMME($B$5:$E$5) | >= | 25   |
+--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+  

朝着正确的方向轻推将是巨大的帮助。

【问题讨论】:

    标签: excel optimization modeling linear-programming solver


    【解决方案1】:

    我认为您希望您的目标是利润,我将其定义为销售价值的总和 - 成本的总和。

    要包括所有混合物,请计算每种混合物的生产量、润滑油指数、成本和价值。对使用的库存量、生产量和润滑油指数应用约束,并针对利润进行优化。

    我把模型放在一起如下...

    1. A 到 D 列是您提供的信息。
    2. G2:J5 中的 10 是每个混合中使用的库存量的种子值。 Solver 将操纵这些。
    3. K 列包含生产的总产品量。根据您的调查 (a)、(b) 和 (c),这些将受到不同方式的限制。填写的是=SUM(G3:J3)
    4. L 列是产品的润滑油指数。正如您所指出的,它是线性混合 - 对于混合问题,这通常不是真的。这些值将在 Solver 中受到约束。填写的是{=SUMPRODUCT(G3:J3,TRANSPOSE($B$2:$B$5))/$K3}。请注意,它是一个 Control-Shift-Enter (CSE) 公式,由于 TRANSPOSE 而需要。
    5. M 列是用于创建产品的库存成本。这用于利润计算。是{=SUMPRODUCT(G3:J3,TRANSPOSE($C$2:$C$5))},填写完毕。这也是一个 CSE 公式。
    6. N 列是所生产产品的价值。这用于利润计算。填写的是=K3*C8
    7. 第 7 行是用于生成所有混合物的总库存量。这些值将在 Solver 中受到约束。它是=SUM(G3:G5),填在右边。
    8. 利润计算为=SUM(N3:N5)-SUM(M3:M5)

    下面是求解器对话框的快照...

    它执行以下操作...

    1. 目标是最大化利润。
    2. 它将通过控制进入每种混合物的原料量来做到这一点。
    3. 前四个约束 ($G$7 through $J$7) 确保不违反可用库存量。
    4. 接下来的三个约束 ($K$3 through $K$5) 适用于案例 (a) - 生产的产品不得超过需求量。
    5. 最后三个约束 ($L$3 through $L$5) 确保润滑油指数符合最低规格。
    6. 未显示 - 我选择了 GRG 非线性选项并选择了“使用多重启动”并取消选择了“需要变量边界”。

    下面是案例 (a) 的结果...

    对于情况 (b),将 K 列的约束更改为“=”而不是“

    对于情况 (c),将 K 列的约束更改为“>=”。下面是结果...

    【讨论】:

    • 感谢您提供的非常有用的解释。我知道如何在 Excel 中对此类问题和类似问题进行建模有更好的理解。有趣的是,我用负数构建的模型得出了相同的结果。案例(c)的售价相同。这很棒。谢谢
    【解决方案2】:

    我想我想出了一个解决方案,但我不确定这是否正确。

    | Decision Variables |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    |--------------------|---------|--------|--------|--------|-------------|--------|--------|--------|--------|--------|--------|--------|---|--------------------------------|----|------|
    |                    | C1R     | C1M    | C1S    | C2R    | C2M         | C2S    | C3R    | C3M    | C3S    | C4R    | C4M    | C4S    |   |                                |    |      |
    | Inputs             | 1000    | 0      | 0      | 800    | 0           | 300    | 0      | 1200   | 0      | 200    | 300    | 600    |   |                                |    |      |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Objective Function |         |        |        |        |             |        |        |        |        |        |        |        |   | Total Profit (Selling  - Cost) |    |      |
    | Cost               | 7,10 €  | 7,10 € | 7,10 € | 8,50 € | 8,50 €      | 8,50 € | 7,70 € | 7,70 € | 7,70 € | 9,00 € | 9,00 € | 9,00 € |   | 3.910,00 €                     |    |      |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Constraints        |         |        |        |        |             |        |        |        |        |        |        |        |   | LHS                            |    | RHS  |
    | Regular            | -5      |        |        | 15     |             |        | 5      |        |        | 30     |        |        |   | 13000                          | >= | 0    |
    | Multi              |         | -15    |        |        | 5           |        |        | -5     |        |        | 20     |        |   | 0                              | >= | 0    |
    | Supreme            |         |        | -30    |        |             | -10    |        |        | -20    |        |        | 5      |   | 0                              | >= | 0    |
    | C1 Supply          | 1       | 1      | 1      |        |             |        |        |        |        |        |        |        |   | 1000                           | <= | 1000 |
    | C2 Supply          |         |        |        | 1      | 1           | 1      |        |        |        |        |        |        |   | 1100                           | <= | 1100 |
    | C3 Supply          |         |        |        |        |             |        | 1      | 1      | 1      |        |        |        |   | 1200                           | <= | 1200 |
    | C4 Supply          |         |        |        |        |             |        |        |        |        | 1      | 1      | 1      |   | 1100                           | <= | 1100 |
    | Regular Demand     | 1       |        |        | 1      |             |        | 1      |        |        | 1      |        |        |   | 2000                           | >= | 2000 |
    | Multi Demand       |         | 1      |        |        | 1           |        |        | 1      |        |        | 1      |        |   | 1500                           | >= | 1500 |
    | Supreme Demand     |         |        | 1      |        |             | 1      |        |        | 1      |        |        | 1      |   | 900                            | >= | 750  |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    |                    |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Selling            |         |        |        |        |             |        |        |        |        |        |        |        |   |                                |    |      |
    | Regular            | 8,50 €  | x      | 2000   | =      | 17.000,00 € |        |        |        |        |        |        |        |   |                                |    |      |
    | Multi              | 9,00 €  | x      | 1500   | =      | 13.500,00 € |        |        |        |        |        |        |        |   |                                |    |      |
    | Supreme            | 10,00 € | x      | 900    | =      | 9.000,00 €  |        |        |        |        |        |        |        |   |                                |    |      |
    |                    |         |        |        |        | 39.500,00 € |        |        |        |        |        |        |        |   |                                |    |      |
    

    【讨论】:

    • 我看不懂负数。你不能混合负体积。
    • page 50 - nonlinear constraint - 我附上了我正在努力完成的书中的一页。它解释说,在分数的分母中具有决策变量的混合公式必须“转换”为我在 Excel 表中使用的公式。
    • 对于我使用过的常规混合:(20C1R+40C2R+30C3R+55C4R)/(C1R+C2R+C3R+C4R) >= 25,我通过将两边乘以产生 20C1R+40C2R+30C3R+55C4R >= 25(C1R+C2R+C3R+C4R) 的分母,这归结为我在 excel 表中使用的公式,-5C1R+15C2R+5C3R+30C4R >= 0 ,我希望这是正确的方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多