寻找供应商价格优化算法

Posted

技术标签:

【中文标题】寻找供应商价格优化算法【英文标题】:Looking for supplier price optimization algorithm 【发布时间】:2022-01-07 01:14:52 【问题描述】:

我正在寻找以下问题的算法:

我有一组 x 不同的组件和一组用于这些组件的 y 供应商。我知道每个供应商的每个组件的价格 p(x,y)。我也知道每个供应商的运输成本 s(y),如果你只是从几个供应商那里购买,这显然更便宜。并非所有供应商都有可用的每个组件。我想一次购买所有组件,但需要获得最便宜的总价或至少一个非常接近的小值。

直接的方法是尝试每种组合,如果 x 和 y 变得非常大,这可能需要一些时间,尽管它可以并行化。任何建议表示赞赏。

为简单起见,假设 x = 100,y = 1000。

【问题讨论】:

为什么不简单地从价格最低的供应商那里获得每个组件?还是您需要所有东西都来自同一个供应商? 好点,感谢您指出这一点!如果您只从一个供应商处订购,我完全忘了提及运费较低的优势。编辑我的帖子。 哇,编辑将问题提升到了一个全新的水平。首先是一个简单的贪心算法。现在是dp问题。请添加约束,因为这将对实施/方法产生重大影响。 这里没有太多细节。这很容易表述为混合整数编程模型。当然,这取决于“非常大”的含义。无论如何,它可能很有用,以便与一些启发式进行比较(以了解启发式有多好)。 这看起来像是固定费用问题(运费看起来像是固定成本)。由于并非所有组件/供应商组合都被允许,这是一个稀疏问题。如果建模正确,这会导致一个很大但非常可行的 MIP 问题。使用好的 MIP 求解器,我怀疑这需要几分钟。 【参考方案1】:

感谢所有 cmets。他们为我指明了正确的方向,以制定如下所示的问题。

最小化所有项目加上运费的总和:

p(0,0)*x00 + p(0,2)*x02 + p(1,2)*x12 + ... + ship(0)*y0 + ship(1)*y1 + ...

x 和 y 在 [0,1] 中,p(n,m) 是供应商 m 的项目 n 的价格,ship(m) 是供应商 m 的运输成本

受制于:

    准确检索每个项目一次,如下所示:
p00 + p01 = 1
p12 + p13 + p15 = 1
p20 + p21 = 1
...
    如果从该供应商处购买一件商品,则会考虑运费
y0 >= x00
y0 >= x10
y1 >= x01
...

【讨论】:

以上是关于寻找供应商价格优化算法的主要内容,如果未能解决你的问题,请参考以下文章

使用DQN进行价格管理

优化求解果蝇优化算法

果蝇优化算法

陈畴镛 郑冬冬基于快速排序和遗传算法的物流路径优化研究

寻找 Jenks 优化 - 数据分类

神经网络基础部件-优化算法详解