🚅座右铭:路漫漫其修远兮,吾将上下而求索。
更多Matlab优化求解仿真内容点击👇
①Matlab优化求解(高阶版)
②付费专栏Matlab优化求解(进阶版)
③付费专栏Matlab优化求解(初级版)
⛳️关注CSDN Matlab领域,更多资源等你来!!
1 遗传算法概述
遗传算法(Genetic Algorithm,GA)是进化计算的一部分,是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。该算法简单、通用,鲁棒性强,适于并行处理。
1.1 遗传算法的特点和应用
遗传算法是一类可用于复杂系统优化的具有鲁棒性的搜索算法,与传统的优化算法相比,具有以下特点:
(1)以决策变量的编码作为运算对象。传统的优化算法往往直接利用决策变量的实际值本身来进行优化计算,但遗传算法是使用决策变量的某种形式的编码作为运算对象。这种对决策变量的编码处理方式,使得我们在优化计算中可借鉴生物学中染色体和基因等概念,可以模仿自然界中生物的遗传和进化激励,也可以很方便地应用遗传操作算子。
(2)直接以适应度作为搜索信息。传统的优化算法不仅需要利用目标函数值,而且搜索过程往往受目标函数的连续性约束,有可能还需要满足“目标函数的导数必须存在”的要求以确定搜索方向。遗传算法仅使用由目标函数值变换来的适应度函数值就可确定进一步的搜索范围,无需目标函数的导数值等其他辅助信息。直接利用目标函数值或个体适应度值也可以将搜索范围集中到适应度较高部分的搜索空间中,从而提高搜索效率。
(3)使用多个点的搜索信息,具有隐含并行性。传统的优化算法往往是从解空间的一个初始点开始最优解的迭代搜索过程。单个点所提供的搜索信息不多,所以搜索效率不高,还有可能陷入局部最优解而停滞;遗传算法从由很多个体组成的初始种群开始最优解的搜索过程,而不是从单个个体开始搜索。对初始群体进行的、选择、交叉、变异等运算,产生出新一代群体,其中包括了许多群体信息。这些信息可以避免搜索一些不必要的点,从而避免陷入局部最优,逐步逼近全局最优解。
(4) 使用概率搜索而非确定性规则。传统的优化算法往往使用确定性的搜索方法,一个搜索点到另一个搜索点的转移有确定的转移方向和转移关系,这种确定性可能使得搜索达不到最优店,限制了算法的应用范围。遗传算法是一种自适应搜索技术,其选择、交叉、变异等运算都是以一种概率方式进行的,增加了搜索过程的灵活性,而且能以较大概率收敛于最优解,具有较好的全局优化求解能力。但,交叉概率、变异概率等参数也会影响算法的搜索结果和搜索效率,所以如何选择遗传算法的参数在其应用中是一个比较重要的问题。
综上,由于遗传算法的整体搜索策略和优化搜索方式在计算时不依赖于梯度信息或其他辅助知识,只需要求解影响搜索方向的目标函数和相应的适应度函数,所以遗传算法提供了一种求解复杂系统问题的通用框架。它不依赖于问题的具体领域,对问题的种类有很强的鲁棒性,所以广泛应用于各种领域,包括:函数优化、组合优化生产调度问题、自动控制
、机器人学、图像处理(图像恢复、图像边缘特征提取…)、人工生命、遗传编程、机器学习。
1.2 遗传算法的基本流程及实现技术
基本遗传算法(Simple Genetic Algorithms,SGA)只使用选择算子、交叉算子和变异算子这三种遗传算子,进化过程简单,是其他遗传算法的基础。
就遗传算法运算过程中产生新个体的能力方面来说,交叉运算是产生新个体的主要方法,它决定了遗传算法的全局搜索能力;而变异运算只是产生新个体的辅助方法,但也是必不可少的一个运算步骤,它决定了遗传算法的局部搜索能力。交叉算子与变异算子的共同配合完成了其对搜索空间的全局搜索和局部搜索,从而使遗传算法能以良好的搜索性能完成最优化问题的寻优过程。
2 遗传算法求解紧凑型一级直齿轮减速器设计优化问题
遗传算法是一种基于生物进化原理的优化算法,常用于求解复杂的优化问题。在紧凑型一级直齿轮减速器设计优化问题中,遗传算法可以用来寻找最优的设计参数组合,以达到减速器尺寸最小化的目标。
遗传算法的原理如下:
(1)初始化种群:随机生成一组初始解,即一组设计参数的取值。
(2)评估适应度:根据设计参数计算减速器的尺寸,并评估其适应度,适应度越高表示解越好。
(3)选择操作:根据适应度选择一部分解作为父代,用于产生下一代解。
(4)交叉操作:通过交叉操作,将父代解的部分特征进行组合,生成新的解。
(5)变异操作:对新生成的解进行变异,引入一定的随机性,增加搜索空间的探索能力。
(6)评估适应度:计算新生成解的适应度。
(7)选择操作:根据适应度选择一部分新解作为下一代的父代。
(8)重复步骤4-7,直到满足停止条件(如达到最大迭代次数或找到满意的解)。
通过不断迭代和优化,遗传算法能够逐步搜索到最优的设计参数组合,从而实现紧凑型一级直齿轮减速器的设计优化。
% --------------------------------------------------------------------------
function [gen_future,most_fit_g1] = run_genetic_algo(analysis_type, gen_count, gen_current, fatigue_lifes ,material_params, problem_params, analysis_params, opti_params ,bit_count, Nvar, Ncand, rho)
% Master function, heavily modified for 3 variable problem
% Return new generaiton and most fit candidate of this iteration
% %----------------------------------------------------------------
% % Step 4 Select N random numbers from pool for genetic cross over
% % datasample – MATLAB’s builtin function
comp_rand = datasample(rand_ls, Ncand,‘Replace’,false);
%
% % Step 5 Determine mate using wheel of fortune
% %mate_matrix = find_mates_without_replacement(X1, cumu_prob_g1,
% comp_rand); % No repetation of mates is allowed
mate_matrix = find_mates_with_replacement(gen_current, cumu_prob_g1, comp_rand); % Allow a candiate to be repeated in the mating pool
%
% % Step 6 Reshape to have candiates form couple per row
mmx = reshape_long_row(mate_matrix);
%
% % Step 7 Perform cross over
% % How many couples do we have
mmx_couple_count = size(mmx,1);
% % Create (N/2) random numbers, row vector
cross_rand = random_generator(mmx_couple_count, 0, 0.98);
%
% % Perform cross over
% HARDCODED, problem specific
% Constraint on gear tooth width is applied here
gen_future = create_new_gen_spur_gears(mmx,bit_count,var_upper_limits,var_lower_limits,Nvar);
%
% % Step 8 Reshape new generation matrix to N by n_feature candiates
gen_future = reshape_to_Ncand_by_Nvar(gen_future, Ncand, Nvar);
%
% % Step 9 Perform elitism, copy-paste the strongest guy from the last generation
%gen_future = [gen_future;most_fit_g1];
%
end
1 matlab版本
2014a
2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
🍅 仿真咨询
1 各类智能优化算法改进及应用
生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化
2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化
5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化
7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化
8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置
9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长