第4l卷第6期 2 0 1 0年3月 人 民 长 江
Yangtze River Vo1.41.No.6 Mar., 2010
文章编号:1001—4179(2010)06—0011—04
基于改进蚁群算法的渡槽结构优化设计
周 娟 ,蒋 莉 ,刘宪亮2,白新理 (1.华北水利水电学院土木交通学院,河南郑州I 450011;2.黄河水利职业技术学院,河南开封475001) 摘要:渡槽结构优化设计属于混合离散变量优化问题,针对利用一般连续变量方法进行离散变量优化设计的 不足,对基本蚁群优化算法进行了改进:引入蚁群更新、沿途搜索等策略,在搜索过程中对设计变量进行工程 化处理,蚂蚁按处理后的变量进行离散搜索。开发了基于改进的蚁群优化算法的混合离散变量渡槽优化设计 的程序。实例研究表明,该算法对优化设计问题的特性无特殊要求,而且程序运行可靠,全局收敛能力强。 关键词:改进蚁群算法;混合离散变量;优化设计;渡槽 中图法分类号:TV672.3 文献标志码:A
一般的优化设计方法只能求得连续变量的最优 解,而实际上工程中经常遇到的是部分或全部设计变 量只能取限定数值的混合设计变量问题,亦即在优化 设计模型中同时存在连续设计变量、整型设计变量和 离散设计变量。如在本文渡槽结构优化设计问题中, 钢筋的根数为整型设计变量;当渡槽几何尺寸以米为 单位,而实际值要求精确到厘米时,这些变量为等问距 (0.01 m)的离散变量,若无精度要求时,可按连续变 量处理。 对于上述混合离散变量优化设计问题,工程中常 用的方法是将全部设计变量都按连续变量处理,用非 线性规划技术求解后,再按照某种规定将优化结果归 入标准系列尺寸,即圆整到邻近的离散值或整数值 上¨J。目前除了圆整法以外,常用的方法还有:拟离 散法、离散惩罚函数法、离散复合形法、整数梯度法、分 支定界法、非线性隐枚举法等。通常,这些算法对优化 设计问题的依赖性强,即某种算法只对具有某些特性 的数学模型可能有效,而对另一类优化问题可能不适 应甚至无效。而且,有些算法通常无法摆脱局部最优 解,即得到全局最优解的能力差。 蚁群算法(Ant Colony Algorithm,简称ACA)在20 世纪90年代由意大利学者M.Dorigo等人从生物进 化的机理中受到启发,模拟自然界中蚁群的觅食行为 而提出的用以解决优化问题的一种新型模拟进化算 法 J。蚁群算法最早成功应用于解决著名的旅行商 (Traveling salesman problem,简称TSP)问题,取得了很 好的结果。随后,蚁群算法被用来求解job—shop调度 问题、指派问题、序列求序等问题,显示出在求解复杂 优化问题(特别是离散优化问题)方面的优越性,被证 明是一种具有广阔发展前景的好方法。为了解决渡槽 结构优化设计问题,本文在蚁群算法基本原理的基础 上,对蚁群算法进行了改进。
1 混合离散变量优化设计的数学模型 混合离散变量优化设计数学模型的建立,同一般 的优化设计方法完全一样,其一般问题的数学表达式 为: min ]X∈E
.t. g [X]≤0 J:1,2,…,r X:r X。X ] X。=[ 1, 2,…, ] ∈E X。==Ixq+l, q+2,…, ] ∈E E =E。X E。={(E。・E );X。∈E。,X。∈E。} (1) 式中, ]为目标函数;gi Ex]为第 个约束函数,q为
收稿日期:2010—01—30 基金项目:华北水利水电学院青年科研基金(HSQJ2008004) 作者简介:周娟,女,讲师,硕士,主要从事结构优化设计研究。E—mail:zhoujuanqtt@126.corn 12 人 民 长 江 离散变量的个数;凡为设计变量的个数;r为约束函数 的个数;E 为离散子空间;E 为连续子空间。当 为 空集时,X=X。,为全连续问题;当 为空集时,X:
,为全离散问题;若两者均为非空集时,为混合型问 题。
2蚁群算法的基本原理 M.Dorigo等人充分利用蚁群搜索食物的过程与 著名的旅行商问题(TSP)之间的相似性,提出了蚁群 算法,用人工蚂蚁模拟自然蚂蚁,通过模拟蚂蚁搜索食 物的过程以求解复杂的组合优化问题 。 TSP问题可描述为:给定/2个城市,找一条穿过各 城市一次且仅一次的最短闭合路线。为便于讨论,引 入以下记号:,v为一n维向量,其元素为n个城市的 编号;m为蚂蚁总数;d 为城市i, 之间的距离;(i, )为从城市i到城市 的连线,称为边;r 为t时刻边 (i,J.)上信息素浓度。 蚁群算法定义了时间步和算法循环:m只蚂蚁同 时完成1步(从一个城市到达另外一个城市)时,时间 步自动加1;m只蚂蚁完成对所有n个城市的访问后, 蚁群算法完成1个循环。 初始时刻,将m只蚂蚁随机放人n个城市中。设
=C(C为常数)。蚂蚁k(k=1,2,……,m)在运动过 程中,根据 ( )与叩 (t)决定其下一步运动方向,其 中77 (t)为城市i, 的能见度(visibility),一般取r/ (t) =1/d 在t时刻,蚂蚁k由城市i转移到城市 的概率 P (t)为:
P :f ( =。zz。 ed ) P =={∑ 。 。 :(£)叼 (f) 【0 。therWise (2) 式中,allowed 为当前蚂蚁|i}可以选择向其移动的城 市编号,allowed ={N—tabu },其中tabu 为动态向 量,记录到当前为止蚂蚁k已经访问过的城市的编号; Ol表示残留信息的相对重要程度; 为期望值的相对 重要程度。 在蚁群完成1个循环后,按下式对每条边上的信 息素浓度进行更新: 丁 ( +1):(1一J9)r (t)+ar , (3) 式中,P∈(o,1)为蒸发因子,表示信息素浓度tr (t) 随时问推移而衰减的程度;At 为蚁群的信息素增量, /tr 表示为:
Ar =∑Ar (4)
式中,△7. 为蚂蚁幻芏本次循环中在城市i和J.之问留下 的信息素,△丁 可表示为
△f :』 Lk 若蚂蚁 经过城市 和 之问(5) L0 其他 式中,Q为常量; 为蚂蚁k在本次循环中所走过路径 的总长度。在蚁群算法中,常数Q及参数 , ,P的最 佳组合可由实验确定 。
3蚁群算法的改进与程序设计 从蚁群算法的基本原理可知,蚁群通过信息素的 交换协同工作,只要蚂蚁的个数足够多,群体搜索次数 足够大,就可以收敛到全局最优点。但由于虚拟蚁群 的蚂蚁个数有限,且随机生成的初始蚁群在设计空间 的分布规律难以控制,因此收敛到局部最优点的概率 较大。为此,对蚁群算法做了如下改进 。 3.1蚁群更新策略 每隔r轮搜索后检测虚拟蚁群是否收敛到局部最 优点,具体方法是,判断下式是否成立:
r r_厂Ⅲ 一 i 1 ,1 ( =0}U{ … } 【
∈(0.Ol,0.05)J
(6) 式中, 。 表示蚁群目标函数均值 i 为蚁群最优蚂 蚁目标函数值;r可取10~15;t 。 为当前搜索次数。 如果成立,则表示蚁群有过早收敛倾向,此时保留 蚁群中最优蚂蚁,其余蚂蚁重新生成;如果不成立,则 继续搜索。 3.2蚂蚁沿途搜索策略 蚁群中的蚂蚁以概率P 从其所处位置i跳至位置
. ,由于在位置 的附近可能有新的食物,在跳转的途中 也可能发现新的食物源,故提出改进措施:随机生成 (0,1)之间的随机数P ,若P ≤P¨则蚂蚁i从其所处 位置 跳至位置 的领域,并做领域搜索;若P >P ,则 蚂蚁i从位置i至位置. 做沿途搜索。具体方法是把蚂 蚁i和蚂蚁 的空间坐标编码做交叉处理,生成新的子 蚂蚁,如果子蚂蚁的目标函数值较优,则子蚂蚁取代父 蚂蚁i,否则蚂蚁i保留在原位置不动。交叉处理的方 法与遗传算法中的染色交叉操作相同。
3.3设计变量的工程化处理 为了使改进后的蚁群算法适合求解混合离散变量 优化设计问题,给每个设计变量定义一个数据类型标 示码,其中:0表示连续变量,1表示整形变量,2表示 离散变量。类似于遗传算法中的染色体表示方法,蚂 第6期 周 娟,等:基于改进蚁群算法的渡槽结构优化设计 13 蚁所在点的设计向量为十进制实数表示的编码。在蚁 群算法的搜索过程中,蚂蚁位置按工程化处理后的设 计向量进行离散搜索。设计变量的工程化处理方法参 见文献[5]。 3.4算法流程 混合离散变量优化设计的蚁群算法程序的伪代码 流程为: (1)蚁群算法控制常数的初始化,如蚂蚁个数m, 最大搜索次数t…等; (2)生成初始蚁群; (3)蚁群蚂蚁信息素赋初值; (4)蚁群中每个蚂蚁做邻域离散搜索; (5)蚁群中每个蚂蚁按(2)式以转移概率P 做跳 转操作,或作沿途离散搜索; (6)蚁群按(3)式进行群体信息素更新; (7)判断蚁群是否满足(6)式,若满足,则在最优 蚂蚁保护的原则下进行蚁群更新,转第(3)步,否则转 第(8)步; (8)判断是否完成既定最大搜索次数,是则输出 最优搜索结果,否则转第(4)步。 4应用实例 某供水改造工程中的预应力u形渡槽设计过流 量p=90 m /s,坡降i=0.001,糙率n=0.015。原 方案采用的是C40混凝土,本文优化方案选用C50混 凝土,预应力钢筋采用7 5( 15)钢绞线,普通钢筋采 用热轧Ⅱ级钢筋。优化设计时考虑到施工等方面的要 求,限制壁厚 :不小于20 em。 4.1 优化设计的物理模型和设计变量 预应力u形渡槽优化设计的物理模型见图1。 图1优化设计物理模型 预应力u形渡槽优化设计中共有12个设计变 量:其中 ~ 确定了渡槽的几何尺寸和结构形状, 单位以m计,按等间距(0.O1 m)离散变量处理; 表 示槽底每束纵向预应力钢筋的根数,为整型设计变量 (0,1,2,3…);X 表示槽底纵向预应力钢筋的束数,为 整型变量(0,1,2,3…),优化过程中 分为奇数和偶 数两种情况; ,表示槽底每2束预应力钢筋问的夹 角,以确定预应力钢筋的位置,按等间距(1。)离散变 量处理; 表示槽顶每束纵向预应力钢筋的根数,为 整型变量(0,1,2,3…); 。表示每束横向预应力筋的 根数,为整型变量(0,1,2,3…); 。。表示纵向底部普 通钢筋的根数; 表示纵向顶部普通钢筋的根数;X。: 表示环向普通钢筋的直径(事先确定间距) j。 4.2 目标函数 结构优化过程中,以工程造价为优化目标,目标函 数为: _厂( )=C +c +c (7) 式中,c 、 分别为混凝土的单价(元/m )和体积 (m );C 、 分别为预应力钢筋的单价( t)和重量 (t);C 分别为普通钢筋的单价( t)和重量(t)。 4.3约束条件 为了保证结构的安全性、合理性、使用性及施工要 求,预应力u形渡槽的约束条件主要从以下几方面考 虑:保证结构几何关系协调一致;保证满足钢筋配置及 预应力张拉的施工要求;保证结构的使用性即过流能 力;槽身的纵向和横向均按照抗裂设计进行控制,并且 检验结构的承载能力和挠度。 将上述各约束条件进行变换整理后,可以得到 (1)式需要的约束函数gj( )≤0,共计54个。 4.4优化结果及分析 蚁群规模取100,最大搜索次数取300,其他参数 取值为:Ot=0.9,JB=1,P=0.7,Q=1。连续运行10 次,均能稳定地收敛到同一最优解。优化方案的设计 结果与原方案的设计结果见表1和表2。 表1设计变量( ,)值