سلام برای نوشتن کد برای فلوچارت ارایه شده در شکل ضمیمه کد زیر https://i.stack.imgur.com/6a0Li.jpg را نوشته ام که با مشکل O[i]=min(IL[int(prec[i])],temp) TypeError: 'int' object is not subscriptableمواجه شدم. لطف میکنید راهنمایی کنید چگونه مشکلشو حل کنم:
import numpy as npimport random
import matplotlib.pyplot as plt
#---------------------------------------------------
# #_________________________________________________ ______
class simulation_environment():
N=6 # number of nodes
T=6 # # number of simulation runs to perform
#----------------------------------------------------
def obtain_cost(self):
stockoutcost=10 #per unit
CO=15 #ordercost perorder :1 $/
IOC=1#inventory ordering cost/inventory
for i in range (1,N):
Cost+=CO+IOC*D[i]
#Cost=CO[i]/T[i]+1/2*d(H[i]*T[i])
return Cost
#---------------------------------------------------
#--------------------------------------------------------------
def flowchart():
N=6 # number of nodes
T=6 # # number of simulation runs to perform
D=[random.randint(1, N) for _ in range(N)]
S=[random.randint(1, N) for _ in range(N)]
IL=[random.randint(1, N) for _ in range(N)]
IT=[random.randint(1, N) for _ in range(N) for _ in range(T)]
L=[random.randint(1, N) for _ in range(N)]#(transport_lead_time[i])
IP=[random.randint(1, N) for _ in range(N)]
IP[0]=0
IL[0]=0
IT[0]=0
D[0]=0
S[0]=0
L[0]=0
# for i in range (1,N):
# IP[i]=IL[i]+IT[i]
prec=[0,0,1,1,2,2,2] #find parent of each node
if (IL[2]+IT[2])<(IL[3]+IT[3]): #if IP[3]>IP[2]
for i in range(4,7):
prec[i]=3 # predecessor is 3 not 2 because availability of 3 is more
#---------------------------------------------------------
t=1
T=6
loop=True
while t<=T:
i=1
while loop==True:
IL[i]=random.randint(1,N)
IL=[IL[0:i-1],IL[i]]#observe(IL[i])
IP[i]=random.randint(1,N)
IP=[IP[0:i-1],IP[i]]#observe(IP[i])
if IP[i]<=S[i]:
temp =(S[i]-IP[i])
O[i]=min(IL[prec[i]],temp)
temp = t+L[i]
IT[temp][i]=O[i]
IL[i]=IL[i]+IT[i][t]
D[i]=random.randint(1,N)
D=[D[0:i-1],D[i]]
#demand[i].append(env.now)#observe(demand[i])
IL[i]-=D[i]
if i<=N:
i+=1
else:
obtaincost(t)
t+=1
if t>T:
loop=False
#---------------------------------------------------
flowchart()
#--------------------------------------------------
if __name__ == "__main__":
simulation_environment()