如何求解优惠券的最优解,优惠券有同类互斥和非同类互斥
问题是这样的:
背景:我们的订单在创建时,需要默认给出一个用户的优惠券最优组合。
规则:
1·优惠券是基于优惠券模板创建的,相同的优惠券模板创建的优惠券是同类,否则是不同类
2·优惠券有同类可叠加和同类不可叠加两种属性
3·优惠券有满足指定订单金额 或者 指定范围的商品数量加起来满足指定数量 才能使用的规则
求:
用户可能有N个优惠券,这优惠券类型随机,可叠加属性都是随机的。
要算出一个最优解。
要求时间,100ms 以内,时间越短越好,一般用户优惠券不会过百。
我们系统是基于php开发的,我试过使用回溯+剪枝计算,能求出解,但是时间不可接受,一般时间过秒就已经不可用了。
想请教下,有没有什么好的办法可以解决这个问题。
可以考虑使用c、c++构建php扩展。
背景:我们的订单在创建时,需要默认给出一个用户的优惠券最优组合。
规则:
1·优惠券是基于优惠券模板创建的,相同的优惠券模板创建的优惠券是同类,否则是不同类
2·优惠券有同类可叠加和同类不可叠加两种属性
3·优惠券有满足指定订单金额 或者 指定范围的商品数量加起来满足指定数量 才能使用的规则
求:
用户可能有N个优惠券,这优惠券类型随机,可叠加属性都是随机的。
要算出一个最优解。
要求时间,100ms 以内,时间越短越好,一般用户优惠券不会过百。
我们系统是基于php开发的,我试过使用回溯+剪枝计算,能求出解,但是时间不可接受,一般时间过秒就已经不可用了。
想请教下,有没有什么好的办法可以解决这个问题。
可以考虑使用c、c++构建php扩展。
...全文
相关推荐
优惠券系统java优惠券
本篇文章将详细探讨基于Java实现的优惠券系统,包括其核心概念、设计模式以及实现技术。一、优惠券系统概述优惠券系统通常包括优惠券的创建、发放、领取、使用和跟踪等主要功能。
电商项目:优惠券系统设计
领券方式包括用户主动领取和自动发放。用券阶段需要考虑作用范围(如商品、商户、类目)和计算方式,同时要处理互斥性(同一订单能否叠加使用多张优惠券)和门槛限制。
优惠券PRD文档
优惠券发放的场景和策略: - 新用户赠券:为了吸引新用户而提供优惠券。 - 个性化发放优惠券:根据用户的购买历史和偏好来发放个性化的优惠券。 - 首单赠券:鼓励用户进行首次购买。
优惠券开源系统
总结,【优惠券开源系统】为站长提供了快速构建优惠券购物网站的途径,其开源特性使得开发者能够自由定制和优化,以满足不同商业场景的需求。
优惠券有效期
**比较时间**:最后,通过比较当前时间和优惠券的结束时间来判断该优惠券是否已经过期。


