码迷,mamicode.com
首页 > 编程语言 > 详细

MIP启发式算法:Variable fixing heuristic

时间:2018-11-08 11:37:54      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:实现   导致   分享   info   避免   一个   操作   png   ati   

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

*参考文章见链接。

本文简单介绍一下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应运而生。

技术分享图片

 

MIP启发式算法:Variable fixing heuristic

标签:实现   导致   分享   info   避免   一个   操作   png   ati   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!