受自然界中真实蚁群集体行为的启发,意大利学者Dorigo于1991年首次系统地提出了一种基于蚂蚁种群的新型优化算法——蚁群算法(ACO),是一种模拟蚂蚁觅食行为的仿生算法。
图1图2
二、蚁群算法优缺点
1、蚁群算法的优点
(1)蚁群算法的基本思想是一种随机的通用试探法的信息正反馈机制能迅速找到好的解决方法;分布式计算可以避免过早地收敛;强启发能在早期的寻优中迅速找到合适的解决方案,该算法已经被成功地运用于许多能被表达为在图表上寻找最佳路径的问题。
(2)较强的鲁棒性:对蚁群算法模型稍加修改,就可以应用于其他问题。
(3)分布式计算:蚁群算法是一种基于种群的进化算法,具有并行性,易于并行实现。
(4)易于与其他方法结合,很容易与多种启发式算法结合,以改善算法的性能。
2、蚁群算法的缺陷
三、基本蚁群算法描述
以TSP(旅行售货商)问题为模型,利用蚁群算法寻求最短路径。TSP问题是给定一个城市的集合以及城市之间的旅行代价(距离),寻找经过每个城市一次且仅一次而最终回到起始城市旅行代价最小的路径。
(1)初始化数据
将迭代次数、蚂蚁数量、城市数量、城市坐标、最佳结果的路径、初始环境信息素等数据进行初始化。
(2)蚂蚁搜寻路径
初始化蚂蚁走过的路径、出发城市、未走过的城市以及走过的城市数量等数据,计算两两城市间距离,在遍历所有城市之前,按照与信息素成正比、与距离成反比的概率,以轮盘赌的实际选择方式得到要去的下一城市,更新蚂蚁走过的路径、当前所在城市、未走过的城市以及走过的城市数量等数据,遍历所有城市后,计算蚂蚁走过的路径长度。
(3)保存最优蚂蚁
让所有的蚂蚁都进行搜索路径操作,把所有的蚂蚁搜寻的路径长度进行比较,保存最优蚂蚁,得出全局最佳路径、最短路径长度等信息。
(4)更新信息素
所有蚂蚁本次遍历以后,对每条路径上的信息素进行更新,蚂蚁经过的路径上会新增一些信息素,将这些新增的信息素与残留的信息素(原有信息素*残留系数)相加,作为路径上的当前信息素,供下次迭代中使用。
将上述过程进行多次迭代,得到最终结果。
四、蚁群算法电子商务应用领域综述
(一)物流配送路径优化
物流配送路径优化问题和TSP问题相比有共同点——都是寻找遍历所有客户点的最短路径的问题,也有其特性——有更多更复杂的约束条件和优化目标。
(二)电子商务流程优化
企业需要多类服务(有序的),每一类服务都可以由很多的企业提供,当然,这些企业提供服务的质量是有差异的。在这样一个有序的商业服务的供应链上,企业究竟选择哪些企业作为服务提供商,形成一条服务供应链,关键是看这些企业组合起来是否能够提供最好的服务质量(QOS)。
把企业和每一类服务浓缩为一个节点,节点之间有很多不同的路径,代表能提供该服务的不同的候选企业,而每条路径的权值,用对应的具体候选企业的QOS指标。因为QOS指标可能是多维的,因此,首先是把每一层的路径(每一个候选企业)的QOS多个具体指标归一化,得到一个一维值,作为该条路径的权值,这样就把问题转为了类似路径最优的问题。
根据蚁群算法的思想,蚂蚁的起点都是企业节点。一次循环遍历完成后,记录下所有蚂蚁本次循环的路由,并作判断,看哪些路由的QOS总和不超过用户建模时的设定最大值(满足用户的需求),记录下所有满足条件的路由。ACO多次循环完成后,将所有满足条件的路由进行QOS归一化换算,根据换算结果进行冒泡排序,从而确定路由方案的推荐顺序,实现电子商务流程链模型的优化。
(二)客户分类
”客户”,在全球网际卖方竞争中.已升级为如今买方市场激烈竞争下企业兴衰成败的关键。许多商业调查和行业分析家证实客户的满意度和忠诚度将直接影响企业的销售和成本。
通过蚁群算法的聚类处理,来完成对客户的分类。其主要思想是:在基于蚁群算法的聚类分析中,把“数据”视为具有不同属性的“人工蚂蚁“,把“聚类中心”看作是这些蚂蚁所要寻找的“食物源”,而把数据聚类过程,看作是人工蚂蚁寻找食物源的过程。显然.最后数据将会在“食物源”中聚集.从而达到对数据的自然聚类——正确分类。
五、电子商务应用领域蚁群算法描述
1、物流配送路径优化过程
将迭代次数、蚂蚁数量、客户点数量、客户点需求量、客户点坐标、车辆最大数量、最佳结果的路径、初始环境信息素等数据进行初始化。
初始化每辆车已经走过的长度、已经配载的重量、发车次数、随机发车顺序、走过的路径、未派送过的客户点以及走过的客户点数量等数据,计算两两客户点间距离,在遍历所有客户点之前,以选择策略常数的概率进行确定性搜索,选择与信息素成正比、与距离成反比的概率最大的客户点,不然就进行探索性搜索,按照与信息素成正比、与距离成反比的概率,以轮盘赌的实际选择方式得到要去的下一客户点,在下一个客户点不满足载重、行驶距离的约束条件时则返回初始的配送站,派出下一辆车,重置当前车辆已经走过的路径和已经配载的重量继续选择城市进行派送,若满足载重、行驶距离和不超过最大车辆数的约束条件则更新走过的路径、当前所在客户点、未派送的客户点以及派送过的客户点数量等数据,直到所有的客户点都被派送到,计算走过的路径长度,保存路径、派送车辆信息。
对方案进行比较,将本代最优蚂蚁和全局最优蚂蚁进行倒置变异、随机位置交换变异操作,把本代最优蚂蚁和次优蚂蚁进行交叉操作,看是否产生更优解,保存最优蚂蚁。
2、部分操作解释
(1)交叉:交叉操作是遗传算法中增加种群多样性,防止算法早熟、停滞的操作。在蚁群算法中引入交叉操作,可以有效地扩大搜索空间,避免算法陷入局部最优解。
对一代中产生的最有蚂蚁和次优蚂蚁进行交叉操作,各自随机选取交叉段,添加到对方的路径中,再把原来相同的去除,得到两个新的路径。
(2)变异:变异操作也是增加种群多样性的一种进化手段。适度的变异,既能保持种群内个体的多样化,又能提高算法的效率。
倒置变异:随机选取一段路径,使顺序颠倒
随机交换位置变异:随机产生两个位置,交换顺序
(3)轮盘赌
一个轮盘上分为区域不等的几个扇形,随机转动取一点,看其落在哪个区域,本文算法中将轮盘标上大小,从0到最大数值,每一个扇形都占有一定的大小,随机取一个数值,从头开始减去扇形的大小,直到此值为负,确定落在哪个区域里。
(4)信息素传递参数ρ(残留系数)的选取
按照基本蚁群算法,ρ是一个常量,如果ρ过大,则会使未搜索过的路径被选择的概率相对减小,影响全局搜索能力;而如果ρ过小,又会影响算法的收敛速度。因此我们在改进算法中将对ρ作适当调整。在算法初期,我们希望算法能尽快找到较优解,因此ρ要比较大,增大信息浓度的影响,加快算法收敛速度;而当算法停滞不前时,我们要减小ρ,从而减小信息素对蚁群的影响,增大蚁群对解空间的搜索,以脱离局部最优解的束缚。
(5)确定性搜索和探索性搜索的选则
加速收敛就是要在已得到的较优解的基础上,尽量快的进化,以得到更优解。由于蚁群算法是一种启发式算法,不断地“探索”是蚁群算法进化的必要手段,而正是这种“探索”限制了蚁群算法收敛速度。例如,当算法得到一个较优解,而且该解有可能进一步优化,但由于“探索”范围很大,使得蚂蚁选择该路径的概率相对减小,从而使得路径上的信息量浓度逐渐衰减,该路径也逐渐被“遗忘”了。
为了解决这一问题,我们引入一个新的常量:q0∈[0,1),蚂蚁k在每次选择路径之前,先随机产生一个q∈[0,1),当q (1)初始化 对蚂蚁信息,路径信息(包括初始路径信息、初始化路径信息素和归一化计算后的QOS)、 循环搜索次数和收敛次数等数据进行初始化操作。 (2)开始一次循环遍历 (3)判断QOS条件 判断所有蚂蚁本次遍历的路由是否满足企业电子商务流程建模的QOS边界值(企业的 对每个QOS指标的要求),如果满足,则将该路由保存起来。 (4)全局更新信息素 (5)判断循环 如果到本次循环为止,路由收敛次数已经达到要求的值,则退出循环,否则继续循环对蚂蚁搜索的过程进行迭代,直到达到迭代次数。 (6)得到结果 迭代完成后,根据归一换算后的QOS,用冒泡排序将选出的方案进行优选排序,输出备选方案和最优结果。 (三)客户分类 对蚂蚁信息、循环搜索次数、聚类半径、信息素等数据进行初始化操作。 (2)聚类中心 任意选择几个中心,确定聚类(采用基于欧氏距离的最邻近法则聚类)。如果聚类中心之间的距离小于规定的距离.则重新选择聚类中心,给每个信息素变量赋予相同的数值。 (3)转移 计算新的距离,得出新增的信息素,与残留信息素相加,获得当前的信息素。 (5)获取结果 利用K—均值法计算新的聚类中心,确定聚类的偏离误差,求和得到总体偏离误差,若偏离误差则使蚂蚁重新选择聚类中心,若误差满足条件,输出聚类结果。 对以上过程进行对此迭代,获取最终的分类结果。 六、总结 本文根据物流配送路径优化问题的特点,提出一种基于蚁群算法的优化路径算法。该算法通过引入遗传算子,在局部搜索过程中能够避免算法早熟、停滞,同时改进信息素的更新方式、客户点选择策略,增强蚁群算法的正反馈作用,从而提高了算法的收敛速度和全局搜索能力。实验结果表明,改进后的蚁群算法可以快速有效地求得优化物流配送路径的最优解或近似最优解,对蚁群算法及物流配送路径优化问题的研究有一定的参考价值。 在本文的算法中忽略了各个服务之间的相互联系和相互影响,这样的忽略,是为了方便将问题简单化。但是,在实际的电子商务流程链里,这种影响不仅存在,有时候还是主导整个流程优化的决定性因素,因此,如何定性甚至定量地加入对服务环节与服务环节相互影响的考查,来模拟更为实际的电子商务流程链的优化,是后续需要展开研究的一个重点。 企业的竞争重点.正在经历着从以产品为中心向以客户为中心的转移.客户关系管理作为一种全新的管理、经营理念,越来越引起商家的重视。在数据仓库中进行数据挖掘正逐渐成为CRM中最核心的部分。用蚁群数据挖掘聚类算法解决CRM的客户聚类分析问题,是可行的。这在支持企业决策方面有着极为重要的理论参考价值和实际应用意义.可以帮助高层管理者更好地管理企业.使企业得到更好的顺利发展。