遗传算法
用于混合整数或连续变量优化(有约束或无约束)的遗传算法求解器
遗传算法可以解决带有任意类型约束(包括整数约束)的光滑或非光滑优化问题。它是一种随机的、基于种群的算法,通过种群成员之间的变异和交叉进行随机搜索。
函数
实时编辑器任务
优化 | 在实时编辑器中优化或求解方程 (自 R2020b 起) |
主题
基于问题的遗传算法
- 使用 ga 最小化拉斯特里金函数,基于问题
基于问题的方法中最小化具有多个极小值的函数的基本示例。 - 使用 ga 的约束最小化,基于问题
使用基于问题的方法中的ga
解决具有非线性约束和边界的非线性问题。 - 使用基于问题的遗传算法解决混合整数工程设计问题
示例展示了如何在 ga 中使用基于问题的混合整数规划,包括如何从有限的值列表中进行选择。 - 使用基于问题的 Optimize 实时编辑器任务求解可行性问题
使用基于问题的优化实时编辑器任务和多个求解器来求解非线性可行性问题。 - 使用 varindex 在基于问题的方法中设置选项
要在某些情况下设置选项,请使用varindex
将基于问题的变量映射到基于求解器的变量。
遗传算法优化基础
- 最小化拉斯特里金函数
给出了利用遗传算法解决优化问题的一个例子。 - 使用遗传算法编码并最小化适应度函数
展示如何编写包括额外参数或向量化的适应度函数。 - 使用遗传算法进行约束最小化
展示如何在问题中包含约束。 - 选项和输出
展示如何选择输入选项和输出参量。 - 遗传算法选项的影响
显示多个选项的效果的示例。 - 使用 ga 进行全局优化与局部优化
此示例显示了如何设置初始范围可以得到更好的解。
常用调整选项
- 设置最大代数和停滞代数
检查设置MaxGenerations
和MaxStallGenerations
选项的效果。 - 种群多样性
显示种群多样性的重要性以及如何设置它。 - 适应度缩放
描述适应度缩放以及它如何影响ga
的进度。 - 变异和交叉
显示ga
中变异和交叉参数的效果。 - 遗传算法中的混合方案
展示如何使用混合函数来改进解。 - 何时使用混合函数
描述混合函数可能提供更高精度或速度的情况。
混合整数优化
- 混合整数 ga 优化
解决混合整数规划问题,其中一些变量必须是整数值。 - 使用遗传算法解决混合整数工程设计问题
示例展示了如何在 ga 中使用混合整数规划,包括如何从有限的值列表中进行选择。
专门的任务
- 恢复 ga
展示如何从最终种群中继续优化ga
。 - 重现结果
展示如何通过重置随机种子来重现结果。 - 从文件运行 ga
提供使用一组参数运行ga
以搜索最有效设置的示例。 - 向量化适应度函数
如何使用向量化函数计算来提高速度。 - 创建自定义绘图函数
展示如何在ga
中创建和使用自定义绘图函数。 - 遗传算法的自定义输出函数
此示例展示了在ga
中使用自定义输出函数。 - 使用遗传算法优化自定义数据类型
使用自定义数据类型解决旅行商问题。 - 并行优化 ODE
仅调用一次昂贵的子程序并使用patternsearch
或ga
并行计算 ODE 解,从而节省时间。
遗传算法背景
- 什么是遗传算法?
介绍了遗传算法。 - 遗传算法术语
解释遗传算法的一些基本术语。 - 遗传算法的工作原理
概述遗传算法的工作原理。 - 遗传算法算法的非线性约束求解算法
解释增广拉格朗日遗传算法(ALGA)和惩罚算法。 - 遗传算法选项
探索遗传算法的选项。