ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:60.89KB ,
资源ID:21265076      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/21265076.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(智能控制作业遗传算法求解背包问题Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

智能控制作业遗传算法求解背包问题Word文档格式.docx

1、procedure search(k,v:integer); 搜索第k个物品,剩余空间为v var i,j:integer;begin if v=best then exit; sn为前n个物品的重量和 if kwk then search(k+1,v-wk);search(k+1,v);end;2.DP :FI,j为前i个物品中选择若干个放入使其体积正好为j的标志,为布尔型。实现:将最优化问题转化为判定性问题 f I, j = f i-1, j-wi (wI=j0 then if j+now=n then inc(cj+now,aj);a:=c;方法2:可重复背包 A求最多可放入的重量。状态

2、转移方程为 fI,j = f I-1, j wI*k (k=1. j div wI) 进行一次竞赛,总时间T固定,有若干种可选择的题目,每种题目可选入的数量不限,每种题目有一个ti(解答此题所需的时间)和一个si(解答此题所得的分数),现要选择若干题目,使解这些题的总时间在T以内的前提下,所得的总分最大,求最大的得分。*易想到:fi,j = max f i- k*wj, j-1 + k*pj (0=k=0 Then t:=problemj.point+fi-problemj.time;If tfi Then fi:=t;Writeln(fM);End. 求自然数n本质不同的质数和的表达式的数目

3、。思路一:生成每个质数的系数的排列,在一一测试,这是通法。procedure try(dep:cal; 此过程计算当前系数的计算结果,now为结果 if nown then exit; 剪枝 if dep=l+1 then begin 生成所有系数 if now=n then inc(tot);exit;for i:=0 to n div prdep do begin xsdep:=i;try(dep+1);=0;思路二:递归搜索效率较高 procedure try(dep,rest:var i,j,x:if (rest=0) or (dep=l+1) then begin if rest=0

4、 then inc(tot);=0 to rest div prdep do try(dep+1,rest-prdep*i);main: try(1,n); 思路三:可使用动态规划求解 设V个物品,背包容量为n,求放法总数。转移方程:for k:=1 to n div now do if j+now*k=n then inc(cj+now*k,aj);main read(now); 读入第一个物品的重量 i: ai为背包容量为i时的放法总数 while i0).*(v*c-m1);cf表示惩罚力度其他过程与加入贪婪算法的基本一致。五背包问题的遗传算法应用程序(matlab)1.将贪婪算法、遗传

5、算法结合解决背包问题:源代码:%遗传算法解决背包问题 GA.mclc;clear;close all;%初始化物品价值value和质量cc=98 92 95 70 72 70 83 80 65 25 50 55 40 48 50 32 22 60 30 32 40 38 35 32 25 28 30 22 50 30 45 30 60 50 20 65 20 25 30 10 56 50 30 20 15 10 8 5 3 1 ;value=300 318 298 192 180 180 265 242 160 138 155 130 125 122 120 118 115 110 105 1

6、01 100 100 98 96 95 90 88 82 80 77 75 73 72 70 69 66 65 63 60 58 20 25 15 10 20 10 7 5 2 2;g=value./c; %价值重量比,用于贪婪算法m1=1000; %总重量约束值v = 2*rand(50,50)-1;v=hardlim(v); %v为50*50随机产生的矩阵 值为0或1%贪婪算法修复解%v=greedy(v,c,g,m1);N,L = size(v); ger = 500; pc = 0.5; pm = 0.01;disp(sprintf(代数: %d,ger);种群大小:,N);交叉概率:

7、 %.3f,pc);变异概率:,pm);% 初始化与参数设定sol1=1; it = 1; updatef=-10; %soll为当前算出的总价值,it为代数;t0 = clock; %记录初始时间figure(1);hold on;while it sp(sindex) sindex=sindex+1; %寻找要选择个体的位置 newv(i,:)=v(sindex,:); v(i,:)=newv(i,:%用选择出的个体构成的种群替代旧的种群 % 交叉 cindex(i)=i;N %产生要配对的父代的序号;经过N次顺序调换,将原有顺序打乱,使相邻两个个体作为交叉的父代 point=unidrn

8、d(N-i+1); temp=cindex(i); cindex(i)=cindex(i+point-1); cindex(i+point-1)=temp;2: if(ppc) point=unidrnd(L-1)+1;%1pointL 产生交叉点 for j=point:(L-1) %交叉 ch=v(cindex(i),j); v(cindex(i),j)=v(cindex(i+1),j); %cindex中相邻的两个为两个父代的序号 v(cindex(i+1),j)=ch; % 变异 M=rand(N,L)=sol1 sol1=updatef; v(indb1,:)=updatec; up

9、datef=sol1; updatec=v(indb1,: sol2,indb2 = min(fit); %indb2为适应度最小的染色体 v(indb2,:) = v(indb1,: media = mean(fit); it = it + 1; plot(it,sol1,rT = etime(clock,t0);fx = sol1; P = v;程序运行时间 %2.4f,T);最优解: %.2f,fx);%* 修正函数:function v=greedy(v,c,g,m1)m n=size(v);for i=1:m label=g; label=label.*v(i,: if sum(v(i,:).*c)m1 %修复 while sum(v(i,: min=10000; for j=1:n if label(j)=0&label(j) newv(i,: %v=greedy(v,c,g,m1); fit =v*value fit2 =v*value-v*value.*(v*c0); so

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1