基于列生成启发式与变量合并进化算法的研究
1. 时间装箱问题的列生成启发式算法
在时间装箱问题中,当存在大量不同类型的虚拟机时,数据里会出现需求相同且连续的虚拟机。为了简化问题,我们可以将这样的一系列请求合并成一个,以此减少请求数量。然而,这种方法虽在长时间需求的虚拟机数据集上效果不错,但对其他数据集并无优势。此外,若修改算法,让新请求与相同配置的旧请求放在同一位置,服务器数量最多仅能优化1台,甚至在某些情况下,还会多需1台服务器。
在计算下界时,仅考虑两个时间点存在一定弊端。若想让列生成下界(ColGenLB)产生远离最优解的结果,可以利用问题的动态特性。例如,选择虚拟机时,使相近时间点(t1和t2)的静态问题最优解差异巨大,导致无法从t1时刻的最优解过渡到t2时刻的最优解。此时,动态解决方案在这两个时间点中的某一个所需的服务器数量会远多于静态解决方案,从而使ColGenLB的结果不够准确。
下面通过表格展示不同处理方式的效果:
| 处理方式 | 长时间需求虚拟机数据集效果 | 其他数据集效果 | 服务器数量优化情况 |
| — | — | — | — |
| 合并请求 | 良好 | 无优势 | 最多优化1台,部分情况多需1台 |
| 特定算法修改 | - | - | 最多优化1台,部分情况多需1台 |
2. (1+1)-进化算法及其改进
(1+1)-进化算法((1+1)-EA)在理论和实践研究中都备受关注。它基于随机突变方案,是许多进化和遗传算法的基本操作。然而,该算法虽然在优化某些“模型”函数(如ONEMAX、线性函数)时有效,但在最坏情况下效率极低,其最坏情况估计为$n^n$,甚至比随机选
超级会员免费看
订阅专栏 解锁全文
47

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



