我正在寻找关于组合优化中的adaptive-parameter-control of 搜索算法参数(online-learning)的想法/经验/参考资料/关键词。
更多细节:
我有一个框架,负责优化一个困难的组合优化问题.这是在一些“小启发式”的帮助下完成的,这些方法是以迭代的方式使用的(大邻域搜索;破产和重建方法)。这些“小启发式”算法都采用了一些外部参数,在一定程度上控制了启发式逻辑(目前:只是随机值;某种噪声;多样化的搜索)。
现在,我希望有一个控制框架,以一种收敛的方式选择这些参数,尽可能的通用,这样以后添加新的启发式方法是可能的,而不需要改变参数-控制。
至少有两项一般性决定需要作出:
唯一的反馈是新发现的解决方案的评估函数。这将我引向reinforcement-learning.的主题方向对吗?
这并不是一种真正的学习行为,但目前的简单想法是:
需要注意的是:一种特定算法的良好收敛所需的参数可以极大地改变->-在特定的一对破坏/重建算法(有时称为耦合邻居)中,有可能产生良好的协同效应。怎么才能认出那样的东西呢?这是否还在强化-学习-领域?-不同的算法是由不同数量的参数控制(有些采取1,有些采取3)。
有什么想法、经验、参考资料(论文)、关键词(主题)?
如果对offline-learning-manner.中(b)项的决定有想法别犹豫,提一下。
谢谢你的意见。
萨沙
发布于 2010-11-23 15:08:26
您有一组用于控制算法集的参数变量。算法的选择只是另一个变量。
您可能想要考虑的一种方法是使用遗传算法来进化您的“参数空间”。简单地说,遗传算法使用自然选择过程的类似方式来不断地培育出更好的解决方案。
您需要开发一个编码方案来将您的参数空间表示为字符串,然后创建大量候选解决方案作为您的开始生成。遗传算法本身在你的集合中取最合适的解,然后应用不同的遗传算子(突变、复制等)。培育出更好的组合,然后成为下一代。
这个过程中最困难的部分是开发一个适当的适应度函数:定量地测量给定参数空间的质量。您的搜索问题可能太复杂,无法度量人口中的每个候选人,因此您将需要一个代理模型函数,它可能与理想的解决方案本身一样难以开发。
如果不更多地了解您所写的内容,就很难看出这种方法是否可行。GA通常非常适合这样的多变量优化问题,但它不是一个灵丹妙药。如需参考,请从维基百科开始。
发布于 2010-12-24 11:08:58
这听起来像是超启发式,你正在尝试这样做。试着找那个关键词。
在滴水规划师 (开放源码,java)中,我支持禁忌搜索和模拟退火。我还没有实现破坏和重建方法(目前为止),但这应该是容易的,虽然我没有期望更好的结果。挑战:证明我错了,用叉子把它加起来,然后在例子中击败我。超启发式算法在我的TODO列表中。
https://stackoverflow.com/questions/4256948
复制相似问题