请大牛赐sas macro代码:
现在假设一共有五个分公司,需要将其中每个公司的多余库存调配到其他分公司。其他分公司可接纳的量(space)计算为(最大库存量 – 已有库存 – 在途库存),每公司多余库存已知。例如Company5往1-4销售后1-4号分公司的可用库存空间被填满,接下来Company4相同的三个物品item1-3往公司1,2,3,5销售
Company5: SaleQty
Item1 : 7
Item2: 12
Item3: 3
Company: Company1 company2 company3company4
Item1: 0 6 2 1
Item2: 3 5 1 2
Item3: 0 0 1 0
Company5SaleQty after company 1-4
Item1: 0
Item2: 1
Item3: 2
LeftSpaceAvailable for company 1-4:
Company: Company1 company2 company3company4
Item1: 0 0 1 1
Item2: 0 0 0 0
Item3: 0 0 0 0
Company4 sale Qty
Item1: 1
Item2: 10
Item3: 3
Company4能卖的space(company5)填满之后的
Company: Company1 company2 company3 company5
Item1: 0 0 1 6
Item2: 0 0 0 11
Item3: 0 0 0 1
Company4Qty after sales:
Item1: 0
Item2: 1
Item3: 2
Company4卖过之后的可用库存空间为:
Company: Company1 company2 company3 company5
Item1: 0 0 0 6
Item2: 0 0 0 1
Item3: 0 0 0 0
当然item1可以先调配到company3也可以先到company5,只要qty小于availablesapce就可以。如此从公司1到5逐个作为salescompany其余4个公司最为buycompany的迭代计算。当然计算之后还需要以两个公司之间最低价格作为成交价格(这部分现在不用考量)。
目前的解决方案使用Spss Modeler 14.2做的一个50多个节点的模型但是运行起来比较费时,希望有大牛可以给出sasmacro代码,或者大概的方向。有想过把salesqty用随机分配分配到其余国家availablespace但是因为rounding的问题有时候saleqty和sum(availablespace)并不相等。。。
非常感谢