我基本上需要使用成本函数创建本地搜索技术。我需要创建一个新函数,随机交换拉丁方中的原始解决方案,然后计算成本,如果它比原始解决方案更好,则交换两者。这需要在成本函数为 0 或完成足够的迭代之前完成。任何帮助都将不胜感激。谢谢!!
def cost(sol):
nolist1 = [i for i in range(0,dim)]
costcol = []
missno = []
for i in range(0,dim):
nolist1 = [i for i in range(0,dim)]
for j in range(0,dim):
for k in range(0,len(nolist1)):
if sol[j][i] not in nolist1:
continue
elif sol[j][i] == nolist1[k]:
nolist1.remove(sol[j][i])
missno.append(nolist1)
costcol.append(len(missno[i]))
totalcost = sum(costcol)
return(totalcost,costcol,missno)
cost = cost(sol)