主题:仓库 最优 发货 算法
情景描述如下:
数据库中有一个仓库表,里面有字段 warehouseID(仓库ID),productID(产品ID), stockAmount(这个产品在这个仓库的存货个数)
还有一个订单表,同一个订单可能包括很多个产品。 里面有字段 productID(这个订单中的一个产品ID), fld_qty(这个订单中,这个产品的数量)
现在要求出从哪个或者哪几个仓库发货最优。最优的定义是: 从最少的仓库把这个订单的货物全部发出。(每个仓库尽量的多发货)
例如:
情景一:
一个订单有5个不同的产品, 仓库A里面都有这些产品并且每个产品的存货数量足够, 则从仓库A发货。
情景二:
一个订单有5个不同产品, 仓库A有3个产品有足够存货, 仓库B有2个产品有足够存货, 仓库C有一个产品有足够存货,那么从 仓库 A和B发货。
情景三(更复杂...):
一个订单有4个不同的产品, 分别是(p1,p2,p3,p4),仓库A能够发(p1,p2,p3), 仓库B能发(p1,p2),仓库C能发(p4),这样虽然B能发货的数量要比C多,但是由于B能够发货的产品与A相同,所以应该从A,C发货。
情景四:
一个订单有4个不同的产品, 分别是(p1,p2,p3,p4),仓库A能够发(p1,p2,p3), 仓库B能发(p1,p2,p4),仓库C能发(p4),这样从A,B发货和从A,c发货时一样的(都是一个仓库发3个,第二个仓库发1个)。 将两种发货方法都返回。
注意:
1:仓库可以有很多个。
2:如果有几种发货方案都是最优的,例如情景四,那么将所以的方案都返回。
如果还有什么问题,可以随时询问,我会立即回复。
谢谢大家的帮忙
数据库中有一个仓库表,里面有字段 warehouseID(仓库ID),productID(产品ID), stockAmount(这个产品在这个仓库的存货个数)
还有一个订单表,同一个订单可能包括很多个产品。 里面有字段 productID(这个订单中的一个产品ID), fld_qty(这个订单中,这个产品的数量)
现在要求出从哪个或者哪几个仓库发货最优。最优的定义是: 从最少的仓库把这个订单的货物全部发出。(每个仓库尽量的多发货)
例如:
情景一:
一个订单有5个不同的产品, 仓库A里面都有这些产品并且每个产品的存货数量足够, 则从仓库A发货。
情景二:
一个订单有5个不同产品, 仓库A有3个产品有足够存货, 仓库B有2个产品有足够存货, 仓库C有一个产品有足够存货,那么从 仓库 A和B发货。
情景三(更复杂...):
一个订单有4个不同的产品, 分别是(p1,p2,p3,p4),仓库A能够发(p1,p2,p3), 仓库B能发(p1,p2),仓库C能发(p4),这样虽然B能发货的数量要比C多,但是由于B能够发货的产品与A相同,所以应该从A,C发货。
情景四:
一个订单有4个不同的产品, 分别是(p1,p2,p3,p4),仓库A能够发(p1,p2,p3), 仓库B能发(p1,p2,p4),仓库C能发(p4),这样从A,B发货和从A,c发货时一样的(都是一个仓库发3个,第二个仓库发1个)。 将两种发货方法都返回。
注意:
1:仓库可以有很多个。
2:如果有几种发货方案都是最优的,例如情景四,那么将所以的方案都返回。
如果还有什么问题,可以随时询问,我会立即回复。
谢谢大家的帮忙