本发明涉及炼焦配煤,具体地,涉及一种基于粒子群算法的钢铁企业用煤分配方法及系统。
背景技术:
1、目前炼铁炼钢领域,单种煤已无法满足生产的要求,需要合理使用配合煤来提高经济性以及实用性。因此如何配煤成为了重中之重,由于煤细化品种过多,一般会根据性状等维度去整体去配煤,当然也会有使用模型,机器学习,深度学习等方法对整个问题进行优化。
2、申请号为cn116307245a的中国专利,公开了一种“一种自动配煤方法及系统”,利用神经网络模型对配煤质量指标进行预测,并通过对神经网络模型进行算法优化能对配煤过程中的非线性数据和线性数据等综合指标均进行预测;根据配煤质量预测值构建配煤优化模型,将配煤问题集成至约束模型内,结合成本、质量等因素,以经济性和最佳配比需求优化煤的配置。但是该方法使用神经网络会造成变量固定,如果新增煤种的话就需要重新构建新的神经网络训练。并且也会在煤种过多,约束条件过多时出现没有可行解的情况,如果出现该种情况将会很难排查出并修改出现问题的约束条件,耗时巨大,适用场景有限。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种基于粒子群算法的钢铁企业用煤分配方法及系统。
2、根据本发明提供的一种基于粒子群算法的钢铁企业用煤分配方法,包括:
3、步骤s1:配置模型所需的参数信息;
4、步骤s2:检验模型约束条件;
5、步骤s3:修改约束条件重新检验;
6、步骤s4:使用粒子群算法输出方案结果。
7、优选地,在所述步骤s1中:
8、配置业务指标包括年度控煤指标、铁水产量和发电量;
9、配置技术指标包括成焦率、煤电比和发电煤耗;
10、配置上下限信息包括每个煤种的价格信息、煤质信息、比例上下限、维度比例上下限以及配合煤煤质;
11、根据数据类型分为年度以及月度两种数据维度,进行分开管理,将每次配置的信息进行保留,供使用者使用或编辑修改。
12、优选地,在所述步骤s2中:
13、模型根据已配置好的信息判定是否存在可行域:
14、步骤s2.1:对模型使用煤种进行动态标记,每次使用的煤种类有所区别,模型根据品种大类、性状和来源对使用的煤种进行唯一动态标记;
15、步骤s2.2:使用动态标记构建煤种对应的动态参数,包括价格、煤质、资源量、比例上下限;
16、步骤s2.3:构建约束系数矩阵并对约束条件进行管理,将约束条件转换成系数矩阵或计算公式,构建约束条件管理dataframe,在构建约束矩阵的过程中将每个约束条件的信息进行收集;
17、步骤s2.4:模型可行域的检验,配置等式约束的约束矩阵、不等式的约束矩阵和目标的系数矩阵,检验是否存在可行域,约束条件是否合理;
18、根据约束条件的重要程度进行排序,基于python的cvxpy库设计验证函数,对整体验证是否存在可行域,在不存在可行域的情况下,从第一个约束条件开始进行循环验证,并找出所有冲突的约束条件。
19、优选地,在所述步骤s3中:
20、设计检验函数:def judge_solution_exist(e1,f1);
21、判断当前总体约束是否合理success=judge_solution_exist(e1=y,f1=m);
22、如不属于预设合理标准,从y0第一个不等式约束左边,m0第一个不等式约束右边,开始循环持续拼接新的y和m带入进检验函数;
23、模型返回不合理的约束条件及对应前端坐标展示后,修改后重新验证约束条件是否合理;
24、不合理的约束条件包括:各品种煤的资源量以及生产目标之间是否存在冲突,各种煤分配百分比上下限,性状来源维度的百分比上下限,以及最终配合煤煤质上下限是否存在冲突;如果存在冲突不存在最优解,此时为约束条件不合理,需要修改约束条件。
25、优选地,在所述步骤s4中:
26、模型根据已配置好的信息在可行域内构建初始粒子位置信息,使用粒子群算法将多组方案结果输出:设计多种构建初始粒子函数def build_chushi,构建初始位置,并随机选取本次初始粒子位置;首次迭代时选取当前粒子中的最优粒子作为全局最优位置,每个粒子此时历史最优位置是本身,整体向全局最优位置移动,移动后判断粒子所在位置是否超过边界,是否不满足当前约束,进行调整,重新对所有粒子的所有满足条件的历史位置进行判断找到新的全局最优位置;之后每次迭代,根据当前粒子的历史最优位置以及全局历史最优位置进行加权调整方向持续迭代寻找最优位置;
27、步骤s4.1:构建粒子群的初始位置,在可行域内构建预设数量的粒子;
28、步骤s4.2:构建粒子群维度,根据是否存在等式约束,降低粒子群维度;
29、步骤s4.3:构建粒子群其他参数,包括边界、粒子最大速度、惯性因子和学习因子;
30、步骤s4.4:使用粒子群算法输出优化方案,通过对粒子群算法进行迭代,输出每个粒子的最优位置,对其对应结果进行排序后,输出方案;
31、每个粒子根据历史最优点以及全局粒子的最优点进行改变运动方向,在接触到边界或不满足约束条件时限制移动,在找到最优解或达到最大迭代次数时停止,输出此时的全局所有粒子的最优解。
32、根据本发明提供的一种基于粒子群算法的钢铁企业用煤分配系统,包括:
33、模块m1:配置模型所需的参数信息;
34、模块m2:检验模型约束条件;
35、模块m3:修改约束条件重新检验;
36、模块m4:使用粒子群算法输出方案结果。
37、优选地,在所述模块m1中:
38、配置业务指标包括年度控煤指标、铁水产量和发电量;
39、配置技术指标包括成焦率、煤电比和发电煤耗;
40、配置上下限信息包括每个煤种的价格信息、煤质信息、比例上下限、维度比例上下限以及配合煤煤质;
41、根据数据类型分为年度以及月度两种数据维度,进行分开管理,将每次配置的信息进行保留,供使用者使用或编辑修改。
42、优选地,在所述模块m2中:
43、模型根据已配置好的信息判定是否存在可行域:
44、模块m2.1:对模型使用煤种进行动态标记,每次使用的煤种类有所区别,模型根据品种大类、性状和来源对使用的煤种进行唯一动态标记;
45、模块m2.2:使用动态标记构建煤种对应的动态参数,包括价格、煤质、资源量、比例上下限;
46、模块m2.3:构建约束系数矩阵并对约束条件进行管理,将约束条件转换成系数矩阵或计算公式,构建约束条件管理dataframe,在构建约束矩阵的过程中将每个约束条件的信息进行收集;
47、模块m2.4:模型可行域的检验,配置等式约束的约束矩阵、不等式的约束矩阵和目标的系数矩阵,检验是否存在可行域,约束条件是否合理;
48、根据约束条件的重要程度进行排序,基于python的cvxpy库设计验证函数,对整体验证是否存在可行域,在不存在可行域的情况下,从第一个约束条件开始进行循环验证,并找出所有冲突的约束条件。
49、优选地,在所述模块m3中:
50、设计检验函数:def judge_solution_exist(e1,f1);
51、判断当前总体约束是否合理success=judge_solution_exist(e1=y,f1=m);
52、模型返回不合理的约束条件及对应前端坐标展示后,修改后重新验证约束条件是否合理;
53、不合理的约束条件包括:各品种煤的资源量以及生产目标之间是否存在冲突,各种煤分配百分比上下限,性状来源维度的百分比上下限,以及最终配合煤煤质上下限是否存在冲突;如果存在冲突不存在最优解,此时为约束条件不合理,需要修改约束条件。
54、优选地,在所述模块m4中:
55、模型根据已配置好的信息在可行域内构建初始粒子位置信息,使用粒子群算法将多组方案结果输出:设计多种构建初始粒子函数def build_chushi,构建初始位置,并随机选取本次初始粒子位置;首次迭代时选取当前粒子中的最优粒子作为全局最优位置,每个粒子此时历史最优位置是本身,整体向全局最优位置移动,移动后判断粒子所在位置是否超过边界,是否不满足当前约束,进行调整,重新对所有粒子的所有满足条件的历史位置进行判断找到新的全局最优位置;之后每次迭代,根据当前粒子的历史最优位置以及全局历史最优位置进行加权调整方向持续迭代寻找最优位置;
56、模块m4.1:构建粒子群的初始位置,在可行域内构建预设数量的粒子;
57、模块m4.2:构建粒子群维度,根据是否存在等式约束,降低粒子群维度;
58、模块m4.3:构建粒子群其他参数,包括边界、粒子最大速度、惯性因子和学习因子;
59、模块m4.4:使用粒子群算法输出优化方案,通过对粒子群算法进行迭代,输出每个粒子的最优位置,对其对应结果进行排序后,输出方案;
60、每个粒子根据历史最优点以及全局粒子的最优点进行改变运动方向,在接触到边界或不满足约束条件时限制移动,在找到最优解或达到最大迭代次数时停止,输出此时的全局所有粒子的最优解。
61、与现有技术相比,本发明具有如下的有益效果:
62、1、本发明通过采用粒子群算法,在解决高维度的优化问题的同时,也可以输出多组备选方案,方便进行比较,并且在这种高纬度优化问题,由于维度高,约束条件很多,很容易会出现不存在可行解的情况,通常需要实验很多次才能找到有冲突的约束条件,本模型提供了约束条件检验功能,可以方便定位到需要修改的约束条件,为解决类似高纬度的优化问题提供了解决方法;
63、2、单种煤使用无法满足炼焦、喷吹、发电、烧结的使用,如炼焦很难满足高炉对焦炭质量的要求,而且各国煤炭资源无法满足单种煤的需求,本发明使用配煤可以满足使用要求,又可合理利用煤炭资源,同时可增加产品的质量;使用配煤也可防止如炭化室中煤料结焦过程中产生的侧膨胀压力超过炉墙极限负荷,避免推焦困难等情况的发生,使用合理配煤可以降低配煤成本,从而实现低成本炼铁。
1.一种基于粒子群算法的钢铁企业用煤分配方法,其特征在于,包括:
2.根据权利要求1所述的基于粒子群算法的钢铁企业用煤分配方法,其特征在于,在所述步骤s1中:
3.根据权利要求1所述的基于粒子群算法的钢铁企业用煤分配方法,其特征在于,在所述步骤s2中:
4.根据权利要求1所述的基于粒子群算法的钢铁企业用煤分配方法,其特征在于,在所述步骤s3中:
5.根据权利要求1所述的基于粒子群算法的钢铁企业用煤分配方法,其特征在于,在所述步骤s4中:
6.一种基于粒子群算法的钢铁企业用煤分配系统,其特征在于,包括:
7.根据权利要求6所述的基于粒子群算法的钢铁企业用煤分配系统,其特征在于,在所述模块m1中:
8.根据权利要求6所述的基于粒子群算法的钢铁企业用煤分配系统,其特征在于,在所述模块m2中:
9.根据权利要求6所述的基于粒子群算法的钢铁企业用煤分配系统,其特征在于,在所述模块m3中:
10.根据权利要求6所述的基于粒子群算法的钢铁企业用煤分配系统,其特征在于,在所述模块m4中: