启发式算法(heuristic algorithm):相对于最优化算法提出的,可定义为:基于直观或者经验构造的算法,在可接受的计算时间或者计算代价下求出的一个可行解,这个可行解不一定是最优解。
对于np难问题,一般是考虑设计启发式算法进行求解,求尽量接近最优解的可行解。评价设计的算法的好坏可以根据计算出的目标值与最优值进行比较,越接近最优值,说明算法效果越好。np难问题求解最优值是非常困难的,解决这个难点的有效方法就是通过计算下界,用上界和下界的差来评价算法。
拉格朗日松弛算法是求解下界的一种常用方法,拉格朗日松弛算法实现比较简单,不仅可以用来评价算法的效果,还可以用在其他算法中,提高算法效率。拉格朗日松弛算法包括两块内容:一方面是提供下界,另一方面演变为拉格朗日松弛启发式算法。
松弛:可以简单理解为把某一约束去掉,即为把某一约束松弛,对于整数线性规划模型,在忽略决策变量为整数这个约束下求得的最优解即为模型松弛解,称为线性规划松弛。
拉格朗日松弛方法,把造成问题难的约束吸收到目标函数,并使得目标函数保持线性,使得问题变得容易求解。
拉格朗日启发式算法,第一步:拉格朗日的次梯度优化计算;第二步:把第一步得到的非可行解可行化。
2020-10-17
最新推荐文章于 2023-05-29 10:48:38 发布