本发明涉及一种促销价格最优计算方法。
背景技术:
:促销作为提高商品销售量的一个重要手段,得到了越来越广泛的应用。同一商品可能会对应不同促销规则,而促销规则的不同则会导致商品最终价格不同。现需要一种计算最优促销价格的方法。技术实现要素:本发明提出一种促销价格最优计算方法,能够根据商品对应的促销规则,计算出最低的促销价格。本发明的技术方案是这样实现的:一种促销价格最优计算方法,具体包括以下步骤(1)配置促销因子,包括促销编号属性、促销大类属性、促销组别属性和促销计算顺序属性;(2)获取所有商品各自对应的促销因子;(3)对所有商品各自对应的促销因子进行预运算,剔除不成立的促销因子;(4)将促销大类属性、促销组别属性和促销因子关联的商品分批次排列组合,进行并行树形运算;(5)若树形运算过程中出错失败,放弃该分支的剩余节点的的树形运算,保存运算结果,将运算结果与剩余货品金额的和记为促销价格;(6)取所有批次树形运算对应的促销价格最大值为最优促销价格。优选的,所述促销大类属性包括但不限于满减、满折、优惠券、x件y折,0<y<10。优选的,所述促销组别属性对促销大类属性各个大类进行分组。优选的,所述促销计算顺序属性用于指定促销因子的计算顺序,若其值为0,则不指定促销因子的计算顺序。优选的,步骤(1)中,配置促销因子,指定互斥和重叠的促销因子。优选的,步骤(2)中,获取所有商品各自对应的促销因子,商品金额和商品数量,加载至内存数据库,进行内存运算。优选的,步骤(2)中获取所有商品各自对应的促销因子,商品金额和商品数量,建立索引表,根据索引表,将上述数据加载至内存,进行内存运算。优选的,所述索引表为多关键词索引表。优选的,步骤(2)中,获取所有商品各自对应的促销因子,商品金额和商品数量,设置一系统缓存区,将上述数据加载至系统缓存区。本发明的有益效果在于:能够根据商品对应的促销规则,计算出最低的促销价格。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一种促销价格最优计算方法一个实施例的流程图;图2为树形运算一实施例的示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示,本发明提出了一种促销价格最优计算方法,具体包括以下步骤(1)配置促销因子,包括促销编号属性、促销大类属性、促销组别属性和促销计算顺序属性;(2)获取所有商品各自对应的促销因子;(3)对所有商品各自对应的促销因子进行预运算,剔除不成立的促销因子;(4)将促销大类属性、促销组别属性和促销因子关联的商品分批次排列组合,进行并行树形运算;具体的,可将某一促销因子设定为父节点,其对应的不同排列组合为分支,构成一运算树,比如促销因子的排列组合为p01-p02-p03,p01-p03-p02;p02-p01-p03,p02-p03-p01;p03-p01-p02,p03-p02-p01;p01作为父节点,p02-p03为一分支,p03-p02为另一分支,对上述6组排列组合构成三个运算树,进行同时并行树形运算,树形运算可以计算出促销因子的排列顺序对商品促销价格的影响。(5)若树形运算过程中出错失败,放弃该分支的剩余节点的树形运算,若成功,保存运算结果;例如:计算p01-p02-p03,运算成功:p01-p02,减少100块,这个结果也会保存。(6)取所有批次树形运算对应的促销价格最大值为最优促销价格。促销大类属性包括但不限于满减、满折、优惠券、x件y折,0<y<10。促销组别属性对促销大类属性各个大类进行分组。促销计算顺序属性用于指定促销因子的计算顺序,若其值为0,则不指定促销因子的计算顺序,系统默认使用最优算法。具体的,商品可由i(n)表示,n(1..n):货品编号属性。促销因子可由p(n)(x-y-s)表示,n(1..n):促销编号属性x(1..20):促销大类属性y(*,a..z):促销组别属性s(0..n):促销计算顺序属性.0-不指定运算顺序,系统自动获取最优结果.1..n指定计算顺序。示例:i(1):货品1p01(1-*-0):促销编号001,大类1,组别*,计算顺序0。步骤(2)中,获取所有商品各自对应的促销因子;具体可由下表所示:p01(1-*-0)p02(1-*-0)p03(1-*-0)p04(1-a-1)p05(2-*-1)p06(2-*-2)i011111i0211i0311i04111由上表可知,商品和促销因子的关系为多对多的关系,不同的商品可能对应同一促销因子,同一商品可能对应不同促销因子。如上表,组成3个计算批次批次1-大类1,组别*参与运算货品:i01,i02,i03,i04最大运算次数=c(3,3)*2(最小值1,最大值)=3!*2=12运算组合式:p01-p02-p03,p01-p03-p02;p02-p01-p03,p02-p03-p01;p03-p01-p02,p03-p02-p01;批次2-大类1,组别a参与运算货品i02最大预算次数=c(1,1)=1批次3-大类2,组别*参与运算货品:i01,i04最大运算次数=1指定顺序组合:p05-p06批次1的树形运算如图2所示。在本发明的优选实施例中,步骤(1)中,配置促销因子,指定互斥和重叠的促销因子。能够根据互斥和重叠的促销因子,便于步骤(3)中能够剔除不成立的促销因子,减少计算量。步骤(2)中,获取所有商品各自对应的促销因子,商品金额和商品数量,加载至内存数据库,进行内存运算。步骤(2)中获取所有商品各自对应的促销因子,商品金额和商品数量,建立索引表,根据索引表,将上述数据加载至内存,进行内存运算。索引表为多关键词索引表。步骤(2)中,获取所有商品各自对应的促销因子,商品金额和商品数量,设置一系统缓存区,将上述数据加载至系统缓存区。本发明通过内存或缓存技术,减少数据库io交互,提高树形运算的速度。本发明的有益效果在于:能够根据商品对应的促销规则,计算出最低的促销价格。上述技术方案公开了本发明的改进点,未详细公开的技术内容,可由本领域技术人员通过现有技术实现。以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12