导航:首页 > 源码编译 > 遗传算法搜索参数

遗传算法搜索参数

发布时间:2022-11-04 14:20:49

㈠ 给定函数式怎样利用遗传算法计算参数示例

遗传算法(Genetic Algorithm)是一类借鉴
生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。
​遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。
对于一个求函数最大值的优化问题(求函数最小值也类同),一般可以描述为下列数学规划模型:式中x为决策变量,式2-1为目标函数式,式2-2、2-3为约束条件,U是基本空间,R是U的子集。满足约束条件的解X称为可行解,集合R表示所有满足约束条件的解所组成的集合,称为可行解集合。

㈡ 求遗传算法的参数

/* 种群大小 */
#define POPSIZE 50

double pc; /* 交叉概率 */
double pm; /* 交换变异概率 */
double pw; /* 反转变异概率 */
double pn; /* 新增概率 */

pc=0.7;
pm=0.8;
pw = 0.3;
pn = 0.3;

迭代数,忘记了。我从5,到500都跑了一遍。对比了结果。
你可以选择一个觉得合适就行了

=========================================
遗传算法的文献很多。
你可以去google上面搜。或者去wikipedia上面找找最经典的文献。其实很简单。参数的调整,可以用程序来自动寻找。比如迭代次数,我是把迭代次数从5,10,50,100,200,500这些都跑了一遍,最后选择已经接近收敛的那个就行了。其实遗传算法因为是一个通用算法,所以肯定是比较慢的。如果有heuristic算法,一般都会比遗传算法收敛快很多。

㈢ 遗传算法的特点

遗传算法具有十分顽强的鲁棒性[56,53],这是因为比起普通的优化搜索方法,它采用了许多独特的方法和技术,归纳起来,主要有以下几个方面。

遗传算法的处理对象不是参数本身,而是对参数集进行了编码的个体。此编码操作,使得遗传算法可直接对结构对象进行操作。所谓结构对象泛指集合、序列、矩阵、树、图、链和表等各种一维或二维甚至三维结构形式的对象。这一特点,使得遗传算法具有广泛的应用领域。比如:

①通过对连接矩阵的操作,遗传算法可用来对神经网络或自动机的结构或参数加以优化;②通过对集合的操作,遗传算法可实现对规则集合或知识库的精炼而达到高质量的机器学习目的;③通过对树结构的操作用遗传算法可得到用于分类的最佳决策树;④通过对任务序列的操作,遗传算法可用于任务规划,而通过对操作序列的处理遗传算法可自动构造顺序控制系统。

如前所述许多传统搜索方法都是单点搜索算法,即通过一些变动规则,问题的解从搜索空间中的当前解(点)移到另一解(点)。这种点对点的搜索方法,对于多峰分布的搜索空间常常会陷于局部的某个单峰的优解。相反,遗传算法是采用同时处理群体中多个个体的方法,即同时对搜索空间中的多个解进行评估,更形象地说,遗传算法是并行地爬多个峰。这一特点使遗传算法具有较好的全局搜索性能,减少了陷于局部优解的风险,同时这使遗传算法本身也十分易于并行化。

在标准的遗传算法中,基本上不用搜索空间的知识或其他辅助信息,无需导数或其他辅助信息,而仅用适应度函数值来评估个体,并在此基础上进行遗传操作。需要着重提出的是,遗传算法的适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。对适应度函数的惟一要求是,对于输入可计算出加以比较的正的输出。遗传算法的这一特点使它的应用范围大大扩展。

图7-1 基本遗传算法的框图

遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导它的搜索方向。在以后的章节中我们将会看到,遗传算法采用概率仅仅是作为一种工具来引导其搜索过程朝着搜索空间的更优化的解区域移动。因此虽然看起来它是一种盲目搜索方法,但实际上有明确的搜索方向。

遗传算法利用简单的编码技术和繁殖机制来表现复杂的现象,从而解决非常困难的问题。特别是由于它不受搜索空间的限制性假设的约束,不必要求诸如连续性、导数存在和单峰等假设,它能从离散的、多极值的、含有噪音的高维问题中以很大的概率找到全局最优解;其次,由于它固有的并行性,遗传算法非常适用于大规模并行计算。遗传算法目前已经在优化、机器学习和并行处理等领域得到了越来越广泛的应用。

㈣ 用改进遗传算法求取水文地质参数

任广军1 张勇2

(1.山东省鲁南地质工程勘察院,兖州272000;2.山东省地矿工程集团有限公司,济南250013)

作者简介:任广军(1972—),男,工程师,主要从事水文地质、环境地质等。

摘要:本文利用非稳定流抽水试验资料,采用改进的十进制遗传算法在计算机上自动优选含水层水文地质参数。该方法同传统上使用的配线法相比较,具有节省时间,减少人工配线误差,所求参数逼真,且能对一些线性、非线性问题求解,具有很高的推广和应用价值。

关键词:遗传算法;随机模拟;含水层;水文地质参数;优选

0 引言

利用改进的十进制遗传算法,根据抽水试验资料来认识水文地质条件、反求水文地质参数是水文地质计算中的基本问题。具体地讲,在探明含水层范围、类型的基础上,建立描述该含水层水流运动模型,利用抽水试验过程中的地下水位变化过程资料来确定水文地质参数。

虽然非稳定抽水试验公式适用条件非常苛刻,但能反映出含水层非稳定流的一些基本特点,还可运用叠加原理解决某些比较复杂的非稳定流问题。此外,作为检验数值方法精确性的重要依据,具有广泛应用和发展前景。

目前,由于非稳定流抽水试验确定水文地质参数的具体实现方法主要有人工配线法或以计算辅助的配线法,但这种方法的效果好坏完全取决于肉眼观察,带有很大的主观性。本文作者选取了一些典型实例,采用遗传算法建立了一种计算机全自动求参的全局优选法,通过与人工配线分析比较,确定本方法计算机求参的高精度与高可靠性。

求取参数是通过实测结果与模型计算结果的最佳拟合(仿真)程度来实现的,参数的精确程度在很大程度上取决于实测资料的精度。

1 遗传算法介绍

生物的进化是一个奇妙的优化过程,它通过选择淘汰,突然变异,基因遗传等规律产生适应环境变化的优良物种。遗传算法是根据生物进化思想而启发得出的一种全局优化算法。

遗传算法的概念最早是由Bagley J.D在1967年提出的;而开始遗传算法的理论和方法的系统性研究的是1975年,这一开创性工作是由Michigan大学的J.H.Holland所实行。当时,其主要目的是说明自然和人工系统的自适应过程。

遗传算法简称GA(Genetic Algorithm),在本质上是一种不依赖具体问题的直接搜索方法。遗传算法在模式识别、神经网络、图像处理、机器学习、工业优化控制、自适应控制、生物科学、社会科学等方面都得到应用。在人工智能研究中,现在人们认为“遗传算法、自适应系统、细胞自动机、混沌理论与人工智能一样,都是对今后十年的计算技术有重大影响的关键技术”。

2 目标函数的确定

通过综合考虑计算程序的运算时间、速度以及含水层的类型,确立利用抽水实测资料和计算资料的拟合程度为目标函数。其计算公式为:

山东省环境地质文集

式中:s实测为实测抽水试验观测孔的降深;s计算为计算抽水试验观测孔的降深;NT为计算时段。

3 计算实例及结果分析

3.1 承压含水层地下水降深公式

承压含水层地下水降深公式为:

山东省环境地质文集

式中:S为以固定流量Q抽水时与抽水井距离为r处任一时间的水位降深(m);T为导水系数;Q为涌水量;W(u)为井函数,是一个指数积分函数:

山东省环境地质文集

式中:u为井函数的自变量,

其中s为承压含水层的储存系数;T为含水层的导水系数;t为时间。

例1:某地区进行非稳定流抽水试验。区域地层剖面是:地表下18~25 m是由含砾粗砂层组成的含水层,其底板由粘土质沉积物组成,18 m以上是粘土、泥炭层。抽水井的过滤器安装在含水层的整个厚度上。观测孔距抽水井30m,观测资料如表1所示。主井作定流量抽水,Q=788m3/d,抽水接近14小时。试根据观测资料求取水文地质参数。

(1)lgS-lgt配线法所求参数:T配线=439m2/d,s配线=1.694×10-4

(2)S-lgt直线图解法所求参数:T配线=450.7m2/d,s配线=1.392×10-4

(3)计算机所求参数:T=383.0088m2/d,s= 1.78×10-4

为更直观地说明上述所求参数的可靠性,由上述参数所求计算降深与实测降深进行比较(图1)。通过比较,进一步确定了计算机求参的高精度与稳定性。承压含水层配线参数与优选参数比较分析:T配线=439m2/d,s配线=0.0001694;T计算=383.0088m2/d,s计算=0.0001780。

表1 遗传算法计算水位降深与实测水位降深结果表

图1 计算降深与实测降深比较图

3.2 在有越流补给的承压含水层地下水降深公式

在有越流补给的承压含水层地下水降深公式为:

山东省环境地质文集

式中:u同(3)式;

为越流井函数,本文中

采用数值积分:

山东省环境地质文集

例2:有一无限分布的承压含水层,厚度20m,其底部为绝对隔水的粘土层;上部为弱透水的亚砂土层,厚2m;弱透水层之上为潜水含水层。在承压含水层中有一完整抽水井,抽水时的稳定流量Q=5530m3/d。距抽水井r=17.34m处有一观测孔据观测知,在抽水过程中上部潜水的水位不变。抽水层的水位降深值载于表2,试计算含水层水文地质参数。

(1)lgS-lgt配线法所求参数:T配线=853.50m2/d,s配线=4.20×10-4;B配线=568.50m;

(2)lgS-lgt配线法所求参数:T计算=817.19m2/d,s计算=4.31×10-4;B计算=482.80m。

为更直观地说明上述所求参数的可靠性,由上述参数所求计算降深与实测降深进行比较(图2)。通过比较,进一步确定了计算机求参的高精度与稳定性。有越流时承压含水层优选参数误差分析:T配线=853.50m2/d,s配线=0.00042,B配线=568.50m;T计算=817.1950m2/d,s计算=0.00043103,B计算=482.798m。

表2 遗传算法计算水位降深与实测水位降深结果表

续表

图2 计算降深与实测降深比较图

3.3 考虑有滞后补给的潜水含水层地下水降深公式

根据博尔顿理论,潜水含水层地下水降深公式计算公式可分为抽水前期、抽水中期和抽水后期。参数优选主要根据抽水前期和抽水后期的资料拟合而得:

山东省环境地质文集

其中D为疏干因子。

抽水前期计算公式:

抽水后期计算公式:同(2)式。

4 结论及不足之处

4.1 结论

通过上述实例计算结果表明:计算结果同人工加以计算机辅助配线法相比较,其计算水文地质参数精度较高,且其参数初值依赖程度较低,对于复杂的线性、非线性及多态性、多峰值问题在全局优化方面有着其他方法所无法比拟的优势,具有很高的推广和应用价值。

4.2 不足之处

遗传算法虽然可以在多种领域都有实际应用,并且也展示了它潜力和宽广前景;但是,遗传算法还有大量的问题需要研究,目前也还存在着各种不足。首先,在变量多,取值范围大或无给定范围时,收敛速度下降;其次,可找到最优解附近,但无法精确确定最优解位置;最后,遗传算法的参数选择尚未有定量方法。对于遗传算法,一是还需要进一步研究其数学基础理论;二是还需要在理论上证明它与其他优化技术的优劣及原因;三是还需研究硬件化的遗传算法;以及遗传算法的通用编程和形式等。此外,对于地下水渗流问题的数值解反求多类各种水文地质参数虽有成功实例,对于运算速度问题,还存在着相当大的难度。

参考文献

陈崇希,唐仲华.1990.地下水流动问题数值方法.武汉:中国地质大学出版社

陈喜.1998.含水层水文地质参数自动优选方法.工程勘察,(2)

郭东屏.1994.地下水动力学.西安:陕西科学技术出版社

GB 50027—2001 供水水文地质勘察规范

李俊亭,王愈吉.1987.地下水动力学.北京:地质出版社

刘宝碇,赵瑞清,王纲.2003.不确定规划及应用.北京:清华大学出版社

朱国祥,王峰.1999.利用配线法水文地质参数计算机程序简介.工程勘察,(3)

邹正盛,赵智荣.2001.浅析抽水水文地质参数确定中的问题.水文地质工程地质,(3)

㈤ 遗传算法的中心思想

遗传算法是通过大量备选解的变换、迭代和变异,在解空间中并行动态地进行全局搜索的最优化方法,由于遗传算法具有比较完备的数学模型和理论,在解决很多NP—Hard问题上具有良好的性能。

遗传算法以一种群体中的所有个体为对象,并利用随机化技术指导对一个被编码的参数空间进行高效搜索。其中选择、交叉和变异构成了遗传算法的遗传操作,参数编码、初始群体的设定、适应度函数的设计、遗传操作设计、控制参数设定五个要素组成了遗传算法的核心内容。

(5)遗传算法搜索参数扩展阅读:

遗传算法注意事项:

用户需要注意遗传算法的优化过程中种群基因的多样性是保障避免陷入局部最优解的重要因素,如果目标函数优化结果过早收敛很可能就是因为种群的多样性不足。

为了保证种群的多样性,其中编码、适应度函数设计尤为重要。

适应度的含义就是字面意思,这个个体是否可以适应环境也即是否满足优化目标指标。因为后续需要根据适应度函数进行自然选择,因此适应度函数和你的目标函数并不需要完全一样。

㈥ 遗传算法有哪些基本运行参数,其值一般设为多少

遗传算法在matlab里有两个函数,分别是ga和gaoptimset,前者用来调用遗传算法,后者用来设定遗传算法的参数,具体内容可以docga查看,遗传算法有哪些参数可以直接在命令窗口输入gaoptimset查看,祝好。

㈦ 请问怎样确定遗传算法的参数

遗传算法的参数设计对于不同的实际问题都不同
目前还没有完整的理论来参考

种群大小越大 收敛效果越好 但计算量也会增大
在空间复杂度(内存大小)和计算速度允许的情况下 尽量大一些 不过如果问题的解空间不大或者是变化的话 则要另加考虑(解空间不大就没必要把种群定得很大了)

交叉率。。。一般都是全部参与交叉(染色体都会交叉嘛) 只是交叉方式的设计问题,有单点,多点,随机等等 另外还要考虑交叉后解的可行性 对于具体问题,可以各种方法都试一下(这方面的理论实在是很弱)

变异率不要设高,一般在%5以下,变异是为了避免把个体局限在较优的局部解空间内(模拟退火算法就有这个问题,所以经常会结合遗传算法)

总结一下,这个算法的理论支持目前还较弱,但是很实用,反正算得快,多算几遍,参数多改改,一般和近似解都很接近

㈧ 遗传算法的优缺点

优点:

1、遗传算法是以决策变量的编码作为运算对象,可以直接对集合、序列、矩阵、树、图等结构对象进行操作。这样的方式一方面有助于模拟生物的基因、染色体和遗传进化的过程,方便遗传操作算子的运用。

另一方面也使得遗传算法具有广泛的应用领域,如函数优化、生产调度、自动控制、图像处理、机器学习、数据挖掘等领域。

2、遗传算法直接以目标函数值作为搜索信息。它仅仅使用适应度函数值来度量个体的优良程度,不涉及目标函数值求导求微分的过程。因为在现实中很多目标函数是很难求导的,甚至是不存在导数的,所以这一点也使得遗传算法显示出高度的优越性。

3、遗传算法具有群体搜索的特性。它的搜索过程是从一个具有多个个体的初始群体P(0)开始的,一方面可以有效地避免搜索一些不必搜索的点。

另一方面由于传统的单点搜索方法在对多峰分布的搜索空间进行搜索时很容易陷入局部某个单峰的极值点,而遗传算法的群体搜索特性却可以避免这样的问题,因而可以体现出遗传算法的并行化和较好的全局搜索性。

4、遗传算法基于概率规则,而不是确定性规则。这使得搜索更为灵活,参数对其搜索效果的影响也尽可能的小。

5、遗传算法具有可扩展性,易于与其他技术混合使用。以上几点便是遗传算法作为优化算法所具备的优点。

缺点:

1、遗传算法在进行编码时容易出现不规范不准确的问题。

2、由于单一的遗传算法编码不能全面将优化问题的约束表示出来,因此需要考虑对不可行解采用阈值,进而增加了工作量和求解时间。

3、遗传算法效率通常低于其他传统的优化方法。

4、遗传算法容易出现过早收敛的问题。

(8)遗传算法搜索参数扩展阅读

遗传算法的机理相对复杂,在Matlab中已经由封装好的工具箱命令,通过调用就能够十分方便的使用遗传算法。

函数ga:[x, fval,reason]= ga(@fitnessfun, nvars, options)x是最优解,fval是最优值,@fitnessness是目标函数,nvars是自变量个数,options是其他属性设置。系统默认求最小值,所以在求最大值时应在写函数文档时加负号。

为了设置options,需要用到下面这个函数:options=gaoptimset('PropertyName1', 'PropertyValue1', 'PropertyName2', 'PropertyValue2','PropertyName3', 'PropertyValue3', ...)通过这个函数就能够实现对部分遗传算法的参数的设置。

㈨ 遗传算法的基本原理

遗传算法本质上是对染色体模式所进行的一系列运算,即通过选择算子将当前种群中的优良模式遗传到下一代种群中,利用交叉算子进行模式重组,利用变异算子进行模式突变。

阅读全文

与遗传算法搜索参数相关的资料

热点内容
文件夹横向排列的竖向排列 浏览:449
51单片机驱动摄像头模块 浏览:687
政府文件加密没法转换 浏览:370
android判断栈顶 浏览:329
凭证软件源码 浏览:859
androidwebview滚动事件 浏览:9
如何将电脑上的图片压缩成文件包 浏览:899
程序员转金融IT 浏览:834
黑马程序员培训效果如何 浏览:911
本地集成编译 浏览:528
韩国电影哪个app可以看 浏览:703
玖月授权什么app什么梗 浏览:785
怎么使用服务器上的ip地址是什么情况 浏览:750
手机密码加密后怎么解密 浏览:343
华为云的服务器的ip地址怎么访问不 浏览:367
webstormvue在线实时编译生效 浏览:184
3225pdf 浏览:171
java中的常用类 浏览:395
安卓手机oppo反向色调怎么开 浏览:138
罗志祥pdf 浏览:224