当前位置: 首页 > 知识库问答 >
问题:

我怎样才能找到一个最小化边数的方法呢?

叶稳
2023-03-14

我在想一个算法来解决下面的问题:

问题是如何找到最小的边数来满足所有客户的要求?

有一个简单的例子:

  • 客户1希望从顶点a到顶点B。
  • 客户2希望从顶点b到顶点C。
  • 客户3希望从顶点a到顶点C。
    null

共有1个答案

卫飞鹏
2023-03-14

您可以将问题建模为混合整数程序。您可以为“arc A->b被使用”和“Customer c使用arc A->b”定义二进制变量,并将需求写成线性不等式。如果你的图不是太大,你可以在合理的时间内用混合整数程序求解器(CPLEX,GUROBI,但在web上也有免费的替代方案)求解这样的模型。

我知道,如果你不熟悉线性规划,这个解决方案需要一些工作,但它保证在有限的时间内找到最佳解,你大概可以解决(比方说)1000个客户和1000个弧。

 类似资料:
  • 有什么方法可以简化这段代码吗?我正好有一个白色的一块,想要得到它的位置 代码: 瓦片类: 件类:

  • 我可以用什么代码打印出用户在这个数组中输入的最高值和最低值?这个程序需要取用户输入的平均值(我已经做过了)。现在我所需要做的就是让程序打印出用户输入的最高值和最低值。

  • 我有一个关于寻找矩形(曲线上方)的区域的问题。我想找到类似于,其中。 我有两个(x;y)的,可以找到: ) 我的问题是:如果我没有函数,但有(x;y),如何使用数值积分。例如,在matlab中,: 在C++中,我有:

  • 我有“下载正在进行文件”对话框活动。当用户按下“隐藏”按钮时,活动将创建通知和隐藏进度对话框。并且当用户单击到通知时,活动显示进度对话框再次出现在活动中。我如何在按下按钮“后退”时切换活动到后退任务?

  • 一种通用方法,可以返回两个参数之间的随机整数,就像ruby使用时所做的那样。 有什么建议吗?

  • 我正在开发一个插件,它将创建一个实现接口类。接口可能有继承的方法。我还希望在创建类时实现所有的方法,包括继承的方法,而不是在创建类之后,然后使用eclipse quick Fix--添加未实现的方法。是否有任何方法可以获得所有方法的列表,包括接口的继承方法?