现在需要下31个货物的订单,应该如何从以上供货单中抽取使其成本最低,例如上面的例子我们可以取
id(1) 20个
id(2) 11个
成本为20*1.90+11*1.98=59.45最便宜?
成本为20*1.90+11*1.98=59.78最便宜?
id(1) 20个
id(0) 10个
id(2) 1个
成本 20*1.90+10*1.95 + 1.98 = 59.48 才是最便宜
id(1) 20个
id(2) 11个
成本为20*1.90+11*1.98=59.45最便宜?
成本为20*1.90+11*1.98=59.78最便宜?
id(1) 20个
id(0) 10个
id(2) 1个
成本 20*1.90+10*1.95 + 1.98 = 59.48 才是最便宜
解决方案 »
- 新手请教 用JavaBean连接MS SQL 数据库 的代码怎么写 ? 急急急 在线等!!!
- 新手报到,希望大家不要笑话!
- 多线程问题
- 急求一个tomcat+SSL做登录的问题,请高手指教
- 怎么远程导入excel到sqlserver?最好有实例代码。
- EJB组件是不是真正意义上的中间件?
- 数据库问题。(50分)
- resin下安装某论坛,提示找到不snoop的servlet.
- what's the weblogic server and what's the weblogic platform?
- 用JAVA编写模拟qq农场,前辈们可否帮助我一下
- 问两个Struts html标签的小问题
- 如何用dom4j读出类似以下文件中的,<Good id='23001' name='书' >中的id值,,和name 值啊?
说得没错,但难就难在如何找出所有可能性,我想了很多办法,但变成实现有一定难度...
学习ing
帮您顶
------------------
0 1-10 1.95
1 11-20 1.90
2 11-20 1.98
3 1-10 3.0
4 1-10 1.90
5 11-20 2.90
-------------------
比如有个订单是30件货物
处理订单:
A:由一个供应商提供:
只有一种可能,10×3(由上述例子看出只有3个供应商(5个里有3个提供10件货物)做比较,找出最便宜的)
B:由二个供应商提供:
只有一种可能:10+20(总共有3×3=9种情况)
C:由三个供应商提供:
只有一种可能:10+10+10(总共有一种情况)
D:由四个供应商提供:
没有可能
E:由五个供应商提供:
没有可能
.
.
.
.个人认为:
主要在于分解订单(分成几个供应商供货),确定由1-n(n>=2)个供应商是个关键。其中n是关键中的关键。
就题论题,比如上述例子。当订单是30件货物时,30÷10(所有供应商中提供最少货物的数量)=3
在这里就可以判断在大类上的情况。由1,2,3个供应商提供货物的3大类情况,即粗略判断出n=3。然后再分别计算3大类中的每个有多少种情况。希望对楼主有帮助
5(id0)+11(id1)+5(id3)+11(id5)=30(虽然这样组合不是最便宜,但换组数据便有可能,所以必须考虑所有情况,再去找最优...)
....排列组合问题...