当前位置:  开发笔记 > 人工智能 > 正文

从总费用中计算出价

如何解决《从总费用中计算出价》经验,为你挑选了1个好方法。

我必须按照以下问题解决.我必须从总价中计算出价.例如,客户想要支付2000美元的总价格,但是从这个价格来看,会增加成本:

- 价格是投标价格的10%,最低10美元,最高50美元

- 销售价格:投标价格的2%

- 加价:5美元,出价在1到500之间10美元,出价在501到1000之间15美元,出价在1001到3000之间20美元,出价超过3000美元

- 存储成本:100美元

从这一切来看,我必须计算出总价为2000美元的竞标价格.我不知道如何做到这一点.任何人都可以给我一些关于算法应该是什么的提示或答案吗?

编辑:好的,我得到了如何计算代数,现在我卡住的是如何在代码或伪代码中编写算法.有人有提示吗?



1> MSN..:

您可以将所有这些费用表示为出价的函数.生成一个巨大的等式,它是所有这些函数的总和,并求解特定的最终值,例如:

usage cost(bid) = PIN(bid*0.10, 10, 50)
seller cost(bid) = bid*.02
added cost(bid) = PIN(ceiling(bid/500)*5, 5, 10) + PIN(ceiling((bid - 1000)/2000)*5, 0, 10)
storing cost(bid) = 100

所以最终的成本是这样的:

final cost(bid) = PIN(bid*.1, 10, 50) + pin(ceiling(bid/500)*5, 5, 20) + PIN(ceiling((bid - 1000)/2000)*10, 0, 20) + bid*.02 + 100 + bid

解决一个特定的价值,你就完成了.

例如,如果您希望总成本为2000美元:

2000 = PIN(bid*.1, 10, 50) + pin(ceiling(bid/500)*5, 5, 10) + PIN(ceiling((bid - 1000)/2000)*5, 0, 10) + bid*.02 + 100 + bid.

出价必须至少> 1500且<2000,这很好,因为我们可以使这些PIN部分保持不变:

2000 = 50 + 10 + 5 + 100 + bid*1.02
1835 = bid*1.02
bid = 1799.0196078431372549019607843137

PIN表达式是最难分解的,因此您可能需要猜几次,直到您得到的东西缩小了您想要计算的出价范围.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有