图论 - 寻找解决这个问题的算法

时间:2016-02-23 19:51:53

标签: algorithm graph

在我正在进行的项目中,有一个问题可以建模为图形问题;我倾向于将其称为“交付问题”。 因为我试图避免重新发明轮子,所以我会问我是否会出现类似的问题和/或可以解决问题或者可以发挥作用的算法。

我会让任何读者免于正式数学,因为它往往会阻碍可理解性:

假设有一个快递员带着一套物品;每个项目都有一个标识和金额。还假设快递员可以使用一组存储空间。每个存储只能存储具有特定标识的项目。此外,存储具有可存储的最大数量 - 容量。接受的标识和容量对于每个存储是任意的。当快递员到达仓库时,所有可装入仓库的物品都会从快递员处转移。

更正式地说,假设一个加权的完整图表,其中所有顶点代表一个存储; V0是一个存储,不接受任何物品和快递的起始位置。解决方案是传输最大项目数的路径。最佳解决方案是传输最大数量项目的最短路径。

我正在寻找能够产生“好”的算法。解决方案;好的'解决方案我指的是具有相当短路径的解决方案。我知道问题是NP-Complete,因为它可以归结为旅行商问题。

(编辑:) 我所遇到的具体问题允许以下假设:

假设一个函数#capacity(id)where' id'是物品的识别;它返回带有标识“id”的最大项目数量。它可以存储在所有存储中。该函数的时间复杂度为O(1)。

假设一个函数#count_storages(id)where' id'是物品的识别;它计算可以存储带有标识“id”的项目的存储数量。该函数的时间复杂度为O(1)。

存储总数n最多为150.不同项目的总数d最多为40个。

0 个答案:

没有答案