我正在使用元启发式方法编写一些代码,以找到解决固定电荷传输问题 (FCTP) 的良好解决方案。
我遇到的问题是基于为底层二分图找到生成树来生成一个起始解决方案。
我希望它是一棵随机生成树,这样我就可以多次针对同一个问题运行该过程,可能会得到不同的解决方案。
我在做这件事时遇到了一些困难。到目前为止,我采用的方法是对弧进行随机排列,然后遍历此列表,如果不会创建循环,则按顺序将它们放入基础。
我需要找到一种快速的方法来检查是否包含弧会创建一个循环。我不想“蛮力”它,因为考虑到大问题实例,这种方法可能需要大量时间。
鉴于这A
是一个具有随机排列的弧的数组,您将如何进行选择过程?
我已经为此工作了几个小时,但我尝试过的任何方法都没有奏效,其中大部分在应用方面都是荒谬的......