- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
您可能关注的文档
- 北师大版生物八上第一节《 遗传和变异现象4》ppt课件.ppt
- -三相桥式SPWM逆变器的仿真设计.doc
- 《当代世界经济与政治》期末考试答案(精华版).doc
- 教科版初中物理八上5.4《物态变化与我们的世界》1.ppt
- 沪科版物理九年级11.3《物态变化中的放热过程》2.ppt
- 生物是怎样呼吸的4 .ppt
- 电路图的连接1 .ppt
- 空气污染与保护6 .ppt
- 空气的污染和保护2 .ppt
- 第一节空气1 .ppt
- 2022年南京科技职业学院单招面试模拟试题及答案解析 .pdf
- 2022年中级银行从业资格《银行管理》试题及答案(必威体育精装版)45 .pdf
- 2022中级银行从业资格证《个人理财》真题模拟试卷 .pdf
- 2023学年安徽省宿州第九中学物理九年级第一学期期末学业水平测试试题含.pdf
- 2024-2025学年统编版七年级上册历史教材变化 .pdf
- 2022年黑龙江省哈尔滨市南岗区化学九上期末达标检测模拟试题含解析.pdf
- 2022~2023年高三第三次模拟考试地理试卷带参考答案和解析(河南省焦作市.pdf
- 2023初中数学中考真题模拟冲刺卷(含解析) .pdf
- 2023-2024学年广东省阳江市高一上学期10月月考地理试题 .pdf
- 2023国庆促销活动策划方案手机活动方案 .pdf
文档评论(0)