邻域的概念.docx
- 文档编号:6726048
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:8
- 大小:20.87KB
邻域的概念.docx
《邻域的概念.docx》由会员分享,可在线阅读,更多相关《邻域的概念.docx(8页珍藏版)》请在冰豆网上搜索。
邻域的概念
邻域的概念
1.3邻域概念
在组合优化中,距离的概念通常不再适用,但是在一点附近搜索另一个下降的点仍然是组合优化数值求解的基本思想。
因此,需要重新定义邻域的概念。
定义1.3:
对于组合优化问题,上的一个映射:
D,,D,F,f
D,,N:
S,D,NS,2
DS称为一个邻域映射,其中表示D的所有子集合组成的集合,称为的邻2,,NS
S域,称为的一个邻居。
,,S,NS
n,(n,1),,例1.,,7:
例1.2已给出TSP的一种数学模型,由模型D,xx,0,1,可以定义它的一种邻域为:
,,,k,为一个正整数。
,,,,,N(x)yyxyxk,yD,,,ijij,,i,j,,
k这个邻域定义使得最多有位置的值可以发生变化,的邻居有xx12kC,C,?
,C个。
(,1)(,1)(,1)nnnnnn
例1.8:
TSP问题解的另一种表示法为:
,,,,D,F,S,i,i,?
ii,i,?
i是1,2,?
,n的一个排列。
文献中定义它,,612n12n
2SS的邻域映射为,即中的两个元素进行对换,中共包含的个邻,,NS2,optCn居。
如四个城市的TSP问题,当时,,,S,1,2,3,4
。
,,,,,,,,,,,,,,,,NS,2,1,3,4,3,2,1,4,4,2,3,1,1,3,2,4,1,4,3,2,1,2,4,3
S类似的定义,可以推广定义,它的邻域映射是对中2,optk,opt(k,2)
k的个元素按一定的规则互换。
0,1例1.9:
背包问题:
该问题解的另一种表示法为:
,,,,D,i,i,?
ii,i,?
i是1,2,?
,n的一个排列,,i,i,?
i,表示装包的排列12n12n12n顺序。
通过排列顺序以容量约束判别装进包的物品及目标值。
由该法定义的邻域可以同上例有相同的结构。
,,,Fss定义1.4:
若满足:
,,,,,其中,则称为f在,,fs,,fss,N,,s,F
,s,FFs,,,,f上的局部(local)最小(最大)解。
若,,,,则称为在fs,,fs
上的全局(global)最小(最大)解。
,x1,10就一维变量为例,定义域为区间中的整数点,像图1.1一样,如果
x,9采用如下邻域定义,目标值如图1.1,则为的局N(x),,,y,Zy,x,1f,
x,4部最优(最小)点,而点既不是的局部最大值也不是局部最小。
f
f(x)
O
12345678910
图1.1
在求解最小目标值点时,传统的优化算法是以一个初始点出发,在邻域中
x,4为寻找目标值更小的点,最后达到一个无法再下降的点。
如图1.1,若以
x,5起点按传统的优化方法搜索最小值点,则搜索到而停止,搜索到局部最优(最小)点,这种方法可能造成最终解的非全局最优性。
现代优化算法所要解决的一个问题就是求解全局最优解。
1.4启发式算法
启发式算法(heuristicalgorithm)是相对于最有算法提出的。
一个问题的最优算法求得该问题每个实例的最优解。
启发式算法可以这样定义:
一个基于直观或经验构造的算法,在可接受的花费(指计算时间、占用空间等)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度不一定事先可以预计。
另一种定义为:
启发式算法是一种技术,这种技术使得在可接受的计算费用内去寻找最好的解,但不一定能保证所得解的可行性和最优性,甚至在多数情况下,无法阐述所得解同最优解的近似程度。
早在40年代末期,由于实际问题的需要,人们已提出一些解决实际问题的
,快捷有效的启发式算法,有代表性的工作是1948年Polya的著作8。
随着60,70年代对数学模型及最优解算法的重视,这些算法被称为“快速与丑陋(quickanddirty)”方法。
随着70年代算法复杂性理论的完善,我们不再强调一定要求到最优解,因此促使80年代初兴起的现代优化算法在今天得到了巨大的发展。
例1.10:
背包问题的贪婪算法(greedyalgorithm)
对例1.1的背包问题可以构造下面的贪婪算法:
ciSTEP1对物品以从大到小排列,不妨把排列记成;,,1,2,3,?
n,k:
1ai
k,1
STEP2若;dx,d,b,则x,1;否则,x,0.k:
k,1,iikkki,1
k,n,1当时,停止;否则,重复STEP2。
为贪婪算法所得解,单位体积价值比越大越先装包是贪婪算法,,x,x,?
x12n
的原则。
例1.11:
简单的邻域搜索(localsearch)算法:
给定组合优化问题,假设其邻域结构已确定,设S为解集合,为S上的f费用函数,N为邻域结构。
算法为:
STEP1任选一个初始解;s,S0
STEP2在中按某一规则选一;若,则;否则,N(s)f(s),f(s)s:
ss000
;若,停止;否则,返回STEP2。
N(s):
N(s),sN(s),,000
简单的邻域搜索从任何一点出发,达到一个局部最优值点。
从算法中可以看出,算法停止时得到点的性质倚赖算法初始解的选取、邻域的结构和邻域选点的规则。
一个直观的看法是:
只要选好初始点,就一定可以求到最优解。
对NP,hard的组合最优问题,确定这样的初始点是非常困难的,如非对称TSP问题,若固定一个城市为起终点,共有个解,也就是有个初始点。
(n,1)!
(n,1)!
启发式算法能够迅速发展是因为它有以下长处:
(1)数学模型本身是实际问题的简化,或多或少地忽略一些因素;数据
采集具有不精确性;参数估计具有不准确性;以上因素可能使最优
算法所得解比启发式算法所得解产生更大误差。
(2)有些难的组合优化问题可能还没有找到最优算法,即使存在,由算
法复杂性理论,得知它们的计算时间是无法接受或不实际的。
(3)一些启发式算法可以用在最有算法中,如在分支定界算法中,可以
用启发式算法估界。
(4)简单易行;比较直观;易被使用者接受。
(5)速度快,在适时管理中非常重要。
(6)多数情况下,程序简单,因此易于修改。
虽然有诸多好处,但它有其短处,这些不足往往称为争论的焦点。
(1)不能保证求得最优解。
(2)表现不稳定。
启发式算法在同一问题的不同实例计算中会有不同
的效果,有些解好,而有些则很差,在实际应用中,这种不稳定
性造成计算结果不可信。
(3)算法的好坏倚赖于实际问题、经验和设计者的技术,这一点很难
总结规律,同时使不同算法之间难以比较。
1.4.1启发式算法的分类
本节对启发式算法进行简单的分类。
1(一步算法
该算法的特点是:
不在两个可行解之间选择,在未终止的迭代中,有可能不是一个可行解,算法结束时得到一个可行解。
一步算法的一个典型实例时背包问题的贪婪算法。
每一步迭代选一物品入包,直到无法再装。
该算法没有在两个可行解之间比较选择,算法结束时得到一可行解。
2(改进算法
改进算法的迭代过程是从一个可行解到另一个可行解,通常通过两个解比较而选择好的解,进而作为新的起点进行新的迭代,直到满足一定的要求为止。
因此,也可以称之为迭代算法。
如例1.11的局部搜索算法。
再如TSP中简单的
方法,也是改进算法的一种。
,62,opt
i例1.13:
四个城市的TSP问题,两个城市和之间的距离构成dj,,1,2,3,4ij的矩阵为:
051015,,
,5078,,,,d,ij,,10706
,15860,,
,,设初始点为:
s,1,2,3,4,则0
f(s),d,d,d,d,5,7,6,15,33012233441
ss的邻域是对的任两个元素对换,如果固定第一个城市1,即2,opt00
,,,,,,,N(s),1,3,2,4,1,4,3,2,1,2,4,3,简单的方法是比较邻域中的所有点,2,opt0
N(s),,,,选出最好解。
比较可知中最好的解为s,1,2,4,3,目标值为fs,29。
011
s下一次迭代是以为起点,重复以上的计算过程,直到目标值无法改进为止。
1
3(数学规划算法
数学规划算法主要指用线性规划的方法求解组合优化问题,其中包括一些启发式规则。
这一类方法中,典型的是线性规划及对偶理论在网络流中的应用,
,9,10产生标号算法等一系列最优算法,参考文献。
其次是基于整数规划分支定
界的启发式算法,或是基于整数规划的割平面法。
4(解空间松弛算法
一类方法是线性规划松弛。
这类方法的主要步骤是先将整数规划问题IP
T,zmincx,
IPs.t.Axb,,,,,
n,x0,xZ,,,
松弛为线性规划LP
T,z,mincxL,,,LPs.t.Ax,b,,
x,0,
通过LP可以得到IP的一个下界。
LP是多项式可解问题,但是LP的解不z,zL
一定是IP的可行解。
于是,解空间松弛算法的第二步是如何将LP的解转化为IP的可行解,如四舍五入法,取上整数法、下整数法等。
拉格朗日(Lagrange)松弛法。
拉格朗日松弛法主要用于求解下面这样的组合最优化问题IP:
Tz,mincx1.15,,
s.t.Ax,b,1.16,,11,,Ax,b,1.1722n,,x,0,x,Z1.18
如果没有(1.17)这些约束,IP问题是一个多项式时间问题,有(1.17)这些约束,IP为NP-hard问题。
通常称(1.17)为难约束。
这类方法的主要步骤分三个阶段,第一阶段是先将整数规划问题IP松弛为拉格朗日松弛问题LR
TT,,1.19,,z,,mincx,,(b,Ax)22LR
,,,s.t.Ax,b1.2011
n,,1.21x,0,,,0,x,Z
(1.17)的存在使得问题IP称为NP-hard问题。
松弛(1.17)约束后,IP成为一个易解的问题。
(1.17)松弛后,IP的解空间扩大,于是将(1.17)以罚函数法的形式在LR的(1.19)体现,不至于得到的解使(1.17)的不可行性过
,,大。
在这一阶段中,提供了IP的一个下界z,。
LR
第二阶段是求IP对偶问题的解,即
TT,,1.22,,,,z,maxz,,maxmincx,,b,Ax22LDLRn,,,,00,,,,,,0,xAxbxxZ1
,,xz,z,z,通过第二阶段的求解,得到(1.22)的解和,且有。
LDLR
第三个阶段将第二阶段所得解的可行化,使之成为IP的可行解。
5(现代优化算法
现代优化算法是80年代初兴起的启发式算法,这些算法包括禁忌搜索(tabusearch),模拟退火(simulatedannealing),遗传算法(geneticalgorithms),人工神经网络(neuralnetworks).它们主要用于解决大量的实际应用问题。
6.其他方法
启发式方法包含的种类很多,有些方法是根据实际问题而产生。
如解空间分解、解空间的限制等。
另一类算法是集成算法,这些算法是诸多启发式算法的合成。
1.4.1启发式算法的性能分析
虽说启发式算法有诸多优点,但它的一个缺陷是无法保证得到最优解,于是,对算法的评价显得尤为重要。
一个好的启发式算法可以使其解同最优解尽可能地接近,同时保证有较好的稳定性。
评价启发式算法的性能有不同的方法,主要分为对算法计算复杂性的分析和对算法计算效能的分析。
下面仅简单介绍常用的方法。
1.最坏情形分析
最坏情形分析(worstcaseanalysis)可以考虑计算机复杂性和计算解的效果两个方面。
最坏情形计算复杂性分析关注算法基本运算总次数同实例计算机二进制输入长度之间的关系,从最坏实例的角度来研究算法的计算时间复杂性。
这一部分内容已在第2节讨论过,在这里不再讨论。
通过下面的一个例子了解对一些比较简单的启发式算法是如何估计计算时间的复杂性。
例1.14:
估计例1.10的贪婪算法的计算时间复杂性。
,ci1,2,?
i,n它的STEP1需要个除法和将个比值从大到小排序。
nn,,ai,,
k,1kSTEP2中的每一个循环最多需要个乘法、个加法、1个比较和1个赋值(x,1,等价一个加法),全部循环最多用。
考虑每一个循环和n(n,1),2nk
2STEP1的所有基本计算次数,该算法的计算时间复杂性为。
对0-1背包问O(n)题的任何实例,这个估计都是适用的,因而,这样的估计是从最坏情形分析得到的结果。
IHz(I)记一个实例的最优目标值为,启发式算法所得到的目标值为OPT
z(I)。
若优化问题的目标是极大目标函数,评价函数为H
d,,z(I),z(I),z(I),,1.23,OPTHOPT
Hd,z(I),,,1其中,。
对给定的问题和启发式算法,我们对问题中任意实OPT
dI,,1.23,,例求满足式的,越接近1说明构造的启发式算法越好。
则是一个
I与实例无关的偏差值。
当优化问题的目标是极小目标函数时,对任意实例,评价函数为I
z(I),d,z(I),z(I),,1.24OPTHOPT
d,,1其中,是一个与实例无关的偏差值,。
渐近最坏解定义为:
Id,z(I),OPT
,z(I)HAR(H),limsupz(I),k,,1.25,,OPT,,kz(I)IOPT,,
通过下面的简单例子说明最坏分析法。
例1.15:
例1.10已给出0,1背包问题的贪婪算法,记为G算法。
用最坏情形分析该算法,可以构造这样一个例子:
有两个物品,I
用例1.10的算法得到c,1,,,,,1,c,K,b,K,,为充分小的正数。
112
则,而。
于是,随着容积K的增加,有z(I),1,,z(I),Kx,1,x,0,GOPT12
z(I)1,,H,,0,K,,,.,,1.26z(I)KOPT
任何一个启发式算法,最坏的情形是一个物品也没有装,说明0,1,,1.26背包问题的贪婪算法在最坏情况分析下非常不好,它的渐进效果z(I)H,0,K,,,.表示包中几乎没有装任何物品。
z(I)OPT
同样用以上的贪婪算法,应用到一般的背包问题,它的效果则不一样。
例1.16:
一般背包问题:
n
z(I),maxcx,OPTjjj,1
n
s.t.ax,b,jj,1j
x,0整数,j,1,2,?
nj
一般背包问题不同于0,1背包问题是一种物品有无限多个,而且可以装多
cccn12,,?
个。
不妨设,用例1.10的贪婪算法,明显的结论是aaa12n
,b,x,x,?
x,0x,x是一个可行解,其中表示不超过的最大整数。
所,,1,,2na1,,
以,
,b(),zI,c,,1.27G1,,a1,,
当对模型的决策变量线性松弛时,一般背包问题成为线性规划问题。
因线
性规划的最优解在极点达到,而模型仅有容量约束,由线性规划理论,
,bb,,,,z(I),maxcj,1,2,?
n,c1.28,,Gj1aa,,j1,,
比较和得:
,,,,1.271.28
,,,bb
,,,aaz(I)111,,,,H,,,,bz(I)2,,bOPT1,|,,aa11,,
112(),(),,所以,。
下面说明是渐近紧界。
当zIzI,,,GOPT22
KK3,,,,,,c,K,c,Ka,,a,121222
,0,b,K,2
G时,贪婪算法得到的解是:
装入一个第一类物品,则。
最优解z(I),K,3,G是装两个物品,.所以,z(I),2KOPT
z(I)K31,,Hlimlim,,,,z(I),,K,,OPTz(I)2K2OPT
为渐近紧界。
2(概率分析
概率方法在评价算法方面的一个成功应用是对线性规划单纯形法的评价。
Klee和Minty在文献中证明了线性规划的单纯形法不是多项式时间的,其构,,3
造的实例为第2节中的,用概率分析方法研究线性规划问题的一个代表工,,1.14
作是Borgwardt研究线性规划问题
Tmaxcxm,nm其中,A,R,e,1,R,m,ns.t.Ax,e
TnR,,所得结果。
文献11中假设规划的输入数据是中具有球面对称c,A,A,?
A12m
n测度,得到如下结论:
当输入数据在单位球面服从均匀分布,且充分大时,其
1.51(n,1)21(n,1)6nmnm迭代次数的渐近上下界分别为和。
于是当时,n,10,m,101(n,1)1(n,1)6m,4m,1.15。
当时,。
此时,单纯形法的平均迭代次n,100,m,10
1.52数为。
这说明单纯形法的平均计算效果是较好的。
O(n~n)
3(大规模计算分析
大规模计算分析就是通过大量的实例计算,评价算法的计算效果。
算法的计算效果分成两个方面:
一方面是算法的计算复杂性,它的效果通过计算机的中央处理器(CPU)的计算时间表现;另一个方面是计算解的性能,它通过计算停止时输出的解表现。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 邻域 概念