【问题标题】:Fitness function for scm distributionscm 分布的适应度函数
【发布时间】:2015-09-01 13:04:37
【问题描述】:
问题:我需要一个适应度函数来确定分发物品的成本和数量。
表示:
我有 1 个配送中心(DC)。
我有 3 家商店(S1、S2、S3)
如果某个时间 DC 有 30 件 A 项目。商店要求 DC 向他们发送项目。
S1 要求 10 件物品 A。
S2 要求 15 件。
S3 要求 20 件。
当 DC 商品
解决方案示例:
- DC 发送 7 到 S1
- DC 发送 10 到 S2
- DC 发送 13 到 S3
什么是最好的适应度函数?
【问题讨论】:
标签:
algorithm
genetic-algorithm
genetic-programming
【解决方案1】:
使用利润衡量标准。
你的适应度函数看起来像
integer fitness(int numberSentToA, int numberSentToB, int numberSentToC){
moneyEarned = numberSentToA * priceAtWhichABuys + numberSentToB * priceAtWhichBBuys + numberSentToC * priceAtWhichCBuys;
return moneyEarned;
}
但是,没有必要为这样的事情使用遗传算法。
您可以使用贪心方法找到最佳解决方案。
按照商店购买商品的金额对商店进行排序。
选择愿意支付最多金额的商店,将他想要的所有商品都发给他。
然后选择下一个收入最高的商店。
这样做直到您的商品用完为止,此时您拥有最佳分配。