- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
0-1背包问题设计说明书
摘 要 0-1背包问题在实际中有广泛的应用,本课程设计采用遗传算法中Prim算法解决0-1背包问题,遗传算法主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的有哪些信誉好的足球投注网站空间,自适应地调整有哪些信誉好的足球投注网站方向,不需要确定的规则。遗传算法不是对所有问题都能得到整体最优解,但对范围相当广的许多问题它能产生整体最优解。通过分析用遗传算法解决0-1背包问题能得到问题的最优解。 根据算法的设计结果,采用C语言实现算法,通过测试分析,程序运行结果正确,运行效率较高。 关键词:0-1背包问题,遗传算法,Prim算法 目 录 1 问题描述 1 2 问题分析 2 3 建立数学模型 3 4 算法设计 4 5 算法实现 5 6 测试分析 6 结 论 7 参考文献 8 1 问题描述2 问题分析#includeiostream #includeiomanip #includecstdlib #includecmath #includectime using namespace std; //定义问题的最大规模 #define max 100 //为题规模,即共有多少个包 int packageNum; //每个包的重量 int packageWeight[max]; //每个包的价值 int packageValue[max]; //约束,背包的最大容量 int limitWeight; //群体的规模 int colonySize; /*colonyState[i][k] 表示一个染色体*/ /*colonyState[1...conlonySize][0|1] 表示一个群体*/ int colonyState[max][2][max]; /* currAge 表示当前代的编号*/ /* (currAge+1)%2 表示下一代的编号*/ int currAge = 0; /* 个体评价*/ typedef struct tagIndivdualMsg { int index; int value; }IndivdualMsg; IndivdualMsg indivdualMsg[max]; /*函数声明*/ void printColonyState(int nextAge); /*初始化群体,初始种群产生,并计算每个适应度值和其对应的约束条件值(即为在染色体中选取的物品的重量) ,比较初始种群中各个个体的适应度。选择最大者所对应的个体作为第一代最优个体,并记录该个体以及它的适应度和约束条件值。*/ void colonyInit() { int i, j; int w; for(i=0; icolonySize; i++) { //保证找到一个符合约束的染色体 w = limitWeight +1; while(w limitWeight) { w = 0; for(j=0; jpackageNumw=limitWeight; j++) { colonyState[i][currAge][j] = rand()%2; w += packageWeight[j] * colonyState[i][currAge][j];} } } } /*对个体进行评价*/ int cmp(const void *a, const void *b) { IndivdualMsg *x = (IndivdualMsg *)a; IndivdualMsg *y = (IndivdualMsg *)b; return y-value - x-value; } void indivdualEstimate() { int i, j; for(i=0; icolonySize; i++) { indivdualMsg[i].index = i; indivdualMsg[i].value = 0; for(j=0; jpackageNum; j++) indivdualMsg[i].value += packageValue[j]*colonyState[i][currAge][j];} qsort(indivdualMsg, colonySize, sizeof(IndivdualMsg), cmp); } /*终止循环的条件,给定一个最大进化步数*/ bool stopFlag() { //进行n代进行后停止 static int n = 50; if(n-- = 0) return false; else return true; } /*赌轮选择*/ int g
您可能关注的文档
最近下载
- 教案:ABB[a]-J-8ABB机器人高级编程.docx VIP
- 中国慢性冠脉综合征患者诊断及管理指南2024版解读.pptx
- 优秀工程项目管理经验分享.pptx VIP
- JGJT117-2019民用建筑修缮工程查勘与设计标准.docx VIP
- 2021年5月江苏省苏州工业园区初三调研(中考一模)英语试卷及答案.pdf VIP
- 【PDF】2022 年职业教育国家级教学成果奖申报.pdf VIP
- 电机基础知识入门 [(日)井出万盛 著] 2012年_部分10.pdf VIP
- 湘教版七年级地理上册第三章第二节气温和降水课件(共27张PPT)讲解.ppt VIP
- 科研项目中期检查报告书.docx VIP
- 丹江口水库现代化运行管理矩阵构建实践.docx VIP
文档评论(0)