订购产品时找到最佳价格组合的算法

Algorithm to find best price combination when ordering product

我有一个 200 美元的产品 A,供应商 X 同样的 A 产品与另一个供应商 Y

的价格为 210 美元

我有产品 B,供应商 X 的价格为 100 美元,供应商 Y 的价格为 150 美元。

我需要同时订购 A 和 B 产品。

供应商 X 需要至少 100 美元的订单金额才能交货。 供应商 Y 需要至少 140 美元的订单金额才能发货。

在实际情况下,需要考虑的产品和供应商要多得多。

有些供应商可能没有我们需要的产品(但总有至少 1 个供应商有)。

考虑到上面的问题,什么样的algorithm/combination算法可以解决呢?我不是直接问答案,而是求思路。

谢谢!!

您需要研究线性优化算法。在大多数情况下,它们很容易实现。你需要

要优化的 Z 函数 ~ 这是您要最小化或最大化其值的目标函数。它通常与总成本(最小化)、风险(最小化)、资源浪费(最小化)、利润(最大化)等有关。您的情况可以是使总成本最小化。

变量 ~ 这是必须更改的值。在您的情况下是 Xij(我从供应商 j 订购的产品数量)

限制~这有助于定义 Z 函数的答案。在您的情况下,将把您需要的每种产品的数量以及供应商所需的最低采购量放入公式中。

您提到的问题被建模为 linear programming algorithm

您想根据某些约束最大化或最小化某些函数。可能在你的情况下 Simplex algorithm 应该有效。