ruby – 用于找到产品和商店的最佳组合以最小化成本的算法

前端之家收集整理的这篇文章主要介绍了ruby – 用于找到产品和商店的最佳组合以最小化成本的算法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你好Stackoverflow人,

我经营一个网站,发现其用户是最便宜的购买书籍的地方.这对于一本书来说很容易,但对于多本书来说,在一家商店购买一本书和从另一家商店购买另一本书有时会更便宜.

目前我找到了销售用户列表中所有书籍的最便宜的商店,但我希望拥有一个更智能的系统.这里有更多信息:

>一本书的价格对于商店来说是不变的.
>运费的价格可能会有所不同,具体取决于书籍数量或书籍的总价值.
>每个商店对象可以购买一系列书籍并返回运费.
>通常,并非每家商店都出售每本书.

不确定这里链接到我的网站是否很酷,但它列在我的用户个人资料中.

我希望能够找到最便宜的商店和书籍组合.

我担心它需要蛮力的方法 – 并且有35家商店,对于适量的书籍来说,组合的数量将是巨大的.我觉得组合的数量是(#shops)^(#books) – 但不是100%

问题是,我应该采用什么方法?这个问题是否适合众所周知的问题?如果需要蛮力,在Ruby中这样做的好方法是什么?我可以优先考虑商店先尝试吗?

解决方法

不幸的是,这是一个没有任何简单解决方案的组合优化问题的例子.一般来说,你确实需要蛮力方法.然而!我怀疑这个问题有一些特殊的结构会有所帮助.例如,随着您更改书籍组合,运费不会随意变化 – 当您添加书籍时,它可能会线性增加和/或饱和.

这是我推荐的,然后:

>离线,估算每家商店的运输政策,这样,给定书籍(可能还有他们的重量),您可以估算运费而无需参考他们的网站.
>对于每个商店,计算每本书的成本(如果有的话).
>离线,浏览每个商店或一组商店,并使用您的离线运送政策估算总费用.
>选择最便宜的商店(或商店).如果有多个相似,请计算确切的答案.

这应该让你开始,并将让你没有完整的搜索.

原文链接:https://www.f2er.com/ruby/265394.html

猜你在找的Ruby相关文章