解决多维多路数字分区问题的变邻域搜索方法
1. 变邻域下降算法概述
变邻域搜索(Variable Neighborhood Search)是一种单解元启发式算法,其核心思想是系统地改变邻域结构,以跳出局部最优解。不同邻域结构的使用基于以下观察:并非所有邻域结构都需要找到相同的局部最优解。一方面,全局最优解是所有邻域结构的局部最优解;另一方面,尽管邻域结构多样,但对于许多问题,局部最优解相对接近。基本的变邻域搜索及其变体已应用于许多优化问题,如调度、路由等。
1.1 初始解构建
为构建初始解,考虑码头集合 (S = \sum_{q\in Q} \pi_q),其中每个排列 (\pi_q) 包含将在码头 (q) 装载的船只列表,采用基于码头排列的表示法。提出了一种贪心算法,为顺序变邻域下降(seq - VND)元启发式算法生成可行的起点。其主要思想受工作站平衡分配启发,将港口视为工作单元,每个码头代表设备或工作站。定义船只(任务)的装载(执行)顺序,遵循先来先服务(FCFS)规则选择船只。贪心过程根据预定义顺序并考虑码头长度将船只分配到码头,定义每个码头分配的船只数量 (N = \lfloor \frac{|V|}{|Q|} \rfloor)。
匹配船只和码头后,提出构造性启发式算法 (G - FCFS) 为解生成可行的调度。将规划期和码头离散化以满足问题的时空约束。(G - FCFS) 为初始解 (S) 生成可行的泊位规划,计算每个船只 (v \in \pi_q) 的开始时间 (S_v)、泊位位置 (b_v)、处理时间 (h_v) 和延迟时间 (T_v)。评估方案中,使用上述贪心过程和每次移动后生成的解计算总延迟成本。
超级会员免费看
订阅专栏 解锁全文
377

被折叠的 条评论
为什么被折叠?



