基于遗传算法的机组组合问题的建模与求解

基于遗传算法的机组组合问题的建模与求解
基于遗传算法的机组组合问题的建模与求解

--基于遗传算法的机组组合问题的建模与求解

摘要

本文针对当前科技水平不足以有效存储电力的情况下产生的发电机机组组合的问题,考虑负荷平衡、输电线传输容量限制等实际情况产生的约束条件,建立机组组合优化模型,追求发电成本最小。同时采用矩阵实数编码遗传算法(MRCGA)和穷举搜索算法,利用MATLAB 7.0.1和C++编程,分别对模型进行求解,并对所得结果进行分析比较,以此来帮助电力部门制定机组启停计划。

首先,建立发电成本最小目标函数和各项约束条件的数学表达式。其中机组空载成本和增量成本之和随该机组发电出力增长呈折线关系,在分析计算时为了简便,本文采用一条平滑的二次曲线来近似代替。

对于问题1,选取相应的约束条件对目标函数进行约束,从而给出优化模型Ⅰ。由于问题1的求解规模很小,所以采用穷举搜索算法,利用C++编程求解,得到了3母线系统4小时的最优机组组合计划(见表一)。

对于问题2,在优化模型Ⅰ的基础上,增加最小稳定运行出力约束、机组启动和停运时的出力约束以及机组最小运行时间和最小停运时间约束这三个约束条件,建立了优化模型II。同时采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:

发电总成本(单位:元)

矩阵实数编码遗传算法6780

穷举搜索算法6820

在对所得结果进行了分析比较,重新制定了3母线系统4小时最优机组组合计划(见表三)。

对于问题3,用IEEE118系统对优化模型II进行测试。由于求解规模巨大,同样采用遗传算法和穷举搜索算法,利用MATLAB和C++编程,分别对模型进行求解,部分结果如下:

发电总成本(单位:百万)

矩阵实数编码遗传算法 2.034

穷举搜索算法 2.135

在对所得结果进行比较时发现对于大规模问题,遗传算法优势明显,将其求解结果作为24小时的最优机组组合计划(见附录)。

最后,我们就模型存在的不足之处提出了改进方案,并对优缺点进行了分析。

关键字机组组合优化模型矩阵实数编码遗传算法穷举搜索算法

一、问题的提出

当前的科学技术还不能有效地存储电力,所以电力生产和消费在任何时刻都要相

等,否则就会威胁电力系统安全运行。为了能够实时平衡变化剧烈的电力负荷,电力部

门往往需要根据预测的未来电力负荷安排发电机组起停计划,在满足电力系统安全运行

条件下,追求发电成本最小。

在没有电力负荷损耗以及一个小时之内的电力负荷和发电机出力均不变的前提下,

假定所有发电机组的发电成本都是由3部分组成:1.启动成本(Startup Cost),2.空载成本

(No load cost),3.增量成本(Incremental Cost)。需要考虑的约束有: 1.负荷平衡约束

2.系统备用约束3.输电线路传输容量约束4.发电机组出力范围约束5.机组增出力约束6.机组降出力约束。

问题1:3母线系统

有一个3母线系统,其中有2台机组、1个负荷和3条输电线路,已知4个小时的负荷和系统备用要求。请求出这4个小时的最优机组组合计划。最终结果应该包括总成本、各小时各机组的状态、各小时各机组的发电出力和各小时各机组提供的备用。

G1

L Bus 2 Bus 1

Bus 0

G2

Line 0-1

Line 0-2 Line 1-2

问题2:3母线系统

在问题1的基础上,考虑发电机组的下列物理特性约束:1.发电机组的稳定出力范围约束2.机组启动时的出力约束3.机组停运时的出力约束4.机组最小运行时间约束5.机组最小停运时间约束。重新制定最优机组组合计划。

问题3:IEEE 118系统

用IEEE-118节点的电力系统对问题2的求解模型进行测试,试求出24个小时的最优机组组合计划。最终结果应该包括总成本、各小时各机组的状态、各小时各机组的发电出力和各小时各机组提供的备用。

二、问题的分析

机组优化组合和优化启停就是要在满足约束条件的情况下,优化地选定各时段参加运行的机组,求出机组的最佳运行方案,实现发电成本最小。

然而,机组组合问题是一个多变量、多约束的混合整数非线性规划问题。针对此类问题的求解,数学类优化方法如线性规划、非线性规划、动态规划等,都存在明显不足之处。而采用智能优化算法对此问题的研究较多,主要包括遗传算法、模拟退火算法、禁忌搜索、人工神经网络、模糊优化等算法。其中模拟退火算法收敛速度慢、禁忌搜索

算法对初始解依赖性较强、人工神经网络算法存在网络合适的隐含层数目和节点数目难以确定、模糊优化方法的隶属函数和模糊推理规则的确定较困难。鉴于遗传算法作为一种新的全局 优化搜索算法,以其简单通用、鲁棒性强、适于并行处理及应用范围广等显著特点,本文采用基于矩阵实数编码遗传算法来解决机组组合问题。

可以将整个问题分为以下两个任务来完成:

一、 建立机组组合问题的数学模型

二、 采用穷举搜索法和遗传算法,利用C++或者MATLAB 编程,求解模型,得到最优机组组合计划

由于题目中的三个问题所考虑的约束条件复杂程度不同,发电机组数与负荷情况也不相同,本文将三个问题逐一建立模型并求解:

问题1

根据负荷平衡、系统备用、输电线路传输容量、发电机组出力范围、机组增出力、机组降出力等约束建立优化模型I ,采用穷举搜索算法,利用C++编程进行求解。

问题2和问题3

在问题1的基础上,增加机组启动和停运时的出力、机组最小运行时间和最小停运时间约束条件,建立了优化模型II ,采用穷举搜索法和遗传算法,分别利用C++和MATLAB 编程进行求解。

三、模型假设和符号系统

3.1 模型假设

1. 假设系统不存在电力负荷损耗

2. 假设一个小时之内的电力负荷和发电机出力均不变

3. 假设参加交叉运算的染色体个数占全体染色体总数的比例为0.4~0.99

4. 假设发生变异的基因位数所占全体染色体的基因总位数的比例为0.0001~0.1

3.2 符号系统

it u 为机组i 在t 时段的运行状态,10it u ?=??,表示运行,表示停机

i S 为机组i 的启动成本

it f 为机组i 在t 时段的发电成本

it p 为机组i 在t 时段的出力;

jt L 为负荷j 在t 时段的负荷量;

max i p 为发电机组i 的最大出力;

t R 为t 时段系统备用要求;

linek p 为线路linek 上流过的电能;

kl x 为第k 根输电线路第l 条母线的线性传输因子;

,inj busl p 为母线l 上的注入功率;

max k p 为第根输电线路的最大传输容量;

min i p 发电机组最小稳定运行出力;

di r 为机组i 最大减出力;

ri r 为机组i 最大增出力;

1i T 为机组i 最小运行时间;

2i T 为机组i 最小停运时间;

四、模型的建立与求解

4.1模型建立分析

4.1.1先考虑目标函数

1) 空载成本和增量成本

观察空载成本和增量成本构成的部分成本随该机组发电出力变化特性图,如图一中折线所示。

图一 空载成本和增量成本之和随该机组发电出力增长走势图

在分析计算时为了简便,通常用一条平滑曲线来近似代替有起伏的部分成本特性,如图一中平画曲线所示。当n 段直线近似表示时,部分成本特性可表示为

()()2

it it i it i it i f p a p b p c =++ (1)

2) 启动成本 ()()

11it i i t u u S -- (2)

其中:it u 为机组i 在t 时段的运行状态,10it u ?=??,表示运行,表示停机

i S 为机组i 的启动成本 3) 目标函数

机组组合的目的是针对在指定的周期内,满足系统负荷、备用容量、机组最小时间和最小停机时间等限制,优化确定各机组的启停机计划和优化分配其发电负荷,使发电总费用最小。因此,要以机组的费用最小为依据建立相应的目标函数。

设所研究的计划周期为T ,机组台数为n ,则该问题的目标函数可以表示为:

()()()

111min 1T n it it it it i i t t i F u f p u u S -==??=+-??∑∑ (3) 其中:it f 为机组i 在t 时段的发电成本

4.1.2再考虑约束条件

1) 负荷平衡约束

任何时段,电力负荷之和必须等于发电机发电出力之和。

11n m

it it jt i j u

p L ===∑∑ (4) 其中:it u 为机组i 在t 时段的运行状态,10it u ?=??

,表示运行,表示停机; it p 为机组i 在t 时段的出力;

jt L 为负荷j 在t 时段的负荷量;

2) 系统备用约束

任何时段,发电机的备用容量之和必须大于系统备用要求。

()max 1n it

i it t i u p p R =->∑ (5)

其中:max i p 为发电机组i 的最大出力;

t R 为t 时段系统备用要求;

遗传算法求解实例

yj1.m :简单一元函数优化实例,利用遗传算法计算下面函数的最大值 0.2)*10sin()(+=x x x f π,∈x [-1, 2] 选择二进制编码,种群中个体数目为40,每个种群的长度为20,使用代沟为0.9, 最大遗传代数为25 译码矩阵结构:?????????? ??????? ???? ?=ubin lbin scale code ub lb len FieldD 译码矩阵说明: len – 包含在Chrom 中的每个子串的长度,注意sum(len)=length(Chrom); lb 、ub – 行向量,分别指明每个变量使用的上界和下界; code – 二进制行向量,指明子串是怎样编码的,code(i)=1为标准二进制编码, code(i)=0则为格雷编码; scale – 二进制行向量,指明每个子串是否使用对数或算术刻度,scale(i)=0为算术 刻度,scale(i)=1则为对数刻度; lbin 、ubin – 二进制行向量,指明表示范围中是否包含每个边界,选择lbin=0或 ubin=0,表示从范围中去掉边界;lbin=1或ubin=1则表示范围中包含边界; 注:增加第22行:variable=bs2rv(Chrom, FieldD);否则提示第26行plot(variable(I), Y, 'bo'); 中variable(I)越界 yj2.m :目标函数是De Jong 函数,是一个连续、凸起的单峰函数,它的M 文件objfun1包含在GA 工具箱软件中,De Jong 函数的表达式为: ∑ == n i i x x f 1 2 )(, 512512≤≤-i x 这里n 是定义问题维数的一个值,本例中选取n=20,求解 )(min x f ,程序主要变量: NIND (个体的数量):=40; MAXGEN (最大遗传代数):=500; NV AR (变量维数):=20; PRECI (每个变量使用多少位来表示):=20; GGAP (代沟):=0.9 注:函数objfun1.m 中switch 改为switch1,否则提示出错,因为switch 为matlab 保留字,下同! yj3.m :多元多峰函数的优化实例,Shubert 函数表达式如下,求)(min x f 【shubert.m 】

基于遗传算法的一种新的约束处理方法

基于遗传算法的一种新的约束处理方法 苏勇彦1,王攀1,范衠2 (1武汉理工大学 自动化学院, 湖北 武汉 430070) (2丹麦理工大学 机械系 哥本哈根) 摘 要:本文针对目前的约束处理方法中存在的问题,提出一种新的约束处理方法。该方法通过可行解和不可行解混合交叉的方法对问题的解空间进行搜索,对可行种群和不可行种群分别进行选择操作。避免了惩罚策略中选取惩罚因子的困难,使得约束处理问题简单化。实例测试结果表明,该约束处理方法的有效性。 关键词:遗传算法、约束处理、可行解、不可行解、两种群混合交叉 1引言 科学研究和工程应用中许多问题都可以转化为求解一个带约束条件的函数优化问题[1]。遗传算法(Genetic Algorithm )与许多基于梯度的算法比较,具有不需要目标函数和约束条件可微,且能收敛到全局最优解的优点 [2],因此,它成为一种约束优化问题求解的有力工具。目前,基于GA 的约束处理方法有拒绝策略,修复策略,改进遗传算子策略以及惩罚函数策略等。但是这些方法都存在一些问题[3]:修复策略对问题本身的依赖性,对于每个问题必须设计专门的修复程序。改进遗传算子策略则需要设计针对问题的表达方式以及专门的遗传算子来维持解的可行性。惩罚策略解的质量严重依赖于惩罚因子的选取,当惩罚因子不适当时,算法可能收敛于不可行解。 本文针对目前的约束处理方法中存在的问题,提出一种新的约束处理方法。该方法通过可行解和不可行解混合交叉的方法对问题的解空间进行搜索,对可行种群和不可行种群分别进行选择操作。避免了惩罚策略中选取惩罚因子的困难,使得约束处理问题简单化。实例测试结果表明,该约束处理方法的有效性。 2约束处理方法描述 2.1单目标有约束优化问题一般形式 )(max x f ..t s ;0)(≤x g i 1,,2,1m i L L =;0)(=x h i )(,,1211m m m m i +=+=L X x ∈ 这里都是定义在m m m m h h h g g g f ,,,;,,;2121111L L ++n E 上的实值函数。X 是n E 上的 子集,x 是维实向量,其分量为。上述问题要求在变量满足约 束的同时极大化函数。函数通常为目标函数。约束n n x x x ,,,21L n x x x ,,,21L f f ;0)(≤x g i 称为不等式约束;约束称为等式约束。集合;0)(=x h i X 通常为变量的上下界限定的区域。向量且满足所有约束,则称之为问题的可行解。所有可行解构成可行域。否则,为问题的不可行解,所有不可行解构成不可行域。问题的目标是找到一个可行解X x ∈x 使得)()(x f x f ≤对于所有可行解x 成立。那么,x 为最优解[4]。 2.2算法描述 目前,最常采用的约束处理方法为惩罚函数法。但优化搜索的效率对惩罚因子的选择有

遗传算法应用论文

论文 题目:遗传应用算法 院系:计算机工程系 专业:网络工程 班级学号: 学生姓名: 2014年10月23日

摘要: 遗传算法是基于自然界生物进化基本法则而发展起来的一类新算法。本文在简要介绍遗传算法的起源与发展、算法原理的基础上,对算法在优化、拟合与校正、结构分析与图谱解析、变量选择、与其他算法的联用等方面的应用进行了综述。该算法由于无需体系的先验知识,是一种全局最优化方法,能有效地处理复杂的非线性问题,因此有着广阔的应用前景。 关键词: 遗传算法; 化学计量学; 优化 THEORY AND APPL ICATION OF GENETIC AL GORITHM ABSTRACT: Genetic Algo rithm( GA) is a kind of recursive computational procedure based on the simulation of principle principles of evaluati on of living organisms in nature1Based on brief int roduction of the principle ,the beginning and development of the algorithms ,the pape r reviewed its applications in the fields of optimization ,fitting an d calibration,structure analysis and spectra interpretation variable selection ,and it s usage in combination with othersThe application o f GA needs no initiating knowledge of the system ,and therefore is a comprehensive optimization method with extensive application in terms of processing complex nonlinear problems。 KEY WORDS : Genetic Algorithm( GA) Chemometrics Optimization 遗传算法是在模拟自然界生物遗传进化过程中形成的一种自适应优化的概率搜索算法,它于1962年被提出,直到1989年才最终形成基本框架。遗传算法是一种借鉴生物界自然选择和自然遗传机制的随机化搜索算法, 由美国J. H. Ho llad教授提出, 其主要特点是群体搜索策略和群体中个体之间的信息交换。该算法尤其适用于处理传统搜索方法难以解决的复杂和非线性问题, 可广泛用于组合优化、机器学习、自适应控制、规划设计和人工生命等领域。 顾名思义,遗传算法(Genetic Algorithm ,GA)是模拟自然界生物进化机制的一种算法 ,即遵循适者生存、优胜劣汰的法则 ,也就是寻优过程中有用的保留 ,无用的则去除。在科学和生产实践中表现为 ,在所有可能的解决方法中找出最符合该问题所要求的条件的解决方法 ,即找出一个最优解。这种算法是 1960 年由

使用遗传算法求解函数最大值

使用遗传算法求解函数最大值 题目 使用遗传算法求解函数 在及y的最大值。 解答 算法 使用遗传算法进行求解,篇末所附源代码中带有算法的详细注释。算法中涉及不同的参数,参数的取值需要根据实际情况进行设定,下面运行时将给出不同参数的结果对比。 定义整体算法的结束条件为,当种群进化次数达到maxGeneration时停止,此时种群中的最优解即作为算法的最终输出。 设种群规模为N,首先是随机产生N个个体,实验中定义了类型Chromosome表示一个个体,并且在默认构造函数中即进行了随机的操作。 然后程序进行若干次的迭代,在每次迭代过程中,进行选择、交叉及变异三个操作。 一选择操作 首先计算当前每个个体的适应度函数值,这里的适应度函数即为所要求的优化函数,然后归一化求得每个个体选中的概率,然后用轮盘赌的方法以允许重复的方式选择选择N个个体,即为选择之后的群体。

但实验时发现结果不好,经过仔细研究之后发现,这里在x、y取某些值的时候,目标函数计算出来的适应值可能会出现负值,这时如果按照把每个个体的适应值除以适应值的总和的进行归一化的话会出现问题,因为个体可能出现负值,总和也可能出现负值,如果归一化的时候除以了一个负值,选择时就会选择一些不良的个体,对实验结果造成影响。对于这个问题,我把适应度函数定为目标函数的函数值加一个正数,保证得到的适应值为正数,然后再进行一般的归一化和选择的操作。实验结果表明,之前的实验结果很不稳定,修正后的结果比较稳定,趋于最大值。 二交叉操作 首先是根据交叉概率probCross选择要交叉的个体进行交叉。

这里根据交叉参数crossnum进行多点交叉,首先随机生成交叉点位置,允许交叉点重合,两个重合的交叉点效果互相抵消,相当于没有交叉点,然后根据交叉点进行交叉操作,得到新的个体。 三变异操作 首先是根据变异概率probMutation选择要变异的个体。 变异时先随机生成变异的位置,然后把改位的01值翻转。

论文-遗传算法的基本步骤

遗传算法 遗传算法(Genetic Algorithm)是基于进化论的原理发展起来的一种广为应用,高效的随机搜索与优化的方法。它从一组随机产生的初始解称为“种群”,开始搜索过程。种群中的每个个体是问题的一个解,成为“染色体”是一串符号。这些染色体在每一代中用“适应度”来测量染色体的好坏, 通过选择、交叉、变异运算形成下一代。选择的原则是适应度越高,被选中的概率越大。适应度越低,被淘汰的概率越大。每一代都保持种群大小是常数。经过若干代之后,算法收敛于最好的染色体,它很可能是问题的最优解或次优解。这一系列过程正好体现了生物界优胜劣汰的自然规律。 比如有编号为1到10的特征,现在要选取其中的5个,基于遗传算法的特征选择可以如下这样直观的理解: 下续(表格) 下续……

即设有4个不同的初始特征组合,分别计算判别值,然后取最大的2个组合([1,2,3,4,9]和[1,3,5,7,8])进行杂交,即互换部分相异的特征(4和7),得到新的两个特征组合([1,2,3,7,9]和[1,3,4,5,8]),然后再计算这两个新的组合的判别值,和原来的放在一起,再从中选择2个具有最大判别值的组合进行杂交。如此循环下去,在某一代的时候就得到了一个最好的特征组合(比如第2代的[1,3,5,7,9]的特征组合)。当然,在实际中每代的个体和杂交的数量是比较大的。 遗传算法的具体的步骤如下:

1.编码:把所需要选择的特征进行编号,每一个特征就是一个基因,一个解就是一串基因的组合。为了减少组合数量,在图像中进行分块(比如5*5大小的块),然后再把每一块看成一个基因进行组合优化的计算。每个解的基因数量是要通过实验确定的。 2.初始群体(population)的生成:随机产生N个初始串结构数据,每个串结构数据称为一个个体。N个个体,构成了一个群体。GA以这N个串结构数据作为初始点开始迭代。这个参数N需要根据问题的规模而确定。 3.交换(crossover):交换(也叫杂交)操作是遗传算法中最主要的遗传操作。由交换概率( P)挑选的每两个父代 c 通过将相异的部分基因进行交换(如果交换全部相异的就变成了对方而没什么意义),从而产生新的个体。可以得到新一代个体,新个体组合了其父辈个体的特性。交换体现了信息交换的思想。 4.适应度值(fitness)评估检测:计算交换产生的新个体的适应度。适应度用来度量种群中个体优劣(符合条件的程度)的指标值,这里的适应度就是特征组合的判据的值。这个判据的选取是GA的关键所在。

数学建模中常见的十大模型

数学建模常用的十大算法==转 (2011-07-24 16:13:14) 转载▼ 1. 蒙特卡罗算法。该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟来检验自己模型的正确性,几乎是比赛时必用的方法。 2. 数据拟合、参数估计、插值等数据处理算法。比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用MA TLAB 作为工具。 3. 线性规划、整数规划、多元规划、二次规划等规划类算法。建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件求解。 4. 图论算法。这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。 5. 动态规划、回溯搜索、分治算法、分支定界等计算机算法。这些算法是算法设计中比较常用的方法,竞赛中很多场合会用到。 6. 最优化理论的三大非经典算法:模拟退火算法、神经网络算法、遗传算法。这些问题是用来解决一些较困难的最优化问题的,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。 7. 网格算法和穷举法。两者都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。 8. 一些连续数据离散化方法。很多问题都是实际来的,数据可以是连续的,而计算机只能处理离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。 9. 数值分析算法。如果在比赛中采用高级语言进行编程的话,那些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。 10. 图象处理算法。赛题中有一类问题与图形有关,即使问题与图形无关,论文中也会需要图片来说明问题,这些图形如何展示以及如何处理就是需要解决的问题,通常使用MA TLAB 进行处理。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 以下将结合历年的竞赛题,对这十类算法进行详细地说明。 2 十类算法的详细说明 2.1 蒙特卡罗算法 大多数建模赛题中都离不开计算机仿真,随机性模拟是非常常见的算法之一。 举个例子就是97 年的A 题,每个零件都有自己的标定值,也都有自己的容差等级,而求解最优的组合方案将要面对着的是一个极其复杂的公式和108 种容差选取方案,根本不可能去求解析解,那如何去找到最优的方案呢?随机性模拟搜索最优方案就是其中的一种方法,在每个零件可行的区间中按照正态分布随机的选取一个标定值和选取一个容差值作为一种方案,然后通过蒙特卡罗算法仿真出大量的方案,从中选取一个最佳的。另一个例子就是去年的彩票第二问,要求设计一种更好的方案,首先方案的优劣取决于很多复杂的因素,同样不可能刻画出一个模型进行求解,只能靠随机仿真模拟。 2.2 数据拟合、参数估计、插值等算法 数据拟合在很多赛题中有应用,与图形处理有关的问题很多与拟合有关系,一个例子就是98 年美国赛A 题,生物组织切片的三维插值处理,94 年A 题逢山开路,山体海拔高度的插值计算,还有吵的沸沸扬扬可能会考的“非典”问题也要用到数据拟合算法,观察数据的

一种基于遗传算法的Kmeans聚类算法

一种基于遗传算法的K-means聚类算法 一种基于遗传算法的K-means聚类算法 摘要:传统K-means算法对初始聚类中心的选取和样本的输入顺序非常敏感,容易陷入局部最优。针对上述问题,提出了一种基于遗传算法的K-means聚类算法GKA,将K-means算法的局部寻优能力与遗传算法的全局寻优能力相结合,通过多次选择、交叉、变异的遗传操作,最终得到最优的聚类数和初始质心集,克服了传统K-means 算法的局部性和对初始聚类中心的敏感性。关键词:遗传算法;K-means;聚类 聚类分析是一个无监督的学习过程,是指按照事物的某些属性将其聚集成类,使得簇间相似性尽量小,簇内相似性尽量大,实现对数据的分类[1]。聚类分析是数据挖掘 技术的重要组成部分,它既可以作为独立的数据挖掘工具来获取数据库中数据的分布情况,也可以作为其他数据挖掘算法的预处理步骤。聚类分析已成为数据挖掘主要的研究领域,目前已被广泛应用于模式识别、图像处理、数据分析和客户关系管理等领域中。K-means算法是聚类分析中一种基本的划分方法,因其算法简单、理论可靠、收敛速 度快、能有效处理较大数据而被广泛应用,但传统的K-means算法对初始聚类中心敏 感,容易受初始选定的聚类中心的影响而过早地收敛于局部最优解,因此亟需一种能克服上述缺点的全局优化算法。遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化搜索算法。在进化过程中进行的遗传操作包括编码、选择、交叉、变异和适者生存选择。它以适应度函数为依据,通过对种群个体不断进行遗传操作实现种群个体一代代地优化并逐渐逼近最优解。鉴于遗传算法的全局优化性,本文针 对应用最为广泛的K-means方法的缺点,提出了一种基于遗传算法的K-means聚类算法GKA(Genetic K-means Algorithm),以克服传统K-means算法的局部性和对初始聚类中心的敏感性。用遗传算法求解聚类问题,首先要解决三个问题:(1)如何将聚类问题的解编码到个体中;(2)如何构造适应度函数来度量每个个体对聚 类问题的适应程度,即如果某个个体的编码代表良好的聚类结果,则其适应度就高;反之,其适应度就低。适应度函数类似于有机体进化过程中环境的作用,适应度高的个体 在一代又一代的繁殖过程中产生出较多的后代,而适应度低的个体则逐渐消亡;(3) 如何选择各个遗传操作以及如何确定各控制参数的取值。解决了这些问题就可以利

遗传算法求解动态规划

Using Genetic Algorithms for Dynamic Scheduling
Ana Madureira * Carlos Ramos * Sílvio do Carmo Silva ? anamadur@dei.isep.ipp.pt,, csr@dei.isep.ipp.pt, scarmo@dps.uminho.pt
1
Institute of Engineering Polytechnic of Porto, GECAD - Knowledge Engineering and Decision Support Research Group, Dept. of Computer Science Rua de S?o Tomé, 4200 Porto-Portugal Phone: +351 228340500 Fax: +351 228321159
2 Minho University, Dept. of Production and Systems 4710-057, Braga -– Portugal, Phone: +351 253604745
Abstract
In most practical environments, scheduling is an ongoing reactive process where the presence of real time information continually forces reconsideration and revision of pre-established schedules. Scheduling algorithms that achieve good or near optimal solutions and can efficiently adapt them to perturbations are, in most cases, preferable to those that achieve optimal ones but that cannot implement such an adaptation. This reality, motivated us to concentrate on tools, which could deal with such dynamic, disturbed scheduling problems, both for single and multi-machine manufacturing settings, even though, due to the complexity of these problems, optimal solutions may not be possible to find. We decided to address the problem drawing upon the potential of Genetic Algorithms to deal with such complex situations. We decided to address the problem drawing upon the potential of Genetic Algorithms to deal with such complex situations. Since in a sense natural evolution is a process of continuous adaptation, it seems appropriate to consider Genetic Algorithms as good candidates for dynamic scheduling problems. This paper is concerned with vertical oriented detailed scheduling of Extended Job-Shop on dynamic environments. It addresses the scheduling of tasks, either simple or complex products, comprehending the parts fabrication and their multistage assembly into complex products. Key Words: Dynamic Scheduling, Population Dynamic Adaptation, Regenerating Mechanism, Genetic Algorithms.
1. INTRODUCTION
Research on the theory and practice of scheduling has been pursued for many years. Theoretical scheduling problems concerned with searching for optimal schedules subject to a limited number of constraints have adopted a variety of techniques including branch-and-bound and dynamic programming. From the point of view of combinatorial optimization the question of how to sequence and schedule jobs in a dynamic environment looks rather complex and is known to be NP-hard. For literature on this subject, see for example, Baker (1974), French (1982), Blazewicz et al. (2001), Pinedo (2001) and Brucker (2001). In generic terms, the scheduling process can be defined as the assignment of time-constrained jobs to timeconstrained resources within a pre-defined time framework, which represents the complete time horizon of the schedule. An admissible schedule will have to satisfy a set of hard and soft constraints imposed on jobs and resources. So, a scheduling problems can be seen as a decision making process for operations starting and resources to be used. A variety of characteristics and constraints related with jobs and production system, such as operation processing times, release and due dates, precedence constraints and resource availability, can affect scheduling decisions. If all jobs are known before processing starts a scheduling problem is said to be static, while, to classify a problem as dynamic it is sufficient that job release times are not fixed at a single point in time, i.e. jobs arrive to the system at different times. Scheduling problems can also be classified as either deterministic, when processing times and all other parameters are known and fixed, or as non-deterministic, when some or all parameters are uncertain (French, 1982). Most of the known work on scheduling deals with optimisation of scheduling problems in static environments, whereas, due to several sorts of random occurrences and perturbations, real world scheduling problems are usually of dynamic nature. Due to their dynamic nature, real scheduling problems have additional complexity in relation to static ones. However, in many situations, both static and dynamic problems, even for apparently simple cases, are hard to

遗传算法优化的BP神经网络建模[精选.]

遗传算法优化的BP神经网络建模 十一月匆匆过去,每天依然在忙碌着与文档相关的东西,在寒假前一个多月里,努力做好手头上的事的前提下多学习专业知识,依然是坚持学习与素质提高并重,依然是坚持锻炼身体,为明年找工作打下基础。 遗传算法优化的BP神经网络建模借鉴别人的程序做出的仿真,最近才有时间整理。 目标: 对y=x1^2+x2^2非线性系统进行建模,用1500组数据对网络进行构建网络,500组数据测试网络。由于BP神经网络初始神经元之间的权值和阈值一般随机选择,因此容易陷入局部最小值。本方法使用遗传算法优化初始神经元之间的权值和阈值,并对比使用遗传算法前后的效果。 步骤: 未经遗传算法优化的BP神经网络建模 1、随机生成2000组两维随机数(x1,x2),并计算对应的输出y=x1^2+x2^2,前1500组数据作为训练数据input_train,后500组数据作为测试数据input_test。并将数据存储在data中待遗传算法中使用相同的数据。 2、数据预处理:归一化处理。 3、构建BP神经网络的隐层数,次数,步长,目标。 4、使用训练数据input_train训练BP神经网络net。 5、用测试数据input_test测试神经网络,并将预测的数据反归一化处理。 6、分析预测数据与期望数据之间的误差。 遗传算法优化的BP神经网络建模 1、读取前面步骤中保存的数据data; 2、对数据进行归一化处理; 3、设置隐层数目; 4、初始化进化次数,种群规模,交叉概率,变异概率 5、对种群进行实数编码,并将预测数据与期望数据之间的误差作为适应度函数; 6、循环进行选择、交叉、变异、计算适应度操作,直到达到进化次数,得到最优的初始权值和阈值; 7、将得到最佳初始权值和阈值来构建BP神经网络; 8、使用训练数据input_train训练BP神经网络net; 9、用测试数据input_test测试神经网络,并将预测的数据反归一化处理; 10、分析预测数据与期望数据之间的误差。 算法流程图如下:

基于遗传算法的股票市场选择模型

基于遗传算法的股票市场选择模型 摘要:为提高投资者在股票市场的收益,解决在证券投资中股票选择这一重要问题,提出一种基于遗传算法的股票选择模型。算法以上市公司的财务指标为样本特征,为克服K-means算法的不稳定性,采用基于遗传算法的K-means算法对同一板块股票进行聚类分析,剔除财务指标较差的一类中的股票。对筛选条件编码,为解决传统遗传算法处理复杂问题时存在的过早收敛现象,提出改进的遗传算子,利用改进的遗传算法寻找使股票市场投资收益最大化的选股模型参数。实验结果表明,该算法在股票选择上具有较好的效果,可供市场投资者借鉴。 关键词:股票选择;遗传算法;聚类分析;投资决策;组合优化 1引言 当今社会人们的理财投资意识日益增强,且越来越多的投资者将眼光投向了股票市场。虽然股票可以给投资者带来可观的收益,但投资者要想获得很好的投资回报,就得利用合理科学的投资策略来选择股票进行投资[1]。 股票选择从基本面而言,就是对上市公司的内在价值进行评估[2]。股票市场具有的长期记忆性使得可以通过数据分析找出股票价格或收益率的长期相关性,同时股票市场具有非线性[3],应用智能算法可以提高分析的精确度和鲁棒性。现有的很多关于股市的研究主要是应用优化算法对股价和股市态势做出预测。如文献[4] 提出一种基于遗传算法的粗糙集属性约简方法和神经网络相结合的模型来预测股价。文献[5]提出基于离群特征模式的支持向量机模型来预测股价波动。这些研究限于对单个股票或大盘价格的预测,对投资者的投资决策缺乏全面指导性。对于股票选择,最传统的基于基本面分析的股票选择方法有欧奈尔基本面CAN SLIM法则、朱雀丁远指数中性策略等经典模型[6]。这些模型大多是研究者通过对历史数据的分析和个人经验提出的,虽然具有一定的效果,但是股票筛选精度一般,灵活性较差。文献[7]定义了股票稳定性值,结合遗传算法和贪婪算法提出股票选择规划方法。此方法很好地规

数学建模10种常用算法

数学建模10种常用算法 1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法) 2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具) 3、线性规划、整数规划、多元规划、二次规划等规划类问 题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现) 4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备) 5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中) 6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用) 7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具) 8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的) 9、数值分析算法(如果在比赛中采用高级语言进行

编程的话,那一些数值分析中常用的算法比如方程组 求解、矩阵运算、函数积分等算法就需要额外编写库 函数进行调用) 10、图象处理算法(赛题中有一类问题与图形有关, 即使与图形无关,论文中也应该要不乏图片的,这些 图形如何展示以及如何处理就是需要解决的问题,通 常使用Matlab进行处 参数估计 C.F. 20世纪60年代,随着电子计算机的 。参数估计有多种方法,有最小二乘法、极大似然法、极大验后法、最小风险法和极小化极大熵法等。在一定条件下,后面三个方法都与极大似然法相同。最基本的方法是最小二乘法和极大似然法. 基本介绍 参数估计(parameter 尽可能接近的参数 误差 平方和  θ,使已知数据Y 最大,这里P(Y│θ)是数据Y P(Y│θ)。在实践中这是困难的,一般可假设P(Y│θ

遗传算法求解VRP问题的技术报告【精品毕业设计】(完整版)

遗传算法求解VRP 问题的技术报告 摘要:本文通过遗传算法解决基本的无时限车辆调度问题。采用车辆和客户对应排列编码的遗传算法,通过种群初始化,选择,交叉,变异等操作最终得到车辆配送的最短路径。通过MA TLAB 仿真结果可知,通过遗传算法配送的路径为61.5000km,比随机配送路径67km 缩短了5.5km 。此结果表明遗传算法可以有效的求解VRP 问题。 一、 问题描述 1.问题描述 车辆调度问题(Vehicle Scheduling/Routing Problem,VSP/VRP )的一般定义为[1]:对一系列送货点和/或收货点,组织适当的行车路线,使车辆有序地通过它们,在满足一定的约束条件(如货物需求量、发送量,送发货时间、车辆容量限制、行驶里程限制、时间限制等)下,达到一定的目标(如路程最短、费用极小、时间尽量少、使用车辆数尽量少等)。问题描述如下[2]:有一个或几个配送中心),...,1(n i D i =,每个配送中心有K 种不同类型的车型,每种车型有n 辆车。有一批配送业务),...,1(n i R i =,已知每个配送业务需求量),...,1(n i q i =和位置或要求在一定的时间范围内完成,求在满足不超过配送车辆载重等的约束条件下,安排配送车辆在合适的时间、最优路线使用成本最小。 2.数学模型 设配送中心有K 台车,每台车的载重量为),...,2,1(K k Q k =,其一次配送的最大行驶距离为k D ,需要向L 个客户送货,每个客户的货物需求量为),...,2,1(L i q i =,客户i 到j 的运距为ij d ,配送中心到各个客户的距离为),...,2,1,(0L j i d j =,再设k n 为第K 台车配送的客户数(k n =0表示未使用第K 台车),用集合k R 表示第k 条路径,其中ki r 表示客户ki r 在路径 k 中的顺序为 (不包括配送中心),令 0k r 表示配送中心,若以配送总里程最短为目标函数,则可建立如下数学模型: ∑∑==?+=-K k k rk r n i r r n sign d d Z k kn k ki i k 101)] ([min )1( (1) k n i ki Q qr k ≤∑=1 (2) k k rk r n i r r D n sign d d k kn k ki i k ≤?+∑=-)(01)1( (3) L n k ≤≤0 (4)

数学建模遗传算法与优化问题【精品毕业设计】(完整版)

实验十遗传算法与优化问题 一、问题背景与实验目的 遗传算法(Genetic Algorithm—GA),是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,它是由美国Michigan大学的J.Holland教授于1975年首先提出的.遗传算法作为一种新的全局优化搜索算法,以其简单通用、鲁棒性强、适于并行处理及应用范围广等显著特点,奠定了它作为21世纪关键智能计算之一的地位. 本实验将首先介绍一下遗传算法的基本理论,然后用其解决几个简单的函数最值问题,使读者能够学会利用遗传算法进行初步的优化计算.1.遗传算法的基本原理 遗传算法的基本思想正是基于模仿生物界遗传学的遗传过程.它把问题的参数用基因代表,把问题的解用染色体代表(在计算机里用二进制码表示),从而得到一个由具有不同染色体的个体组成的群体.这个群体在问题特定的环境里生存竞争,适者有最好的机会生存和产生后代.后代随机化地继承了父代的最好特征,并也在生存环境的控制支配下继续这一过程.群体的染色体都将逐渐适应环境,不断进化,最后收敛到一族最适应环境的类似个体,即得到问题最优的解.值得注意的一点是,现在的遗传算法是受生物进化论学说的启发提出的,这种学说对我们用计算机解决复杂问题很有用,而它本身是否完全正确并不重要(目前生物界对此学说尚有争议). (1)遗传算法中的生物遗传学概念 由于遗传算法是由进化论和遗传学机理而产生的直接搜索优化方法;故而在这个算法中要用到各种进化和遗传学的概念. 首先给出遗传学概念、遗传算法概念和相应的数学概念三者之间的对应关系.这些概念如下: 序号遗传学概念遗传算法概念数学概念 1 个体要处理的基本对象、结构也就是可行解 2 群体个体的集合被选定的一组可行解 3 染色体个体的表现形式可行解的编码 4 基因染色体中的元素编码中的元素 5 基因位某一基因在染色体中的位置元素在编码中的位置 6 适应值个体对于环境的适应程度, 或在环境压力下的生存能力可行解所对应的适应函数值 7 种群被选定的一组染色体或个体根据入选概率定出的一组 可行解 8 选择从群体中选择优胜的个体, 淘汰劣质个体的操作保留或复制适应值大的可行解,去掉小的可行解 9 交叉一组染色体上对应基因段的 交换根据交叉原则产生的一组新解 10 交叉概率染色体对应基因段交换的概 率(可能性大小)闭区间[0,1]上的一个值,一般为0.65~0.90 11 变异染色体水平上基因变化编码的某些元素被改变

人工智能遗传算法新论文

论文 题目:遗传算法应用 院系:计算机工程系 专业:网络工程 班级学号:112055126 学生姓名:崔小杰 2014年10月23日

内容摘要 图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。图像的分割是以灰度值作为分割的依据,通过各个像素的灰度值和事先确定的阈值的比较来分割图像。如何确定最合适的阈值是处理好图像分割的关键,这自然成为一直以来分割算法研究的焦点。 遗传算法是对生物进化论中自然选择和遗传学机理中生物进化过程的模拟来计算最优解的方法。遗传算法具有众多的优点,如鲁棒性、并行性、自适应性和快速收敛,可以应用在图像处理技术领域中图像分割技术来确定分割阈值。 本文主要介绍基于遗传算法的最小误差阈值法、最大类间方差法(Otsu法)以及最佳直方图熵法(KSW熵法)等三种方法分割图像。 关键词:图像分割,遗传算法,阈值分割

目录 第一章绪论 .................................................. - 1 - 第二章遗传算法概述 ........................................ . - 1 - 2.1遗传算法的研究历史....................................... - 1 - 2.2生物背景................................................. - 2 - 2.3遗传算法的基本思想....................................... - 2 - 2.4遗传算法的几个概念....................................... - 2 - 2.4.1适应度函数......................................... - 2 - 2.4.2遗传算法最常用的算子............................... - 3 - 2.5遗传算法运算的基本流程 (4) 第三章图像分割的现状 ........................................ - 4 - 3.1图像分割简介............................................. - 4 - 3.2图像分割方法............................................. - 5 - 3.2.1基于边缘检测的分割 (6) 3.2.2基于区域的分割..................................... - 5 - 3.2.3边缘与区域相结合的分割............................. - 5 - 3.3阈值选取................................................. - 6 - 第四章基于新的遗传算法的图像分割 ............................ - 6 - 4.1混沌遗传算法............................................. - 6 - 4.2量子遗传算法............................................. - 6 - 4.3免疫遗传算法............................................. - 6 - 结论 ........................................................... - 7 - 参考文献: ...................................................... - 7 -

相关文档
最新文档