如何从给定产品及其属性中找到最低成本?

问题描述 投票:0回答:1

我的熔化材料应达到所需的性能。将有2套材料1)废料2)铁合金目标:以最低成本实现每个元素的目标值Ex。在1000 Kg混合后,我们希望达到以下特性碳 - 2.4%硅 - 2.1%p - 0.015%S - 0.015%

现在从给定的材料组合中我们已经确定了我们可以从CRC(废料)中获得多少的价值,我们可以获得1.1%的碳,来自渗碳剂(铁合金),我们可以得到78%的碳。这意味着如果我们使用100 kg CRC,我们可以获得1.1碳,但我们使用5 kg渗碳剂,我们可以获得3.9碳。因此,我们拥有每种材料的所有元素值。此外,我们有每种材料的价格。像CRC一样是25 Rs / Kg。和渗碳剂是1500 / kg。因此我们需要以这样的方式混合材料,即它应该以最低成本达到目标值,如达到2.4%碳,如果我们使用100公斤废料比我们可以获得1.1%碳,并且要求1.4我们可以从1.8公斤渗碳剂获得其成本为2500 + 2700 = 5200卢比。这可以是任意数量的组合,我们需要从中找到尽可能低的成本解决方案,但条件是必需的材料应该是可数的,如答案应该是701.5而不是它的罚款,但它不应该是701.115,因为没有人会测量115当实际进行混合时克。因此,我们需要找到尽可能低的成本,以及应该使用多少kg材料?这是一个元素的例子,但我们应该实现所有目标元素。

输入数据:废料和它的元素值及其成本

CRC废料C% - 1.5 Si% - 0.9成本:25 / kg

生铁C% - 1.9 Si% - 1.1成本:28 / kg

MS废料C% - 1.4 Si% - 0.9成本:23.5 / kg

钢废料c% - 1.8 Si% - 1.5成本:29 / kg

铁合金

渗碳剂C% - 80 Si%0成本:1000 / kg

硅铁C% - 0 Si% - 65 S%10成本:1200 / kg

铁锰c% - 0 S% - 20 P% - 15成本:500 / kg

铜含量% - 98成本:1500 / kg

所需值定义如上。现在我们需要找到1000千克的废料混合物,以实现铁合金的特性使用,使成本最佳。

是否有任何算法可用于此类问题?或者任何可以帮助我找到租赁费用的方法?

谢谢。

algorithm dynamic-programming
1个回答
0
投票

所有这些都可以表示为线性程序。一旦你有这个,你可以将它插入你最喜欢的解算器,并在可行的情况下获得解决方案。

您希望最小化的优化目标是总成本:

f = w_CRC * cost_CRC + w_pigIron * cost_pigIron + ...

w_...是每种材料的权重,代表优化变量。成本是常数。

然后添加以下约束来建模您的需求:

w_CRC + w_pigIron + w_MS + ... = totalWeight
w_CRC >= 0, w_pigIron >=0, w_MS >= 0 ...
w_CRC * C_CRC + w_pigIron * C_pigIron + ... = desiredCWeight
w_CRC * Si_CRC + w_pigIron * Si_pigIron + ... = desiredSiWeight

C_Si_是相应材料和desiredXWeight = totalWeight * desiredXProportion中元素的比例。

如果要确保结果是“好”数字,可以添加完整性约束并使其成为整数线性程序。例如,如果你想允许权重达到小数点后第一位,你可以用w_X替换权重0.1 * u_X并求解整数权重因子u_X。然后,你用w_X = 0.1 * u_X得到实际的重量。但是,我认为原始配方已经给你足够好的数字,其中大多数权重可能为零。此外,通过强加完整性约束,您可能会使问题变得不可行。因此,可能有必要使这些完整性约束变得柔和。您可以通过将优化目标更改为来完成此操作

f = (... what we had before...) + a * ((w_CRC - 0.1 * u_CRC)^2 + (w_pigIron - 0.1 * u_pigIron)^2 + ...)

在这里,你将添加整数变量u_X并使你的权重w_X接近所代表的权重。常量a表示您希望强制执行此约束的程度。

© www.soinside.com 2019 - 2024. All rights reserved.