0

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

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

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

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

4

1 回答 1

0

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

最小化所有物品的总和加上运费:

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 的运输成本

受制于:

  1. 准确地检索每个项目一次,如下所示:
p00 + p01 = 1
p12 + p13 + p15 = 1
p20 + p21 = 1
...
  1. 如果从该供应商处购买一件商品,将考虑运费
y0 >= x00
y0 >= x10
y1 >= x01
...
于 2021-12-15T07:40:55.940 回答