一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【优化算法】晶体结构算法【含Matlab源码 1800期】

二、部分源代码

% ----------------------------------------------------------------------- %
%% CryStAl for Unconstrained Benchmark Problems%%
clc;clear all;
%% Get Required Problem Information
ObjFuncName = @(x) Sphere(x); % @CostFunction ;
Var_Number = 100 ; % Number of variables ;
LB = -10 *ones(1,Var_Number) ;  % Lower bound of variable ;
UB = 10 *ones(1,Var_Number) ;  % Upper bound of variable ;
%% Get Required Algorithm Parameters
MaxIteation = 1000 ; % Maximum number of Iterations ;
Cr_Number = 10 ; % Maximum number of initial Crystals ;
%% Outputs:
% BestCr        (Best solution)
% BestFitness     (final Best fitness)
% Conv_History    (Convergence History Curve)
%% Updating the Size of ProblemParameters
if length(LB)==1LB=repmat(LB,1,Var_Number);
end
if length(UB)==1UB=repmat(UB,1,Var_Number);
end
%% Initialization
% Initializing the Position of first probs
for i=1:Cr_NumberCrystal(i,:)=unifrnd(LB,UB);% Evaluating the initial probsFun_eval(i)=feval(ObjFuncName,Crystal(i,:));
end
% The best Crystal
[BestFitness,idbest]=min(Fun_eval);
Crb=Crystal(idbest,:);
% Number of Function Evaluations
Eval_Number=Cr_Number;
%% Search Process
Iter=1;
while Iter<MaxIteationfor i=1:Cr_Number%% Generate New Crystals% Main CrystalCrmain=Crystal(randperm(Cr_Number,1),:);% Random-selected CrystalsRandNumber=randperm(Cr_Number,1);RandSelectCrystal=randperm(Cr_Number,RandNumber);% Mean of randomly-selected CrystalsFc=mean(Crystal(RandSelectCrystal,:)).*(length(RandSelectCrystal)~=1)...+Crystal(RandSelectCrystal(1,1),:)*(length(RandSelectCrystal)==1);   % Random numbers (-1,1)r=2*rand-1;       r1=2*rand-1;r2=2*rand-1;     r3=2*rand-1;        % New CrystalsNewCrystal(1,:)=Crystal(i,:)+r*Crmain;NewCrystal(2,:)=Crystal(i,:)+r1*Crmain+r2*Crb;NewCrystal(3,:)=Crystal(i,:)+r1*Crmain+r2*Fc;NewCrystal(4,:)=Crystal(i,:)+r1*Crmain+r2*Crb+r3*Fc;for i2=1:4% Checking/Updating the boundary limits for CrystalsNewCrystal(i2,:)=bound(NewCrystal(i2,:),UB,LB);% Evaluating New CrystalsFun_evalNew(i2)=feval(ObjFuncName, NewCrystal(i2,:));% Updating the Crystalsif Fun_evalNew(i2)<Fun_eval(i)Fun_eval(i)=Fun_evalNew(i2);Crystal(i,:)=NewCrystal(i2,:);end% Updation the Number of Function EvalutionsEval_Number=Eval_Number+1;endend % End of One IterationIter=Iter+1;% The best Crystal[BestFitness,idbest]=min(Fun_eval);Crb=Crystal(idbest,:);BestCr=Crb;Conv_History(Iter)=BestFitness;% Show Iteration Informationdisp(['Iteration ' num2str(Iter) ': Best Cost = ' num2str(Conv_History(Iter))]);
end % End of Main Looping
semilogy(Conv_History)

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.

【优化算法】晶体结构算法【含Matlab源码 1800期】相关推荐

  1. 【优化算法】蚁狮优化算法(ALO)【含Matlab源码 1307期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]蚁狮优化算法(ALO)[含Matlab源码 1307期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: 付费专栏M ...

  2. 【优化算法】基于matlab象鼻虫损害优化算法 (WDOA)【含Matlab源码 2228期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[优化算法]基于matlab象鼻虫损害优化算法 (WDOA)[含Matlab源码 2228期] 点击上面蓝色字体,直接付费下载,即可. 获 ...

  3. 【RF分类】基于matlab随机森林算法数据分类【含Matlab源码 2048期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[RF分类]基于matlab随机森林算法数据分类[含Matlab源码 2048期] 获取代码方式2: 付费专栏Matlab智能算法神经网络 ...

  4. 【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 626期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像去噪]基于matlab全变分算法图像去噪[含Matlab源码 626期] 获取代码方式2: 付费专栏Matlab图像处理(初级版) ...

  5. 【图像分割】基于matlab萤火虫算法图像分割【含Matlab源码 2136期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像分割]基于matlab萤火虫算法图像分割[含Matlab源码 2136期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...

  6. 【ELM回归预测】基于matlab粒子群算法优化ELM回归预测【含Matlab源码 036期】

    一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [优化预测]基于matlab粒子群算法优化ELM神经网络预测[含Matlab源码 036期] 二.粒子群算法及ELM简介 1 粒子群算法简 ...

  7. 【KNN分类】基于matlab模拟退火优化KNN、蝗虫算法优化KNN数据分类【含Matlab源码 2275期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[ELM分类]基于matlab鲸鱼算法优化核极限学习机数据分类[含Matlab源码 2012期] 获取代码方式2: 付费专栏Matlab智 ...

  8. 【优化规划】基于matlab禁忌搜索算法求解配电网无功补偿优化规划问题【含Matlab源码 1842期】

    一.基于禁忌搜索算法的无功优化参数选择及流程 禁忌搜索方法是Glover F在1986年首次提出的一种智能启发式算法.鉴于禁忌搜索算法是对局部邻域搜索的一种扩展,通过引入一个灵活的存储结构和相应的禁忌 ...

  9. 【SVM回归预测】基于matlab粒子群算法优化SVM回归预测【含Matlab源码 1424期】

    ⛄一.粒子群算法简介 1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他的仿真中,每一个个体都 ...

  10. 【ELM回归预测】基于matlab粒子群算法优化ELM回归预测【含Matlab源码 1586期】

    一.粒子群算法简介 1 粒子群算法简介 1.1 引言 自然界中的鸟群和鱼群的群体行为一直是科学家的研究兴趣所在.生物学家Craig Reynolds在1987年提出了一个非常有影响的鸟群聚集模型,在他 ...

最新文章

  1. iOS应用版本更新(自动提醒用户)
  2. 文字加减前后缀lisp_华为笔试题---仿LISP算法
  3. 将单词的首字母转换成大写
  4. linux通过管道的进程通信,linux 线程或进程之间通过管道通信(pipe)
  5. Flink三种运行模式安装部署
  6. 前端性能优化(PC版)
  7. NewSQL数据库VoltDB特性简介
  8. 实现一个压缩Remoting传输数据的Sink:CompressionSink (转载)
  9. 字节跳动智能创作实验室-图像团队2022秋招正式批开启
  10. CSS Scrollbar (滚动条)
  11. 希尔排序不稳定例子_Python实现希尔排序(已编程实现)
  12. mysql group by 两列_MySQL GROUP BY两列
  13. html canvas绘制网格,canvas(七)绘制网格和坐标轴
  14. DZ论坛php代码,Discuz!代码大全 - Discuz!-安装使用 - Discuz! 官方站 - Powered by Discuz!...
  15. 单片机蓝牙模块与手机蓝牙通信(1)
  16. 电路布线问题的动态规划实现(java)
  17. 计算机里的音乐怎么设置,realtek高清晰音频管理器怎么设置
  18. ESP8266——入门:点亮TFT液晶屏(五)
  19. 微信文章投诉模板html,微信小程序模板消息填坑
  20. 深度学习--采用ReLU解决消失的梯度问题(vanishing gradient problem)

热门文章

  1. 成长中不可或缺的是信仰(转载)
  2. MySql-第七篇单表查询
  3. Redis进程异常退出排查
  4. noi.ac #529 神树的矩阵
  5. C# 中使用反射的优缺点
  6. AutoCAD工具栏中没有工具栏选项
  7. 20191204每日一句
  8. 190407每日一句
  9. 杜克大学用13幅图告诉你人生的真谛,值得深思!
  10. unity 中画布随相机视野实时变化