首页 > 解决方案 > 在 Python 中为拉丁方创建高效的局部搜索技术

问题描述

我基本上需要使用成本函数创建本地搜索技术。我需要创建一个新函数,随机交换拉丁方中的原始解决方案,然后计算成本,如果它比原始解决方案更好,则交换两者。这需要在成本函数为 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)

标签: pythonprocessing-efficiencylatin-square

解决方案


推荐阅读