我正在努力解决物流配送路线问题。例如,有x辆卡车需要将y产品从各自的起点分配到各自的目的地。
要解决的问题:
实现目标:(具有不同的权重)
在阅读了DEAP文档及其示例后,我仍然不确定实现此目的的好方法。因为对于上面的问题1和2,我有不同的选择,交叉和变异函数但是在DEAP中你似乎只能在工具箱中为每个函数注册一个函数吗?
其次,如何在此实施评估功能? 我定义的个人是一个类实例,包括卡车类实例的字典,产品类实例的字典,卡车ID列表,产品ID列表以及产品 - 卡车组合选项的字典。个人和评估值之间的联系并不是那么简单,只有一个单一的评估函数有点困难(至少对我来说是新手)。谢谢!
答案 0 :(得分:0)
您可以实现一个评估函数,该函数返回两个值,一个用于等待时间,一个用于交付时间。
IMPORT_BEAN_NAME_GENERATOR
然后只需在您的工具箱中注册此评估函数,并在适应性定义中将def waiting(individual):
# do some calculation
def delivery(individual):
# do some other calculation
def evaluate(individual):
return waiting(individual), delivery(individual)
向量设置为包含两个数字
weights