如何用随机方法求解组合优化问题(二)

这篇具有很好参考价值的文章主要介绍了如何用随机方法求解组合优化问题(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

局部搜索算法

组合问题由于其可能的解的数量十分庞大,无法用穷举法求解最优解。

局部搜索算法旨在减少复杂度的情况下寻找最优解,尽管其不一定能够找到全局最优解,但是往往可以找到满意的局部最优解。

爬山法

类似于盲人爬山,无法看到全局的景象,但是有拐杖可以探测临近的区域。

每一次使用拐杖在周围扫一圈,把这一圈上每一个点的高度与自己脚底的高度比较,找到距离脚底最高的那个点所在的方向前进。

重复以上过程。直到扫描周围的一圈,发现都低于自己脚底的高度。

此时位于局部最高点。

核心思想

邻域内找一个最优的结果,接受它,再以此为新的起点,重复这个过程。

领域的概念

上文中对于领域的现实类比案例是容易理解的, 但是在组合优化问题中,领域是指什么呢?

对解 \(S\) 经过一些简单变换后,得到的另一个解称作解 \(S\) 的邻居,解 \(S\) 所有邻居的集合称作解 \(S\) 的邻域。

邻域举例

  • 皇后问题:每行每列有且只有一个皇后,每对角线至多一个皇后。

    \(S=\{S_i\}\) 表示一个可能解,其中 \(S_i\) 表示在第 \(i\) 行,第 \(S_i\) 列有一个皇后。

    如四皇后问题的一个解: \(S=(2, 4, 1, 3)\)

    任意交换两个皇后的位置获得一个解的邻居,则\((2,4,1,3)\)的所有邻居,也就是邻域为:

    \(\{(4,2,1,3),(1,4,2,3),(3,4,1,2),(2,1,4,3),(2,3,1,4),(2,4,3,1)\}\)

  • 旅行商问题

    • 常规交换法

      序列 \(S\) 是对于 \(n\) 个城市的访问顺序,将其中两个城市的访问顺序进行调换,则得到一个邻居 \(S'\).

      常规交换法的路线改变示例图:

    • 逆序交换法

      选取两个城市 \(x_i\)\(x_j\) ,将这两个城市之间的序列进行逆序操作。( \(x_i\)\(x_j\) 是不变的 )

      逆序交换法的路线改变示例图:

局部搜索算法描述

  1. 随机的选择一个初始的可能解 \(x_0\in D\)\(x_b=x_0\)\(P=N(x_b)\)
  2. 如果 \(P\) 不为空,则
  3. Begin
  4. ​ 选择 \(P\) 的一个子集 \(P'\)\(x_n\)\(P'\) 中的最优解
  5. ​ 如果 \(f(x_n)<f(x_b)\),则 \(x_b = x_n\)\(P=N(x_b)\),转2;
  6. ​ 否则 \(P=P-P'\),转2.
  7. End
  8. 输出计算结果
  9. 结束

其中:

  • \(N(x)\)函数用于获取组合 \(x\) 的邻域。

  • 这里的算法比上文的爬山法更具一般性,没有直接在领域中寻找局部最优解,而是在邻域的子集中寻找最优解。

  • \(f(x)\)用于计算并比较组合 \(x\) 的优良性,从而最终可以选出局部最优解。在旅行商问题中可以是路径的长度,在0-1背包中可以是背包中物品的价格。文章来源地址https://www.toymoban.com/news/detail-647148.html

到了这里,关于如何用随机方法求解组合优化问题(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何用随机方法求解组合优化问题(二)

    组合问题由于其可能的解的数量十分庞大,无法用穷举法求解最优解。 局部搜索算法旨在减少复杂度的情况下寻找最优解,尽管其不一定能够找到全局最优解,但是往往可以找到满意的局部最优解。 类似于盲人爬山,无法看到全局的景象,但是有拐杖可以探测临近的区域。

    2024年02月13日
    浏览(42)
  • 如何用随机方法求解组合优化问题(六)

    这是一篇笔记,是对于B站up主马少平的视频(第四篇 如何用随机方法求解组合优化问题(六))的学习与记录。 算法实现需要确定的参数: 初始温度 (t_0) ; 温度 (t) 的衰减函数,即温度的下降方法; 算法的终止准则,终止温度 (t_f) 或者终止条件; 每个温度 (t) 下的

    2024年02月12日
    浏览(40)
  • OM | 强化学习 + 约束规划求解组合优化问题

    组合优化在航空航天、交通规划以及经济学等众多学科领域中有广泛应用,其目标是在有限集中寻找最优解。然而状态空间过大的问题让目前组合优化变得棘手。在过去的几年中,使用深度强化学习(deep reinforcement learning,DRL)解决组合优化问题受到广泛关注。然而,现有的

    2024年02月10日
    浏览(47)
  • 机器学习笔记之最优化理论与方法(九)无约束优化问题——常用求解方法(下)

    上一节介绍了 牛顿法、拟牛顿法 。本节将继续以 拟牛顿法 为基础,介绍 DFP , BFGS text{DFP},text{BFGS} DFP , BFGS 方法 。 经典牛顿法缺陷与修正牛顿法 关于 经典牛顿法 中关于 下降方向 D k ( k = 1 , 2 , ⋯   , ∞ ) mathcal D_k(k=1,2,cdots,infty) D k ​ ( k = 1 , 2 , ⋯ , ∞ ) 的 数学符号 表

    2024年02月09日
    浏览(51)
  • 机器学习笔记之最优化理论与方法(七)无约束优化问题——常用求解方法(上)

    本节将介绍 无约束优化问题 的常用求解方法,包括 坐标轴交替下降法、最速下降法 。 本节是对优化算法(十~十七)最速下降法(梯度下降法)的理论补充,其中可能出现一些定理的 证明过程 这里不再赘述,并在相应位置 附加链接 。 从本节开始,将介绍 四大类 无约束优化问

    2024年02月10日
    浏览(49)
  • 优化|一阶方法:求解不具有凸性和lipschitz连续性的复合问题

    论文解读者:陈康明,赵田田,李朋 对于大多数一阶算法,我们会在收敛性分析时假设函数是凸的,且梯度满足全局 Lipschitz 条件。而本文中,对于某一类特殊函数。我们不仅不要求函数是凸的,也不再要求梯度满足全局 Lipschitz 条件。 考虑复合优化问题 ( P ) min ⁡ { Ψ ( x

    2024年02月12日
    浏览(49)
  • 【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 2.1 CCGKKT 2.2  CCGSD 2.3  SPKKT 2.4 SDSP 2.5 

    2023年04月15日
    浏览(54)
  • C# PSO 粒子群优化算法 遗传算法 随机算法 求解复杂方程的最大、最小值

    复杂方程可以自己定义,以下是看别人的题目,然后自己来做 以下是计算结果

    2024年02月09日
    浏览(42)
  • 运筹系列87:julia求解随机动态规划问题入门

    随机动态规划问题的特点是: 有多个阶段,每个阶段的随机性互不相关,且有有限个实现值 (finite realizations) 具有马尔可夫性质,即每个阶段只受上一个阶段影响,可以用状态转移方程来描述阶段与阶段之间的变化过程。 我们使用julia的SDDP算法包来求解随机动态规划问题。

    2024年01月16日
    浏览(39)
  • C# 随机法求解线性规划问题 蒙特卡洛

    线性规划问题: max=3 x1+2 x2 x1+2 x2=5 2 x1+x2=4 4 x1+3 x2=9 x1=0 x2=0 正确的结果:x1=1.5; x2=1, max z=6.5

    2024年02月13日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包