考虑一个平面图,其中每个节点都与一个权重相关联。我想对图进行分区,以使每组中的节点权重之和满足最低要求。但是,我也想要尽可能多的“分辨率”——也就是说,我想最大化组的数量(最小化每组的节点数)。应该奖励内部边缘,以避免节点的长“菊花链”。
有没有人对我如何计算(大约)最优解有任何建议?我的直觉是使用蒙特卡洛来解决这个问题,但我不确定我将如何在这里实现它。
提前感谢您提供的任何见解或意见!
考虑一个平面图,其中每个节点都与一个权重相关联。我想对图进行分区,以使每组中的节点权重之和满足最低要求。但是,我也想要尽可能多的“分辨率”——也就是说,我想最大化组的数量(最小化每组的节点数)。应该奖励内部边缘,以避免节点的长“菊花链”。
有没有人对我如何计算(大约)最优解有任何建议?我的直觉是使用蒙特卡洛来解决这个问题,但我不确定我将如何在这里实现它。
提前感谢您提供的任何见解或意见!
如果您正在寻找的只是一个近似的解决方案,我建议您从著名的图形分区包之一开始,例如 METIS。它允许您将权重附加到节点。把它分成组并检查您的最小权重总和条件是否满足。如果是,请尝试分区到组并再次检查。然后重复,直到您的一组违反最小权重总和条件。