当前位置: 首页 > news >正文

[DCVRP] 基于复杂网络的k-opt算法解空间表示(五)

基于复杂网络的k-opt算法解空间表示

如果想提高算法,了解解空间结构是一个很好的突破口。使用 节点表示可行解,表示可行解之间的领域关系。然后通过计算法复杂网络的基本指标分析算法解空间结构,其目的是得出优秀算法的解空间结构所呈现的特征,基于分析结论设计一个算法使其解空间呈现这种特征,最终使设计的算法性能具有竞争力这思路太牛逼了吧 👍

好的算法操作规则对应的复杂网络具有什么样的结构特征?或者说通过分析算法操作规则对应的复杂网络结构特征是否可以评估该算法的求解性能

一、可行解对应节点标号计算方法

1. 由s[j]获得标号i

在这里插入图片描述
这里的 i i i的公式错误,应该修改为:

{ i = s [ n − 1 ] + ∑ j = 3 n − 2 [ ( s [ j ] − 1 ) ⋅ N j ! / 2 ] s [ j ] = { 1 , 0 ≤ j ≤ 2 h ( 1 ≤ h ≤ j ) , 3 ≤ j ≤ n − 1 N = ( n − 1 ) ! / 2 \begin{cases}i=s[n-1] +\sum_{j=3}^{n-2}[(s[j]-1)\cdot \frac{N}{j!/2}]\\ s[j]=\begin{cases}1, &0 \leq j \leq 2\\ h(1\leq h \leq j), &3\leq j \leq n-1\\ \end{cases}\\ N=(n-1)!/2\end{cases} i=s[n1]+j=3n2[(s[j]1)j!/2N]s[j]={1,h(1hj),0j23jn1N=(n1)!/2

  1. 求和公示中改为了 j = 3 j=3 j=3为初始累加点,因为 0 ≤ j ≤ 2 0\leq j \leq 2 0j2 ( s [ j ] − 1 ) = 0 (s[j]-1)=0 (s[j]1)=0
  2. s[j]表示顾客j在标准存在方式中与前 j − 1 j-1 j1个顾客及配送中心之间的相对位置,即顾客应插入的“空隙”的位置。至多有j个空隙,故h的取值不超j
  3. 空隙的顺序是从右往左数
  4. 标号i的范围最小为1,最大为N.

案例 : 假设 n = 6. N = 5 ! / 2 = 60 n=6. N=5!/2=60 n=6.N=5!/2=60

标准存放方式s[0]s[1]s[2]s[3]:20s[4]:5s[5]i
[0,4,3,5,1,2,]11134358=3+(4-1)*5+(3-1)*20
[0,5,1,4,3,2]11123535=5+(3-1)*5+(2-1)*20
[0,1,2,3,4,5]1111111=1+0+0+0+0
[0,5,4,3,2,1]11134560=5+(4-1)*5+(3-1)*20

在这里插入图片描述

2. 由索引 π i [ j ] \pi_i[j] πi[j]获得s[j]

π i [ j ] \pi_i[j] πi[j] :表示解 π + i \pi+i π+i中数组索引为j的元素

设有一个标准存放方式:【0,5,1,4,3,2】----标准存放方式要求仓库为0放在左首

那么有对应关系:

π i [ 0 ] \pi_i[0] πi[0] π i [ 1 ] \pi_i[1] πi[1] π i [ 2 ] \pi_i[2] πi

http://www.mrgr.cn/news/25906.html

相关文章:

  • ElementPlus自定义更换主题色
  • Excel图片批量插入单元格排版处理插件【图片大师】
  • 出海公司如何快速搭建海外团队指南
  • MongoDB与Pymongo深度实践:从基础概念到无限级评论应用示例
  • 项目实战应用Redis分布式锁
  • 828华为云征文|华为云Flexus云服务器X实例之openEuler系统下部署CodeX Docs文档工具
  • python 实现euler modified变形欧拉法算法
  • 学懂C++(六十):C++ 11、C++ 14、C++ 17、C++ 20新特性大总结(万字详解大全)
  • ArcGIS Pro SDK (十四)地图探索 3 弹出窗口
  • 基于Spark 的零售交易数据挖掘分析与可视化
  • 亚马逊测评自建团队与工作室的五大优势亮点,打造高权重评价系统
  • 腾讯发布大模型安全与伦理报告:以负责任AI引领大模型创新
  • 从安装ffmpeg开始,把一个视频按照每秒30帧fps剪切为图片
  • YOLOv5改进:CA注意力机制【注意力系列篇】(附详细的修改步骤,以及代码)
  • 解决Linux服务器上下载pytorch速度过慢的问题
  • UE5 性能分析 UnrealInsights
  • 【C++ 高频面试题】new、delete 与 malloc、free的区别
  • 【上行传输流程】
  • 中国科技巨头在AI领域的竞争态势分析
  • 区块链先驱孙宇晨:引领价值传播,激发行业创新活力