OR-Tools¶
[1]:
from jsp_instance_utils.instances import ft06, ft06_makespan
from jsp_instance_utils.jsp_or_tools_solver import solve_jsp
[2]:
makespan, status, *_ = solve_jsp(jsp_instance=ft06, plot_results=True)
╔═══════════════════════════════════════════════════════╗
Job 0 ║ ████ ██████ ███████ ███ ██████ ║ Machine 0 █
Job 1 ║███████████████████████ ████████████████████████ ║ Machine 1 █
Job 2 ║█████████████████ ██████████ ███████║ Machine 2 █
Job 3 ║ ██████████ ████████████████ █████████ ║ Machine 3 █
Job 4 ║ █████████████████ ████ ███ █ ║ Machine 4 █
Job 5 ║ ██████████████████████████████ ║ Machine 5 █
╚╦════╤════╤════╤════╤════╦════╤════╤════╤════╤════╦════╝
0.0 25.5 50.9
[3]:
assert status == "OPTIMAL"
assert makespan == ft06_makespan
[4]:
print(f"makespan: {makespan} ({status} solution)")
makespan: 55.0 (OPTIMAL solution)