【发布时间】:2015-03-04 05:31:26
【问题描述】:
我们有一个配送中心(仓库),我们正在实时获取订单,其到仓库和其他订单地点的时间/距离是已知的。
时间矩阵=
W O1 O2 O3
W 0 5 20 2
O1 5 0 21 7
O2 20 21 0 11
O3 2 7 11 0
O1的点餐时间= 10:00 AM
O2 的订购时间= 10:20 AM
O3 点餐时间= 10:25 AM
我想尽可能多地订购,以使任何订单的交货时间不超过其订购时间的 2 小时。因此,问题是减少旅行次数(旅行是送货代理去送货的时间)。
我正在尝试为此提出算法。当
我们可以将顺序中的所有订单在它们即将到来时组合在一起,直到它满足订单在订购时间后 2 小时内交货的约束。
我们可以修改上面的方法来找到瓶颈顺序(由于我们现在不能在方法 1 中加入更多的顺序)。并将其从trip1中拉出并使其成为trip 2(新订单)的一部分,然后等待其他订单将其与trip1或trip2组合在一起。
所有订单都是实时下达的。征服这种情况的最佳方法是什么。如果您需要更清楚地说明这一点,请告诉我。
【问题讨论】:
-
一辆车还是多辆?换句话说,当一辆车去O1时,我可以从W把另一辆车送到O2吗?
-
您确定矩阵在您的问题中是不对称的吗?在现实生活中,我很难找到从 A 到 B 是 6 分钟,但从 B 到 A 是 20 分钟的情况。但是,当然,也有可能出现这种情况。我只是想确保矩阵可能是不对称的。
-
@AdamStelmaszczyk 有很多可用的汽车。矩阵是对称的。我已经更新了矩阵。这个矩阵有 moc 数据。
标签: algorithm random mathematical-optimization traveling-salesman