如何针对我的情况设置这些特定的optaplanner约束?

h4cxqtbf  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(405)

我想在optaplanner示例中设置两个约束:
匹配每个订单产品sku,并将其分配到持有该产品sku的库存位置。
一次在一个库存地点最多有30个订单,如果有30多个订单具有相同的产品sku,则将其余订单分配给具有相同产品sku的另一个库存地点。
我怎样才能做到这一点?这里有一个约束条件我已经尝试过了,但对我不起作用(shopify是我的订单表):

Constraint productSKU(ConstraintFactory constraintFactory) {

        return constraintFactory
                .from(Shopify.class).join(Shopify.class, Joiners.equal(Shopify::getProductSKU),
                        Joiners.equal(Shopify::getStockLocation))
                .filter((shopify, stockLocation) ->
                        stockLocation.getStockLocation().getProductSKU() == shopify.getProductSKU())
                .reward("Correct Allocated SKU", HardSoftScore.ONE_SOFT);

    }

此外,解决问题需要10分钟以上,如何加快解决问题的速度?
感谢您的帮助!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题