Traceback (most recent call last): File "D:/Python_For_Beginners/7.12草稿.py", line 367, in <module> variable_neighbourhood_search(100, neighbourhood_funcs, k_max=3, l_max=3) File "D:/Python_For_Beginners/7.12草稿.py", line 342, in variable_neighbourhood_search neighbour_solution = neighbour_func_sets[l](x_0[0]) File "D:/Python_For_Beginners/7.12草稿.py", line 260, in exchange_M2 cost = solution(M2_neigh) File "D:/Python_For_Beginners/7.12草稿.py", line 75, in solution plant_fix = np.sum(np.multiply(M1, w[:len(M1)])) + np.sum(np.multiply(M2, w[len(M1):])) # 固定成本1 ValueError: operands could not be broadcast together with shapes (0,) (4,)
时间: 2024-04-18 20:23:42 浏览: 133
Mac下anaconda中Spyder打开报错Traceback(most recent call last)…问题
5星 · 资源好评率100%
根据你提供的错误信息,看起来是在 `solution()` 函数中出现了一个广播操作的错误。
具体来说,错误信息中指出的 `ValueError` 是由以下代码引起的:
```python
plant_fix = np.sum(np.multiply(M1, w[:len(M1)])) + np.sum(np.multiply(M2, w[len(M1):]))
```
根据错误信息,operands 的形状分别为 (0,) 和 (4,),无法进行广播操作。
这个问题可能是由于 `M1` 的长度为 0,而 `w` 的长度为 4,导致无法进行元素级别的运算。请检查你的代码,确保在使用 `M1` 之前它被正确初始化,并且具有正确的形状。
另外,你还可以检查一下 `w` 数组是否正确初始化,并且是否具有与 `M1` 和 `M2` 相匹配的长度。
如果你能提供更多关于你的代码和数据的信息,我可以给予更详细的帮助。
阅读全文