我的熔化材料应达到要求的性能。 将有2套材料 1)报废 2)铁合金 目标:以最小的成本实现每个元素的目标值 对于前混合1000公斤后,我们要实现以下特性 碳-2.4% 硅-2.1% p-0.015% S-0.015%
现在,从给定的材料集中,我们定义了可以得到多少的价值 就像从CRC(是废钢)中获得1.1%的碳,从渗碳剂(铁合金)中获得78%的碳。 这意味着,如果我们使用100公斤的冷轧卷,可以得到1.1碳,但是如果使用5公斤的渗碳剂,则可以得到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实际混合时的克数。 因此,我们需要找到最低的成本,为此,应该使用多少公斤哪种材料?这是一个要素的示例,但我们应该实现所有目标要素。
输入数据: 报废材料及其成本的元素价值
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
锰铁含量%-0 S%-20 P%-15成本:500 / kg
铜cu%-98成本:1500 / kg
必需值已在上面定义。现在,我们需要找到1000千克废料的混合物,并实现铁合金的物有所值的优化使用。
有没有针对这种问题的算法? 或有什么方法可以帮助我找到租赁费用?
谢谢。
答案 0 :(得分:0)
所有这些都可以说成是线性程序。一旦有了这个,就可以将其插入您喜欢的求解器中,并在可行的情况下获得解决方案。
您要最小化的优化目标是总成本:
class MyAppBar extends PreferredSize {
MyAppBar({Key key, Widget title}) : super(
key: key,
preferredSize: Size.fromHeight(50),
child: AppBar(
title: title,
// maybe other AppBar properties
),
);
}
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
表示您要强制执行此约束的程度。