IndexError:索引2超出轴0的大小为2(列表调度)


凯撒
2025-03-14 09:18:19 (6天前)


我在尝试安排以下内容时遇到问题。 for循环中似乎有错误。特别是在这部分:mM [iRow,j] = p [k]。
但我不明白出了什么问题。

m = 2#…

2 条回复
  1. 0# 不丶离 | 2019-08-31 10-32



    p数组的长度为4,每次进入if条件时都会递增k。您需要在if条件中添加一个检查或在外部循环中重置k。



    例如:




    1. import numpy as np
      m=2 # machines
      n= 4 # number of jobs
      p= np.array([1,2,3,4]) # processing times
      iTimemax = np.sum(p)

    2. Initialisation

      iTime = 0
      k= 0
      iRow = 0 # the iRowth job of the machine
      mM=np.zeros((n,m))
      for i in range (iTimemax):
      for j in range (m):
      if np.sum(mM[:,j]) <= iTime and k < len(p):
      mM[iRow,j] = p[k]
      k = k + 1 # next job to be assigned
      iRow = iRow + 1
      iTime = iTime +1

    3. </code>

登录 后才能参与评论