Random Actions Example¶
This example demonstrates how to use the DisjunctiveGraphJspEnv environment to execute random actions in a custom job shop problem instance. The environment is reset, and random actions are sampled and applied until the episode terminates. The environment’s state is rendered in debug mode after each action.
[5]:
from graph_matrix_jsp_env.disjunctive_jsp_env import DisjunctiveGraphJspEnv
import numpy as np
[6]:
if __name__ == '__main__':
custom_jsp_instance = np.array([
[
[0, 1, 2, 3], # job 0
[0, 2, 1, 3] # job 1
],
[
[11, 3, 3, 12], # task durations of job 0
[5, 16, 7, 4] # task durations of job 1
]
], dtype=np.int32)
env = DisjunctiveGraphJspEnv(
jsp_instance=custom_jsp_instance,
)
obs, info = env.reset()
terminated = False
while not terminated:
action = env.action_space.sample(mask=env.valid_action_mask())
obs, reward, terminated, truncated, info = env.step(action)
env.render(mode='debug')
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 0 │ 1 │ 2 │ 3 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 0 │ 5 │ 3 │ 4 │ 4 │ 6 │ 7 │ 8 │ 8 │ 2 │ 0 │ 11 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 1 │ 5 │ 4 │ 4 │ 6 │ 7 │ 8 │ 8 │ 3 │ 1 │ 3 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 2 │ 5 │ 4 │ 6 │ 7 │ 8 │ 8 │ 4 │ 2 │ 3 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 3 │ 5 │ 6 │ 7 │ 8 │ 8 │ 0 │ 3 │ 12 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 4 │ 1 │ 7 │ 8 │ 8 │ 6 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 5 │ 1 │ 8 │ 8 │ 7 │ 2 │ 16 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 6 │ 1 │ 8 │ 8 │ 1 │ 7 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 7 │ 7 │ 1 │ 0 │ 3 │ 4 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 4 │ 4 │ 4 │ 0 │ 8 │ 8 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 1 ║██████████████████████████████████████████████ ║ Machine 0 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 2.7 5.5
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 5 │ 5 │ 5 │ 5 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 5 │ 6 │ 3 │ 4 │ 4 │ 5 │ 7 │ 8 │ 8 │ 2 │ 0 │ 11 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 5 │ 6 │ 4 │ 4 │ 5 │ 7 │ 8 │ 8 │ 3 │ 1 │ 3 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 5 │ 6 │ 4 │ 5 │ 7 │ 8 │ 8 │ 4 │ 2 │ 3 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 5 │ 6 │ 5 │ 7 │ 8 │ 8 │ 0 │ 3 │ 12 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 6 │ 5 │ 7 │ 8 │ 8 │ 1 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 5 │ 1 │ 8 │ 8 │ 7 │ 2 │ 16 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 6 │ 1 │ 8 │ 8 │ 1 │ 7 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 7 │ 7 │ 1 │ 0 │ 3 │ 4 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 4 │ 4 │ 4 │ 0 │ 8 │ 8 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 0 ║ ███████████████████████████████████ ║ Machine 0 █
Job 1 ║█████████████████ ║
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 7.7 15.5
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 5 │ 5 │ 5 │ 5 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 5 │ 6 │ 3 │ 4 │ 4 │ 5 │ 7 │ 8 │ 8 │ 2 │ 0 │ 11 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 5 │ 6 │ 4 │ 4 │ 5 │ 7 │ 8 │ 8 │ 3 │ 1 │ 3 │ 16 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 5 │ 6 │ 4 │ 5 │ 7 │ 8 │ 8 │ 4 │ 2 │ 3 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 5 │ 6 │ 5 │ 7 │ 8 │ 8 │ 0 │ 3 │ 12 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 6 │ 5 │ 7 │ 8 │ 8 │ 1 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 5 │ 1 │ 8 │ 8 │ 7 │ 2 │ 16 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 6 │ 1 │ 8 │ 8 │ 1 │ 7 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 7 │ 7 │ 1 │ 0 │ 3 │ 4 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 4 │ 4 │ 4 │ 0 │ 8 │ 8 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 0 ║ ███████████████████████████████████████ ║ Machine 0 █
Job 1 ║██████████████ ║ Machine 1 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 9.1 18.2
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 5 │ 5 │ 5 │ 5 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 5 │ 6 │ 3 │ 4 │ 4 │ 5 │ 7 │ 8 │ 8 │ 2 │ 0 │ 11 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 5 │ 6 │ 4 │ 4 │ 5 │ 7 │ 8 │ 8 │ 3 │ 1 │ 3 │ 16 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 5 │ 6 │ 4 │ 5 │ 7 │ 8 │ 8 │ 4 │ 2 │ 3 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 5 │ 6 │ 5 │ 7 │ 8 │ 8 │ 0 │ 3 │ 12 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 6 │ 5 │ 7 │ 8 │ 8 │ 1 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 5 │ 1 │ 8 │ 8 │ 7 │ 2 │ 16 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 6 │ 1 │ 8 │ 8 │ 1 │ 7 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 6 │ 7 │ 7 │ 1 │ 0 │ 3 │ 4 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 4 │ 4 │ 4 │ 0 │ 8 │ 8 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 0 ║ ███████████████████████████████████ ║ Machine 0 █
Job 1 ║█████████████████████████████████████████████████████ ║ Machine 1 █
║ ║ Machine 2 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 10.0 20.0
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 5 │ 5 │ 5 │ 5 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 5 │ 6 │ 3 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 2 │ 0 │ 11 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 5 │ 6 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 3 │ 1 │ 3 │ 16 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 5 │ 6 │ 4 │ 5 │ 7 │ 8 │ 8 │ 4 │ 2 │ 3 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 5 │ 6 │ 5 │ 7 │ 8 │ 8 │ 0 │ 3 │ 12 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 6 │ 5 │ 7 │ 8 │ 8 │ 1 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 5 │ 1 │ 8 │ 8 │ 7 │ 2 │ 16 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 1 │ 2 │ 5 │ 4 │ 4 │ 6 │ 6 │ 3 │ 8 │ 8 │ 1 │ 7 │ 21 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 1 │ 2 │ 5 │ 4 │ 4 │ 6 │ 7 │ 7 │ 3 │ 0 │ 3 │ 4 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 8 │ 8 │ 4 │ 0 │ 8 │ 8 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 0 ║ ███████████████████████████ ║ Machine 0 █
Job 1 ║██████████████████████████████████████████████████████ ║ Machine 1 █
║ ║ Machine 2 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 13.2 26.4
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 5 │ 5 │ 5 │ 5 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 5 │ 6 │ 3 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 2 │ 0 │ 11 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 5 │ 6 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 3 │ 1 │ 3 │ 16 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 5 │ 6 │ 4 │ 5 │ 7 │ 8 │ 8 │ 4 │ 2 │ 3 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 5 │ 6 │ 5 │ 7 │ 8 │ 8 │ 0 │ 3 │ 12 │ -1 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 6 │ 5 │ 7 │ 8 │ 8 │ 1 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 3 │ 4 │ 4 │ 5 │ 1 │ 8 │ 8 │ 7 │ 2 │ 16 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 1 │ 2 │ 5 │ 4 │ 4 │ 6 │ 6 │ 3 │ 8 │ 8 │ 1 │ 7 │ 21 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 1 │ 2 │ 5 │ 4 │ 4 │ 6 │ 7 │ 7 │ 3 │ 0 │ 3 │ 4 │ 28 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 8 │ 8 │ 4 │ 0 │ 8 │ 8 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 0 ║ ███████████████████████ ║ Machine 0 █
Job 1 ║██████████████████████████████████████████████████████ ║ Machine 1 █
║ ║ Machine 2 █
║ ║ Machine 3 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 15.0 30.0
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 5 │ 5 │ 6 │ 6 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 5 │ 6 │ 3 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 2 │ 0 │ 11 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 5 │ 6 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 3 │ 1 │ 3 │ 16 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 5 │ 7 │ 4 │ 6 │ 6 │ 8 │ 8 │ 4 │ 2 │ 3 │ 21 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 5 │ 7 │ 6 │ 6 │ 8 │ 8 │ 0 │ 3 │ 12 │ -1 │ 1 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 6 │ 5 │ 7 │ 8 │ 8 │ 1 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 2 │ 4 │ 7 │ 5 │ 1 │ 8 │ 8 │ 3 │ 2 │ 16 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 1 │ 2 │ 5 │ 4 │ 4 │ 6 │ 6 │ 3 │ 8 │ 8 │ 1 │ 7 │ 21 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 1 │ 2 │ 5 │ 4 │ 4 │ 6 │ 7 │ 7 │ 3 │ 0 │ 3 │ 4 │ 28 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 8 │ 8 │ 4 │ 0 │ 8 │ 8 │ 8 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 0 ║ ███████████████████████ ██████ ║ Machine 0 █
Job 1 ║██████████████████████████████████████████████████████ ║ Machine 1 █
║ ║ Machine 2 █
║ ║ Machine 3 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 15.0 30.0
color encoding:
Successors, Predecessors, Unknown,
t_id first task in Predecessors-List
t_id last task in Predecessors-List
t_id first task in Successors-List
t_id last task in Successors-List
t_id first task in Unknown-List
makespan lower bound estimate
┏━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┳━━━━┓
┃ ┃ 0 ┃ 1 ┃ 2 ┃ 3 ┃ 4 ┃ 5 ┃ 6 ┃ 7 ┃ 8 ┃ 9 ┃ m ┃ d ┃ s ┃ v ┃
┣━━━━╋━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━╇━━━━┫
┃ 0 ┃ 32│ 5 │ 5 │ 6 │ 8 │ 0 │ 5 │ 6 │ 7 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 1 ┃ 5 │ 6 │ 3 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 2 │ 0 │ 11 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 2 ┃ 1 │ 5 │ 6 │ 4 │ 7 │ 5 │ 6 │ 8 │ 8 │ 3 │ 1 │ 3 │ 16 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 3 ┃ 1 │ 2 │ 5 │ 7 │ 4 │ 6 │ 6 │ 8 │ 8 │ 4 │ 2 │ 3 │ 21 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 4 ┃ 1 │ 2 │ 3 │ 5 │ 4 │ 6 │ 7 │ 8 │ 8 │ 0 │ 3 │ 12 │ 32 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 5 ┃ 0 │ 2 │ 3 │ 4 │ 6 │ 5 │ 7 │ 8 │ 8 │ 1 │ 0 │ 5 │ 0 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 6 ┃ 5 │ 2 │ 2 │ 4 │ 7 │ 5 │ 1 │ 8 │ 8 │ 3 │ 2 │ 16 │ 5 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 7 ┃ 1 │ 2 │ 5 │ 3 │ 8 │ 6 │ 6 │ 3 │ 8 │ 4 │ 1 │ 7 │ 21 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 8 ┃ 1 │ 2 │ 5 │ 3 │ 4 │ 6 │ 7 │ 7 │ 3 │ 4 │ 3 │ 4 │ 28 │ 0 ┃
┣━━━━╉────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┨
┃ 9 ┃ 0 │ 8 │ 8 │ 4 │ 0 │ 8 │ 8 │ 8 │ 4 │ 0 │ 0 │ 0 │ 0 │ 0 ┃
┗━━━━┻━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┷━━━━┛
╔═══════════════════════════════════════════════════════╗
Job 0 ║ █████████████████ ████ ██████████████ ║ Machine 0 █
Job 1 ║████████████████████████████████████████ ║ Machine 1 █
║ ║ Machine 2 █
║ ║ Machine 3 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 20.5 40.9
[ ]: