我开发了一个网络应用程序,卖方提供他们提供的产品,价格和交货时间,客户将准备他们自己的要求清单(产品和数量),然后他们会看到卖家名单按总成本和/或交货时间排序。注意到每个“报价”可能包含卖家组合,其中组合提供最佳总成本和最长交货时间。例如:
客户需要10袋豆子和15包茶
选项1:卖方ABC用10袋豆子每袋5美元,卖方ABCDEF用15包茶,每袋2美元。最长交货时间(两个卖家交货时间中的较大者)2天。
选项2:卖家ABC用10袋豆子每袋5美元,15包茶,每包3美元。最长交货时间2天。 等...
我已经实现了一个简单检查所有排列的简单算法。但显然这根本不会扩大。我至少需要一个有或没有描述的算法的名称,可以最佳地解决这类问题。我真的不需要实现,但是如果有一个实现,我希望它能够很好地依赖SQL来完成大部分工作,因为我使用的是PHP 7 + MySQL组合。
谢谢