基于遗传算法的多式联运组合优化
matlab 遗传算法求解多式联运问题

文章标题:使用Matlab遗传算法求解多式联运问题在现代工程和科学领域中,多式联运问题是一种重要的优化问题。
它涉及到多个运输任务的分配和路径规划,对于提高运输效率和降低成本具有重要意义。
而遗传算法作为一种基于生物进化原理的优化方法,被广泛应用于解决多式联运问题。
本文将基于Matlab评台,探讨如何使用遗传算法来求解多式联运问题,并分析其优劣势。
1. 多式联运问题的定义多式联运问题是指在给定一组供应点和一组需求点之间,寻找最佳的运输方案,使得总运输成本最小化的问题。
这涉及到从供应点到需求点的路径规划和货物分配,其中包括运输成本、运输时间、货物数量等因素。
2. 遗传算法在多式联运问题中的应用遗传算法作为一种启发式搜索算法,通过模拟自然选择和遗传机制来寻找最优解。
在解决多式联运问题时,可以将每条路径或货物分配方案编码成染色体,通过交叉、变异等遗传操作来搜索最优解。
在Matlab中,可以利用遗传算法工具箱来实现多式联运问题的求解。
需要定义适应度函数,即评价每个个体(路径或分配方案)的好坏程度。
通过遗传算法工具箱中的函数,设置种群大小、遗传代数、交叉概率、变异概率等参数,进行遗传算法的求解过程。
3. 优缺点分析遗传算法作为一种全局搜索算法,对于多式联运问题具有较好的鲁棒性和全局寻优能力。
它能够在复杂的问题空间中搜索到较优解,对于大规模问题也有较好的适应性。
但是,遗传算法也存在着收敛速度慢、参数敏感性高等缺点,需要在具体应用中综合考虑。
4. 个人观点在解决多式联运问题时,我认为遗传算法是一种有效的求解方法。
它能够在不确定和复杂的问题中找到较优解,对于实际应用具有较强的适应性。
但是在使用遗传算法时,需要注意参数的设置和适应度函数的定义,以确保算法能够有效地搜索最优解。
总结本文详细介绍了在Matlab评台上使用遗传算法求解多式联运问题的方法和思路。
遗传算法作为一种全局搜索算法,对于多式联运问题具有较好的适应性和鲁棒性。
基于遗传算法的组合优化问题求解研究

基于遗传算法的组合优化问题求解研究随着计算机技术的不断发展,各种类型的优化问题被广泛研究和应用。
其中,组合优化问题在实际生产和生活中具有重要的意义。
组合优化问题是指在一定的约束条件下,找出最优或次优的解决方案,通常涉及多个决策变量。
然而,由于组合优化问题本质上是一种NP难问题,传统的优化算法在求解过程中会遇到效率低下、易陷入局部最优、计算耗时长等问题。
因此,研究更为高效有效的求解方法,对促进组合优化问题的应用和推广具有重要意义。
基于遗传算法的组合优化问题求解研究应运而生。
一、遗传算法的原理和优势遗传算法是一种模仿自然界遗传进化过程的高效优化算法,其核心思想是通过模拟多个个体的基因重组、变异和选择等进化行为,最终获得最优解。
具体而言,遗传算法通过将优秀个体保存下来,以其为父代产生出更优秀的后代。
它是一种基于概率的优化方法,与传统的数学优化方法相比,通过随机搜索和并行计算等方式避免了陷入局部最优解的风险,从而获得更优的全局最优解。
遗传算法的另一个优势是它的复杂度相对较低,能够在理论上证明在某些情况下可以获得渐进最优解。
同时,遗传算法具有较强的鲁棒性,能够有效应对问题复杂度的快速增长,以及不同求解阶段的不确定性。
此外,遗传算法由于其自适应能力和并行计算能力,在处理大规模优化问题时,甚至能够胜过传统的数学优化方法。
二、遗传算法在组合优化问题中的应用遗传算法作为一种通用的优化方法,在组合优化问题中得到了广泛应用。
常见的组合优化问题包括旅行商问题、背包问题、资源调度问题、工厂布局问题等。
这些问题都是NP难问题,传统的算法求解困难,但是结合遗传算法可以大幅度提高求解效率。
例如,对于旅行商问题,传统的方法是采用枚举法,当城市数目增加时很容易出现维数爆炸的情况。
而使用遗传算法求解旅行商问题,只需重新定义染色体编码、选择函数和交叉变异算子等,就可以在较短时间内得到较优解。
对于背包问题,遗传算法同样可以发挥优异的求解能力。
基于遗传算法的多式联运组合优化

基于遗传算法的多式联运组合优化在当今全球化的经济环境中,货物运输的效率和成本成为了企业竞争力的关键因素之一。
多式联运作为一种综合运用多种运输方式的物流模式,能够充分发挥各种运输方式的优势,实现货物的高效、经济运输。
然而,如何优化多式联运的组合,以达到最佳的运输效果,是一个复杂的问题。
遗传算法作为一种强大的优化工具,为解决这一问题提供了有效的途径。
多式联运是指由两种及以上的运输方式相互衔接、转运而共同完成的运输过程。
常见的运输方式包括公路运输、铁路运输、水路运输和航空运输等。
每种运输方式都有其特点和适用范围,例如公路运输灵活便捷,但成本较高;铁路运输运量大、成本低,但灵活性相对较差;水路运输成本低、运量大,但运输时间长;航空运输速度快,但成本高昂。
因此,在选择多式联运的组合方式时,需要综合考虑货物的性质、运输距离、运输时间、运输成本等多个因素。
传统的多式联运组合优化方法往往依赖于人工经验和简单的数学模型,难以处理复杂的约束条件和多目标优化问题。
而遗传算法是一种基于自然选择和遗传变异原理的随机搜索算法,具有全局搜索能力强、适应性好等优点,能够有效地解决多式联运组合优化这类复杂的问题。
遗传算法的基本思想是模拟生物进化的过程。
首先,随机生成一组初始解,称为种群。
然后,通过对种群中的个体进行评价和选择,保留适应度高的个体,淘汰适应度低的个体。
适应度函数是根据优化目标和约束条件定义的,用于衡量个体的优劣程度。
接下来,对保留下来的个体进行交叉和变异操作,产生新的个体,组成新的种群。
如此反复迭代,直到满足终止条件,得到最优解或近似最优解。
在多式联运组合优化中,个体可以表示为一种运输方式的组合方案。
例如,个体可以表示为“公路运输一段距离,然后铁路运输,最后水路运输”。
适应度函数可以根据运输成本、运输时间、货物损坏率等因素来定义。
交叉操作可以是交换两个个体中部分运输方式的组合,变异操作可以是随机改变个体中某一段运输方式。
基于遗传算法的多优化目标的组合优化研究

基于遗传算法的多优化目标的组合优化研究随着科技和社会的不断发展,许多领域都面临着多种目标的组合优化问题,如交通规划、物流调度、制造业、金融投资等。
针对这些问题,单一的优化算法往往无法得到令人满意的结果。
而基于遗传算法的多目标优化算法则能够帮助解决这些复杂的组合优化问题。
遗传算法是模拟生物进化、遗传和自适应机制来解决优化问题的一种算法。
而多目标遗传算法则是基于遗传算法的多目标优化算法。
它的主要思想是在遗传操作的过程中,同时考虑多个目标函数,并根据一定的策略筛选出最优的结果。
那么,对于一个组合优化问题,如何使用多目标遗传算法进行求解呢?首先,需要明确组合优化问题的目标函数。
例如,对于一个物流调度问题,可能需要考虑货物的数量、运输时间和成本等多个因素。
接下来,需要设计合适的遗传编码和适应度函数。
遗传编码可以将问题的解表示为一个个体,而适应度函数则用于评估每个个体的优劣程度。
对于多目标优化问题,适应度函数需要同时考虑多个目标函数的值。
常见的多目标适应度函数包括加权和法和ε约束法等。
设计好遗传编码和适应度函数后,就可以开始进行多目标遗传算法的求解了。
通常使用的多目标遗传算法包括NSGA、MOEA/D、VEGA等。
这些算法都有自己的特点和适用范围,需要根据具体问题进行选择。
除了多目标遗传算法外,还有一些其他的多目标优化算法,如粒子群优化算法(PSO)、蚁群算法(ACO)等。
这些算法也可以用于解决多优化目标的组合优化问题。
与遗传算法相比,它们可能具有不同的优劣点和适用场景,需要根据具体问题进行选择。
总的来说,基于遗传算法的多目标优化算法是一种有效的解决多优化目标的组合优化问题的方法。
但在实际应用中,还需要关注算法的效率、可扩展性和可解释性等问题,以保证算法的实用性和稳定性。
未来,基于遗传算法的多目标优化算法将有更广泛的应用和发展。
基于遗传算法的集装箱多式联运优化

基于遗传算法的集装箱多式联运优化摘要集装箱多式联运打破了传统运输行业单一的由铁路,公路,水路,航空承担的运输方式,而将这些运输方式有机的结合起来,构成了一种联合运输方式,不仅提高运输效率,同时也起到了降低运输成本的作用,是交通运输的主要发展方向和重要运输组织形式。
本文介绍了多式联运的特点,并结合我国铁路集装箱运输的实情,提出开展集装箱多式联运无缝运输的观点并建立模型。
通过遗传算法对模型进行仿真,结果表明系统的有效性。
关键词多式联运;集装箱运输;遗传算法中图分类号F224 文献标识码 A 文章编号1673-9671-(2012)082-0128-021 背景及意义随着经济全球化进程的不断加快,运输行业对经济发展的起着居住轻重的作用。
多式联运是把整个运输过程作为一个整体的运输服务来满足运输需求,更加适应现在经济的发展。
简单的讲,多式联运即最少由两种或两种运输方式以上组成的,只要一次托运、一次收费、有承运人全程负责,为托运人提供“门到门”运输服务。
集装箱多式联运是以集装箱运输的基础上发展起来的新型的运输方式。
即把铁路运输、公路运输、海洋运输、航空运输以及内河运输这些传统的运输方式通过使用集装箱运输有机的结合起来,进行全局优化,形成的一种连贯的运输方式。
集装箱多式联运使各种运输方式的内在优势充分得到发挥,极大的降低了货物在运输过程中的转载时间和运输成本,提高了运输效率。
在国际货物运输中扮演着越来越重要的角色。
在我国铁路已有强大的运输网络,且铁路运输自身有着运输速度快,运费低等优点,在大规模稳定的长距离运输运输中占有较强的优势。
铁路集装箱运输办理站遍布全国,平均铁路集装箱运输距离都在2000 km以上,所以在集装箱多式联运迅猛发展的当今形势下,铁路作为经营人具有天然的网络优势和资源优势,必将面临重大的发展机遇。
2 集装箱多式联运方式的选择标准集装箱多式联运是多种运输方式的整合,是实现整体运输最优效益为运输目标运输组织方式。
货车调度中基于遗传算法的多目标优化问题求解

货车调度中基于遗传算法的多目标优化问题求解随着全球经济的发展,货运行业也日益繁荣。
在许多行业中,货运是非常重要的一环。
货车是运输货物的主要手段之一,然而,货车调度问题是一个复杂的多目标优化问题。
为了解决这个问题,许多优化算法已经被提出并应用。
本文将重点论述基于遗传算法的多目标优化问题的求解算法。
货车调度问题的定义货车调度问题是一种旅行商问题(TSP),其目标是找到一组行程,使货车在最小的时间或里程下有效地运输多个货物。
由于货车的数量和可用时间是有限的,所以货车调度问题是一个复杂的组合优化问题,导致整个货车运输系统的效率低下。
有两种主要的方法用于解决货车调度问题:精确算法和启发式算法。
然而,由于精确算法往往时间复杂度高,而启发式算法在寻找最优解时往往在不同维度会产生偏差,因此,基于遗传算法的多目标优化算法在货车调度问题解决中很受欢迎。
基本遗传算法的优化过程基因算法是通过模拟生物进化过程来进行优化的一种算法。
具体地,基因算法将个体表示为基因序列,通过交叉和变异的操作来产生新的基因序列,并选择适应性最强的个体作为下一代。
遗传算法框架包括以下几个关键步骤:1. 初始化种群在算法的初始阶段,需要定义种群中个体的数量和基因序列的长度。
每一个个体都是一个基因序列。
通常,第一代的基因序列是随机生成的。
2. 选择操作在每一代中,需要选择适应性最好的个体作为下一代的父母。
这样可以避免全局最优解的丢失。
3. 交叉操作交叉是将两个父亲的某些基因序列交换,产生新的后代。
这有助于避免过早收敛并维持种群的多样性。
4. 变异操作变异是在个体基因序列中随机修改某些基因,以产生新的个体。
变异是保持种群多样性的一种方法。
5. 评价操作评价操作是计算每个个体的适应值。
适应值可以是多个目标函数的组合,以便解决多目标优化问题。
6. 选择新种群通过计算每个个体的适应值,从所有个体中选择最好的个体,并将其添加到下一代种群中。
通过这些操作,遗传算法可以逐渐改进每一代的个体,在优化问题上达到更好的效果。
基于遗传算法的组合优化问题研究

基于遗传算法的组合优化问题研究随着信息技术的发展和应用范围的扩大,组合优化问题逐渐成为人们关注的焦点之一。
组合优化问题是指在给定的规则下,通过求解一组元素的组合,以求得一种最好的解决方案的问题。
组合优化问题已广泛应用于人工智能、数据挖掘、互联网搜索、交通运输等领域。
但组合优化问题的规模往往很大,求解难度非常高。
因此,需要使用一种高效的算法来处理。
遗传算法是一种模拟自然进化过程的优化算法,它通过模拟自然界中遗传和进化的规律,逐渐得到一个最优解。
遗传算法在组合优化问题中得到广泛应用。
一. 遗传算法基本原理遗传算法是一种基于生物进化学的优化算法,它通过模拟自然进化过程来解决各种问题。
遗传算法包含四个基本操作:选择、交叉、突变和适应度评估。
1.选择选择是遗传算法中最重要的操作,它根据目标函数对种群中的个体进行筛选,筛选的方法常用的有:轮盘赌选择、竞争选择、锦标赛选择。
2.交叉交叉是指将两个个体进行交换染色体片段,从而产生新的个体。
在遗传算法中,交叉是使种群变化和进化的主要方法。
3.突变突变是指在个体基因中随机产生变异或插入新基因的过程。
突变是保证种群多样性,提高种群的搜索能力的一种方法。
4.适应度评估适应度评估是指衡量个体质量的指标,在遗传算法中,适应度值越高的个体越容易被选择和繁殖。
二. 组合优化问题的遗传算法解决方法1.背包问题的遗传算法求解背包问题是一种最经典的组合优化问题,它在众多的组合优化问题中有着特殊的地位。
遗传算法求解背包问题的步骤有:(1)初始化种群:随机产生一定数量的个体,并随机生成每个个体的染色体;(2)适应度评估:计算每个个体背包中放置物品的总价值和总体积,计算适应度函数;(3)选择:根据适应度值进行选择,选出一定数量的优良个体;(4)交叉:选出的优良个体进行交叉,产生新的个体;(5)突变:对所有个体进行随机变异,保证种群的多样性;(6)迭代:通过不断地重复上述过程,直到找到最优解或到达设定的迭代次数。
利用遗传算法解决组合优化问题

利用遗传算法解决组合优化问题随着科技的不断进步,人类社会正越来越依赖计算机技术。
对于很多问题而言,找到最优的解决方案可以让我们得到最大化的效益。
但是对于组合优化问题而言,找到最优解并不是一件简单的事情。
常规的算法在解决大规模问题时常常陷入困境,难以得到最优解,因此面对这样的问题,研究人员寻求更为高效的算法进行求解。
而在组合优化问题的求解过程中,遗传算法成为了一种非常有力的工具。
遗传算法的核心思想是基于自然选择理论,对每一个备选解生成一个染色体,并通过模拟自然选择和遗传操作来不断地进化出更加优秀的解。
下面我们将详细介绍如何利用遗传算法提高组合优化问题的求解效率。
一、遗传算法的基本流程遗传算法是一种通过模仿生物遗传学中的进化原理,不断进化求解问题的一种方法。
通俗来说,我们可以把遗传算法看作一种从优秀个体中通过自然选择,不断筛选和改进,最终获得最优化解的一种算法。
通常情况下,遗传算法的求解过程可以简单归纳为以下几步:1. 初始化群体:首先我们需要确定一定数量的染色体,生成初始的群体。
这些染色体可以通过多种方式生成,比如直接随机生成、通过已知的优秀解生成等。
若干数量的染色体组成的群体就是种群。
2. 适应度评估:在种群中的每个染色体都需要计算其适应度,也就是解决问题的能力。
一般情况下,适应度评估是通过代价函数来实现的。
3. 选择运算:适应度评估完成后,我们需要选择一些适应度较高的染色体保留下来。
这里有多种选择方式,比如轮盘赌、锦标赛选择等。
4. 交叉运算:保留下来的染色体可能还需要进一步优化。
通过交叉运算,将两个染色体的部分基因进行交换可以得到两个新的染色体。
交叉运算可以增强群体的多样性。
5. 变异运算:在交叉操作之后,为了不陷入局部最优解,我们需要对部分染色体进行变异,以增加搜索空间的广度和深度。
6. 新群体形成:经过上述操作,新的染色体形成了。
利用这些染色体更新原有的种群,完成一轮演化。
7. 判断结束条件:将新的染色体送回第二步,不断迭代处理直到满足结束条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章基于遗传算法的集装箱多式联运运输组合优化模型的求解4.1 遗传算法简介4.1.1 遗传算法遗传算法(Genetic Algorithm,GA)是在20世纪六七十年代由美国密歇根大学的Holland J.H.教授及其学生和同事在研究人工自适应系统中发展起来的一种随机搜索方法,通过进一步的研究逐渐形成了一个完整的理论和方法体系取名为基本遗传算法(Simple Genetic Algorithm)。
在接下来几年的研究过程中Holland在研究自然和人工系统的自适应行为的过程中采用了这个算法,并在他的著作《自然系统和人工系统的适配》中对基本遗传算法的理论和方法进行了系统的阐述与描写,同时提出了在遗传算法的理论研究和发展中具有极为重要的作用的模式理论,它的编码技术和遗传操作成为了遗传算法被广泛并成功的应用的基础,经过许多学者多年来的研究,遗传算法逐渐成熟起来,到现在已经成为了一个非常大的体系,广泛的应用于组合优化、系统优化、过程控制、经济预测、模式识别以及智能控制等多个领域。
De Jong于1975年在他的博士论文中设计了一系列针对于各种函数优化问题的遗传算法的执行策略,详细分析了各项性能的评价指标。
在此基础上,美国伊利诺大学的Goldberg于1989年系统全面的阐述了遗传算法理论,并通过例证对遗传算法的多领域应用进行了分析,为现代遗传算法的研究和发展奠定了基础。
遗传算法是一种模仿基于自然选择的生物进化过程的随机方法,它以类似于基因的编码作为种群的个体,首先,随机的产生初始种群的个体,从这个群体开始进行搜索,根据类似于生物适应能力的适应度函数值的大小,按照不同问题各自的特点,在当前的种群中运用适当的选择策略选择适应能力大的个体,其中所选择出来的个体经过遗传操作、交叉操作以及变异操作产生下一代种群个体。
如此反复,像生物的进化过程一样逐代进化,直到满足期望的终止条件为止。
4.1.2遗传算法的基本结构遗传算法是由种群、染色体、适应度函数三个基本要素所组成的,其中种群是由作为个体的染色体组合而成的,适应度函数是对解的优劣程度进行评价的一个函数。
遗传算法不同于其他搜索算法之处在于,它的搜索过程中的每一步操作都是对整个种群进行的搜索,然后再按照每个染色体被选为优质个体的概率重新安排个体在种群中的顺序,最后根据优胜劣汰、适者生存的生物进化原理对种群进行演化操作,这时候,首先需要根据个体的适应度函数从当前的种群中挑选出相对优等的染色体,其中个体被选择的概率是根据适应度函数来确定的,对选择出来的优质个体,通过一定的交叉、变异操作产生新的个体,其中,交叉操作是对已选出的优等染色体编码进行位置的互换,变异操作是对某一染色体上某个编码位置进行随机的变化。
经过选择、交叉、变异操作之后,新产生的一些染色体构成了新的种群。
遗传算法的实现过程主要包括编码、初始化种群、适应度计算、选择、交叉、变异等六个主要的遗传操作。
利用遗传算法对问题进行求解的流程如图4.1所示,具体操作步骤如下所述:图4.1遗传算法的过程第一步,确定种群(population)的规模。
首先根据特定问题的大小以及可行解的多少确定合适的种群规模,也就是在应用遗传算法求解问题时初始种群中个体的数量。
第二步,对个体进行编码,产生初始种群。
编码是遗传算法进化过程的基础,影响着算法的搜索能力、种群的多样性等性能。
在对个体编码的时候需要根据特定问题的具体特点确定适当的编码方法,如二进制编码、浮点数编码、字符编码等编码方法(如二进制编码、浮点数编码、字符编码等编码方法),随机地产生由可行解组成的初始种群,这是应用遗传算法进行优化求解的开始,然后,该算法会通过一些模拟生物进化过程中的优胜劣汰规律的操作,包括遗传操作、选择操作、交叉操作、变异操作(包括遗传操作、选择操作、交叉操作、变异操作),得出种群中的最优个体,即为问题的最优解。
第三步,设计适应度函数(fitness function)。
适应度函数是用来计算群体中的个体对环境的适应程度的函数,适应度值在遗传算法中表示个体被遗传到下一代种群的概率大小,它是个体进化的主要依据。
个体的适应度值是用来对种群中的每个染色体的优劣程度进行评价的唯一依据,对种群的操作包括选择、交叉、变异等操作都是根据个体的适应度值来进行的。
一般来说,适应度值越大,遗传到下一代的可能性就会越大,在求得个体的适应度值之后,一般都会将个体按照适应度值进行排序,以便于下一步所进行的选择操作。
第四步,选择操作(selection)。
在对种群进行个体的选择之前,首先确定在进行选择的时候所根据的规则和方法,选择操作一般以将个体的适应度值作为依据,按照所选定的选择方法从当前的种群中选出适应度高的优质个体,作为进行下一代遗传操作的种群中的父代进一步繁殖子孙。
遗传算法中的选择操作在本质上就是一种优胜劣汰的操作,选择操作所依据的原则是适应性强,即为个体为下一代的贡献能力大。
第五步,交叉操作(crossover)。
交叉操作是对两个父代染色体的部分结构进行替换重组生成新的个体的运算过程,是遗传算法中产生新的个体的重要方式。
具体的操作过程是这样的,首先将已经选择出来的个体,按照一定的方法搭配成对,以一定的交叉概率对每一对染色体中的部分基因进行交换重组,产生可以描述父辈个体特性的新个体。
第六步,变异(mutation)操作。
变异操作本身是一种局部随机搜索方法,其目标是保持种群个体的多样性,保证遗传算法的有效性。
具体操作过程是将从群体中随机选出来的某一个个体按照一定的变异率对其染色体结构中的某个或某几个串值进行随机的改变产生新的个体,保持个体的多样性。
第七步,判断终止的条件。
如果个体达到了运算终止的条件,那么该搜索过程也就完成了,然后输出群体中具有最大适应度值的个体,这就是问题的最优解,到此整个遗传算法的搜索过程也就结束了,如果没有达到终止条件,则对第二步到第六步迭代执行。
4.1.3 遗传算法的优势1975年Holland提出并研究遗传算法主要有两个目标:第一是用简单的位串编码的形式来实现对各种复杂的结构的表示;第二要通过简单的变换来改进这种复杂的结构。
遗传算法是一种具有运算速度快、容错性强、有较强的鲁棒性的、简便的随机搜索算法,在求解并优化各类结构对象的过程中优势显著。
相比传统的枚举法、启发式算法、搜索方法等主要的优化算法而言,遗传算法具有以下六大优势:(1)遗传算法具有自组织性、自适应和自学习性。
在运用遗传算法对问题进行求解的时候,算法将利用已经确定的编码方案、适应度函数自己组织进化过程对问题的解进行搜索,在进化的过程中按照一定的概率进行基因重组和基因突变等遗传操作。
遗传算法的这种特性使得该算法能够根据环境的变化自动的发现规律;(2)传算法是以决策变量的编码为其运算对象的。
因此,算法才能够根据染色体和基因的原理通过模拟生物的遗传进化过程来完成问题的求解和优化过程;(3)并行性。
遗传算法在本质上是并行性的。
遗传算法是按照并行的方式对种群进行搜索,主要表现在两方面,一是内在并行性(inherent parallelism)遗传算法适合大规模的并行运算。
可以先让多台计算机各自进行独立的种群进化计算,各自运算完成后相互之间才进行通信比较以选择最佳的个体,二是内含并行性(implicit parallelism)遗传算法的种群方式搜索,能够同时对解空间内的多个区域进行搜索,在搜索的过程中相互交流信息,这种并行方式极大的降低了遗传算法计算过程的时间复杂度;(4)算法简单。
遗传算法无需进行求导、求微积分或者其他的辅助运算等数学方面的要求,而是直接以目标函数和所确定的适应度函数为方向进行搜索,而且遗传算法可以直接应用于问题的求解过程;(5)遗传算法对问题的求解,产生的可以是一个最优解,也可以是多个潜在解,因此问题最终的解是可以由使用者根据具体的情况进行选择确定的。
(6)遗传算法适用范围广泛,任何形式的目标函数,包括单目标和多目标函数,和约束条件都可以运用遗传算法来求解。
4.1.4 遗传算法的应用由于遗传算法具有以上所述的种种优势,同时遗传算法作为一种全新的搜索与优化方法,广泛的应用于很多的学科领域,尤其是在对复杂系统的简单化及优化操作上。
最近这几年里,由于遗传算法对问题的具体领域没有什么特别的要求,其在函数优化、组合优化、机器人智能控制、生产调度问题等不同的领域都得到了成功的应用。
(1)函数优化。
函数优化作为遗传算法的经典应用领域,是评价遗传算法性能的最常用的算例,如今各种复杂形式的函数被许多的学者构造出来作为测试函数用来对遗传算法性能进行评价。
既有连续函数、凸函数、确定函数,也包括离散函数、凹函数、随机函数等。
在运用遗传算法对非线性、多目标、多模型的函数优化问题进行求解会比其他优化算法更方便、简单并且能够得到更好的解。
(2)组合优化组合优化问题是运筹学的一个经典分支,它是采用数学方法对一个离散问题进行求解寻找最优分组、筛选或次序等,这类问题的搜索空间会随着问题规模的变大而迅速的增大,因此用枚举法等传统的优化算法求解会比较困难,甚至可能得不到精确的最优解。
而采用遗传算法可以得到令人们满意的解,求解起来也比较简单、方便。
实践证明,在求解组合优化问题中的NP完全问题时是非常有效的,比如说在对旅行商问题、装箱问题、背包问题等问题进行求解中都已经取得了非常好的效果。
(3)机器人智能控制遗传算法本身就是起源于对人工自适应系统的研究过程中,因而机器人智能控制也就理所当然地成为了遗传算法的一个重要应用领域。
目前,遗传算法已经广泛应用在移动机器人的路径规划方面、关节的运动轨迹、细胞机器人的结构优化和行动协调等方面。
(4)生产调度问题当前的生产调度问题主要根据调度人员的经验安排的,一般的调度问题的数学模型都很难求得精确的最优解。
即使通过一系列的简化运算能够求解模型,但是太多的简化容易使所得到的结果与实际问题有很大的差距,导致模型与实际不相符合,然而在采用了遗传算法这个计算机工具后,这些复杂的问题也能够在有效地时间里求得满意解,遗传算法的出现与完善极大的简化了对车间调度、流水线生产、任务分配以及生产规划等方面问题的求解,为现实生产生活中的调度问题提供了参考依据。
除此之外,遗传算法也已经被广泛应用于自动控制、图像处理与模式识别、医学工程、人工生命等生产生活的各个方面,并取得了较大的成果,提高了生产效率,进一步提高了经济效益。
4.2 基于遗传算法的多式联运组合优化模型求解设计遗传算法的搜索过程是从随机产生的一个种群开始的,其中,种群是由问题可行解所组成的,在种群中被称为染色体,它是由多个基因组成的一个集合。
在搜索的过程中,根据优胜劣汰、适者生存的进化原理,逐代演化以得到越来越好的近似最优解,在每一代中用来评价染色体用来评价染色体好与不好的标准是适应度值,这也是用来选择进入下一代遗传的个体的依据,一般的适应度值高的染色体被遗传到下一代中的概率相对比较高。