python - 在 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)
解决方案
推荐阅读
- c++ - 使用 FFmpeg API 创建的 MP4 无法在媒体播放器中播放
- javascript - 无法通过 Postman (nodejs/express) 在请求正文中找到 json
- r - 如何通过特定的 ID 号删除数据框中的行?
- python - 如何构建一个numpy矩阵(从头开始,以前不存在)在for循环中添加计算列
- javascript - 这些 WHILE 的更好、更紧凑的代码?:) (原版 JavaScript)
- javascript - 递归函数的意外结果
- c - C中的数据(反)序列化
- vim - 找不到 vim 替代模式的良好语法
- riscv - 运行 RISC-V Rocket 芯片仿真器失败
- google-cloud-functions - 在 Google Cloud 函数上使用节点部署 gRPC 时出错