基于混合粒子群算法的试验选址问题研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CN4321258/TP ISSN10072130X 计算机工程与科学
COMPU TER EN GIN EERIN G&SCIENCE
2007年第29卷第11期 
 Vol129,No111,2007 
文章编号:10072130X(2007)1120046204
基于混合粒子群算法的试验选址问题研究3
The Test Locating Pro blem Based o n Hybrid
Particle Swarm Optimizatio n
欧阳星明1,林伟周1,陈迎春2
OU YANG Xing2ming1,L IN Wei2zhou1,CHEN Ying2chun2
(11华中科技大学计算机科学与技术学院,湖北武汉430074;21华中科技大学控制科学与工程系,湖北武汉430074) (11School of Computer Science and T echnology,H u azhong U niversity of Science and T echnology,Wuh an430074;
2.Department of Control Science and E ngineering,H u azhong U niverstiy of Science and T echnology,Wuhan430074,China)
摘 要:大型海上试验涉及分散在全国各地的人员、平台、测量设备和产品等资源。

试验海区分布在漫长的海岸线上,将这些资源运输到合适的海区属于运输问题。

试验海区的选择会影响资源的取舍,资源的取舍与试验流程优化这一车间调度问题密切相关,而试验流程优化反过来又会影响资源的取舍和海区的选择。

因此,试验海区的选择是运输问题和车间调度问题的耦合。

本文建立了该问题的数学模型,并分别用粒子群算法和排队论处理流程优化中的时间约束和资源约束,再用启发式算法对运输问题进行优化。

最后,以某产品的试验为例对算法进行了验证,结果表明了该方法的有效性。

Abstract:A comprehensive sea test demands many resources scattered all over China.Transporting all these resources to an appropriate sea area belongs to the facility locating problem.The choice of test areas may affect that of test resources and consequently test scheduling,which is a job2shop scheduling problem.Meanwhile,test scheduling will affect the choice of resources and test areas.Therefore,the choice of sea areas is the coupling of the facility locating problem and the job2 shop scheduling problem.The mathematical model of the problem is established first.Then particle swarm optimization and the queuing theory are adopted to deal with the precedence constraints and the resource constraints of test scheduling respec2 tively.During the evaluation of the fitness function,a heuristic algorithm is used for resource assignment and transportation before the evaluation of the total test cost,including transportation,construction cost and operational cost of the resources. Simulation results show the validity of the method.
关键词:工厂选址问题;车间调度问题;粒子群算法;海上试验
K ey w ords:facility locating problem;job shop scheduling problem;particle swarm optimization;sea test
中图分类号:TP301.6文献标识码:A
1 引言
试验的顺利开展必须有相应的资源作为保障。

大型海上试验涉及众多分散在全国各地的人员、平台、设备和被试产品等资源,试验周期长、消耗大,在保证试验质量的前提下如何降低试验费用是亟待研究解决的问题。

目前,适合进行试验的海区主要分布在南海、东海、北海等几个海区,由于相隔较远,把各地的试验资源运输到这些海区的费用相差较大。

因此,在合适时候将所需的资源运输到选定的海区进行试验,以减少包含运输费用、建设费用、试验平台的等待费用在内的总试验费用,是当前急需解决的问题。

它属于工厂选址问题。

一次海上试验往往包含多个项目,各项目可进一步分解成多个航次。

考虑到工作性质、资源保障上的差别,每个航次又可分为技术准备和出海实施两道工序。

各项目试验相对独立,通常可先可后;同一项目内的各航次试验之间、技术准备和出海实施这两道工序之间存在严格的先后关系。

在资源可保障的情况下,不同项目的航次试验技术准备、出海实施可并行工作。

试验的流程优化属于车间调度
3收稿日期:2006207212;修订日期:2006210220
作者简介:欧阳星明(1950),女,湖南长沙人,教授,研究方向为计算机网络应用技术、计算机控制与接口;林伟周,硕士生,研究方向为计算机网络应用技术。

通讯地址:430074湖北省武汉市华中科技大学计算机科学与技术学院;E2mail:zwl8716@
Address:School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan,Hubei430074,P.R.
China
问题。

试验海区的选择会影响资源的取舍,进而影响试验流程的优化。

试验流程不但决定了试验周期以及飞机、水面舰艇等试验平台的消耗费用,而且反过来会影响资源的取舍和海区的选择。

因此,试验海区的选择是工厂选址问题和车间调度问题这两个NP问题的耦合。

自然界中的某些生物尽管个体的能力十分有限,但由这些简单个体组成的社会却能完成十分复杂的任务,而且总能够以最优或近似最优的方法完成相互之间的协作。

一些学者根据对昆虫群体行为的研究结果提出了一些用于组合优化求解的算法或理论,如粒子群算法[1]和蚁群算法[2,3],并在一些领域中得到了应用。

这些算法为试验海区布局优化提供了新的思路。

本文利用粒子群算法和排队论方法实现试验的选址优化。

2 模型描述
假定试验海区集合A={A1,A2,…,A a};试验资源所在地集合为B={B1,B2,…,B b},其数量分别为R(B i);从所在地B i到A j的单位运输费用为C ij,i=1,2,…,b,j=1, 2,…,a;第j个海区为某项试验任务的基础设施(测量基站、调试间、工房等)的建设费用为F j,j=1,2,…,a;第k 类平台在试验期间每天的消耗费用为W k,k=1,2,…,w;第k类平台中第d个平台在试验海区停留的天数为D d,d =1,2,…,q(k),其中q(k)为第k类平台的数量。

海区选择的目的就是选择一个合适的海区,使在该海区完成试验任务的总费用(运输费用、建设费用和平台消耗费用)最小。

min
j
∑b i=1C ij・R(B i)+F j+∑w k=1W k∑q(k)d=1D d,
j=1,2,…,α(1) 试验平台的消耗费用取决于试验流程,而试验流程的优化可用车间调度问题(Job2shop Scheduling Problem,简称J SP)来描述:给定工件的集合N={1,2,…,i,…,n}和机器的集合M={1,2,…,j,…,m},每个工件包括多道工序,每道工序需要在一台给定的机器上非间断地加工一段时间;每台机器一次最多只能加工一道工序;调度的目标就是将工序分配给机器上的某个时段,使所有工件在最短的时间里完成加工。

若把各航次试验看作工件,则技术准备和海上实施就是工件的两道工序。

与经典J SP问题不同的是,试验流程优化中有些工件(同一试验项目内的各航次试验)的加工存在先后次序;机器的数目是一个变量,它取决于试验工序所需资源量和资源库存量。

设S ij和T ij分别为工件i在机器j上的操作开始时间和加工时间,S ie和T ie为工件i最后一道工序的操作开始时间和加工时间,则J SP 问题中不同工件必须满足下面的约束条件[4]:
(1)顺序约束:
S ij≥S i(j-1)+T ij-1,i∈N,j∈M(2) 式(2)表示工件i的第j道工序必须在第j-1道工序完成后才能开始,即任何一道工序的操作开始时间必须大于等于该工件上一道工序的结束时间。

同一试验项目下的各航次试验还存在顺序约束。

设i-1,i,i+1是同一项目的各航次试验,它们之间存在如下约束:
S ij≥S(i-1)e+T(i-1)e,i∈N,j∈M(3) (2)机器约束:
S ij≥S(i-1)j+T(i-1)j,i∈N,j∈M
S(i+1)j≥S ij+T ij,i∈N,j∈M(4) 式(4)表示一个工件的处理必须在前一个工件在某一机器处理完毕后才能进入该机器,即任意时刻一台机器不能同时处理两个不同的工序。

3 混合粒子群算法
针对试验选址问题的特点,本文提出了一种基于排队论和启发式算法的混合粒子群算法,其主要思想是:首先由粒子群算法生成满足顺序约束的初始串行试验流程;再用排队论对串行试验流程进行并行处理,在满足资源约束的条件下使工序尽量并行;其次用启发式算法优化资源的运输和分配;最后根据资源的运输计划、分配计划和试验流程计算得到某一海区的总试验费用,将此作为粒子群适应度评估的基础。

3.1 粒子群算法的基本原理
粒子群优化算法(Particle Swarm Optimization,简称PSO)是基于群体智能的一种模拟鸟群捕食行为的进化计算方法,由Eberhart和Kennedy于1995年提出[6]。

设想这样一个场景:一群鸟在随机搜索食物,在这个区域里只有一块食物,所有的鸟都不知道食物在那里,但它们知道当前的位置离食物还有多远,那么找到食物的最简单有效的方法就是搜寻目前离食物最近的鸟的周围区域。

PSO从这种模型中得到启示并用于解决优化问题。

PSO中,每个优化问题的解都是搜索空间中的一只鸟,我们称之为“粒子”。

所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定它们飞翔的方向和距离。

然后,粒子们就追随当前的最优粒子在解空间中搜索。

PSO初始化为一群随机粒子(随机解),然后通过叠代找到最优解。

在每一次叠代中,粒子通过跟踪两个“极值”来更新自己。

第一个就是粒子本身所找到的最优解,即个体极值P b est,另一个极值是整个种群目前找到的最优解,即全局极值G b est。

其数学描述为:设在一个n维的搜索空间中,由m个粒子组成的种群X={x1,…,x i,…,x m},其中i个粒子位置为x i=(x i1,x i2,…,x in)T,其速度为v i=(v i1,v i2,…, v in)T。

它的个体极值为P i=(P i1,P i2,…,P in)T,种群的全局极值为P g=(P g1,P g2,…,P gn)T。

按追随当前最优粒子的原理,粒子x1将按式(5)、(6)改变速度和位置:
v(t+1)
id=v
(t)
(id)+c1r1(P
(t)
id-x
(t)
id
)+c2r2(P(t)gd-x(t)id)(5)
x(t+1)
id=x
(t)
id+v
(t+1)
id
(6)其中,d=1,2,…,n,i=1,2,…,m,m为种群规模,t为当前进化代数,r1和r2为分布[0,1]之间的随机数,c1和c2为加速常数。

3.2 粒子和问题之间的映射
构建粒子群算法的关键是解的表示,即找到问题和粒子之间的映射关系。

我们针对试验调度问题构造了一个n 维度的搜索空间,其中n代表航次试验的最大数目,其中π
={1,2,...,i,...,n}。

例如,π1=(1,2,3,4,5,6,7,8,9,10, 11)表示试验航次的顺序为1,2, (11)
因为粒子群算法是用来解决连续优化问题的算法,对于车间调度问题这样的离散问题,粒子群算法在不断修正粒子的速度和位置时会产生许多无效解,这些解会严重影响算法的效率。

例如,π2=(3.1,2.2,4.3,5.7,9.8,1.6,7. 3,0.8,8.9,9.1,6.1)这样的解没有任何实际意义。

为了使粒子群搜索到的所有解为有效解,可以将粒子的相对位置而不是绝对位置作为问题的解。

例如,π2经过变换后得到的有效解为π′2=(4,3,5,6,11,2,8,1,9,10,7)。

313 排队
如果资源充足,各航次试验尽量并行实施;如果资源只够一个航次试验,则只安排一个航次试验;如果一道工序的资源需求不能满足,各服务台(多个技术准备服务台和海上实施服务台)进入等待状态。

每个服务台有两个触发事件:事件到达和事件离开。

每个服务台有一个等待队列。

如果资源需求满足,工序先进入技术准备服务台的队列,获取所需资源;一旦接受服务完毕,就释放可重复利用的资源。

如果资源需求满足,则进入海上实施服务台队列,否则等待离开事件释放资源。

若两个队列同时发生触发事件,海上实施服务台的事件应先行处理。

如果同一队列同时发生触发事件,则序号小的事件先处理。

314 启发式算法
为了提高资源的利用率,每当顾客进入服务台时采用启发式算法进行运输调度。

规则如下:
(1)计算该类资源的需求量。

(2)在试验现场寻找消耗费最低的空闲资源,将资源空闲状态设置为工作状态,同时记录其开始和结束使用时间,资源需求量减少1。

(3)若试验现场没有空闲资源或资源需求满足,进行步骤(4),否则返步骤(2)。

(4)若资源需求量大于零,到运输费用最低的所在地获取资源;现场资源数量增加1;将资源设置为工作状态,记录其开始和结束使用的时间,资源需求量减少1。

(5)若资源需求量大于零,返回步骤(4),否则返回步骤(1)处理下一类资源需求直到该工序的所有类型的资源需求满足为止。

3.5 算法流程
假定N是粒子群的规模,POS[i]是第i个粒子,G b est是粒子群找到的全局最优解,POS[i].f itness、POS[i].V e2 locit y和POS[i].Position分别为第i个粒子的适应度、速度和位置,其中速度和位置为矢量。

设POS[i].P b est为第i 个粒子局部最优的位置。

粒子群算法的过程如下:步骤1 初始化。

对于粒子群中的每个粒子i:
①随机初始化POS[i]的速度和位置;
②对第i个粒子的速度向量进行排序得到试验航次的排列(考虑顺序约束);
③用排队论对串行的试验航次进行并行处理(考虑资源约束);
④用2.4节的启发式算法对并行的试验航次计划进行资源的分配和调度(考虑运输费用);
⑤评价粒子群中各粒子的适应度;
⑥将每个粒子的初始解作为其局部最优解POS[i].P b est;
⑦将局部最优解中的最大值作为整个粒子群的全局最优解
G b est。

步骤2 评价。

重复以下步骤直至得到满意的结果:
①对每个粒子i:更新局部最优解;
②对每个粒子i:根据式(5)和(6)更新粒子的速度和位置;
③对于每个粒子i:将粒子的位置向量映射为有效的试验航次排列;
④用排队论算法将串行的试验航次计划进行并行处理;
⑤用启发式算法为并行试验航次计划进行资源的分配和调度,评估粒子群的适应度。

⑥更新整个粒子群的全局最优解G b est。

4 仿真结果
下面以文献[5]中的试验为例验证该方法的有效性。

试验中涉及的资源分为43类,各类资源到各海区的运输费用如表1~表4所示。

表1 技术准备设施、设备资源的运输/建设费用开支项目运输/建设费用
工房(8.00,8.00,8.00,8.00,8.00)
调试间(5.00,5.00,5.00,5.00,5.00)
总装车(0.05,0.20,0.40,0.30,0.10)
雷体装配车(0.10,0.30,0.50,0.10,0.20)
发动机装调设备(0.20,0.18,0.30,0.10,0.40)
战斗部装调设备(0.18,0.10,0.15,0.20,0.10)
引信联调系统(0.16,0.08,0.10,0.05,0.15)
定深装调设备(0.07,0.20,0.25,0.10,0.30)
仪表装调设备(0.05,0.15,0.30,0.20,0.10)
表2 被试产品资源的运输费用
被试产品运输费用
雷锚(0.10,0.08,0.12,0.20,0.10
试验雷锚(0.30,0.20,0.10,0.08,0.12)
定深装置(0.05,0.10,0.15,0.20,0.30)
雷体(0.10,0.20,0.15,0.17,0.10)
引信(0.10,0.08,0.12,0.10,0.20)
发动机(0.10,0.20,0.15,0.10,0.08)
试验发动机(0.20,0.18,0.22,0.10,0.10)
试验战斗部(0.10,0.09,0.14,0.10,0.20)
表3 平台资源的运输费用和等待费用
平台运输费用消耗费用
1(0.06,1.00,2.00,0.50,0.70)0.25
2(0.80,0.05,0.70,1.00,0.90)0.12
3(1.50,0.70,0.04,1.00,0.30)0.15
4(0.05,0.90,1.60,0.70,0.80)0.20
5(1.50,0.06,1.30,0.90,0.60)0.30
6(0.03,1.50,2.90,1.00,1.20)0.35
7(1.50,1.00,0.06,1.20,2.30)0.30
8(0.90,0.70,1.10,0.05,1.00)0.28
9(0.50,0.80,1.10,0.60,0.04)0.26
10(0.07,1.30,2.50,1.20,2.00)0.32
11(0.50,0.80,0.60,0.03,0.60)0.10
12(1.20,1.00,1.60,0.90,0.05)0.22
13(0.60,0.40,0.02,0.30,0.50)0.07
表4 出海实施设备的运输费用
实施设备运输费用
D GPS(0.03,0.10,0.15,0.02,0.10)
水声定位(0.04,0.05,0.20,0.40,0.20)
时统(0.08,0.18,0.30,0.10,0.20)
内测装置(0.10,0.20,0.10,0.18,0.15)
回收装置(0.08,0.10,0.16,0.20,0.10)
定深内测(0.07,0.20,0.25,0.10,0.30)
布放装置(0.05,0.15,0.30,0.20,0.10)
声速计(0.10,0.06,0.12,0.20,0.30)
上浮内测(0.20,0.10,0.18,0.15,0.20)
海流计(0.08,0.10,0.16,0.20,0.10)
张力计(0.07,0.20,0.25,0.10,0.10)
测深仪(0.04,0.15,0.20,0.10,0.20)
应答装置(0.10,0.05,0.10,0.14,0.20)
假设资源均分布在不同的地方,其中2类资源(工房和调试间)为基础设施,需进行一次性投资改造;13类平台资源需要计算运输费用和试验期间的消耗费用;其余28类资源只需计算运输费用。

满足试验条件的海区有五个,其中,表1中工房和调试间的费用为建设费用,表4中的平台还具有消耗费用。

用参数(c1,c2,c3,c4,c5)表示把资源运到1~5号试验海区的运输费用,工房和调试间的费用成本表示在东海地区盖相同的工房的花费。

能移动的就考虑移动的时间以及环境条件的约束等因素的综合。

单位为万元人民币。

等待费用是指平台到达指定海区后到开始参加试验这段时间的费用,单位为万元/每天。

算法的运行平台为Intel2.4GHz、512MB内存个人计算机,经过100代粒子迭代后算法找到五个海区的最小总试验费用分别为127.35、131.60、143.06、133.22和137.60万元。

试验费用最少的第一海区比最多的第三海区少15. 71万元,约少10.98%。

运算时间为11359ms。

优化中还可以得到试验流程和各种资源的具体使用时间,从而为试验的组织实施和资源的运输提供指导。

为简化起见,算法假定同种资源分布在一个地方、一个地方只有同一类型的资源。

对于同种资源分布在不同地方的情形,可以将不同地方的资源虚拟成一种新的资源;一个地方分布有多种资源的情况,可以将这些资源放到几个虚拟的地方,使得每个虚拟地方放置同类型的资源。

这样,本文方法就可应用于资源分布的各种情况。

5 结束语
试验海区的选择会影响资源的取舍,资源的取舍与试验流程优化这一车间调度问题密切相关,而试验流程优化反过来又会影响资源的取舍和海区的选择。

本文建立了该问题的数学模型,并分别用粒子群算法和排队论处理流程优化中的时间约束和资源约束,再用启发式算法对运输问题进行优化。

最后,以某产品的试验为例对算法进行了验证,结果表明了该方法的有效性。

本文没有考虑水文、气象、海况、海流、人力等资源,也没有考虑资源的不确定性。

另外,各种产品的试验可能同时开展,这使优化变得更加困难。

这些将是今后研究的内容。

参考文献:
[1] Salman A,Ahmad I,Al2Madanii S.Particle Swarm Optimiza2
tion for Task Assignment Problem[J].Microprocessors and
Microsystems,2002,26(8):3632371.
[2] Y ing Kuo2Ching,Liao Ching2Jong.An Ant Colony System
for Permutation Flow2Shop Sequencing[J].Computers&
Operations Research,2004,31(5):7912801.
[3] Dorigo M,Gambardella L M.Ant Colony System:A Cooper2
ative Learning Approach to t he Travelling Salesman Problem
[J].IEEE Trans on Evolutionary Computation,1997,1(1):
53266.
[4] 徐震浩,顾幸生1不确定条件下的flow shop问题的免疫调
度算法[J]1系统工程学报,2005,20(4):37423801
[5] 陈慕齐,齐欢,陈迎春1基于蚁群算法的试验流程优化研究
[J]1海军工程大学学报,2006,18(3):382421[6] Kennedy J,Eberhart R C.Particle Swarm Optimization[A].
Proc of IEEE Int’l Conf on Neural Networks[C].1995.
(上接第45页)
情况,这时运动估计信息可靠,对遮挡中目标的定位也能比较准确。

同时,图4中显示有新目标出现时的效果。

需要注意的是,当初始检测时已在窗口内的静止目标,算法无法获得目标初始化信息。

如图4中所示,在背景中一开始就静止站立的人由于无法获得初始信息,跟踪算法失效。

实验中,算法运行速度与n2成反比,n为跟踪目标个数。

当n 较大时,算法实时性不强。

图3 
遮挡中有停止的情况
图4 遮挡中没有停止的情况
6 结束语
本文提出的目标跟踪算法基于以Kalman滤波器为基础的状态预测,并根据预测值进行遮挡情况判断。

针对不同活动状态的目标选择不同的模板更新策略,提高了算法对遮挡情况的适应性。

另外,通过首先进行运动区域匹配的方法检测出新目标,过滤了伪目标;同时,利用运动区域匹配结果缩小了Meanshift的搜索范围,提高了运算速度,并保证了跟踪的可靠性。

实验证明,本文所用算法对多目标的跟踪以及遮挡的情况有良好的准确性和鲁棒性。

参考文献:
[1] Nummiaro K,K oller2Meier E,van G ool L.Color Feat ures for
Tracking Non2Rigid Object s[J].Chinese Journal of Automa2 tion,Special Issue on Visual Surveillance,2003,24(3):3452 355.
[2] Huang Yan,Essa I,Georgia Institute of Technology.Track2
ing Multiple Object s Through Occlusions[A].Proc of IEEE Computer Society Conf on Computer Vision and Pattern Rec2 ognition.Vol2[C].2005.105121058.
[3] Senior A,Hampapur A,Tian Y ing2Li.Appearance Models for
Occlusion Handling[A].Proc of t he2nd Int’l Workshop on Performance Evaluation of Tracking and Surveillance[C].
2001.
[4] Welch G,Bishop G.An Introduction to the K alman Filter[R].
T echnical Report TR952041,Department of C omputer Science, University of North Carolina,1995.
[5] Comaniciu D,Ramesh V,Meer P.Real2Time T racking of Non2
Rigid Objects using Mean Shift[A].Proc of IEEE Computer S oci2 ety C onf on Computer Vision and Pattern Recognition[C].2000.
1422149.
[6] Comaniciu D,Ramesh V,Meer P.K ernel2Based Object T rack2
ing[J].IEEE T rans on Pattern Analysis and Machine Intelli2 gence,2003,25(5):5642577.。

相关文档
最新文档