MIP启发式算法:Variable fixing heuristic

*本文主要记录及分享学习到的知识,算不上原创

*参考文章见链接。

本文简单介绍一下Variable fixing heuristic,这个算法同样以local search为核心框架,它的特点在于定义邻域结构的方式。

目录

Hard variable fixing heuristic

Soft Variable fixing heuristic

Hard Variable fixing heuristic

Variable fixing heuristic 常常与Cplex一起使用。就像刚才提到的那样,variable fixing heuristic 同样以local searh为核心框架,所以Cplex主要用于求解邻域中的局部最优解。另外,variable fixing heuristic通常应用于0-1 MIP问题。以下以0-1 MIP 问题为例。

variable fixing heuristic 的过程

1)生成初始解x;

2)选择部分变量,固定这些变量的值;

3)用Cplex求解固定部分变量后的子问题;

4)如果Cplex求得的局部最优解x‘优于初始解x,则将其作为新解x:=x‘;

5)回(2),不断迭代,直至满足终止条件。

备注:

1)生成的初始解x如果是integer feasible,那么“固定变量的值”的方式通常是选择其中部分的0-1变量,让其等于初始解对应变量的值。当然也可以考虑生成的初始解是integer infeasible,也就是说是一个Lp relaxation的解(考虑着这种情况是因为对于NP hard问题,求解其LP relaxation的速度远远比求解原问题迅速),那么“固定变量的值”的方式通常是选择部分变量,根据round固定为最近的整数解。

2)之所以会考虑固定部分变量的值,求解子问题,是因为固定部分变量的子问题的求解比原问题的求解更加迅速。

3)所以说variable fixing heuristic也是以local search为核心框架,特点在于邻域结构的定义。

4)variable fixing heuristic将local search与exact algorithm (Cplex)结合起来,启发了一些其他的算法,比如VNS和Cplex的结合。

Soft Variable fixing heuristic

hard variable fixing heuristic在定义邻域结构(求解子问题)时,已经确定好了哪些变量的值被固定。(即使可以在步骤(2)中可以实现随机选择固定的变量,但是在步骤(3)中求解子问题时哪些变量的值被固定已经是确定了的。那么在hard variable fixing 中如何选择固定的变量就变得尤其重要,一旦没选好,就可能错失优秀的解。所以有时候,我们可能并不是希望提前固定好一些变量的值,而是想着固定其部分变量,但具体是哪些变量,我们并不作要求,这样的操作可以尽可能避免由于固定错误的变量而导致的不良结果。基于这种考虑,soft variable fxing应运而生。

原文地址:https://www.cnblogs.com/liuyingsme/p/9859320.html

时间: 2024-10-29 04:42:55

MIP启发式算法:Variable fixing heuristic的相关文章

MIP启发式算法:爬山算法 (Hill climbing)

本文主要记录和分享学习到的知识,算不上原创. *参考文献见链接. 本文讲述的是求解MIP问题的启发式算法中的爬山算法 (Hill climbing). 目录 前言 Hill climbing 的过程 Hill climbing 的伪代码 前言 爬山算法是以local search为核心框架的启发式算法中最简单的算法,当然,结果一般也不太好,因为爬山算法有一个很大的缺点:不能跳出局部解. 就像我们在local search那篇文中提到,以local search 为框架的启发式算法需要综合考虑到算

VMTF(variable move-to-front )strategy学习

文献学习——Evaluating CDCL Variable Scoring Schemes 作者:Armin Biere ( B ) and Andreas Fröhlich    ------大牛,CaDiCal.YalSAT.Lingeling等求解器的研发团队负责人 这是作者2015年发表的文献,其中深入讲解了VMTF.该技术目前是应用求解unsat样例最有效,能多求出近10个. VMTF最早见文献: Ryan, L.: Efficient algorithms for clause-l

VRP相关知识整理

一.扩展问题分类: ★ the capacitated vehicle routing problem (CVRP) , 即classical VRP ★ the vehicle routing problem with time windows (VRPTW) , 带时间窗    - VRPHTW 硬时间窗   |   VRPSTW 软时间窗   |   VRPTD(VRP with Time Deadlines)带顾客最迟服务时间 ★ (VRPSD) the Vehicle Routing

启发式算法(Heuristic Algorithm)

背景: 李航的<统计学习方法>一书中提到:决策树算法通常采用启发式算法,故了解之 问题解答: 时间有限,这里也只是将算法和启发式算法的区别和简单发展摘录如下: 一.算法和启发式方法之间的差别很微妙,两个术语的意思也有一些重叠.就本书的目的而言,它们之间的差别就在于其距离最终解决办法的间接程度:算法直接给你解决问题的指导,而启发式方法则告诉你该如何发现这些指导信息,或者至少到哪里去寻找它们. 二.发展 40年代:由于实际需要,提出了启发式算法(快速有效). 50年代:逐步繁荣,其中贪婪算法和局部

启发式算法是什么意思

启发式算法(heuristic algorithm)是相对于最优化算法提出的.一个问题的最优算法求得该问题每个实例的最优解.启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计. 计算机科学的两大基础目标,就是发现可证明其执行效率良好且可得最佳解或次佳解的算法.而启发式算法则试图一次提供一或全部目标. 例如它常能发现很不错的解,但也没办法证明它不会得到较坏的解:它通常可在合

元启发式算法相关文献

Bibliography [recommendation] a literature survey of various extensions of the VRP occurring in practice : O. Bräysy, M. Gendreau, G. Hasle and A. Løkketangen. “A Survey of Heuristics for the Vehicle Routing Problem, Part I: Basic Problems and Supply

Dr.Elephant启发式算法指南 - 【Dr.Elephant系列文章-5】

Map-Reduce Mapper数据倾斜 数据进入到Mapper作业中后,有可能会发生数据的倾斜,Mapper数据倾斜启发式算法(mapper data skew heuristic)能够判定这种情况是否存在.启发式算法会将所有的Mapper分成两部分,其中一部分的所有作业(task)的平均数据量会大于另一部分的平均数据量. 例如:第一部分有900个Mapper作业,每个Mapper作业平均数据量为7MB,而另一份包含1200个Mapper作业,且每个Mapper作业的平均数据量是500MB.

JEasyUI: Bug Fixing for perpertygrid

The propertygrid is really a nice plugin. However, you may encounter error if load it with ajax method as below. $('#p_prop').panel('refresh', './property_data.php'); When editing a loaded property field, user abort the action by refreshing the prope

The ROI Variable

? The ROI Variable George Malamidis EvERy dECiSion WE MAKE FoR ouR pRojECTS, be it technology-, process- or people-related, can be a viewed as a form of investment. Investments come associated with a cost, which may or may not be monetary, and carry