1 / 29

和声搜索算法

和声搜索算法. 1. 2. 3. 简介. 应用. 比较与分析. 简介. 常见的优化算法 数学方法 线性规划(比如单纯形法)。缺点是过于理想化,要求处理的都是线性函数。 非线性规划。要求可导。 动态规划。计算量巨大。 现有的元启发算法:模拟自然现象,如生物进化、动物的行为等。 模拟退火。(模拟金属退火) 遗传 算法。(模拟生物进化) 蚁群算法。 (模拟蚂蚁的觅食行为) 禁忌搜索。 (模拟动物的思考方法). 几种常见的元启发式算法. 和声搜索算法. 类比. 类比. 和声搜索算法基本步骤. 1. 初始化算法参数。 2. 初始化和声库。

gilles
Download Presentation

和声搜索算法

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 和声搜索算法

  2. 1 2 3 简介 应用 比较与分析

  3. 简介 • 常见的优化算法 • 数学方法 • 线性规划(比如单纯形法)。缺点是过于理想化,要求处理的都是线性函数。 • 非线性规划。要求可导。 • 动态规划。计算量巨大。 • 现有的元启发算法:模拟自然现象,如生物进化、动物的行为等。 • 模拟退火。(模拟金属退火) • 遗传算法。(模拟生物进化) • 蚁群算法。 (模拟蚂蚁的觅食行为) • 禁忌搜索。 (模拟动物的思考方法)

  4. 几种常见的元启发式算法

  5. 和声搜索算法

  6. 类比

  7. 类比

  8. 和声搜索算法基本步骤 • 1. 初始化算法参数。 • 2. 初始化和声库。 • 3. 构造新的和声(解向量)。 • 4. 更新和声库。 • 5. 检查停止条件。

  9. 算法流程图

  10. 1. 初始化算法参数 • 求解的问题为: • Minimize f(x) • 变量数 • 变量取值范围。 • 算法参数 • HMS: harmony memory size. 和声库的大小。群体的大小。 • HMCR: harmony memory considering rate. • PAR: pitch adjusting rate. • Terminate criterion. 算法终止条件。一般是最大迭代次数。

  11. 2. 初始化和声库 • 将HRS个随机产生的解填充到和声库当中。并且根据目标函数进行排序。

  12. 3. 构造新的和声 • 构造一个新的和声向量,主要是通过以下三个操作: • 1. Memory consideration. 基于和声库。 • 2. Random selection. 随机选择。 • 3. Pitch adjustment. 微调。

  13. 3. 构造新的和声 • 三个规则的使用: • 例如当HMCR为0.9,PAR为0.5的时候: • 随机选择的概率为(1-0.9)=0.1. • 基于和声库的概率为0.9 • 进行微调的概率为0.9*0.5=0.45

  14. 4. 更新和声库&5. 检查停止条件 • 4. 更新和声库 • 如果当前解优于和声库里边最差解,则进行替换 • 5. 检查停止条件 • 是否达到最大迭代次数。

  15. 1 2 3 简介 应用 比较与分析

  16. 函数最值 • 函数表达式为:

  17. 函数最值 • 第一步:初始化算法参数。 • HMS: 10 • HCR: 0.85 • PAR: 0.45

  18. 函数最值 • 第二步:初始化和声库。 • 随机 • 排序

  19. 函数最值 • 第三步:构造新的和声(解向量)。 • 1. 以0.85的概率从和声库里边选取一个值。以0.15的概率随机选取一个值。 • 2. 如果是从和声库中选取而来,则有0.45进行微调。 • 例如(3.183, 8.666) • 3.183直接来自和声库,而且没有经过微调。 • 8.666可能是通过随机选取得来的(0.15),也可能是通过微调得来(0.85*0.45=0.3825)。

  20. 函数最值 • 第四步:更新和声库。 • f(3.183, 8.666) = 22454.67。优于和声库里边的最差解: f(-9.500, 3.333) = 228704.72。 因此进行替换。

  21. 函数最值 • 第五步:检查停止条件。 • 经过4870次迭代,和声搜索算法找到最优解f(0.08984, -0.71269) = -1.0316285。

  22. 函数最值

  23. 函数最值 • 表中反映的问题: • 1. 过度集中。多样性保证?其他应用中是否会出现过早收敛的问题。 • 2. 后期搜索效率不高。是否可以应用局部搜索?到了1000代以后,基本都集中在最优解附近。

  24. 1 2 3 简介 应用 比较与分析

  25. 比较与分析 • 相对遗传算法的几个区别: • 1. 产生一个新解的时候,考虑到了所有的解向量。遗传算法只考虑两个解向量。 • 2. 独立的考虑每个变量。 • 3. 可以不用进行进制转换。

  26. 比较与分析 • 和声搜索算法的最大亮点:产生新解的过程。 • 基于群体的解构造方法 • 提供了在整个群体范围内构造优质解的可能。相比之下,遗传算法在这方面的效率比较低。如在一个TSP问题,优质边分布在群体中的各个解中,遗传算法整合各个解中优质边的效率比较低下。 • 该步骤是和声搜索算法中最重要的一个步骤,也是和声搜索算法的精华。 • 1.名字的来源。直接受音乐启发得到的灵感。 • 2. HRCR设置比较大,一般0.8-0.9。

  27. 比较与分析 • 该操作类比于遗传算法中的交叉操作。 • 相同点 • 1. 都是算法的主要操作。执行的概率都比较大。 • 2. 都是利用已经探索的知识来构造新解。 • 不同点 • 遗传算法的交叉操作是配合其选择操作来的 。过度繁殖,通过适者生存的选择操作来达到产生优质后代的目的。 • 和声搜索算法中选择算法退化,因为产生一个解的代价稍高,保证效率。

  28. 比较与分析 • 对于元启发式算法而言,平衡好开发和利用之间的关系是一个关键问题。 • 利用意味着如何利用已经探索过的区域 • 开发意味着如何探索新的区域。 • 利用是算法的关键,决定的算法效率。开发是保证算法的完备性。保证所有解空间可达。 • 和声搜索算法中: • 利用:HMR, HMCR。 • 开发: 微调,随机选取。

  29. Thank You !

More Related