灾情巡视路线最优化的方案.docx
《灾情巡视路线最优化的方案.docx》由会员分享,可在线阅读,更多相关《灾情巡视路线最优化的方案.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、约束最优路线的模拟退火解法说明:以98年全国高校生数模竞赛中的B题(即“灾情巡察路线”)为例,介绍能解一类较广泛的约束最优路线问题的方法 一模拟退火法。该法对“灾情巡察路线”这类有约束以及“(一般)旅行推销员”、“中国邮递员”等无约束组合优化问 题均能求得较好的近似解,具有适用范围广和可拓展的优点。一、问题描述对于最短路、最大流、中国邮递员、旅行推销员等最优路线问题,常采纳各自不同的方法求解。假设在这些问题中再加 入一些约束条件,那么原方法往往不再有效,如98年高校生数模竞赛中的B题就是如此。我们设计的方法较好地解决了这一问 题。现以98年B题为例,介绍该法及其实现。下面为该题文字局部,并称其
2、四问分别为问题1至问题4:下列图(略)为某县的乡(镇)、村大路网示意图,大路边的数字为该路段的公里数。今年夏天该县患病水灾。为考察灾情、组织自救,县领导打算,带着有关部门负责人到全县各乡(镇)、村巡察。巡察 路线指从县政府所在地动身,走遍各乡(镇)、村,又回到县政府所在地的路线。1 .假设分三组(路)巡察,试设计总路程最短且各组尽可能均衡的巡察路线。2 .假定巡察人员在各乡(镇)停留时间2小时,在各村停留时间廿1小时,汽车行驶速度V=35公里/小时。要在24小时 内完成巡察,至少应分几组;给出这种分组下你认为最正确的巡察路线。3 .在上述关于T, t和V的假定下,假如巡察人员足够多,完成巡察的
3、最短时间是多少;给出在这种最短时间完成巡察的要 求下,你认为最正确的巡察路线。4 .假设巡察组数已定(如三组),要求尽快完成巡察,争论T, t和V转变对最正确巡察路线的影响。二、问题分析及模型的建立由于是分组巡察(不妨设分N组),要直接确定一个组巡察哪些地点是困难的。由于将各组巡察的路线连接起来可看成 一条N次相继从县城动身又回到县城的路线,这样,多组巡察就化成了单组巡察。经分析,我们认为前3问及第4问计算局部 都是组合规划中的约束优化问题,均属以模型min /(X)st.= 0 ,z = 1,2,.,mgf(x)0 ,j = 1,2,,九为基础的约束最优路线模型。下面依据各问的要求,分别对4
4、个问题进行详细争论。对于问题1,假如选取总路程最短的全部巡察路线中最均衡的,一般这一路线仍会很不均衡。故除了要总路程短,另 需“均衡”提出肯定的要求,即组间巡察路线的长度差不大于某给定值L。还有路线能够分成3次从县城0动身再回到0、各 组经过地点的并集为全部顶点的集合只之约束。模型如下:min b + % (/max - /min)st. n = N./max 一 ./min LUe = Ain其中F为巡察总路程,N为要求的分组数(本问N=3), n是优化过程中路线的实际分组数,小和品扮别为n组中最长和最短组 的巡察路程,R为第i组巡察地点的集合,A是全部顶点的集合。约束条件(品x-fG4用来
5、保证各组路程基本均衡,目标函 数中加入X(f是为了使各组的路程尽可能均衡,这是一个约束多目标规划。权重九的取值应远小于目标函数中F的权系 数1,否那么会因离散问题函数值的跳动现象而导致优化困难。这里,我们取X=l/L。对问题2和3,因在原图中不是任意两顶点间均有边,故在多组巡察时可能存在二组以上经过的公共点,从而使顶点赋权遇 到如下困难:假设先赋点权,那么这些公共点的权会被重复计算;而假设在优化过程中赋点权,那么又有公共点毕竟应当由哪次(组) 巡察的问题。对此,我们采纳Dijkstra法算出任意两点间的最短路程并除以速度V转化为时间,并用其作为两顶点间边的权 构造一新图。第三个约束条件保证了每
6、点至少经过一次,而这时假设路线中含除县城外的重复地点将至少增加1个小时(除县 城为0外,其它点权为1或2小时),因而能保证优化结果中不消失县城以外的重复点。经分析,我们认为这两间同属分组数 和路线双重优化问题,详细模型如下:min F(III)(III)st. n = N/max K TMAXue = A1 W in其中N、n、A、P与模型(H)相同,F为各组巡察时间之和,心为n组中时间最长组的巡察时间,TMAX是巡察允许的最长 时间。对问题2, TMAX=24;对问题3,因人员足够多,故每个地点可由一组单独巡察,因此完成巡察的最短时间是这些单点 巡察的最正确路线中花时间最长的组对应的巡察时间
7、,其值TMAX由程序计算确定。对最少分组数的优化,模型中没有表达,我们是通过主程序与帮助掌握函数协同工作来实现该目的的,即在优化过程 中,假设路线调整觉察最短与次短组的时间之和不大于TMAX,且满意约束,那么纪录该路线后返回,并由主程序将分组数减1 后重新优化,假如重新优化找不到满意约束的可行路线,那么认为找到了最优解;而假设优化函数没有找到满意约束的可行路 线,主程序那么将分组数加1后进行下一轮优化。我们用m和M分别表示求解时尝试的最小和最大分组数,对问题2,取m=4, M=8, 而对问题3,8=20, M=35。对于问题4,其最正确路线是指在分组数N已确定的状况下,巡察时间最长的组所对应的
8、时间尽量短的路线。下面给出 其模型,各参数的含义同模型(III),关于T、t和V对路线的影响,我们将在结果与分析局部给出。min Znaxst. n = N(【V)i0或rec_n=0且fx2fxi,转步(4);(6)执行100次内部优化并更改路线,假设某次内部优化后fx2fx。,即比已有的最正确路线差,转步(4);否那么检查是否与纪录的路线重复,假设重复那么转步(4);(10)假设fx+fx2fx。,那么纪录器中原最正确路线后移,最正确路线数rec_n:=l,更新优化值fx。:=fx+f%,路线及相关数据记 入第一个位置,转步(4);(11) rec_n:=rec_n+l,并计算纪录器中最终
9、一条最优路线的帮助掌握函数值fx4;(12)假设fx3fx”,与纪录器中各路线的帮助掌握函数值比拟并据此确定纪录器指针,当前路线插入相应位置,转步(4);(13)假设纪录器没满,那么路线及相关参数记在已有最优路线之后;转步(4);(14)假设tkVmaxtk,那么tk:=tk+L t:=FT*t;假设fxo比前一温度有改进,那么same_tn:=0,否那么same_tn:=sam_tn+l;转步(3); (15)算法终止。此时假设rec_n0,那么找到了最优路线,可从纪录器中猎取最优和次优路线及相关数据。3 .编程提不对分组的处理及模型中的变量M、Pi、心、f而八F和下面用到的次短组巡察时间品
10、均由分组处理函数完成,因此它是解决 分组问题的关键,分组方法是:当自然分组数不大于N时,取自然分组;否那么将最短两组合并,直到组数等于N为止。与总 的设计思想相对应,程序设计应考虑多功能与通用性,以适应起点与终点相同和不同、单组和多组等各种要求。由于有提 升过程,故需一组变量存放当前最正确路线、最优值和路线终点位置等。纪录器参数组可满意人们想猎取多条最优路线的要 求。参数maxfx之值为“无穷大”,也是推断约束是否满意的依据,即满意约束时优化掌握函数值小于maxfx。三个用户函数 分别为目标函数、优化掌握函数和帮助掌握函数。优化掌握函数在未找到可行路线时为罚函数(值大于等于maxfx),否那么
11、 为0或多目标规划中减去实际目标函数值的剩余局部。帮助掌握函数实现两种掌握,一是优先纪录某种(不影响优化过程的) 特性的路线,如优先纪录均衡路线等;其二是有些问题仅要求实现一固定目标,如此题最少分组数的查找,只要两最短组 的时间之和不超过要求的时间,它们即应合并成一组,此时连续优化是多余的,应将分组数减1后重新优化。函数返回值大 于或小于等于-maxfx可区分上述两种状况。止匕外,定义了一称为优化值的变量,它是目标函数值与优化函数值之和。程序 在没有找到和已有可行路线时的处理不同,前者主要是查找可行路线,只关怀优化掌握函数值是否下降,而已有可行路线 时的关注点在优化值的转变。使用优化值而不是目
12、标函数值推断路线的优劣,是由于在很多多目标规中经常只要一个目标 的结果,且把其余局部放在优化掌握函数中可以仅计算路线转变局部的目标函数值,因而在处理多目标规划时可有更好的 性能。程序设有奇偶两种处理方式,其中偶方式为标准多目规划或只计算路线转变局部得不到目标函数值(如第4问)的情 形而设。设计奇偶方式而非固定参数,可以使程序具有对多个任务的处理力量。(三)求解对此题的求解,我们依据各问的要求和约束条件,设计相应的目标函数、优化掌握函数和帮助掌握函数,用Borland C+3.1 编程,在多台486、586及PH机上运行通过,解见结果与分析。对全部问题,编制同一组(三个)用户函数,依据处理方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 灾情 巡视 路线 优化 方案
限制150内