返回   MATLAB中国论坛|MATLAB爱好者之家—不仅仅是MATLAB! > 其他-不仅仅是MATLAB! > 广告与招聘


广告与招聘 这里是发招聘信息和广告的地方

挖掘已有资源,发帖前请先搜索!
虚拟主机 域名注册 香港空间
回复
 
LinkBack 主题工具 显示模式
旧 2010-03-06, 05:50 PM   #1
普通会员
 
注册日期: 2008-10-06
年龄: 12
帖子: 53
感谢他人: 0
有 2 帖获得 2 感谢
声望力: 5
greensim 正向着好的方向发展
默认 【原创】基于遗传算法的OFDM自适应资源分配算法

OFDM自适应资源分配问题(载波、功率等),是一个既含有离散决策变量,又含有连续决策变量的非线性优化模型,且含有较为复杂的非线性约束,因此适合采用智能优化算法进行求解。本源码由GreenSim团队原创,转载请注明,有意购买源码或代写相关程序,请与GreenSim团队联系(主页http://blog.sina.com.cn/greensim)。

function [BESTX1,BESTX2,BESTY,ALLX1,ALLX2,ALLY]=GA2(K,N,Pm,H,BBB,P,N0)
%% 本源码实现遗传算法,用于RA准则下的多用户OFDM自适应资源分配
%% 输入参数列表
% K 迭代次数
% N 种群规模,要求是偶数
% Pm 变异概率
% H 信道增益矩阵,K*N的矩阵,表示用户k在子信道n上的信道增益,无单位,取值范围0~1
% BBB 总带宽(Hz)
% P 总功率(W)
% N0 加性高斯白噪声功率谱密度(W/Hz)
% GreenSim团队原创作品,转载请注明
% 欢迎访问GreenSim——算法仿真团队→http://blog.sina.com.cn/greensim
%% 输出参数列表
% BESTX1 K×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体的第一分量
% BESTX2 K×1细胞结构,每一个元素是M×1向量,记录每一代的最优个体的第二分量
% BESTY K×1矩阵,记录每一代的最优个体的评价函数值
% ALLX1 K×1细胞结构,每一个元素是M×N矩阵,记录全部个体的第一分量
% ALLX2 K×1细胞结构,每一个元素是M×N矩阵,记录全部个体的第二分量
% ALLY K×N矩阵,记录全部个体的评价函数值

%% 第一步
[KK,NN]=size(H);
M=NN;%决策变量个数,子载波个数
farm1=zeros(M,N);%每一列是一个样本
for i=1:N
farm1(:,i)=unidrnd(KK,M,1);
end
farm2=zeros(M,N);%每一列是一个样本
for i=1:N
farm2(:,i)=RandSeq(M);
end
%输出变量初始化
ALLX1=cell(K,1);
ALLX2=cell(K,1);
ALLY=zeros(K,N);
BESTX1=cell(K,1);
BESTX2=cell(K,1);
BESTY=zeros(K,1);
k=1;%迭代计数器初始化

%% 第二步:迭代过程
while k<=K
%% 以下是交叉过程
newfarm1=zeros(M,2*N);
Ser=randperm(N);%两两随机配对的配对表
A=farm1(:,Ser(1));
B=farm1(:,Ser(2));
P0=unidrnd(M-1);
a=[A(1:P0,:);B((P0+1):end,:)];%产生子代a
b=[B(1:P0,:);A((P0+1):end,:)];%产生子代b
newfarm1(:,2*N-1)=a;%加入子代种群
newfarm1(:,2*N)=b;
for i=1:(N-1)
A=farm1(:,Ser(i));
B=farm1(:,Ser(i+1));
P0=unidrnd(M-1);
a=[A(1:P0,:);B((P0+1):end,:)];
b=[B(1:P0,:);A((P0+1):end,:)];
newfarm1(:,2*i-1)=a;
newfarm1(:,2*i)=b;
end
FARM1=[farm1,newfarm1];

newfarm2=zeros(M,2*N);
Ser=randperm(N);%两两随机配对的配对表
A=farm2(:,Ser(1));
B=farm2(:,Ser(2));
P0=unidrnd(M-1);
a=[A(1:P0,:);B((P0+1):end,:)];%产生子代a
b=[B(1:P0,:);A((P0+1):end,:)];%产生子代b
newfarm2(:,2*N-1)=a;%加入子代种群
newfarm2(:,2*N)=b;
for i=1:(N-1)
A=farm2(:,Ser(i));
B=farm2(:,Ser(i+1));
P0=unidrnd(M-1);
a=[A(1:P0,:);B((P0+1):end,:)];
b=[B(1:P0,:);A((P0+1):end,:)];
newfarm2(:,2*i-1)=a;
newfarm2(:,2*i)=b;
end
FARM2=[farm2,newfarm2];

%% 选择复制
SER=randperm(3*N);
FITNESS=zeros(1,3*N);
fitness=zeros(1,N);
for i=1:(3*N)
X1=FARM1(:,i);
X2=FARM2(:,i);
FITNESS(i)=-ObjFun(X1',X2',H,BBB,P,N0);
end

for i=1:N
f1=FITNESS(SER(3*i-2));
f2=FITNESS(SER(3*i-1));
f3=FITNESS(SER(3*i));
if f1<=f2&&f1<=f3
farm1(:,i)=FARM1(:,SER(3*i-2));
farm2(:,i)=FARM2(:,SER(3*i-2));
fitness(:,i)=FITNESS(:,SER(3*i-2));
elseif f2<=f1&&f2<=f3
farm1(:,i)=FARM1(:,SER(3*i-1));
farm2(:,i)=FARM2(:,SER(3*i-1));
fitness(:,i)=FITNESS(:,SER(3*i-1));
else
farm1(:,i)=FARM1(:,SER(3*i));
farm2(:,i)=FARM2(:,SER(3*i));
fitness(:,i)=FITNESS(:,SER(3*i));
end
end

%% 记录最佳个体和收敛曲线
ALLX1{k}=farm1;
ALLX2{k}=farm2;
ALLY(k,:)=fitness;
minY=min(fitness);
pos=find(fitness==minY);
BESTX1{k}=farm1(:,pos(1));
BESTX2{k}=farm2(:,pos(1));
BESTY(k)=minY;

%% 变异
for i=1:N
if Pm>rand&&pos(1)~=i
farm1(:,i)=unidrnd(KK,M,1);
farm2(:,i)=RandSeq(M);
end
end
%disp(k);
k=k+1;
end
__________________
算法设计、代写程序,欢迎访问GreenSim团队主页→
http://blog.sina.com.cn/greensim
greensim 当前离线   回复时引用此帖
旧 2011-12-27, 11:45 PM   #2
初级会员
 
注册日期: 2011-12-27
年龄: 26
帖子: 4
感谢他人: 0
有 0 帖获得 0 感谢
声望力: 0
lwzu2899z 正向着好的方向发展
默认 回复: 【原创】基于遗传算法的OFDM自适应资源分配算法

Ive got all day.You did not/ That just plain oT sucks rocks,replica ray bans, Jacob.I had to look away before it came back to me.Listen, honey.It was hard to take my eyes off his ravaged neck and jaw.Youre safe.Heidi smiled absently. it seemed to please him.The entire guard.Maybe if I keep the questions simple.or when you said i do' and I realized that, somehow, I get to keep you forever.What hes doing is hard enough.but somehow Jacob.
lwzu2899z 当前离线   回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 10:56 PM


Powered by vBulletin
版权所有 ©2000 - 2012,Jelsoft Enterprises Ltd.
陕ICP备07001583号
感谢MEyu科技提供优质空间

SEO by vBSEO ©2009, Crawlability, Inc.