Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import sys
- N = random.randint(1, 8)
- print("Количество типов изделий:", N)
- I = [] # заводим пустой список
- for w in range(N):
- I.append(random.randint(1, 10))
- print("Количество изделий каждого типа \n", I)
- IT = [] # заводим пустой список
- for w in range(N):
- IT.append(random.randint(5, 50))
- print("Время на изготовление всех деталей каждого из типов изделий \n", IT)
- D = [] # заводим пустой список
- for w in range(N):
- D.append(random.randint(1, 10))
- print("Количество деталей в каждом изделии\n", D)
- P = [] # заводим пустой список
- for w in range(N):
- P.append(random.randint(5, 50))
- print("Время переналадки конвейера на каждый тип изделий \n", P)
- delta = 0
- # T = [] # заводим пустой список
- # for w in range(N):
- # T.append(IT[w]*I[w])
- # print("Время изготовления деталей изделий \n",T)
- tpr = IT[0] * I[0]
- tok = IT[0] * I[0]
- T = []
- T.append(IT[0] * I[0])
- for w in range(1, N):
- T.append(IT[w] * I[w] - delta)
- Tu = []
- for j in range(D[w - 1]):
- Tu.append(random.randint(5, 50)) # время установки каждой детали
- tcurr = max(Tu) + 2 * sum(Tu) + P[w]
- while tcurr < (95 * T[w] / 100):
- ms = sys.maxsize
- m = 0
- for k in range(D[w - 1]):
- if Tu[k] + Tu[k + 1] < ms:
- ms = Tu[k] + Tu[k + 1]
- m = k
- Tu[m] = ms
- for e in range(m + 1, D[w - 1] - 1):
- Tu[e] = Tu[e + 1]
- D[w - 1] = D[w - 1] - 1
- if tcurr < T[w]:
- tok = tok + T[w]
- tpr = tpr + T[w] - tcurr
- if tcurr >= T[w]:
- tok = tok + tcurr
- delta = tcurr - T[w]
- tok = tok + 2 * sum(T) + max(T)
- print("Количество мест в конвейере для каждого изделия", D)
- print("Общее время работы конвейера", tok)
- print("Производительность конвейера", (tok + tpr) / tok)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement