5.6 Local Search for Constraint Optimisation Problems 约束优化问题的局部搜索

现实生活中的许多问题都受到了过度的约束。例如,在生产计划应用程序中,可能没有足够的资源在其各自的截止日期内完成所有给定的作业。在这种情况下,最好能找到一种可行的资源分配办法,使产生的收入总额达到最大;这类优化问题称为最大效用问题( maximal utility problem )[104]。在其他情况下,可能会违反某些约束,但这样做会带来惩罚成本。目标是找到一个惩罚最小的解决方案;这就是所谓的最小违反问题(minimal violation problem )[104]。

这些类型的问题可以通过扩展约束满足问题来建模,以包含优化目标。在最简单的情况下,问题被表示为一个CSP实例,但目标变成寻找满足最大约束数(MAX-CSP)的可变赋值。请注意,这相当于找到一个最小化违反约束总数的变量赋值。 在许多情况下,并非所有约束都同样重要。 在加权MAX-CSP中,这通过与各个约束相关联的权重来捕获,并且目标是最大化满意约束的总权重。 约束优化问题的更一般形式包括Partial CSP [28],Semi-Ring Based CSP [7]和Valued CSP [88]。

广泛研究的MAX-CSP和加权MAX-CSP的特殊情况是SAT的优化变体,MAX-SAT:给定一个联合范式的命题公式F,MAX-SAT中的目标是找到F中变量的真值赋值,以满足F中最大数量的子句。 在加权MAX-SAT中,每个子句都有一个相关的权重,目标是找到一个最大化满足子句总权重的赋值。MAX-SAT和Weighted MAX-SAT在算法开发中尤为重要,因为它们的概念简单,而且任何加权MAX-CSP实例都可以转换为加权MAX-SAT实例(代价是丢失约束图的结构并搜索更大的空间)。

局部搜索方法自然适合于解决约束优化问题[42]。特别是大多数针对CSP的局部搜索算法都可以直接应用到MAX-CSP中,因为它们的评价函数直接对应于被违反约束数最小化的优化目标。此外,通过修改标准评价函数(给定赋值下违反的约束数),将这些算法扩展到加权MAX-CSP,使其将每个变量赋值映射到其违反的约束的总权重(如Lau[63])。在特殊情况下,不同的评价函数可能有用;例如,Walser的WalkSAT算法对于具有硬约束和软约束的过约束伪布尔CSP使用了一个考虑给定的线性伪布尔约束关系违背程度的评估函数[118]。

值得注意的是,将动态局部搜索方法推广到加权MAX-CSP时,并没有一种“正确”的方法将约束权重和惩罚值整合到增广评价函数中。也许最明显的方法是简单地在所有违反的约束上添加权重和惩罚(参见,例如Wah和Shang[115])。在GLS中发现了另一种更好的解决方案,即使用约束权重来确定每个局部搜索阶段之后要增加的惩罚值,但是在增强的评估函数中没有出现(参见5.4节)。Wu和Wah的加权MAX-SAT DLM算法[122]采用了类似的方法,其中子句权重用于惩罚的初始化和更新,而不是在评价函数中。

较大的邻域允许在单个局部搜索步骤中更改多个变量,在约束优化的局部搜索上下文中比在CSP中得到了更广泛的研究。例如Yagiura和Ibaraki[123]开发了基于2和3-flip邻域的MAX-SAT的各种SLS算法。大型邻域也成功应用于各种应用相关的组合优化问题(如Yao [124], Tsang and Voudouris [106], Ahuja et al. [2], Abdullah et al.[1])。在所有这些情况下,必须使用特殊技术,以便有效地搜索这些大的邻域。

局部搜索算法在解决现实约束优化问题中发挥着重要作用,因为在很多情况下,它们能够比其他方法更有效地找到高质量的解决方案。例如,GLS已经被整合到ILOG的Dispatcher系统中(ILOG是商业约束编程软件的市场领导者)[3,60]。调度员是专门为车辆路线而设计的,这是运筹学中一个突出的问题,在运输业务中具有中心重要性(见第23章)。一般来说,局部搜索算法通常可以与其他方法结合使用。例如,分支绑定算法可以从高性能本地搜索方法获得的高质量边界中获得显著的好处。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值