php – 通过向多个买家销售商品来查找最高总价,受限于用户输入可以进行多少单独销售
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 通过向多个买家销售商品来查找最高总价,受限于用户输入可以进行多少单独销售,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1808字,纯文字阅读大概需要3分钟。
内容图文
![php – 通过向多个买家销售商品来查找最高总价,受限于用户输入可以进行多少单独销售](/upload/InfoBanner/zyjiaocheng/784/950cd5fa7d084acba96f7d17fcf50300.jpg)
编辑:我很抱歉,我对这个问题的解释并不清楚!这应该更好:
>用户发送文章的ID号和最大值.捆绑(包裹)数量
> API搜索文章可用的所有价格,并计算最佳结果.捆绑数量(限制为客户提供的最大数量)
ONE Bundle是送到ONE平台的一件物品(买家)
谢谢!
解决方法:
这是一个有趣的小问题.今天早上我花了几个小时就完成了,虽然我没有完整的解决方案,但我认为我已经足够让你开始了(我认为这就是你所要求的).
首先,我根据你对问题的描述假设这些东西:
>所有买家都报出所有商品的价格
>没有关于这些项目的假设,它们可能都是不同的
>用户只能与有限数量的买家互动
>用户想要将每件商品卖给一个买家
>用户可以向单个买方出售多个商品
精确的解决方案 – 蛮力方法
为此,首先要意识到的是,对于给定的一组买家,可以直接计算最大总收入,因为您可以选择每个项目的买家组中提供的最高价格.加上所有这些最高价格,您就拥有该组买家的最大总收入.
现在,您所要做的就是为每个可能的买家组合进行计算.这是一个基本的组合问题:“n选择k”,其中n是买家总数,k是您受限的买家数量.有些功能会生成这些组合的列表(我自己编写了……还有this PEAR package for php).
一旦您为所选买家的每个组合获得最大总收入,只需选择最大的一个,您就解决了问题.
更优雅的算法?
然而,正如我通过称之为“蛮力”所暗示的那样,上述情况并不快,并且可怕地扩展.我的机器耗尽内存,有20个买家和20个项目.我确信存在一个更好的算法,而且我有一个很好的算法,但它并不完美.
这是基于机会成本.我计算每个项目的最高价格和第二高价格之间的差异.这种差异是不以最高价格挑选买方的机会成本.
然后我选择为机会成本最高的项目提供高价的买家(从而避免最差的机会成本),直到我有k-1买家(其中k是我能选择的最大值).最后的选择很棘手,而不是写一个更复杂的算法,我只是为最终买家运行所有可能性并选择最佳收入.
这种策略在大多数时候都会选择最好的组合,如果它错过了,它就不会错过太多.它也相对较好地扩展.它比小尺度上的蛮力快10倍,如果我将所有参数(买家,买家限制和物品)增加四倍,计算时间就会增加20倍.考虑到涉及多少组合,这非常好.
我已经起草了一些代码,但这篇文章太长了.如果您有兴趣,请告诉我,我会想办法将它发送给您.
内容总结
以上是互联网集市为您收集整理的php – 通过向多个买家销售商品来查找最高总价,受限于用户输入可以进行多少单独销售全部内容,希望文章能够帮你解决php – 通过向多个买家销售商品来查找最高总价,受限于用户输入可以进行多少单独销售所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。