没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
遗传算法解决车辆路径问题(VRP)
关于遗传算法博客里已经很多了,这次贴个 c 的代码,下面的源代码是解决车辆路径问题的。谈
一点经验性的东西,就是在进行染色体交叉时,一定要注意基因结构的问题。根据具体应用情况,尽量要
保证好的基因结构遗传到后代中。其实此时的交叉变异等所有的操作,考虑的是基因结构,而不是单个的
基因。所以在设计编码方式时就要考虑到设计出良好的基因结构。便于分割和组合的结构是好的设计。
部分源程序:(http://blog.sina.com.cn/greensim)
/************************** 最优化函数 ***************************/
void GAOptim( oat *vData, oat vP, int vGenNum, int *pBestGen )
{
$ int vFlockSize = FLOCKSIZE ;
$ int GENNUM = vGenNum ;
$ oat P = vP ;
$ int vLen = LEN ;
$ int MotherFlock[FLOCKSIZE][LEN] ;
$ int FatherFlock[FLOCKSIZE][LEN] ;
$ int ChildFlock[2*FLOCKSIZE][LEN] ;
$ int mBestGen[LEN] ;
$
$ int mCounter, mCounter1 ;
$ int *pTemp1;
$
$$ //产生初始种群
$$ for( mCounter1 = 0 ; mCounter1<FLOCKSIZE ; mCounter1++ )
$$ {
$$ $$$pTemp1 = MotherFlock[mCounter1] ;
$$ $$$PermutRnd( LEN , 1 , pTemp1 ) ;
$$ }
$$
$$ for( mCounter1 = 0 ; mCounter1<FLOCKSIZE ; mCounter1++ )
$$ {
$$ $$$pTemp1 = FatherFlock[mCounter1] ;
$$ $$$PermutRnd( LEN , 1 , pTemp1 ) ;
$$ }
$
$$ PermutRnd( LEN , 1 , mBestGen ) ; // 初始化最优种群
$
$$ for( mCounter = 0 ; mCounter < GENNUM ; mCounter++ )
$$ {
$$
$$ //交叉
$$ GenCross( MotherFlock,FatherFlock,ChildFlock,vData ) ;
资源评论
- wshtc2014-05-23可以参考,不过需要自己补充完整
- dengxiuqian2013-05-24还可以,资源比较好
- a686081952013-04-08可以参考下,但是不是很好
蒋悦斌2
- 粉丝: 10
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功