求一个拆单算法

上海软件开发 2014-09-21 04:53:56
实际项目中遇到的问题,求教各位大牛,给一个算法或思路。
问题描述:
海外网购订单,要求每张订单不得超过1000元(否则海关要征税),允许拆单,单件商品无此限制。为了避税,就要由软件系统自动拆单。

问题:
如何才能使得拆出来的订单数量最少?(因为每单都有运费)
...全文
2745 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
organer 2015-06-30
  • 打赏
  • 举报
回复
请问这个有具体的参考的实现算法吗?
上海软件开发 2014-09-24
  • 打赏
  • 举报
回复
看来就这样了,结贴。分就给FancyMouse了
nice_cxf 2014-09-22
  • 打赏
  • 举报
回复
就是背包把?一般来说数量不会太多(几千个大概已经很少见了),所以基本不用考虑效率的问题
cnmhx 2014-09-22
  • 打赏
  • 举报
回复
通用的求解方法——整数规划问题。
angel6709 2014-09-22
  • 打赏
  • 举报
回复
网上找找,背包问题
FancyMouse 2014-09-21
  • 打赏
  • 举报
回复
你那个正常是做不了最优的。 我所谓乱搞也就是递归乱搜而已。稍微聪明点估计能有O(2^n)空间O(3^n)时间的dp。
上海软件开发 2014-09-21
  • 打赏
  • 举报
回复
更正一下: 3、剩下的产品项,金额都小于1000。遍历配对组合。凡是与所有其他项两两配对后都超过1000的,拆单。否则保留最接近1000的配对,视作一个组合项,递归本步骤,直到没有可以拆分
上海软件开发 2014-09-21
  • 打赏
  • 举报
回复
目前我自己的想法是: 1、订单总额不差过1000,无需拆单,略过 2、所有金额大于1000的产品形成一个单独的订单 3、剩下的产品项,金额都小于1000。遍历配对组合。凡是与其他项配对后超过1000的,拆单。否则保留最接近1000的配对,视作一个组合项,递归本步骤,直到没有可以拆分
上海软件开发 2014-09-21
  • 打赏
  • 举报
回复
引用 1 楼 FancyMouse 的回复:
NP-hard问题。看你数据规模了。数据不大乱搞都行。数据大了只能做近似解。
数据规模肯定不大,因为每张订单上的商品有限。有什么比较好的乱搞算法?
FancyMouse 2014-09-21
  • 打赏
  • 举报
回复
NP-hard问题。看你数据规模了。数据不大乱搞都行。数据大了只能做近似解。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧