【摘要】:组合优化问题一般包含多个约束条件,例如LRP问题就是一个典型的多约束组合优化问题,我们在采用禁忌搜索算法、遗传算法、蚁群算法等启发式算法对其进行求解时,需要对问题中的约束条件进行相应的处理。目前还没有一种能够处理各种约束条件的一般化方法,因此,我们在对约束条件进行相应处理时,一般针对具体的问题的约束条件的特征,选用不同的处理方法。这是一种组合优化中处理约束的常用方法。
组合优化问题一般包含多个约束条件,例如LRP问题就是一个典型的多约束组合优化问题,我们在采用禁忌搜索算法、遗传算法、蚁群算法等启发式算法对其进行求解时,需要对问题中的约束条件进行相应的处理。目前还没有一种能够处理各种约束条件的一般化方法,因此,我们在对约束条件进行相应处理时,一般针对具体的问题的约束条件的特征,选用不同的处理方法。处理约束条件的方法主要有如下两种:
(1)搜索空间限定法
此方法的基本思想是对算法的搜索空间的大小加以限制,使得搜索空间中的每个点都与解空间中的可行解有一一对应关系。
对于一些比较简单的约束条件,一般只要在解的表示方法上着手,就可以达到搜索空间与解空间之间的一一对应的要求。采用此种处理方法能够提高算法的搜索效率。但是,我们还要注意,除了要在解的表示方法上想办法之外,也必须要保证在算法迭代过程中经过有关操作算子作用后所产生出的新解的有效性。
(2)惩罚函数法
这是一种组合优化中处理约束的常用方法。此方法的基本思想是:对于不满足约束条件的不可行解,在计算其目标函数值时,给予一个惩罚函数,可以降低该不可行解的评价值。这种方法的特点是可以适当地接受非可行解,扩大了搜索空间,使得一些非可行解有了生存的机会。确定合理的惩罚函数是此种处理方法的难点,因为此方法既要考虑如何度量解对约束条件不满足的程度,又要考虑算法在计算效率上的要求。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。