可变邻域搜索在单处理器调度问题中的应用
在解决单处理器调度问题时,可变邻域搜索(VNS)和固定邻域搜索(FNS)算法展现出了良好的性能。下面将详细介绍这两种算法及其性能测试结果。
1. 可变邻域搜索算法(VNS)
VNS 算法集成了两个重要过程:震荡阶段(Shaking)和局部搜索阶段(Local Search)。震荡阶段旨在帮助算法跳出局部最优解的陷阱,而局部搜索阶段则用于利用积累的搜索经验来优化当前解。
1.1 算法流程
以下是 VNS 算法的伪代码:
Algorithm 1. VNS
Data: An instance of STR, neighborhood structures Nk for k = 1, 2, ..., kmax,
h diversification parameter, CPU time: CPUMAX
Result: Solution π
Generate an initial solution π;
repeat
k ← 1 ;
while k ≤ kmax do
π′ ← Shaking(π, k, h);
π′′ ← Local Search(π′, k);
if f(π′′) < f(π) then
π ← π′′;
k ← 1;
else
k ← k + 1;
end
end
until CPU ≥ CPUMAX;
超级会员免费看
订阅专栏 解锁全文
33

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



