求利用遗传算法实现矩形件排样 的VC编程案例。。

作者&投稿:独孤飘 (若有异议请与网页底部的电邮联系)
矩形排样问题 基于遗传算法的 matlab源代码~

遗传算法的 matlab源代码 交给我你放心.

我弄了一个一维的优化下料软件都很费劲,那矩形排样问题的就更复杂了。

变异算子
从遗传算法的观点来看,解的进化主要是靠选择机制和交叉策略来完成,变异只是产生
新个体的辅助方法, 它决定了遗传算法的局部搜索能力。交叉算子和变异算子相互配合,
共同完成对搜索空间的全局搜索和局部搜索, 从而使遗传算法能够以良好的搜索性能完成
最优化问题的寻优过程,变异概率一般取为0.0001~0.1。变异算子一般采用旋转变异或位置
变异,设要排放的零件总数为n。
旋转变异的思想是产生[1,n]之间的一个随机数num,将该数取其相反数。
例如:产生的随机数 num=5
染色体为:A={ -3 , 5 , 7 ,-1 , 6 , 8 ,-2 , 4}
变异后的结果为:A’={ -3 , 5 , 7 ,-1 ,-6, 8 ,-2 , 4}
位置变异的思想是产生[1,n]之间的两个随机数num1、num2,将两个位置颠倒。
例如:产生的随机数 num1=3,num2=6
染色体为:A={ -3 , 5 , 7 ,-1 , 6 , 8 ,-2 , 4}
变异后的结果为:A’={ -3 , 5 , 8 ,-1 ,6,7 ,-2 , 4}
2. 6 适应度函数
适应度函数定义的好坏对问题的求解效果有很大影响。常见的定义适应度函数的方法有
两种:一种从排样图的最大高度方面考虑,要求尽量使排样图的最大高度值小,一般用最大
高度值的倒数来表示。另一种是从废料再利用的角度进行考虑的,要求尽可能的提高可再利
用废料的利用率(可再利用废料是指处于排样图最高轮廓线和排样图最大高度水平线之间的
部分)。针对板材的两种情况,分别定义了不同的适应度函数,假设排入的矩形件的总面积
为area1[4]。
(1) 定宽无限长的板材情况
对于定宽无限长的板材,一般用排样高度来评价排样的优劣,适应度函数如下:
Fitness area1
h w
=
×
其中,h 为排样图的最大高度,w 为板材的宽度。
(2) 定宽定长的板材情况
这种情况下的适应度函数如下:
1
2
Fitness area
area h w
=
+ ×
其中,area2 为去掉最后一张板材的总面积,h 为最后一张板材的排样图的最大高度,w 为
http://www.paper.edu.cn
- 5 -
最后一张板材的宽度。
这里适应度函数 Fitness 的物理意义就是板材的利用率。
2. 7 选择算子
在生物的遗传和自然进化过程中,对生存环境适应程度较高的物种将有更多的机会遗传
到下一代;而对生存环境适应程度较低的生物遗传到下一代的机会就相对较小。模仿这个过
程,遗传算法使用选择算子(或称复制算子,Reproduction Operator)来对群体中的个体进
行优胜劣汰操作:适应度较高的个体被遗传到下一代群体的概率较大;适应度较低的个体被
遗传到下一代群体的概率较小。遗传算法中的选择操作就是用来确定如何从父代群体中按某
种方法选取哪些个体遗传到下一代群体中的一种遗传运算。
选择算子采用最优保存策略[3],即把当前群体中适应度最高的个体不


求一个基本遗传算法的MATLAB代码
initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度),长度大小取决于变量的二进制编码的长度(在本例中取10位)。遗传算法子程序 Name: initpop.m 初始化 function pop=initpop(popsize,chromlength)pop=round(rand(popsize,chromlength)); % ...

剩余矩形填充算法是优化算法吗
是,针对矩形件排样问题提出的一种新的空白矩形填充优化算法.首先,设计空白矩形填充算法时,提出了消除多余空白矩形的方法,以减小计算时间复杂度.其次,利用邻域搜索算法优化矩形件排放顺序,通过挖掘矩形件排样的问题特征,设计了受限距离的交叉和插入两种邻域算子,并提出了特殊算子执行点选择策略.然后,设计了...

求C代码:遗传算法求函数最大值f(x)=xsin(10Pix)+1.0
wheel.selectOps=[];end if n<8 %Default select info selectFN=['normGeomSelect'];selectOps=[0.08];end if n<6 %默认的算法终止准则 termOps=[100];termFN='maxGenTerm';end if n<4 %初始种群为空 startPop=[];end if isempty(startPop) %随机生成初始种群 ...

遗传算法的C语言实现
能封装最好。。。一定要有注释啊。。。一定要用遗传算法编程。。。求注释遗传算法的哪一步,大概就行。。。OK了加分。。。1楼貌似不是遗传算法的说。。。 展开  我来答 2个回答 #热议# 什么样的人容易遇上渣男?udiab_0 2010-04-20 · TA获得超过169个赞 知道小有建树答主 回答量:96 采纳率...

简单遗传算法的遗传操作主要有___、___和___。
因此,在遗传算法的实际使用中,仍然会存在陷入局部最优或次优解的情况。3、编码方式受限 在遗传算法的操作过程中,要涉及到对个体编码进行交叉、变异等操作。不同的问题可能需要采用不同的编码方式,而某些问题的处理可能很难从实现上表达出相应的编码方式。这可能导致弱化遗传算法的应用范围。

遗传算法的运算过程
遗传操作是模拟生物基因遗传的做法。在遗传算法中,通过编码组成初始群体后,遗传操作的任务就是对群体的个体按照它们对环境适应度(适应度评估)施加一定的操作,从而实现优胜劣汰的进化过程。从优化搜索的角度而言,遗传操作可使问题的解,一代又一代地优化,并逼近最优解。遗传操作包括以下三个基本遗传算子...

急求matlab车辆调度遗传算法代码,需求车辆行驶最优路径。
%遗传算法实现过程A=J;for k=1:dai %产生0~1 间随机数列进行编码B=A;c=randperm(w);%交配产生子代Bfor i=1:2:wF=2+floor(100*rand(1));temp=B(c(i),F:L);B(c(i),F:L)=B(c(i+1),F:L);B(c(i+1),F:L)=temp;end; %变异产生子代Cby=find(rand(1,w)<0.1);if length(by)...

matlab遗传算法求函数最小值问题!
举例来说:求max(z)=ax+bx^2 等同于 求min(z)=-(ax+bx^2)--- 我这里有一个使用matlab遗传算法工具箱的案例,你可以用来快速求解,如果你想自己编程实现遗传算法,可以加我QQ:34508855 核心函数: (1)function [pop]=initializega(num,bounds,eevalFN,eevalOps,options)--初始种群的生成函数...

遗传算法种群初始化,如何生成有优先关系的初始种群?
你好,我是才开始接触遗传算法,编码什么的还不太懂,所以之前想用GUI直接做,但是那样的话好像生成的初始种群就不能考虑约束关系了。另外,有没有办法将优先关系矩阵融合到约束条件呢?这样就可以按常规的遗传算法步骤展开了吧。求指导,谢谢啦!

遗传算法的特点
传统优化算法是从单个初始值迭代求最优解的;容易误入局部最优解。遗传算法从串集开始搜索,覆盖面大,利于全局择优。(2)遗传算法同时处理群体中的多个个体,即对搜索空间中的多个解进行评估,减少了陷入局部最优解的风险,同时算法本身易于实现并行化。(3)遗传算法基本上不用搜索空间的知识或其它辅助...

右江区17021598733: 求利用遗传算法实现矩形件排样 的VC编程案例.. -
计信痔疾: 变异算子从遗传算法的观点来看,解的进化主要是靠选择机制和交叉策略来完成,变异只是产生新个体的辅助方法, 它决定了遗传算法的局部搜索能力.交叉算子和变异算子相...

右江区17021598733: 如何利用遗传算法求解问题?试举例说明求解过程?急急急!!! -
计信痔疾: 遗传算法将目标函数转换为适应度函数,评估,复制,交叉,变异种群中的个体,并从中选出适应性最强的个体,算法的最优解就是这个个体.具体流程是:1.初始种群的产生.2.适应度函数的构造.3.选择和繁殖.4.终止条件.

右江区17021598733: 可不可以给给遗传算法的实例,有matlab实现的最好!谢谢咯! -
计信痔疾: 点matlab里面的start菜单,从toolbox里面选取optimization toolbox,在早期版本里面不叫这个名字,从2010b以后的版本把非线性方程组求解的算法都放在一起了.里面第一个下拉菜单选择最后一个,里面写的ga.fitness function是你的函数.遗传算法求解的goal是0,如果你要求趋近某一个值,就要看你的fitness function怎么写了.下面number of variables是你要求解的维数.接着点击运行就行了.因为不知道你的具体目的是什么,也没有代码发上来,所以我只能说这种很没用的话.

右江区17021598733: 求帮忙在pudn程序员网站上面下载几个代码 -
计信痔疾: http://yunpan.cn/c3kzgsSKec5bT (提取码:ed0c)

右江区17021598733: 如何用遗传算法来处理多约束?求相关的例题说明 -
计信痔疾: 处理多约束问题,一般用两种方法,一种是在生成初始个体时只生成满足约束的个体,即对个体的结构进行控制;二是通过惩罚函数,对不满足约束的个体加以惩罚.

右江区17021598733: 遗传算法的matlab代码实现是什么? -
计信痔疾: 遗传算法我懂,我的论文就是用着这个算法,具体到你要遗传算法是做什么?优化什么的...我给你一个标准遗传算法程序供你参考:该程序是遗传算法优化BP神经网络函数极值寻优:%% 该代码为基于神经网络遗传算法的系统极值寻优%%...

右江区17021598733: 设有n*n个随机数组成的矩阵,应用遗传算法从中找出n个最小的数,且这n个数来自不同的行和列. -
计信痔疾: 遗传算法是不能保证找到最优解的,这个楼主你是知道的不?放到你的题目上就更难找了,因为你的每组解都有一个坐标上的互斥性.我都不确定结果能不能合理收敛,你暂且参考一下吧.解题思路(假定n=10):我们要找10个数,假定所求...

右江区17021598733: 基于Matlab的函数优化遗传算法程序 -
计信痔疾: 新建一个函数 baidu_f.m function f=baidu_f(x) f=0.5-((sin(sqrt(x(1)^2+x(2)^2)))^2-0.5)/(1+0.001*(x(1)^2+x(2)^2)^2) 然后用fmins函数寻找极值. x = fmins('baidu_f', [0 0], [2 2]);另外你的语句中有错,少写了一个括号,你再自己检查一下.

右江区17021598733: matlab中遗传算法如何使用
计信痔疾: 看情况是你没安装GA工具箱,就是要将GA工具箱(一系列m文件)复制到到matlab目录下的toolbox文件夹里面,之后打开matlab,点击工具栏 file-set path-add folder,把GA工具箱所在的文件夹添加进去.

右江区17021598733: 计算机毕业论文 遗传算法在计算机仿真技术中的应用 -
计信痔疾: 计算机的出现和计算技术的发展为仿真技术的发展 提供了强有力的手段和工具.最近几年,随着计算机的迅 速发展和普及,尤其是微型计算机的发展和普及,很多大 计算量的仿真系统得以实现,并在国民生产、科学研究等 领域得到广泛的应用...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网