I look forward to any feedback/support anyone might have!
Fig 1: Pandas Data Frame (Function Input) as Markdown
resources
('Widget A (idx = 0)', 't1')
('Widget A (idx = 0)', 't2')
('Widget A (idx = 0)', 't3')
('Widget A (idx = 0)', 't4')
('Widget A (idx = 0)', 't5')
('Widget A (idx = 0)', 't6')
('Widget A (idx = 0)', 't7')
('Widget A (idx = 0)', 't8')
('Widget A (idx = 0)', 't9')
('Widget A (idx = 0)', 't10')
('Widget A (idx = 0)', 't11')
('Widget A (idx = 0)', 't12')
('Widget A (idx = 0)', 't13')
('Widget A (idx = 0)', 't14')
('Widget A (idx = 0)', 't15')
('Widget B (idx = 1)', 't1')
('Widget B (idx = 1)', 't2')
('Widget B (idx = 1)', 't3')
('Widget B (idx = 1)', 't4')
('Widget B (idx = 1)', 't5')
('Widget B (idx = 1)', 't6')
('Widget B (idx = 1)', 't7')
('Widget B (idx = 1)', 't8')
('Widget B (idx = 1)', 't9')
('Widget B (idx = 1)', 't10')
('Widget B (idx = 1)', 't11')
('Widget B (idx = 1)', 't12')
('Widget B (idx = 1)', 't13')
('Widget B (idx = 1)', 't14')
('Widget B (idx = 1)', 't15')
('Widget C (idx =2)', 't1')
('Widget C (idx =2)', 't2')
('Widget C (idx =2)', 't3')
('Widget C (idx =2)', 't4')
('Widget C (idx =2)', 't5')
('Widget C (idx =2)', 't6')
('Widget C (idx =2)', 't7')
('Widget C (idx =2)', 't8')
('Widget C (idx =2)', 't9')
('Widget C (idx =2)', 't10')
('Widget C (idx =2)', 't11')
m_1
10
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
23
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
17
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
m_2
nan
nan
15
nan
nan
nan
17
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
30
nan
nan
nan
23
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
24
nan
nan
nan
nan
nan
nan
nan
nan
m_3
nan
nan
23
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
26
nan
nan
nan
21
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
22
nan
nan
nan
nan
nan
nan
nan
nan
m_4
nan
nan
27
nan
nan
nan
19
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
22
nan
nan
nan
18
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
29
nan
nan
nan
nan
nan
nan
nan
nan
m_5
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
21
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
23
nan
nan
nan
nan
m_6
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
16
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
16
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
25
nan
nan
nan
nan
m_7
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
23
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
14
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
30
nan
nan
nan
nan
m_8
nan
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
13
nan
nan
nan
13
nan
nan
m_9
nan
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
13
nan
nan
nan
13
nan
nan
m_10
nan
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
10
nan
nan
nan
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
15
nan
nan
nan
nan
nan
nan
13
nan
nan
nan
13
nan
nan
m_11
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
14
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
12
nan
nan
nan
nan
nan
nan
nan
nan
nan
nan
10
m_12
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
1
nan
nan
1
nan
1
nan
1
nan
1
nan
1
nan
Fig 2: Example of Target Data Structure (Function Output) for List
`
Код: Выделить всё
components = [
# widget A -> [task_0...task_i] -> [(machine_id_0, dur_0)...machine_id_i, dur_i]
[
[(1, 10)], #t1
[(12, 1)], #t2
[(2, 15), (3, 23), (4,27)], #t3
[(12, 1)], #t4
[(8,10), (9,10), (10,10)], #t5
[(12, 1)], #t6
[(2, 17), (3, 15), (4,19)], #t7
[(12, 1)], #t8
[(8,10), (9,10), (10,10)], #t9
[(12, 1)], #t10
[(5, 15), (6, 16), (7,23)], #t11
[(12, 1)], #t12
[(8,10), (9,10), (10,10)], #t13
[(12, 1)], #t14
[(11,14)], #t15
],
# widget B -> [task_0...task_i] -> [(machine_id_0, dur_0)...machine_id_i, dur_i]
[
[(1, 23)], #t1
[(12, 1)], #t2
[(2, 30), (3, 26), (4,22)], #t2
[(12, 1)], #t2
[(8,15), (9,15), (10,15)], #t3
[(12, 1)], #t2
[(2, 23), (3, 21), (4,18)], #t4
[(12, 1)], #t2
[(8,15), (9,15), (10,15)], #t5
[(12, 1)], #t2
[(5, 21), (6, 16), (7,14)], #t6
[(12, 1)], #t2
[(8,15), (9,15), (10,15)], #t7
[(12, 1)], #t2
[(11,12)], #t8
],
# widget C -> [task_0...task_i] -> [(machine_id_0, dur_0)...machine_id_i, dur_i]
[
[(1, 17)], #t1
[(12, 1)], #t2
[(2, 24), (3, 22), (4,29)], #t3
[(12, 1)], #t4
[(8,13), (9,13), (10,13)], #t5
[(12, 1)], #t6
[(2, 23), (3, 25), (4,30)], #t7
[(12, 1)], #t8
[(8,13), (9,13), (10,13)], #t9
[(12, 1)], #t10
[(11,10)], #t11
],]
Подробнее здесь: https://stackoverflow.com/questions/793 ... -appendage