主权项 |
一种混合人工鱼群算法优化支持向量回归的交通流预测方法,是采用粒子群算法改进人工鱼群算法,建立混合优化算法,减少人工鱼群算法中步长因子对算法的影响,并且引入混沌机制来初始化鱼群位置,来进行SVR的参数选择,建立了混沌粒子群鱼群混合优化SVR的交通流量预测模型;其特征在于以下步骤,(一)人工鱼群算法每条人工鱼个体代表D维空间中的一个点x<sub>i</sub>,人工鱼个体所在位置的适应度值为FS<sub>i</sub>;建立的交通流量预测模型致力于FS<sub>i</sub>最小化;两条人工鱼之间的距离为||x<sub>i-</sub>x<sub>j</sub>||,鱼群个数为n,视野为visual,步长为step,拥挤度因子为δ;每条人工鱼通过下述模拟鱼的觅食、聚群、追尾和随机行为,进行寻找最优适应度值来进行搜索优化过程;具体步骤如下:(1)觅食觅食行为是人工鱼趋向较优适应度值的基本行为,其计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mi>rand</mi><mn>1</mn><mo>·</mo><mi>step</mi><mo>·</mo><mfrac><mrow><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub></mrow><mrow><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>j</mi></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow></mfrac><mo>,</mo><msub><mi>FS</mi><mi>j</mi></msub><mo><</mo><msub><mi>FS</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000661536020000011.GIF" wi="1917" he="148" /></maths>x<sub>i+1</sub>=x<sub>i</sub>+rand2·step其中rand1和rand2分别代表随机变量区间[0,1]和[‑1,1],x<sub>i</sub>代表第i条人工鱼位置信息,FS<sub>j</sub>为x<sub>i</sub>在视野范围内随机移动到另一位置x<sub>j</sub>的适应度值;若按(1)反复尝试后,仍不满足前进条件,则按x<sub>i+1</sub>=x<sub>i</sub>+rand2·step随机移动一步;(2)聚群聚群行为是指人工鱼个体在游动过程中为了趋利避害,会自然的聚集成群向邻居中心移动;其计算公式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mi>rand</mi><mo>·</mo><mi>step</mi><mo>·</mo><mfrac><mrow><msub><mi>x</mi><mi>c</mi></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub></mrow><mrow><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>c</mi></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow></mfrac><mo>,</mo><msub><mi>FS</mi><mi>c</mi></msub><mo><</mo><msub><mi>FS</mi><mi>i</mi></msub><mi>and</mi><mfrac><msub><mi>n</mi><mi>s</mi></msub><mi>n</mi></mfrac><mo><</mo><mi>δ</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000661536020000021.GIF" wi="1931" he="148" /></maths>n<sub>s</sub>为当前视野范围内的邻居数目,x<sub>c</sub>代表所有邻居的聚集群体的中心位置;当x<sub>c</sub>的适应度值优于当前x<sub>i</sub>位置的适应度值,并且鱼群不太拥挤时候,x<sub>i</sub>就向中心位置移动;否则,执行(1)觅食行为;(3)追尾追尾行为是一种向着附近的有更优适应度值的人工鱼移动的行为;其计算公式为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><mi>rand</mi><mo>·</mo><mi>step</mi><mo>·</mo><mfrac><mrow><msub><mi>x</mi><mi>min</mi></msub><mo>-</mo><msub><mi>xi</mi><mi>j</mi></msub></mrow><mrow><mo>|</mo><mo>|</mo><msub><mi>x</mi><mi>min</mi></msub><mo>-</mo><msub><mi>x</mi><mi>i</mi></msub><mo>|</mo><mo>|</mo></mrow></mfrac><mo>,</mo><msub><mi>FS</mi><mi>min</mi></msub><mo><</mo><msub><mi>FS</mi><mi>i</mi></msub><mi>and</mi><mfrac><msub><mi>n</mi><mi>f</mi></msub><mi>n</mi></mfrac><mo><</mo><mi>δ</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000661536020000022.GIF" wi="1929" he="154" /></maths>n<sub>f</sub>为当前视野范围内的的邻居数目,x<sub>min</sub>代表视野范围内的最优适应度值的人工鱼所在位置。当x<sub>min</sub>的适应度值优于当前x<sub>i</sub>位置的适应度,并且鱼群不太拥挤时候,x<sub>i</sub>就向中心位置移动;否则,执行(1)觅食行为;(二)粒子群算法设解空间内的每个位置为一个粒子,每个粒子具有由被优化函数确定的适应度值,同时每个粒子按照公式(4)搜索规则和适应度方向对自身的速度及位置进行调整来求得最优解;粒子群算法的速度和位置更新公式为:v<sub>j+1</sub>=ω<sub>j</sub>·v<sub>j</sub>+c<sub>1</sub>·r<sub>1</sub>·(pbest<sub>j</sub>–x<sub>j</sub>)+c<sub>2</sub>·r<sub>2</sub>·(gbest<sub>j</sub>–x<sub>j</sub>) (4)x<sub>j+1</sub>=x<sub>j</sub>+v<sub>j+1</sub>其中v<sub>j</sub>为粒子当前速度,ω<sub>j</sub>为速度惯性权重,c<sub>1</sub>和c<sub>2</sub>为加速系数,x<sub>j</sub>为第j个粒子的位置,pbest<sub>j</sub>代表粒子当前自身最优位置,gbest<sub>j</sub>为粒子当前全局最优位置;(三)使用粒子群算法公式来优化人工鱼群算法人工鱼群算法中的鱼的觅食、聚群和追尾行为的公式(1)、(2)和(3)就转换为如下公式:x<sub>i+1</sub>=x<sub>i</sub>+c<sub>1</sub>·r<sub>1</sub>·(x<sub>j</sub>–x<sub>j</sub>)+c<sub>2</sub>·r<sub>2</sub>·(x<sub>best</sub>–x<sub>j</sub>),FS<sub>j</sub><FS<sub>i</sub> (5)x<sub>i+1</sub>=x<sub>i</sub>+r<sub>3</sub>·step<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><mo>·</mo><msub><mi>r</mi><mn>1</mn></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>c</mi></msub><mo>-</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mo>.</mo><msub><mi>r</mi><mn>2</mn></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>best</mi></msub><mo>-</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>FS</mi><mi>c</mi></msub><mo><</mo><msub><mi>FS</mi><mi>i</mi></msub><mi>and</mi><mfrac><msub><mi>n</mi><mi>s</mi></msub><mi>n</mi></mfrac><mo><</mo><mi>δ</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000661536020000031.GIF" wi="1864" he="124" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>x</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mi>x</mi><mi>i</mi></msub><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><mo>·</mo><msub><mi>r</mi><mn>1</mn></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>min</mi></msub><mo>-</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><mo>.</mo><msub><mi>r</mi><mn>2</mn></msub><mo>·</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>best</mi></msub><mo>-</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>FS</mi><mi>min</mi></msub><mo><</mo><msub><mi>FS</mi><mi>i</mi></msub><mi>and</mi><mfrac><msub><mi>n</mi><mi>f</mi></msub><mi>n</mi></mfrac><mo><</mo><mi>δ</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000661536020000032.GIF" wi="1866" he="122" /></maths>人工鱼群算法中的人工鱼个体像粒子群算法中的粒子一样,只依赖于visual因子而不依赖于step因子进行游动行为的选择,寻求最优解。 |