1.最短路问题的优化三要素
最优化问题三要素:
决策变量;目标函数;约束条件
最优化模型与方法的步骤
1.分析问题.发现、提出并形成问题,进行抽象、简化、归纳和综合.明确问题的目标、各种约束、问题的可控变量以及有关参数,搜集有关资料 2.建立模型.经过合理的假设,确定变量、参数和 目标与约束之间的关系,使用有效的模型来表示 3.求解.使用和创立各种数学方法和数学技术,对 模型求解(如最优解、次优解、近似解).借助于计 算机软件进行求解复杂的模型,并进行各种数据分 析 4.解的检验和控制.检查求解步骤和程序无误后, 检验解是否反映现实问题并进行灵敏度分析
建模时需要注意的几个基本问题
1.尽量使用实数优化,减少整数约束和整数变量 2.尽量使用光滑优化,减少非光滑约束的个数
如:尽量少使用绝对值函数、符号函数、多个变量求最大(最 小)值、四舍五入、取整函数等
3.尽量使用线性模型,减少非线性约束和非线性 变量的个数
如: x/y
2.最短路问题的单源最短路径
包括确定起点的最短路径问题,确定终点的最短路径问题(与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图中该问题与确定起点的问题完全等同,在有向图中该问题等同于把所有路径方向反转的确定起点的问题。) 。求解单源最短路径问题可以采用Dijkstra算法,时间复杂度为O(|V|^2)。Dijkstra算法可以使用斐波那契堆、配对堆等支持Decrease-Key操作的数据结构来进一步优化,优化后的时间复杂度为O(|E|+|V|log|V|)。
3.有哪些策略将结合深度加深提高论文质量
一、周密思考,慎重落笔
论文提纲 论文是一项“系统工程”,在正式动笔之前,要对文章进行通盘思考,检查一下各项准备工作是否已完全就绪。首先,要明确主题。主题是文章的统帅,动笔之前必须想得到十分清楚。清人刘熙载说:“凡作一篇文,其用意俱可以一言蔽之。扩之则为千万言,约之则为一言,所谓主脑者是也。”(《艺概》)作者要想一想,自己文章的主题能否用一句话来概括。主题不明,是绝对不能动手写文的。其次,是理清思路。思路是人订]思想前进的脉络、轨道,是结构的内在依据。动笔之前,对怎样提出问题,怎样分析问题,怎样解决问题,以及使用哪些材料等,都要想清楚。第三,立定格局。所谓“格局”,就是全文的间架、大纲、轮廓。在动笔之前先把它想好“立定”,如全文分几部分,各有哪些层次,先说什么,后说什么,哪里该详,哪里该略,从头至尾都应有个大致的设想。第四,把需要的材料准备好,将各种事实、数据、引文等找来放在手头,以免到用时再去寻找,打断思路。第五,安排好写作时间、地点。写作要有相对集中的时间,比较安静的环境,才能集中精力专心致志地完成毕业论文写作任务。
古人说:“袖手于前,方能疾书于后。”鲁迅也曾说,静观默察,烂熟于心;凝神结想,一挥而就。做好了充分的准备,写起来就会很快。有的人不重视写作前的准备,对所写的对象只有一点粗浅的认识就急于动笔,在写作过程中“边施工边设计”,弄得次序颠倒,手忙脚乱,或做或掇,时断时续,结果反而进展缓慢。所以,在起草之前要周密思考,慎重落笔。
二、一气呵成,不重“小节”
在动笔之前要做好充分的准备,一旦下笔之后,则要坚持不懈地一口气写下去,务必在最短时间内拿出初稿。这是许多文章家的写作诀窍。有的人写文章喜欢咬文嚼字,边写边琢磨词句,遇到想不起的字也要停下来查半天字典。这样写法,很容易把思路打断。其实,初稿不妨粗一些,材料或文字方面存在某些缺陷,只要无关大局。暂时不必去改动它,等到全部初稿写成后,再来加工不迟。鲁迅就是这样做的,他在《致叶紫》的信中说:
先前那样十步九回头的作文法,是很不对的,这就是在不断的不相信自己——结果一定做不成。以后应该立定格局之后,一直写下去,不管修辞,也不要回头看。等到成后,搁它几天,然后再来复看,删去若干,改换几字。在创作的途中,一面炼字,真要把感兴打断的。我翻译时,倘想不到适当的字,就把这些字空起来,仍旧译下去,这字待稍暇时再想。
否则,能因为一个字,停到大半天。这是鲁迅的经验之谈,对我们写毕业论文也极有启发。
三、行于所当行,止于所当止
北宋大文学家苏拭在谈到他的散文写作时说:“吾文如万斜泉涌,不择地而出。在乎地,滔滔汩汩,虽一日干里无难;及其与山石曲折,随地赋形而不可知也。所可知者,常行于所当行,常止于不可不止,如是而已矣。”(《文说》)苏拭是唐宋八大散文家之一,作文如行云流水,有神出鬼没之妙,旁人不可企及。但他总结的“行于所当行,止于所不可不止”,则带有一定的普遍性。
“行于所当行”,要求作者在写作时,该说的一定要说清楚,不惜笔墨。如一篇文章的有关背景,一段事情的来龙去脉,一种事物的性质特征等,如果是读者所不熟悉的,就应该在文章中讲清楚,交代明白,不能任意苟简,而使文意受到损害,以致出现不周密、不翔实的缺陷。
“止于所不能不止”,就是说,不该写的,一字也不可多写,要“惜墨如金”。如果情之所至,任意挥洒,不加节制,也不肯割爱,势必造成枝蔓横生,冗长拖杏,甚至出现“下笔千言,离题万里”的毛病。
4.在做用蚁群优化算法在道路拥堵的情况下寻找最短路径的项目,该如何
蚁群算法(ant colony optimization, ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现路径的行为。蚁群算法是一种模拟进化算法,初步的研究表明该算法具有许多优良的性质。针对PID控制器参数优化设计问题,将蚁群算法设计的结果与遗传算法设计的结果进行了比较,数值仿真结果表明,蚁群算法具有一种新的模拟进化优化方法的有效性和应用价值。
各个蚂蚁在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向环境释放一种挥发性分泌物pheromone (称为信息素,该物质随着时间的推移会逐渐挥发消失,信息素浓度的大小表征路径的远近)来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。有些蚂蚁并没有象其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能会出现一条最短的路径被大多数蚂蚁重复着。
原理
设想,如果我们要为蚂蚁设计一个人工智能的程序,那么这个程序要多么复杂呢?首先,你要让蚂蚁能够避开障碍物,就必须根据适当的地形给它编进指令让他们能够巧妙的避开障碍物,其次,要让蚂蚁找到食物,就需要让他们遍历空间上的所有点;再次,如果要让蚂蚁找到最短的路径,那么需要计算所有可能的路径并且比较它们的大小,而且更重要的是,你要小心翼翼地编程,因为程序的错误也许会让你前功尽弃。这是多么不可思议的程序!太复杂了,恐怕没人能够完成这样繁琐冗余的程序。
然而,事实并没有你想得那么复杂,上面这个程序每个蚂蚁的核心程序编码不过100多行!为什么这么简单的程序会让蚂蚁干这样复杂的事情?答案是:简单规则的涌现。事实上,每只蚂蚁并不是像我们想象的需要知道整个世界的信息,他们其实只关心很小范围内的眼前信息,而且根据这些局部信息利用几条简单的规则进行决策,这样,在蚁群这个集体里,复杂性的行为就会凸现出来。这就是人工生命、复杂性科学解释的规律!那么,这些简单规则是什么呢?
转载请注明出处众文网 » 毕业论文最短路优化问题(最短路问题的优化三要素)