问题:我需要一个适应度函数来确定分配的项目的成本和数量。
表示:
我有一个配送中心(DC)。
我有3家商店(S1,S2,S3)
如果在某些情况下,DC有30件物品A.商店要求DC向他们发送物品。 S1要求10件物品A. S2要求15个。 S3要20个。
如何确定要在DC项目<要求的总项目,而在每个商店中销售该项目的利润是针对适应度函数计算的?
解决方案示例:
使用的最佳健身功能是什么?
答案 0 :(得分:0)
使用利润衡量标准。 你的健身功能看起来像
integer fitness(int numberSentToA, int numberSentToB, int numberSentToC){
moneyEarned = numberSentToA * priceAtWhichABuys + numberSentToB * priceAtWhichBBuys + numberSentToC * priceAtWhichCBuys;
return moneyEarned;
}
然而,没有必要使用遗传算法来做这样的事情。 您可以使用贪心方法找到最佳解决方案。
按商品购买金额对商店进行分类。 拿到愿意支付最多金额的商店,并把他想要的所有商品寄给他。 然后选择下一个付费最高的商店。 这样做直到您的货物用完为止,此时您将获得最佳分配。