基于BP神经网络和遗传算法的高炉多目标优化控制算法的制作方法

文档序号:11915582阅读:来源:国知局

技术特征:

1.一种基于BP神经网络和遗传算法的高炉多目标优化控制算法,其特征在于,步骤如下:

步骤一:选取模型的输入输出变量,根据工厂的具体要求和生产过程的实际情况确定需要优化的目标函数和能够操作的控制变量;

步骤二:建立、初始化、训练BP神经网络,通过学习使其具有输入输出的映射规则;

步骤三:建立NSGA-II多目标优化算法,种群初始化后,通过选择、变异、交叉操作计算适应度函数;

步骤四:将BP神经网络的输出作为NSGA-II遗传算法的适应度函数,寻找Pareto最优和对应的输入变量的值。

2.根据权利要求1所述的方法,其特征在于,步骤一所述的模型的参数的选取方法如下:

选择七个变量:鼓风动能、热风压力、热风温度、冷风流量、全塔压差、富氧率和煤比,作为模型的输入参数;

选择焦比、硫含量和CO2排放量为优化目标。

3.根据权利要求1所述的方法,其特征在于,步骤二所述的建立、初始化、训练BP神经网络步骤如下:

①初始化神经网络:根据输入输出的变量,需要预先设置输入层、隐层和输出层的节点数、学习率和激活函数,此外,还需要设定层间的权值和层内的阈值;

②隐层计算:根据以下方程计算隐层输出H,其中f是激活函数,

<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mi>j</mi> </msub> <mo>=</mo> <mi>f</mi> <mrow> <mo>(</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <msub> <mi>&omega;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>a</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mi>l</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>2</mn> <mrow> <mn>1</mn> <mo>+</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mn>2</mn> <mi>x</mi> </mrow> </msup> </mrow> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.1</mn> <mo>)</mo> </mrow> </mrow>

式中ωij是输入层和隐层的连接权值,而a是隐层的阈值;

③输出层计算:根据BP神经网络的输出H、权值ωjk和阈值b计算预测值Ok

<mrow> <msub> <mi>O</mi> <mi>k</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>l</mi> </munderover> <msub> <mi>H</mi> <mi>j</mi> </msub> <msub> <mi>&omega;</mi> <mrow> <mi>j</mi> <mi>k</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>b</mi> <mi>k</mi> </msub> <mo>,</mo> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mi>m</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.2</mn> <mo>)</mo> </mrow> </mrow>

④误差计算:根据实际值和神经网络的预测值计算误差,

ek=Yk-Ok,k=1,...m (1.3)

⑤权值更新:更新输入层和隐层的权值ωij、隐层和输出层的权值ωjk

<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&omega;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>&omega;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&eta;H</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>H</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mi>x</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>&omega;</mi> <mrow> <mi>j</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>e</mi> <mi>k</mi> </msub> <mo>,</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>n</mi> <mo>;</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&omega;</mi> <mrow> <mi>j</mi> <mi>k</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>&omega;</mi> <mrow> <mi>j</mi> <mi>k</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&eta;H</mi> <mi>j</mi> </msub> <msub> <mi>e</mi> <mi>k</mi> </msub> <mo>,</mo> <mrow> <mo>(</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mi>l</mi> <mo>;</mo> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mi>m</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.4</mn> <mo>)</mo> </mrow> </mrow>

⑥阈值更新:更新隐层的阈值a、输出层的阈值b,

<mrow> <mtable> <mtr> <mtd> <mrow> <msub> <mi>a</mi> <mi>j</mi> </msub> <mo>=</mo> <msub> <mi>a</mi> <mi>j</mi> </msub> <mo>+</mo> <msub> <mi>&eta;H</mi> <mi>j</mi> </msub> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msub> <mi>H</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <msub> <mi>&omega;</mi> <mrow> <mi>j</mi> <mi>k</mi> </mrow> </msub> <msub> <mi>e</mi> <mi>k</mi> </msub> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mi>l</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>b</mi> <mi>k</mi> </msub> <mo>=</mo> <msub> <mi>b</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>e</mi> <mi>k</mi> </msub> <mo>,</mo> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>...</mn> <mi>m</mi> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.5</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

4.根据权利要求1所述的方法,其特征在于,步骤三所述的NSGA-II遗传算法的具体算法步骤如下:

①初始化:在遗传算法中,不同的数据类型都可以用二进制数来表示,一组数据就是一条染色体,而包含染色体的解空间被称作种群,种群的大小在一开始就被给定;

②选择:自然界中染色体会通过选择一代代传下去,NSGA-II算法中通过快速非劣排序方法和拥挤距离算子选出数据中占优势的解并组成新的解集,进行下一步的计算;

③操作:通过选择操作筛选出优秀的子空间,还需经过交叉和变异等操作进一步计算;其中交叉是操作中的核心步骤,通过交叉操作可以最大程度继承父辈的主要特性,中间种群y=(y1,...yn)中的解yk能够通过DE交叉运算从父辈中的x1,x2,x3得到,

<mrow> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>+</mo> <mi>F</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>p</mi> <mi>c</mi> </msub> <mo>&lt;</mo> <mi>C</mi> <mi>R</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>p</mi> <mi>c</mi> </msub> <mo>&gt;</mo> <mi>C</mi> <mi>R</mi> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

式中F和CR是控制参数;

此外,新的种群通过指数变异算子得到,

<mrow> <mover> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>-</mo> </mover> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>&sigma;</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>b</mi> <mi>k</mi> </msub> <mo>-</mo> <msub> <mi>a</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>p</mi> <mi>m</mi> </msub> <mo>&lt;</mo> <mi>a</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>,</mo> <mi>a</mi> <mo>&lt;</mo> <msub> <mi>p</mi> <mi>m</mi> </msub> <mo>&lt;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>,</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msub> <mi>&sigma;</mi> <mi>k</mi> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msup> <mrow> <mo>(</mo> <mn>2</mn> <mo>&times;</mo> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <mo>)</mo> </mrow> <mfrac> <mn>1</mn> <mrow> <mi>&beta;</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </msup> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <mo>&lt;</mo> <mn>0.5</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>-</mo> <mn>2</mn> <msup> <mrow> <mo>(</mo> <mn>2</mn> <mo>&times;</mo> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <mo>)</mo> </mrow> <mfrac> <mn>1</mn> <mrow> <mi>&beta;</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </msup> <mo>,</mo> <mi>r</mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <mo>&gt;</mo> <mn>0.5</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>,</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

式中rand表示一个0到1之间的随机数,β表示分布指数,pm是变异率,ak、bk是优化变量值的下限和上线。

5.根据权利要求1所述的方法,其特征在于,所述的步骤四中:

BP神经网络学习得到输入输出的映射关系,输出作为NSGA-II遗传算法的适应度值,遗传算法找出目标的Pareto最优,和对应的输入变量的值,从而得到目标变量铁水硫含量、二氧化碳排放量和焦比的最小值,还有在目标最小值下对应的输入变量鼓风动能、热风压力、热风温度、冷风流量、全塔压差、富氧率和煤比的数值。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1