混合模型:石油生产

油混合

一家石油公司生产三种品牌的石油:Regular,Multigrade和Supreme。 每种品牌的油由四种原油中的一种或多种组成,每种原油具有不同的润滑指数。 有关原油的相关数据如下。

+-------------+-------------------+------------------+--------------------------+ | 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中构build下面的模型,并通过OpenSolver解决它,但是我只能整合普通油的混合。 我试图通过Kenneth R. Baker的“用电子表格进行优化build模”这本书来解决这个问题,但是我坚持这个练习。 虽然我可以从另一个混合问题转移逻辑,但我不确定如何一次构build多个混合的模型。 我将这个问题模拟为不同原油成本的最小化问题。 使用润滑指数数据,我build立了R-Lub指数的约束作为线性约束。 到目前为止,对于普通石油来说,答案似乎是正确的。 然而,使用这种方法,我不知道如何包括即使是第二个Multigrade石油。

 +--------------------+--------+--------+--------+--------+--+-------------+----+------+ | 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 | +--------------------+------+-----+------+----+--+----------------------------------------------------+----+------+ 

在正确的方向推动将是一个巨大的帮助。

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

要包含所有混合物,请为每个混合物生成的体积,润滑油指数,成本和值进行计算。 对所使用的库存量,产量和润滑指标应用约束,并对利润进行优化。

我把这个模型放在一起如下…

在这里输入图像说明

  1. 列A到D是您提供的信息。
  2. G2中的10:J5是每个混合物中使用的储存量的种子值。 求解器会操纵这些。
  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列是用于创build产品的库存成本。 这用于利润计算。 它是{=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)

下面是Solver对话框的一个快照。

在这里输入图像描述

它做以下…

  1. 目标是最大化利润。
  2. 这将通过操纵进入每个混合物的库存量来实现。
  3. 前四个约束( $G$7 through $J$7 )确保可用库存量不受侵犯。
  4. 接下来的三个约束( $K$3 through $K$5 )是用于(a)的情况 – 不超过产品的需求。
  5. 最后三个约束( $L$3 through $L$5 )确保润滑油指数符合最低规格。
  6. 未显示 – 我select了非线性GRG选项,并select“Use Multistart”并取消select“variables需要界限”。

以下是(a)情况的结果…

在这里输入图像描述

对于情况(b),将列K上的约束更改为“=”而不是“<=”。 以下是结果…

在这里输入图像描述

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

在这里输入图像说明

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

 | 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 € | | | | | | | | | | | |