[ { "task_name": "JSP", "problem_type": "JSP", "instruction": "Recently the kitchen got busier, so the head chef started sketching start times for every recipe step, making sure each step sits on its assigned counter or oven for the exact time, that steps for a dish follow one after another, and that no appliance is doing two jobs at once. The point is to get every order out as soon as possible — check when each dish is completed, pick the latest completion time as the end of the shift, and try to make that latest time as small as possible. Nothing can be skipped or duplicated in the plan, and the concrete details will be shown below.\n\n# nr_dishes=9\n# nr_stations=5\n# dishes=J1, J2, J3, J4, J5, J6, J7, J8, J9\n# stations=1, 2, 3, 4, 5\ndish_id,step_index,station_id,step_duration\nJ1,0,5,1\nJ1,1,2,52\nJ1,2,3,73\nJ1,3,4,27\nJ1,4,1,38\nJ2,0,3,20\nJ2,1,5,97\nJ2,2,2,51\nJ2,3,4,53\nJ2,4,1,26\nJ3,0,5,11\nJ3,1,2,81\nJ3,2,4,90\nJ3,3,1,45\nJ3,4,3,25\nJ4,0,2,25\nJ4,1,4,19\nJ4,2,5,33\nJ4,3,1,11\nJ4,4,3,80\nJ5,0,5,53\nJ5,1,3,84\nJ5,2,1,73\nJ5,3,2,8\nJ5,4,4,54\nJ6,0,4,13\nJ6,1,1,86\nJ6,2,5,46\nJ6,3,3,47\nJ6,4,2,45\nJ7,0,1,24\nJ7,1,3,2\nJ7,2,4,3\nJ7,3,5,99\nJ7,4,2,91\nJ8,0,1,78\nJ8,1,5,57\nJ8,2,4,77\nJ8,3,2,62\nJ8,4,3,35\nJ9,0,2,38\nJ9,1,1,27\nJ9,2,4,35\nJ9,3,5,64\nJ9,4,3,37\n\nAlso, when you send the schedule back, please stick to a simple JSON layout — something like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis shows the shape I’m expecting: \"solution\" is a list of jobs (dishes), each job has an id and a list of tasks (steps). For each task you give its index in the job, the planned start time, which machine (counter/oven) it uses, and how long it runs. Think of it as a simple form: one object per dish, and an ordered list of the steps with times and machines.\n\nThis JSON is only a sketch of the expected shape, not the actual schedule. Please use the exact identifiers from the instance input — do not rename them or invent new labels.\n\nValid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 4, 1 ], [ 1, 52 ], [ 2, 73 ], [ 3, 27 ], [ 0, 38 ] ], [ [ 2, 20 ], [ 4, 97 ], [ 1, 51 ], [ 3, 53 ], [ 0, 26 ] ], [ [ 4, 11 ], [ 1, 81 ], [ 3, 90 ], [ 0, 45 ], [ 2, 25 ] ], [ [ 1, 25 ], [ 3, 19 ], [ 4, 33 ], [ 0, 11 ], [ 2, 80 ] ], [ [ 4, 53 ], [ 2, 84 ], [ 0, 73 ], [ 1, 8 ], [ 3, 54 ] ], [ [ 3, 13 ], [ 0, 86 ], [ 4, 46 ], [ 2, 47 ], [ 1, 45 ] ], [ [ 0, 24 ], [ 2, 2 ], [ 3, 3 ], [ 4, 99 ], [ 1, 91 ] ], [ [ 0, 78 ], [ 4, 57 ], [ 3, 77 ], [ 1, 62 ], [ 2, 35 ] ], [ [ 1, 38 ], [ 0, 27 ], [ 3, 35 ], [ 4, 64 ], [ 2, 37 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 64, "machine": 4, "duration": 1 }, { "task": 1, "start": 92, "machine": 1, "duration": 52 }, { "task": 2, "start": 190, "machine": 2, "duration": 73 }, { "task": 3, "start": 384, "machine": 3, "duration": 27 }, { "task": 4, "start": 411, "machine": 0, "duration": 38 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 20 }, { "task": 1, "start": 65, "machine": 4, "duration": 97 }, { "task": 2, "start": 169, "machine": 1, "duration": 51 }, { "task": 3, "start": 296, "machine": 3, "duration": 53 }, { "task": 4, "start": 349, "machine": 0, "duration": 26 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 11 }, { "task": 1, "start": 11, "machine": 1, "duration": 81 }, { "task": 2, "start": 92, "machine": 3, "duration": 90 }, { "task": 3, "start": 261, "machine": 0, "duration": 45 }, { "task": 4, "start": 312, "machine": 2, "duration": 25 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 144, "machine": 1, "duration": 25 }, { "task": 1, "start": 182, "machine": 3, "duration": 19 }, { "task": 2, "start": 265, "machine": 4, "duration": 33 }, { "task": 3, "start": 333, "machine": 0, "duration": 11 }, { "task": 4, "start": 344, "machine": 2, "duration": 80 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 11, "machine": 4, "duration": 53 }, { "task": 1, "start": 64, "machine": 2, "duration": 84 }, { "task": 2, "start": 188, "machine": 0, "duration": 73 }, { "task": 3, "start": 261, "machine": 1, "duration": 8 }, { "task": 4, "start": 411, "machine": 3, "duration": 54 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 13 }, { "task": 1, "start": 78, "machine": 0, "duration": 86 }, { "task": 2, "start": 219, "machine": 4, "duration": 46 }, { "task": 3, "start": 265, "machine": 2, "duration": 47 }, { "task": 4, "start": 358, "machine": 1, "duration": 45 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 164, "machine": 0, "duration": 24 }, { "task": 1, "start": 188, "machine": 2, "duration": 2 }, { "task": 2, "start": 201, "machine": 3, "duration": 3 }, { "task": 3, "start": 298, "machine": 4, "duration": 99 }, { "task": 4, "start": 403, "machine": 1, "duration": 91 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 78 }, { "task": 1, "start": 162, "machine": 4, "duration": 57 }, { "task": 2, "start": 219, "machine": 3, "duration": 77 }, { "task": 3, "start": 296, "machine": 1, "duration": 62 }, { "task": 4, "start": 424, "machine": 2, "duration": 35 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 220, "machine": 1, "duration": 38 }, { "task": 1, "start": 306, "machine": 0, "duration": 27 }, { "task": 2, "start": 349, "machine": 3, "duration": 35 }, { "task": 3, "start": 397, "machine": 4, "duration": 64 }, { "task": 4, "start": 461, "machine": 2, "duration": 37 } ] } ], "obj": 498.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 5, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 52 }, { "job_id": "J1", "task_id": 2, "machine_id": 3, "duration": 73 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 27 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 38 }, { "job_id": "J2", "task_id": 0, "machine_id": 3, "duration": 20 }, { "job_id": "J2", "task_id": 1, "machine_id": 5, "duration": 97 }, { "job_id": "J2", "task_id": 2, "machine_id": 2, "duration": 51 }, { "job_id": "J2", "task_id": 3, "machine_id": 4, "duration": 53 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 26 }, { "job_id": "J3", "task_id": 0, "machine_id": 5, "duration": 11 }, { "job_id": "J3", "task_id": 1, "machine_id": 2, "duration": 81 }, { "job_id": "J3", "task_id": 2, "machine_id": 4, "duration": 90 }, { "job_id": "J3", "task_id": 3, "machine_id": 1, "duration": 45 }, { "job_id": "J3", "task_id": 4, "machine_id": 3, "duration": 25 }, { "job_id": "J4", "task_id": 0, "machine_id": 2, "duration": 25 }, { "job_id": "J4", "task_id": 1, "machine_id": 4, "duration": 19 }, { "job_id": "J4", "task_id": 2, "machine_id": 5, "duration": 33 }, { "job_id": "J4", "task_id": 3, "machine_id": 1, "duration": 11 }, { "job_id": "J4", "task_id": 4, "machine_id": 3, "duration": 80 }, { "job_id": "J5", "task_id": 0, "machine_id": 5, "duration": 53 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 84 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 73 }, { "job_id": "J5", "task_id": 3, "machine_id": 2, "duration": 8 }, { "job_id": "J5", "task_id": 4, "machine_id": 4, "duration": 54 }, { "job_id": "J6", "task_id": 0, "machine_id": 4, "duration": 13 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 86 }, { "job_id": "J6", "task_id": 2, "machine_id": 5, "duration": 46 }, { "job_id": "J6", "task_id": 3, "machine_id": 3, "duration": 47 }, { "job_id": "J6", "task_id": 4, "machine_id": 2, "duration": 45 }, { "job_id": "J7", "task_id": 0, "machine_id": 1, "duration": 24 }, { "job_id": "J7", "task_id": 1, "machine_id": 3, "duration": 2 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 3 }, { "job_id": "J7", "task_id": 3, "machine_id": 5, "duration": 99 }, { "job_id": "J7", "task_id": 4, "machine_id": 2, "duration": 91 }, { "job_id": "J8", "task_id": 0, "machine_id": 1, "duration": 78 }, { "job_id": "J8", "task_id": 1, "machine_id": 5, "duration": 57 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 77 }, { "job_id": "J8", "task_id": 3, "machine_id": 2, "duration": 62 }, { "job_id": "J8", "task_id": 4, "machine_id": 3, "duration": 35 }, { "job_id": "J9", "task_id": 0, "machine_id": 2, "duration": 38 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 27 }, { "job_id": "J9", "task_id": 2, "machine_id": 4, "duration": 35 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 64 }, { "job_id": "J9", "task_id": 4, "machine_id": 3, "duration": 37 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 64, "machine": 5, "duration": 1 }, { "task": 1, "start": 92, "machine": 2, "duration": 52 }, { "task": 2, "start": 190, "machine": 3, "duration": 73 }, { "task": 3, "start": 384, "machine": 4, "duration": 27 }, { "task": 4, "start": 411, "machine": 1, "duration": 38 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 20 }, { "task": 1, "start": 65, "machine": 5, "duration": 97 }, { "task": 2, "start": 169, "machine": 2, "duration": 51 }, { "task": 3, "start": 296, "machine": 4, "duration": 53 }, { "task": 4, "start": 349, "machine": 1, "duration": 26 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 11 }, { "task": 1, "start": 11, "machine": 2, "duration": 81 }, { "task": 2, "start": 92, "machine": 4, "duration": 90 }, { "task": 3, "start": 261, "machine": 1, "duration": 45 }, { "task": 4, "start": 312, "machine": 3, "duration": 25 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 144, "machine": 2, "duration": 25 }, { "task": 1, "start": 182, "machine": 4, "duration": 19 }, { "task": 2, "start": 265, "machine": 5, "duration": 33 }, { "task": 3, "start": 333, "machine": 1, "duration": 11 }, { "task": 4, "start": 344, "machine": 3, "duration": 80 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 11, "machine": 5, "duration": 53 }, { "task": 1, "start": 64, "machine": 3, "duration": 84 }, { "task": 2, "start": 188, "machine": 1, "duration": 73 }, { "task": 3, "start": 261, "machine": 2, "duration": 8 }, { "task": 4, "start": 411, "machine": 4, "duration": 54 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 13 }, { "task": 1, "start": 78, "machine": 1, "duration": 86 }, { "task": 2, "start": 219, "machine": 5, "duration": 46 }, { "task": 3, "start": 265, "machine": 3, "duration": 47 }, { "task": 4, "start": 358, "machine": 2, "duration": 45 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 164, "machine": 1, "duration": 24 }, { "task": 1, "start": 188, "machine": 3, "duration": 2 }, { "task": 2, "start": 201, "machine": 4, "duration": 3 }, { "task": 3, "start": 298, "machine": 5, "duration": 99 }, { "task": 4, "start": 403, "machine": 2, "duration": 91 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 78 }, { "task": 1, "start": 162, "machine": 5, "duration": 57 }, { "task": 2, "start": 219, "machine": 4, "duration": 77 }, { "task": 3, "start": 296, "machine": 2, "duration": 62 }, { "task": 4, "start": 424, "machine": 3, "duration": 35 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 220, "machine": 2, "duration": 38 }, { "task": 1, "start": 306, "machine": 1, "duration": 27 }, { "task": 2, "start": 349, "machine": 4, "duration": 35 }, { "task": 3, "start": 397, "machine": 5, "duration": 64 }, { "task": 4, "start": 461, "machine": 3, "duration": 37 } ] } ], "context_index": 1, "input_format": "csv", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Recently the team was handed several rooms to renovate, each with a step-by-step checklist, and the role was to place each step on its proper machine and time slot. The rules were simple in practice: don’t let a machine handle overlapping tasks, keep the room steps in their given sequence, and don’t skip or repeat any tasks. The success of a schedule is judged by how soon the last job completes — check the clock when the final task ends to see which plan is better. The concrete breakdown of tasks and durations is listed below.\n\nThere were 11 rooms to renovate across 5 machines; the rooms were J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11 and the machines were 1, 2, 3, 4, 5.\nRoom J1, step 0, required machine 3 for 1.\nRoom J1, step 1, required machine 4 for 65.\nRoom J1, step 2, required machine 2 for 49.\nRoom J1, step 3, required machine 5 for 72.\nRoom J1, step 4, required machine 1 for 90.\nRoom J2, step 0, required machine 4 for 42.\nRoom J2, step 1, required machine 5 for 3.\nRoom J2, step 2, required machine 2 for 19.\nRoom J2, step 3, required machine 1 for 21.\nRoom J2, step 4, required machine 3 for 19.\nRoom J3, step 0, required machine 3 for 49.\nRoom J3, step 1, required machine 4 for 34.\nRoom J3, step 2, required machine 2 for 73.\nRoom J3, step 3, required machine 5 for 49.\nRoom J3, step 4, required machine 1 for 30.\nRoom J4, step 0, required machine 4 for 77.\nRoom J4, step 1, required machine 5 for 86.\nRoom J4, step 2, required machine 3 for 33.\nRoom J4, step 3, required machine 1 for 49.\nRoom J4, step 4, required machine 2 for 87.\nRoom J5, step 0, required machine 3 for 95.\nRoom J5, step 1, required machine 1 for 53.\nRoom J5, step 2, required machine 4 for 33.\nRoom J5, step 3, required machine 5 for 1.\nRoom J5, step 4, required machine 2 for 39.\nRoom J6, step 0, required machine 4 for 66.\nRoom J6, step 1, required machine 3 for 95.\nRoom J6, step 2, required machine 1 for 12.\nRoom J6, step 3, required machine 2 for 88.\nRoom J6, step 4, required machine 5 for 15.\nRoom J7, step 0, required machine 3 for 15.\nRoom J7, step 1, required machine 5 for 77.\nRoom J7, step 2, required machine 2 for 29.\nRoom J7, step 3, required machine 4 for 5.\nRoom J7, step 4, required machine 1 for 65.\nRoom J8, step 0, required machine 4 for 12.\nRoom J8, step 1, required machine 3 for 21.\nRoom J8, step 2, required machine 2 for 53.\nRoom J8, step 3, required machine 1 for 61.\nRoom J8, step 4, required machine 5 for 71.\nRoom J9, step 0, required machine 4 for 62.\nRoom J9, step 1, required machine 1 for 25.\nRoom J9, step 2, required machine 2 for 8.\nRoom J9, step 3, required machine 3 for 40.\nRoom J9, step 4, required machine 5 for 2.\nRoom J10, step 0, required machine 2 for 13.\nRoom J10, step 1, required machine 1 for 16.\nRoom J10, step 2, required machine 4 for 5.\nRoom J10, step 3, required machine 5 for 72.\nRoom J10, step 4, required machine 3 for 76.\nRoom J11, step 0, required machine 5 for 95.\nRoom J11, step 1, required machine 2 for 54.\nRoom J11, step 2, required machine 3 for 23.\nRoom J11, step 3, required machine 4 for 82.\nRoom J11, step 4, required machine 1 for 45.\nThe team judged schedules by checking the clock when the final task completed for the 11 rooms.\n\nAlso, to keep things neat when you send back a plan, please follow this simple JSON layout for the schedule:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: \"solution\" holds all the rooms (jobs), each job entry names the job and then lists its steps. Each step shows which numbered step it is, when it starts, which machine it's on, and how long it runs. It's just a sketch of the shape I need, not the final schedule itself.\n\nPlease make sure to use the exact identifiers from the instance input — no renaming and no inventing new labels.\n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 2, 1 ], [ 3, 65 ], [ 1, 49 ], [ 4, 72 ], [ 0, 90 ] ], [ [ 3, 42 ], [ 4, 3 ], [ 1, 19 ], [ 0, 21 ], [ 2, 19 ] ], [ [ 2, 49 ], [ 3, 34 ], [ 1, 73 ], [ 4, 49 ], [ 0, 30 ] ], [ [ 3, 77 ], [ 4, 86 ], [ 2, 33 ], [ 0, 49 ], [ 1, 87 ] ], [ [ 2, 95 ], [ 0, 53 ], [ 3, 33 ], [ 4, 1 ], [ 1, 39 ] ], [ [ 3, 66 ], [ 2, 95 ], [ 0, 12 ], [ 1, 88 ], [ 4, 15 ] ], [ [ 2, 15 ], [ 4, 77 ], [ 1, 29 ], [ 3, 5 ], [ 0, 65 ] ], [ [ 3, 12 ], [ 2, 21 ], [ 1, 53 ], [ 0, 61 ], [ 4, 71 ] ], [ [ 3, 62 ], [ 0, 25 ], [ 1, 8 ], [ 2, 40 ], [ 4, 2 ] ], [ [ 1, 13 ], [ 0, 16 ], [ 3, 5 ], [ 4, 72 ], [ 2, 76 ] ], [ [ 4, 95 ], [ 1, 54 ], [ 2, 23 ], [ 3, 82 ], [ 0, 45 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 1 }, { "task": 1, "start": 12, "machine": 3, "duration": 65 }, { "task": 2, "start": 122, "machine": 1, "duration": 49 }, { "task": 3, "start": 188, "machine": 4, "duration": 72 }, { "task": 4, "start": 288, "machine": 0, "duration": 90 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 259, "machine": 3, "duration": 42 }, { "task": 1, "start": 346, "machine": 4, "duration": 3 }, { "task": 2, "start": 397, "machine": 1, "duration": 19 }, { "task": 3, "start": 453, "machine": 0, "duration": 21 }, { "task": 4, "start": 537, "machine": 2, "duration": 19 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 37, "machine": 2, "duration": 49 }, { "task": 1, "start": 148, "machine": 3, "duration": 34 }, { "task": 2, "start": 182, "machine": 1, "duration": 73 }, { "task": 3, "start": 422, "machine": 4, "duration": 49 }, { "task": 4, "start": 481, "machine": 0, "duration": 30 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 182, "machine": 3, "duration": 77 }, { "task": 1, "start": 260, "machine": 4, "duration": 86 }, { "task": 2, "start": 346, "machine": 2, "duration": 33 }, { "task": 3, "start": 379, "machine": 0, "duration": 49 }, { "task": 4, "start": 469, "machine": 1, "duration": 87 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 86, "machine": 2, "duration": 95 }, { "task": 1, "start": 216, "machine": 0, "duration": 53 }, { "task": 2, "start": 368, "machine": 3, "duration": 33 }, { "task": 3, "start": 421, "machine": 4, "duration": 1 }, { "task": 4, "start": 422, "machine": 1, "duration": 39 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 77, "machine": 3, "duration": 66 }, { "task": 1, "start": 181, "machine": 2, "duration": 95 }, { "task": 2, "start": 276, "machine": 0, "duration": 12 }, { "task": 3, "start": 309, "machine": 1, "duration": 88 }, { "task": 4, "start": 542, "machine": 4, "duration": 15 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 1, "machine": 2, "duration": 15 }, { "task": 1, "start": 16, "machine": 4, "duration": 77 }, { "task": 2, "start": 93, "machine": 1, "duration": 29 }, { "task": 3, "start": 143, "machine": 3, "duration": 5 }, { "task": 4, "start": 151, "machine": 0, "duration": 65 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 12 }, { "task": 1, "start": 16, "machine": 2, "duration": 21 }, { "task": 2, "start": 37, "machine": 1, "duration": 53 }, { "task": 3, "start": 90, "machine": 0, "duration": 61 }, { "task": 4, "start": 471, "machine": 4, "duration": 71 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 306, "machine": 3, "duration": 62 }, { "task": 1, "start": 428, "machine": 0, "duration": 25 }, { "task": 2, "start": 461, "machine": 1, "duration": 8 }, { "task": 3, "start": 497, "machine": 2, "duration": 40 }, { "task": 4, "start": 557, "machine": 4, "duration": 2 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 13 }, { "task": 1, "start": 13, "machine": 0, "duration": 16 }, { "task": 2, "start": 301, "machine": 3, "duration": 5 }, { "task": 3, "start": 349, "machine": 4, "duration": 72 }, { "task": 4, "start": 421, "machine": 2, "duration": 76 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 93, "machine": 4, "duration": 95 }, { "task": 1, "start": 255, "machine": 1, "duration": 54 }, { "task": 2, "start": 311, "machine": 2, "duration": 23 }, { "task": 3, "start": 401, "machine": 3, "duration": 82 }, { "task": 4, "start": 511, "machine": 0, "duration": 45 } ] } ], "obj": 559.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 65 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 49 }, { "job_id": "J1", "task_id": 3, "machine_id": 5, "duration": 72 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 90 }, { "job_id": "J2", "task_id": 0, "machine_id": 4, "duration": 42 }, { "job_id": "J2", "task_id": 1, "machine_id": 5, "duration": 3 }, { "job_id": "J2", "task_id": 2, "machine_id": 2, "duration": 19 }, { "job_id": "J2", "task_id": 3, "machine_id": 1, "duration": 21 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 19 }, { "job_id": "J3", "task_id": 0, "machine_id": 3, "duration": 49 }, { "job_id": "J3", "task_id": 1, "machine_id": 4, "duration": 34 }, { "job_id": "J3", "task_id": 2, "machine_id": 2, "duration": 73 }, { "job_id": "J3", "task_id": 3, "machine_id": 5, "duration": 49 }, { "job_id": "J3", "task_id": 4, "machine_id": 1, "duration": 30 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 77 }, { "job_id": "J4", "task_id": 1, "machine_id": 5, "duration": 86 }, { "job_id": "J4", "task_id": 2, "machine_id": 3, "duration": 33 }, { "job_id": "J4", "task_id": 3, "machine_id": 1, "duration": 49 }, { "job_id": "J4", "task_id": 4, "machine_id": 2, "duration": 87 }, { "job_id": "J5", "task_id": 0, "machine_id": 3, "duration": 95 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 53 }, { "job_id": "J5", "task_id": 2, "machine_id": 4, "duration": 33 }, { "job_id": "J5", "task_id": 3, "machine_id": 5, "duration": 1 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 39 }, { "job_id": "J6", "task_id": 0, "machine_id": 4, "duration": 66 }, { "job_id": "J6", "task_id": 1, "machine_id": 3, "duration": 95 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 12 }, { "job_id": "J6", "task_id": 3, "machine_id": 2, "duration": 88 }, { "job_id": "J6", "task_id": 4, "machine_id": 5, "duration": 15 }, { "job_id": "J7", "task_id": 0, "machine_id": 3, "duration": 15 }, { "job_id": "J7", "task_id": 1, "machine_id": 5, "duration": 77 }, { "job_id": "J7", "task_id": 2, "machine_id": 2, "duration": 29 }, { "job_id": "J7", "task_id": 3, "machine_id": 4, "duration": 5 }, { "job_id": "J7", "task_id": 4, "machine_id": 1, "duration": 65 }, { "job_id": "J8", "task_id": 0, "machine_id": 4, "duration": 12 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 21 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 53 }, { "job_id": "J8", "task_id": 3, "machine_id": 1, "duration": 61 }, { "job_id": "J8", "task_id": 4, "machine_id": 5, "duration": 71 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 62 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 25 }, { "job_id": "J9", "task_id": 2, "machine_id": 2, "duration": 8 }, { "job_id": "J9", "task_id": 3, "machine_id": 3, "duration": 40 }, { "job_id": "J9", "task_id": 4, "machine_id": 5, "duration": 2 }, { "job_id": "J10", "task_id": 0, "machine_id": 2, "duration": 13 }, { "job_id": "J10", "task_id": 1, "machine_id": 1, "duration": 16 }, { "job_id": "J10", "task_id": 2, "machine_id": 4, "duration": 5 }, { "job_id": "J10", "task_id": 3, "machine_id": 5, "duration": 72 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 76 }, { "job_id": "J11", "task_id": 0, "machine_id": 5, "duration": 95 }, { "job_id": "J11", "task_id": 1, "machine_id": 2, "duration": 54 }, { "job_id": "J11", "task_id": 2, "machine_id": 3, "duration": 23 }, { "job_id": "J11", "task_id": 3, "machine_id": 4, "duration": 82 }, { "job_id": "J11", "task_id": 4, "machine_id": 1, "duration": 45 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 12, "machine": 4, "duration": 65 }, { "task": 2, "start": 122, "machine": 2, "duration": 49 }, { "task": 3, "start": 188, "machine": 5, "duration": 72 }, { "task": 4, "start": 288, "machine": 1, "duration": 90 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 259, "machine": 4, "duration": 42 }, { "task": 1, "start": 346, "machine": 5, "duration": 3 }, { "task": 2, "start": 397, "machine": 2, "duration": 19 }, { "task": 3, "start": 453, "machine": 1, "duration": 21 }, { "task": 4, "start": 537, "machine": 3, "duration": 19 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 37, "machine": 3, "duration": 49 }, { "task": 1, "start": 148, "machine": 4, "duration": 34 }, { "task": 2, "start": 182, "machine": 2, "duration": 73 }, { "task": 3, "start": 422, "machine": 5, "duration": 49 }, { "task": 4, "start": 481, "machine": 1, "duration": 30 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 182, "machine": 4, "duration": 77 }, { "task": 1, "start": 260, "machine": 5, "duration": 86 }, { "task": 2, "start": 346, "machine": 3, "duration": 33 }, { "task": 3, "start": 379, "machine": 1, "duration": 49 }, { "task": 4, "start": 469, "machine": 2, "duration": 87 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 86, "machine": 3, "duration": 95 }, { "task": 1, "start": 216, "machine": 1, "duration": 53 }, { "task": 2, "start": 368, "machine": 4, "duration": 33 }, { "task": 3, "start": 421, "machine": 5, "duration": 1 }, { "task": 4, "start": 422, "machine": 2, "duration": 39 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 77, "machine": 4, "duration": 66 }, { "task": 1, "start": 181, "machine": 3, "duration": 95 }, { "task": 2, "start": 276, "machine": 1, "duration": 12 }, { "task": 3, "start": 309, "machine": 2, "duration": 88 }, { "task": 4, "start": 542, "machine": 5, "duration": 15 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 1, "machine": 3, "duration": 15 }, { "task": 1, "start": 16, "machine": 5, "duration": 77 }, { "task": 2, "start": 93, "machine": 2, "duration": 29 }, { "task": 3, "start": 143, "machine": 4, "duration": 5 }, { "task": 4, "start": 151, "machine": 1, "duration": 65 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 12 }, { "task": 1, "start": 16, "machine": 3, "duration": 21 }, { "task": 2, "start": 37, "machine": 2, "duration": 53 }, { "task": 3, "start": 90, "machine": 1, "duration": 61 }, { "task": 4, "start": 471, "machine": 5, "duration": 71 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 306, "machine": 4, "duration": 62 }, { "task": 1, "start": 428, "machine": 1, "duration": 25 }, { "task": 2, "start": 461, "machine": 2, "duration": 8 }, { "task": 3, "start": 497, "machine": 3, "duration": 40 }, { "task": 4, "start": 557, "machine": 5, "duration": 2 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 13 }, { "task": 1, "start": 13, "machine": 1, "duration": 16 }, { "task": 2, "start": 301, "machine": 4, "duration": 5 }, { "task": 3, "start": 349, "machine": 5, "duration": 72 }, { "task": 4, "start": 421, "machine": 3, "duration": 76 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 93, "machine": 5, "duration": 95 }, { "task": 1, "start": 255, "machine": 2, "duration": 54 }, { "task": 2, "start": 311, "machine": 3, "duration": 23 }, { "task": 3, "start": 401, "machine": 4, "duration": 82 }, { "task": 4, "start": 511, "machine": 1, "duration": 45 } ] } ], "context_index": 2, "input_format": "nl", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Lately the shop has been trying to speed things up: every coat and dress has a fixed series of treatments on particular machines for specific times, and none of those steps can be rearranged. The job is to schedule those treatments so machines aren’t double-booked and every step for every garment occurs once and in order. What counts is the clock reading when the final garment is finished — the earlier, the better. The exact instance details are listed below.\n\nThere are 10 garments and 5 machines; the garment identifiers are J1, J2, J3, J4, J5, J6, J7, J8, J9, J10 and the machine identifiers are A, B, C, D, E.\n\n| garment_id | treatment_index | required_machine_id | treatment_duration |\n|---|---|---|---|\n| J1 | 0 | C | 1 |\n| J1 | 1 | B | 78 |\n| J1 | 2 | D | 25 |\n| J1 | 3 | E | 18 |\n| J1 | 4 | A | 44 |\n| J2 | 0 | D | 63 |\n| J2 | 1 | C | 7 |\n| J2 | 2 | B | 87 |\n| J2 | 3 | E | 89 |\n| J2 | 4 | A | 13 |\n| J3 | 0 | B | 87 |\n| J3 | 1 | D | 85 |\n| J3 | 2 | C | 56 |\n| J3 | 3 | A | 52 |\n| J3 | 4 | E | 35 |\n| J4 | 0 | E | 31 |\n| J4 | 1 | D | 53 |\n| J4 | 2 | C | 34 |\n| J4 | 3 | A | 87 |\n| J4 | 4 | B | 94 |\n| J5 | 0 | D | 37 |\n| J5 | 1 | C | 22 |\n| J5 | 2 | E | 91 |\n| J5 | 3 | B | 93 |\n| J5 | 4 | A | 23 |\n| J6 | 0 | E | 19 |\n| J6 | 1 | A | 5 |\n| J6 | 2 | C | 77 |\n| J6 | 3 | D | 31 |\n| J6 | 4 | B | 85 |\n| J7 | 0 | A | 6 |\n| J7 | 1 | D | 54 |\n| J7 | 2 | C | 55 |\n| J7 | 3 | B | 9 |\n| J7 | 4 | E | 39 |\n| J8 | 0 | C | 44 |\n| J8 | 1 | E | 83 |\n| J8 | 2 | A | 28 |\n| J8 | 3 | D | 60 |\n| J8 | 4 | B | 8 |\n| J9 | 0 | D | 87 |\n| J9 | 1 | B | 23 |\n| J9 | 2 | E | 79 |\n| J9 | 3 | C | 15 |\n| J9 | 4 | A | 67 |\n| J10 | 0 | D | 20 |\n| J10 | 1 | A | 79 |\n| J10 | 2 | C | 92 |\n| J10 | 3 | E | 99 |\n| J10 | 4 | B | 21 |\n\nSchedule these treatments so machines aren’t double-booked and the final garment finishes as early as possible.\n\nAlso, when you send back the schedule, please use a simple JSON layout so it's easy to parse and check — something that looks like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: each top-level entry is a job, \"job\" is the job identifier, \"tasks\" is the ordered list of steps for that job, and each step shows which task number it is, when it starts, which machine it runs on, and how long it lasts. It's just the shape I expect — not the real schedule yet.\n\nPlease be sure to use the exact identifiers from the instance input — do not rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 10, "jobs": [ [ [ 2, 1 ], [ 1, 78 ], [ 3, 25 ], [ 4, 18 ], [ 0, 44 ] ], [ [ 3, 63 ], [ 2, 7 ], [ 1, 87 ], [ 4, 89 ], [ 0, 13 ] ], [ [ 1, 87 ], [ 3, 85 ], [ 2, 56 ], [ 0, 52 ], [ 4, 35 ] ], [ [ 4, 31 ], [ 3, 53 ], [ 2, 34 ], [ 0, 87 ], [ 1, 94 ] ], [ [ 3, 37 ], [ 2, 22 ], [ 4, 91 ], [ 1, 93 ], [ 0, 23 ] ], [ [ 4, 19 ], [ 0, 5 ], [ 2, 77 ], [ 3, 31 ], [ 1, 85 ] ], [ [ 0, 6 ], [ 3, 54 ], [ 2, 55 ], [ 1, 9 ], [ 4, 39 ] ], [ [ 2, 44 ], [ 4, 83 ], [ 0, 28 ], [ 3, 60 ], [ 1, 8 ] ], [ [ 3, 87 ], [ 1, 23 ], [ 4, 79 ], [ 2, 15 ], [ 0, 67 ] ], [ [ 3, 20 ], [ 0, 79 ], [ 2, 92 ], [ 4, 99 ], [ 1, 21 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 44, "machine": 2, "duration": 1 }, { "task": 1, "start": 87, "machine": 1, "duration": 78 }, { "task": 2, "start": 260, "machine": 3, "duration": 25 }, { "task": 3, "start": 323, "machine": 4, "duration": 18 }, { "task": 4, "start": 381, "machine": 0, "duration": 44 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 57, "machine": 3, "duration": 63 }, { "task": 1, "start": 120, "machine": 2, "duration": 7 }, { "task": 2, "start": 165, "machine": 1, "duration": 87 }, { "task": 3, "start": 420, "machine": 4, "duration": 89 }, { "task": 4, "start": 567, "machine": 0, "duration": 13 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 87 }, { "task": 1, "start": 285, "machine": 3, "duration": 85 }, { "task": 2, "start": 371, "machine": 2, "duration": 56 }, { "task": 3, "start": 448, "machine": 0, "duration": 52 }, { "task": 4, "start": 548, "machine": 4, "duration": 35 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 31 }, { "task": 1, "start": 207, "machine": 3, "duration": 53 }, { "task": 2, "start": 260, "machine": 2, "duration": 34 }, { "task": 3, "start": 294, "machine": 0, "duration": 87 }, { "task": 4, "start": 389, "machine": 1, "duration": 94 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 20, "machine": 3, "duration": 37 }, { "task": 1, "start": 57, "machine": 2, "duration": 22 }, { "task": 2, "start": 133, "machine": 4, "duration": 91 }, { "task": 3, "start": 275, "machine": 1, "duration": 93 }, { "task": 4, "start": 425, "machine": 0, "duration": 23 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 31, "machine": 4, "duration": 19 }, { "task": 1, "start": 99, "machine": 0, "duration": 5 }, { "task": 2, "start": 294, "machine": 2, "duration": 77 }, { "task": 3, "start": 424, "machine": 3, "duration": 31 }, { "task": 4, "start": 492, "machine": 1, "duration": 85 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 6 }, { "task": 1, "start": 370, "machine": 3, "duration": 54 }, { "task": 2, "start": 427, "machine": 2, "duration": 55 }, { "task": 3, "start": 483, "machine": 1, "duration": 9 }, { "task": 4, "start": 509, "machine": 4, "duration": 39 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 44 }, { "task": 1, "start": 50, "machine": 4, "duration": 83 }, { "task": 2, "start": 133, "machine": 0, "duration": 28 }, { "task": 3, "start": 455, "machine": 3, "duration": 60 }, { "task": 4, "start": 577, "machine": 1, "duration": 8 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 120, "machine": 3, "duration": 87 }, { "task": 1, "start": 252, "machine": 1, "duration": 23 }, { "task": 2, "start": 341, "machine": 4, "duration": 79 }, { "task": 3, "start": 482, "machine": 2, "duration": 15 }, { "task": 4, "start": 500, "machine": 0, "duration": 67 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 20 }, { "task": 1, "start": 20, "machine": 0, "duration": 79 }, { "task": 2, "start": 127, "machine": 2, "duration": 92 }, { "task": 3, "start": 224, "machine": 4, "duration": 99 }, { "task": 4, "start": 368, "machine": 1, "duration": 21 } ] } ], "obj": 585.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "C", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 78 }, { "job_id": "J1", "task_id": 2, "machine_id": "D", "duration": 25 }, { "job_id": "J1", "task_id": 3, "machine_id": "E", "duration": 18 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 44 }, { "job_id": "J2", "task_id": 0, "machine_id": "D", "duration": 63 }, { "job_id": "J2", "task_id": 1, "machine_id": "C", "duration": 7 }, { "job_id": "J2", "task_id": 2, "machine_id": "B", "duration": 87 }, { "job_id": "J2", "task_id": 3, "machine_id": "E", "duration": 89 }, { "job_id": "J2", "task_id": 4, "machine_id": "A", "duration": 13 }, { "job_id": "J3", "task_id": 0, "machine_id": "B", "duration": 87 }, { "job_id": "J3", "task_id": 1, "machine_id": "D", "duration": 85 }, { "job_id": "J3", "task_id": 2, "machine_id": "C", "duration": 56 }, { "job_id": "J3", "task_id": 3, "machine_id": "A", "duration": 52 }, { "job_id": "J3", "task_id": 4, "machine_id": "E", "duration": 35 }, { "job_id": "J4", "task_id": 0, "machine_id": "E", "duration": 31 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 53 }, { "job_id": "J4", "task_id": 2, "machine_id": "C", "duration": 34 }, { "job_id": "J4", "task_id": 3, "machine_id": "A", "duration": 87 }, { "job_id": "J4", "task_id": 4, "machine_id": "B", "duration": 94 }, { "job_id": "J5", "task_id": 0, "machine_id": "D", "duration": 37 }, { "job_id": "J5", "task_id": 1, "machine_id": "C", "duration": 22 }, { "job_id": "J5", "task_id": 2, "machine_id": "E", "duration": 91 }, { "job_id": "J5", "task_id": 3, "machine_id": "B", "duration": 93 }, { "job_id": "J5", "task_id": 4, "machine_id": "A", "duration": 23 }, { "job_id": "J6", "task_id": 0, "machine_id": "E", "duration": 19 }, { "job_id": "J6", "task_id": 1, "machine_id": "A", "duration": 5 }, { "job_id": "J6", "task_id": 2, "machine_id": "C", "duration": 77 }, { "job_id": "J6", "task_id": 3, "machine_id": "D", "duration": 31 }, { "job_id": "J6", "task_id": 4, "machine_id": "B", "duration": 85 }, { "job_id": "J7", "task_id": 0, "machine_id": "A", "duration": 6 }, { "job_id": "J7", "task_id": 1, "machine_id": "D", "duration": 54 }, { "job_id": "J7", "task_id": 2, "machine_id": "C", "duration": 55 }, { "job_id": "J7", "task_id": 3, "machine_id": "B", "duration": 9 }, { "job_id": "J7", "task_id": 4, "machine_id": "E", "duration": 39 }, { "job_id": "J8", "task_id": 0, "machine_id": "C", "duration": 44 }, { "job_id": "J8", "task_id": 1, "machine_id": "E", "duration": 83 }, { "job_id": "J8", "task_id": 2, "machine_id": "A", "duration": 28 }, { "job_id": "J8", "task_id": 3, "machine_id": "D", "duration": 60 }, { "job_id": "J8", "task_id": 4, "machine_id": "B", "duration": 8 }, { "job_id": "J9", "task_id": 0, "machine_id": "D", "duration": 87 }, { "job_id": "J9", "task_id": 1, "machine_id": "B", "duration": 23 }, { "job_id": "J9", "task_id": 2, "machine_id": "E", "duration": 79 }, { "job_id": "J9", "task_id": 3, "machine_id": "C", "duration": 15 }, { "job_id": "J9", "task_id": 4, "machine_id": "A", "duration": 67 }, { "job_id": "J10", "task_id": 0, "machine_id": "D", "duration": 20 }, { "job_id": "J10", "task_id": 1, "machine_id": "A", "duration": 79 }, { "job_id": "J10", "task_id": 2, "machine_id": "C", "duration": 92 }, { "job_id": "J10", "task_id": 3, "machine_id": "E", "duration": 99 }, { "job_id": "J10", "task_id": 4, "machine_id": "B", "duration": 21 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 44, "machine": "C", "duration": 1 }, { "task": 1, "start": 87, "machine": "B", "duration": 78 }, { "task": 2, "start": 260, "machine": "D", "duration": 25 }, { "task": 3, "start": 323, "machine": "E", "duration": 18 }, { "task": 4, "start": 381, "machine": "A", "duration": 44 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 57, "machine": "D", "duration": 63 }, { "task": 1, "start": 120, "machine": "C", "duration": 7 }, { "task": 2, "start": 165, "machine": "B", "duration": 87 }, { "task": 3, "start": 420, "machine": "E", "duration": 89 }, { "task": 4, "start": 567, "machine": "A", "duration": 13 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 87 }, { "task": 1, "start": 285, "machine": "D", "duration": 85 }, { "task": 2, "start": 371, "machine": "C", "duration": 56 }, { "task": 3, "start": 448, "machine": "A", "duration": 52 }, { "task": 4, "start": 548, "machine": "E", "duration": 35 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 31 }, { "task": 1, "start": 207, "machine": "D", "duration": 53 }, { "task": 2, "start": 260, "machine": "C", "duration": 34 }, { "task": 3, "start": 294, "machine": "A", "duration": 87 }, { "task": 4, "start": 389, "machine": "B", "duration": 94 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 20, "machine": "D", "duration": 37 }, { "task": 1, "start": 57, "machine": "C", "duration": 22 }, { "task": 2, "start": 133, "machine": "E", "duration": 91 }, { "task": 3, "start": 275, "machine": "B", "duration": 93 }, { "task": 4, "start": 425, "machine": "A", "duration": 23 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 31, "machine": "E", "duration": 19 }, { "task": 1, "start": 99, "machine": "A", "duration": 5 }, { "task": 2, "start": 294, "machine": "C", "duration": 77 }, { "task": 3, "start": 424, "machine": "D", "duration": 31 }, { "task": 4, "start": 492, "machine": "B", "duration": 85 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 6 }, { "task": 1, "start": 370, "machine": "D", "duration": 54 }, { "task": 2, "start": 427, "machine": "C", "duration": 55 }, { "task": 3, "start": 483, "machine": "B", "duration": 9 }, { "task": 4, "start": 509, "machine": "E", "duration": 39 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 44 }, { "task": 1, "start": 50, "machine": "E", "duration": 83 }, { "task": 2, "start": 133, "machine": "A", "duration": 28 }, { "task": 3, "start": 455, "machine": "D", "duration": 60 }, { "task": 4, "start": 577, "machine": "B", "duration": 8 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 120, "machine": "D", "duration": 87 }, { "task": 1, "start": 252, "machine": "B", "duration": 23 }, { "task": 2, "start": 341, "machine": "E", "duration": 79 }, { "task": 3, "start": 482, "machine": "C", "duration": 15 }, { "task": 4, "start": 500, "machine": "A", "duration": 67 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 20 }, { "task": 1, "start": 20, "machine": "A", "duration": 79 }, { "task": 2, "start": 127, "machine": "C", "duration": 92 }, { "task": 3, "start": 224, "machine": "E", "duration": 99 }, { "task": 4, "start": 368, "machine": "B", "duration": 21 } ] } ], "context_index": 3, "input_format": "markdown_table", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I’m coordinating the bays today: each car has a set route through the shop — a defined order of tasks, each bound to a particular bay or tool for a set duration. The job is to pick start times so that no bay or tool is handling overlapping work, each vehicle’s steps happen in sequence, and every required operation is scheduled once. The aim is to have the last car leave as quickly as possible; the time when that last car finishes is the single number used to judge plans, and smaller is better. The concrete details are listed below.\n\n# nr_vehicles=9\n# nr_bays=5\n# vehicles=J1, J2, J3, J4, J5, J6, J7, J8, J9\n# bays=A, B, C, D, E\nvehicle_id,step_index,bay_id,step_duration\nJ1,0,D,1\nJ1,1,C,92\nJ1,2,E,1\nJ1,3,B,64\nJ1,4,A,97\nJ2,0,C,85\nJ2,1,A,12\nJ2,2,E,55\nJ2,3,B,57\nJ2,4,D,7\nJ3,0,E,26\nJ3,1,B,37\nJ3,2,A,39\nJ3,3,D,56\nJ3,4,C,41\nJ4,0,C,83\nJ4,1,D,20\nJ4,2,E,35\nJ4,3,B,26\nJ4,4,A,1\nJ5,0,C,78\nJ5,1,A,90\nJ5,2,E,50\nJ5,3,B,87\nJ5,4,D,8\nJ6,0,B,71\nJ6,1,E,14\nJ6,2,A,43\nJ6,3,C,72\nJ6,4,D,55\nJ7,0,A,96\nJ7,1,B,30\nJ7,2,C,81\nJ7,3,E,14\nJ7,4,D,13\nJ8,0,E,77\nJ8,1,C,47\nJ8,2,A,4\nJ8,3,B,60\nJ8,4,D,44\nJ9,0,E,12\nJ9,1,A,22\nJ9,2,C,52\nJ9,3,D,90\nJ9,4,B,32\n\nIf you want to give me the plan in a tidy, machine-friendly way, just follow this relaxed JSON layout — something like this will do:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a little form to fill in: \"solution\" holds all the cars, each entry names the job, and inside \"tasks\" you list each step with which numbered task it is, when it starts, which bay/tool (machine) it uses, and how long it runs. Think of it like filling out a work order for each car — nothing fancy, just the basic fields. It’s only a sketch of the expected shape, not the actual schedule.\n\nPlease use the exact identifiers from the instance input — don’t rename jobs or machines or invent new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 3, 1 ], [ 2, 92 ], [ 4, 1 ], [ 1, 64 ], [ 0, 97 ] ], [ [ 2, 85 ], [ 0, 12 ], [ 4, 55 ], [ 1, 57 ], [ 3, 7 ] ], [ [ 4, 26 ], [ 1, 37 ], [ 0, 39 ], [ 3, 56 ], [ 2, 41 ] ], [ [ 2, 83 ], [ 3, 20 ], [ 4, 35 ], [ 1, 26 ], [ 0, 1 ] ], [ [ 2, 78 ], [ 0, 90 ], [ 4, 50 ], [ 1, 87 ], [ 3, 8 ] ], [ [ 1, 71 ], [ 4, 14 ], [ 0, 43 ], [ 2, 72 ], [ 3, 55 ] ], [ [ 0, 96 ], [ 1, 30 ], [ 2, 81 ], [ 4, 14 ], [ 3, 13 ] ], [ [ 4, 77 ], [ 2, 47 ], [ 0, 4 ], [ 1, 60 ], [ 3, 44 ] ], [ [ 4, 12 ], [ 0, 22 ], [ 2, 52 ], [ 3, 90 ], [ 1, 32 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 78, "machine": 2, "duration": 92 }, { "task": 2, "start": 170, "machine": 4, "duration": 1 }, { "task": 3, "start": 171, "machine": 1, "duration": 64 }, { "task": 4, "start": 302, "machine": 0, "duration": 97 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 170, "machine": 2, "duration": 85 }, { "task": 1, "start": 290, "machine": 0, "duration": 12 }, { "task": 2, "start": 302, "machine": 4, "duration": 55 }, { "task": 3, "start": 357, "machine": 1, "duration": 57 }, { "task": 4, "start": 464, "machine": 3, "duration": 7 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 89, "machine": 4, "duration": 26 }, { "task": 1, "start": 126, "machine": 1, "duration": 37 }, { "task": 2, "start": 251, "machine": 0, "duration": 39 }, { "task": 3, "start": 290, "machine": 3, "duration": 56 }, { "task": 4, "start": 590, "machine": 2, "duration": 41 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 307, "machine": 2, "duration": 83 }, { "task": 1, "start": 436, "machine": 3, "duration": 20 }, { "task": 2, "start": 456, "machine": 4, "duration": 35 }, { "task": 3, "start": 528, "machine": 1, "duration": 26 }, { "task": 4, "start": 554, "machine": 0, "duration": 1 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 78 }, { "task": 1, "start": 96, "machine": 0, "duration": 90 }, { "task": 2, "start": 186, "machine": 4, "duration": 50 }, { "task": 3, "start": 236, "machine": 1, "duration": 87 }, { "task": 4, "start": 456, "machine": 3, "duration": 8 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 71 }, { "task": 1, "start": 115, "machine": 4, "duration": 14 }, { "task": 2, "start": 208, "machine": 0, "duration": 43 }, { "task": 3, "start": 437, "machine": 2, "duration": 72 }, { "task": 4, "start": 509, "machine": 3, "duration": 55 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 96 }, { "task": 1, "start": 96, "machine": 1, "duration": 30 }, { "task": 2, "start": 509, "machine": 2, "duration": 81 }, { "task": 3, "start": 590, "machine": 4, "duration": 14 }, { "task": 4, "start": 608, "machine": 3, "duration": 13 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 77 }, { "task": 1, "start": 390, "machine": 2, "duration": 47 }, { "task": 2, "start": 437, "machine": 0, "duration": 4 }, { "task": 3, "start": 468, "machine": 1, "duration": 60 }, { "task": 4, "start": 564, "machine": 3, "duration": 44 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 77, "machine": 4, "duration": 12 }, { "task": 1, "start": 186, "machine": 0, "duration": 22 }, { "task": 2, "start": 255, "machine": 2, "duration": 52 }, { "task": 3, "start": 346, "machine": 3, "duration": 90 }, { "task": 4, "start": 436, "machine": 1, "duration": 32 } ] } ], "obj": 631.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "D", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "C", "duration": 92 }, { "job_id": "J1", "task_id": 2, "machine_id": "E", "duration": 1 }, { "job_id": "J1", "task_id": 3, "machine_id": "B", "duration": 64 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 97 }, { "job_id": "J2", "task_id": 0, "machine_id": "C", "duration": 85 }, { "job_id": "J2", "task_id": 1, "machine_id": "A", "duration": 12 }, { "job_id": "J2", "task_id": 2, "machine_id": "E", "duration": 55 }, { "job_id": "J2", "task_id": 3, "machine_id": "B", "duration": 57 }, { "job_id": "J2", "task_id": 4, "machine_id": "D", "duration": 7 }, { "job_id": "J3", "task_id": 0, "machine_id": "E", "duration": 26 }, { "job_id": "J3", "task_id": 1, "machine_id": "B", "duration": 37 }, { "job_id": "J3", "task_id": 2, "machine_id": "A", "duration": 39 }, { "job_id": "J3", "task_id": 3, "machine_id": "D", "duration": 56 }, { "job_id": "J3", "task_id": 4, "machine_id": "C", "duration": 41 }, { "job_id": "J4", "task_id": 0, "machine_id": "C", "duration": 83 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 20 }, { "job_id": "J4", "task_id": 2, "machine_id": "E", "duration": 35 }, { "job_id": "J4", "task_id": 3, "machine_id": "B", "duration": 26 }, { "job_id": "J4", "task_id": 4, "machine_id": "A", "duration": 1 }, { "job_id": "J5", "task_id": 0, "machine_id": "C", "duration": 78 }, { "job_id": "J5", "task_id": 1, "machine_id": "A", "duration": 90 }, { "job_id": "J5", "task_id": 2, "machine_id": "E", "duration": 50 }, { "job_id": "J5", "task_id": 3, "machine_id": "B", "duration": 87 }, { "job_id": "J5", "task_id": 4, "machine_id": "D", "duration": 8 }, { "job_id": "J6", "task_id": 0, "machine_id": "B", "duration": 71 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 14 }, { "job_id": "J6", "task_id": 2, "machine_id": "A", "duration": 43 }, { "job_id": "J6", "task_id": 3, "machine_id": "C", "duration": 72 }, { "job_id": "J6", "task_id": 4, "machine_id": "D", "duration": 55 }, { "job_id": "J7", "task_id": 0, "machine_id": "A", "duration": 96 }, { "job_id": "J7", "task_id": 1, "machine_id": "B", "duration": 30 }, { "job_id": "J7", "task_id": 2, "machine_id": "C", "duration": 81 }, { "job_id": "J7", "task_id": 3, "machine_id": "E", "duration": 14 }, { "job_id": "J7", "task_id": 4, "machine_id": "D", "duration": 13 }, { "job_id": "J8", "task_id": 0, "machine_id": "E", "duration": 77 }, { "job_id": "J8", "task_id": 1, "machine_id": "C", "duration": 47 }, { "job_id": "J8", "task_id": 2, "machine_id": "A", "duration": 4 }, { "job_id": "J8", "task_id": 3, "machine_id": "B", "duration": 60 }, { "job_id": "J8", "task_id": 4, "machine_id": "D", "duration": 44 }, { "job_id": "J9", "task_id": 0, "machine_id": "E", "duration": 12 }, { "job_id": "J9", "task_id": 1, "machine_id": "A", "duration": 22 }, { "job_id": "J9", "task_id": 2, "machine_id": "C", "duration": 52 }, { "job_id": "J9", "task_id": 3, "machine_id": "D", "duration": 90 }, { "job_id": "J9", "task_id": 4, "machine_id": "B", "duration": 32 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 1 }, { "task": 1, "start": 78, "machine": "C", "duration": 92 }, { "task": 2, "start": 170, "machine": "E", "duration": 1 }, { "task": 3, "start": 171, "machine": "B", "duration": 64 }, { "task": 4, "start": 302, "machine": "A", "duration": 97 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 170, "machine": "C", "duration": 85 }, { "task": 1, "start": 290, "machine": "A", "duration": 12 }, { "task": 2, "start": 302, "machine": "E", "duration": 55 }, { "task": 3, "start": 357, "machine": "B", "duration": 57 }, { "task": 4, "start": 464, "machine": "D", "duration": 7 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 89, "machine": "E", "duration": 26 }, { "task": 1, "start": 126, "machine": "B", "duration": 37 }, { "task": 2, "start": 251, "machine": "A", "duration": 39 }, { "task": 3, "start": 290, "machine": "D", "duration": 56 }, { "task": 4, "start": 590, "machine": "C", "duration": 41 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 307, "machine": "C", "duration": 83 }, { "task": 1, "start": 436, "machine": "D", "duration": 20 }, { "task": 2, "start": 456, "machine": "E", "duration": 35 }, { "task": 3, "start": 528, "machine": "B", "duration": 26 }, { "task": 4, "start": 554, "machine": "A", "duration": 1 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 78 }, { "task": 1, "start": 96, "machine": "A", "duration": 90 }, { "task": 2, "start": 186, "machine": "E", "duration": 50 }, { "task": 3, "start": 236, "machine": "B", "duration": 87 }, { "task": 4, "start": 456, "machine": "D", "duration": 8 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 71 }, { "task": 1, "start": 115, "machine": "E", "duration": 14 }, { "task": 2, "start": 208, "machine": "A", "duration": 43 }, { "task": 3, "start": 437, "machine": "C", "duration": 72 }, { "task": 4, "start": 509, "machine": "D", "duration": 55 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 96 }, { "task": 1, "start": 96, "machine": "B", "duration": 30 }, { "task": 2, "start": 509, "machine": "C", "duration": 81 }, { "task": 3, "start": 590, "machine": "E", "duration": 14 }, { "task": 4, "start": 608, "machine": "D", "duration": 13 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 77 }, { "task": 1, "start": 390, "machine": "C", "duration": 47 }, { "task": 2, "start": 437, "machine": "A", "duration": 4 }, { "task": 3, "start": 468, "machine": "B", "duration": 60 }, { "task": 4, "start": 564, "machine": "D", "duration": 44 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 77, "machine": "E", "duration": 12 }, { "task": 1, "start": 186, "machine": "A", "duration": 22 }, { "task": 2, "start": 255, "machine": "C", "duration": 52 }, { "task": 3, "start": 346, "machine": "D", "duration": 90 }, { "task": 4, "start": 436, "machine": "B", "duration": 32 } ] } ], "context_index": 4, "input_format": "csv", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "We treat the OR board like a slow-motion relay: every patient must run through a fixed chain of phases, each phase needs a particular room or machine for a set duration, and that room can’t be doing anything else at the same time. The task is to slot each phase into its assigned space, in order, without overlaps or repeats, so every phase happens exactly once in the right sequence. The thing that makes one schedule better than another is simple — how early does the final patient leave? The time when the last procedure ends is the number to minimize. The concrete list of cases and times follows below.\n\nWe have 12 patients and 5 rooms/equipment; patient ids: J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12; room/equipment ids: 1, 2, 3, 4, 5.\n\n| patient_id | phase_index | room_equipment_id | phase_duration_minutes |\n|---|---|---|---|\n| J1 | 0 | 5 | 1 |\n| J1 | 1 | 4 | 6 |\n| J1 | 2 | 3 | 76 |\n| J1 | 3 | 2 | 10 |\n| J1 | 4 | 1 | 51 |\n| J2 | 0 | 5 | 8 |\n| J2 | 1 | 4 | 17 |\n| J2 | 2 | 2 | 23 |\n| J2 | 3 | 3 | 25 |\n| J2 | 4 | 1 | 99 |\n| J3 | 0 | 3 | 64 |\n| J3 | 1 | 1 | 89 |\n| J3 | 2 | 5 | 23 |\n| J3 | 3 | 4 | 59 |\n| J3 | 4 | 2 | 46 |\n| J4 | 0 | 4 | 37 |\n| J4 | 1 | 3 | 87 |\n| J4 | 2 | 1 | 36 |\n| J4 | 3 | 2 | 64 |\n| J4 | 4 | 5 | 8 |\n| J5 | 0 | 4 | 21 |\n| J5 | 1 | 1 | 59 |\n| J5 | 2 | 3 | 10 |\n| J5 | 3 | 5 | 80 |\n| J5 | 4 | 2 | 92 |\n| J6 | 0 | 4 | 24 |\n| J6 | 1 | 5 | 23 |\n| J6 | 2 | 3 | 8 |\n| J6 | 3 | 2 | 14 |\n| J6 | 4 | 1 | 26 |\n| J7 | 0 | 2 | 87 |\n| J7 | 1 | 1 | 7 |\n| J7 | 2 | 4 | 8 |\n| J7 | 3 | 5 | 19 |\n| J7 | 4 | 3 | 86 |\n| J8 | 0 | 2 | 10 |\n| J8 | 1 | 3 | 11 |\n| J8 | 2 | 4 | 79 |\n| J8 | 3 | 5 | 59 |\n| J8 | 4 | 1 | 80 |\n| J9 | 0 | 2 | 37 |\n| J9 | 1 | 1 | 20 |\n| J9 | 2 | 3 | 24 |\n| J9 | 3 | 5 | 65 |\n| J9 | 4 | 4 | 97 |\n| J10 | 0 | 2 | 35 |\n| J10 | 1 | 1 | 6 |\n| J10 | 2 | 5 | 69 |\n| J10 | 3 | 4 | 54 |\n| J10 | 4 | 3 | 8 |\n| J11 | 0 | 2 | 26 |\n| J11 | 1 | 1 | 97 |\n| J11 | 2 | 5 | 93 |\n| J11 | 3 | 3 | 64 |\n| J11 | 4 | 4 | 53 |\n| J12 | 0 | 4 | 66 |\n| J12 | 1 | 3 | 38 |\n| J12 | 2 | 2 | 29 |\n| J12 | 3 | 5 | 82 |\n| J12 | 4 | 1 | 78 |\n\nSlot each listed phase into its assigned room in order so every phase happens exactly once and we minimize when the last patient leaves.\n\nYou can hand the schedule back to me in a simple JSON shape — nothing fancy, just that structure so I can read it straight away. Here’s the exact layout I expect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: \"solution\" is the whole set of plans; each entry under it is one job (use the job's exact identifier), and inside each job you list its tasks in order. For each task you give the task index (which step it is in that job), the start time, the machine it runs on, and how long it runs. This is just a sketch of the shape I need, not the finished schedule.\n\nPlease make sure to use the exact identifiers from the instance — don't rename machines or jobs or invent new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 12, "jobs": [ [ [ 4, 1 ], [ 3, 6 ], [ 2, 76 ], [ 1, 10 ], [ 0, 51 ] ], [ [ 4, 8 ], [ 3, 17 ], [ 1, 23 ], [ 2, 25 ], [ 0, 99 ] ], [ [ 2, 64 ], [ 0, 89 ], [ 4, 23 ], [ 3, 59 ], [ 1, 46 ] ], [ [ 3, 37 ], [ 2, 87 ], [ 0, 36 ], [ 1, 64 ], [ 4, 8 ] ], [ [ 3, 21 ], [ 0, 59 ], [ 2, 10 ], [ 4, 80 ], [ 1, 92 ] ], [ [ 3, 24 ], [ 4, 23 ], [ 2, 8 ], [ 1, 14 ], [ 0, 26 ] ], [ [ 1, 87 ], [ 0, 7 ], [ 3, 8 ], [ 4, 19 ], [ 2, 86 ] ], [ [ 1, 10 ], [ 2, 11 ], [ 3, 79 ], [ 4, 59 ], [ 0, 80 ] ], [ [ 1, 37 ], [ 0, 20 ], [ 2, 24 ], [ 4, 65 ], [ 3, 97 ] ], [ [ 1, 35 ], [ 0, 6 ], [ 4, 69 ], [ 3, 54 ], [ 2, 8 ] ], [ [ 1, 26 ], [ 0, 97 ], [ 4, 93 ], [ 2, 64 ], [ 3, 53 ] ], [ [ 3, 66 ], [ 2, 38 ], [ 1, 29 ], [ 4, 82 ], [ 0, 78 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 128, "machine": 3, "duration": 6 }, { "task": 2, "start": 149, "machine": 2, "duration": 76 }, { "task": 3, "start": 339, "machine": 1, "duration": 10 }, { "task": 4, "start": 476, "machine": 0, "duration": 51 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 1, "machine": 4, "duration": 8 }, { "task": 1, "start": 111, "machine": 3, "duration": 17 }, { "task": 2, "start": 224, "machine": 1, "duration": 23 }, { "task": 3, "start": 249, "machine": 2, "duration": 25 }, { "task": 4, "start": 377, "machine": 0, "duration": 99 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 64 }, { "task": 1, "start": 80, "machine": 0, "duration": 89 }, { "task": 2, "start": 173, "machine": 4, "duration": 23 }, { "task": 3, "start": 250, "machine": 3, "duration": 59 }, { "task": 4, "start": 363, "machine": 1, "duration": 46 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 134, "machine": 3, "duration": 37 }, { "task": 1, "start": 274, "machine": 2, "duration": 87 }, { "task": 2, "start": 527, "machine": 0, "duration": 36 }, { "task": 3, "start": 563, "machine": 1, "duration": 64 }, { "task": 4, "start": 637, "machine": 4, "duration": 8 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 21 }, { "task": 1, "start": 21, "machine": 0, "duration": 59 }, { "task": 2, "start": 83, "machine": 2, "duration": 10 }, { "task": 3, "start": 93, "machine": 4, "duration": 80 }, { "task": 4, "start": 247, "machine": 1, "duration": 92 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 21, "machine": 3, "duration": 24 }, { "task": 1, "start": 45, "machine": 4, "duration": 23 }, { "task": 2, "start": 75, "machine": 2, "duration": 8 }, { "task": 3, "start": 349, "machine": 1, "duration": 14 }, { "task": 4, "start": 563, "machine": 0, "duration": 26 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 47, "machine": 1, "duration": 87 }, { "task": 1, "start": 292, "machine": 0, "duration": 7 }, { "task": 2, "start": 309, "machine": 3, "duration": 8 }, { "task": 3, "start": 343, "machine": 4, "duration": 19 }, { "task": 4, "start": 362, "machine": 2, "duration": 86 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 37, "machine": 1, "duration": 10 }, { "task": 1, "start": 64, "machine": 2, "duration": 11 }, { "task": 2, "start": 171, "machine": 3, "duration": 79 }, { "task": 3, "start": 524, "machine": 4, "duration": 59 }, { "task": 4, "start": 589, "machine": 0, "duration": 80 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 37 }, { "task": 1, "start": 169, "machine": 0, "duration": 20 }, { "task": 2, "start": 225, "machine": 2, "duration": 24 }, { "task": 3, "start": 278, "machine": 4, "duration": 65 }, { "task": 4, "start": 343, "machine": 3, "duration": 97 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 189, "machine": 1, "duration": 35 }, { "task": 1, "start": 286, "machine": 0, "duration": 6 }, { "task": 2, "start": 455, "machine": 4, "duration": 69 }, { "task": 3, "start": 576, "machine": 3, "duration": 54 }, { "task": 4, "start": 630, "machine": 2, "duration": 8 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 134, "machine": 1, "duration": 26 }, { "task": 1, "start": 189, "machine": 0, "duration": 97 }, { "task": 2, "start": 362, "machine": 4, "duration": 93 }, { "task": 3, "start": 459, "machine": 2, "duration": 64 }, { "task": 4, "start": 523, "machine": 3, "duration": 53 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 45, "machine": 3, "duration": 66 }, { "task": 1, "start": 111, "machine": 2, "duration": 38 }, { "task": 2, "start": 160, "machine": 1, "duration": 29 }, { "task": 3, "start": 196, "machine": 4, "duration": 82 }, { "task": 4, "start": 299, "machine": 0, "duration": 78 } ] } ], "obj": 669.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 5, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 6 }, { "job_id": "J1", "task_id": 2, "machine_id": 3, "duration": 76 }, { "job_id": "J1", "task_id": 3, "machine_id": 2, "duration": 10 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 51 }, { "job_id": "J2", "task_id": 0, "machine_id": 5, "duration": 8 }, { "job_id": "J2", "task_id": 1, "machine_id": 4, "duration": 17 }, { "job_id": "J2", "task_id": 2, "machine_id": 2, "duration": 23 }, { "job_id": "J2", "task_id": 3, "machine_id": 3, "duration": 25 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 99 }, { "job_id": "J3", "task_id": 0, "machine_id": 3, "duration": 64 }, { "job_id": "J3", "task_id": 1, "machine_id": 1, "duration": 89 }, { "job_id": "J3", "task_id": 2, "machine_id": 5, "duration": 23 }, { "job_id": "J3", "task_id": 3, "machine_id": 4, "duration": 59 }, { "job_id": "J3", "task_id": 4, "machine_id": 2, "duration": 46 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 37 }, { "job_id": "J4", "task_id": 1, "machine_id": 3, "duration": 87 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 36 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 64 }, { "job_id": "J4", "task_id": 4, "machine_id": 5, "duration": 8 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 21 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 59 }, { "job_id": "J5", "task_id": 2, "machine_id": 3, "duration": 10 }, { "job_id": "J5", "task_id": 3, "machine_id": 5, "duration": 80 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 92 }, { "job_id": "J6", "task_id": 0, "machine_id": 4, "duration": 24 }, { "job_id": "J6", "task_id": 1, "machine_id": 5, "duration": 23 }, { "job_id": "J6", "task_id": 2, "machine_id": 3, "duration": 8 }, { "job_id": "J6", "task_id": 3, "machine_id": 2, "duration": 14 }, { "job_id": "J6", "task_id": 4, "machine_id": 1, "duration": 26 }, { "job_id": "J7", "task_id": 0, "machine_id": 2, "duration": 87 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 7 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 8 }, { "job_id": "J7", "task_id": 3, "machine_id": 5, "duration": 19 }, { "job_id": "J7", "task_id": 4, "machine_id": 3, "duration": 86 }, { "job_id": "J8", "task_id": 0, "machine_id": 2, "duration": 10 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 11 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 79 }, { "job_id": "J8", "task_id": 3, "machine_id": 5, "duration": 59 }, { "job_id": "J8", "task_id": 4, "machine_id": 1, "duration": 80 }, { "job_id": "J9", "task_id": 0, "machine_id": 2, "duration": 37 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 20 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 24 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 65 }, { "job_id": "J9", "task_id": 4, "machine_id": 4, "duration": 97 }, { "job_id": "J10", "task_id": 0, "machine_id": 2, "duration": 35 }, { "job_id": "J10", "task_id": 1, "machine_id": 1, "duration": 6 }, { "job_id": "J10", "task_id": 2, "machine_id": 5, "duration": 69 }, { "job_id": "J10", "task_id": 3, "machine_id": 4, "duration": 54 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 8 }, { "job_id": "J11", "task_id": 0, "machine_id": 2, "duration": 26 }, { "job_id": "J11", "task_id": 1, "machine_id": 1, "duration": 97 }, { "job_id": "J11", "task_id": 2, "machine_id": 5, "duration": 93 }, { "job_id": "J11", "task_id": 3, "machine_id": 3, "duration": 64 }, { "job_id": "J11", "task_id": 4, "machine_id": 4, "duration": 53 }, { "job_id": "J12", "task_id": 0, "machine_id": 4, "duration": 66 }, { "job_id": "J12", "task_id": 1, "machine_id": 3, "duration": 38 }, { "job_id": "J12", "task_id": 2, "machine_id": 2, "duration": 29 }, { "job_id": "J12", "task_id": 3, "machine_id": 5, "duration": 82 }, { "job_id": "J12", "task_id": 4, "machine_id": 1, "duration": 78 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 1 }, { "task": 1, "start": 128, "machine": 4, "duration": 6 }, { "task": 2, "start": 149, "machine": 3, "duration": 76 }, { "task": 3, "start": 339, "machine": 2, "duration": 10 }, { "task": 4, "start": 476, "machine": 1, "duration": 51 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 1, "machine": 5, "duration": 8 }, { "task": 1, "start": 111, "machine": 4, "duration": 17 }, { "task": 2, "start": 224, "machine": 2, "duration": 23 }, { "task": 3, "start": 249, "machine": 3, "duration": 25 }, { "task": 4, "start": 377, "machine": 1, "duration": 99 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 64 }, { "task": 1, "start": 80, "machine": 1, "duration": 89 }, { "task": 2, "start": 173, "machine": 5, "duration": 23 }, { "task": 3, "start": 250, "machine": 4, "duration": 59 }, { "task": 4, "start": 363, "machine": 2, "duration": 46 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 134, "machine": 4, "duration": 37 }, { "task": 1, "start": 274, "machine": 3, "duration": 87 }, { "task": 2, "start": 527, "machine": 1, "duration": 36 }, { "task": 3, "start": 563, "machine": 2, "duration": 64 }, { "task": 4, "start": 637, "machine": 5, "duration": 8 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 21 }, { "task": 1, "start": 21, "machine": 1, "duration": 59 }, { "task": 2, "start": 83, "machine": 3, "duration": 10 }, { "task": 3, "start": 93, "machine": 5, "duration": 80 }, { "task": 4, "start": 247, "machine": 2, "duration": 92 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 21, "machine": 4, "duration": 24 }, { "task": 1, "start": 45, "machine": 5, "duration": 23 }, { "task": 2, "start": 75, "machine": 3, "duration": 8 }, { "task": 3, "start": 349, "machine": 2, "duration": 14 }, { "task": 4, "start": 563, "machine": 1, "duration": 26 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 47, "machine": 2, "duration": 87 }, { "task": 1, "start": 292, "machine": 1, "duration": 7 }, { "task": 2, "start": 309, "machine": 4, "duration": 8 }, { "task": 3, "start": 343, "machine": 5, "duration": 19 }, { "task": 4, "start": 362, "machine": 3, "duration": 86 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 37, "machine": 2, "duration": 10 }, { "task": 1, "start": 64, "machine": 3, "duration": 11 }, { "task": 2, "start": 171, "machine": 4, "duration": 79 }, { "task": 3, "start": 524, "machine": 5, "duration": 59 }, { "task": 4, "start": 589, "machine": 1, "duration": 80 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 37 }, { "task": 1, "start": 169, "machine": 1, "duration": 20 }, { "task": 2, "start": 225, "machine": 3, "duration": 24 }, { "task": 3, "start": 278, "machine": 5, "duration": 65 }, { "task": 4, "start": 343, "machine": 4, "duration": 97 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 189, "machine": 2, "duration": 35 }, { "task": 1, "start": 286, "machine": 1, "duration": 6 }, { "task": 2, "start": 455, "machine": 5, "duration": 69 }, { "task": 3, "start": 576, "machine": 4, "duration": 54 }, { "task": 4, "start": 630, "machine": 3, "duration": 8 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 134, "machine": 2, "duration": 26 }, { "task": 1, "start": 189, "machine": 1, "duration": 97 }, { "task": 2, "start": 362, "machine": 5, "duration": 93 }, { "task": 3, "start": 459, "machine": 3, "duration": 64 }, { "task": 4, "start": 523, "machine": 4, "duration": 53 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 45, "machine": 4, "duration": 66 }, { "task": 1, "start": 111, "machine": 3, "duration": 38 }, { "task": 2, "start": 160, "machine": 2, "duration": 29 }, { "task": 3, "start": 196, "machine": 5, "duration": 82 }, { "task": 4, "start": 299, "machine": 1, "duration": 78 } ] } ], "context_index": 5, "input_format": "markdown_table", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Many people think booking is just filling empty slots, but a salon schedule is really about sequencing fixed step-by-step treatments at specific stations for set durations. The plan needs to keep each client’s steps in order, make sure each step uses its assigned chair for its required minutes, and never put two treatments on the same chair at once. The better the plan, the sooner the final customer is finished — that final finish time is how the whole day is judged. The concrete details are shown below.\n\nThere are 9 clients and 5 stations; client IDs: J1, J2, J3, J4, J5, J6, J7, J8, J9; station IDs: 0, 1, 2, 3, 4.\n\n| client_id | step_index | station_id | duration_minutes |\n|---|---|---|---|\n| J1 | 0 | 3 | 1 |\n| J1 | 1 | 4 | 19 |\n| J1 | 2 | 1 | 51 |\n| J1 | 3 | 2 | 56 |\n| J1 | 4 | 0 | 4 |\n| J2 | 0 | 0 | 29 |\n| J2 | 1 | 2 | 21 |\n| J2 | 2 | 1 | 90 |\n| J2 | 3 | 4 | 92 |\n| J2 | 4 | 3 | 93 |\n| J3 | 0 | 2 | 3 |\n| J3 | 1 | 1 | 41 |\n| J3 | 2 | 0 | 6 |\n| J3 | 3 | 3 | 62 |\n| J3 | 4 | 4 | 51 |\n| J4 | 0 | 2 | 89 |\n| J4 | 1 | 4 | 54 |\n| J4 | 2 | 0 | 36 |\n| J4 | 3 | 1 | 3 |\n| J4 | 4 | 3 | 15 |\n| J5 | 0 | 2 | 62 |\n| J5 | 1 | 3 | 28 |\n| J5 | 2 | 4 | 68 |\n| J5 | 3 | 1 | 73 |\n| J5 | 4 | 0 | 77 |\n| J6 | 0 | 4 | 76 |\n| J6 | 1 | 3 | 32 |\n| J6 | 2 | 1 | 73 |\n| J6 | 3 | 0 | 55 |\n| J6 | 4 | 2 | 95 |\n| J7 | 0 | 3 | 78 |\n| J7 | 1 | 1 | 82 |\n| J7 | 2 | 4 | 34 |\n| J7 | 3 | 0 | 23 |\n| J7 | 4 | 2 | 59 |\n| J8 | 0 | 0 | 43 |\n| J8 | 1 | 1 | 73 |\n| J8 | 2 | 4 | 55 |\n| J8 | 3 | 3 | 58 |\n| J8 | 4 | 2 | 17 |\n| J9 | 0 | 0 | 61 |\n| J9 | 1 | 2 | 18 |\n| J9 | 2 | 1 | 96 |\n| J9 | 3 | 3 | 41 |\n| J9 | 4 | 4 | 62 |\n\nKeep every client's steps in order and prevent any station overlap; the day's quality is judged by when the last customer finishes.\n\nIf you’d like the result in a tidy, machine-friendly shape, I usually sketch it out like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that as a simple form: \"solution\" holds every client’s plan; each entry has the job id and a list of tasks. Each task says which step it is, when it starts, which chair/station (machine) it needs, and how long it runs. It’s just the shape I expect the final schedule to follow — not the actual schedule itself.\n\nPlease use the exact identifiers from the instance input — don’t rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 3, 1 ], [ 4, 19 ], [ 1, 51 ], [ 2, 56 ], [ 0, 4 ] ], [ [ 0, 29 ], [ 2, 21 ], [ 1, 90 ], [ 4, 92 ], [ 3, 93 ] ], [ [ 2, 3 ], [ 1, 41 ], [ 0, 6 ], [ 3, 62 ], [ 4, 51 ] ], [ [ 2, 89 ], [ 4, 54 ], [ 0, 36 ], [ 1, 3 ], [ 3, 15 ] ], [ [ 2, 62 ], [ 3, 28 ], [ 4, 68 ], [ 1, 73 ], [ 0, 77 ] ], [ [ 4, 76 ], [ 3, 32 ], [ 1, 73 ], [ 0, 55 ], [ 2, 95 ] ], [ [ 3, 78 ], [ 1, 82 ], [ 4, 34 ], [ 0, 23 ], [ 2, 59 ] ], [ [ 0, 43 ], [ 1, 73 ], [ 4, 55 ], [ 3, 58 ], [ 2, 17 ] ], [ [ 0, 61 ], [ 2, 18 ], [ 1, 96 ], [ 3, 41 ], [ 4, 62 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 76, "machine": 4, "duration": 19 }, { "task": 2, "start": 531, "machine": 1, "duration": 51 }, { "task": 3, "start": 582, "machine": 2, "duration": 56 }, { "task": 4, "start": 638, "machine": 0, "duration": 4 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 50, "machine": 0, "duration": 29 }, { "task": 1, "start": 92, "machine": 2, "duration": 21 }, { "task": 2, "start": 117, "machine": 1, "duration": 90 }, { "task": 3, "start": 323, "machine": 4, "duration": 92 }, { "task": 4, "start": 415, "machine": 3, "duration": 93 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 3 }, { "task": 1, "start": 3, "machine": 1, "duration": 41 }, { "task": 2, "start": 44, "machine": 0, "duration": 6 }, { "task": 3, "start": 50, "machine": 3, "duration": 62 }, { "task": 4, "start": 112, "machine": 4, "duration": 51 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 3, "machine": 2, "duration": 89 }, { "task": 1, "start": 415, "machine": 4, "duration": 54 }, { "task": 2, "start": 512, "machine": 0, "duration": 36 }, { "task": 3, "start": 582, "machine": 1, "duration": 3 }, { "task": 4, "start": 585, "machine": 3, "duration": 15 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 113, "machine": 2, "duration": 62 }, { "task": 1, "start": 190, "machine": 3, "duration": 28 }, { "task": 2, "start": 218, "machine": 4, "duration": 68 }, { "task": 3, "start": 362, "machine": 1, "duration": 73 }, { "task": 4, "start": 435, "machine": 0, "duration": 77 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 76 }, { "task": 1, "start": 218, "machine": 3, "duration": 32 }, { "task": 2, "start": 289, "machine": 1, "duration": 73 }, { "task": 3, "start": 362, "machine": 0, "duration": 55 }, { "task": 4, "start": 417, "machine": 2, "duration": 95 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 112, "machine": 3, "duration": 78 }, { "task": 1, "start": 207, "machine": 1, "duration": 82 }, { "task": 2, "start": 289, "machine": 4, "duration": 34 }, { "task": 3, "start": 323, "machine": 0, "duration": 23 }, { "task": 4, "start": 346, "machine": 2, "duration": 59 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 43 }, { "task": 1, "start": 44, "machine": 1, "duration": 73 }, { "task": 2, "start": 163, "machine": 4, "duration": 55 }, { "task": 3, "start": 250, "machine": 3, "duration": 58 }, { "task": 4, "start": 308, "machine": 2, "duration": 17 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 79, "machine": 0, "duration": 61 }, { "task": 1, "start": 175, "machine": 2, "duration": 18 }, { "task": 2, "start": 435, "machine": 1, "duration": 96 }, { "task": 3, "start": 531, "machine": 3, "duration": 41 }, { "task": 4, "start": 572, "machine": 4, "duration": 62 } ] } ], "obj": 642.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 19 }, { "job_id": "J1", "task_id": 2, "machine_id": 1, "duration": 51 }, { "job_id": "J1", "task_id": 3, "machine_id": 2, "duration": 56 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 4 }, { "job_id": "J2", "task_id": 0, "machine_id": 0, "duration": 29 }, { "job_id": "J2", "task_id": 1, "machine_id": 2, "duration": 21 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 90 }, { "job_id": "J2", "task_id": 3, "machine_id": 4, "duration": 92 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 93 }, { "job_id": "J3", "task_id": 0, "machine_id": 2, "duration": 3 }, { "job_id": "J3", "task_id": 1, "machine_id": 1, "duration": 41 }, { "job_id": "J3", "task_id": 2, "machine_id": 0, "duration": 6 }, { "job_id": "J3", "task_id": 3, "machine_id": 3, "duration": 62 }, { "job_id": "J3", "task_id": 4, "machine_id": 4, "duration": 51 }, { "job_id": "J4", "task_id": 0, "machine_id": 2, "duration": 89 }, { "job_id": "J4", "task_id": 1, "machine_id": 4, "duration": 54 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 36 }, { "job_id": "J4", "task_id": 3, "machine_id": 1, "duration": 3 }, { "job_id": "J4", "task_id": 4, "machine_id": 3, "duration": 15 }, { "job_id": "J5", "task_id": 0, "machine_id": 2, "duration": 62 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 28 }, { "job_id": "J5", "task_id": 2, "machine_id": 4, "duration": 68 }, { "job_id": "J5", "task_id": 3, "machine_id": 1, "duration": 73 }, { "job_id": "J5", "task_id": 4, "machine_id": 0, "duration": 77 }, { "job_id": "J6", "task_id": 0, "machine_id": 4, "duration": 76 }, { "job_id": "J6", "task_id": 1, "machine_id": 3, "duration": 32 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 73 }, { "job_id": "J6", "task_id": 3, "machine_id": 0, "duration": 55 }, { "job_id": "J6", "task_id": 4, "machine_id": 2, "duration": 95 }, { "job_id": "J7", "task_id": 0, "machine_id": 3, "duration": 78 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 82 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 34 }, { "job_id": "J7", "task_id": 3, "machine_id": 0, "duration": 23 }, { "job_id": "J7", "task_id": 4, "machine_id": 2, "duration": 59 }, { "job_id": "J8", "task_id": 0, "machine_id": 0, "duration": 43 }, { "job_id": "J8", "task_id": 1, "machine_id": 1, "duration": 73 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 55 }, { "job_id": "J8", "task_id": 3, "machine_id": 3, "duration": 58 }, { "job_id": "J8", "task_id": 4, "machine_id": 2, "duration": 17 }, { "job_id": "J9", "task_id": 0, "machine_id": 0, "duration": 61 }, { "job_id": "J9", "task_id": 1, "machine_id": 2, "duration": 18 }, { "job_id": "J9", "task_id": 2, "machine_id": 1, "duration": 96 }, { "job_id": "J9", "task_id": 3, "machine_id": 3, "duration": 41 }, { "job_id": "J9", "task_id": 4, "machine_id": 4, "duration": 62 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 76, "machine": 4, "duration": 19 }, { "task": 2, "start": 531, "machine": 1, "duration": 51 }, { "task": 3, "start": 582, "machine": 2, "duration": 56 }, { "task": 4, "start": 638, "machine": 0, "duration": 4 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 50, "machine": 0, "duration": 29 }, { "task": 1, "start": 92, "machine": 2, "duration": 21 }, { "task": 2, "start": 117, "machine": 1, "duration": 90 }, { "task": 3, "start": 323, "machine": 4, "duration": 92 }, { "task": 4, "start": 415, "machine": 3, "duration": 93 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 3 }, { "task": 1, "start": 3, "machine": 1, "duration": 41 }, { "task": 2, "start": 44, "machine": 0, "duration": 6 }, { "task": 3, "start": 50, "machine": 3, "duration": 62 }, { "task": 4, "start": 112, "machine": 4, "duration": 51 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 3, "machine": 2, "duration": 89 }, { "task": 1, "start": 415, "machine": 4, "duration": 54 }, { "task": 2, "start": 512, "machine": 0, "duration": 36 }, { "task": 3, "start": 582, "machine": 1, "duration": 3 }, { "task": 4, "start": 585, "machine": 3, "duration": 15 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 113, "machine": 2, "duration": 62 }, { "task": 1, "start": 190, "machine": 3, "duration": 28 }, { "task": 2, "start": 218, "machine": 4, "duration": 68 }, { "task": 3, "start": 362, "machine": 1, "duration": 73 }, { "task": 4, "start": 435, "machine": 0, "duration": 77 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 76 }, { "task": 1, "start": 218, "machine": 3, "duration": 32 }, { "task": 2, "start": 289, "machine": 1, "duration": 73 }, { "task": 3, "start": 362, "machine": 0, "duration": 55 }, { "task": 4, "start": 417, "machine": 2, "duration": 95 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 112, "machine": 3, "duration": 78 }, { "task": 1, "start": 207, "machine": 1, "duration": 82 }, { "task": 2, "start": 289, "machine": 4, "duration": 34 }, { "task": 3, "start": 323, "machine": 0, "duration": 23 }, { "task": 4, "start": 346, "machine": 2, "duration": 59 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 43 }, { "task": 1, "start": 44, "machine": 1, "duration": 73 }, { "task": 2, "start": 163, "machine": 4, "duration": 55 }, { "task": 3, "start": 250, "machine": 3, "duration": 58 }, { "task": 4, "start": 308, "machine": 2, "duration": 17 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 79, "machine": 0, "duration": 61 }, { "task": 1, "start": 175, "machine": 2, "duration": 18 }, { "task": 2, "start": 435, "machine": 1, "duration": 96 }, { "task": 3, "start": 531, "machine": 3, "duration": 41 }, { "task": 4, "start": 572, "machine": 4, "duration": 62 } ] } ], "context_index": 6, "input_format": "markdown_table", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I run the print shop and have a stack of jobs that each need a set sequence of steps — print, dry, trim, bind — and every step has to happen on a specific press or binder and takes a known amount of time. The job is to pick when each machine does each step so that no press is doing two things at once, every step for each job happens in the right order, and nothing is skipped or duplicated. A better schedule gets the whole batch finished earlier; the success is simply the clock time when the final operation finishes, and the aim is to make that finish time as small as possible. The exact jobs, machines and times are listed below.\n\nI have 10 jobs and 5 stations: job ids J1, J2, J3, J4, J5, J6, J7, J8, J9, J10 and station ids 0, 1, 2, 3, 4.\n\n| print_job_id | operation_index | station_id | processing_duration |\n|---|---|---|---|\n| J1 | 0 | 3 | 1 |\n| J1 | 1 | 1 | 32 |\n| J1 | 2 | 4 | 27 |\n| J1 | 3 | 2 | 2 |\n| J1 | 4 | 0 | 57 |\n| J2 | 0 | 4 | 51 |\n| J2 | 1 | 3 | 26 |\n| J2 | 2 | 2 | 58 |\n| J2 | 3 | 0 | 61 |\n| J2 | 4 | 1 | 86 |\n| J3 | 0 | 4 | 41 |\n| J3 | 1 | 0 | 93 |\n| J3 | 2 | 1 | 88 |\n| J3 | 3 | 3 | 66 |\n| J3 | 4 | 2 | 57 |\n| J4 | 0 | 3 | 43 |\n| J4 | 1 | 4 | 22 |\n| J4 | 2 | 0 | 37 |\n| J4 | 3 | 1 | 40 |\n| J4 | 4 | 2 | 21 |\n| J5 | 0 | 0 | 4 |\n| J5 | 1 | 2 | 96 |\n| J5 | 2 | 4 | 27 |\n| J5 | 3 | 1 | 66 |\n| J5 | 4 | 3 | 61 |\n| J6 | 0 | 1 | 29 |\n| J6 | 1 | 3 | 42 |\n| J6 | 2 | 0 | 39 |\n| J6 | 3 | 2 | 96 |\n| J6 | 4 | 4 | 66 |\n| J7 | 0 | 3 | 69 |\n| J7 | 1 | 4 | 58 |\n| J7 | 2 | 0 | 60 |\n| J7 | 3 | 2 | 28 |\n| J7 | 4 | 1 | 33 |\n| J8 | 0 | 0 | 75 |\n| J8 | 1 | 1 | 37 |\n| J8 | 2 | 3 | 31 |\n| J8 | 3 | 2 | 57 |\n| J8 | 4 | 4 | 54 |\n| J9 | 0 | 1 | 85 |\n| J9 | 1 | 2 | 17 |\n| J9 | 2 | 4 | 69 |\n| J9 | 3 | 3 | 16 |\n| J9 | 4 | 0 | 28 |\n| J10 | 0 | 0 | 49 |\n| J10 | 1 | 4 | 32 |\n| J10 | 2 | 2 | 47 |\n| J10 | 3 | 1 | 9 |\n| J10 | 4 | 3 | 94 |\n\nI need them scheduled so no station runs two tasks at once, each job's operations keep their order, and the whole batch finishes as early as possible.\n\nAlso, when you give the schedule back, keep it in a simple JSON layout so it's easy to parse — something like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis just means: top-level \"solution\" is a list of jobs. For each job, put its job identifier under \"job\" and a \"tasks\" list with one entry per operation. Each task entry says which step number it is (\"task\"), when that step starts (\"start\"), which machine it runs on (\"machine\"), and how long it runs (\"duration\"). Think of it like filling out a little form for each job and each step.\n\nNote: that JSON is only a sketch of the shape I expect, not the actual answer — you'll need to fill in the real values from the instance. Also, please use the exact identifiers from the instance input with no renaming and no new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 10, "jobs": [ [ [ 3, 1 ], [ 1, 32 ], [ 4, 27 ], [ 2, 2 ], [ 0, 57 ] ], [ [ 4, 51 ], [ 3, 26 ], [ 2, 58 ], [ 0, 61 ], [ 1, 86 ] ], [ [ 4, 41 ], [ 0, 93 ], [ 1, 88 ], [ 3, 66 ], [ 2, 57 ] ], [ [ 3, 43 ], [ 4, 22 ], [ 0, 37 ], [ 1, 40 ], [ 2, 21 ] ], [ [ 0, 4 ], [ 2, 96 ], [ 4, 27 ], [ 1, 66 ], [ 3, 61 ] ], [ [ 1, 29 ], [ 3, 42 ], [ 0, 39 ], [ 2, 96 ], [ 4, 66 ] ], [ [ 3, 69 ], [ 4, 58 ], [ 0, 60 ], [ 2, 28 ], [ 1, 33 ] ], [ [ 0, 75 ], [ 1, 37 ], [ 3, 31 ], [ 2, 57 ], [ 4, 54 ] ], [ [ 1, 85 ], [ 2, 17 ], [ 4, 69 ], [ 3, 16 ], [ 0, 28 ] ], [ [ 0, 49 ], [ 4, 32 ], [ 2, 47 ], [ 1, 9 ], [ 3, 94 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 69, "machine": 3, "duration": 1 }, { "task": 1, "start": 151, "machine": 1, "duration": 32 }, { "task": 2, "start": 209, "machine": 4, "duration": 27 }, { "task": 3, "start": 412, "machine": 2, "duration": 2 }, { "task": 4, "start": 446, "machine": 0, "duration": 57 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 41, "machine": 4, "duration": 51 }, { "task": 1, "start": 92, "machine": 3, "duration": 26 }, { "task": 2, "start": 118, "machine": 2, "duration": 58 }, { "task": 3, "start": 297, "machine": 0, "duration": 61 }, { "task": 4, "start": 386, "machine": 1, "duration": 86 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 41 }, { "task": 1, "start": 128, "machine": 0, "duration": 93 }, { "task": 2, "start": 249, "machine": 1, "duration": 88 }, { "task": 3, "start": 343, "machine": 3, "duration": 66 }, { "task": 4, "start": 446, "machine": 2, "duration": 57 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 191, "machine": 3, "duration": 43 }, { "task": 1, "start": 236, "machine": 4, "duration": 22 }, { "task": 2, "start": 260, "machine": 0, "duration": 37 }, { "task": 3, "start": 346, "machine": 1, "duration": 40 }, { "task": 4, "start": 391, "machine": 2, "duration": 21 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 4 }, { "task": 1, "start": 4, "machine": 2, "duration": 96 }, { "task": 2, "start": 150, "machine": 4, "duration": 27 }, { "task": 3, "start": 183, "machine": 1, "duration": 66 }, { "task": 4, "start": 249, "machine": 3, "duration": 61 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 85, "machine": 1, "duration": 29 }, { "task": 1, "start": 118, "machine": 3, "duration": 42 }, { "task": 2, "start": 221, "machine": 0, "duration": 39 }, { "task": 3, "start": 295, "machine": 2, "duration": 96 }, { "task": 4, "start": 391, "machine": 4, "duration": 66 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 69 }, { "task": 1, "start": 92, "machine": 4, "duration": 58 }, { "task": 2, "start": 358, "machine": 0, "duration": 60 }, { "task": 3, "start": 418, "machine": 2, "duration": 28 }, { "task": 4, "start": 472, "machine": 1, "duration": 33 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 4, "machine": 0, "duration": 75 }, { "task": 1, "start": 114, "machine": 1, "duration": 37 }, { "task": 2, "start": 160, "machine": 3, "duration": 31 }, { "task": 3, "start": 191, "machine": 2, "duration": 57 }, { "task": 4, "start": 327, "machine": 4, "duration": 54 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 85 }, { "task": 1, "start": 100, "machine": 2, "duration": 17 }, { "task": 2, "start": 258, "machine": 4, "duration": 69 }, { "task": 3, "start": 327, "machine": 3, "duration": 16 }, { "task": 4, "start": 418, "machine": 0, "duration": 28 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 79, "machine": 0, "duration": 49 }, { "task": 1, "start": 177, "machine": 4, "duration": 32 }, { "task": 2, "start": 248, "machine": 2, "duration": 47 }, { "task": 3, "start": 337, "machine": 1, "duration": 9 }, { "task": 4, "start": 409, "machine": 3, "duration": 94 } ] } ], "obj": 505.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 1, "duration": 32 }, { "job_id": "J1", "task_id": 2, "machine_id": 4, "duration": 27 }, { "job_id": "J1", "task_id": 3, "machine_id": 2, "duration": 2 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 57 }, { "job_id": "J2", "task_id": 0, "machine_id": 4, "duration": 51 }, { "job_id": "J2", "task_id": 1, "machine_id": 3, "duration": 26 }, { "job_id": "J2", "task_id": 2, "machine_id": 2, "duration": 58 }, { "job_id": "J2", "task_id": 3, "machine_id": 0, "duration": 61 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 86 }, { "job_id": "J3", "task_id": 0, "machine_id": 4, "duration": 41 }, { "job_id": "J3", "task_id": 1, "machine_id": 0, "duration": 93 }, { "job_id": "J3", "task_id": 2, "machine_id": 1, "duration": 88 }, { "job_id": "J3", "task_id": 3, "machine_id": 3, "duration": 66 }, { "job_id": "J3", "task_id": 4, "machine_id": 2, "duration": 57 }, { "job_id": "J4", "task_id": 0, "machine_id": 3, "duration": 43 }, { "job_id": "J4", "task_id": 1, "machine_id": 4, "duration": 22 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 37 }, { "job_id": "J4", "task_id": 3, "machine_id": 1, "duration": 40 }, { "job_id": "J4", "task_id": 4, "machine_id": 2, "duration": 21 }, { "job_id": "J5", "task_id": 0, "machine_id": 0, "duration": 4 }, { "job_id": "J5", "task_id": 1, "machine_id": 2, "duration": 96 }, { "job_id": "J5", "task_id": 2, "machine_id": 4, "duration": 27 }, { "job_id": "J5", "task_id": 3, "machine_id": 1, "duration": 66 }, { "job_id": "J5", "task_id": 4, "machine_id": 3, "duration": 61 }, { "job_id": "J6", "task_id": 0, "machine_id": 1, "duration": 29 }, { "job_id": "J6", "task_id": 1, "machine_id": 3, "duration": 42 }, { "job_id": "J6", "task_id": 2, "machine_id": 0, "duration": 39 }, { "job_id": "J6", "task_id": 3, "machine_id": 2, "duration": 96 }, { "job_id": "J6", "task_id": 4, "machine_id": 4, "duration": 66 }, { "job_id": "J7", "task_id": 0, "machine_id": 3, "duration": 69 }, { "job_id": "J7", "task_id": 1, "machine_id": 4, "duration": 58 }, { "job_id": "J7", "task_id": 2, "machine_id": 0, "duration": 60 }, { "job_id": "J7", "task_id": 3, "machine_id": 2, "duration": 28 }, { "job_id": "J7", "task_id": 4, "machine_id": 1, "duration": 33 }, { "job_id": "J8", "task_id": 0, "machine_id": 0, "duration": 75 }, { "job_id": "J8", "task_id": 1, "machine_id": 1, "duration": 37 }, { "job_id": "J8", "task_id": 2, "machine_id": 3, "duration": 31 }, { "job_id": "J8", "task_id": 3, "machine_id": 2, "duration": 57 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 54 }, { "job_id": "J9", "task_id": 0, "machine_id": 1, "duration": 85 }, { "job_id": "J9", "task_id": 1, "machine_id": 2, "duration": 17 }, { "job_id": "J9", "task_id": 2, "machine_id": 4, "duration": 69 }, { "job_id": "J9", "task_id": 3, "machine_id": 3, "duration": 16 }, { "job_id": "J9", "task_id": 4, "machine_id": 0, "duration": 28 }, { "job_id": "J10", "task_id": 0, "machine_id": 0, "duration": 49 }, { "job_id": "J10", "task_id": 1, "machine_id": 4, "duration": 32 }, { "job_id": "J10", "task_id": 2, "machine_id": 2, "duration": 47 }, { "job_id": "J10", "task_id": 3, "machine_id": 1, "duration": 9 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 94 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 69, "machine": 3, "duration": 1 }, { "task": 1, "start": 151, "machine": 1, "duration": 32 }, { "task": 2, "start": 209, "machine": 4, "duration": 27 }, { "task": 3, "start": 412, "machine": 2, "duration": 2 }, { "task": 4, "start": 446, "machine": 0, "duration": 57 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 41, "machine": 4, "duration": 51 }, { "task": 1, "start": 92, "machine": 3, "duration": 26 }, { "task": 2, "start": 118, "machine": 2, "duration": 58 }, { "task": 3, "start": 297, "machine": 0, "duration": 61 }, { "task": 4, "start": 386, "machine": 1, "duration": 86 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 41 }, { "task": 1, "start": 128, "machine": 0, "duration": 93 }, { "task": 2, "start": 249, "machine": 1, "duration": 88 }, { "task": 3, "start": 343, "machine": 3, "duration": 66 }, { "task": 4, "start": 446, "machine": 2, "duration": 57 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 191, "machine": 3, "duration": 43 }, { "task": 1, "start": 236, "machine": 4, "duration": 22 }, { "task": 2, "start": 260, "machine": 0, "duration": 37 }, { "task": 3, "start": 346, "machine": 1, "duration": 40 }, { "task": 4, "start": 391, "machine": 2, "duration": 21 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 4 }, { "task": 1, "start": 4, "machine": 2, "duration": 96 }, { "task": 2, "start": 150, "machine": 4, "duration": 27 }, { "task": 3, "start": 183, "machine": 1, "duration": 66 }, { "task": 4, "start": 249, "machine": 3, "duration": 61 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 85, "machine": 1, "duration": 29 }, { "task": 1, "start": 118, "machine": 3, "duration": 42 }, { "task": 2, "start": 221, "machine": 0, "duration": 39 }, { "task": 3, "start": 295, "machine": 2, "duration": 96 }, { "task": 4, "start": 391, "machine": 4, "duration": 66 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 69 }, { "task": 1, "start": 92, "machine": 4, "duration": 58 }, { "task": 2, "start": 358, "machine": 0, "duration": 60 }, { "task": 3, "start": 418, "machine": 2, "duration": 28 }, { "task": 4, "start": 472, "machine": 1, "duration": 33 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 4, "machine": 0, "duration": 75 }, { "task": 1, "start": 114, "machine": 1, "duration": 37 }, { "task": 2, "start": 160, "machine": 3, "duration": 31 }, { "task": 3, "start": 191, "machine": 2, "duration": 57 }, { "task": 4, "start": 327, "machine": 4, "duration": 54 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 85 }, { "task": 1, "start": 100, "machine": 2, "duration": 17 }, { "task": 2, "start": 258, "machine": 4, "duration": 69 }, { "task": 3, "start": 327, "machine": 3, "duration": 16 }, { "task": 4, "start": 418, "machine": 0, "duration": 28 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 79, "machine": 0, "duration": 49 }, { "task": 1, "start": 177, "machine": 4, "duration": 32 }, { "task": 2, "start": 248, "machine": 2, "duration": 47 }, { "task": 3, "start": 337, "machine": 1, "duration": 9 }, { "task": 4, "start": 409, "machine": 3, "duration": 94 } ] } ], "context_index": 7, "input_format": "markdown_table", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Someone has to be the shop scheduler: line up the development, drying, trimming and other steps for each print on their assigned machines, respect the order of steps, and never let a machine do two steps at once. The decision is choosing the timing for each step so nothing’s missed or duplicated and the whole batch finishes as quickly as possible. Performance is measured by the time the last print completes — you find every print’s end time and take the maximum; lower is preferable. The concrete job list and timings appear below.\n\n{\n \"num_print_runs\": 9,\n \"num_processing_stations\": 5,\n \"print_run_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\"\n ],\n \"station_ids\": [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\"\n ],\n \"tasks\": [\n {\n \"print_id\": \"J1\",\n \"step_index\": 0,\n \"station_id\": \"C\",\n \"step_duration\": 1\n },\n {\n \"print_id\": \"J1\",\n \"step_index\": 1,\n \"station_id\": \"B\",\n \"step_duration\": 45\n },\n {\n \"print_id\": \"J1\",\n \"step_index\": 2,\n \"station_id\": \"E\",\n \"step_duration\": 3\n },\n {\n \"print_id\": \"J1\",\n \"step_index\": 3,\n \"station_id\": \"D\",\n \"step_duration\": 47\n },\n {\n \"print_id\": \"J1\",\n \"step_index\": 4,\n \"station_id\": \"A\",\n \"step_duration\": 11\n },\n {\n \"print_id\": \"J2\",\n \"step_index\": 0,\n \"station_id\": \"A\",\n \"step_duration\": 73\n },\n {\n \"print_id\": \"J2\",\n \"step_index\": 1,\n \"station_id\": \"E\",\n \"step_duration\": 31\n },\n {\n \"print_id\": \"J2\",\n \"step_index\": 2,\n \"station_id\": \"C\",\n \"step_duration\": 27\n },\n {\n \"print_id\": \"J2\",\n \"step_index\": 3,\n \"station_id\": \"B\",\n \"step_duration\": 29\n },\n {\n \"print_id\": \"J2\",\n \"step_index\": 4,\n \"station_id\": \"D\",\n \"step_duration\": 80\n },\n {\n \"print_id\": \"J3\",\n \"step_index\": 0,\n \"station_id\": \"A\",\n \"step_duration\": 79\n },\n {\n \"print_id\": \"J3\",\n \"step_index\": 1,\n \"station_id\": \"E\",\n \"step_duration\": 45\n },\n {\n \"print_id\": \"J3\",\n \"step_index\": 2,\n \"station_id\": \"D\",\n \"step_duration\": 72\n },\n {\n \"print_id\": \"J3\",\n \"step_index\": 3,\n \"station_id\": \"C\",\n \"step_duration\": 69\n },\n {\n \"print_id\": \"J3\",\n \"step_index\": 4,\n \"station_id\": \"B\",\n \"step_duration\": 62\n },\n {\n \"print_id\": \"J4\",\n \"step_index\": 0,\n \"station_id\": \"C\",\n \"step_duration\": 95\n },\n {\n \"print_id\": \"J4\",\n \"step_index\": 1,\n \"station_id\": \"D\",\n \"step_duration\": 88\n },\n {\n \"print_id\": \"J4\",\n \"step_index\": 2,\n \"station_id\": \"A\",\n \"step_duration\": 38\n },\n {\n \"print_id\": \"J4\",\n \"step_index\": 3,\n \"station_id\": \"E\",\n \"step_duration\": 78\n },\n {\n \"print_id\": \"J4\",\n \"step_index\": 4,\n \"station_id\": \"B\",\n \"step_duration\": 28\n },\n {\n \"print_id\": \"J5\",\n \"step_index\": 0,\n \"station_id\": \"A\",\n \"step_duration\": 46\n },\n {\n \"print_id\": \"J5\",\n \"step_index\": 1,\n \"station_id\": \"D\",\n \"step_duration\": 65\n },\n {\n \"print_id\": \"J5\",\n \"step_index\": 2,\n \"station_id\": \"C\",\n \"step_duration\": 86\n },\n {\n \"print_id\": \"J5\",\n \"step_index\": 3,\n \"station_id\": \"E\",\n \"step_duration\": 59\n },\n {\n \"print_id\": \"J5\",\n \"step_index\": 4,\n \"station_id\": \"B\",\n \"step_duration\": 46\n },\n {\n \"print_id\": \"J6\",\n \"step_index\": 0,\n \"station_id\": \"A\",\n \"step_duration\": 82\n },\n {\n \"print_id\": \"J6\",\n \"step_index\": 1,\n \"station_id\": \"C\",\n \"step_duration\": 51\n },\n {\n \"print_id\": \"J6\",\n \"step_index\": 2,\n \"station_id\": \"D\",\n \"step_duration\": 5\n },\n {\n \"print_id\": \"J6\",\n \"step_index\": 3,\n \"station_id\": \"E\",\n \"step_duration\": 39\n },\n {\n \"print_id\": \"J6\",\n \"step_index\": 4,\n \"station_id\": \"B\",\n \"step_duration\": 36\n },\n {\n \"print_id\": \"J7\",\n \"step_index\": 0,\n \"station_id\": \"B\",\n \"step_duration\": 60\n },\n {\n \"print_id\": \"J7\",\n \"step_index\": 1,\n \"station_id\": \"C\",\n \"step_duration\": 35\n },\n {\n \"print_id\": \"J7\",\n \"step_index\": 2,\n \"station_id\": \"D\",\n \"step_duration\": 86\n },\n {\n \"print_id\": \"J7\",\n \"step_index\": 3,\n \"station_id\": \"E\",\n \"step_duration\": 33\n },\n {\n \"print_id\": \"J7\",\n \"step_index\": 4,\n \"station_id\": \"A\",\n \"step_duration\": 7\n },\n {\n \"print_id\": \"J8\",\n \"step_index\": 0,\n \"station_id\": \"D\",\n \"step_duration\": 9\n },\n {\n \"print_id\": \"J8\",\n \"step_index\": 1,\n \"station_id\": \"A\",\n \"step_duration\": 99\n },\n {\n \"print_id\": \"J8\",\n \"step_index\": 2,\n \"station_id\": \"C\",\n \"step_duration\": 7\n },\n {\n \"print_id\": \"J8\",\n \"step_index\": 3,\n \"station_id\": \"E\",\n \"step_duration\": 56\n },\n {\n \"print_id\": \"J8\",\n \"step_index\": 4,\n \"station_id\": \"B\",\n \"step_duration\": 90\n },\n {\n \"print_id\": \"J9\",\n \"step_index\": 0,\n \"station_id\": \"E\",\n \"step_duration\": 11\n },\n {\n \"print_id\": \"J9\",\n \"step_index\": 1,\n \"station_id\": \"A\",\n \"step_duration\": 15\n },\n {\n \"print_id\": \"J9\",\n \"step_index\": 2,\n \"station_id\": \"C\",\n \"step_duration\": 41\n },\n {\n \"print_id\": \"J9\",\n \"step_index\": 3,\n \"station_id\": \"D\",\n \"step_duration\": 91\n },\n {\n \"print_id\": \"J9\",\n \"step_index\": 4,\n \"station_id\": \"B\",\n \"step_duration\": 92\n }\n ]\n}\n\nWhen you hand me the schedule, just use a simple JSON shape — nothing fancy. Something like this will do:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that as a little form: \"solution\" holds a list of jobs; each job has its id and a list of tasks; each task records which step it is, when it starts, which machine it uses, and how long it runs. Super casual — like filling in a schedule sheet.\n\nThis JSON is just a sketch of the expected shape, not the actual completed schedule.\n\nPlease make sure to use the exact identifiers from the instance input — do not rename or invent labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 2, 1 ], [ 1, 45 ], [ 4, 3 ], [ 3, 47 ], [ 0, 11 ] ], [ [ 0, 73 ], [ 4, 31 ], [ 2, 27 ], [ 1, 29 ], [ 3, 80 ] ], [ [ 0, 79 ], [ 4, 45 ], [ 3, 72 ], [ 2, 69 ], [ 1, 62 ] ], [ [ 2, 95 ], [ 3, 88 ], [ 0, 38 ], [ 4, 78 ], [ 1, 28 ] ], [ [ 0, 46 ], [ 3, 65 ], [ 2, 86 ], [ 4, 59 ], [ 1, 46 ] ], [ [ 0, 82 ], [ 2, 51 ], [ 3, 5 ], [ 4, 39 ], [ 1, 36 ] ], [ [ 1, 60 ], [ 2, 35 ], [ 3, 86 ], [ 4, 33 ], [ 0, 7 ] ], [ [ 3, 9 ], [ 0, 99 ], [ 2, 7 ], [ 4, 56 ], [ 1, 90 ] ], [ [ 4, 11 ], [ 0, 15 ], [ 2, 41 ], [ 3, 91 ], [ 1, 92 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 95, "machine": 2, "duration": 1 }, { "task": 1, "start": 96, "machine": 1, "duration": 45 }, { "task": 2, "start": 141, "machine": 4, "duration": 3 }, { "task": 3, "start": 450, "machine": 3, "duration": 47 }, { "task": 4, "start": 497, "machine": 0, "duration": 11 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 239, "machine": 0, "duration": 73 }, { "task": 1, "start": 312, "machine": 4, "duration": 31 }, { "task": 2, "start": 343, "machine": 2, "duration": 27 }, { "task": 3, "start": 390, "machine": 1, "duration": 29 }, { "task": 4, "start": 502, "machine": 3, "duration": 80 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 160, "machine": 0, "duration": 79 }, { "task": 1, "start": 239, "machine": 4, "duration": 45 }, { "task": 2, "start": 292, "machine": 3, "duration": 72 }, { "task": 3, "start": 370, "machine": 2, "duration": 69 }, { "task": 4, "start": 465, "machine": 1, "duration": 62 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 95 }, { "task": 1, "start": 111, "machine": 3, "duration": 88 }, { "task": 2, "start": 312, "machine": 0, "duration": 38 }, { "task": 3, "start": 402, "machine": 4, "duration": 78 }, { "task": 4, "start": 527, "machine": 1, "duration": 28 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 46 }, { "task": 1, "start": 46, "machine": 3, "duration": 65 }, { "task": 2, "start": 201, "machine": 2, "duration": 86 }, { "task": 3, "start": 343, "machine": 4, "duration": 59 }, { "task": 4, "start": 419, "machine": 1, "duration": 46 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 350, "machine": 0, "duration": 82 }, { "task": 1, "start": 439, "machine": 2, "duration": 51 }, { "task": 2, "start": 497, "machine": 3, "duration": 5 }, { "task": 3, "start": 513, "machine": 4, "duration": 39 }, { "task": 4, "start": 555, "machine": 1, "duration": 36 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 60 }, { "task": 1, "start": 96, "machine": 2, "duration": 35 }, { "task": 2, "start": 364, "machine": 3, "duration": 86 }, { "task": 3, "start": 480, "machine": 4, "duration": 33 }, { "task": 4, "start": 536, "machine": 0, "duration": 7 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 9 }, { "task": 1, "start": 46, "machine": 0, "duration": 99 }, { "task": 2, "start": 145, "machine": 2, "duration": 7 }, { "task": 3, "start": 152, "machine": 4, "duration": 56 }, { "task": 4, "start": 208, "machine": 1, "duration": 90 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 11 }, { "task": 1, "start": 145, "machine": 0, "duration": 15 }, { "task": 2, "start": 160, "machine": 2, "duration": 41 }, { "task": 3, "start": 201, "machine": 3, "duration": 91 }, { "task": 4, "start": 298, "machine": 1, "duration": 92 } ] } ], "obj": 591.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "C", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 45 }, { "job_id": "J1", "task_id": 2, "machine_id": "E", "duration": 3 }, { "job_id": "J1", "task_id": 3, "machine_id": "D", "duration": 47 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 11 }, { "job_id": "J2", "task_id": 0, "machine_id": "A", "duration": 73 }, { "job_id": "J2", "task_id": 1, "machine_id": "E", "duration": 31 }, { "job_id": "J2", "task_id": 2, "machine_id": "C", "duration": 27 }, { "job_id": "J2", "task_id": 3, "machine_id": "B", "duration": 29 }, { "job_id": "J2", "task_id": 4, "machine_id": "D", "duration": 80 }, { "job_id": "J3", "task_id": 0, "machine_id": "A", "duration": 79 }, { "job_id": "J3", "task_id": 1, "machine_id": "E", "duration": 45 }, { "job_id": "J3", "task_id": 2, "machine_id": "D", "duration": 72 }, { "job_id": "J3", "task_id": 3, "machine_id": "C", "duration": 69 }, { "job_id": "J3", "task_id": 4, "machine_id": "B", "duration": 62 }, { "job_id": "J4", "task_id": 0, "machine_id": "C", "duration": 95 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 88 }, { "job_id": "J4", "task_id": 2, "machine_id": "A", "duration": 38 }, { "job_id": "J4", "task_id": 3, "machine_id": "E", "duration": 78 }, { "job_id": "J4", "task_id": 4, "machine_id": "B", "duration": 28 }, { "job_id": "J5", "task_id": 0, "machine_id": "A", "duration": 46 }, { "job_id": "J5", "task_id": 1, "machine_id": "D", "duration": 65 }, { "job_id": "J5", "task_id": 2, "machine_id": "C", "duration": 86 }, { "job_id": "J5", "task_id": 3, "machine_id": "E", "duration": 59 }, { "job_id": "J5", "task_id": 4, "machine_id": "B", "duration": 46 }, { "job_id": "J6", "task_id": 0, "machine_id": "A", "duration": 82 }, { "job_id": "J6", "task_id": 1, "machine_id": "C", "duration": 51 }, { "job_id": "J6", "task_id": 2, "machine_id": "D", "duration": 5 }, { "job_id": "J6", "task_id": 3, "machine_id": "E", "duration": 39 }, { "job_id": "J6", "task_id": 4, "machine_id": "B", "duration": 36 }, { "job_id": "J7", "task_id": 0, "machine_id": "B", "duration": 60 }, { "job_id": "J7", "task_id": 1, "machine_id": "C", "duration": 35 }, { "job_id": "J7", "task_id": 2, "machine_id": "D", "duration": 86 }, { "job_id": "J7", "task_id": 3, "machine_id": "E", "duration": 33 }, { "job_id": "J7", "task_id": 4, "machine_id": "A", "duration": 7 }, { "job_id": "J8", "task_id": 0, "machine_id": "D", "duration": 9 }, { "job_id": "J8", "task_id": 1, "machine_id": "A", "duration": 99 }, { "job_id": "J8", "task_id": 2, "machine_id": "C", "duration": 7 }, { "job_id": "J8", "task_id": 3, "machine_id": "E", "duration": 56 }, { "job_id": "J8", "task_id": 4, "machine_id": "B", "duration": 90 }, { "job_id": "J9", "task_id": 0, "machine_id": "E", "duration": 11 }, { "job_id": "J9", "task_id": 1, "machine_id": "A", "duration": 15 }, { "job_id": "J9", "task_id": 2, "machine_id": "C", "duration": 41 }, { "job_id": "J9", "task_id": 3, "machine_id": "D", "duration": 91 }, { "job_id": "J9", "task_id": 4, "machine_id": "B", "duration": 92 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 95, "machine": "C", "duration": 1 }, { "task": 1, "start": 96, "machine": "B", "duration": 45 }, { "task": 2, "start": 141, "machine": "E", "duration": 3 }, { "task": 3, "start": 450, "machine": "D", "duration": 47 }, { "task": 4, "start": 497, "machine": "A", "duration": 11 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 239, "machine": "A", "duration": 73 }, { "task": 1, "start": 312, "machine": "E", "duration": 31 }, { "task": 2, "start": 343, "machine": "C", "duration": 27 }, { "task": 3, "start": 390, "machine": "B", "duration": 29 }, { "task": 4, "start": 502, "machine": "D", "duration": 80 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 160, "machine": "A", "duration": 79 }, { "task": 1, "start": 239, "machine": "E", "duration": 45 }, { "task": 2, "start": 292, "machine": "D", "duration": 72 }, { "task": 3, "start": 370, "machine": "C", "duration": 69 }, { "task": 4, "start": 465, "machine": "B", "duration": 62 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 95 }, { "task": 1, "start": 111, "machine": "D", "duration": 88 }, { "task": 2, "start": 312, "machine": "A", "duration": 38 }, { "task": 3, "start": 402, "machine": "E", "duration": 78 }, { "task": 4, "start": 527, "machine": "B", "duration": 28 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 46 }, { "task": 1, "start": 46, "machine": "D", "duration": 65 }, { "task": 2, "start": 201, "machine": "C", "duration": 86 }, { "task": 3, "start": 343, "machine": "E", "duration": 59 }, { "task": 4, "start": 419, "machine": "B", "duration": 46 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 350, "machine": "A", "duration": 82 }, { "task": 1, "start": 439, "machine": "C", "duration": 51 }, { "task": 2, "start": 497, "machine": "D", "duration": 5 }, { "task": 3, "start": 513, "machine": "E", "duration": 39 }, { "task": 4, "start": 555, "machine": "B", "duration": 36 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 60 }, { "task": 1, "start": 96, "machine": "C", "duration": 35 }, { "task": 2, "start": 364, "machine": "D", "duration": 86 }, { "task": 3, "start": 480, "machine": "E", "duration": 33 }, { "task": 4, "start": 536, "machine": "A", "duration": 7 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 9 }, { "task": 1, "start": 46, "machine": "A", "duration": 99 }, { "task": 2, "start": 145, "machine": "C", "duration": 7 }, { "task": 3, "start": 152, "machine": "E", "duration": 56 }, { "task": 4, "start": 208, "machine": "B", "duration": 90 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 11 }, { "task": 1, "start": 145, "machine": "A", "duration": 15 }, { "task": 2, "start": 160, "machine": "C", "duration": 41 }, { "task": 3, "start": 201, "machine": "D", "duration": 91 }, { "task": 4, "start": 298, "machine": "B", "duration": 92 } ] } ], "context_index": 8, "input_format": "json", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "There’s a line of orders waiting and every pastry needs a chain of steps on specific machines, each taking a fixed amount of time. The trick is arranging those steps in time so each recipe’s sequence is preserved, no machine is asked to do two things at once, and nothing is skipped or duplicated. Success is judged by the moment the last item is done — that end time tells how efficient the plan was. The exact details of items, machines, and durations are shown below.\n\n# num_orders=12\n# num_equipment=5\n# order_ids=J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12\n# equipment_ids=0, 1, 2, 3, 4\norder_id,step_index,equipment_id,duration_minutes\nJ1,0,1,1\nJ1,1,4,58\nJ1,2,2,78\nJ1,3,3,93\nJ1,4,0,64\nJ2,0,0,94\nJ2,1,4,35\nJ2,2,3,94\nJ2,3,2,96\nJ2,4,1,73\nJ3,0,1,18\nJ3,1,3,97\nJ3,2,0,55\nJ3,3,2,73\nJ3,4,4,67\nJ4,0,3,49\nJ4,1,2,56\nJ4,2,0,39\nJ4,3,4,17\nJ4,4,1,34\nJ5,0,2,87\nJ5,1,3,34\nJ5,2,4,45\nJ5,3,1,52\nJ5,4,0,31\nJ6,0,2,35\nJ6,1,1,60\nJ6,2,4,69\nJ6,3,0,80\nJ6,4,3,6\nJ7,0,3,52\nJ7,1,1,11\nJ7,2,0,13\nJ7,3,2,37\nJ7,4,4,80\nJ8,0,1,41\nJ8,1,0,63\nJ8,2,2,82\nJ8,3,4,55\nJ8,4,3,27\nJ9,0,4,35\nJ9,1,2,13\nJ9,2,1,14\nJ9,3,0,67\nJ9,4,3,58\nJ10,0,4,63\nJ10,1,1,58\nJ10,2,2,24\nJ10,3,3,63\nJ10,4,0,82\nJ11,0,1,33\nJ11,1,0,88\nJ11,2,4,88\nJ11,3,2,74\nJ11,4,3,96\nJ12,0,4,33\nJ12,1,0,33\nJ12,2,2,88\nJ12,3,1,46\nJ12,4,3,3\n\nAlso, when you hand the schedule back, just follow this simple JSON shape so it's easy to read and check:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a sketch of the expected shape — each top-level entry is one job, and each job lists its tasks in order. For each task you give the task index (which task in the job), the planned start time, the machine it runs on, and how long it runs. Keep it simple and human-readable, like filling out a tiny form.\n\nPlease use the exact identifiers from the instance input — don't rename them or invent new ones. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 12, "jobs": [ [ [ 1, 1 ], [ 4, 58 ], [ 2, 78 ], [ 3, 93 ], [ 0, 64 ] ], [ [ 0, 94 ], [ 4, 35 ], [ 3, 94 ], [ 2, 96 ], [ 1, 73 ] ], [ [ 1, 18 ], [ 3, 97 ], [ 0, 55 ], [ 2, 73 ], [ 4, 67 ] ], [ [ 3, 49 ], [ 2, 56 ], [ 0, 39 ], [ 4, 17 ], [ 1, 34 ] ], [ [ 2, 87 ], [ 3, 34 ], [ 4, 45 ], [ 1, 52 ], [ 0, 31 ] ], [ [ 2, 35 ], [ 1, 60 ], [ 4, 69 ], [ 0, 80 ], [ 3, 6 ] ], [ [ 3, 52 ], [ 1, 11 ], [ 0, 13 ], [ 2, 37 ], [ 4, 80 ] ], [ [ 1, 41 ], [ 0, 63 ], [ 2, 82 ], [ 4, 55 ], [ 3, 27 ] ], [ [ 4, 35 ], [ 2, 13 ], [ 1, 14 ], [ 0, 67 ], [ 3, 58 ] ], [ [ 4, 63 ], [ 1, 58 ], [ 2, 24 ], [ 3, 63 ], [ 0, 82 ] ], [ [ 1, 33 ], [ 0, 88 ], [ 4, 88 ], [ 2, 74 ], [ 3, 96 ] ], [ [ 4, 33 ], [ 0, 33 ], [ 2, 88 ], [ 1, 46 ], [ 3, 3 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 92, "machine": 1, "duration": 1 }, { "task": 1, "start": 131, "machine": 4, "duration": 58 }, { "task": 2, "start": 202, "machine": 2, "duration": 78 }, { "task": 3, "start": 326, "machine": 3, "duration": 93 }, { "task": 4, "start": 465, "machine": 0, "duration": 64 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 94 }, { "task": 1, "start": 96, "machine": 4, "duration": 35 }, { "task": 2, "start": 198, "machine": 3, "duration": 94 }, { "task": 3, "start": 473, "machine": 2, "duration": 96 }, { "task": 4, "start": 569, "machine": 1, "duration": 73 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 74, "machine": 1, "duration": 18 }, { "task": 1, "start": 101, "machine": 3, "duration": 97 }, { "task": 2, "start": 245, "machine": 0, "duration": 55 }, { "task": 3, "start": 582, "machine": 2, "duration": 73 }, { "task": 4, "start": 655, "machine": 4, "duration": 67 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 52, "machine": 3, "duration": 49 }, { "task": 1, "start": 122, "machine": 2, "duration": 56 }, { "task": 2, "start": 346, "machine": 0, "duration": 39 }, { "task": 3, "start": 561, "machine": 4, "duration": 17 }, { "task": 4, "start": 656, "machine": 1, "duration": 34 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 35, "machine": 2, "duration": 87 }, { "task": 1, "start": 292, "machine": 3, "duration": 34 }, { "task": 2, "start": 381, "machine": 4, "duration": 45 }, { "task": 3, "start": 426, "machine": 1, "duration": 52 }, { "task": 4, "start": 611, "machine": 0, "duration": 31 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 35 }, { "task": 1, "start": 151, "machine": 1, "duration": 60 }, { "task": 2, "start": 312, "machine": 4, "duration": 69 }, { "task": 3, "start": 385, "machine": 0, "duration": 80 }, { "task": 4, "start": 605, "machine": 3, "duration": 6 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 52 }, { "task": 1, "start": 211, "machine": 1, "duration": 11 }, { "task": 2, "start": 300, "machine": 0, "duration": 13 }, { "task": 3, "start": 436, "machine": 2, "duration": 37 }, { "task": 4, "start": 481, "machine": 4, "duration": 80 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 33, "machine": 1, "duration": 41 }, { "task": 1, "start": 182, "machine": 0, "duration": 63 }, { "task": 2, "start": 280, "machine": 2, "duration": 82 }, { "task": 3, "start": 426, "machine": 4, "duration": 55 }, { "task": 4, "start": 578, "machine": 3, "duration": 27 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 277, "machine": 4, "duration": 35 }, { "task": 1, "start": 569, "machine": 2, "duration": 13 }, { "task": 2, "start": 642, "machine": 1, "duration": 14 }, { "task": 3, "start": 656, "machine": 0, "duration": 67 }, { "task": 4, "start": 723, "machine": 3, "duration": 58 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 63 }, { "task": 1, "start": 93, "machine": 1, "duration": 58 }, { "task": 2, "start": 178, "machine": 2, "duration": 24 }, { "task": 3, "start": 419, "machine": 3, "duration": 63 }, { "task": 4, "start": 529, "machine": 0, "duration": 82 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 33 }, { "task": 1, "start": 94, "machine": 0, "duration": 88 }, { "task": 2, "start": 189, "machine": 4, "duration": 88 }, { "task": 3, "start": 362, "machine": 2, "duration": 74 }, { "task": 4, "start": 482, "machine": 3, "duration": 96 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 63, "machine": 4, "duration": 33 }, { "task": 1, "start": 313, "machine": 0, "duration": 33 }, { "task": 2, "start": 655, "machine": 2, "duration": 88 }, { "task": 3, "start": 743, "machine": 1, "duration": 46 }, { "task": 4, "start": 789, "machine": 3, "duration": 3 } ] } ], "obj": 792.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 1, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 58 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 78 }, { "job_id": "J1", "task_id": 3, "machine_id": 3, "duration": 93 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 64 }, { "job_id": "J2", "task_id": 0, "machine_id": 0, "duration": 94 }, { "job_id": "J2", "task_id": 1, "machine_id": 4, "duration": 35 }, { "job_id": "J2", "task_id": 2, "machine_id": 3, "duration": 94 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 96 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 73 }, { "job_id": "J3", "task_id": 0, "machine_id": 1, "duration": 18 }, { "job_id": "J3", "task_id": 1, "machine_id": 3, "duration": 97 }, { "job_id": "J3", "task_id": 2, "machine_id": 0, "duration": 55 }, { "job_id": "J3", "task_id": 3, "machine_id": 2, "duration": 73 }, { "job_id": "J3", "task_id": 4, "machine_id": 4, "duration": 67 }, { "job_id": "J4", "task_id": 0, "machine_id": 3, "duration": 49 }, { "job_id": "J4", "task_id": 1, "machine_id": 2, "duration": 56 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 39 }, { "job_id": "J4", "task_id": 3, "machine_id": 4, "duration": 17 }, { "job_id": "J4", "task_id": 4, "machine_id": 1, "duration": 34 }, { "job_id": "J5", "task_id": 0, "machine_id": 2, "duration": 87 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 34 }, { "job_id": "J5", "task_id": 2, "machine_id": 4, "duration": 45 }, { "job_id": "J5", "task_id": 3, "machine_id": 1, "duration": 52 }, { "job_id": "J5", "task_id": 4, "machine_id": 0, "duration": 31 }, { "job_id": "J6", "task_id": 0, "machine_id": 2, "duration": 35 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 60 }, { "job_id": "J6", "task_id": 2, "machine_id": 4, "duration": 69 }, { "job_id": "J6", "task_id": 3, "machine_id": 0, "duration": 80 }, { "job_id": "J6", "task_id": 4, "machine_id": 3, "duration": 6 }, { "job_id": "J7", "task_id": 0, "machine_id": 3, "duration": 52 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 11 }, { "job_id": "J7", "task_id": 2, "machine_id": 0, "duration": 13 }, { "job_id": "J7", "task_id": 3, "machine_id": 2, "duration": 37 }, { "job_id": "J7", "task_id": 4, "machine_id": 4, "duration": 80 }, { "job_id": "J8", "task_id": 0, "machine_id": 1, "duration": 41 }, { "job_id": "J8", "task_id": 1, "machine_id": 0, "duration": 63 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 82 }, { "job_id": "J8", "task_id": 3, "machine_id": 4, "duration": 55 }, { "job_id": "J8", "task_id": 4, "machine_id": 3, "duration": 27 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 35 }, { "job_id": "J9", "task_id": 1, "machine_id": 2, "duration": 13 }, { "job_id": "J9", "task_id": 2, "machine_id": 1, "duration": 14 }, { "job_id": "J9", "task_id": 3, "machine_id": 0, "duration": 67 }, { "job_id": "J9", "task_id": 4, "machine_id": 3, "duration": 58 }, { "job_id": "J10", "task_id": 0, "machine_id": 4, "duration": 63 }, { "job_id": "J10", "task_id": 1, "machine_id": 1, "duration": 58 }, { "job_id": "J10", "task_id": 2, "machine_id": 2, "duration": 24 }, { "job_id": "J10", "task_id": 3, "machine_id": 3, "duration": 63 }, { "job_id": "J10", "task_id": 4, "machine_id": 0, "duration": 82 }, { "job_id": "J11", "task_id": 0, "machine_id": 1, "duration": 33 }, { "job_id": "J11", "task_id": 1, "machine_id": 0, "duration": 88 }, { "job_id": "J11", "task_id": 2, "machine_id": 4, "duration": 88 }, { "job_id": "J11", "task_id": 3, "machine_id": 2, "duration": 74 }, { "job_id": "J11", "task_id": 4, "machine_id": 3, "duration": 96 }, { "job_id": "J12", "task_id": 0, "machine_id": 4, "duration": 33 }, { "job_id": "J12", "task_id": 1, "machine_id": 0, "duration": 33 }, { "job_id": "J12", "task_id": 2, "machine_id": 2, "duration": 88 }, { "job_id": "J12", "task_id": 3, "machine_id": 1, "duration": 46 }, { "job_id": "J12", "task_id": 4, "machine_id": 3, "duration": 3 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 92, "machine": 1, "duration": 1 }, { "task": 1, "start": 131, "machine": 4, "duration": 58 }, { "task": 2, "start": 202, "machine": 2, "duration": 78 }, { "task": 3, "start": 326, "machine": 3, "duration": 93 }, { "task": 4, "start": 465, "machine": 0, "duration": 64 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 94 }, { "task": 1, "start": 96, "machine": 4, "duration": 35 }, { "task": 2, "start": 198, "machine": 3, "duration": 94 }, { "task": 3, "start": 473, "machine": 2, "duration": 96 }, { "task": 4, "start": 569, "machine": 1, "duration": 73 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 74, "machine": 1, "duration": 18 }, { "task": 1, "start": 101, "machine": 3, "duration": 97 }, { "task": 2, "start": 245, "machine": 0, "duration": 55 }, { "task": 3, "start": 582, "machine": 2, "duration": 73 }, { "task": 4, "start": 655, "machine": 4, "duration": 67 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 52, "machine": 3, "duration": 49 }, { "task": 1, "start": 122, "machine": 2, "duration": 56 }, { "task": 2, "start": 346, "machine": 0, "duration": 39 }, { "task": 3, "start": 561, "machine": 4, "duration": 17 }, { "task": 4, "start": 656, "machine": 1, "duration": 34 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 35, "machine": 2, "duration": 87 }, { "task": 1, "start": 292, "machine": 3, "duration": 34 }, { "task": 2, "start": 381, "machine": 4, "duration": 45 }, { "task": 3, "start": 426, "machine": 1, "duration": 52 }, { "task": 4, "start": 611, "machine": 0, "duration": 31 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 35 }, { "task": 1, "start": 151, "machine": 1, "duration": 60 }, { "task": 2, "start": 312, "machine": 4, "duration": 69 }, { "task": 3, "start": 385, "machine": 0, "duration": 80 }, { "task": 4, "start": 605, "machine": 3, "duration": 6 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 52 }, { "task": 1, "start": 211, "machine": 1, "duration": 11 }, { "task": 2, "start": 300, "machine": 0, "duration": 13 }, { "task": 3, "start": 436, "machine": 2, "duration": 37 }, { "task": 4, "start": 481, "machine": 4, "duration": 80 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 33, "machine": 1, "duration": 41 }, { "task": 1, "start": 182, "machine": 0, "duration": 63 }, { "task": 2, "start": 280, "machine": 2, "duration": 82 }, { "task": 3, "start": 426, "machine": 4, "duration": 55 }, { "task": 4, "start": 578, "machine": 3, "duration": 27 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 277, "machine": 4, "duration": 35 }, { "task": 1, "start": 569, "machine": 2, "duration": 13 }, { "task": 2, "start": 642, "machine": 1, "duration": 14 }, { "task": 3, "start": 656, "machine": 0, "duration": 67 }, { "task": 4, "start": 723, "machine": 3, "duration": 58 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 63 }, { "task": 1, "start": 93, "machine": 1, "duration": 58 }, { "task": 2, "start": 178, "machine": 2, "duration": 24 }, { "task": 3, "start": 419, "machine": 3, "duration": 63 }, { "task": 4, "start": 529, "machine": 0, "duration": 82 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 33 }, { "task": 1, "start": 94, "machine": 0, "duration": 88 }, { "task": 2, "start": 189, "machine": 4, "duration": 88 }, { "task": 3, "start": 362, "machine": 2, "duration": 74 }, { "task": 4, "start": 482, "machine": 3, "duration": 96 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 63, "machine": 4, "duration": 33 }, { "task": 1, "start": 313, "machine": 0, "duration": 33 }, { "task": 2, "start": 655, "machine": 2, "duration": 88 }, { "task": 3, "start": 743, "machine": 1, "duration": 46 }, { "task": 4, "start": 789, "machine": 3, "duration": 3 } ] } ], "context_index": 9, "input_format": "csv", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I run the render farm and my job is to pick start times for every little scene task so each one runs on its assigned server for however long it needs. Each shot is a chain of steps that have to happen in order, every task has to be scheduled exactly once, and no server can be asked to do two things at once. A better plan is simply the one that gets the whole project finished sooner — to check that, look at the finish times of all tasks and take the latest one; the smaller that time, the better. The concrete scene-by-scene details and runtimes are listed below.\n\n{\n \"total_shots\": 12,\n \"total_servers\": 6,\n \"shot_identifiers\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\",\n \"J11\",\n \"J12\"\n ],\n \"server_identifiers\": [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\"\n ],\n \"tasks\": [\n {\n \"shot_id\": \"J1\",\n \"step_index\": 0,\n \"server_id\": \"E\",\n \"expected_runtime\": 1\n },\n {\n \"shot_id\": \"J1\",\n \"step_index\": 1,\n \"server_id\": \"B\",\n \"expected_runtime\": 71\n },\n {\n \"shot_id\": \"J1\",\n \"step_index\": 2,\n \"server_id\": \"D\",\n \"expected_runtime\": 54\n },\n {\n \"shot_id\": \"J1\",\n \"step_index\": 3,\n \"server_id\": \"C\",\n \"expected_runtime\": 39\n },\n {\n \"shot_id\": \"J1\",\n \"step_index\": 4,\n \"server_id\": \"F\",\n \"expected_runtime\": 17\n },\n {\n \"shot_id\": \"J1\",\n \"step_index\": 5,\n \"server_id\": \"A\",\n \"expected_runtime\": 17\n },\n {\n \"shot_id\": \"J2\",\n \"step_index\": 0,\n \"server_id\": \"A\",\n \"expected_runtime\": 40\n },\n {\n \"shot_id\": \"J2\",\n \"step_index\": 1,\n \"server_id\": \"C\",\n \"expected_runtime\": 62\n },\n {\n \"shot_id\": \"J2\",\n \"step_index\": 2,\n \"server_id\": \"D\",\n \"expected_runtime\": 64\n },\n {\n \"shot_id\": \"J2\",\n \"step_index\": 3,\n \"server_id\": \"B\",\n \"expected_runtime\": 67\n },\n {\n \"shot_id\": \"J2\",\n \"step_index\": 4,\n \"server_id\": \"F\",\n \"expected_runtime\": 56\n },\n {\n \"shot_id\": \"J2\",\n \"step_index\": 5,\n \"server_id\": \"E\",\n \"expected_runtime\": 49\n },\n {\n \"shot_id\": \"J3\",\n \"step_index\": 0,\n \"server_id\": \"C\",\n \"expected_runtime\": 38\n },\n {\n \"shot_id\": \"J3\",\n \"step_index\": 1,\n \"server_id\": \"E\",\n \"expected_runtime\": 76\n },\n {\n \"shot_id\": \"J3\",\n \"step_index\": 2,\n \"server_id\": \"B\",\n \"expected_runtime\": 72\n },\n {\n \"shot_id\": \"J3\",\n \"step_index\": 3,\n \"server_id\": \"A\",\n \"expected_runtime\": 2\n },\n {\n \"shot_id\": \"J3\",\n \"step_index\": 4,\n \"server_id\": \"F\",\n \"expected_runtime\": 23\n },\n {\n \"shot_id\": \"J3\",\n \"step_index\": 5,\n \"server_id\": \"D\",\n \"expected_runtime\": 39\n },\n {\n \"shot_id\": \"J4\",\n \"step_index\": 0,\n \"server_id\": \"F\",\n \"expected_runtime\": 55\n },\n {\n \"shot_id\": \"J4\",\n \"step_index\": 1,\n \"server_id\": \"E\",\n \"expected_runtime\": 41\n },\n {\n \"shot_id\": \"J4\",\n \"step_index\": 2,\n \"server_id\": \"C\",\n \"expected_runtime\": 29\n },\n {\n \"shot_id\": \"J4\",\n \"step_index\": 3,\n \"server_id\": \"B\",\n \"expected_runtime\": 3\n },\n {\n \"shot_id\": \"J4\",\n \"step_index\": 4,\n \"server_id\": \"D\",\n \"expected_runtime\": 4\n },\n {\n \"shot_id\": \"J4\",\n \"step_index\": 5,\n \"server_id\": \"A\",\n \"expected_runtime\": 45\n },\n {\n \"shot_id\": \"J5\",\n \"step_index\": 0,\n \"server_id\": \"F\",\n \"expected_runtime\": 16\n },\n {\n \"shot_id\": \"J5\",\n \"step_index\": 1,\n \"server_id\": \"B\",\n \"expected_runtime\": 87\n },\n {\n \"shot_id\": \"J5\",\n \"step_index\": 2,\n \"server_id\": \"C\",\n \"expected_runtime\": 69\n },\n {\n \"shot_id\": \"J5\",\n \"step_index\": 3,\n \"server_id\": \"E\",\n \"expected_runtime\": 35\n },\n {\n \"shot_id\": \"J5\",\n \"step_index\": 4,\n \"server_id\": \"D\",\n \"expected_runtime\": 22\n },\n {\n \"shot_id\": \"J5\",\n \"step_index\": 5,\n \"server_id\": \"A\",\n \"expected_runtime\": 76\n },\n {\n \"shot_id\": \"J6\",\n \"step_index\": 0,\n \"server_id\": \"D\",\n \"expected_runtime\": 43\n },\n {\n \"shot_id\": \"J6\",\n \"step_index\": 1,\n \"server_id\": \"E\",\n \"expected_runtime\": 87\n },\n {\n \"shot_id\": \"J6\",\n \"step_index\": 2,\n \"server_id\": \"F\",\n \"expected_runtime\": 39\n },\n {\n \"shot_id\": \"J6\",\n \"step_index\": 3,\n \"server_id\": \"C\",\n \"expected_runtime\": 42\n },\n {\n \"shot_id\": \"J6\",\n \"step_index\": 4,\n \"server_id\": \"B\",\n \"expected_runtime\": 54\n },\n {\n \"shot_id\": \"J6\",\n \"step_index\": 5,\n \"server_id\": \"A\",\n \"expected_runtime\": 74\n },\n {\n \"shot_id\": \"J7\",\n \"step_index\": 0,\n \"server_id\": \"B\",\n \"expected_runtime\": 27\n },\n {\n \"shot_id\": \"J7\",\n \"step_index\": 1,\n \"server_id\": \"C\",\n \"expected_runtime\": 58\n },\n {\n \"shot_id\": \"J7\",\n \"step_index\": 2,\n \"server_id\": \"A\",\n \"expected_runtime\": 54\n },\n {\n \"shot_id\": \"J7\",\n \"step_index\": 3,\n \"server_id\": \"F\",\n \"expected_runtime\": 63\n },\n {\n \"shot_id\": \"J7\",\n \"step_index\": 4,\n \"server_id\": \"E\",\n \"expected_runtime\": 60\n },\n {\n \"shot_id\": \"J7\",\n \"step_index\": 5,\n \"server_id\": \"D\",\n \"expected_runtime\": 11\n },\n {\n \"shot_id\": \"J8\",\n \"step_index\": 0,\n \"server_id\": \"B\",\n \"expected_runtime\": 85\n },\n {\n \"shot_id\": \"J8\",\n \"step_index\": 1,\n \"server_id\": \"F\",\n \"expected_runtime\": 42\n },\n {\n \"shot_id\": \"J8\",\n \"step_index\": 2,\n \"server_id\": \"E\",\n \"expected_runtime\": 23\n },\n {\n \"shot_id\": \"J8\",\n \"step_index\": 3,\n \"server_id\": \"C\",\n \"expected_runtime\": 70\n },\n {\n \"shot_id\": \"J8\",\n \"step_index\": 4,\n \"server_id\": \"D\",\n \"expected_runtime\": 22\n },\n {\n \"shot_id\": \"J8\",\n \"step_index\": 5,\n \"server_id\": \"A\",\n \"expected_runtime\": 12\n },\n {\n \"shot_id\": \"J9\",\n \"step_index\": 0,\n \"server_id\": \"E\",\n \"expected_runtime\": 90\n },\n {\n \"shot_id\": \"J9\",\n \"step_index\": 1,\n \"server_id\": \"A\",\n \"expected_runtime\": 26\n },\n {\n \"shot_id\": \"J9\",\n \"step_index\": 2,\n \"server_id\": \"C\",\n \"expected_runtime\": 10\n },\n {\n \"shot_id\": \"J9\",\n \"step_index\": 3,\n \"server_id\": \"B\",\n \"expected_runtime\": 37\n },\n {\n \"shot_id\": \"J9\",\n \"step_index\": 4,\n \"server_id\": \"D\",\n \"expected_runtime\": 13\n },\n {\n \"shot_id\": \"J9\",\n \"step_index\": 5,\n \"server_id\": \"F\",\n \"expected_runtime\": 3\n },\n {\n \"shot_id\": \"J10\",\n \"step_index\": 0,\n \"server_id\": \"B\",\n \"expected_runtime\": 32\n },\n {\n \"shot_id\": \"J10\",\n \"step_index\": 1,\n \"server_id\": \"E\",\n \"expected_runtime\": 49\n },\n {\n \"shot_id\": \"J10\",\n \"step_index\": 2,\n \"server_id\": \"F\",\n \"expected_runtime\": 81\n },\n {\n \"shot_id\": \"J10\",\n \"step_index\": 3,\n \"server_id\": \"A\",\n \"expected_runtime\": 78\n },\n {\n \"shot_id\": \"J10\",\n \"step_index\": 4,\n \"server_id\": \"C\",\n \"expected_runtime\": 37\n },\n {\n \"shot_id\": \"J10\",\n \"step_index\": 5,\n \"server_id\": \"D\",\n \"expected_runtime\": 9\n },\n {\n \"shot_id\": \"J11\",\n \"step_index\": 0,\n \"server_id\": \"C\",\n \"expected_runtime\": 14\n },\n {\n \"shot_id\": \"J11\",\n \"step_index\": 1,\n \"server_id\": \"B\",\n \"expected_runtime\": 73\n },\n {\n \"shot_id\": \"J11\",\n \"step_index\": 2,\n \"server_id\": \"F\",\n \"expected_runtime\": 33\n },\n {\n \"shot_id\": \"J11\",\n \"step_index\": 3,\n \"server_id\": \"E\",\n \"expected_runtime\": 27\n },\n {\n \"shot_id\": \"J11\",\n \"step_index\": 4,\n \"server_id\": \"D\",\n \"expected_runtime\": 32\n },\n {\n \"shot_id\": \"J11\",\n \"step_index\": 5,\n \"server_id\": \"A\",\n \"expected_runtime\": 20\n },\n {\n \"shot_id\": \"J12\",\n \"step_index\": 0,\n \"server_id\": \"A\",\n \"expected_runtime\": 57\n },\n {\n \"shot_id\": \"J12\",\n \"step_index\": 1,\n \"server_id\": \"C\",\n \"expected_runtime\": 63\n },\n {\n \"shot_id\": \"J12\",\n \"step_index\": 2,\n \"server_id\": \"F\",\n \"expected_runtime\": 34\n },\n {\n \"shot_id\": \"J12\",\n \"step_index\": 3,\n \"server_id\": \"B\",\n \"expected_runtime\": 76\n },\n {\n \"shot_id\": \"J12\",\n \"step_index\": 4,\n \"server_id\": \"E\",\n \"expected_runtime\": 54\n },\n {\n \"shot_id\": \"J12\",\n \"step_index\": 5,\n \"server_id\": \"D\",\n \"expected_runtime\": 59\n }\n ]\n}\n\nWhen you send the schedule back, just use this simple JSON shape so I can pick up the info cleanly:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: the top-level \"solution\" holds one entry per shot (job). Each job entry names the job and then lists its tasks in order. For each task you give which step it is (\"task\"), when it starts (\"start\"), which server it runs on (\"machine\"), and how long it runs (\"duration\"). This block is just a sketch of the shape I expect, not the actual schedule — fill it with the real IDs and times when you reply.\n\nPlease use the exact identifiers from the instance input — do not rename or invent labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 4, 1 ], [ 1, 71 ], [ 3, 54 ], [ 2, 39 ], [ 5, 17 ], [ 0, 17 ] ], [ [ 0, 40 ], [ 2, 62 ], [ 3, 64 ], [ 1, 67 ], [ 5, 56 ], [ 4, 49 ] ], [ [ 2, 38 ], [ 4, 76 ], [ 1, 72 ], [ 0, 2 ], [ 5, 23 ], [ 3, 39 ] ], [ [ 5, 55 ], [ 4, 41 ], [ 2, 29 ], [ 1, 3 ], [ 3, 4 ], [ 0, 45 ] ], [ [ 5, 16 ], [ 1, 87 ], [ 2, 69 ], [ 4, 35 ], [ 3, 22 ], [ 0, 76 ] ], [ [ 3, 43 ], [ 4, 87 ], [ 5, 39 ], [ 2, 42 ], [ 1, 54 ], [ 0, 74 ] ], [ [ 1, 27 ], [ 2, 58 ], [ 0, 54 ], [ 5, 63 ], [ 4, 60 ], [ 3, 11 ] ], [ [ 1, 85 ], [ 5, 42 ], [ 4, 23 ], [ 2, 70 ], [ 3, 22 ], [ 0, 12 ] ], [ [ 4, 90 ], [ 0, 26 ], [ 2, 10 ], [ 1, 37 ], [ 3, 13 ], [ 5, 3 ] ], [ [ 1, 32 ], [ 4, 49 ], [ 5, 81 ], [ 0, 78 ], [ 2, 37 ], [ 3, 9 ] ], [ [ 2, 14 ], [ 1, 73 ], [ 5, 33 ], [ 4, 27 ], [ 3, 32 ], [ 0, 20 ] ], [ [ 0, 57 ], [ 2, 63 ], [ 5, 34 ], [ 1, 76 ], [ 4, 54 ], [ 3, 59 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 231, "machine": 1, "duration": 71 }, { "task": 2, "start": 302, "machine": 3, "duration": 54 }, { "task": 3, "start": 380, "machine": 2, "duration": 39 }, { "task": 4, "start": 419, "machine": 5, "duration": 17 }, { "task": 5, "start": 477, "machine": 0, "duration": 17 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 57, "machine": 0, "duration": 40 }, { "task": 1, "start": 120, "machine": 2, "duration": 62 }, { "task": 2, "start": 182, "machine": 3, "duration": 64 }, { "task": 3, "start": 451, "machine": 1, "duration": 67 }, { "task": 4, "start": 518, "machine": 5, "duration": 56 }, { "task": 5, "start": 574, "machine": 4, "duration": 49 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 38 }, { "task": 1, "start": 227, "machine": 4, "duration": 76 }, { "task": 2, "start": 518, "machine": 1, "duration": 72 }, { "task": 3, "start": 600, "machine": 0, "duration": 2 }, { "task": 4, "start": 602, "machine": 5, "duration": 23 }, { "task": 5, "start": 626, "machine": 3, "duration": 39 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 16, "machine": 5, "duration": 55 }, { "task": 1, "start": 303, "machine": 4, "duration": 41 }, { "task": 2, "start": 351, "machine": 2, "duration": 29 }, { "task": 3, "start": 590, "machine": 1, "duration": 3 }, { "task": 4, "start": 593, "machine": 3, "duration": 4 }, { "task": 5, "start": 602, "machine": 0, "duration": 45 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 16 }, { "task": 1, "start": 32, "machine": 1, "duration": 87 }, { "task": 2, "start": 240, "machine": 2, "duration": 69 }, { "task": 3, "start": 344, "machine": 4, "duration": 35 }, { "task": 4, "start": 379, "machine": 3, "duration": 22 }, { "task": 5, "start": 401, "machine": 0, "duration": 76 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 43 }, { "task": 1, "start": 91, "machine": 4, "duration": 87 }, { "task": 2, "start": 178, "machine": 5, "duration": 39 }, { "task": 3, "start": 309, "machine": 2, "duration": 42 }, { "task": 4, "start": 593, "machine": 1, "duration": 54 }, { "task": 5, "start": 647, "machine": 0, "duration": 74 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 119, "machine": 1, "duration": 27 }, { "task": 1, "start": 182, "machine": 2, "duration": 58 }, { "task": 2, "start": 240, "machine": 0, "duration": 54 }, { "task": 3, "start": 350, "machine": 5, "duration": 63 }, { "task": 4, "start": 456, "machine": 4, "duration": 60 }, { "task": 5, "start": 537, "machine": 3, "duration": 11 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 146, "machine": 1, "duration": 85 }, { "task": 1, "start": 308, "machine": 5, "duration": 42 }, { "task": 2, "start": 379, "machine": 4, "duration": 23 }, { "task": 3, "start": 419, "machine": 2, "duration": 70 }, { "task": 4, "start": 515, "machine": 3, "duration": 22 }, { "task": 5, "start": 537, "machine": 0, "duration": 12 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 1, "machine": 4, "duration": 90 }, { "task": 1, "start": 97, "machine": 0, "duration": 26 }, { "task": 2, "start": 489, "machine": 2, "duration": 10 }, { "task": 3, "start": 647, "machine": 1, "duration": 37 }, { "task": 4, "start": 684, "machine": 3, "duration": 13 }, { "task": 5, "start": 697, "machine": 5, "duration": 3 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 32 }, { "task": 1, "start": 178, "machine": 4, "duration": 49 }, { "task": 2, "start": 227, "machine": 5, "duration": 81 }, { "task": 3, "start": 308, "machine": 0, "duration": 78 }, { "task": 4, "start": 499, "machine": 2, "duration": 37 }, { "task": 5, "start": 580, "machine": 3, "duration": 9 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 38, "machine": 2, "duration": 14 }, { "task": 1, "start": 378, "machine": 1, "duration": 73 }, { "task": 2, "start": 451, "machine": 5, "duration": 33 }, { "task": 3, "start": 516, "machine": 4, "duration": 27 }, { "task": 4, "start": 548, "machine": 3, "duration": 32 }, { "task": 5, "start": 580, "machine": 0, "duration": 20 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 57 }, { "task": 1, "start": 57, "machine": 2, "duration": 63 }, { "task": 2, "start": 120, "machine": 5, "duration": 34 }, { "task": 3, "start": 302, "machine": 1, "duration": 76 }, { "task": 4, "start": 402, "machine": 4, "duration": 54 }, { "task": 5, "start": 456, "machine": 3, "duration": 59 } ] } ], "obj": 721.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "E", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 71 }, { "job_id": "J1", "task_id": 2, "machine_id": "D", "duration": 54 }, { "job_id": "J1", "task_id": 3, "machine_id": "C", "duration": 39 }, { "job_id": "J1", "task_id": 4, "machine_id": "F", "duration": 17 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 17 }, { "job_id": "J2", "task_id": 0, "machine_id": "A", "duration": 40 }, { "job_id": "J2", "task_id": 1, "machine_id": "C", "duration": 62 }, { "job_id": "J2", "task_id": 2, "machine_id": "D", "duration": 64 }, { "job_id": "J2", "task_id": 3, "machine_id": "B", "duration": 67 }, { "job_id": "J2", "task_id": 4, "machine_id": "F", "duration": 56 }, { "job_id": "J2", "task_id": 5, "machine_id": "E", "duration": 49 }, { "job_id": "J3", "task_id": 0, "machine_id": "C", "duration": 38 }, { "job_id": "J3", "task_id": 1, "machine_id": "E", "duration": 76 }, { "job_id": "J3", "task_id": 2, "machine_id": "B", "duration": 72 }, { "job_id": "J3", "task_id": 3, "machine_id": "A", "duration": 2 }, { "job_id": "J3", "task_id": 4, "machine_id": "F", "duration": 23 }, { "job_id": "J3", "task_id": 5, "machine_id": "D", "duration": 39 }, { "job_id": "J4", "task_id": 0, "machine_id": "F", "duration": 55 }, { "job_id": "J4", "task_id": 1, "machine_id": "E", "duration": 41 }, { "job_id": "J4", "task_id": 2, "machine_id": "C", "duration": 29 }, { "job_id": "J4", "task_id": 3, "machine_id": "B", "duration": 3 }, { "job_id": "J4", "task_id": 4, "machine_id": "D", "duration": 4 }, { "job_id": "J4", "task_id": 5, "machine_id": "A", "duration": 45 }, { "job_id": "J5", "task_id": 0, "machine_id": "F", "duration": 16 }, { "job_id": "J5", "task_id": 1, "machine_id": "B", "duration": 87 }, { "job_id": "J5", "task_id": 2, "machine_id": "C", "duration": 69 }, { "job_id": "J5", "task_id": 3, "machine_id": "E", "duration": 35 }, { "job_id": "J5", "task_id": 4, "machine_id": "D", "duration": 22 }, { "job_id": "J5", "task_id": 5, "machine_id": "A", "duration": 76 }, { "job_id": "J6", "task_id": 0, "machine_id": "D", "duration": 43 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 87 }, { "job_id": "J6", "task_id": 2, "machine_id": "F", "duration": 39 }, { "job_id": "J6", "task_id": 3, "machine_id": "C", "duration": 42 }, { "job_id": "J6", "task_id": 4, "machine_id": "B", "duration": 54 }, { "job_id": "J6", "task_id": 5, "machine_id": "A", "duration": 74 }, { "job_id": "J7", "task_id": 0, "machine_id": "B", "duration": 27 }, { "job_id": "J7", "task_id": 1, "machine_id": "C", "duration": 58 }, { "job_id": "J7", "task_id": 2, "machine_id": "A", "duration": 54 }, { "job_id": "J7", "task_id": 3, "machine_id": "F", "duration": 63 }, { "job_id": "J7", "task_id": 4, "machine_id": "E", "duration": 60 }, { "job_id": "J7", "task_id": 5, "machine_id": "D", "duration": 11 }, { "job_id": "J8", "task_id": 0, "machine_id": "B", "duration": 85 }, { "job_id": "J8", "task_id": 1, "machine_id": "F", "duration": 42 }, { "job_id": "J8", "task_id": 2, "machine_id": "E", "duration": 23 }, { "job_id": "J8", "task_id": 3, "machine_id": "C", "duration": 70 }, { "job_id": "J8", "task_id": 4, "machine_id": "D", "duration": 22 }, { "job_id": "J8", "task_id": 5, "machine_id": "A", "duration": 12 }, { "job_id": "J9", "task_id": 0, "machine_id": "E", "duration": 90 }, { "job_id": "J9", "task_id": 1, "machine_id": "A", "duration": 26 }, { "job_id": "J9", "task_id": 2, "machine_id": "C", "duration": 10 }, { "job_id": "J9", "task_id": 3, "machine_id": "B", "duration": 37 }, { "job_id": "J9", "task_id": 4, "machine_id": "D", "duration": 13 }, { "job_id": "J9", "task_id": 5, "machine_id": "F", "duration": 3 }, { "job_id": "J10", "task_id": 0, "machine_id": "B", "duration": 32 }, { "job_id": "J10", "task_id": 1, "machine_id": "E", "duration": 49 }, { "job_id": "J10", "task_id": 2, "machine_id": "F", "duration": 81 }, { "job_id": "J10", "task_id": 3, "machine_id": "A", "duration": 78 }, { "job_id": "J10", "task_id": 4, "machine_id": "C", "duration": 37 }, { "job_id": "J10", "task_id": 5, "machine_id": "D", "duration": 9 }, { "job_id": "J11", "task_id": 0, "machine_id": "C", "duration": 14 }, { "job_id": "J11", "task_id": 1, "machine_id": "B", "duration": 73 }, { "job_id": "J11", "task_id": 2, "machine_id": "F", "duration": 33 }, { "job_id": "J11", "task_id": 3, "machine_id": "E", "duration": 27 }, { "job_id": "J11", "task_id": 4, "machine_id": "D", "duration": 32 }, { "job_id": "J11", "task_id": 5, "machine_id": "A", "duration": 20 }, { "job_id": "J12", "task_id": 0, "machine_id": "A", "duration": 57 }, { "job_id": "J12", "task_id": 1, "machine_id": "C", "duration": 63 }, { "job_id": "J12", "task_id": 2, "machine_id": "F", "duration": 34 }, { "job_id": "J12", "task_id": 3, "machine_id": "B", "duration": 76 }, { "job_id": "J12", "task_id": 4, "machine_id": "E", "duration": 54 }, { "job_id": "J12", "task_id": 5, "machine_id": "D", "duration": 59 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 1 }, { "task": 1, "start": 231, "machine": "B", "duration": 71 }, { "task": 2, "start": 302, "machine": "D", "duration": 54 }, { "task": 3, "start": 380, "machine": "C", "duration": 39 }, { "task": 4, "start": 419, "machine": "F", "duration": 17 }, { "task": 5, "start": 477, "machine": "A", "duration": 17 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 57, "machine": "A", "duration": 40 }, { "task": 1, "start": 120, "machine": "C", "duration": 62 }, { "task": 2, "start": 182, "machine": "D", "duration": 64 }, { "task": 3, "start": 451, "machine": "B", "duration": 67 }, { "task": 4, "start": 518, "machine": "F", "duration": 56 }, { "task": 5, "start": 574, "machine": "E", "duration": 49 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 38 }, { "task": 1, "start": 227, "machine": "E", "duration": 76 }, { "task": 2, "start": 518, "machine": "B", "duration": 72 }, { "task": 3, "start": 600, "machine": "A", "duration": 2 }, { "task": 4, "start": 602, "machine": "F", "duration": 23 }, { "task": 5, "start": 626, "machine": "D", "duration": 39 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 16, "machine": "F", "duration": 55 }, { "task": 1, "start": 303, "machine": "E", "duration": 41 }, { "task": 2, "start": 351, "machine": "C", "duration": 29 }, { "task": 3, "start": 590, "machine": "B", "duration": 3 }, { "task": 4, "start": 593, "machine": "D", "duration": 4 }, { "task": 5, "start": 602, "machine": "A", "duration": 45 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "F", "duration": 16 }, { "task": 1, "start": 32, "machine": "B", "duration": 87 }, { "task": 2, "start": 240, "machine": "C", "duration": 69 }, { "task": 3, "start": 344, "machine": "E", "duration": 35 }, { "task": 4, "start": 379, "machine": "D", "duration": 22 }, { "task": 5, "start": 401, "machine": "A", "duration": 76 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 43 }, { "task": 1, "start": 91, "machine": "E", "duration": 87 }, { "task": 2, "start": 178, "machine": "F", "duration": 39 }, { "task": 3, "start": 309, "machine": "C", "duration": 42 }, { "task": 4, "start": 593, "machine": "B", "duration": 54 }, { "task": 5, "start": 647, "machine": "A", "duration": 74 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 119, "machine": "B", "duration": 27 }, { "task": 1, "start": 182, "machine": "C", "duration": 58 }, { "task": 2, "start": 240, "machine": "A", "duration": 54 }, { "task": 3, "start": 350, "machine": "F", "duration": 63 }, { "task": 4, "start": 456, "machine": "E", "duration": 60 }, { "task": 5, "start": 537, "machine": "D", "duration": 11 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 146, "machine": "B", "duration": 85 }, { "task": 1, "start": 308, "machine": "F", "duration": 42 }, { "task": 2, "start": 379, "machine": "E", "duration": 23 }, { "task": 3, "start": 419, "machine": "C", "duration": 70 }, { "task": 4, "start": 515, "machine": "D", "duration": 22 }, { "task": 5, "start": 537, "machine": "A", "duration": 12 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 1, "machine": "E", "duration": 90 }, { "task": 1, "start": 97, "machine": "A", "duration": 26 }, { "task": 2, "start": 489, "machine": "C", "duration": 10 }, { "task": 3, "start": 647, "machine": "B", "duration": 37 }, { "task": 4, "start": 684, "machine": "D", "duration": 13 }, { "task": 5, "start": 697, "machine": "F", "duration": 3 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 32 }, { "task": 1, "start": 178, "machine": "E", "duration": 49 }, { "task": 2, "start": 227, "machine": "F", "duration": 81 }, { "task": 3, "start": 308, "machine": "A", "duration": 78 }, { "task": 4, "start": 499, "machine": "C", "duration": 37 }, { "task": 5, "start": 580, "machine": "D", "duration": 9 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 38, "machine": "C", "duration": 14 }, { "task": 1, "start": 378, "machine": "B", "duration": 73 }, { "task": 2, "start": 451, "machine": "F", "duration": 33 }, { "task": 3, "start": 516, "machine": "E", "duration": 27 }, { "task": 4, "start": 548, "machine": "D", "duration": 32 }, { "task": 5, "start": 580, "machine": "A", "duration": 20 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 57 }, { "task": 1, "start": 57, "machine": "C", "duration": 63 }, { "task": 2, "start": 120, "machine": "F", "duration": 34 }, { "task": 3, "start": 302, "machine": "B", "duration": 76 }, { "task": 4, "start": 402, "machine": "E", "duration": 54 }, { "task": 5, "start": 456, "machine": "D", "duration": 59 } ] } ], "context_index": 10, "input_format": "json", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I’m the lab coordinator trying to line up a stack of experiments so every procedure uses the right instrument for its listed time, with each experiment’s steps done in the order they’re written. The choice to make is when to book each instrument for each step so nothing overlaps and every step happens exactly once. The good schedules are the ones that get all the experiments finished sooner — measure that by the clock time when the last experiment wraps up, and the earlier that finish time, the better. The specific experiments, steps, instruments, and durations are shown below.\n\nI have 9 experiments and 5 instruments; their IDs are J1, J2, J3, J4, J5, J6, J7, J8, J9 and A, B, C, D, E.\nFor experiment J1, I will book instrument C for step 0 for 1 time units.\nFor experiment J1, I will book instrument D for step 1 for 84 time units.\nFor experiment J1, I will book instrument B for step 2 for 29 time units.\nFor experiment J1, I will book instrument E for step 3 for 85 time units.\nFor experiment J1, I will book instrument A for step 4 for 70 time units.\nFor experiment J2, I will book instrument A for step 0 for 39 time units.\nFor experiment J2, I will book instrument E for step 1 for 45 time units.\nFor experiment J2, I will book instrument C for step 2 for 30 time units.\nFor experiment J2, I will book instrument D for step 3 for 33 time units.\nFor experiment J2, I will book instrument B for step 4 for 60 time units.\nFor experiment J3, I will book instrument E for step 0 for 94 time units.\nFor experiment J3, I will book instrument A for step 1 for 1 time units.\nFor experiment J3, I will book instrument D for step 2 for 21 time units.\nFor experiment J3, I will book instrument C for step 3 for 79 time units.\nFor experiment J3, I will book instrument B for step 4 for 78 time units.\nFor experiment J4, I will book instrument A for step 0 for 54 time units.\nFor experiment J4, I will book instrument D for step 1 for 90 time units.\nFor experiment J4, I will book instrument B for step 2 for 40 time units.\nFor experiment J4, I will book instrument C for step 3 for 93 time units.\nFor experiment J4, I will book instrument E for step 4 for 48 time units.\nFor experiment J5, I will book instrument C for step 0 for 71 time units.\nFor experiment J5, I will book instrument D for step 1 for 71 time units.\nFor experiment J5, I will book instrument A for step 2 for 63 time units.\nFor experiment J5, I will book instrument E for step 3 for 38 time units.\nFor experiment J5, I will book instrument B for step 4 for 1 time units.\nFor experiment J6, I will book instrument A for step 0 for 40 time units.\nFor experiment J6, I will book instrument E for step 1 for 78 time units.\nFor experiment J6, I will book instrument D for step 2 for 1 time units.\nFor experiment J6, I will book instrument B for step 3 for 63 time units.\nFor experiment J6, I will book instrument C for step 4 for 46 time units.\nFor experiment J7, I will book instrument E for step 0 for 34 time units.\nFor experiment J7, I will book instrument A for step 1 for 63 time units.\nFor experiment J7, I will book instrument B for step 2 for 65 time units.\nFor experiment J7, I will book instrument C for step 3 for 47 time units.\nFor experiment J7, I will book instrument D for step 4 for 28 time units.\nFor experiment J8, I will book instrument A for step 0 for 7 time units.\nFor experiment J8, I will book instrument C for step 1 for 89 time units.\nFor experiment J8, I will book instrument E for step 2 for 34 time units.\nFor experiment J8, I will book instrument B for step 3 for 53 time units.\nFor experiment J8, I will book instrument D for step 4 for 99 time units.\nFor experiment J9, I will book instrument B for step 0 for 84 time units.\nFor experiment J9, I will book instrument C for step 1 for 10 time units.\nFor experiment J9, I will book instrument D for step 2 for 58 time units.\nFor experiment J9, I will book instrument E for step 3 for 18 time units.\nFor experiment J9, I will book instrument A for step 4 for 88 time units.\nI'll schedule the bookings so every step runs once in order and no instrument is double-booked.\n\nAlso, when you send the schedule back, a handy way to format it is with a simple JSON shape so I can read each experiment (job) and its ordered steps. Something like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that JSON as a little form: each top-level \"job\" is one experiment, \"tasks\" is the ordered list of steps, \"task\" is the step number, \"start\" is the clock time that step begins, \"machine\" is which instrument it uses, and \"duration\" is how long that step runs. It's just a sketch of the shape I need — not the actual schedule yet.\n\nPlease make sure to use the exact identifiers from the instance input — no renaming and no new labels.\n\n\"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 2, 1 ], [ 3, 84 ], [ 1, 29 ], [ 4, 85 ], [ 0, 70 ] ], [ [ 0, 39 ], [ 4, 45 ], [ 2, 30 ], [ 3, 33 ], [ 1, 60 ] ], [ [ 4, 94 ], [ 0, 1 ], [ 3, 21 ], [ 2, 79 ], [ 1, 78 ] ], [ [ 0, 54 ], [ 3, 90 ], [ 1, 40 ], [ 2, 93 ], [ 4, 48 ] ], [ [ 2, 71 ], [ 3, 71 ], [ 0, 63 ], [ 4, 38 ], [ 1, 1 ] ], [ [ 0, 40 ], [ 4, 78 ], [ 3, 1 ], [ 1, 63 ], [ 2, 46 ] ], [ [ 4, 34 ], [ 0, 63 ], [ 1, 65 ], [ 2, 47 ], [ 3, 28 ] ], [ [ 0, 7 ], [ 2, 89 ], [ 4, 34 ], [ 1, 53 ], [ 3, 99 ] ], [ [ 1, 84 ], [ 2, 10 ], [ 3, 58 ], [ 4, 18 ], [ 0, 88 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 1 }, { "task": 1, "start": 1, "machine": 3, "duration": 84 }, { "task": 2, "start": 85, "machine": 1, "duration": 29 }, { "task": 3, "start": 208, "machine": 4, "duration": 85 }, { "task": 4, "start": 330, "machine": 0, "duration": 70 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 124, "machine": 0, "duration": 39 }, { "task": 1, "start": 163, "machine": 4, "duration": 45 }, { "task": 2, "start": 275, "machine": 2, "duration": 30 }, { "task": 3, "start": 325, "machine": 3, "duration": 33 }, { "task": 4, "start": 435, "machine": 1, "duration": 60 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 34, "machine": 4, "duration": 94 }, { "task": 1, "start": 163, "machine": 0, "duration": 1 }, { "task": 2, "start": 175, "machine": 3, "duration": 21 }, { "task": 3, "start": 196, "machine": 2, "duration": 79 }, { "task": 4, "start": 282, "machine": 1, "duration": 78 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 7, "machine": 0, "duration": 54 }, { "task": 1, "start": 85, "machine": 3, "duration": 90 }, { "task": 2, "start": 189, "machine": 1, "duration": 40 }, { "task": 3, "start": 305, "machine": 2, "duration": 93 }, { "task": 4, "start": 427, "machine": 4, "duration": 48 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 106, "machine": 2, "duration": 71 }, { "task": 1, "start": 196, "machine": 3, "duration": 71 }, { "task": 2, "start": 267, "machine": 0, "duration": 63 }, { "task": 3, "start": 389, "machine": 4, "duration": 38 }, { "task": 4, "start": 495, "machine": 1, "duration": 1 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 164, "machine": 0, "duration": 40 }, { "task": 1, "start": 293, "machine": 4, "duration": 78 }, { "task": 2, "start": 371, "machine": 3, "duration": 1 }, { "task": 3, "start": 372, "machine": 1, "duration": 63 }, { "task": 4, "start": 445, "machine": 2, "duration": 46 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 34 }, { "task": 1, "start": 61, "machine": 0, "duration": 63 }, { "task": 2, "start": 124, "machine": 1, "duration": 65 }, { "task": 3, "start": 398, "machine": 2, "duration": 47 }, { "task": 4, "start": 471, "machine": 3, "duration": 28 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 7 }, { "task": 1, "start": 7, "machine": 2, "duration": 89 }, { "task": 2, "start": 128, "machine": 4, "duration": 34 }, { "task": 3, "start": 229, "machine": 1, "duration": 53 }, { "task": 4, "start": 372, "machine": 3, "duration": 99 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 84 }, { "task": 1, "start": 96, "machine": 2, "duration": 10 }, { "task": 2, "start": 267, "machine": 3, "duration": 58 }, { "task": 3, "start": 371, "machine": 4, "duration": 18 }, { "task": 4, "start": 400, "machine": 0, "duration": 88 } ] } ], "obj": 499.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "C", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "D", "duration": 84 }, { "job_id": "J1", "task_id": 2, "machine_id": "B", "duration": 29 }, { "job_id": "J1", "task_id": 3, "machine_id": "E", "duration": 85 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 70 }, { "job_id": "J2", "task_id": 0, "machine_id": "A", "duration": 39 }, { "job_id": "J2", "task_id": 1, "machine_id": "E", "duration": 45 }, { "job_id": "J2", "task_id": 2, "machine_id": "C", "duration": 30 }, { "job_id": "J2", "task_id": 3, "machine_id": "D", "duration": 33 }, { "job_id": "J2", "task_id": 4, "machine_id": "B", "duration": 60 }, { "job_id": "J3", "task_id": 0, "machine_id": "E", "duration": 94 }, { "job_id": "J3", "task_id": 1, "machine_id": "A", "duration": 1 }, { "job_id": "J3", "task_id": 2, "machine_id": "D", "duration": 21 }, { "job_id": "J3", "task_id": 3, "machine_id": "C", "duration": 79 }, { "job_id": "J3", "task_id": 4, "machine_id": "B", "duration": 78 }, { "job_id": "J4", "task_id": 0, "machine_id": "A", "duration": 54 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 90 }, { "job_id": "J4", "task_id": 2, "machine_id": "B", "duration": 40 }, { "job_id": "J4", "task_id": 3, "machine_id": "C", "duration": 93 }, { "job_id": "J4", "task_id": 4, "machine_id": "E", "duration": 48 }, { "job_id": "J5", "task_id": 0, "machine_id": "C", "duration": 71 }, { "job_id": "J5", "task_id": 1, "machine_id": "D", "duration": 71 }, { "job_id": "J5", "task_id": 2, "machine_id": "A", "duration": 63 }, { "job_id": "J5", "task_id": 3, "machine_id": "E", "duration": 38 }, { "job_id": "J5", "task_id": 4, "machine_id": "B", "duration": 1 }, { "job_id": "J6", "task_id": 0, "machine_id": "A", "duration": 40 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 78 }, { "job_id": "J6", "task_id": 2, "machine_id": "D", "duration": 1 }, { "job_id": "J6", "task_id": 3, "machine_id": "B", "duration": 63 }, { "job_id": "J6", "task_id": 4, "machine_id": "C", "duration": 46 }, { "job_id": "J7", "task_id": 0, "machine_id": "E", "duration": 34 }, { "job_id": "J7", "task_id": 1, "machine_id": "A", "duration": 63 }, { "job_id": "J7", "task_id": 2, "machine_id": "B", "duration": 65 }, { "job_id": "J7", "task_id": 3, "machine_id": "C", "duration": 47 }, { "job_id": "J7", "task_id": 4, "machine_id": "D", "duration": 28 }, { "job_id": "J8", "task_id": 0, "machine_id": "A", "duration": 7 }, { "job_id": "J8", "task_id": 1, "machine_id": "C", "duration": 89 }, { "job_id": "J8", "task_id": 2, "machine_id": "E", "duration": 34 }, { "job_id": "J8", "task_id": 3, "machine_id": "B", "duration": 53 }, { "job_id": "J8", "task_id": 4, "machine_id": "D", "duration": 99 }, { "job_id": "J9", "task_id": 0, "machine_id": "B", "duration": 84 }, { "job_id": "J9", "task_id": 1, "machine_id": "C", "duration": 10 }, { "job_id": "J9", "task_id": 2, "machine_id": "D", "duration": 58 }, { "job_id": "J9", "task_id": 3, "machine_id": "E", "duration": 18 }, { "job_id": "J9", "task_id": 4, "machine_id": "A", "duration": 88 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 1 }, { "task": 1, "start": 1, "machine": "D", "duration": 84 }, { "task": 2, "start": 85, "machine": "B", "duration": 29 }, { "task": 3, "start": 208, "machine": "E", "duration": 85 }, { "task": 4, "start": 330, "machine": "A", "duration": 70 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 124, "machine": "A", "duration": 39 }, { "task": 1, "start": 163, "machine": "E", "duration": 45 }, { "task": 2, "start": 275, "machine": "C", "duration": 30 }, { "task": 3, "start": 325, "machine": "D", "duration": 33 }, { "task": 4, "start": 435, "machine": "B", "duration": 60 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 34, "machine": "E", "duration": 94 }, { "task": 1, "start": 163, "machine": "A", "duration": 1 }, { "task": 2, "start": 175, "machine": "D", "duration": 21 }, { "task": 3, "start": 196, "machine": "C", "duration": 79 }, { "task": 4, "start": 282, "machine": "B", "duration": 78 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 7, "machine": "A", "duration": 54 }, { "task": 1, "start": 85, "machine": "D", "duration": 90 }, { "task": 2, "start": 189, "machine": "B", "duration": 40 }, { "task": 3, "start": 305, "machine": "C", "duration": 93 }, { "task": 4, "start": 427, "machine": "E", "duration": 48 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 106, "machine": "C", "duration": 71 }, { "task": 1, "start": 196, "machine": "D", "duration": 71 }, { "task": 2, "start": 267, "machine": "A", "duration": 63 }, { "task": 3, "start": 389, "machine": "E", "duration": 38 }, { "task": 4, "start": 495, "machine": "B", "duration": 1 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 164, "machine": "A", "duration": 40 }, { "task": 1, "start": 293, "machine": "E", "duration": 78 }, { "task": 2, "start": 371, "machine": "D", "duration": 1 }, { "task": 3, "start": 372, "machine": "B", "duration": 63 }, { "task": 4, "start": 445, "machine": "C", "duration": 46 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 34 }, { "task": 1, "start": 61, "machine": "A", "duration": 63 }, { "task": 2, "start": 124, "machine": "B", "duration": 65 }, { "task": 3, "start": 398, "machine": "C", "duration": 47 }, { "task": 4, "start": 471, "machine": "D", "duration": 28 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 7 }, { "task": 1, "start": 7, "machine": "C", "duration": 89 }, { "task": 2, "start": 128, "machine": "E", "duration": 34 }, { "task": 3, "start": 229, "machine": "B", "duration": 53 }, { "task": 4, "start": 372, "machine": "D", "duration": 99 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 84 }, { "task": 1, "start": 96, "machine": "C", "duration": 10 }, { "task": 2, "start": 267, "machine": "D", "duration": 58 }, { "task": 3, "start": 371, "machine": "E", "duration": 18 }, { "task": 4, "start": 400, "machine": "A", "duration": 88 } ] } ], "context_index": 11, "input_format": "nl", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Late one night the operations lead described the situation like a game: batches move through a fixed series of stations, each station is a certain server and each stop takes a set time, and a server can only serve one stop at a time. The game is to time every start so each stop gets its right server for the allotted time, the stops in a batch occur in their given order, nothing is left out or done twice, and the entire game ends as fast as possible — tracked by the moment the last stop finishes on the clock. The exact job and server specifics are shown below.\n\n{\n \"total_batch_jobs\": 12,\n \"total_servers\": 6,\n \"batch_job_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\",\n \"J11\",\n \"J12\"\n ],\n \"server_ids\": [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\"\n ],\n \"tasks\": [\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 0,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 1\n },\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 1,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 97\n },\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 2,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 5\n },\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 3,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 31\n },\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 4,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 24\n },\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 5,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 60\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 0,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 49\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 1,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 98\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 2,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 1\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 3,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 54\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 4,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 33\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 5,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 53\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 0,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 5\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 1,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 83\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 2,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 83\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 3,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 8\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 4,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 57\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 5,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 41\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 0,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 32\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 1,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 54\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 2,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 13\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 3,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 40\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 4,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 22\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 5,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 32\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 0,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 84\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 1,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 92\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 2,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 87\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 3,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 66\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 4,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 5\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 5,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 17\n },\n {\n \"batch_id\": \"J6\",\n \"stage_index\": 0,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 25\n },\n {\n \"batch_id\": \"J6\",\n \"stage_index\": 1,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 40\n },\n {\n \"batch_id\": \"J6\",\n \"stage_index\": 2,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 91\n },\n {\n \"batch_id\": \"J6\",\n \"stage_index\": 3,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 52\n },\n {\n \"batch_id\": \"J6\",\n \"stage_index\": 4,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 2\n },\n {\n \"batch_id\": \"J6\",\n \"stage_index\": 5,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 40\n },\n {\n \"batch_id\": \"J7\",\n \"stage_index\": 0,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 53\n },\n {\n \"batch_id\": \"J7\",\n \"stage_index\": 1,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 9\n },\n {\n \"batch_id\": \"J7\",\n \"stage_index\": 2,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 52\n },\n {\n \"batch_id\": \"J7\",\n \"stage_index\": 3,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 36\n },\n {\n \"batch_id\": \"J7\",\n \"stage_index\": 4,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 10\n },\n {\n \"batch_id\": \"J7\",\n \"stage_index\": 5,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 8\n },\n {\n \"batch_id\": \"J8\",\n \"stage_index\": 0,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 30\n },\n {\n \"batch_id\": \"J8\",\n \"stage_index\": 1,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 92\n },\n {\n \"batch_id\": \"J8\",\n \"stage_index\": 2,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 53\n },\n {\n \"batch_id\": \"J8\",\n \"stage_index\": 3,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 85\n },\n {\n \"batch_id\": \"J8\",\n \"stage_index\": 4,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 48\n },\n {\n \"batch_id\": \"J8\",\n \"stage_index\": 5,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 89\n },\n {\n \"batch_id\": \"J9\",\n \"stage_index\": 0,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 45\n },\n {\n \"batch_id\": \"J9\",\n \"stage_index\": 1,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 13\n },\n {\n \"batch_id\": \"J9\",\n \"stage_index\": 2,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 62\n },\n {\n \"batch_id\": \"J9\",\n \"stage_index\": 3,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 32\n },\n {\n \"batch_id\": \"J9\",\n \"stage_index\": 4,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 60\n },\n {\n \"batch_id\": \"J9\",\n \"stage_index\": 5,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 57\n },\n {\n \"batch_id\": \"J10\",\n \"stage_index\": 0,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 5\n },\n {\n \"batch_id\": \"J10\",\n \"stage_index\": 1,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 82\n },\n {\n \"batch_id\": \"J10\",\n \"stage_index\": 2,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 78\n },\n {\n \"batch_id\": \"J10\",\n \"stage_index\": 3,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 58\n },\n {\n \"batch_id\": \"J10\",\n \"stage_index\": 4,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 19\n },\n {\n \"batch_id\": \"J10\",\n \"stage_index\": 5,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 21\n },\n {\n \"batch_id\": \"J11\",\n \"stage_index\": 0,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 94\n },\n {\n \"batch_id\": \"J11\",\n \"stage_index\": 1,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 74\n },\n {\n \"batch_id\": \"J11\",\n \"stage_index\": 2,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 36\n },\n {\n \"batch_id\": \"J11\",\n \"stage_index\": 3,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 90\n },\n {\n \"batch_id\": \"J11\",\n \"stage_index\": 4,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 29\n },\n {\n \"batch_id\": \"J11\",\n \"stage_index\": 5,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 18\n },\n {\n \"batch_id\": \"J12\",\n \"stage_index\": 0,\n \"required_server_id\": \"C\",\n \"expected_runtime\": 11\n },\n {\n \"batch_id\": \"J12\",\n \"stage_index\": 1,\n \"required_server_id\": \"B\",\n \"expected_runtime\": 81\n },\n {\n \"batch_id\": \"J12\",\n \"stage_index\": 2,\n \"required_server_id\": \"D\",\n \"expected_runtime\": 23\n },\n {\n \"batch_id\": \"J12\",\n \"stage_index\": 3,\n \"required_server_id\": \"A\",\n \"expected_runtime\": 90\n },\n {\n \"batch_id\": \"J12\",\n \"stage_index\": 4,\n \"required_server_id\": \"E\",\n \"expected_runtime\": 54\n },\n {\n \"batch_id\": \"J12\",\n \"stage_index\": 5,\n \"required_server_id\": \"F\",\n \"expected_runtime\": 36\n }\n ]\n}\n\nAlso, to keep things tidy when you send the schedule back, just follow this simple JSON shape:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it as a little form: \"solution\" is the list of jobs, each job has its id and a list of tasks, and each task entry says which numbered stop it is, the clock time it starts, which server (machine) it uses, and how long it runs. This is just the sketch of the shape I need — not the actual schedule itself.\n\nPlease make sure to use the exact identifiers from the instance input — don’t rename them and don’t invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 3, 1 ], [ 4, 97 ], [ 2, 5 ], [ 5, 31 ], [ 1, 24 ], [ 0, 60 ] ], [ [ 5, 49 ], [ 0, 98 ], [ 3, 1 ], [ 2, 54 ], [ 4, 33 ], [ 1, 53 ] ], [ [ 4, 5 ], [ 0, 83 ], [ 1, 83 ], [ 5, 8 ], [ 3, 57 ], [ 2, 41 ] ], [ [ 4, 32 ], [ 2, 54 ], [ 3, 13 ], [ 1, 40 ], [ 5, 22 ], [ 0, 32 ] ], [ [ 4, 84 ], [ 1, 92 ], [ 2, 87 ], [ 3, 66 ], [ 0, 5 ], [ 5, 17 ] ], [ [ 5, 25 ], [ 4, 40 ], [ 0, 91 ], [ 3, 52 ], [ 2, 2 ], [ 1, 40 ] ], [ [ 5, 53 ], [ 3, 9 ], [ 0, 52 ], [ 4, 36 ], [ 1, 10 ], [ 2, 8 ] ], [ [ 3, 30 ], [ 1, 92 ], [ 2, 53 ], [ 0, 85 ], [ 5, 48 ], [ 4, 89 ] ], [ [ 0, 45 ], [ 4, 13 ], [ 1, 62 ], [ 3, 32 ], [ 5, 60 ], [ 2, 57 ] ], [ [ 2, 5 ], [ 0, 82 ], [ 1, 78 ], [ 3, 58 ], [ 5, 19 ], [ 4, 21 ] ], [ [ 0, 94 ], [ 2, 74 ], [ 4, 36 ], [ 1, 90 ], [ 5, 29 ], [ 3, 18 ] ], [ [ 2, 11 ], [ 1, 81 ], [ 3, 23 ], [ 0, 90 ], [ 4, 54 ], [ 5, 36 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 30, "machine": 3, "duration": 1 }, { "task": 1, "start": 129, "machine": 4, "duration": 97 }, { "task": 2, "start": 237, "machine": 2, "duration": 5 }, { "task": 3, "start": 242, "machine": 5, "duration": 31 }, { "task": 4, "start": 629, "machine": 1, "duration": 24 }, { "task": 5, "start": 720, "machine": 0, "duration": 60 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 49 }, { "task": 1, "start": 304, "machine": 0, "duration": 98 }, { "task": 2, "start": 402, "machine": 3, "duration": 1 }, { "task": 3, "start": 412, "machine": 2, "duration": 54 }, { "task": 4, "start": 466, "machine": 4, "duration": 33 }, { "task": 5, "start": 653, "machine": 1, "duration": 53 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 84, "machine": 4, "duration": 5 }, { "task": 1, "start": 94, "machine": 0, "duration": 83 }, { "task": 2, "start": 338, "machine": 1, "duration": 83 }, { "task": 3, "start": 430, "machine": 5, "duration": 8 }, { "task": 4, "start": 478, "machine": 3, "duration": 57 }, { "task": 5, "start": 535, "machine": 2, "duration": 41 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 239, "machine": 4, "duration": 32 }, { "task": 1, "start": 271, "machine": 2, "duration": 54 }, { "task": 2, "start": 325, "machine": 3, "duration": 13 }, { "task": 3, "start": 589, "machine": 1, "duration": 40 }, { "task": 4, "start": 637, "machine": 5, "duration": 22 }, { "task": 5, "start": 785, "machine": 0, "duration": 32 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 84 }, { "task": 1, "start": 184, "machine": 1, "duration": 92 }, { "task": 2, "start": 325, "machine": 2, "duration": 87 }, { "task": 3, "start": 412, "machine": 3, "duration": 66 }, { "task": 4, "start": 780, "machine": 0, "duration": 5 }, { "task": 5, "start": 785, "machine": 5, "duration": 17 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 49, "machine": 5, "duration": 25 }, { "task": 1, "start": 89, "machine": 4, "duration": 40 }, { "task": 2, "start": 487, "machine": 0, "duration": 91 }, { "task": 3, "start": 593, "machine": 3, "duration": 52 }, { "task": 4, "start": 645, "machine": 2, "duration": 2 }, { "task": 5, "start": 706, "machine": 1, "duration": 40 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 74, "machine": 5, "duration": 53 }, { "task": 1, "start": 127, "machine": 3, "duration": 9 }, { "task": 2, "start": 668, "machine": 0, "duration": 52 }, { "task": 3, "start": 722, "machine": 4, "duration": 36 }, { "task": 4, "start": 758, "machine": 1, "duration": 10 }, { "task": 5, "start": 768, "machine": 2, "duration": 8 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 30 }, { "task": 1, "start": 92, "machine": 1, "duration": 92 }, { "task": 2, "start": 184, "machine": 2, "duration": 53 }, { "task": 3, "start": 402, "machine": 0, "duration": 85 }, { "task": 4, "start": 487, "machine": 5, "duration": 48 }, { "task": 5, "start": 535, "machine": 4, "duration": 89 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 177, "machine": 0, "duration": 45 }, { "task": 1, "start": 226, "machine": 4, "duration": 13 }, { "task": 2, "start": 276, "machine": 1, "duration": 62 }, { "task": 3, "start": 338, "machine": 3, "duration": 32 }, { "task": 4, "start": 370, "machine": 5, "duration": 60 }, { "task": 5, "start": 466, "machine": 2, "duration": 57 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 11, "machine": 2, "duration": 5 }, { "task": 1, "start": 222, "machine": 0, "duration": 82 }, { "task": 2, "start": 421, "machine": 1, "duration": 78 }, { "task": 3, "start": 535, "machine": 3, "duration": 58 }, { "task": 4, "start": 618, "machine": 5, "duration": 19 }, { "task": 5, "start": 637, "machine": 4, "duration": 21 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 94 }, { "task": 1, "start": 94, "machine": 2, "duration": 74 }, { "task": 2, "start": 271, "machine": 4, "duration": 36 }, { "task": 3, "start": 499, "machine": 1, "duration": 90 }, { "task": 4, "start": 589, "machine": 5, "duration": 29 }, { "task": 5, "start": 645, "machine": 3, "duration": 18 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 11 }, { "task": 1, "start": 11, "machine": 1, "duration": 81 }, { "task": 2, "start": 92, "machine": 3, "duration": 23 }, { "task": 3, "start": 578, "machine": 0, "duration": 90 }, { "task": 4, "start": 668, "machine": 4, "duration": 54 }, { "task": 5, "start": 722, "machine": 5, "duration": 36 } ] } ], "obj": 817.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "D", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 97 }, { "job_id": "J1", "task_id": 2, "machine_id": "C", "duration": 5 }, { "job_id": "J1", "task_id": 3, "machine_id": "F", "duration": 31 }, { "job_id": "J1", "task_id": 4, "machine_id": "B", "duration": 24 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 60 }, { "job_id": "J2", "task_id": 0, "machine_id": "F", "duration": 49 }, { "job_id": "J2", "task_id": 1, "machine_id": "A", "duration": 98 }, { "job_id": "J2", "task_id": 2, "machine_id": "D", "duration": 1 }, { "job_id": "J2", "task_id": 3, "machine_id": "C", "duration": 54 }, { "job_id": "J2", "task_id": 4, "machine_id": "E", "duration": 33 }, { "job_id": "J2", "task_id": 5, "machine_id": "B", "duration": 53 }, { "job_id": "J3", "task_id": 0, "machine_id": "E", "duration": 5 }, { "job_id": "J3", "task_id": 1, "machine_id": "A", "duration": 83 }, { "job_id": "J3", "task_id": 2, "machine_id": "B", "duration": 83 }, { "job_id": "J3", "task_id": 3, "machine_id": "F", "duration": 8 }, { "job_id": "J3", "task_id": 4, "machine_id": "D", "duration": 57 }, { "job_id": "J3", "task_id": 5, "machine_id": "C", "duration": 41 }, { "job_id": "J4", "task_id": 0, "machine_id": "E", "duration": 32 }, { "job_id": "J4", "task_id": 1, "machine_id": "C", "duration": 54 }, { "job_id": "J4", "task_id": 2, "machine_id": "D", "duration": 13 }, { "job_id": "J4", "task_id": 3, "machine_id": "B", "duration": 40 }, { "job_id": "J4", "task_id": 4, "machine_id": "F", "duration": 22 }, { "job_id": "J4", "task_id": 5, "machine_id": "A", "duration": 32 }, { "job_id": "J5", "task_id": 0, "machine_id": "E", "duration": 84 }, { "job_id": "J5", "task_id": 1, "machine_id": "B", "duration": 92 }, { "job_id": "J5", "task_id": 2, "machine_id": "C", "duration": 87 }, { "job_id": "J5", "task_id": 3, "machine_id": "D", "duration": 66 }, { "job_id": "J5", "task_id": 4, "machine_id": "A", "duration": 5 }, { "job_id": "J5", "task_id": 5, "machine_id": "F", "duration": 17 }, { "job_id": "J6", "task_id": 0, "machine_id": "F", "duration": 25 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 40 }, { "job_id": "J6", "task_id": 2, "machine_id": "A", "duration": 91 }, { "job_id": "J6", "task_id": 3, "machine_id": "D", "duration": 52 }, { "job_id": "J6", "task_id": 4, "machine_id": "C", "duration": 2 }, { "job_id": "J6", "task_id": 5, "machine_id": "B", "duration": 40 }, { "job_id": "J7", "task_id": 0, "machine_id": "F", "duration": 53 }, { "job_id": "J7", "task_id": 1, "machine_id": "D", "duration": 9 }, { "job_id": "J7", "task_id": 2, "machine_id": "A", "duration": 52 }, { "job_id": "J7", "task_id": 3, "machine_id": "E", "duration": 36 }, { "job_id": "J7", "task_id": 4, "machine_id": "B", "duration": 10 }, { "job_id": "J7", "task_id": 5, "machine_id": "C", "duration": 8 }, { "job_id": "J8", "task_id": 0, "machine_id": "D", "duration": 30 }, { "job_id": "J8", "task_id": 1, "machine_id": "B", "duration": 92 }, { "job_id": "J8", "task_id": 2, "machine_id": "C", "duration": 53 }, { "job_id": "J8", "task_id": 3, "machine_id": "A", "duration": 85 }, { "job_id": "J8", "task_id": 4, "machine_id": "F", "duration": 48 }, { "job_id": "J8", "task_id": 5, "machine_id": "E", "duration": 89 }, { "job_id": "J9", "task_id": 0, "machine_id": "A", "duration": 45 }, { "job_id": "J9", "task_id": 1, "machine_id": "E", "duration": 13 }, { "job_id": "J9", "task_id": 2, "machine_id": "B", "duration": 62 }, { "job_id": "J9", "task_id": 3, "machine_id": "D", "duration": 32 }, { "job_id": "J9", "task_id": 4, "machine_id": "F", "duration": 60 }, { "job_id": "J9", "task_id": 5, "machine_id": "C", "duration": 57 }, { "job_id": "J10", "task_id": 0, "machine_id": "C", "duration": 5 }, { "job_id": "J10", "task_id": 1, "machine_id": "A", "duration": 82 }, { "job_id": "J10", "task_id": 2, "machine_id": "B", "duration": 78 }, { "job_id": "J10", "task_id": 3, "machine_id": "D", "duration": 58 }, { "job_id": "J10", "task_id": 4, "machine_id": "F", "duration": 19 }, { "job_id": "J10", "task_id": 5, "machine_id": "E", "duration": 21 }, { "job_id": "J11", "task_id": 0, "machine_id": "A", "duration": 94 }, { "job_id": "J11", "task_id": 1, "machine_id": "C", "duration": 74 }, { "job_id": "J11", "task_id": 2, "machine_id": "E", "duration": 36 }, { "job_id": "J11", "task_id": 3, "machine_id": "B", "duration": 90 }, { "job_id": "J11", "task_id": 4, "machine_id": "F", "duration": 29 }, { "job_id": "J11", "task_id": 5, "machine_id": "D", "duration": 18 }, { "job_id": "J12", "task_id": 0, "machine_id": "C", "duration": 11 }, { "job_id": "J12", "task_id": 1, "machine_id": "B", "duration": 81 }, { "job_id": "J12", "task_id": 2, "machine_id": "D", "duration": 23 }, { "job_id": "J12", "task_id": 3, "machine_id": "A", "duration": 90 }, { "job_id": "J12", "task_id": 4, "machine_id": "E", "duration": 54 }, { "job_id": "J12", "task_id": 5, "machine_id": "F", "duration": 36 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 30, "machine": "D", "duration": 1 }, { "task": 1, "start": 129, "machine": "E", "duration": 97 }, { "task": 2, "start": 237, "machine": "C", "duration": 5 }, { "task": 3, "start": 242, "machine": "F", "duration": 31 }, { "task": 4, "start": 629, "machine": "B", "duration": 24 }, { "task": 5, "start": 720, "machine": "A", "duration": 60 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": "F", "duration": 49 }, { "task": 1, "start": 304, "machine": "A", "duration": 98 }, { "task": 2, "start": 402, "machine": "D", "duration": 1 }, { "task": 3, "start": 412, "machine": "C", "duration": 54 }, { "task": 4, "start": 466, "machine": "E", "duration": 33 }, { "task": 5, "start": 653, "machine": "B", "duration": 53 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 84, "machine": "E", "duration": 5 }, { "task": 1, "start": 94, "machine": "A", "duration": 83 }, { "task": 2, "start": 338, "machine": "B", "duration": 83 }, { "task": 3, "start": 430, "machine": "F", "duration": 8 }, { "task": 4, "start": 478, "machine": "D", "duration": 57 }, { "task": 5, "start": 535, "machine": "C", "duration": 41 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 239, "machine": "E", "duration": 32 }, { "task": 1, "start": 271, "machine": "C", "duration": 54 }, { "task": 2, "start": 325, "machine": "D", "duration": 13 }, { "task": 3, "start": 589, "machine": "B", "duration": 40 }, { "task": 4, "start": 637, "machine": "F", "duration": 22 }, { "task": 5, "start": 785, "machine": "A", "duration": 32 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 84 }, { "task": 1, "start": 184, "machine": "B", "duration": 92 }, { "task": 2, "start": 325, "machine": "C", "duration": 87 }, { "task": 3, "start": 412, "machine": "D", "duration": 66 }, { "task": 4, "start": 780, "machine": "A", "duration": 5 }, { "task": 5, "start": 785, "machine": "F", "duration": 17 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 49, "machine": "F", "duration": 25 }, { "task": 1, "start": 89, "machine": "E", "duration": 40 }, { "task": 2, "start": 487, "machine": "A", "duration": 91 }, { "task": 3, "start": 593, "machine": "D", "duration": 52 }, { "task": 4, "start": 645, "machine": "C", "duration": 2 }, { "task": 5, "start": 706, "machine": "B", "duration": 40 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 74, "machine": "F", "duration": 53 }, { "task": 1, "start": 127, "machine": "D", "duration": 9 }, { "task": 2, "start": 668, "machine": "A", "duration": 52 }, { "task": 3, "start": 722, "machine": "E", "duration": 36 }, { "task": 4, "start": 758, "machine": "B", "duration": 10 }, { "task": 5, "start": 768, "machine": "C", "duration": 8 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 30 }, { "task": 1, "start": 92, "machine": "B", "duration": 92 }, { "task": 2, "start": 184, "machine": "C", "duration": 53 }, { "task": 3, "start": 402, "machine": "A", "duration": 85 }, { "task": 4, "start": 487, "machine": "F", "duration": 48 }, { "task": 5, "start": 535, "machine": "E", "duration": 89 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 177, "machine": "A", "duration": 45 }, { "task": 1, "start": 226, "machine": "E", "duration": 13 }, { "task": 2, "start": 276, "machine": "B", "duration": 62 }, { "task": 3, "start": 338, "machine": "D", "duration": 32 }, { "task": 4, "start": 370, "machine": "F", "duration": 60 }, { "task": 5, "start": 466, "machine": "C", "duration": 57 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 11, "machine": "C", "duration": 5 }, { "task": 1, "start": 222, "machine": "A", "duration": 82 }, { "task": 2, "start": 421, "machine": "B", "duration": 78 }, { "task": 3, "start": 535, "machine": "D", "duration": 58 }, { "task": 4, "start": 618, "machine": "F", "duration": 19 }, { "task": 5, "start": 637, "machine": "E", "duration": 21 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 94 }, { "task": 1, "start": 94, "machine": "C", "duration": 74 }, { "task": 2, "start": 271, "machine": "E", "duration": 36 }, { "task": 3, "start": 499, "machine": "B", "duration": 90 }, { "task": 4, "start": 589, "machine": "F", "duration": 29 }, { "task": 5, "start": 645, "machine": "D", "duration": 18 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 11 }, { "task": 1, "start": 11, "machine": "B", "duration": 81 }, { "task": 2, "start": 92, "machine": "D", "duration": 23 }, { "task": 3, "start": 578, "machine": "A", "duration": 90 }, { "task": 4, "start": 668, "machine": "E", "duration": 54 }, { "task": 5, "start": 722, "machine": "F", "duration": 36 } ] } ], "context_index": 12, "input_format": "json", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "In the edit bay it’s down to sequencing: each scene needs a lineup of tasks done one after another, each task tied to a particular station and taking a fixed amount of time. Stations can’t do two tasks at once, and every required task must occur once and only once. The whole exercise is about getting the project fully wrapped ASAP — measured by the moment the last task finishes — so plans are judged by how early that finishing moment is. The concrete scene list and durations follow below.\n\nHere they are: 11 scenes, 5 stations — scenes: J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11; stations: A, B, C, D, E.\n\n| scene_id | step_index | station_id | step_duration |\n|---|---|---|---|\n| J1 | 0 | D | 1 |\n| J1 | 1 | E | 11 |\n| J1 | 2 | C | 80 |\n| J1 | 3 | B | 76 |\n| J1 | 4 | A | 77 |\n| J2 | 0 | D | 82 |\n| J2 | 1 | A | 54 |\n| J2 | 2 | E | 66 |\n| J2 | 3 | B | 68 |\n| J2 | 4 | C | 47 |\n| J3 | 0 | E | 71 |\n| J3 | 1 | A | 5 |\n| J3 | 2 | C | 87 |\n| J3 | 3 | B | 86 |\n| J3 | 4 | D | 88 |\n| J4 | 0 | A | 60 |\n| J4 | 1 | D | 24 |\n| J4 | 2 | B | 42 |\n| J4 | 3 | E | 70 |\n| J4 | 4 | C | 61 |\n| J5 | 0 | E | 54 |\n| J5 | 1 | A | 9 |\n| J5 | 2 | C | 80 |\n| J5 | 3 | B | 25 |\n| J5 | 4 | D | 69 |\n| J6 | 0 | A | 45 |\n| J6 | 1 | E | 96 |\n| J6 | 2 | B | 31 |\n| J6 | 3 | D | 46 |\n| J6 | 4 | C | 86 |\n| J7 | 0 | A | 16 |\n| J7 | 1 | D | 16 |\n| J7 | 2 | E | 18 |\n| J7 | 3 | C | 56 |\n| J7 | 4 | B | 75 |\n| J8 | 0 | E | 72 |\n| J8 | 1 | A | 17 |\n| J8 | 2 | B | 84 |\n| J8 | 3 | D | 52 |\n| J8 | 4 | C | 73 |\n| J9 | 0 | C | 34 |\n| J9 | 1 | E | 6 |\n| J9 | 2 | B | 3 |\n| J9 | 3 | A | 68 |\n| J9 | 4 | D | 19 |\n| J10 | 0 | B | 92 |\n| J10 | 1 | A | 11 |\n| J10 | 2 | E | 77 |\n| J10 | 3 | D | 72 |\n| J10 | 4 | C | 57 |\n| J11 | 0 | E | 39 |\n| J11 | 1 | A | 79 |\n| J11 | 2 | B | 84 |\n| J11 | 3 | C | 84 |\n| J11 | 4 | D | 40 |\n\nSequence each listed step once, respect station exclusivity, and aim to finish the last step as early as possible.\n\nOh, and to keep things tidy, please shape your plan like this simple JSON layout so I can read it automatically:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: each \"job\" is one of the scenes, \"tasks\" lists the steps for that scene, \"task\" is the step index, \"start\" is when that step begins, \"machine\" is the station that does the work, and \"duration\" is how long that step runs. Super casual — the JSON is just a sketch of the shape I need, not the actual answer itself.\n\nPlease also make sure to use the exact identifiers from the instance input — don't rename them or invent new ones. \n- For example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 3, 1 ], [ 4, 11 ], [ 2, 80 ], [ 1, 76 ], [ 0, 77 ] ], [ [ 3, 82 ], [ 0, 54 ], [ 4, 66 ], [ 1, 68 ], [ 2, 47 ] ], [ [ 4, 71 ], [ 0, 5 ], [ 2, 87 ], [ 1, 86 ], [ 3, 88 ] ], [ [ 0, 60 ], [ 3, 24 ], [ 1, 42 ], [ 4, 70 ], [ 2, 61 ] ], [ [ 4, 54 ], [ 0, 9 ], [ 2, 80 ], [ 1, 25 ], [ 3, 69 ] ], [ [ 0, 45 ], [ 4, 96 ], [ 1, 31 ], [ 3, 46 ], [ 2, 86 ] ], [ [ 0, 16 ], [ 3, 16 ], [ 4, 18 ], [ 2, 56 ], [ 1, 75 ] ], [ [ 4, 72 ], [ 0, 17 ], [ 1, 84 ], [ 3, 52 ], [ 2, 73 ] ], [ [ 2, 34 ], [ 4, 6 ], [ 1, 3 ], [ 0, 68 ], [ 3, 19 ] ], [ [ 1, 92 ], [ 0, 11 ], [ 4, 77 ], [ 3, 72 ], [ 2, 57 ] ], [ [ 4, 39 ], [ 0, 79 ], [ 1, 84 ], [ 2, 84 ], [ 3, 40 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 1, "machine": 4, "duration": 11 }, { "task": 2, "start": 34, "machine": 2, "duration": 80 }, { "task": 3, "start": 114, "machine": 1, "duration": 76 }, { "task": 4, "start": 365, "machine": 0, "duration": 77 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 100, "machine": 3, "duration": 82 }, { "task": 1, "start": 232, "machine": 0, "duration": 54 }, { "task": 2, "start": 509, "machine": 4, "duration": 66 }, { "task": 3, "start": 575, "machine": 1, "duration": 68 }, { "task": 4, "start": 698, "machine": 2, "duration": 47 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 156, "machine": 4, "duration": 71 }, { "task": 1, "start": 227, "machine": 0, "duration": 5 }, { "task": 2, "start": 250, "machine": 2, "duration": 87 }, { "task": 3, "start": 480, "machine": 1, "duration": 86 }, { "task": 4, "start": 598, "machine": 3, "duration": 88 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 16, "machine": 0, "duration": 60 }, { "task": 1, "start": 76, "machine": 3, "duration": 24 }, { "task": 2, "start": 190, "machine": 1, "duration": 42 }, { "task": 3, "start": 266, "machine": 4, "duration": 70 }, { "task": 4, "start": 337, "machine": 2, "duration": 61 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 102, "machine": 4, "duration": 54 }, { "task": 1, "start": 156, "machine": 0, "duration": 9 }, { "task": 2, "start": 170, "machine": 2, "duration": 80 }, { "task": 3, "start": 316, "machine": 1, "duration": 25 }, { "task": 4, "start": 368, "machine": 3, "duration": 69 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 165, "machine": 0, "duration": 45 }, { "task": 1, "start": 336, "machine": 4, "duration": 96 }, { "task": 2, "start": 449, "machine": 1, "duration": 31 }, { "task": 3, "start": 480, "machine": 3, "duration": 46 }, { "task": 4, "start": 555, "machine": 2, "duration": 86 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 16 }, { "task": 1, "start": 16, "machine": 3, "duration": 16 }, { "task": 2, "start": 84, "machine": 4, "duration": 18 }, { "task": 3, "start": 114, "machine": 2, "duration": 56 }, { "task": 4, "start": 646, "machine": 1, "duration": 75 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 12, "machine": 4, "duration": 72 }, { "task": 1, "start": 103, "machine": 0, "duration": 17 }, { "task": 2, "start": 232, "machine": 1, "duration": 84 }, { "task": 3, "start": 316, "machine": 3, "duration": 52 }, { "task": 4, "start": 398, "machine": 2, "duration": 73 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 34 }, { "task": 1, "start": 575, "machine": 4, "duration": 6 }, { "task": 2, "start": 643, "machine": 1, "duration": 3 }, { "task": 3, "start": 646, "machine": 0, "duration": 68 }, { "task": 4, "start": 726, "machine": 3, "duration": 19 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 92 }, { "task": 1, "start": 92, "machine": 0, "duration": 11 }, { "task": 2, "start": 432, "machine": 4, "duration": 77 }, { "task": 3, "start": 526, "machine": 3, "duration": 72 }, { "task": 4, "start": 641, "machine": 2, "duration": 57 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 227, "machine": 4, "duration": 39 }, { "task": 1, "start": 286, "machine": 0, "duration": 79 }, { "task": 2, "start": 365, "machine": 1, "duration": 84 }, { "task": 3, "start": 471, "machine": 2, "duration": 84 }, { "task": 4, "start": 686, "machine": 3, "duration": 40 } ] } ], "obj": 745.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "D", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 11 }, { "job_id": "J1", "task_id": 2, "machine_id": "C", "duration": 80 }, { "job_id": "J1", "task_id": 3, "machine_id": "B", "duration": 76 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 77 }, { "job_id": "J2", "task_id": 0, "machine_id": "D", "duration": 82 }, { "job_id": "J2", "task_id": 1, "machine_id": "A", "duration": 54 }, { "job_id": "J2", "task_id": 2, "machine_id": "E", "duration": 66 }, { "job_id": "J2", "task_id": 3, "machine_id": "B", "duration": 68 }, { "job_id": "J2", "task_id": 4, "machine_id": "C", "duration": 47 }, { "job_id": "J3", "task_id": 0, "machine_id": "E", "duration": 71 }, { "job_id": "J3", "task_id": 1, "machine_id": "A", "duration": 5 }, { "job_id": "J3", "task_id": 2, "machine_id": "C", "duration": 87 }, { "job_id": "J3", "task_id": 3, "machine_id": "B", "duration": 86 }, { "job_id": "J3", "task_id": 4, "machine_id": "D", "duration": 88 }, { "job_id": "J4", "task_id": 0, "machine_id": "A", "duration": 60 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 24 }, { "job_id": "J4", "task_id": 2, "machine_id": "B", "duration": 42 }, { "job_id": "J4", "task_id": 3, "machine_id": "E", "duration": 70 }, { "job_id": "J4", "task_id": 4, "machine_id": "C", "duration": 61 }, { "job_id": "J5", "task_id": 0, "machine_id": "E", "duration": 54 }, { "job_id": "J5", "task_id": 1, "machine_id": "A", "duration": 9 }, { "job_id": "J5", "task_id": 2, "machine_id": "C", "duration": 80 }, { "job_id": "J5", "task_id": 3, "machine_id": "B", "duration": 25 }, { "job_id": "J5", "task_id": 4, "machine_id": "D", "duration": 69 }, { "job_id": "J6", "task_id": 0, "machine_id": "A", "duration": 45 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 96 }, { "job_id": "J6", "task_id": 2, "machine_id": "B", "duration": 31 }, { "job_id": "J6", "task_id": 3, "machine_id": "D", "duration": 46 }, { "job_id": "J6", "task_id": 4, "machine_id": "C", "duration": 86 }, { "job_id": "J7", "task_id": 0, "machine_id": "A", "duration": 16 }, { "job_id": "J7", "task_id": 1, "machine_id": "D", "duration": 16 }, { "job_id": "J7", "task_id": 2, "machine_id": "E", "duration": 18 }, { "job_id": "J7", "task_id": 3, "machine_id": "C", "duration": 56 }, { "job_id": "J7", "task_id": 4, "machine_id": "B", "duration": 75 }, { "job_id": "J8", "task_id": 0, "machine_id": "E", "duration": 72 }, { "job_id": "J8", "task_id": 1, "machine_id": "A", "duration": 17 }, { "job_id": "J8", "task_id": 2, "machine_id": "B", "duration": 84 }, { "job_id": "J8", "task_id": 3, "machine_id": "D", "duration": 52 }, { "job_id": "J8", "task_id": 4, "machine_id": "C", "duration": 73 }, { "job_id": "J9", "task_id": 0, "machine_id": "C", "duration": 34 }, { "job_id": "J9", "task_id": 1, "machine_id": "E", "duration": 6 }, { "job_id": "J9", "task_id": 2, "machine_id": "B", "duration": 3 }, { "job_id": "J9", "task_id": 3, "machine_id": "A", "duration": 68 }, { "job_id": "J9", "task_id": 4, "machine_id": "D", "duration": 19 }, { "job_id": "J10", "task_id": 0, "machine_id": "B", "duration": 92 }, { "job_id": "J10", "task_id": 1, "machine_id": "A", "duration": 11 }, { "job_id": "J10", "task_id": 2, "machine_id": "E", "duration": 77 }, { "job_id": "J10", "task_id": 3, "machine_id": "D", "duration": 72 }, { "job_id": "J10", "task_id": 4, "machine_id": "C", "duration": 57 }, { "job_id": "J11", "task_id": 0, "machine_id": "E", "duration": 39 }, { "job_id": "J11", "task_id": 1, "machine_id": "A", "duration": 79 }, { "job_id": "J11", "task_id": 2, "machine_id": "B", "duration": 84 }, { "job_id": "J11", "task_id": 3, "machine_id": "C", "duration": 84 }, { "job_id": "J11", "task_id": 4, "machine_id": "D", "duration": 40 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 1 }, { "task": 1, "start": 1, "machine": "E", "duration": 11 }, { "task": 2, "start": 34, "machine": "C", "duration": 80 }, { "task": 3, "start": 114, "machine": "B", "duration": 76 }, { "task": 4, "start": 365, "machine": "A", "duration": 77 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 100, "machine": "D", "duration": 82 }, { "task": 1, "start": 232, "machine": "A", "duration": 54 }, { "task": 2, "start": 509, "machine": "E", "duration": 66 }, { "task": 3, "start": 575, "machine": "B", "duration": 68 }, { "task": 4, "start": 698, "machine": "C", "duration": 47 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 156, "machine": "E", "duration": 71 }, { "task": 1, "start": 227, "machine": "A", "duration": 5 }, { "task": 2, "start": 250, "machine": "C", "duration": 87 }, { "task": 3, "start": 480, "machine": "B", "duration": 86 }, { "task": 4, "start": 598, "machine": "D", "duration": 88 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 16, "machine": "A", "duration": 60 }, { "task": 1, "start": 76, "machine": "D", "duration": 24 }, { "task": 2, "start": 190, "machine": "B", "duration": 42 }, { "task": 3, "start": 266, "machine": "E", "duration": 70 }, { "task": 4, "start": 337, "machine": "C", "duration": 61 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 102, "machine": "E", "duration": 54 }, { "task": 1, "start": 156, "machine": "A", "duration": 9 }, { "task": 2, "start": 170, "machine": "C", "duration": 80 }, { "task": 3, "start": 316, "machine": "B", "duration": 25 }, { "task": 4, "start": 368, "machine": "D", "duration": 69 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 165, "machine": "A", "duration": 45 }, { "task": 1, "start": 336, "machine": "E", "duration": 96 }, { "task": 2, "start": 449, "machine": "B", "duration": 31 }, { "task": 3, "start": 480, "machine": "D", "duration": 46 }, { "task": 4, "start": 555, "machine": "C", "duration": 86 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 16 }, { "task": 1, "start": 16, "machine": "D", "duration": 16 }, { "task": 2, "start": 84, "machine": "E", "duration": 18 }, { "task": 3, "start": 114, "machine": "C", "duration": 56 }, { "task": 4, "start": 646, "machine": "B", "duration": 75 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 12, "machine": "E", "duration": 72 }, { "task": 1, "start": 103, "machine": "A", "duration": 17 }, { "task": 2, "start": 232, "machine": "B", "duration": 84 }, { "task": 3, "start": 316, "machine": "D", "duration": 52 }, { "task": 4, "start": 398, "machine": "C", "duration": 73 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 34 }, { "task": 1, "start": 575, "machine": "E", "duration": 6 }, { "task": 2, "start": 643, "machine": "B", "duration": 3 }, { "task": 3, "start": 646, "machine": "A", "duration": 68 }, { "task": 4, "start": 726, "machine": "D", "duration": 19 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 92 }, { "task": 1, "start": 92, "machine": "A", "duration": 11 }, { "task": 2, "start": 432, "machine": "E", "duration": 77 }, { "task": 3, "start": 526, "machine": "D", "duration": 72 }, { "task": 4, "start": 641, "machine": "C", "duration": 57 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 227, "machine": "E", "duration": 39 }, { "task": 1, "start": 286, "machine": "A", "duration": 79 }, { "task": 2, "start": 365, "machine": "B", "duration": 84 }, { "task": 3, "start": 471, "machine": "C", "duration": 84 }, { "task": 4, "start": 686, "machine": "D", "duration": 40 } ] } ], "context_index": 13, "input_format": "markdown_table", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "On a normal morning at the workshop, every piece of clothing must pass through a fixed chain of stations, each taking its expected time on a particular machine. The task for the manager is to line up those stations across all garments so machines don’t collide, each operation occurs exactly once and in order, and the entire load is finished quickly. The straightforward way to judge two different line-ups is to look at the clock when the last garment is done — whichever clock time is earlier is the better line-up. The concrete details are shown below.\n\nThere are 10 garments to schedule across 6 stations; the garment identifiers are J1, J2, J3, J4, J5, J6, J7, J8, J9, J10 and the station identifiers are A, B, C, D, E, F.\n\n| garment_id | step_index | station_id | step_duration |\n|---|---|---|---|\n| J1 | 0 | F | 1 |\n| J1 | 1 | B | 24 |\n| J1 | 2 | E | 56 |\n| J1 | 3 | C | 23 |\n| J1 | 4 | D | 30 |\n| J1 | 5 | A | 5 |\n| J2 | 0 | B | 59 |\n| J2 | 1 | C | 34 |\n| J2 | 2 | E | 36 |\n| J2 | 3 | F | 41 |\n| J2 | 4 | A | 10 |\n| J2 | 5 | D | 57 |\n| J3 | 0 | F | 70 |\n| J3 | 1 | C | 90 |\n| J3 | 2 | E | 94 |\n| J3 | 3 | B | 14 |\n| J3 | 4 | D | 91 |\n| J3 | 5 | A | 42 |\n| J4 | 0 | D | 9 |\n| J4 | 1 | E | 67 |\n| J4 | 2 | F | 96 |\n| J4 | 3 | B | 77 |\n| J4 | 4 | C | 39 |\n| J4 | 5 | A | 18 |\n| J5 | 0 | F | 54 |\n| J5 | 1 | D | 98 |\n| J5 | 2 | B | 6 |\n| J5 | 3 | A | 96 |\n| J5 | 4 | C | 88 |\n| J5 | 5 | E | 56 |\n| J6 | 0 | F | 7 |\n| J6 | 1 | E | 92 |\n| J6 | 2 | C | 44 |\n| J6 | 3 | A | 61 |\n| J6 | 4 | D | 48 |\n| J6 | 5 | B | 6 |\n| J7 | 0 | F | 79 |\n| J7 | 1 | C | 60 |\n| J7 | 2 | A | 51 |\n| J7 | 3 | D | 10 |\n| J7 | 4 | E | 59 |\n| J7 | 5 | B | 4 |\n| J8 | 0 | B | 74 |\n| J8 | 1 | E | 44 |\n| J8 | 2 | D | 83 |\n| J8 | 3 | F | 99 |\n| J8 | 4 | A | 74 |\n| J8 | 5 | C | 66 |\n| J9 | 0 | D | 99 |\n| J9 | 1 | A | 1 |\n| J9 | 2 | E | 16 |\n| J9 | 3 | B | 28 |\n| J9 | 4 | C | 8 |\n| J9 | 5 | F | 12 |\n| J10 | 0 | B | 76 |\n| J10 | 1 | D | 16 |\n| J10 | 2 | E | 76 |\n| J10 | 3 | C | 37 |\n| J10 | 4 | A | 1 |\n| J10 | 5 | F | 33 |\n\nThe manager will judge alternative line-ups by the clock time when the last garment finishes.\n\nAnd just so we're on the same page about how I'd like the final reply to look, here's a relaxed sketch of the exact JSON layout I expect you to follow when you give the schedule:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a simple form: each top-level entry is a job (a garment), and under each job there's a list of tasks in the order they must happen. For each task you record which operation it is (task), when it starts (start), which machine it uses (machine), and how long it runs (duration). This is just the shape I want — a sketch, not the actual filled-in schedule.\n\nPlease make sure all identifiers in your real schedule match the instance input exactly — no renaming, no new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 10, "jobs": [ [ [ 5, 1 ], [ 1, 24 ], [ 4, 56 ], [ 2, 23 ], [ 3, 30 ], [ 0, 5 ] ], [ [ 1, 59 ], [ 2, 34 ], [ 4, 36 ], [ 5, 41 ], [ 0, 10 ], [ 3, 57 ] ], [ [ 5, 70 ], [ 2, 90 ], [ 4, 94 ], [ 1, 14 ], [ 3, 91 ], [ 0, 42 ] ], [ [ 3, 9 ], [ 4, 67 ], [ 5, 96 ], [ 1, 77 ], [ 2, 39 ], [ 0, 18 ] ], [ [ 5, 54 ], [ 3, 98 ], [ 1, 6 ], [ 0, 96 ], [ 2, 88 ], [ 4, 56 ] ], [ [ 5, 7 ], [ 4, 92 ], [ 2, 44 ], [ 0, 61 ], [ 3, 48 ], [ 1, 6 ] ], [ [ 5, 79 ], [ 2, 60 ], [ 0, 51 ], [ 3, 10 ], [ 4, 59 ], [ 1, 4 ] ], [ [ 1, 74 ], [ 4, 44 ], [ 3, 83 ], [ 5, 99 ], [ 0, 74 ], [ 2, 66 ] ], [ [ 3, 99 ], [ 0, 1 ], [ 4, 16 ], [ 1, 28 ], [ 2, 8 ], [ 5, 12 ] ], [ [ 1, 76 ], [ 3, 16 ], [ 4, 76 ], [ 2, 37 ], [ 0, 1 ], [ 5, 33 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 61, "machine": 5, "duration": 1 }, { "task": 1, "start": 133, "machine": 1, "duration": 24 }, { "task": 2, "start": 210, "machine": 4, "duration": 56 }, { "task": 3, "start": 327, "machine": 2, "duration": 23 }, { "task": 4, "start": 415, "machine": 3, "duration": 30 }, { "task": 5, "start": 445, "machine": 0, "duration": 5 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 74, "machine": 1, "duration": 59 }, { "task": 1, "start": 203, "machine": 2, "duration": 34 }, { "task": 2, "start": 436, "machine": 4, "duration": 36 }, { "task": 3, "start": 472, "machine": 5, "duration": 41 }, { "task": 4, "start": 513, "machine": 0, "duration": 10 }, { "task": 5, "start": 541, "machine": 3, "duration": 57 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 141, "machine": 5, "duration": 70 }, { "task": 1, "start": 237, "machine": 2, "duration": 90 }, { "task": 2, "start": 342, "machine": 4, "duration": 94 }, { "task": 3, "start": 436, "machine": 1, "duration": 14 }, { "task": 4, "start": 450, "machine": 3, "duration": 91 }, { "task": 5, "start": 541, "machine": 0, "duration": 42 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 9 }, { "task": 1, "start": 143, "machine": 4, "duration": 67 }, { "task": 2, "start": 341, "machine": 5, "duration": 96 }, { "task": 3, "start": 450, "machine": 1, "duration": 77 }, { "task": 4, "start": 541, "machine": 2, "duration": 39 }, { "task": 5, "start": 583, "machine": 0, "duration": 18 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 7, "machine": 5, "duration": 54 }, { "task": 1, "start": 61, "machine": 3, "duration": 98 }, { "task": 2, "start": 233, "machine": 1, "duration": 6 }, { "task": 3, "start": 255, "machine": 0, "duration": 96 }, { "task": 4, "start": 387, "machine": 2, "duration": 88 }, { "task": 5, "start": 547, "machine": 4, "duration": 56 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 7 }, { "task": 1, "start": 7, "machine": 4, "duration": 92 }, { "task": 2, "start": 99, "machine": 2, "duration": 44 }, { "task": 3, "start": 143, "machine": 0, "duration": 61 }, { "task": 4, "start": 367, "machine": 3, "duration": 48 }, { "task": 5, "start": 415, "machine": 1, "duration": 6 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 62, "machine": 5, "duration": 79 }, { "task": 1, "start": 143, "machine": 2, "duration": 60 }, { "task": 2, "start": 204, "machine": 0, "duration": 51 }, { "task": 3, "start": 357, "machine": 3, "duration": 10 }, { "task": 4, "start": 488, "machine": 4, "duration": 59 }, { "task": 5, "start": 555, "machine": 1, "duration": 4 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 74 }, { "task": 1, "start": 99, "machine": 4, "duration": 44 }, { "task": 2, "start": 159, "machine": 3, "duration": 83 }, { "task": 3, "start": 242, "machine": 5, "duration": 99 }, { "task": 4, "start": 351, "machine": 0, "duration": 74 }, { "task": 5, "start": 475, "machine": 2, "duration": 66 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 258, "machine": 3, "duration": 99 }, { "task": 1, "start": 425, "machine": 0, "duration": 1 }, { "task": 2, "start": 472, "machine": 4, "duration": 16 }, { "task": 3, "start": 527, "machine": 1, "duration": 28 }, { "task": 4, "start": 580, "machine": 2, "duration": 8 }, { "task": 5, "start": 588, "machine": 5, "duration": 12 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 157, "machine": 1, "duration": 76 }, { "task": 1, "start": 242, "machine": 3, "duration": 16 }, { "task": 2, "start": 266, "machine": 4, "duration": 76 }, { "task": 3, "start": 350, "machine": 2, "duration": 37 }, { "task": 4, "start": 426, "machine": 0, "duration": 1 }, { "task": 5, "start": 437, "machine": 5, "duration": 33 } ] } ], "obj": 603.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "F", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 24 }, { "job_id": "J1", "task_id": 2, "machine_id": "E", "duration": 56 }, { "job_id": "J1", "task_id": 3, "machine_id": "C", "duration": 23 }, { "job_id": "J1", "task_id": 4, "machine_id": "D", "duration": 30 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 5 }, { "job_id": "J2", "task_id": 0, "machine_id": "B", "duration": 59 }, { "job_id": "J2", "task_id": 1, "machine_id": "C", "duration": 34 }, { "job_id": "J2", "task_id": 2, "machine_id": "E", "duration": 36 }, { "job_id": "J2", "task_id": 3, "machine_id": "F", "duration": 41 }, { "job_id": "J2", "task_id": 4, "machine_id": "A", "duration": 10 }, { "job_id": "J2", "task_id": 5, "machine_id": "D", "duration": 57 }, { "job_id": "J3", "task_id": 0, "machine_id": "F", "duration": 70 }, { "job_id": "J3", "task_id": 1, "machine_id": "C", "duration": 90 }, { "job_id": "J3", "task_id": 2, "machine_id": "E", "duration": 94 }, { "job_id": "J3", "task_id": 3, "machine_id": "B", "duration": 14 }, { "job_id": "J3", "task_id": 4, "machine_id": "D", "duration": 91 }, { "job_id": "J3", "task_id": 5, "machine_id": "A", "duration": 42 }, { "job_id": "J4", "task_id": 0, "machine_id": "D", "duration": 9 }, { "job_id": "J4", "task_id": 1, "machine_id": "E", "duration": 67 }, { "job_id": "J4", "task_id": 2, "machine_id": "F", "duration": 96 }, { "job_id": "J4", "task_id": 3, "machine_id": "B", "duration": 77 }, { "job_id": "J4", "task_id": 4, "machine_id": "C", "duration": 39 }, { "job_id": "J4", "task_id": 5, "machine_id": "A", "duration": 18 }, { "job_id": "J5", "task_id": 0, "machine_id": "F", "duration": 54 }, { "job_id": "J5", "task_id": 1, "machine_id": "D", "duration": 98 }, { "job_id": "J5", "task_id": 2, "machine_id": "B", "duration": 6 }, { "job_id": "J5", "task_id": 3, "machine_id": "A", "duration": 96 }, { "job_id": "J5", "task_id": 4, "machine_id": "C", "duration": 88 }, { "job_id": "J5", "task_id": 5, "machine_id": "E", "duration": 56 }, { "job_id": "J6", "task_id": 0, "machine_id": "F", "duration": 7 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 92 }, { "job_id": "J6", "task_id": 2, "machine_id": "C", "duration": 44 }, { "job_id": "J6", "task_id": 3, "machine_id": "A", "duration": 61 }, { "job_id": "J6", "task_id": 4, "machine_id": "D", "duration": 48 }, { "job_id": "J6", "task_id": 5, "machine_id": "B", "duration": 6 }, { "job_id": "J7", "task_id": 0, "machine_id": "F", "duration": 79 }, { "job_id": "J7", "task_id": 1, "machine_id": "C", "duration": 60 }, { "job_id": "J7", "task_id": 2, "machine_id": "A", "duration": 51 }, { "job_id": "J7", "task_id": 3, "machine_id": "D", "duration": 10 }, { "job_id": "J7", "task_id": 4, "machine_id": "E", "duration": 59 }, { "job_id": "J7", "task_id": 5, "machine_id": "B", "duration": 4 }, { "job_id": "J8", "task_id": 0, "machine_id": "B", "duration": 74 }, { "job_id": "J8", "task_id": 1, "machine_id": "E", "duration": 44 }, { "job_id": "J8", "task_id": 2, "machine_id": "D", "duration": 83 }, { "job_id": "J8", "task_id": 3, "machine_id": "F", "duration": 99 }, { "job_id": "J8", "task_id": 4, "machine_id": "A", "duration": 74 }, { "job_id": "J8", "task_id": 5, "machine_id": "C", "duration": 66 }, { "job_id": "J9", "task_id": 0, "machine_id": "D", "duration": 99 }, { "job_id": "J9", "task_id": 1, "machine_id": "A", "duration": 1 }, { "job_id": "J9", "task_id": 2, "machine_id": "E", "duration": 16 }, { "job_id": "J9", "task_id": 3, "machine_id": "B", "duration": 28 }, { "job_id": "J9", "task_id": 4, "machine_id": "C", "duration": 8 }, { "job_id": "J9", "task_id": 5, "machine_id": "F", "duration": 12 }, { "job_id": "J10", "task_id": 0, "machine_id": "B", "duration": 76 }, { "job_id": "J10", "task_id": 1, "machine_id": "D", "duration": 16 }, { "job_id": "J10", "task_id": 2, "machine_id": "E", "duration": 76 }, { "job_id": "J10", "task_id": 3, "machine_id": "C", "duration": 37 }, { "job_id": "J10", "task_id": 4, "machine_id": "A", "duration": 1 }, { "job_id": "J10", "task_id": 5, "machine_id": "F", "duration": 33 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 61, "machine": "F", "duration": 1 }, { "task": 1, "start": 133, "machine": "B", "duration": 24 }, { "task": 2, "start": 210, "machine": "E", "duration": 56 }, { "task": 3, "start": 327, "machine": "C", "duration": 23 }, { "task": 4, "start": 415, "machine": "D", "duration": 30 }, { "task": 5, "start": 445, "machine": "A", "duration": 5 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 74, "machine": "B", "duration": 59 }, { "task": 1, "start": 203, "machine": "C", "duration": 34 }, { "task": 2, "start": 436, "machine": "E", "duration": 36 }, { "task": 3, "start": 472, "machine": "F", "duration": 41 }, { "task": 4, "start": 513, "machine": "A", "duration": 10 }, { "task": 5, "start": 541, "machine": "D", "duration": 57 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 141, "machine": "F", "duration": 70 }, { "task": 1, "start": 237, "machine": "C", "duration": 90 }, { "task": 2, "start": 342, "machine": "E", "duration": 94 }, { "task": 3, "start": 436, "machine": "B", "duration": 14 }, { "task": 4, "start": 450, "machine": "D", "duration": 91 }, { "task": 5, "start": 541, "machine": "A", "duration": 42 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 9 }, { "task": 1, "start": 143, "machine": "E", "duration": 67 }, { "task": 2, "start": 341, "machine": "F", "duration": 96 }, { "task": 3, "start": 450, "machine": "B", "duration": 77 }, { "task": 4, "start": 541, "machine": "C", "duration": 39 }, { "task": 5, "start": 583, "machine": "A", "duration": 18 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 7, "machine": "F", "duration": 54 }, { "task": 1, "start": 61, "machine": "D", "duration": 98 }, { "task": 2, "start": 233, "machine": "B", "duration": 6 }, { "task": 3, "start": 255, "machine": "A", "duration": 96 }, { "task": 4, "start": 387, "machine": "C", "duration": 88 }, { "task": 5, "start": 547, "machine": "E", "duration": 56 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "F", "duration": 7 }, { "task": 1, "start": 7, "machine": "E", "duration": 92 }, { "task": 2, "start": 99, "machine": "C", "duration": 44 }, { "task": 3, "start": 143, "machine": "A", "duration": 61 }, { "task": 4, "start": 367, "machine": "D", "duration": 48 }, { "task": 5, "start": 415, "machine": "B", "duration": 6 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 62, "machine": "F", "duration": 79 }, { "task": 1, "start": 143, "machine": "C", "duration": 60 }, { "task": 2, "start": 204, "machine": "A", "duration": 51 }, { "task": 3, "start": 357, "machine": "D", "duration": 10 }, { "task": 4, "start": 488, "machine": "E", "duration": 59 }, { "task": 5, "start": 555, "machine": "B", "duration": 4 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 74 }, { "task": 1, "start": 99, "machine": "E", "duration": 44 }, { "task": 2, "start": 159, "machine": "D", "duration": 83 }, { "task": 3, "start": 242, "machine": "F", "duration": 99 }, { "task": 4, "start": 351, "machine": "A", "duration": 74 }, { "task": 5, "start": 475, "machine": "C", "duration": 66 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 258, "machine": "D", "duration": 99 }, { "task": 1, "start": 425, "machine": "A", "duration": 1 }, { "task": 2, "start": 472, "machine": "E", "duration": 16 }, { "task": 3, "start": 527, "machine": "B", "duration": 28 }, { "task": 4, "start": 580, "machine": "C", "duration": 8 }, { "task": 5, "start": 588, "machine": "F", "duration": 12 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 157, "machine": "B", "duration": 76 }, { "task": 1, "start": 242, "machine": "D", "duration": 16 }, { "task": 2, "start": 266, "machine": "E", "duration": 76 }, { "task": 3, "start": 350, "machine": "C", "duration": 37 }, { "task": 4, "start": 426, "machine": "A", "duration": 1 }, { "task": 5, "start": 437, "machine": "F", "duration": 33 } ] } ], "context_index": 14, "input_format": "markdown_table", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "We’re juggling several landscaping jobs at once, and the task is to slot each site activity onto its assigned machine and pick start times so things move smoothly. Each job has a fixed sequence of steps that must happen in order, machines can’t do overlapping work, and every step must be scheduled exactly once for its full duration. A schedule is judged by when the very last job wraps up — just check each job’s finish time and use the latest one; the sooner that is, the better. The concrete project details and timings are shown below.\n\n{\n \"number_of_projects\": 9,\n \"number_of_machines\": 5,\n \"project_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\"\n ],\n \"machine_ids\": [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\"\n ],\n \"tasks\": [\n {\n \"project_id\": \"J1\",\n \"activity_index\": 0,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 1\n },\n {\n \"project_id\": \"J1\",\n \"activity_index\": 1,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 37\n },\n {\n \"project_id\": \"J1\",\n \"activity_index\": 2,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 32\n },\n {\n \"project_id\": \"J1\",\n \"activity_index\": 3,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 68\n },\n {\n \"project_id\": \"J1\",\n \"activity_index\": 4,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 83\n },\n {\n \"project_id\": \"J2\",\n \"activity_index\": 0,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 26\n },\n {\n \"project_id\": \"J2\",\n \"activity_index\": 1,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 63\n },\n {\n \"project_id\": \"J2\",\n \"activity_index\": 2,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 2\n },\n {\n \"project_id\": \"J2\",\n \"activity_index\": 3,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 5\n },\n {\n \"project_id\": \"J2\",\n \"activity_index\": 4,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 34\n },\n {\n \"project_id\": \"J3\",\n \"activity_index\": 0,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 48\n },\n {\n \"project_id\": \"J3\",\n \"activity_index\": 1,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 9\n },\n {\n \"project_id\": \"J3\",\n \"activity_index\": 2,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 53\n },\n {\n \"project_id\": \"J3\",\n \"activity_index\": 3,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 93\n },\n {\n \"project_id\": \"J3\",\n \"activity_index\": 4,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 99\n },\n {\n \"project_id\": \"J4\",\n \"activity_index\": 0,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 66\n },\n {\n \"project_id\": \"J4\",\n \"activity_index\": 1,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 58\n },\n {\n \"project_id\": \"J4\",\n \"activity_index\": 2,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 43\n },\n {\n \"project_id\": \"J4\",\n \"activity_index\": 3,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 47\n },\n {\n \"project_id\": \"J4\",\n \"activity_index\": 4,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 74\n },\n {\n \"project_id\": \"J5\",\n \"activity_index\": 0,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 38\n },\n {\n \"project_id\": \"J5\",\n \"activity_index\": 1,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 46\n },\n {\n \"project_id\": \"J5\",\n \"activity_index\": 2,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 98\n },\n {\n \"project_id\": \"J5\",\n \"activity_index\": 3,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 11\n },\n {\n \"project_id\": \"J5\",\n \"activity_index\": 4,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 39\n },\n {\n \"project_id\": \"J6\",\n \"activity_index\": 0,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 51\n },\n {\n \"project_id\": \"J6\",\n \"activity_index\": 1,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 15\n },\n {\n \"project_id\": \"J6\",\n \"activity_index\": 2,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 62\n },\n {\n \"project_id\": \"J6\",\n \"activity_index\": 3,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 30\n },\n {\n \"project_id\": \"J6\",\n \"activity_index\": 4,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 27\n },\n {\n \"project_id\": \"J7\",\n \"activity_index\": 0,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 97\n },\n {\n \"project_id\": \"J7\",\n \"activity_index\": 1,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 68\n },\n {\n \"project_id\": \"J7\",\n \"activity_index\": 2,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 70\n },\n {\n \"project_id\": \"J7\",\n \"activity_index\": 3,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 66\n },\n {\n \"project_id\": \"J7\",\n \"activity_index\": 4,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 22\n },\n {\n \"project_id\": \"J8\",\n \"activity_index\": 0,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 38\n },\n {\n \"project_id\": \"J8\",\n \"activity_index\": 1,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 43\n },\n {\n \"project_id\": \"J8\",\n \"activity_index\": 2,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 36\n },\n {\n \"project_id\": \"J8\",\n \"activity_index\": 3,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 50\n },\n {\n \"project_id\": \"J8\",\n \"activity_index\": 4,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 46\n },\n {\n \"project_id\": \"J9\",\n \"activity_index\": 0,\n \"required_machine_id\": \"C\",\n \"activity_duration\": 83\n },\n {\n \"project_id\": \"J9\",\n \"activity_index\": 1,\n \"required_machine_id\": \"D\",\n \"activity_duration\": 3\n },\n {\n \"project_id\": \"J9\",\n \"activity_index\": 2,\n \"required_machine_id\": \"A\",\n \"activity_duration\": 47\n },\n {\n \"project_id\": \"J9\",\n \"activity_index\": 3,\n \"required_machine_id\": \"E\",\n \"activity_duration\": 19\n },\n {\n \"project_id\": \"J9\",\n \"activity_index\": 4,\n \"required_machine_id\": \"B\",\n \"activity_duration\": 49\n }\n ]\n}\n\nWhen you hand me the schedule, just drop it into a small JSON snippet like this so I can parse it easily:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis shows the shape I expect: a top-level \"solution\" list with one entry per job, each job saying which job it is and listing its tasks; each task lists its index in the job, the start time, which machine it runs on, and how long it takes. Think of it like filling out a simple form for each job step — nothing fussy.\n\nThis JSON is only a sketch of the expected shape, not the actual answer. Please use the exact identifiers from the instance input — do not rename jobs or machines or invent new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 3, 1 ], [ 4, 37 ], [ 1, 32 ], [ 2, 68 ], [ 0, 83 ] ], [ [ 4, 26 ], [ 1, 63 ], [ 0, 2 ], [ 3, 5 ], [ 2, 34 ] ], [ [ 2, 48 ], [ 4, 9 ], [ 3, 53 ], [ 1, 93 ], [ 0, 99 ] ], [ [ 4, 66 ], [ 3, 58 ], [ 1, 43 ], [ 2, 47 ], [ 0, 74 ] ], [ [ 2, 38 ], [ 4, 46 ], [ 3, 98 ], [ 1, 11 ], [ 0, 39 ] ], [ [ 4, 51 ], [ 3, 15 ], [ 2, 62 ], [ 0, 30 ], [ 1, 27 ] ], [ [ 4, 97 ], [ 1, 68 ], [ 2, 70 ], [ 3, 66 ], [ 0, 22 ] ], [ [ 2, 38 ], [ 4, 43 ], [ 3, 36 ], [ 0, 50 ], [ 1, 46 ] ], [ [ 2, 83 ], [ 3, 3 ], [ 0, 47 ], [ 4, 19 ], [ 1, 49 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 1, "machine": 4, "duration": 37 }, { "task": 2, "start": 38, "machine": 1, "duration": 32 }, { "task": 3, "start": 86, "machine": 2, "duration": 68 }, { "task": 4, "start": 167, "machine": 0, "duration": 83 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 81, "machine": 4, "duration": 26 }, { "task": 1, "start": 107, "machine": 1, "duration": 63 }, { "task": 2, "start": 250, "machine": 0, "duration": 2 }, { "task": 3, "start": 252, "machine": 3, "duration": 5 }, { "task": 4, "start": 468, "machine": 2, "duration": 34 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 38, "machine": 2, "duration": 48 }, { "task": 1, "start": 107, "machine": 4, "duration": 9 }, { "task": 2, "start": 117, "machine": 3, "duration": 53 }, { "task": 3, "start": 170, "machine": 1, "duration": 93 }, { "task": 4, "start": 299, "machine": 0, "duration": 99 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 116, "machine": 4, "duration": 66 }, { "task": 1, "start": 182, "machine": 3, "duration": 58 }, { "task": 2, "start": 263, "machine": 1, "duration": 43 }, { "task": 3, "start": 337, "machine": 2, "duration": 47 }, { "task": 4, "start": 398, "machine": 0, "duration": 74 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 237, "machine": 2, "duration": 38 }, { "task": 1, "start": 330, "machine": 4, "duration": 46 }, { "task": 2, "start": 376, "machine": 3, "duration": 98 }, { "task": 3, "start": 474, "machine": 1, "duration": 11 }, { "task": 4, "start": 502, "machine": 0, "duration": 39 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 182, "machine": 4, "duration": 51 }, { "task": 1, "start": 257, "machine": 3, "duration": 15 }, { "task": 2, "start": 275, "machine": 2, "duration": 62 }, { "task": 3, "start": 472, "machine": 0, "duration": 30 }, { "task": 4, "start": 531, "machine": 1, "duration": 27 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 233, "machine": 4, "duration": 97 }, { "task": 1, "start": 330, "machine": 1, "duration": 68 }, { "task": 2, "start": 398, "machine": 2, "duration": 70 }, { "task": 3, "start": 474, "machine": 3, "duration": 66 }, { "task": 4, "start": 541, "machine": 0, "duration": 22 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 38 }, { "task": 1, "start": 38, "machine": 4, "duration": 43 }, { "task": 2, "start": 81, "machine": 3, "duration": 36 }, { "task": 3, "start": 117, "machine": 0, "duration": 50 }, { "task": 4, "start": 485, "machine": 1, "duration": 46 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 154, "machine": 2, "duration": 83 }, { "task": 1, "start": 240, "machine": 3, "duration": 3 }, { "task": 2, "start": 252, "machine": 0, "duration": 47 }, { "task": 3, "start": 376, "machine": 4, "duration": 19 }, { "task": 4, "start": 398, "machine": 1, "duration": 49 } ] } ], "obj": 563.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "D", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 37 }, { "job_id": "J1", "task_id": 2, "machine_id": "B", "duration": 32 }, { "job_id": "J1", "task_id": 3, "machine_id": "C", "duration": 68 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 83 }, { "job_id": "J2", "task_id": 0, "machine_id": "E", "duration": 26 }, { "job_id": "J2", "task_id": 1, "machine_id": "B", "duration": 63 }, { "job_id": "J2", "task_id": 2, "machine_id": "A", "duration": 2 }, { "job_id": "J2", "task_id": 3, "machine_id": "D", "duration": 5 }, { "job_id": "J2", "task_id": 4, "machine_id": "C", "duration": 34 }, { "job_id": "J3", "task_id": 0, "machine_id": "C", "duration": 48 }, { "job_id": "J3", "task_id": 1, "machine_id": "E", "duration": 9 }, { "job_id": "J3", "task_id": 2, "machine_id": "D", "duration": 53 }, { "job_id": "J3", "task_id": 3, "machine_id": "B", "duration": 93 }, { "job_id": "J3", "task_id": 4, "machine_id": "A", "duration": 99 }, { "job_id": "J4", "task_id": 0, "machine_id": "E", "duration": 66 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 58 }, { "job_id": "J4", "task_id": 2, "machine_id": "B", "duration": 43 }, { "job_id": "J4", "task_id": 3, "machine_id": "C", "duration": 47 }, { "job_id": "J4", "task_id": 4, "machine_id": "A", "duration": 74 }, { "job_id": "J5", "task_id": 0, "machine_id": "C", "duration": 38 }, { "job_id": "J5", "task_id": 1, "machine_id": "E", "duration": 46 }, { "job_id": "J5", "task_id": 2, "machine_id": "D", "duration": 98 }, { "job_id": "J5", "task_id": 3, "machine_id": "B", "duration": 11 }, { "job_id": "J5", "task_id": 4, "machine_id": "A", "duration": 39 }, { "job_id": "J6", "task_id": 0, "machine_id": "E", "duration": 51 }, { "job_id": "J6", "task_id": 1, "machine_id": "D", "duration": 15 }, { "job_id": "J6", "task_id": 2, "machine_id": "C", "duration": 62 }, { "job_id": "J6", "task_id": 3, "machine_id": "A", "duration": 30 }, { "job_id": "J6", "task_id": 4, "machine_id": "B", "duration": 27 }, { "job_id": "J7", "task_id": 0, "machine_id": "E", "duration": 97 }, { "job_id": "J7", "task_id": 1, "machine_id": "B", "duration": 68 }, { "job_id": "J7", "task_id": 2, "machine_id": "C", "duration": 70 }, { "job_id": "J7", "task_id": 3, "machine_id": "D", "duration": 66 }, { "job_id": "J7", "task_id": 4, "machine_id": "A", "duration": 22 }, { "job_id": "J8", "task_id": 0, "machine_id": "C", "duration": 38 }, { "job_id": "J8", "task_id": 1, "machine_id": "E", "duration": 43 }, { "job_id": "J8", "task_id": 2, "machine_id": "D", "duration": 36 }, { "job_id": "J8", "task_id": 3, "machine_id": "A", "duration": 50 }, { "job_id": "J8", "task_id": 4, "machine_id": "B", "duration": 46 }, { "job_id": "J9", "task_id": 0, "machine_id": "C", "duration": 83 }, { "job_id": "J9", "task_id": 1, "machine_id": "D", "duration": 3 }, { "job_id": "J9", "task_id": 2, "machine_id": "A", "duration": 47 }, { "job_id": "J9", "task_id": 3, "machine_id": "E", "duration": 19 }, { "job_id": "J9", "task_id": 4, "machine_id": "B", "duration": 49 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 1 }, { "task": 1, "start": 1, "machine": "E", "duration": 37 }, { "task": 2, "start": 38, "machine": "B", "duration": 32 }, { "task": 3, "start": 86, "machine": "C", "duration": 68 }, { "task": 4, "start": 167, "machine": "A", "duration": 83 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 81, "machine": "E", "duration": 26 }, { "task": 1, "start": 107, "machine": "B", "duration": 63 }, { "task": 2, "start": 250, "machine": "A", "duration": 2 }, { "task": 3, "start": 252, "machine": "D", "duration": 5 }, { "task": 4, "start": 468, "machine": "C", "duration": 34 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 38, "machine": "C", "duration": 48 }, { "task": 1, "start": 107, "machine": "E", "duration": 9 }, { "task": 2, "start": 117, "machine": "D", "duration": 53 }, { "task": 3, "start": 170, "machine": "B", "duration": 93 }, { "task": 4, "start": 299, "machine": "A", "duration": 99 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 116, "machine": "E", "duration": 66 }, { "task": 1, "start": 182, "machine": "D", "duration": 58 }, { "task": 2, "start": 263, "machine": "B", "duration": 43 }, { "task": 3, "start": 337, "machine": "C", "duration": 47 }, { "task": 4, "start": 398, "machine": "A", "duration": 74 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 237, "machine": "C", "duration": 38 }, { "task": 1, "start": 330, "machine": "E", "duration": 46 }, { "task": 2, "start": 376, "machine": "D", "duration": 98 }, { "task": 3, "start": 474, "machine": "B", "duration": 11 }, { "task": 4, "start": 502, "machine": "A", "duration": 39 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 182, "machine": "E", "duration": 51 }, { "task": 1, "start": 257, "machine": "D", "duration": 15 }, { "task": 2, "start": 275, "machine": "C", "duration": 62 }, { "task": 3, "start": 472, "machine": "A", "duration": 30 }, { "task": 4, "start": 531, "machine": "B", "duration": 27 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 233, "machine": "E", "duration": 97 }, { "task": 1, "start": 330, "machine": "B", "duration": 68 }, { "task": 2, "start": 398, "machine": "C", "duration": 70 }, { "task": 3, "start": 474, "machine": "D", "duration": 66 }, { "task": 4, "start": 541, "machine": "A", "duration": 22 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 38 }, { "task": 1, "start": 38, "machine": "E", "duration": 43 }, { "task": 2, "start": 81, "machine": "D", "duration": 36 }, { "task": 3, "start": 117, "machine": "A", "duration": 50 }, { "task": 4, "start": 485, "machine": "B", "duration": 46 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 154, "machine": "C", "duration": 83 }, { "task": 1, "start": 240, "machine": "D", "duration": 3 }, { "task": 2, "start": 252, "machine": "A", "duration": 47 }, { "task": 3, "start": 376, "machine": "E", "duration": 19 }, { "task": 4, "start": 398, "machine": "B", "duration": 49 } ] } ], "context_index": 15, "input_format": "json", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "We have a pile of circuit boards waiting and each board needs a fixed sequence of operations on specific stations — pick-and-place, solder, test, whatever — each taking a set time. Stations can’t be in two places at once and the operations for any individual board must happen in the order they’re listed, so the challenge is arranging who goes where and when so the entire batch comes off the line as soon as possible; the score is simply the time when the final board is finished. Concrete details about which board needs which steps and how long they take appear below.\n\n{\n \"num_boards\": 12,\n \"num_stations\": 5,\n \"board_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\",\n \"J11\",\n \"J12\"\n ],\n \"station_ids\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ],\n \"tasks\": [\n {\n \"board_id\": \"J1\",\n \"operation_index\": 0,\n \"station_id\": 3,\n \"processing_time\": 1\n },\n {\n \"board_id\": \"J1\",\n \"operation_index\": 1,\n \"station_id\": 2,\n \"processing_time\": 50\n },\n {\n \"board_id\": \"J1\",\n \"operation_index\": 2,\n \"station_id\": 5,\n \"processing_time\": 7\n },\n {\n \"board_id\": \"J1\",\n \"operation_index\": 3,\n \"station_id\": 4,\n \"processing_time\": 15\n },\n {\n \"board_id\": \"J1\",\n \"operation_index\": 4,\n \"station_id\": 1,\n \"processing_time\": 37\n },\n {\n \"board_id\": \"J2\",\n \"operation_index\": 0,\n \"station_id\": 2,\n \"processing_time\": 48\n },\n {\n \"board_id\": \"J2\",\n \"operation_index\": 1,\n \"station_id\": 3,\n \"processing_time\": 68\n },\n {\n \"board_id\": \"J2\",\n \"operation_index\": 2,\n \"station_id\": 4,\n \"processing_time\": 69\n },\n {\n \"board_id\": \"J2\",\n \"operation_index\": 3,\n \"station_id\": 5,\n \"processing_time\": 72\n },\n {\n \"board_id\": \"J2\",\n \"operation_index\": 4,\n \"station_id\": 1,\n \"processing_time\": 28\n },\n {\n \"board_id\": \"J3\",\n \"operation_index\": 0,\n \"station_id\": 5,\n \"processing_time\": 86\n },\n {\n \"board_id\": \"J3\",\n \"operation_index\": 1,\n \"station_id\": 2,\n \"processing_time\": 61\n },\n {\n \"board_id\": \"J3\",\n \"operation_index\": 2,\n \"station_id\": 3,\n \"processing_time\": 37\n },\n {\n \"board_id\": \"J3\",\n \"operation_index\": 3,\n \"station_id\": 1,\n \"processing_time\": 97\n },\n {\n \"board_id\": \"J3\",\n \"operation_index\": 4,\n \"station_id\": 4,\n \"processing_time\": 5\n },\n {\n \"board_id\": \"J4\",\n \"operation_index\": 0,\n \"station_id\": 4,\n \"processing_time\": 20\n },\n {\n \"board_id\": \"J4\",\n \"operation_index\": 1,\n \"station_id\": 5,\n \"processing_time\": 26\n },\n {\n \"board_id\": \"J4\",\n \"operation_index\": 2,\n \"station_id\": 2,\n \"processing_time\": 44\n },\n {\n \"board_id\": \"J4\",\n \"operation_index\": 3,\n \"station_id\": 3,\n \"processing_time\": 85\n },\n {\n \"board_id\": \"J4\",\n \"operation_index\": 4,\n \"station_id\": 1,\n \"processing_time\": 81\n },\n {\n \"board_id\": \"J5\",\n \"operation_index\": 0,\n \"station_id\": 5,\n \"processing_time\": 79\n },\n {\n \"board_id\": \"J5\",\n \"operation_index\": 1,\n \"station_id\": 3,\n \"processing_time\": 15\n },\n {\n \"board_id\": \"J5\",\n \"operation_index\": 2,\n \"station_id\": 1,\n \"processing_time\": 57\n },\n {\n \"board_id\": \"J5\",\n \"operation_index\": 3,\n \"station_id\": 2,\n \"processing_time\": 4\n },\n {\n \"board_id\": \"J5\",\n \"operation_index\": 4,\n \"station_id\": 4,\n \"processing_time\": 23\n },\n {\n \"board_id\": \"J6\",\n \"operation_index\": 0,\n \"station_id\": 3,\n \"processing_time\": 4\n },\n {\n \"board_id\": \"J6\",\n \"operation_index\": 1,\n \"station_id\": 1,\n \"processing_time\": 24\n },\n {\n \"board_id\": \"J6\",\n \"operation_index\": 2,\n \"station_id\": 2,\n \"processing_time\": 28\n },\n {\n \"board_id\": \"J6\",\n \"operation_index\": 3,\n \"station_id\": 5,\n \"processing_time\": 71\n },\n {\n \"board_id\": \"J6\",\n \"operation_index\": 4,\n \"station_id\": 4,\n \"processing_time\": 96\n },\n {\n \"board_id\": \"J7\",\n \"operation_index\": 0,\n \"station_id\": 4,\n \"processing_time\": 88\n },\n {\n \"board_id\": \"J7\",\n \"operation_index\": 1,\n \"station_id\": 1,\n \"processing_time\": 45\n },\n {\n \"board_id\": \"J7\",\n \"operation_index\": 2,\n \"station_id\": 3,\n \"processing_time\": 96\n },\n {\n \"board_id\": \"J7\",\n \"operation_index\": 3,\n \"station_id\": 2,\n \"processing_time\": 70\n },\n {\n \"board_id\": \"J7\",\n \"operation_index\": 4,\n \"station_id\": 5,\n \"processing_time\": 95\n },\n {\n \"board_id\": \"J8\",\n \"operation_index\": 0,\n \"station_id\": 2,\n \"processing_time\": 71\n },\n {\n \"board_id\": \"J8\",\n \"operation_index\": 1,\n \"station_id\": 3,\n \"processing_time\": 6\n },\n {\n \"board_id\": \"J8\",\n \"operation_index\": 2,\n \"station_id\": 1,\n \"processing_time\": 12\n },\n {\n \"board_id\": \"J8\",\n \"operation_index\": 3,\n \"station_id\": 5,\n \"processing_time\": 49\n },\n {\n \"board_id\": \"J8\",\n \"operation_index\": 4,\n \"station_id\": 4,\n \"processing_time\": 82\n },\n {\n \"board_id\": \"J9\",\n \"operation_index\": 0,\n \"station_id\": 4,\n \"processing_time\": 9\n },\n {\n \"board_id\": \"J9\",\n \"operation_index\": 1,\n \"station_id\": 1,\n \"processing_time\": 1\n },\n {\n \"board_id\": \"J9\",\n \"operation_index\": 2,\n \"station_id\": 5,\n \"processing_time\": 19\n },\n {\n \"board_id\": \"J9\",\n \"operation_index\": 3,\n \"station_id\": 2,\n \"processing_time\": 94\n },\n {\n \"board_id\": \"J9\",\n \"operation_index\": 4,\n \"station_id\": 3,\n \"processing_time\": 14\n },\n {\n \"board_id\": \"J10\",\n \"operation_index\": 0,\n \"station_id\": 2,\n \"processing_time\": 15\n },\n {\n \"board_id\": \"J10\",\n \"operation_index\": 1,\n \"station_id\": 4,\n \"processing_time\": 1\n },\n {\n \"board_id\": \"J10\",\n \"operation_index\": 2,\n \"station_id\": 5,\n \"processing_time\": 43\n },\n {\n \"board_id\": \"J10\",\n \"operation_index\": 3,\n \"station_id\": 1,\n \"processing_time\": 54\n },\n {\n \"board_id\": \"J10\",\n \"operation_index\": 4,\n \"station_id\": 3,\n \"processing_time\": 87\n },\n {\n \"board_id\": \"J11\",\n \"operation_index\": 0,\n \"station_id\": 2,\n \"processing_time\": 69\n },\n {\n \"board_id\": \"J11\",\n \"operation_index\": 1,\n \"station_id\": 1,\n \"processing_time\": 23\n },\n {\n \"board_id\": \"J11\",\n \"operation_index\": 2,\n \"station_id\": 4,\n \"processing_time\": 55\n },\n {\n \"board_id\": \"J11\",\n \"operation_index\": 3,\n \"station_id\": 5,\n \"processing_time\": 67\n },\n {\n \"board_id\": \"J11\",\n \"operation_index\": 4,\n \"station_id\": 3,\n \"processing_time\": 48\n },\n {\n \"board_id\": \"J12\",\n \"operation_index\": 0,\n \"station_id\": 3,\n \"processing_time\": 49\n },\n {\n \"board_id\": \"J12\",\n \"operation_index\": 1,\n \"station_id\": 4,\n \"processing_time\": 73\n },\n {\n \"board_id\": \"J12\",\n \"operation_index\": 2,\n \"station_id\": 5,\n \"processing_time\": 17\n },\n {\n \"board_id\": \"J12\",\n \"operation_index\": 3,\n \"station_id\": 1,\n \"processing_time\": 82\n },\n {\n \"board_id\": \"J12\",\n \"operation_index\": 4,\n \"station_id\": 2,\n \"processing_time\": 45\n }\n ]\n}\n\nAlso, when you send the actual schedule back, please stick to this JSON layout so everything lines up cleanly — nothing fancy, just that shape.\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of this like a simple form: \"solution\" is a list of boards (jobs). Each board entry has a job identifier and a list of its tasks. For each task you give the task index (which step it is for that board), the start time you schedule it, which machine/station it runs on, and how long it runs. Super casual — just fill in those fields for every job and task.\n\nThis JSON is only a sketch of the expected shape, not the actual schedule — fill it with the real numbers and ids when you submit the solution.\n\nMake sure all identifiers match the instance input exactly — do not rename or invent labels. For example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 12, "jobs": [ [ [ 2, 1 ], [ 1, 50 ], [ 4, 7 ], [ 3, 15 ], [ 0, 37 ] ], [ [ 1, 48 ], [ 2, 68 ], [ 3, 69 ], [ 4, 72 ], [ 0, 28 ] ], [ [ 4, 86 ], [ 1, 61 ], [ 2, 37 ], [ 0, 97 ], [ 3, 5 ] ], [ [ 3, 20 ], [ 4, 26 ], [ 1, 44 ], [ 2, 85 ], [ 0, 81 ] ], [ [ 4, 79 ], [ 2, 15 ], [ 0, 57 ], [ 1, 4 ], [ 3, 23 ] ], [ [ 2, 4 ], [ 0, 24 ], [ 1, 28 ], [ 4, 71 ], [ 3, 96 ] ], [ [ 3, 88 ], [ 0, 45 ], [ 2, 96 ], [ 1, 70 ], [ 4, 95 ] ], [ [ 1, 71 ], [ 2, 6 ], [ 0, 12 ], [ 4, 49 ], [ 3, 82 ] ], [ [ 3, 9 ], [ 0, 1 ], [ 4, 19 ], [ 1, 94 ], [ 2, 14 ] ], [ [ 1, 15 ], [ 3, 1 ], [ 4, 43 ], [ 0, 54 ], [ 2, 87 ] ], [ [ 1, 69 ], [ 0, 23 ], [ 3, 55 ], [ 4, 67 ], [ 2, 48 ] ], [ [ 2, 49 ], [ 3, 73 ], [ 4, 17 ], [ 0, 82 ], [ 1, 45 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 121, "machine": 2, "duration": 1 }, { "task": 1, "start": 451, "machine": 1, "duration": 50 }, { "task": 2, "start": 529, "machine": 4, "duration": 7 }, { "task": 3, "start": 567, "machine": 3, "duration": 15 }, { "task": 4, "start": 594, "machine": 0, "duration": 37 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 48 }, { "task": 1, "start": 49, "machine": 2, "duration": 68 }, { "task": 2, "start": 237, "machine": 3, "duration": 69 }, { "task": 3, "start": 457, "machine": 4, "duration": 72 }, { "task": 4, "start": 566, "machine": 0, "duration": 28 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 86 }, { "task": 1, "start": 203, "machine": 1, "duration": 61 }, { "task": 2, "start": 305, "machine": 2, "duration": 37 }, { "task": 3, "start": 388, "machine": 0, "duration": 97 }, { "task": 4, "start": 582, "machine": 3, "duration": 5 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 161, "machine": 3, "duration": 20 }, { "task": 1, "start": 182, "machine": 4, "duration": 26 }, { "task": 2, "start": 292, "machine": 1, "duration": 44 }, { "task": 3, "start": 390, "machine": 2, "duration": 85 }, { "task": 4, "start": 485, "machine": 0, "duration": 81 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 86, "machine": 4, "duration": 79 }, { "task": 1, "start": 165, "machine": 2, "duration": 15 }, { "task": 2, "start": 264, "machine": 0, "duration": 57 }, { "task": 3, "start": 501, "machine": 1, "duration": 4 }, { "task": 4, "start": 587, "machine": 3, "duration": 23 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 117, "machine": 2, "duration": 4 }, { "task": 1, "start": 133, "machine": 0, "duration": 24 }, { "task": 2, "start": 264, "machine": 1, "duration": 28 }, { "task": 3, "start": 318, "machine": 4, "duration": 71 }, { "task": 4, "start": 389, "machine": 3, "duration": 96 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 88 }, { "task": 1, "start": 88, "machine": 0, "duration": 45 }, { "task": 2, "start": 209, "machine": 2, "duration": 96 }, { "task": 3, "start": 381, "machine": 1, "duration": 70 }, { "task": 4, "start": 536, "machine": 4, "duration": 95 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 132, "machine": 1, "duration": 71 }, { "task": 1, "start": 203, "machine": 2, "duration": 6 }, { "task": 2, "start": 321, "machine": 0, "duration": 12 }, { "task": 3, "start": 389, "machine": 4, "duration": 49 }, { "task": 4, "start": 485, "machine": 3, "duration": 82 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 306, "machine": 3, "duration": 9 }, { "task": 1, "start": 387, "machine": 0, "duration": 1 }, { "task": 2, "start": 438, "machine": 4, "duration": 19 }, { "task": 3, "start": 505, "machine": 1, "duration": 94 }, { "task": 4, "start": 599, "machine": 2, "duration": 14 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 117, "machine": 1, "duration": 15 }, { "task": 1, "start": 181, "machine": 3, "duration": 1 }, { "task": 2, "start": 208, "machine": 4, "duration": 43 }, { "task": 3, "start": 333, "machine": 0, "duration": 54 }, { "task": 4, "start": 475, "machine": 2, "duration": 87 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 48, "machine": 1, "duration": 69 }, { "task": 1, "start": 157, "machine": 0, "duration": 23 }, { "task": 2, "start": 182, "machine": 3, "duration": 55 }, { "task": 3, "start": 251, "machine": 4, "duration": 67 }, { "task": 4, "start": 342, "machine": 2, "duration": 48 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 49 }, { "task": 1, "start": 88, "machine": 3, "duration": 73 }, { "task": 2, "start": 165, "machine": 4, "duration": 17 }, { "task": 3, "start": 182, "machine": 0, "duration": 82 }, { "task": 4, "start": 336, "machine": 1, "duration": 45 } ] } ], "obj": 631.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 50 }, { "job_id": "J1", "task_id": 2, "machine_id": 5, "duration": 7 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 15 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 37 }, { "job_id": "J2", "task_id": 0, "machine_id": 2, "duration": 48 }, { "job_id": "J2", "task_id": 1, "machine_id": 3, "duration": 68 }, { "job_id": "J2", "task_id": 2, "machine_id": 4, "duration": 69 }, { "job_id": "J2", "task_id": 3, "machine_id": 5, "duration": 72 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 28 }, { "job_id": "J3", "task_id": 0, "machine_id": 5, "duration": 86 }, { "job_id": "J3", "task_id": 1, "machine_id": 2, "duration": 61 }, { "job_id": "J3", "task_id": 2, "machine_id": 3, "duration": 37 }, { "job_id": "J3", "task_id": 3, "machine_id": 1, "duration": 97 }, { "job_id": "J3", "task_id": 4, "machine_id": 4, "duration": 5 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 20 }, { "job_id": "J4", "task_id": 1, "machine_id": 5, "duration": 26 }, { "job_id": "J4", "task_id": 2, "machine_id": 2, "duration": 44 }, { "job_id": "J4", "task_id": 3, "machine_id": 3, "duration": 85 }, { "job_id": "J4", "task_id": 4, "machine_id": 1, "duration": 81 }, { "job_id": "J5", "task_id": 0, "machine_id": 5, "duration": 79 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 15 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 57 }, { "job_id": "J5", "task_id": 3, "machine_id": 2, "duration": 4 }, { "job_id": "J5", "task_id": 4, "machine_id": 4, "duration": 23 }, { "job_id": "J6", "task_id": 0, "machine_id": 3, "duration": 4 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 24 }, { "job_id": "J6", "task_id": 2, "machine_id": 2, "duration": 28 }, { "job_id": "J6", "task_id": 3, "machine_id": 5, "duration": 71 }, { "job_id": "J6", "task_id": 4, "machine_id": 4, "duration": 96 }, { "job_id": "J7", "task_id": 0, "machine_id": 4, "duration": 88 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 45 }, { "job_id": "J7", "task_id": 2, "machine_id": 3, "duration": 96 }, { "job_id": "J7", "task_id": 3, "machine_id": 2, "duration": 70 }, { "job_id": "J7", "task_id": 4, "machine_id": 5, "duration": 95 }, { "job_id": "J8", "task_id": 0, "machine_id": 2, "duration": 71 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 6 }, { "job_id": "J8", "task_id": 2, "machine_id": 1, "duration": 12 }, { "job_id": "J8", "task_id": 3, "machine_id": 5, "duration": 49 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 82 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 9 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 1 }, { "job_id": "J9", "task_id": 2, "machine_id": 5, "duration": 19 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 94 }, { "job_id": "J9", "task_id": 4, "machine_id": 3, "duration": 14 }, { "job_id": "J10", "task_id": 0, "machine_id": 2, "duration": 15 }, { "job_id": "J10", "task_id": 1, "machine_id": 4, "duration": 1 }, { "job_id": "J10", "task_id": 2, "machine_id": 5, "duration": 43 }, { "job_id": "J10", "task_id": 3, "machine_id": 1, "duration": 54 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 87 }, { "job_id": "J11", "task_id": 0, "machine_id": 2, "duration": 69 }, { "job_id": "J11", "task_id": 1, "machine_id": 1, "duration": 23 }, { "job_id": "J11", "task_id": 2, "machine_id": 4, "duration": 55 }, { "job_id": "J11", "task_id": 3, "machine_id": 5, "duration": 67 }, { "job_id": "J11", "task_id": 4, "machine_id": 3, "duration": 48 }, { "job_id": "J12", "task_id": 0, "machine_id": 3, "duration": 49 }, { "job_id": "J12", "task_id": 1, "machine_id": 4, "duration": 73 }, { "job_id": "J12", "task_id": 2, "machine_id": 5, "duration": 17 }, { "job_id": "J12", "task_id": 3, "machine_id": 1, "duration": 82 }, { "job_id": "J12", "task_id": 4, "machine_id": 2, "duration": 45 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 121, "machine": 3, "duration": 1 }, { "task": 1, "start": 451, "machine": 2, "duration": 50 }, { "task": 2, "start": 529, "machine": 5, "duration": 7 }, { "task": 3, "start": 567, "machine": 4, "duration": 15 }, { "task": 4, "start": 594, "machine": 1, "duration": 37 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 48 }, { "task": 1, "start": 49, "machine": 3, "duration": 68 }, { "task": 2, "start": 237, "machine": 4, "duration": 69 }, { "task": 3, "start": 457, "machine": 5, "duration": 72 }, { "task": 4, "start": 566, "machine": 1, "duration": 28 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 86 }, { "task": 1, "start": 203, "machine": 2, "duration": 61 }, { "task": 2, "start": 305, "machine": 3, "duration": 37 }, { "task": 3, "start": 388, "machine": 1, "duration": 97 }, { "task": 4, "start": 582, "machine": 4, "duration": 5 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 161, "machine": 4, "duration": 20 }, { "task": 1, "start": 182, "machine": 5, "duration": 26 }, { "task": 2, "start": 292, "machine": 2, "duration": 44 }, { "task": 3, "start": 390, "machine": 3, "duration": 85 }, { "task": 4, "start": 485, "machine": 1, "duration": 81 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 86, "machine": 5, "duration": 79 }, { "task": 1, "start": 165, "machine": 3, "duration": 15 }, { "task": 2, "start": 264, "machine": 1, "duration": 57 }, { "task": 3, "start": 501, "machine": 2, "duration": 4 }, { "task": 4, "start": 587, "machine": 4, "duration": 23 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 117, "machine": 3, "duration": 4 }, { "task": 1, "start": 133, "machine": 1, "duration": 24 }, { "task": 2, "start": 264, "machine": 2, "duration": 28 }, { "task": 3, "start": 318, "machine": 5, "duration": 71 }, { "task": 4, "start": 389, "machine": 4, "duration": 96 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 88 }, { "task": 1, "start": 88, "machine": 1, "duration": 45 }, { "task": 2, "start": 209, "machine": 3, "duration": 96 }, { "task": 3, "start": 381, "machine": 2, "duration": 70 }, { "task": 4, "start": 536, "machine": 5, "duration": 95 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 132, "machine": 2, "duration": 71 }, { "task": 1, "start": 203, "machine": 3, "duration": 6 }, { "task": 2, "start": 321, "machine": 1, "duration": 12 }, { "task": 3, "start": 389, "machine": 5, "duration": 49 }, { "task": 4, "start": 485, "machine": 4, "duration": 82 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 306, "machine": 4, "duration": 9 }, { "task": 1, "start": 387, "machine": 1, "duration": 1 }, { "task": 2, "start": 438, "machine": 5, "duration": 19 }, { "task": 3, "start": 505, "machine": 2, "duration": 94 }, { "task": 4, "start": 599, "machine": 3, "duration": 14 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 117, "machine": 2, "duration": 15 }, { "task": 1, "start": 181, "machine": 4, "duration": 1 }, { "task": 2, "start": 208, "machine": 5, "duration": 43 }, { "task": 3, "start": 333, "machine": 1, "duration": 54 }, { "task": 4, "start": 475, "machine": 3, "duration": 87 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 48, "machine": 2, "duration": 69 }, { "task": 1, "start": 157, "machine": 1, "duration": 23 }, { "task": 2, "start": 182, "machine": 4, "duration": 55 }, { "task": 3, "start": 251, "machine": 5, "duration": 67 }, { "task": 4, "start": 342, "machine": 3, "duration": 48 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 49 }, { "task": 1, "start": 88, "machine": 4, "duration": 73 }, { "task": 2, "start": 165, "machine": 5, "duration": 17 }, { "task": 3, "start": 182, "machine": 1, "duration": 82 }, { "task": 4, "start": 336, "machine": 2, "duration": 45 } ] } ], "context_index": 16, "input_format": "json", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "We juggle a bunch of tabletops and chairs through three stations: saw, sander, and finishing bench. The choice to make is when to start each cut, sand, and finish so every operation uses its designated machine for its full time, follows the piece’s required order, and never shares a machine with another overlapping job. A good plan gets everything off the floor fast — judged by the moment the final job is completed; lower is better. Concrete details about items and times appear below.\n\nWe have 11 pieces and 6 stations; the pieces are J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11 and the stations are 0, 1, 2, 3, 4, 5.\nPiece J1, step 0 needs 2 for 1 time units.\nPiece J1, step 1 needs 1 for 63 time units.\nPiece J1, step 2 needs 4 for 82 time units.\nPiece J1, step 3 needs 3 for 60 time units.\nPiece J1, step 4 needs 5 for 90 time units.\nPiece J1, step 5 needs 0 for 70 time units.\nPiece J2, step 0 needs 2 for 73 time units.\nPiece J2, step 1 needs 3 for 38 time units.\nPiece J2, step 2 needs 5 for 40 time units.\nPiece J2, step 3 needs 4 for 22 time units.\nPiece J2, step 4 needs 0 for 25 time units.\nPiece J2, step 5 needs 1 for 13 time units.\nPiece J3, step 0 needs 0 for 20 time units.\nPiece J3, step 1 needs 4 for 1 time units.\nPiece J3, step 2 needs 2 for 10 time units.\nPiece J3, step 3 needs 3 for 72 time units.\nPiece J3, step 4 needs 5 for 92 time units.\nPiece J3, step 5 needs 1 for 45 time units.\nPiece J4, step 0 needs 5 for 24 time units.\nPiece J4, step 1 needs 0 for 87 time units.\nPiece J4, step 2 needs 3 for 22 time units.\nPiece J4, step 3 needs 1 for 83 time units.\nPiece J4, step 4 needs 2 for 16 time units.\nPiece J4, step 5 needs 4 for 96 time units.\nPiece J5, step 0 needs 4 for 8 time units.\nPiece J5, step 1 needs 1 for 56 time units.\nPiece J5, step 2 needs 5 for 34 time units.\nPiece J5, step 3 needs 3 for 92 time units.\nPiece J5, step 4 needs 2 for 13 time units.\nPiece J5, step 5 needs 0 for 67 time units.\nPiece J6, step 0 needs 2 for 80 time units.\nPiece J6, step 1 needs 1 for 21 time units.\nPiece J6, step 2 needs 3 for 23 time units.\nPiece J6, step 3 needs 0 for 75 time units.\nPiece J6, step 4 needs 4 for 69 time units.\nPiece J6, step 5 needs 5 for 4 time units.\nPiece J7, step 0 needs 4 for 69 time units.\nPiece J7, step 1 needs 2 for 87 time units.\nPiece J7, step 2 needs 1 for 48 time units.\nPiece J7, step 3 needs 3 for 19 time units.\nPiece J7, step 4 needs 5 for 33 time units.\nPiece J7, step 5 needs 0 for 98 time units.\nPiece J8, step 0 needs 4 for 91 time units.\nPiece J8, step 1 needs 1 for 69 time units.\nPiece J8, step 2 needs 5 for 79 time units.\nPiece J8, step 3 needs 3 for 22 time units.\nPiece J8, step 4 needs 0 for 63 time units.\nPiece J8, step 5 needs 2 for 31 time units.\nPiece J9, step 0 needs 3 for 81 time units.\nPiece J9, step 1 needs 1 for 31 time units.\nPiece J9, step 2 needs 0 for 46 time units.\nPiece J9, step 3 needs 5 for 71 time units.\nPiece J9, step 4 needs 2 for 79 time units.\nPiece J9, step 5 needs 4 for 94 time units.\nPiece J10, step 0 needs 3 for 83 time units.\nPiece J10, step 1 needs 5 for 66 time units.\nPiece J10, step 2 needs 2 for 22 time units.\nPiece J10, step 3 needs 1 for 7 time units.\nPiece J10, step 4 needs 4 for 73 time units.\nPiece J10, step 5 needs 0 for 51 time units.\nPiece J11, step 0 needs 1 for 47 time units.\nPiece J11, step 1 needs 3 for 26 time units.\nPiece J11, step 2 needs 4 for 94 time units.\nPiece J11, step 3 needs 5 for 50 time units.\nPiece J11, step 4 needs 0 for 23 time units.\nPiece J11, step 5 needs 2 for 65 time units.\nWe keep start times conflict-free and aim to clear the shop as fast as possible.\n\nAlso, when you send the schedule back, just drop it in this JSON shape — easy to read and easy to check. Here's the exact layout I expect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nQuick, informal guide to the fields: \"solution\" is a list of pieces we need to schedule. Each item has a \"job\" id and a \"tasks\" list. Each task entry says which step of the job it is (\"task\"), when that step begins (\"start\"), which machine it runs on (\"machine\"), and how long it takes (\"duration\"). Think of it like filling out a simple form for each operation.\n\nThis JSON is just the sketch of the shape I want — fill it with the actual ids and numbers from the instance when you respond. Make sure all identifiers are used exactly as they appear in the instance input — no renaming and no new labels.\n\nValid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 11, "jobs": [ [ [ 2, 1 ], [ 1, 63 ], [ 4, 82 ], [ 3, 60 ], [ 5, 90 ], [ 0, 70 ] ], [ [ 2, 73 ], [ 3, 38 ], [ 5, 40 ], [ 4, 22 ], [ 0, 25 ], [ 1, 13 ] ], [ [ 0, 20 ], [ 4, 1 ], [ 2, 10 ], [ 3, 72 ], [ 5, 92 ], [ 1, 45 ] ], [ [ 5, 24 ], [ 0, 87 ], [ 3, 22 ], [ 1, 83 ], [ 2, 16 ], [ 4, 96 ] ], [ [ 4, 8 ], [ 1, 56 ], [ 5, 34 ], [ 3, 92 ], [ 2, 13 ], [ 0, 67 ] ], [ [ 2, 80 ], [ 1, 21 ], [ 3, 23 ], [ 0, 75 ], [ 4, 69 ], [ 5, 4 ] ], [ [ 4, 69 ], [ 2, 87 ], [ 1, 48 ], [ 3, 19 ], [ 5, 33 ], [ 0, 98 ] ], [ [ 4, 91 ], [ 1, 69 ], [ 5, 79 ], [ 3, 22 ], [ 0, 63 ], [ 2, 31 ] ], [ [ 3, 81 ], [ 1, 31 ], [ 0, 46 ], [ 5, 71 ], [ 2, 79 ], [ 4, 94 ] ], [ [ 3, 83 ], [ 5, 66 ], [ 2, 22 ], [ 1, 7 ], [ 4, 73 ], [ 0, 51 ] ], [ [ 1, 47 ], [ 3, 26 ], [ 4, 94 ], [ 5, 50 ], [ 0, 23 ], [ 2, 65 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 80, "machine": 2, "duration": 1 }, { "task": 1, "start": 257, "machine": 1, "duration": 63 }, { "task": 2, "start": 331, "machine": 4, "duration": 82 }, { "task": 3, "start": 413, "machine": 3, "duration": 60 }, { "task": 4, "start": 477, "machine": 5, "duration": 90 }, { "task": 5, "start": 630, "machine": 0, "duration": 70 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 81, "machine": 2, "duration": 73 }, { "task": 1, "start": 213, "machine": 3, "duration": 38 }, { "task": 2, "start": 437, "machine": 5, "duration": 40 }, { "task": 3, "start": 487, "machine": 4, "duration": 22 }, { "task": 4, "start": 605, "machine": 0, "duration": 25 }, { "task": 5, "start": 630, "machine": 1, "duration": 13 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 20 }, { "task": 1, "start": 413, "machine": 4, "duration": 1 }, { "task": 2, "start": 485, "machine": 2, "duration": 10 }, { "task": 3, "start": 495, "machine": 3, "duration": 72 }, { "task": 4, "start": 567, "machine": 5, "duration": 92 }, { "task": 5, "start": 659, "machine": 1, "duration": 45 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 24 }, { "task": 1, "start": 24, "machine": 0, "duration": 87 }, { "task": 2, "start": 473, "machine": 3, "duration": 22 }, { "task": 3, "start": 495, "machine": 1, "duration": 83 }, { "task": 4, "start": 578, "machine": 2, "duration": 16 }, { "task": 5, "start": 603, "machine": 4, "duration": 96 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 8 }, { "task": 1, "start": 170, "machine": 1, "duration": 56 }, { "task": 2, "start": 249, "machine": 5, "duration": 34 }, { "task": 3, "start": 283, "machine": 3, "duration": 92 }, { "task": 4, "start": 375, "machine": 2, "duration": 13 }, { "task": 5, "start": 389, "machine": 0, "duration": 67 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 80 }, { "task": 1, "start": 80, "machine": 1, "duration": 21 }, { "task": 2, "start": 109, "machine": 3, "duration": 23 }, { "task": 3, "start": 180, "machine": 0, "duration": 75 }, { "task": 4, "start": 262, "machine": 4, "duration": 69 }, { "task": 5, "start": 659, "machine": 5, "duration": 4 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 99, "machine": 4, "duration": 69 }, { "task": 1, "start": 246, "machine": 2, "duration": 87 }, { "task": 2, "start": 333, "machine": 1, "duration": 48 }, { "task": 3, "start": 381, "machine": 3, "duration": 19 }, { "task": 4, "start": 404, "machine": 5, "duration": 33 }, { "task": 5, "start": 456, "machine": 0, "duration": 98 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 8, "machine": 4, "duration": 91 }, { "task": 1, "start": 101, "machine": 1, "duration": 69 }, { "task": 2, "start": 170, "machine": 5, "duration": 79 }, { "task": 3, "start": 251, "machine": 3, "duration": 22 }, { "task": 4, "start": 303, "machine": 0, "duration": 63 }, { "task": 5, "start": 495, "machine": 2, "duration": 31 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 132, "machine": 3, "duration": 81 }, { "task": 1, "start": 226, "machine": 1, "duration": 31 }, { "task": 2, "start": 257, "machine": 0, "duration": 46 }, { "task": 3, "start": 333, "machine": 5, "duration": 71 }, { "task": 4, "start": 404, "machine": 2, "duration": 79 }, { "task": 5, "start": 509, "machine": 4, "duration": 94 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 83 }, { "task": 1, "start": 83, "machine": 5, "duration": 66 }, { "task": 2, "start": 154, "machine": 2, "duration": 22 }, { "task": 3, "start": 320, "machine": 1, "duration": 7 }, { "task": 4, "start": 414, "machine": 4, "duration": 73 }, { "task": 5, "start": 554, "machine": 0, "duration": 51 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 1, "machine": 1, "duration": 47 }, { "task": 1, "start": 83, "machine": 3, "duration": 26 }, { "task": 2, "start": 168, "machine": 4, "duration": 94 }, { "task": 3, "start": 283, "machine": 5, "duration": 50 }, { "task": 4, "start": 366, "machine": 0, "duration": 23 }, { "task": 5, "start": 617, "machine": 2, "duration": 65 } ] } ], "obj": 704.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ 0, 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 2, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 1, "duration": 63 }, { "job_id": "J1", "task_id": 2, "machine_id": 4, "duration": 82 }, { "job_id": "J1", "task_id": 3, "machine_id": 3, "duration": 60 }, { "job_id": "J1", "task_id": 4, "machine_id": 5, "duration": 90 }, { "job_id": "J1", "task_id": 5, "machine_id": 0, "duration": 70 }, { "job_id": "J2", "task_id": 0, "machine_id": 2, "duration": 73 }, { "job_id": "J2", "task_id": 1, "machine_id": 3, "duration": 38 }, { "job_id": "J2", "task_id": 2, "machine_id": 5, "duration": 40 }, { "job_id": "J2", "task_id": 3, "machine_id": 4, "duration": 22 }, { "job_id": "J2", "task_id": 4, "machine_id": 0, "duration": 25 }, { "job_id": "J2", "task_id": 5, "machine_id": 1, "duration": 13 }, { "job_id": "J3", "task_id": 0, "machine_id": 0, "duration": 20 }, { "job_id": "J3", "task_id": 1, "machine_id": 4, "duration": 1 }, { "job_id": "J3", "task_id": 2, "machine_id": 2, "duration": 10 }, { "job_id": "J3", "task_id": 3, "machine_id": 3, "duration": 72 }, { "job_id": "J3", "task_id": 4, "machine_id": 5, "duration": 92 }, { "job_id": "J3", "task_id": 5, "machine_id": 1, "duration": 45 }, { "job_id": "J4", "task_id": 0, "machine_id": 5, "duration": 24 }, { "job_id": "J4", "task_id": 1, "machine_id": 0, "duration": 87 }, { "job_id": "J4", "task_id": 2, "machine_id": 3, "duration": 22 }, { "job_id": "J4", "task_id": 3, "machine_id": 1, "duration": 83 }, { "job_id": "J4", "task_id": 4, "machine_id": 2, "duration": 16 }, { "job_id": "J4", "task_id": 5, "machine_id": 4, "duration": 96 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 8 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 56 }, { "job_id": "J5", "task_id": 2, "machine_id": 5, "duration": 34 }, { "job_id": "J5", "task_id": 3, "machine_id": 3, "duration": 92 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 13 }, { "job_id": "J5", "task_id": 5, "machine_id": 0, "duration": 67 }, { "job_id": "J6", "task_id": 0, "machine_id": 2, "duration": 80 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 21 }, { "job_id": "J6", "task_id": 2, "machine_id": 3, "duration": 23 }, { "job_id": "J6", "task_id": 3, "machine_id": 0, "duration": 75 }, { "job_id": "J6", "task_id": 4, "machine_id": 4, "duration": 69 }, { "job_id": "J6", "task_id": 5, "machine_id": 5, "duration": 4 }, { "job_id": "J7", "task_id": 0, "machine_id": 4, "duration": 69 }, { "job_id": "J7", "task_id": 1, "machine_id": 2, "duration": 87 }, { "job_id": "J7", "task_id": 2, "machine_id": 1, "duration": 48 }, { "job_id": "J7", "task_id": 3, "machine_id": 3, "duration": 19 }, { "job_id": "J7", "task_id": 4, "machine_id": 5, "duration": 33 }, { "job_id": "J7", "task_id": 5, "machine_id": 0, "duration": 98 }, { "job_id": "J8", "task_id": 0, "machine_id": 4, "duration": 91 }, { "job_id": "J8", "task_id": 1, "machine_id": 1, "duration": 69 }, { "job_id": "J8", "task_id": 2, "machine_id": 5, "duration": 79 }, { "job_id": "J8", "task_id": 3, "machine_id": 3, "duration": 22 }, { "job_id": "J8", "task_id": 4, "machine_id": 0, "duration": 63 }, { "job_id": "J8", "task_id": 5, "machine_id": 2, "duration": 31 }, { "job_id": "J9", "task_id": 0, "machine_id": 3, "duration": 81 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 31 }, { "job_id": "J9", "task_id": 2, "machine_id": 0, "duration": 46 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 71 }, { "job_id": "J9", "task_id": 4, "machine_id": 2, "duration": 79 }, { "job_id": "J9", "task_id": 5, "machine_id": 4, "duration": 94 }, { "job_id": "J10", "task_id": 0, "machine_id": 3, "duration": 83 }, { "job_id": "J10", "task_id": 1, "machine_id": 5, "duration": 66 }, { "job_id": "J10", "task_id": 2, "machine_id": 2, "duration": 22 }, { "job_id": "J10", "task_id": 3, "machine_id": 1, "duration": 7 }, { "job_id": "J10", "task_id": 4, "machine_id": 4, "duration": 73 }, { "job_id": "J10", "task_id": 5, "machine_id": 0, "duration": 51 }, { "job_id": "J11", "task_id": 0, "machine_id": 1, "duration": 47 }, { "job_id": "J11", "task_id": 1, "machine_id": 3, "duration": 26 }, { "job_id": "J11", "task_id": 2, "machine_id": 4, "duration": 94 }, { "job_id": "J11", "task_id": 3, "machine_id": 5, "duration": 50 }, { "job_id": "J11", "task_id": 4, "machine_id": 0, "duration": 23 }, { "job_id": "J11", "task_id": 5, "machine_id": 2, "duration": 65 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 80, "machine": 2, "duration": 1 }, { "task": 1, "start": 257, "machine": 1, "duration": 63 }, { "task": 2, "start": 331, "machine": 4, "duration": 82 }, { "task": 3, "start": 413, "machine": 3, "duration": 60 }, { "task": 4, "start": 477, "machine": 5, "duration": 90 }, { "task": 5, "start": 630, "machine": 0, "duration": 70 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 81, "machine": 2, "duration": 73 }, { "task": 1, "start": 213, "machine": 3, "duration": 38 }, { "task": 2, "start": 437, "machine": 5, "duration": 40 }, { "task": 3, "start": 487, "machine": 4, "duration": 22 }, { "task": 4, "start": 605, "machine": 0, "duration": 25 }, { "task": 5, "start": 630, "machine": 1, "duration": 13 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 20 }, { "task": 1, "start": 413, "machine": 4, "duration": 1 }, { "task": 2, "start": 485, "machine": 2, "duration": 10 }, { "task": 3, "start": 495, "machine": 3, "duration": 72 }, { "task": 4, "start": 567, "machine": 5, "duration": 92 }, { "task": 5, "start": 659, "machine": 1, "duration": 45 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 24 }, { "task": 1, "start": 24, "machine": 0, "duration": 87 }, { "task": 2, "start": 473, "machine": 3, "duration": 22 }, { "task": 3, "start": 495, "machine": 1, "duration": 83 }, { "task": 4, "start": 578, "machine": 2, "duration": 16 }, { "task": 5, "start": 603, "machine": 4, "duration": 96 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 8 }, { "task": 1, "start": 170, "machine": 1, "duration": 56 }, { "task": 2, "start": 249, "machine": 5, "duration": 34 }, { "task": 3, "start": 283, "machine": 3, "duration": 92 }, { "task": 4, "start": 375, "machine": 2, "duration": 13 }, { "task": 5, "start": 389, "machine": 0, "duration": 67 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 80 }, { "task": 1, "start": 80, "machine": 1, "duration": 21 }, { "task": 2, "start": 109, "machine": 3, "duration": 23 }, { "task": 3, "start": 180, "machine": 0, "duration": 75 }, { "task": 4, "start": 262, "machine": 4, "duration": 69 }, { "task": 5, "start": 659, "machine": 5, "duration": 4 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 99, "machine": 4, "duration": 69 }, { "task": 1, "start": 246, "machine": 2, "duration": 87 }, { "task": 2, "start": 333, "machine": 1, "duration": 48 }, { "task": 3, "start": 381, "machine": 3, "duration": 19 }, { "task": 4, "start": 404, "machine": 5, "duration": 33 }, { "task": 5, "start": 456, "machine": 0, "duration": 98 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 8, "machine": 4, "duration": 91 }, { "task": 1, "start": 101, "machine": 1, "duration": 69 }, { "task": 2, "start": 170, "machine": 5, "duration": 79 }, { "task": 3, "start": 251, "machine": 3, "duration": 22 }, { "task": 4, "start": 303, "machine": 0, "duration": 63 }, { "task": 5, "start": 495, "machine": 2, "duration": 31 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 132, "machine": 3, "duration": 81 }, { "task": 1, "start": 226, "machine": 1, "duration": 31 }, { "task": 2, "start": 257, "machine": 0, "duration": 46 }, { "task": 3, "start": 333, "machine": 5, "duration": 71 }, { "task": 4, "start": 404, "machine": 2, "duration": 79 }, { "task": 5, "start": 509, "machine": 4, "duration": 94 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 83 }, { "task": 1, "start": 83, "machine": 5, "duration": 66 }, { "task": 2, "start": 154, "machine": 2, "duration": 22 }, { "task": 3, "start": 320, "machine": 1, "duration": 7 }, { "task": 4, "start": 414, "machine": 4, "duration": 73 }, { "task": 5, "start": 554, "machine": 0, "duration": 51 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 1, "machine": 1, "duration": 47 }, { "task": 1, "start": 83, "machine": 3, "duration": 26 }, { "task": 2, "start": 168, "machine": 4, "duration": 94 }, { "task": 3, "start": 283, "machine": 5, "duration": 50 }, { "task": 4, "start": 366, "machine": 0, "duration": 23 }, { "task": 5, "start": 617, "machine": 2, "duration": 65 } ] } ], "context_index": 17, "input_format": "nl", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "We’re juggling a pile of parcels through a handful of pieces of equipment; each parcel has its own to-do list of scans and handling actions that must happen one after another on specific gear for set amounts of time. The decision is about the order and timing: arrange those actions so the moment the final parcel leaves the line is as early as possible — in other words, minimize the finish time of the last parcel. Every required step for each parcel must be done exactly once, and a machine can only run one step at a time. The exact parcel steps and timings are listed below.\n\nWe have 11 parcels (J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11) and 5 pieces of equipment (1, 2, 3, 4, 5).\n\n| parcel_id | step_index | equipment_id | operation_duration |\n|---|---|---|---|\n| J1 | 0 | 4 | 1 |\n| J1 | 1 | 3 | 76 |\n| J1 | 2 | 2 | 58 |\n| J1 | 3 | 5 | 6 |\n| J1 | 4 | 1 | 43 |\n| J2 | 0 | 4 | 91 |\n| J2 | 1 | 2 | 77 |\n| J2 | 2 | 5 | 6 |\n| J2 | 3 | 3 | 8 |\n| J2 | 4 | 1 | 15 |\n| J3 | 0 | 4 | 63 |\n| J3 | 1 | 3 | 64 |\n| J3 | 2 | 2 | 3 |\n| J3 | 3 | 5 | 4 |\n| J3 | 4 | 1 | 16 |\n| J4 | 0 | 2 | 25 |\n| J4 | 1 | 1 | 60 |\n| J4 | 2 | 3 | 45 |\n| J4 | 3 | 5 | 62 |\n| J4 | 4 | 4 | 94 |\n| J5 | 0 | 4 | 63 |\n| J5 | 1 | 5 | 52 |\n| J5 | 2 | 3 | 75 |\n| J5 | 3 | 2 | 89 |\n| J5 | 4 | 1 | 92 |\n| J6 | 0 | 5 | 9 |\n| J6 | 1 | 4 | 43 |\n| J6 | 2 | 2 | 58 |\n| J6 | 3 | 1 | 54 |\n| J6 | 4 | 3 | 37 |\n| J7 | 0 | 5 | 71 |\n| J7 | 1 | 4 | 96 |\n| J7 | 2 | 1 | 48 |\n| J7 | 3 | 2 | 80 |\n| J7 | 4 | 3 | 43 |\n| J8 | 0 | 1 | 37 |\n| J8 | 1 | 4 | 33 |\n| J8 | 2 | 5 | 63 |\n| J8 | 3 | 2 | 47 |\n| J8 | 4 | 3 | 55 |\n| J9 | 0 | 3 | 57 |\n| J9 | 1 | 4 | 97 |\n| J9 | 2 | 5 | 64 |\n| J9 | 3 | 2 | 45 |\n| J9 | 4 | 1 | 44 |\n| J10 | 0 | 1 | 29 |\n| J10 | 1 | 2 | 27 |\n| J10 | 2 | 5 | 20 |\n| J10 | 3 | 3 | 9 |\n| J10 | 4 | 4 | 75 |\n| J11 | 0 | 4 | 23 |\n| J11 | 1 | 3 | 19 |\n| J11 | 2 | 1 | 3 |\n| J11 | 3 | 2 | 22 |\n| J11 | 4 | 5 | 20 |\n\nWe’ll schedule these listed steps so the moment the final parcel leaves the line is as early as possible.\n\nAlso, when you send back the schedule, please use this simple JSON shape so everything lines up with the rest of the system:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it as a little form: \"solution\" is a list of the parcels (jobs) and, for each one, the \"tasks\" array lists its ordered steps. Each task entry just says which step it is (\"task\"), when it starts (\"start\"), which piece of equipment it uses (\"machine\"), and how long it runs (\"duration\"). Super simple — this block is just the expected shape, not the actual schedule.\n\nPlease make sure to use the exact identifiers from the instance input — don’t rename them or invent new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 3, 1 ], [ 2, 76 ], [ 1, 58 ], [ 4, 6 ], [ 0, 43 ] ], [ [ 3, 91 ], [ 1, 77 ], [ 4, 6 ], [ 2, 8 ], [ 0, 15 ] ], [ [ 3, 63 ], [ 2, 64 ], [ 1, 3 ], [ 4, 4 ], [ 0, 16 ] ], [ [ 1, 25 ], [ 0, 60 ], [ 2, 45 ], [ 4, 62 ], [ 3, 94 ] ], [ [ 3, 63 ], [ 4, 52 ], [ 2, 75 ], [ 1, 89 ], [ 0, 92 ] ], [ [ 4, 9 ], [ 3, 43 ], [ 1, 58 ], [ 0, 54 ], [ 2, 37 ] ], [ [ 4, 71 ], [ 3, 96 ], [ 0, 48 ], [ 1, 80 ], [ 2, 43 ] ], [ [ 0, 37 ], [ 3, 33 ], [ 4, 63 ], [ 1, 47 ], [ 2, 55 ] ], [ [ 2, 57 ], [ 3, 97 ], [ 4, 64 ], [ 1, 45 ], [ 0, 44 ] ], [ [ 0, 29 ], [ 1, 27 ], [ 4, 20 ], [ 2, 9 ], [ 3, 75 ] ], [ [ 3, 23 ], [ 2, 19 ], [ 0, 3 ], [ 1, 22 ], [ 4, 20 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 423, "machine": 3, "duration": 1 }, { "task": 1, "start": 424, "machine": 2, "duration": 76 }, { "task": 2, "start": 502, "machine": 1, "duration": 58 }, { "task": 3, "start": 560, "machine": 4, "duration": 6 }, { "task": 4, "start": 566, "machine": 0, "duration": 43 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 235, "machine": 3, "duration": 91 }, { "task": 1, "start": 378, "machine": 1, "duration": 77 }, { "task": 2, "start": 455, "machine": 4, "duration": 6 }, { "task": 3, "start": 500, "machine": 2, "duration": 8 }, { "task": 4, "start": 508, "machine": 0, "duration": 15 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 424, "machine": 3, "duration": 63 }, { "task": 1, "start": 508, "machine": 2, "duration": 64 }, { "task": 2, "start": 605, "machine": 1, "duration": 3 }, { "task": 3, "start": 608, "machine": 4, "duration": 4 }, { "task": 4, "start": 612, "machine": 0, "duration": 16 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 25 }, { "task": 1, "start": 29, "machine": 0, "duration": 60 }, { "task": 2, "start": 89, "machine": 2, "duration": 45 }, { "task": 3, "start": 134, "machine": 4, "duration": 62 }, { "task": 4, "start": 487, "machine": 3, "duration": 94 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 63 }, { "task": 1, "start": 80, "machine": 4, "duration": 52 }, { "task": 2, "start": 134, "machine": 2, "duration": 75 }, { "task": 3, "start": 209, "machine": 1, "duration": 89 }, { "task": 4, "start": 298, "machine": 0, "duration": 92 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 9 }, { "task": 1, "start": 63, "machine": 3, "duration": 43 }, { "task": 2, "start": 106, "machine": 1, "duration": 58 }, { "task": 3, "start": 164, "machine": 0, "duration": 54 }, { "task": 4, "start": 225, "machine": 2, "duration": 37 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 9, "machine": 4, "duration": 71 }, { "task": 1, "start": 106, "machine": 3, "duration": 96 }, { "task": 2, "start": 218, "machine": 0, "duration": 48 }, { "task": 3, "start": 298, "machine": 1, "duration": 80 }, { "task": 4, "start": 378, "machine": 2, "duration": 43 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 89, "machine": 0, "duration": 37 }, { "task": 1, "start": 202, "machine": 3, "duration": 33 }, { "task": 2, "start": 235, "machine": 4, "duration": 63 }, { "task": 3, "start": 455, "machine": 1, "duration": 47 }, { "task": 4, "start": 623, "machine": 2, "duration": 55 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 57 }, { "task": 1, "start": 326, "machine": 3, "duration": 97 }, { "task": 2, "start": 461, "machine": 4, "duration": 64 }, { "task": 3, "start": 560, "machine": 1, "duration": 45 }, { "task": 4, "start": 631, "machine": 0, "duration": 44 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 29 }, { "task": 1, "start": 29, "machine": 1, "duration": 27 }, { "task": 2, "start": 196, "machine": 4, "duration": 20 }, { "task": 3, "start": 216, "machine": 2, "duration": 9 }, { "task": 4, "start": 604, "machine": 3, "duration": 75 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 581, "machine": 3, "duration": 23 }, { "task": 1, "start": 604, "machine": 2, "duration": 19 }, { "task": 2, "start": 628, "machine": 0, "duration": 3 }, { "task": 3, "start": 631, "machine": 1, "duration": 22 }, { "task": 4, "start": 653, "machine": 4, "duration": 20 } ] } ], "obj": 679.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 4, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 3, "duration": 76 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 58 }, { "job_id": "J1", "task_id": 3, "machine_id": 5, "duration": 6 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 43 }, { "job_id": "J2", "task_id": 0, "machine_id": 4, "duration": 91 }, { "job_id": "J2", "task_id": 1, "machine_id": 2, "duration": 77 }, { "job_id": "J2", "task_id": 2, "machine_id": 5, "duration": 6 }, { "job_id": "J2", "task_id": 3, "machine_id": 3, "duration": 8 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 15 }, { "job_id": "J3", "task_id": 0, "machine_id": 4, "duration": 63 }, { "job_id": "J3", "task_id": 1, "machine_id": 3, "duration": 64 }, { "job_id": "J3", "task_id": 2, "machine_id": 2, "duration": 3 }, { "job_id": "J3", "task_id": 3, "machine_id": 5, "duration": 4 }, { "job_id": "J3", "task_id": 4, "machine_id": 1, "duration": 16 }, { "job_id": "J4", "task_id": 0, "machine_id": 2, "duration": 25 }, { "job_id": "J4", "task_id": 1, "machine_id": 1, "duration": 60 }, { "job_id": "J4", "task_id": 2, "machine_id": 3, "duration": 45 }, { "job_id": "J4", "task_id": 3, "machine_id": 5, "duration": 62 }, { "job_id": "J4", "task_id": 4, "machine_id": 4, "duration": 94 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 63 }, { "job_id": "J5", "task_id": 1, "machine_id": 5, "duration": 52 }, { "job_id": "J5", "task_id": 2, "machine_id": 3, "duration": 75 }, { "job_id": "J5", "task_id": 3, "machine_id": 2, "duration": 89 }, { "job_id": "J5", "task_id": 4, "machine_id": 1, "duration": 92 }, { "job_id": "J6", "task_id": 0, "machine_id": 5, "duration": 9 }, { "job_id": "J6", "task_id": 1, "machine_id": 4, "duration": 43 }, { "job_id": "J6", "task_id": 2, "machine_id": 2, "duration": 58 }, { "job_id": "J6", "task_id": 3, "machine_id": 1, "duration": 54 }, { "job_id": "J6", "task_id": 4, "machine_id": 3, "duration": 37 }, { "job_id": "J7", "task_id": 0, "machine_id": 5, "duration": 71 }, { "job_id": "J7", "task_id": 1, "machine_id": 4, "duration": 96 }, { "job_id": "J7", "task_id": 2, "machine_id": 1, "duration": 48 }, { "job_id": "J7", "task_id": 3, "machine_id": 2, "duration": 80 }, { "job_id": "J7", "task_id": 4, "machine_id": 3, "duration": 43 }, { "job_id": "J8", "task_id": 0, "machine_id": 1, "duration": 37 }, { "job_id": "J8", "task_id": 1, "machine_id": 4, "duration": 33 }, { "job_id": "J8", "task_id": 2, "machine_id": 5, "duration": 63 }, { "job_id": "J8", "task_id": 3, "machine_id": 2, "duration": 47 }, { "job_id": "J8", "task_id": 4, "machine_id": 3, "duration": 55 }, { "job_id": "J9", "task_id": 0, "machine_id": 3, "duration": 57 }, { "job_id": "J9", "task_id": 1, "machine_id": 4, "duration": 97 }, { "job_id": "J9", "task_id": 2, "machine_id": 5, "duration": 64 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 45 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 44 }, { "job_id": "J10", "task_id": 0, "machine_id": 1, "duration": 29 }, { "job_id": "J10", "task_id": 1, "machine_id": 2, "duration": 27 }, { "job_id": "J10", "task_id": 2, "machine_id": 5, "duration": 20 }, { "job_id": "J10", "task_id": 3, "machine_id": 3, "duration": 9 }, { "job_id": "J10", "task_id": 4, "machine_id": 4, "duration": 75 }, { "job_id": "J11", "task_id": 0, "machine_id": 4, "duration": 23 }, { "job_id": "J11", "task_id": 1, "machine_id": 3, "duration": 19 }, { "job_id": "J11", "task_id": 2, "machine_id": 1, "duration": 3 }, { "job_id": "J11", "task_id": 3, "machine_id": 2, "duration": 22 }, { "job_id": "J11", "task_id": 4, "machine_id": 5, "duration": 20 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 423, "machine": 4, "duration": 1 }, { "task": 1, "start": 424, "machine": 3, "duration": 76 }, { "task": 2, "start": 502, "machine": 2, "duration": 58 }, { "task": 3, "start": 560, "machine": 5, "duration": 6 }, { "task": 4, "start": 566, "machine": 1, "duration": 43 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 235, "machine": 4, "duration": 91 }, { "task": 1, "start": 378, "machine": 2, "duration": 77 }, { "task": 2, "start": 455, "machine": 5, "duration": 6 }, { "task": 3, "start": 500, "machine": 3, "duration": 8 }, { "task": 4, "start": 508, "machine": 1, "duration": 15 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 424, "machine": 4, "duration": 63 }, { "task": 1, "start": 508, "machine": 3, "duration": 64 }, { "task": 2, "start": 605, "machine": 2, "duration": 3 }, { "task": 3, "start": 608, "machine": 5, "duration": 4 }, { "task": 4, "start": 612, "machine": 1, "duration": 16 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 25 }, { "task": 1, "start": 29, "machine": 1, "duration": 60 }, { "task": 2, "start": 89, "machine": 3, "duration": 45 }, { "task": 3, "start": 134, "machine": 5, "duration": 62 }, { "task": 4, "start": 487, "machine": 4, "duration": 94 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 63 }, { "task": 1, "start": 80, "machine": 5, "duration": 52 }, { "task": 2, "start": 134, "machine": 3, "duration": 75 }, { "task": 3, "start": 209, "machine": 2, "duration": 89 }, { "task": 4, "start": 298, "machine": 1, "duration": 92 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 9 }, { "task": 1, "start": 63, "machine": 4, "duration": 43 }, { "task": 2, "start": 106, "machine": 2, "duration": 58 }, { "task": 3, "start": 164, "machine": 1, "duration": 54 }, { "task": 4, "start": 225, "machine": 3, "duration": 37 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 9, "machine": 5, "duration": 71 }, { "task": 1, "start": 106, "machine": 4, "duration": 96 }, { "task": 2, "start": 218, "machine": 1, "duration": 48 }, { "task": 3, "start": 298, "machine": 2, "duration": 80 }, { "task": 4, "start": 378, "machine": 3, "duration": 43 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 89, "machine": 1, "duration": 37 }, { "task": 1, "start": 202, "machine": 4, "duration": 33 }, { "task": 2, "start": 235, "machine": 5, "duration": 63 }, { "task": 3, "start": 455, "machine": 2, "duration": 47 }, { "task": 4, "start": 623, "machine": 3, "duration": 55 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 57 }, { "task": 1, "start": 326, "machine": 4, "duration": 97 }, { "task": 2, "start": 461, "machine": 5, "duration": 64 }, { "task": 3, "start": 560, "machine": 2, "duration": 45 }, { "task": 4, "start": 631, "machine": 1, "duration": 44 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 29 }, { "task": 1, "start": 29, "machine": 2, "duration": 27 }, { "task": 2, "start": 196, "machine": 5, "duration": 20 }, { "task": 3, "start": 216, "machine": 3, "duration": 9 }, { "task": 4, "start": 604, "machine": 4, "duration": 75 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 581, "machine": 4, "duration": 23 }, { "task": 1, "start": 604, "machine": 3, "duration": 19 }, { "task": 2, "start": 628, "machine": 1, "duration": 3 }, { "task": 3, "start": 631, "machine": 2, "duration": 22 }, { "task": 4, "start": 653, "machine": 5, "duration": 20 } ] } ], "context_index": 18, "input_format": "markdown_table", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Recently the setup team needed a clear plan: each booth has a fixed run of assembly jobs, every job uses a named lift or tool for a fixed time, and no two jobs can use the same gear at once. The task was to set start times so every booth’s steps stay in order, nothing’s missed or duplicated, and the entire exhibition is ready as fast as possible — judged by the instant the last booth is finished. The concrete booth-task lists and durations follow below.\n\n# num_booths=12\n# num_tools_lifts=5\n# booth_ids=J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12\n# tool_lift_ids=1, 2, 3, 4, 5\nbooth_id,step_index,tool_or_lift_id,assembly_duration\nJ1,0,3,1\nJ1,1,5,89\nJ1,2,4,34\nJ1,3,2,52\nJ1,4,1,96\nJ2,0,2,14\nJ2,1,5,82\nJ2,2,1,73\nJ2,3,3,76\nJ2,4,4,9\nJ3,0,2,2\nJ3,1,3,17\nJ3,2,5,85\nJ3,3,1,8\nJ3,4,4,21\nJ4,0,1,78\nJ4,1,2,27\nJ4,2,5,46\nJ4,3,4,1\nJ4,4,3,2\nJ5,0,5,5\nJ5,1,3,21\nJ5,2,1,34\nJ5,3,2,82\nJ5,4,4,77\nJ6,0,2,61\nJ6,1,3,52\nJ6,2,1,24\nJ6,3,4,96\nJ6,4,5,8\nJ7,0,2,62\nJ7,1,5,73\nJ7,2,1,74\nJ7,3,4,84\nJ7,4,3,17\nJ8,0,1,69\nJ8,1,2,95\nJ8,2,3,39\nJ8,3,4,46\nJ8,4,5,92\nJ9,0,4,82\nJ9,1,1,95\nJ9,2,3,36\nJ9,3,5,20\nJ9,4,2,10\nJ10,0,4,36\nJ10,1,1,89\nJ10,2,3,9\nJ10,3,5,36\nJ10,4,2,19\nJ11,0,1,98\nJ11,1,4,66\nJ11,2,3,27\nJ11,3,5,49\nJ11,4,2,56\nJ12,0,5,99\nJ12,1,3,19\nJ12,2,4,86\nJ12,3,1,55\nJ12,4,2,63\n\nAlso, when you send the actual schedule back, please use this simple JSON layout so it’s easy to parse and check:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a sketch of the shape I need. In plain terms: each entry in \"solution\" is one booth/job; \"tasks\" is the ordered list of steps for that job; \"task\" is the step index within the job; \"start\" is the planned start time for that step; \"machine\" is which lift/tool it needs; and \"duration\" is how long that step runs. Keep it informal — think of it as filling out a little form for each job.\n\nPlease make sure you use the exact identifiers from the instance input — don’t rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 12, "jobs": [ [ [ 2, 1 ], [ 4, 89 ], [ 3, 34 ], [ 1, 52 ], [ 0, 96 ] ], [ [ 1, 14 ], [ 4, 82 ], [ 0, 73 ], [ 2, 76 ], [ 3, 9 ] ], [ [ 1, 2 ], [ 2, 17 ], [ 4, 85 ], [ 0, 8 ], [ 3, 21 ] ], [ [ 0, 78 ], [ 1, 27 ], [ 4, 46 ], [ 3, 1 ], [ 2, 2 ] ], [ [ 4, 5 ], [ 2, 21 ], [ 0, 34 ], [ 1, 82 ], [ 3, 77 ] ], [ [ 1, 61 ], [ 2, 52 ], [ 0, 24 ], [ 3, 96 ], [ 4, 8 ] ], [ [ 1, 62 ], [ 4, 73 ], [ 0, 74 ], [ 3, 84 ], [ 2, 17 ] ], [ [ 0, 69 ], [ 1, 95 ], [ 2, 39 ], [ 3, 46 ], [ 4, 92 ] ], [ [ 3, 82 ], [ 0, 95 ], [ 2, 36 ], [ 4, 20 ], [ 1, 10 ] ], [ [ 3, 36 ], [ 0, 89 ], [ 2, 9 ], [ 4, 36 ], [ 1, 19 ] ], [ [ 0, 98 ], [ 3, 66 ], [ 2, 27 ], [ 4, 49 ], [ 1, 56 ] ], [ [ 4, 99 ], [ 2, 19 ], [ 3, 86 ], [ 0, 55 ], [ 1, 63 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 1 }, { "task": 1, "start": 99, "machine": 4, "duration": 89 }, { "task": 2, "start": 270, "machine": 3, "duration": 34 }, { "task": 3, "start": 304, "machine": 1, "duration": 52 }, { "task": 4, "start": 697, "machine": 0, "duration": 96 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 62, "machine": 1, "duration": 14 }, { "task": 1, "start": 261, "machine": 4, "duration": 82 }, { "task": 2, "start": 448, "machine": 0, "duration": 73 }, { "task": 3, "start": 521, "machine": 2, "duration": 76 }, { "task": 4, "start": 607, "machine": 3, "duration": 9 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 232, "machine": 1, "duration": 2 }, { "task": 1, "start": 311, "machine": 2, "duration": 17 }, { "task": 2, "start": 348, "machine": 4, "duration": 85 }, { "task": 3, "start": 689, "machine": 0, "duration": 8 }, { "task": 4, "start": 730, "machine": 3, "duration": 21 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 336, "machine": 0, "duration": 78 }, { "task": 1, "start": 414, "machine": 1, "duration": 27 }, { "task": 2, "start": 574, "machine": 4, "duration": 46 }, { "task": 3, "start": 620, "machine": 3, "duration": 1 }, { "task": 4, "start": 621, "machine": 2, "duration": 2 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 343, "machine": 4, "duration": 5 }, { "task": 1, "start": 364, "machine": 2, "duration": 21 }, { "task": 2, "start": 414, "machine": 0, "duration": 34 }, { "task": 3, "start": 448, "machine": 1, "duration": 82 }, { "task": 4, "start": 530, "machine": 3, "duration": 77 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 171, "machine": 1, "duration": 61 }, { "task": 1, "start": 232, "machine": 2, "duration": 52 }, { "task": 2, "start": 610, "machine": 0, "duration": 24 }, { "task": 3, "start": 634, "machine": 3, "duration": 96 }, { "task": 4, "start": 730, "machine": 4, "duration": 8 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 62 }, { "task": 1, "start": 188, "machine": 4, "duration": 73 }, { "task": 2, "start": 262, "machine": 0, "duration": 74 }, { "task": 3, "start": 350, "machine": 3, "duration": 84 }, { "task": 4, "start": 434, "machine": 2, "duration": 17 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 69 }, { "task": 1, "start": 76, "machine": 1, "duration": 95 }, { "task": 2, "start": 171, "machine": 2, "duration": 39 }, { "task": 3, "start": 304, "machine": 3, "duration": 46 }, { "task": 4, "start": 482, "machine": 4, "duration": 92 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 82 }, { "task": 1, "start": 167, "machine": 0, "duration": 95 }, { "task": 2, "start": 328, "machine": 2, "duration": 36 }, { "task": 3, "start": 656, "machine": 4, "duration": 20 }, { "task": 4, "start": 676, "machine": 1, "duration": 10 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 82, "machine": 3, "duration": 36 }, { "task": 1, "start": 521, "machine": 0, "duration": 89 }, { "task": 2, "start": 610, "machine": 2, "duration": 9 }, { "task": 3, "start": 620, "machine": 4, "duration": 36 }, { "task": 4, "start": 656, "machine": 1, "duration": 19 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 69, "machine": 0, "duration": 98 }, { "task": 1, "start": 204, "machine": 3, "duration": 66 }, { "task": 2, "start": 284, "machine": 2, "duration": 27 }, { "task": 3, "start": 433, "machine": 4, "duration": 49 }, { "task": 4, "start": 530, "machine": 1, "duration": 56 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 99 }, { "task": 1, "start": 99, "machine": 2, "duration": 19 }, { "task": 2, "start": 118, "machine": 3, "duration": 86 }, { "task": 3, "start": 634, "machine": 0, "duration": 55 }, { "task": 4, "start": 689, "machine": 1, "duration": 63 } ] } ], "obj": 793.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 5, "duration": 89 }, { "job_id": "J1", "task_id": 2, "machine_id": 4, "duration": 34 }, { "job_id": "J1", "task_id": 3, "machine_id": 2, "duration": 52 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 96 }, { "job_id": "J2", "task_id": 0, "machine_id": 2, "duration": 14 }, { "job_id": "J2", "task_id": 1, "machine_id": 5, "duration": 82 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 73 }, { "job_id": "J2", "task_id": 3, "machine_id": 3, "duration": 76 }, { "job_id": "J2", "task_id": 4, "machine_id": 4, "duration": 9 }, { "job_id": "J3", "task_id": 0, "machine_id": 2, "duration": 2 }, { "job_id": "J3", "task_id": 1, "machine_id": 3, "duration": 17 }, { "job_id": "J3", "task_id": 2, "machine_id": 5, "duration": 85 }, { "job_id": "J3", "task_id": 3, "machine_id": 1, "duration": 8 }, { "job_id": "J3", "task_id": 4, "machine_id": 4, "duration": 21 }, { "job_id": "J4", "task_id": 0, "machine_id": 1, "duration": 78 }, { "job_id": "J4", "task_id": 1, "machine_id": 2, "duration": 27 }, { "job_id": "J4", "task_id": 2, "machine_id": 5, "duration": 46 }, { "job_id": "J4", "task_id": 3, "machine_id": 4, "duration": 1 }, { "job_id": "J4", "task_id": 4, "machine_id": 3, "duration": 2 }, { "job_id": "J5", "task_id": 0, "machine_id": 5, "duration": 5 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 21 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 34 }, { "job_id": "J5", "task_id": 3, "machine_id": 2, "duration": 82 }, { "job_id": "J5", "task_id": 4, "machine_id": 4, "duration": 77 }, { "job_id": "J6", "task_id": 0, "machine_id": 2, "duration": 61 }, { "job_id": "J6", "task_id": 1, "machine_id": 3, "duration": 52 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 24 }, { "job_id": "J6", "task_id": 3, "machine_id": 4, "duration": 96 }, { "job_id": "J6", "task_id": 4, "machine_id": 5, "duration": 8 }, { "job_id": "J7", "task_id": 0, "machine_id": 2, "duration": 62 }, { "job_id": "J7", "task_id": 1, "machine_id": 5, "duration": 73 }, { "job_id": "J7", "task_id": 2, "machine_id": 1, "duration": 74 }, { "job_id": "J7", "task_id": 3, "machine_id": 4, "duration": 84 }, { "job_id": "J7", "task_id": 4, "machine_id": 3, "duration": 17 }, { "job_id": "J8", "task_id": 0, "machine_id": 1, "duration": 69 }, { "job_id": "J8", "task_id": 1, "machine_id": 2, "duration": 95 }, { "job_id": "J8", "task_id": 2, "machine_id": 3, "duration": 39 }, { "job_id": "J8", "task_id": 3, "machine_id": 4, "duration": 46 }, { "job_id": "J8", "task_id": 4, "machine_id": 5, "duration": 92 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 82 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 95 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 36 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 20 }, { "job_id": "J9", "task_id": 4, "machine_id": 2, "duration": 10 }, { "job_id": "J10", "task_id": 0, "machine_id": 4, "duration": 36 }, { "job_id": "J10", "task_id": 1, "machine_id": 1, "duration": 89 }, { "job_id": "J10", "task_id": 2, "machine_id": 3, "duration": 9 }, { "job_id": "J10", "task_id": 3, "machine_id": 5, "duration": 36 }, { "job_id": "J10", "task_id": 4, "machine_id": 2, "duration": 19 }, { "job_id": "J11", "task_id": 0, "machine_id": 1, "duration": 98 }, { "job_id": "J11", "task_id": 1, "machine_id": 4, "duration": 66 }, { "job_id": "J11", "task_id": 2, "machine_id": 3, "duration": 27 }, { "job_id": "J11", "task_id": 3, "machine_id": 5, "duration": 49 }, { "job_id": "J11", "task_id": 4, "machine_id": 2, "duration": 56 }, { "job_id": "J12", "task_id": 0, "machine_id": 5, "duration": 99 }, { "job_id": "J12", "task_id": 1, "machine_id": 3, "duration": 19 }, { "job_id": "J12", "task_id": 2, "machine_id": 4, "duration": 86 }, { "job_id": "J12", "task_id": 3, "machine_id": 1, "duration": 55 }, { "job_id": "J12", "task_id": 4, "machine_id": 2, "duration": 63 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 99, "machine": 5, "duration": 89 }, { "task": 2, "start": 270, "machine": 4, "duration": 34 }, { "task": 3, "start": 304, "machine": 2, "duration": 52 }, { "task": 4, "start": 697, "machine": 1, "duration": 96 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 62, "machine": 2, "duration": 14 }, { "task": 1, "start": 261, "machine": 5, "duration": 82 }, { "task": 2, "start": 448, "machine": 1, "duration": 73 }, { "task": 3, "start": 521, "machine": 3, "duration": 76 }, { "task": 4, "start": 607, "machine": 4, "duration": 9 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 232, "machine": 2, "duration": 2 }, { "task": 1, "start": 311, "machine": 3, "duration": 17 }, { "task": 2, "start": 348, "machine": 5, "duration": 85 }, { "task": 3, "start": 689, "machine": 1, "duration": 8 }, { "task": 4, "start": 730, "machine": 4, "duration": 21 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 336, "machine": 1, "duration": 78 }, { "task": 1, "start": 414, "machine": 2, "duration": 27 }, { "task": 2, "start": 574, "machine": 5, "duration": 46 }, { "task": 3, "start": 620, "machine": 4, "duration": 1 }, { "task": 4, "start": 621, "machine": 3, "duration": 2 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 343, "machine": 5, "duration": 5 }, { "task": 1, "start": 364, "machine": 3, "duration": 21 }, { "task": 2, "start": 414, "machine": 1, "duration": 34 }, { "task": 3, "start": 448, "machine": 2, "duration": 82 }, { "task": 4, "start": 530, "machine": 4, "duration": 77 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 171, "machine": 2, "duration": 61 }, { "task": 1, "start": 232, "machine": 3, "duration": 52 }, { "task": 2, "start": 610, "machine": 1, "duration": 24 }, { "task": 3, "start": 634, "machine": 4, "duration": 96 }, { "task": 4, "start": 730, "machine": 5, "duration": 8 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 62 }, { "task": 1, "start": 188, "machine": 5, "duration": 73 }, { "task": 2, "start": 262, "machine": 1, "duration": 74 }, { "task": 3, "start": 350, "machine": 4, "duration": 84 }, { "task": 4, "start": 434, "machine": 3, "duration": 17 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 69 }, { "task": 1, "start": 76, "machine": 2, "duration": 95 }, { "task": 2, "start": 171, "machine": 3, "duration": 39 }, { "task": 3, "start": 304, "machine": 4, "duration": 46 }, { "task": 4, "start": 482, "machine": 5, "duration": 92 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 82 }, { "task": 1, "start": 167, "machine": 1, "duration": 95 }, { "task": 2, "start": 328, "machine": 3, "duration": 36 }, { "task": 3, "start": 656, "machine": 5, "duration": 20 }, { "task": 4, "start": 676, "machine": 2, "duration": 10 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 82, "machine": 4, "duration": 36 }, { "task": 1, "start": 521, "machine": 1, "duration": 89 }, { "task": 2, "start": 610, "machine": 3, "duration": 9 }, { "task": 3, "start": 620, "machine": 5, "duration": 36 }, { "task": 4, "start": 656, "machine": 2, "duration": 19 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 69, "machine": 1, "duration": 98 }, { "task": 1, "start": 204, "machine": 4, "duration": 66 }, { "task": 2, "start": 284, "machine": 3, "duration": 27 }, { "task": 3, "start": 433, "machine": 5, "duration": 49 }, { "task": 4, "start": 530, "machine": 2, "duration": 56 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 99 }, { "task": 1, "start": 99, "machine": 3, "duration": 19 }, { "task": 2, "start": 118, "machine": 4, "duration": 86 }, { "task": 3, "start": 634, "machine": 1, "duration": 55 }, { "task": 4, "start": 689, "machine": 2, "duration": 63 } ] } ], "context_index": 19, "input_format": "csv", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I once tried to get three different dinners out of a tiny kitchen at the same time: each recipe has its own list of steps that must happen in order, and each step needs a certain appliance for a set amount of time. The choice to make is who uses which appliance when so all dishes finish as soon as possible — the success of a plan is simply the time when the last dish is done (so the lower that time, the better). Every step has to be done exactly once, in its recipe order, and an appliance can only run one step at a time. The exact recipes, step times, and appliance availability are listed below.\n\n{\n \"nr_recipes\": 12,\n \"nr_appliances\": 5,\n \"recipe_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\",\n \"J11\",\n \"J12\"\n ],\n \"appliance_ids\": [\n 0,\n 1,\n 2,\n 3,\n 4\n ],\n \"tasks\": [\n {\n \"recipe_id\": \"J1\",\n \"step_index\": 0,\n \"required_appliance_id\": 3,\n \"step_duration\": 1\n },\n {\n \"recipe_id\": \"J1\",\n \"step_index\": 1,\n \"required_appliance_id\": 2,\n \"step_duration\": 3\n },\n {\n \"recipe_id\": \"J1\",\n \"step_index\": 2,\n \"required_appliance_id\": 4,\n \"step_duration\": 10\n },\n {\n \"recipe_id\": \"J1\",\n \"step_index\": 3,\n \"required_appliance_id\": 1,\n \"step_duration\": 97\n },\n {\n \"recipe_id\": \"J1\",\n \"step_index\": 4,\n \"required_appliance_id\": 0,\n \"step_duration\": 50\n },\n {\n \"recipe_id\": \"J2\",\n \"step_index\": 0,\n \"required_appliance_id\": 1,\n \"step_duration\": 36\n },\n {\n \"recipe_id\": \"J2\",\n \"step_index\": 1,\n \"required_appliance_id\": 2,\n \"step_duration\": 87\n },\n {\n \"recipe_id\": \"J2\",\n \"step_index\": 2,\n \"required_appliance_id\": 4,\n \"step_duration\": 41\n },\n {\n \"recipe_id\": \"J2\",\n \"step_index\": 3,\n \"required_appliance_id\": 3,\n \"step_duration\": 44\n },\n {\n \"recipe_id\": \"J2\",\n \"step_index\": 4,\n \"required_appliance_id\": 0,\n \"step_duration\": 2\n },\n {\n \"recipe_id\": \"J3\",\n \"step_index\": 0,\n \"required_appliance_id\": 0,\n \"step_duration\": 39\n },\n {\n \"recipe_id\": \"J3\",\n \"step_index\": 1,\n \"required_appliance_id\": 4,\n \"step_duration\": 68\n },\n {\n \"recipe_id\": \"J3\",\n \"step_index\": 2,\n \"required_appliance_id\": 1,\n \"step_duration\": 69\n },\n {\n \"recipe_id\": \"J3\",\n \"step_index\": 3,\n \"required_appliance_id\": 3,\n \"step_duration\": 11\n },\n {\n \"recipe_id\": \"J3\",\n \"step_index\": 4,\n \"required_appliance_id\": 2,\n \"step_duration\": 26\n },\n {\n \"recipe_id\": \"J4\",\n \"step_index\": 0,\n \"required_appliance_id\": 4,\n \"step_duration\": 31\n },\n {\n \"recipe_id\": \"J4\",\n \"step_index\": 1,\n \"required_appliance_id\": 0,\n \"step_duration\": 94\n },\n {\n \"recipe_id\": \"J4\",\n \"step_index\": 2,\n \"required_appliance_id\": 2,\n \"step_duration\": 47\n },\n {\n \"recipe_id\": \"J4\",\n \"step_index\": 3,\n \"required_appliance_id\": 3,\n \"step_duration\": 39\n },\n {\n \"recipe_id\": \"J4\",\n \"step_index\": 4,\n \"required_appliance_id\": 1,\n \"step_duration\": 8\n },\n {\n \"recipe_id\": \"J5\",\n \"step_index\": 0,\n \"required_appliance_id\": 4,\n \"step_duration\": 47\n },\n {\n \"recipe_id\": \"J5\",\n \"step_index\": 1,\n \"required_appliance_id\": 0,\n \"step_duration\": 89\n },\n {\n \"recipe_id\": \"J5\",\n \"step_index\": 2,\n \"required_appliance_id\": 3,\n \"step_duration\": 92\n },\n {\n \"recipe_id\": \"J5\",\n \"step_index\": 3,\n \"required_appliance_id\": 1,\n \"step_duration\": 75\n },\n {\n \"recipe_id\": \"J5\",\n \"step_index\": 4,\n \"required_appliance_id\": 2,\n \"step_duration\": 62\n },\n {\n \"recipe_id\": \"J6\",\n \"step_index\": 0,\n \"required_appliance_id\": 4,\n \"step_duration\": 15\n },\n {\n \"recipe_id\": \"J6\",\n \"step_index\": 1,\n \"required_appliance_id\": 0,\n \"step_duration\": 61\n },\n {\n \"recipe_id\": \"J6\",\n \"step_index\": 2,\n \"required_appliance_id\": 3,\n \"step_duration\": 89\n },\n {\n \"recipe_id\": \"J6\",\n \"step_index\": 3,\n \"required_appliance_id\": 2,\n \"step_duration\": 38\n },\n {\n \"recipe_id\": \"J6\",\n \"step_index\": 4,\n \"required_appliance_id\": 1,\n \"step_duration\": 77\n },\n {\n \"recipe_id\": \"J7\",\n \"step_index\": 0,\n \"required_appliance_id\": 3,\n \"step_duration\": 53\n },\n {\n \"recipe_id\": \"J7\",\n \"step_index\": 1,\n \"required_appliance_id\": 2,\n \"step_duration\": 49\n },\n {\n \"recipe_id\": \"J7\",\n \"step_index\": 2,\n \"required_appliance_id\": 0,\n \"step_duration\": 1\n },\n {\n \"recipe_id\": \"J7\",\n \"step_index\": 3,\n \"required_appliance_id\": 4,\n \"step_duration\": 89\n },\n {\n \"recipe_id\": \"J7\",\n \"step_index\": 4,\n \"required_appliance_id\": 1,\n \"step_duration\": 90\n },\n {\n \"recipe_id\": \"J8\",\n \"step_index\": 0,\n \"required_appliance_id\": 4,\n \"step_duration\": 3\n },\n {\n \"recipe_id\": \"J8\",\n \"step_index\": 1,\n \"required_appliance_id\": 0,\n \"step_duration\": 59\n },\n {\n \"recipe_id\": \"J8\",\n \"step_index\": 2,\n \"required_appliance_id\": 3,\n \"step_duration\": 14\n },\n {\n \"recipe_id\": \"J8\",\n \"step_index\": 3,\n \"required_appliance_id\": 2,\n \"step_duration\": 45\n },\n {\n \"recipe_id\": \"J8\",\n \"step_index\": 4,\n \"required_appliance_id\": 1,\n \"step_duration\": 29\n },\n {\n \"recipe_id\": \"J9\",\n \"step_index\": 0,\n \"required_appliance_id\": 1,\n \"step_duration\": 7\n },\n {\n \"recipe_id\": \"J9\",\n \"step_index\": 1,\n \"required_appliance_id\": 0,\n \"step_duration\": 93\n },\n {\n \"recipe_id\": \"J9\",\n \"step_index\": 2,\n \"required_appliance_id\": 3,\n \"step_duration\": 9\n },\n {\n \"recipe_id\": \"J9\",\n \"step_index\": 3,\n \"required_appliance_id\": 4,\n \"step_duration\": 95\n },\n {\n \"recipe_id\": \"J9\",\n \"step_index\": 4,\n \"required_appliance_id\": 2,\n \"step_duration\": 74\n },\n {\n \"recipe_id\": \"J10\",\n \"step_index\": 0,\n \"required_appliance_id\": 3,\n \"step_duration\": 43\n },\n {\n \"recipe_id\": \"J10\",\n \"step_index\": 1,\n \"required_appliance_id\": 1,\n \"step_duration\": 53\n },\n {\n \"recipe_id\": \"J10\",\n \"step_index\": 2,\n \"required_appliance_id\": 2,\n \"step_duration\": 96\n },\n {\n \"recipe_id\": \"J10\",\n \"step_index\": 3,\n \"required_appliance_id\": 0,\n \"step_duration\": 63\n },\n {\n \"recipe_id\": \"J10\",\n \"step_index\": 4,\n \"required_appliance_id\": 4,\n \"step_duration\": 62\n },\n {\n \"recipe_id\": \"J11\",\n \"step_index\": 0,\n \"required_appliance_id\": 0,\n \"step_duration\": 75\n },\n {\n \"recipe_id\": \"J11\",\n \"step_index\": 1,\n \"required_appliance_id\": 3,\n \"step_duration\": 15\n },\n {\n \"recipe_id\": \"J11\",\n \"step_index\": 2,\n \"required_appliance_id\": 4,\n \"step_duration\": 50\n },\n {\n \"recipe_id\": \"J11\",\n \"step_index\": 3,\n \"required_appliance_id\": 1,\n \"step_duration\": 77\n },\n {\n \"recipe_id\": \"J11\",\n \"step_index\": 4,\n \"required_appliance_id\": 2,\n \"step_duration\": 91\n },\n {\n \"recipe_id\": \"J12\",\n \"step_index\": 0,\n \"required_appliance_id\": 3,\n \"step_duration\": 16\n },\n {\n \"recipe_id\": \"J12\",\n \"step_index\": 1,\n \"required_appliance_id\": 0,\n \"step_duration\": 68\n },\n {\n \"recipe_id\": \"J12\",\n \"step_index\": 2,\n \"required_appliance_id\": 2,\n \"step_duration\": 75\n },\n {\n \"recipe_id\": \"J12\",\n \"step_index\": 3,\n \"required_appliance_id\": 1,\n \"step_duration\": 46\n },\n {\n \"recipe_id\": \"J12\",\n \"step_index\": 4,\n \"required_appliance_id\": 4,\n \"step_duration\": 69\n }\n ]\n}\n\nOh, and when you send the schedule back, a little JSON like this is perfect — just a simple shape to fill in:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a sketch of the shape I’m expecting, not the actual schedule. In plain terms: the top-level \"solution\" is a list of dishes (jobs). Each dish object says which job it is and then lists its steps. Each step has the step number (\"task\"), when that step starts (\"start\"), which appliance it needs (\"machine\"), and how long it runs (\"duration\"). Keep it simple and human-readable.\n\nPlease use the exact identifiers from the instance input — don’t rename anything or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 12, "jobs": [ [ [ 3, 1 ], [ 2, 3 ], [ 4, 10 ], [ 1, 97 ], [ 0, 50 ] ], [ [ 1, 36 ], [ 2, 87 ], [ 4, 41 ], [ 3, 44 ], [ 0, 2 ] ], [ [ 0, 39 ], [ 4, 68 ], [ 1, 69 ], [ 3, 11 ], [ 2, 26 ] ], [ [ 4, 31 ], [ 0, 94 ], [ 2, 47 ], [ 3, 39 ], [ 1, 8 ] ], [ [ 4, 47 ], [ 0, 89 ], [ 3, 92 ], [ 1, 75 ], [ 2, 62 ] ], [ [ 4, 15 ], [ 0, 61 ], [ 3, 89 ], [ 2, 38 ], [ 1, 77 ] ], [ [ 3, 53 ], [ 2, 49 ], [ 0, 1 ], [ 4, 89 ], [ 1, 90 ] ], [ [ 4, 3 ], [ 0, 59 ], [ 3, 14 ], [ 2, 45 ], [ 1, 29 ] ], [ [ 1, 7 ], [ 0, 93 ], [ 3, 9 ], [ 4, 95 ], [ 2, 74 ] ], [ [ 3, 43 ], [ 1, 53 ], [ 2, 96 ], [ 0, 63 ], [ 4, 62 ] ], [ [ 0, 75 ], [ 3, 15 ], [ 4, 50 ], [ 1, 77 ], [ 2, 91 ] ], [ [ 3, 16 ], [ 0, 68 ], [ 2, 75 ], [ 1, 46 ], [ 4, 69 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 1, "machine": 2, "duration": 3 }, { "task": 2, "start": 96, "machine": 4, "duration": 10 }, { "task": 3, "start": 113, "machine": 1, "duration": 97 }, { "task": 4, "start": 644, "machine": 0, "duration": 50 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 36 }, { "task": 1, "start": 36, "machine": 2, "duration": 87 }, { "task": 2, "start": 174, "machine": 4, "duration": 41 }, { "task": 3, "start": 397, "machine": 3, "duration": 44 }, { "task": 4, "start": 642, "machine": 0, "duration": 2 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 39 }, { "task": 1, "start": 106, "machine": 4, "duration": 68 }, { "task": 2, "start": 210, "machine": 1, "duration": 69 }, { "task": 3, "start": 288, "machine": 3, "duration": 11 }, { "task": 4, "start": 343, "machine": 2, "duration": 26 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 62, "machine": 4, "duration": 31 }, { "task": 1, "start": 485, "machine": 0, "duration": 94 }, { "task": 2, "start": 588, "machine": 2, "duration": 47 }, { "task": 3, "start": 635, "machine": 3, "duration": 39 }, { "task": 4, "start": 704, "machine": 1, "duration": 8 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 47 }, { "task": 1, "start": 107, "machine": 0, "duration": 89 }, { "task": 2, "start": 196, "machine": 3, "duration": 92 }, { "task": 3, "start": 288, "machine": 1, "duration": 75 }, { "task": 4, "start": 369, "machine": 2, "duration": 62 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 47, "machine": 4, "duration": 15 }, { "task": 1, "start": 197, "machine": 0, "duration": 61 }, { "task": 2, "start": 299, "machine": 3, "duration": 89 }, { "task": 3, "start": 431, "machine": 2, "duration": 38 }, { "task": 4, "start": 627, "machine": 1, "duration": 77 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 60, "machine": 3, "duration": 53 }, { "task": 1, "start": 123, "machine": 2, "duration": 49 }, { "task": 2, "start": 196, "machine": 0, "duration": 1 }, { "task": 3, "start": 215, "machine": 4, "duration": 89 }, { "task": 4, "start": 409, "machine": 1, "duration": 90 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 93, "machine": 4, "duration": 3 }, { "task": 1, "start": 351, "machine": 0, "duration": 59 }, { "task": 2, "start": 441, "machine": 3, "duration": 14 }, { "task": 3, "start": 469, "machine": 2, "duration": 45 }, { "task": 4, "start": 514, "machine": 1, "duration": 29 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 36, "machine": 1, "duration": 7 }, { "task": 1, "start": 258, "machine": 0, "duration": 93 }, { "task": 2, "start": 388, "machine": 3, "duration": 9 }, { "task": 3, "start": 397, "machine": 4, "duration": 95 }, { "task": 4, "start": 514, "machine": 2, "duration": 74 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 17, "machine": 3, "duration": 43 }, { "task": 1, "start": 60, "machine": 1, "duration": 53 }, { "task": 2, "start": 172, "machine": 2, "duration": 96 }, { "task": 3, "start": 579, "machine": 0, "duration": 63 }, { "task": 4, "start": 655, "machine": 4, "duration": 62 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 410, "machine": 0, "duration": 75 }, { "task": 1, "start": 485, "machine": 3, "duration": 15 }, { "task": 2, "start": 500, "machine": 4, "duration": 50 }, { "task": 3, "start": 550, "machine": 1, "duration": 77 }, { "task": 4, "start": 635, "machine": 2, "duration": 91 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 1, "machine": 3, "duration": 16 }, { "task": 1, "start": 39, "machine": 0, "duration": 68 }, { "task": 2, "start": 268, "machine": 2, "duration": 75 }, { "task": 3, "start": 363, "machine": 1, "duration": 46 }, { "task": 4, "start": 586, "machine": 4, "duration": 69 } ] } ], "obj": 726.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 3 }, { "job_id": "J1", "task_id": 2, "machine_id": 4, "duration": 10 }, { "job_id": "J1", "task_id": 3, "machine_id": 1, "duration": 97 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 50 }, { "job_id": "J2", "task_id": 0, "machine_id": 1, "duration": 36 }, { "job_id": "J2", "task_id": 1, "machine_id": 2, "duration": 87 }, { "job_id": "J2", "task_id": 2, "machine_id": 4, "duration": 41 }, { "job_id": "J2", "task_id": 3, "machine_id": 3, "duration": 44 }, { "job_id": "J2", "task_id": 4, "machine_id": 0, "duration": 2 }, { "job_id": "J3", "task_id": 0, "machine_id": 0, "duration": 39 }, { "job_id": "J3", "task_id": 1, "machine_id": 4, "duration": 68 }, { "job_id": "J3", "task_id": 2, "machine_id": 1, "duration": 69 }, { "job_id": "J3", "task_id": 3, "machine_id": 3, "duration": 11 }, { "job_id": "J3", "task_id": 4, "machine_id": 2, "duration": 26 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 31 }, { "job_id": "J4", "task_id": 1, "machine_id": 0, "duration": 94 }, { "job_id": "J4", "task_id": 2, "machine_id": 2, "duration": 47 }, { "job_id": "J4", "task_id": 3, "machine_id": 3, "duration": 39 }, { "job_id": "J4", "task_id": 4, "machine_id": 1, "duration": 8 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 47 }, { "job_id": "J5", "task_id": 1, "machine_id": 0, "duration": 89 }, { "job_id": "J5", "task_id": 2, "machine_id": 3, "duration": 92 }, { "job_id": "J5", "task_id": 3, "machine_id": 1, "duration": 75 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 62 }, { "job_id": "J6", "task_id": 0, "machine_id": 4, "duration": 15 }, { "job_id": "J6", "task_id": 1, "machine_id": 0, "duration": 61 }, { "job_id": "J6", "task_id": 2, "machine_id": 3, "duration": 89 }, { "job_id": "J6", "task_id": 3, "machine_id": 2, "duration": 38 }, { "job_id": "J6", "task_id": 4, "machine_id": 1, "duration": 77 }, { "job_id": "J7", "task_id": 0, "machine_id": 3, "duration": 53 }, { "job_id": "J7", "task_id": 1, "machine_id": 2, "duration": 49 }, { "job_id": "J7", "task_id": 2, "machine_id": 0, "duration": 1 }, { "job_id": "J7", "task_id": 3, "machine_id": 4, "duration": 89 }, { "job_id": "J7", "task_id": 4, "machine_id": 1, "duration": 90 }, { "job_id": "J8", "task_id": 0, "machine_id": 4, "duration": 3 }, { "job_id": "J8", "task_id": 1, "machine_id": 0, "duration": 59 }, { "job_id": "J8", "task_id": 2, "machine_id": 3, "duration": 14 }, { "job_id": "J8", "task_id": 3, "machine_id": 2, "duration": 45 }, { "job_id": "J8", "task_id": 4, "machine_id": 1, "duration": 29 }, { "job_id": "J9", "task_id": 0, "machine_id": 1, "duration": 7 }, { "job_id": "J9", "task_id": 1, "machine_id": 0, "duration": 93 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 9 }, { "job_id": "J9", "task_id": 3, "machine_id": 4, "duration": 95 }, { "job_id": "J9", "task_id": 4, "machine_id": 2, "duration": 74 }, { "job_id": "J10", "task_id": 0, "machine_id": 3, "duration": 43 }, { "job_id": "J10", "task_id": 1, "machine_id": 1, "duration": 53 }, { "job_id": "J10", "task_id": 2, "machine_id": 2, "duration": 96 }, { "job_id": "J10", "task_id": 3, "machine_id": 0, "duration": 63 }, { "job_id": "J10", "task_id": 4, "machine_id": 4, "duration": 62 }, { "job_id": "J11", "task_id": 0, "machine_id": 0, "duration": 75 }, { "job_id": "J11", "task_id": 1, "machine_id": 3, "duration": 15 }, { "job_id": "J11", "task_id": 2, "machine_id": 4, "duration": 50 }, { "job_id": "J11", "task_id": 3, "machine_id": 1, "duration": 77 }, { "job_id": "J11", "task_id": 4, "machine_id": 2, "duration": 91 }, { "job_id": "J12", "task_id": 0, "machine_id": 3, "duration": 16 }, { "job_id": "J12", "task_id": 1, "machine_id": 0, "duration": 68 }, { "job_id": "J12", "task_id": 2, "machine_id": 2, "duration": 75 }, { "job_id": "J12", "task_id": 3, "machine_id": 1, "duration": 46 }, { "job_id": "J12", "task_id": 4, "machine_id": 4, "duration": 69 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 1, "machine": 2, "duration": 3 }, { "task": 2, "start": 96, "machine": 4, "duration": 10 }, { "task": 3, "start": 113, "machine": 1, "duration": 97 }, { "task": 4, "start": 644, "machine": 0, "duration": 50 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 36 }, { "task": 1, "start": 36, "machine": 2, "duration": 87 }, { "task": 2, "start": 174, "machine": 4, "duration": 41 }, { "task": 3, "start": 397, "machine": 3, "duration": 44 }, { "task": 4, "start": 642, "machine": 0, "duration": 2 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 39 }, { "task": 1, "start": 106, "machine": 4, "duration": 68 }, { "task": 2, "start": 210, "machine": 1, "duration": 69 }, { "task": 3, "start": 288, "machine": 3, "duration": 11 }, { "task": 4, "start": 343, "machine": 2, "duration": 26 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 62, "machine": 4, "duration": 31 }, { "task": 1, "start": 485, "machine": 0, "duration": 94 }, { "task": 2, "start": 588, "machine": 2, "duration": 47 }, { "task": 3, "start": 635, "machine": 3, "duration": 39 }, { "task": 4, "start": 704, "machine": 1, "duration": 8 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 47 }, { "task": 1, "start": 107, "machine": 0, "duration": 89 }, { "task": 2, "start": 196, "machine": 3, "duration": 92 }, { "task": 3, "start": 288, "machine": 1, "duration": 75 }, { "task": 4, "start": 369, "machine": 2, "duration": 62 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 47, "machine": 4, "duration": 15 }, { "task": 1, "start": 197, "machine": 0, "duration": 61 }, { "task": 2, "start": 299, "machine": 3, "duration": 89 }, { "task": 3, "start": 431, "machine": 2, "duration": 38 }, { "task": 4, "start": 627, "machine": 1, "duration": 77 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 60, "machine": 3, "duration": 53 }, { "task": 1, "start": 123, "machine": 2, "duration": 49 }, { "task": 2, "start": 196, "machine": 0, "duration": 1 }, { "task": 3, "start": 215, "machine": 4, "duration": 89 }, { "task": 4, "start": 409, "machine": 1, "duration": 90 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 93, "machine": 4, "duration": 3 }, { "task": 1, "start": 351, "machine": 0, "duration": 59 }, { "task": 2, "start": 441, "machine": 3, "duration": 14 }, { "task": 3, "start": 469, "machine": 2, "duration": 45 }, { "task": 4, "start": 514, "machine": 1, "duration": 29 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 36, "machine": 1, "duration": 7 }, { "task": 1, "start": 258, "machine": 0, "duration": 93 }, { "task": 2, "start": 388, "machine": 3, "duration": 9 }, { "task": 3, "start": 397, "machine": 4, "duration": 95 }, { "task": 4, "start": 514, "machine": 2, "duration": 74 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 17, "machine": 3, "duration": 43 }, { "task": 1, "start": 60, "machine": 1, "duration": 53 }, { "task": 2, "start": 172, "machine": 2, "duration": 96 }, { "task": 3, "start": 579, "machine": 0, "duration": 63 }, { "task": 4, "start": 655, "machine": 4, "duration": 62 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 410, "machine": 0, "duration": 75 }, { "task": 1, "start": 485, "machine": 3, "duration": 15 }, { "task": 2, "start": 500, "machine": 4, "duration": 50 }, { "task": 3, "start": 550, "machine": 1, "duration": 77 }, { "task": 4, "start": 635, "machine": 2, "duration": 91 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 1, "machine": 3, "duration": 16 }, { "task": 1, "start": 39, "machine": 0, "duration": 68 }, { "task": 2, "start": 268, "machine": 2, "duration": 75 }, { "task": 3, "start": 363, "machine": 1, "duration": 46 }, { "task": 4, "start": 586, "machine": 4, "duration": 69 } ] } ], "context_index": 20, "input_format": "json", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Recently the team wondered how to tighten up turnover: each patient has a set list of stages to go through, every stage takes a fixed amount of time, and rooms can’t be double-booked. The question is how to slot everyone into the rooms over the day so the whole group is done with recovery as soon as possible — the plan is judged by the time the last person finishes recovery — and every required stage must occur once for each patient, in sequence, with no overlaps in a room. The full case and timing details are shown below.\n\nIt specifies 11 patients and 6 rooms, listed as J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11 and A, B, C, D, E, F.\n\n| patient_id | stage_index | required_room_id | stage_duration |\n|---|---|---|---|\n| J1 | 0 | F | 1 |\n| J1 | 1 | B | 16 |\n| J1 | 2 | E | 84 |\n| J1 | 3 | D | 44 |\n| J1 | 4 | C | 4 |\n| J1 | 5 | A | 57 |\n| J2 | 0 | D | 91 |\n| J2 | 1 | E | 9 |\n| J2 | 2 | A | 12 |\n| J2 | 3 | C | 95 |\n| J2 | 4 | F | 77 |\n| J2 | 5 | B | 21 |\n| J3 | 0 | D | 52 |\n| J3 | 1 | F | 15 |\n| J3 | 2 | C | 32 |\n| J3 | 3 | A | 84 |\n| J3 | 4 | B | 61 |\n| J3 | 5 | E | 48 |\n| J4 | 0 | E | 77 |\n| J4 | 1 | D | 15 |\n| J4 | 2 | C | 88 |\n| J4 | 3 | B | 58 |\n| J4 | 4 | A | 52 |\n| J4 | 5 | F | 69 |\n| J5 | 0 | D | 46 |\n| J5 | 1 | C | 67 |\n| J5 | 2 | A | 70 |\n| J5 | 3 | F | 54 |\n| J5 | 4 | B | 79 |\n| J5 | 5 | E | 47 |\n| J6 | 0 | E | 44 |\n| J6 | 1 | A | 26 |\n| J6 | 2 | D | 27 |\n| J6 | 3 | C | 94 |\n| J6 | 4 | B | 64 |\n| J6 | 5 | F | 35 |\n| J7 | 0 | C | 23 |\n| J7 | 1 | A | 89 |\n| J7 | 2 | E | 44 |\n| J7 | 3 | F | 65 |\n| J7 | 4 | B | 32 |\n| J7 | 5 | D | 91 |\n| J8 | 0 | B | 80 |\n| J8 | 1 | F | 71 |\n| J8 | 2 | C | 40 |\n| J8 | 3 | A | 51 |\n| J8 | 4 | D | 16 |\n| J8 | 5 | E | 85 |\n| J9 | 0 | F | 90 |\n| J9 | 1 | D | 6 |\n| J9 | 2 | A | 52 |\n| J9 | 3 | B | 62 |\n| J9 | 4 | C | 74 |\n| J9 | 5 | E | 5 |\n| J10 | 0 | B | 28 |\n| J10 | 1 | E | 33 |\n| J10 | 2 | A | 17 |\n| J10 | 3 | D | 65 |\n| J10 | 4 | F | 37 |\n| J10 | 5 | C | 75 |\n| J11 | 0 | F | 9 |\n| J11 | 1 | D | 28 |\n| J11 | 2 | A | 2 |\n| J11 | 3 | B | 78 |\n| J11 | 4 | E | 18 |\n| J11 | 5 | C | 63 |\n\nEach listed stage must occur once per patient in sequence, and rooms cannot be double-booked.\n\nIf you want the schedule back in a tidy, machine-friendly way, just send it in this little JSON shape — nothing fancy, just a list of each job and its tasks with start times and machines. Here's the shape I expect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a simple form: \"solution\" is a list of patients (jobs), each patient entry has a \"tasks\" list, and each task says which step it is, when it starts, which room (machine) it's in, and how long it lasts. This is just a sketch of the shape I need — not the real schedule yet.\n\nPlease use the exact identifiers from the instance input — don't rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 11, "jobs": [ [ [ 5, 1 ], [ 1, 16 ], [ 4, 84 ], [ 3, 44 ], [ 2, 4 ], [ 0, 57 ] ], [ [ 3, 91 ], [ 4, 9 ], [ 0, 12 ], [ 2, 95 ], [ 5, 77 ], [ 1, 21 ] ], [ [ 3, 52 ], [ 5, 15 ], [ 2, 32 ], [ 0, 84 ], [ 1, 61 ], [ 4, 48 ] ], [ [ 4, 77 ], [ 3, 15 ], [ 2, 88 ], [ 1, 58 ], [ 0, 52 ], [ 5, 69 ] ], [ [ 3, 46 ], [ 2, 67 ], [ 0, 70 ], [ 5, 54 ], [ 1, 79 ], [ 4, 47 ] ], [ [ 4, 44 ], [ 0, 26 ], [ 3, 27 ], [ 2, 94 ], [ 1, 64 ], [ 5, 35 ] ], [ [ 2, 23 ], [ 0, 89 ], [ 4, 44 ], [ 5, 65 ], [ 1, 32 ], [ 3, 91 ] ], [ [ 1, 80 ], [ 5, 71 ], [ 2, 40 ], [ 0, 51 ], [ 3, 16 ], [ 4, 85 ] ], [ [ 5, 90 ], [ 3, 6 ], [ 0, 52 ], [ 1, 62 ], [ 2, 74 ], [ 4, 5 ] ], [ [ 1, 28 ], [ 4, 33 ], [ 0, 17 ], [ 3, 65 ], [ 5, 37 ], [ 2, 75 ] ], [ [ 5, 9 ], [ 3, 28 ], [ 0, 2 ], [ 1, 78 ], [ 4, 18 ], [ 2, 63 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 185, "machine": 5, "duration": 1 }, { "task": 1, "start": 186, "machine": 1, "duration": 16 }, { "task": 2, "start": 202, "machine": 4, "duration": 84 }, { "task": 3, "start": 330, "machine": 3, "duration": 44 }, { "task": 4, "start": 611, "machine": 2, "duration": 4 }, { "task": 5, "start": 615, "machine": 0, "duration": 57 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 113, "machine": 3, "duration": 91 }, { "task": 1, "start": 286, "machine": 4, "duration": 9 }, { "task": 2, "start": 362, "machine": 0, "duration": 12 }, { "task": 3, "start": 441, "machine": 2, "duration": 95 }, { "task": 4, "start": 548, "machine": 5, "duration": 77 }, { "task": 5, "start": 636, "machine": 1, "duration": 21 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 46, "machine": 3, "duration": 52 }, { "task": 1, "start": 161, "machine": 5, "duration": 15 }, { "task": 2, "start": 201, "machine": 2, "duration": 32 }, { "task": 3, "start": 278, "machine": 0, "duration": 84 }, { "task": 4, "start": 511, "machine": 1, "duration": 61 }, { "task": 5, "start": 588, "machine": 4, "duration": 48 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 77 }, { "task": 1, "start": 98, "machine": 3, "duration": 15 }, { "task": 2, "start": 113, "machine": 2, "duration": 88 }, { "task": 3, "start": 202, "machine": 1, "duration": 58 }, { "task": 4, "start": 427, "machine": 0, "duration": 52 }, { "task": 5, "start": 479, "machine": 5, "duration": 69 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 46 }, { "task": 1, "start": 46, "machine": 2, "duration": 67 }, { "task": 2, "start": 113, "machine": 0, "duration": 70 }, { "task": 3, "start": 251, "machine": 5, "duration": 54 }, { "task": 4, "start": 354, "machine": 1, "duration": 79 }, { "task": 5, "start": 433, "machine": 4, "duration": 47 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 77, "machine": 4, "duration": 44 }, { "task": 1, "start": 183, "machine": 0, "duration": 26 }, { "task": 2, "start": 210, "machine": 3, "duration": 27 }, { "task": 3, "start": 273, "machine": 2, "duration": 94 }, { "task": 4, "start": 572, "machine": 1, "duration": 64 }, { "task": 5, "start": 636, "machine": 5, "duration": 35 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 23 }, { "task": 1, "start": 23, "machine": 0, "duration": 89 }, { "task": 2, "start": 121, "machine": 4, "duration": 44 }, { "task": 3, "start": 186, "machine": 5, "duration": 65 }, { "task": 4, "start": 260, "machine": 1, "duration": 32 }, { "task": 5, "start": 374, "machine": 3, "duration": 91 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 80 }, { "task": 1, "start": 90, "machine": 5, "duration": 71 }, { "task": 2, "start": 233, "machine": 2, "duration": 40 }, { "task": 3, "start": 376, "machine": 0, "duration": 51 }, { "task": 4, "start": 465, "machine": 3, "duration": 16 }, { "task": 5, "start": 485, "machine": 4, "duration": 85 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 90 }, { "task": 1, "start": 204, "machine": 3, "duration": 6 }, { "task": 2, "start": 226, "machine": 0, "duration": 52 }, { "task": 3, "start": 292, "machine": 1, "duration": 62 }, { "task": 4, "start": 367, "machine": 2, "duration": 74 }, { "task": 5, "start": 480, "machine": 4, "duration": 5 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 80, "machine": 1, "duration": 28 }, { "task": 1, "start": 165, "machine": 4, "duration": 33 }, { "task": 2, "start": 209, "machine": 0, "duration": 17 }, { "task": 3, "start": 265, "machine": 3, "duration": 65 }, { "task": 4, "start": 330, "machine": 5, "duration": 37 }, { "task": 5, "start": 536, "machine": 2, "duration": 75 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 176, "machine": 5, "duration": 9 }, { "task": 1, "start": 237, "machine": 3, "duration": 28 }, { "task": 2, "start": 374, "machine": 0, "duration": 2 }, { "task": 3, "start": 433, "machine": 1, "duration": 78 }, { "task": 4, "start": 570, "machine": 4, "duration": 18 }, { "task": 5, "start": 615, "machine": 2, "duration": 63 } ] } ], "obj": 678.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "F", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 16 }, { "job_id": "J1", "task_id": 2, "machine_id": "E", "duration": 84 }, { "job_id": "J1", "task_id": 3, "machine_id": "D", "duration": 44 }, { "job_id": "J1", "task_id": 4, "machine_id": "C", "duration": 4 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 57 }, { "job_id": "J2", "task_id": 0, "machine_id": "D", "duration": 91 }, { "job_id": "J2", "task_id": 1, "machine_id": "E", "duration": 9 }, { "job_id": "J2", "task_id": 2, "machine_id": "A", "duration": 12 }, { "job_id": "J2", "task_id": 3, "machine_id": "C", "duration": 95 }, { "job_id": "J2", "task_id": 4, "machine_id": "F", "duration": 77 }, { "job_id": "J2", "task_id": 5, "machine_id": "B", "duration": 21 }, { "job_id": "J3", "task_id": 0, "machine_id": "D", "duration": 52 }, { "job_id": "J3", "task_id": 1, "machine_id": "F", "duration": 15 }, { "job_id": "J3", "task_id": 2, "machine_id": "C", "duration": 32 }, { "job_id": "J3", "task_id": 3, "machine_id": "A", "duration": 84 }, { "job_id": "J3", "task_id": 4, "machine_id": "B", "duration": 61 }, { "job_id": "J3", "task_id": 5, "machine_id": "E", "duration": 48 }, { "job_id": "J4", "task_id": 0, "machine_id": "E", "duration": 77 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 15 }, { "job_id": "J4", "task_id": 2, "machine_id": "C", "duration": 88 }, { "job_id": "J4", "task_id": 3, "machine_id": "B", "duration": 58 }, { "job_id": "J4", "task_id": 4, "machine_id": "A", "duration": 52 }, { "job_id": "J4", "task_id": 5, "machine_id": "F", "duration": 69 }, { "job_id": "J5", "task_id": 0, "machine_id": "D", "duration": 46 }, { "job_id": "J5", "task_id": 1, "machine_id": "C", "duration": 67 }, { "job_id": "J5", "task_id": 2, "machine_id": "A", "duration": 70 }, { "job_id": "J5", "task_id": 3, "machine_id": "F", "duration": 54 }, { "job_id": "J5", "task_id": 4, "machine_id": "B", "duration": 79 }, { "job_id": "J5", "task_id": 5, "machine_id": "E", "duration": 47 }, { "job_id": "J6", "task_id": 0, "machine_id": "E", "duration": 44 }, { "job_id": "J6", "task_id": 1, "machine_id": "A", "duration": 26 }, { "job_id": "J6", "task_id": 2, "machine_id": "D", "duration": 27 }, { "job_id": "J6", "task_id": 3, "machine_id": "C", "duration": 94 }, { "job_id": "J6", "task_id": 4, "machine_id": "B", "duration": 64 }, { "job_id": "J6", "task_id": 5, "machine_id": "F", "duration": 35 }, { "job_id": "J7", "task_id": 0, "machine_id": "C", "duration": 23 }, { "job_id": "J7", "task_id": 1, "machine_id": "A", "duration": 89 }, { "job_id": "J7", "task_id": 2, "machine_id": "E", "duration": 44 }, { "job_id": "J7", "task_id": 3, "machine_id": "F", "duration": 65 }, { "job_id": "J7", "task_id": 4, "machine_id": "B", "duration": 32 }, { "job_id": "J7", "task_id": 5, "machine_id": "D", "duration": 91 }, { "job_id": "J8", "task_id": 0, "machine_id": "B", "duration": 80 }, { "job_id": "J8", "task_id": 1, "machine_id": "F", "duration": 71 }, { "job_id": "J8", "task_id": 2, "machine_id": "C", "duration": 40 }, { "job_id": "J8", "task_id": 3, "machine_id": "A", "duration": 51 }, { "job_id": "J8", "task_id": 4, "machine_id": "D", "duration": 16 }, { "job_id": "J8", "task_id": 5, "machine_id": "E", "duration": 85 }, { "job_id": "J9", "task_id": 0, "machine_id": "F", "duration": 90 }, { "job_id": "J9", "task_id": 1, "machine_id": "D", "duration": 6 }, { "job_id": "J9", "task_id": 2, "machine_id": "A", "duration": 52 }, { "job_id": "J9", "task_id": 3, "machine_id": "B", "duration": 62 }, { "job_id": "J9", "task_id": 4, "machine_id": "C", "duration": 74 }, { "job_id": "J9", "task_id": 5, "machine_id": "E", "duration": 5 }, { "job_id": "J10", "task_id": 0, "machine_id": "B", "duration": 28 }, { "job_id": "J10", "task_id": 1, "machine_id": "E", "duration": 33 }, { "job_id": "J10", "task_id": 2, "machine_id": "A", "duration": 17 }, { "job_id": "J10", "task_id": 3, "machine_id": "D", "duration": 65 }, { "job_id": "J10", "task_id": 4, "machine_id": "F", "duration": 37 }, { "job_id": "J10", "task_id": 5, "machine_id": "C", "duration": 75 }, { "job_id": "J11", "task_id": 0, "machine_id": "F", "duration": 9 }, { "job_id": "J11", "task_id": 1, "machine_id": "D", "duration": 28 }, { "job_id": "J11", "task_id": 2, "machine_id": "A", "duration": 2 }, { "job_id": "J11", "task_id": 3, "machine_id": "B", "duration": 78 }, { "job_id": "J11", "task_id": 4, "machine_id": "E", "duration": 18 }, { "job_id": "J11", "task_id": 5, "machine_id": "C", "duration": 63 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 185, "machine": "F", "duration": 1 }, { "task": 1, "start": 186, "machine": "B", "duration": 16 }, { "task": 2, "start": 202, "machine": "E", "duration": 84 }, { "task": 3, "start": 330, "machine": "D", "duration": 44 }, { "task": 4, "start": 611, "machine": "C", "duration": 4 }, { "task": 5, "start": 615, "machine": "A", "duration": 57 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 113, "machine": "D", "duration": 91 }, { "task": 1, "start": 286, "machine": "E", "duration": 9 }, { "task": 2, "start": 362, "machine": "A", "duration": 12 }, { "task": 3, "start": 441, "machine": "C", "duration": 95 }, { "task": 4, "start": 548, "machine": "F", "duration": 77 }, { "task": 5, "start": 636, "machine": "B", "duration": 21 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 46, "machine": "D", "duration": 52 }, { "task": 1, "start": 161, "machine": "F", "duration": 15 }, { "task": 2, "start": 201, "machine": "C", "duration": 32 }, { "task": 3, "start": 278, "machine": "A", "duration": 84 }, { "task": 4, "start": 511, "machine": "B", "duration": 61 }, { "task": 5, "start": 588, "machine": "E", "duration": 48 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 77 }, { "task": 1, "start": 98, "machine": "D", "duration": 15 }, { "task": 2, "start": 113, "machine": "C", "duration": 88 }, { "task": 3, "start": 202, "machine": "B", "duration": 58 }, { "task": 4, "start": 427, "machine": "A", "duration": 52 }, { "task": 5, "start": 479, "machine": "F", "duration": 69 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 46 }, { "task": 1, "start": 46, "machine": "C", "duration": 67 }, { "task": 2, "start": 113, "machine": "A", "duration": 70 }, { "task": 3, "start": 251, "machine": "F", "duration": 54 }, { "task": 4, "start": 354, "machine": "B", "duration": 79 }, { "task": 5, "start": 433, "machine": "E", "duration": 47 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 77, "machine": "E", "duration": 44 }, { "task": 1, "start": 183, "machine": "A", "duration": 26 }, { "task": 2, "start": 210, "machine": "D", "duration": 27 }, { "task": 3, "start": 273, "machine": "C", "duration": 94 }, { "task": 4, "start": 572, "machine": "B", "duration": 64 }, { "task": 5, "start": 636, "machine": "F", "duration": 35 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 23 }, { "task": 1, "start": 23, "machine": "A", "duration": 89 }, { "task": 2, "start": 121, "machine": "E", "duration": 44 }, { "task": 3, "start": 186, "machine": "F", "duration": 65 }, { "task": 4, "start": 260, "machine": "B", "duration": 32 }, { "task": 5, "start": 374, "machine": "D", "duration": 91 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 80 }, { "task": 1, "start": 90, "machine": "F", "duration": 71 }, { "task": 2, "start": 233, "machine": "C", "duration": 40 }, { "task": 3, "start": 376, "machine": "A", "duration": 51 }, { "task": 4, "start": 465, "machine": "D", "duration": 16 }, { "task": 5, "start": 485, "machine": "E", "duration": 85 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "F", "duration": 90 }, { "task": 1, "start": 204, "machine": "D", "duration": 6 }, { "task": 2, "start": 226, "machine": "A", "duration": 52 }, { "task": 3, "start": 292, "machine": "B", "duration": 62 }, { "task": 4, "start": 367, "machine": "C", "duration": 74 }, { "task": 5, "start": 480, "machine": "E", "duration": 5 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 80, "machine": "B", "duration": 28 }, { "task": 1, "start": 165, "machine": "E", "duration": 33 }, { "task": 2, "start": 209, "machine": "A", "duration": 17 }, { "task": 3, "start": 265, "machine": "D", "duration": 65 }, { "task": 4, "start": 330, "machine": "F", "duration": 37 }, { "task": 5, "start": 536, "machine": "C", "duration": 75 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 176, "machine": "F", "duration": 9 }, { "task": 1, "start": 237, "machine": "D", "duration": 28 }, { "task": 2, "start": 374, "machine": "A", "duration": 2 }, { "task": 3, "start": 433, "machine": "B", "duration": 78 }, { "task": 4, "start": 570, "machine": "E", "duration": 18 }, { "task": 5, "start": 615, "machine": "C", "duration": 63 } ] } ], "context_index": 21, "input_format": "markdown_table", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "We had to map out the crew and equipment so several construction units could get finished without wasting time: each operation on a unit has a fixed duration, machines can’t split themselves between tasks, and the steps for every unit must happen in the order they’re laid out. The decision is the sequence and timing of assignments across crews and machines so the last unit is completed as soon as possible — the key metric is the time stamp when the final job ends. The exact numbers and tasks are listed below.\n\nWe listed 10 construction units (J1, J2, J3, J4, J5, J6, J7, J8, J9, J10) and 5 heavy equipment pieces (A, B, C, D, E) to schedule.\n\n| unit_id | step_index | required_equipment_id | operation_duration |\n|---|---|---|---|\n| J1 | 0 | D | 1 |\n| J1 | 1 | E | 29 |\n| J1 | 2 | B | 60 |\n| J1 | 3 | C | 89 |\n| J1 | 4 | A | 56 |\n| J2 | 0 | C | 79 |\n| J2 | 1 | A | 96 |\n| J2 | 2 | D | 77 |\n| J2 | 3 | E | 79 |\n| J2 | 4 | B | 88 |\n| J3 | 0 | C | 16 |\n| J3 | 1 | B | 72 |\n| J3 | 2 | A | 35 |\n| J3 | 3 | E | 18 |\n| J3 | 4 | D | 37 |\n| J4 | 0 | B | 37 |\n| J4 | 1 | E | 28 |\n| J4 | 2 | C | 49 |\n| J4 | 3 | D | 16 |\n| J4 | 4 | A | 21 |\n| J5 | 0 | C | 30 |\n| J5 | 1 | E | 27 |\n| J5 | 2 | A | 11 |\n| J5 | 3 | B | 62 |\n| J5 | 4 | D | 31 |\n| J6 | 0 | E | 20 |\n| J6 | 1 | B | 79 |\n| J6 | 2 | C | 20 |\n| J6 | 3 | D | 21 |\n| J6 | 4 | A | 18 |\n| J7 | 0 | C | 35 |\n| J7 | 1 | A | 2 |\n| J7 | 2 | D | 53 |\n| J7 | 3 | B | 99 |\n| J7 | 4 | E | 37 |\n| J8 | 0 | D | 68 |\n| J8 | 1 | C | 85 |\n| J8 | 2 | E | 65 |\n| J8 | 3 | A | 44 |\n| J8 | 4 | B | 2 |\n| J9 | 0 | B | 56 |\n| J9 | 1 | D | 90 |\n| J9 | 2 | E | 53 |\n| J9 | 3 | C | 46 |\n| J9 | 4 | A | 5 |\n| J10 | 0 | E | 58 |\n| J10 | 1 | A | 79 |\n| J10 | 2 | C | 73 |\n| J10 | 3 | D | 18 |\n| J10 | 4 | B | 49 |\n\nWe prioritized finishing the last unit as early as possible.\n\nAlso, to keep things tidy, please return the planned schedule in this simple JSON shape when you submit the solution:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a small form: \"solution\" is a list of jobs, each job entry names which job it is and then lists its tasks; every task line just says which step it is, when it starts, which machine it runs on, and how long it takes. Super casual — it's just the shape I need, not the actual schedule yet.\n\nThis JSON is only a sketch of the expected format, not the final answer. Please make sure all identifiers are used exactly as they appear in the instance input — no renaming and no new labels.\n\n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 10, "jobs": [ [ [ 3, 1 ], [ 4, 29 ], [ 1, 60 ], [ 2, 89 ], [ 0, 56 ] ], [ [ 2, 79 ], [ 0, 96 ], [ 3, 77 ], [ 4, 79 ], [ 1, 88 ] ], [ [ 2, 16 ], [ 1, 72 ], [ 0, 35 ], [ 4, 18 ], [ 3, 37 ] ], [ [ 1, 37 ], [ 4, 28 ], [ 2, 49 ], [ 3, 16 ], [ 0, 21 ] ], [ [ 2, 30 ], [ 4, 27 ], [ 0, 11 ], [ 1, 62 ], [ 3, 31 ] ], [ [ 4, 20 ], [ 1, 79 ], [ 2, 20 ], [ 3, 21 ], [ 0, 18 ] ], [ [ 2, 35 ], [ 0, 2 ], [ 3, 53 ], [ 1, 99 ], [ 4, 37 ] ], [ [ 3, 68 ], [ 2, 85 ], [ 4, 65 ], [ 0, 44 ], [ 1, 2 ] ], [ [ 1, 56 ], [ 3, 90 ], [ 4, 53 ], [ 2, 46 ], [ 0, 5 ] ], [ [ 4, 58 ], [ 0, 79 ], [ 2, 73 ], [ 3, 18 ], [ 1, 49 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 68, "machine": 3, "duration": 1 }, { "task": 1, "start": 78, "machine": 4, "duration": 29 }, { "task": 2, "start": 172, "machine": 1, "duration": 60 }, { "task": 3, "start": 245, "machine": 2, "duration": 89 }, { "task": 4, "start": 367, "machine": 0, "duration": 56 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 79 }, { "task": 1, "start": 137, "machine": 0, "duration": 96 }, { "task": 2, "start": 288, "machine": 3, "duration": 77 }, { "task": 3, "start": 365, "machine": 4, "duration": 79 }, { "task": 4, "start": 465, "machine": 1, "duration": 88 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 199, "machine": 2, "duration": 16 }, { "task": 1, "start": 232, "machine": 1, "duration": 72 }, { "task": 2, "start": 332, "machine": 0, "duration": 35 }, { "task": 3, "start": 444, "machine": 4, "duration": 18 }, { "task": 4, "start": 472, "machine": 3, "duration": 37 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 56, "machine": 1, "duration": 37 }, { "task": 1, "start": 107, "machine": 4, "duration": 28 }, { "task": 2, "start": 407, "machine": 2, "duration": 49 }, { "task": 3, "start": 456, "machine": 3, "duration": 16 }, { "task": 4, "start": 472, "machine": 0, "duration": 21 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 215, "machine": 2, "duration": 30 }, { "task": 1, "start": 277, "machine": 4, "duration": 27 }, { "task": 2, "start": 321, "machine": 0, "duration": 11 }, { "task": 3, "start": 403, "machine": 1, "duration": 62 }, { "task": 4, "start": 530, "machine": 3, "duration": 31 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 58, "machine": 4, "duration": 20 }, { "task": 1, "start": 93, "machine": 1, "duration": 79 }, { "task": 2, "start": 456, "machine": 2, "duration": 20 }, { "task": 3, "start": 509, "machine": 3, "duration": 21 }, { "task": 4, "start": 530, "machine": 0, "duration": 18 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 79, "machine": 2, "duration": 35 }, { "task": 1, "start": 233, "machine": 0, "duration": 2 }, { "task": 2, "start": 235, "machine": 3, "duration": 53 }, { "task": 3, "start": 304, "machine": 1, "duration": 99 }, { "task": 4, "start": 462, "machine": 4, "duration": 37 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 68 }, { "task": 1, "start": 114, "machine": 2, "duration": 85 }, { "task": 2, "start": 212, "machine": 4, "duration": 65 }, { "task": 3, "start": 277, "machine": 0, "duration": 44 }, { "task": 4, "start": 602, "machine": 1, "duration": 2 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 56 }, { "task": 1, "start": 69, "machine": 3, "duration": 90 }, { "task": 2, "start": 159, "machine": 4, "duration": 53 }, { "task": 3, "start": 476, "machine": 2, "duration": 46 }, { "task": 4, "start": 522, "machine": 0, "duration": 5 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 58 }, { "task": 1, "start": 58, "machine": 0, "duration": 79 }, { "task": 2, "start": 334, "machine": 2, "duration": 73 }, { "task": 3, "start": 407, "machine": 3, "duration": 18 }, { "task": 4, "start": 553, "machine": 1, "duration": 49 } ] } ], "obj": 604.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "D", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 29 }, { "job_id": "J1", "task_id": 2, "machine_id": "B", "duration": 60 }, { "job_id": "J1", "task_id": 3, "machine_id": "C", "duration": 89 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 56 }, { "job_id": "J2", "task_id": 0, "machine_id": "C", "duration": 79 }, { "job_id": "J2", "task_id": 1, "machine_id": "A", "duration": 96 }, { "job_id": "J2", "task_id": 2, "machine_id": "D", "duration": 77 }, { "job_id": "J2", "task_id": 3, "machine_id": "E", "duration": 79 }, { "job_id": "J2", "task_id": 4, "machine_id": "B", "duration": 88 }, { "job_id": "J3", "task_id": 0, "machine_id": "C", "duration": 16 }, { "job_id": "J3", "task_id": 1, "machine_id": "B", "duration": 72 }, { "job_id": "J3", "task_id": 2, "machine_id": "A", "duration": 35 }, { "job_id": "J3", "task_id": 3, "machine_id": "E", "duration": 18 }, { "job_id": "J3", "task_id": 4, "machine_id": "D", "duration": 37 }, { "job_id": "J4", "task_id": 0, "machine_id": "B", "duration": 37 }, { "job_id": "J4", "task_id": 1, "machine_id": "E", "duration": 28 }, { "job_id": "J4", "task_id": 2, "machine_id": "C", "duration": 49 }, { "job_id": "J4", "task_id": 3, "machine_id": "D", "duration": 16 }, { "job_id": "J4", "task_id": 4, "machine_id": "A", "duration": 21 }, { "job_id": "J5", "task_id": 0, "machine_id": "C", "duration": 30 }, { "job_id": "J5", "task_id": 1, "machine_id": "E", "duration": 27 }, { "job_id": "J5", "task_id": 2, "machine_id": "A", "duration": 11 }, { "job_id": "J5", "task_id": 3, "machine_id": "B", "duration": 62 }, { "job_id": "J5", "task_id": 4, "machine_id": "D", "duration": 31 }, { "job_id": "J6", "task_id": 0, "machine_id": "E", "duration": 20 }, { "job_id": "J6", "task_id": 1, "machine_id": "B", "duration": 79 }, { "job_id": "J6", "task_id": 2, "machine_id": "C", "duration": 20 }, { "job_id": "J6", "task_id": 3, "machine_id": "D", "duration": 21 }, { "job_id": "J6", "task_id": 4, "machine_id": "A", "duration": 18 }, { "job_id": "J7", "task_id": 0, "machine_id": "C", "duration": 35 }, { "job_id": "J7", "task_id": 1, "machine_id": "A", "duration": 2 }, { "job_id": "J7", "task_id": 2, "machine_id": "D", "duration": 53 }, { "job_id": "J7", "task_id": 3, "machine_id": "B", "duration": 99 }, { "job_id": "J7", "task_id": 4, "machine_id": "E", "duration": 37 }, { "job_id": "J8", "task_id": 0, "machine_id": "D", "duration": 68 }, { "job_id": "J8", "task_id": 1, "machine_id": "C", "duration": 85 }, { "job_id": "J8", "task_id": 2, "machine_id": "E", "duration": 65 }, { "job_id": "J8", "task_id": 3, "machine_id": "A", "duration": 44 }, { "job_id": "J8", "task_id": 4, "machine_id": "B", "duration": 2 }, { "job_id": "J9", "task_id": 0, "machine_id": "B", "duration": 56 }, { "job_id": "J9", "task_id": 1, "machine_id": "D", "duration": 90 }, { "job_id": "J9", "task_id": 2, "machine_id": "E", "duration": 53 }, { "job_id": "J9", "task_id": 3, "machine_id": "C", "duration": 46 }, { "job_id": "J9", "task_id": 4, "machine_id": "A", "duration": 5 }, { "job_id": "J10", "task_id": 0, "machine_id": "E", "duration": 58 }, { "job_id": "J10", "task_id": 1, "machine_id": "A", "duration": 79 }, { "job_id": "J10", "task_id": 2, "machine_id": "C", "duration": 73 }, { "job_id": "J10", "task_id": 3, "machine_id": "D", "duration": 18 }, { "job_id": "J10", "task_id": 4, "machine_id": "B", "duration": 49 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 68, "machine": "D", "duration": 1 }, { "task": 1, "start": 78, "machine": "E", "duration": 29 }, { "task": 2, "start": 172, "machine": "B", "duration": 60 }, { "task": 3, "start": 245, "machine": "C", "duration": 89 }, { "task": 4, "start": 367, "machine": "A", "duration": 56 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 79 }, { "task": 1, "start": 137, "machine": "A", "duration": 96 }, { "task": 2, "start": 288, "machine": "D", "duration": 77 }, { "task": 3, "start": 365, "machine": "E", "duration": 79 }, { "task": 4, "start": 465, "machine": "B", "duration": 88 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 199, "machine": "C", "duration": 16 }, { "task": 1, "start": 232, "machine": "B", "duration": 72 }, { "task": 2, "start": 332, "machine": "A", "duration": 35 }, { "task": 3, "start": 444, "machine": "E", "duration": 18 }, { "task": 4, "start": 472, "machine": "D", "duration": 37 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 56, "machine": "B", "duration": 37 }, { "task": 1, "start": 107, "machine": "E", "duration": 28 }, { "task": 2, "start": 407, "machine": "C", "duration": 49 }, { "task": 3, "start": 456, "machine": "D", "duration": 16 }, { "task": 4, "start": 472, "machine": "A", "duration": 21 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 215, "machine": "C", "duration": 30 }, { "task": 1, "start": 277, "machine": "E", "duration": 27 }, { "task": 2, "start": 321, "machine": "A", "duration": 11 }, { "task": 3, "start": 403, "machine": "B", "duration": 62 }, { "task": 4, "start": 530, "machine": "D", "duration": 31 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 58, "machine": "E", "duration": 20 }, { "task": 1, "start": 93, "machine": "B", "duration": 79 }, { "task": 2, "start": 456, "machine": "C", "duration": 20 }, { "task": 3, "start": 509, "machine": "D", "duration": 21 }, { "task": 4, "start": 530, "machine": "A", "duration": 18 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 79, "machine": "C", "duration": 35 }, { "task": 1, "start": 233, "machine": "A", "duration": 2 }, { "task": 2, "start": 235, "machine": "D", "duration": 53 }, { "task": 3, "start": 304, "machine": "B", "duration": 99 }, { "task": 4, "start": 462, "machine": "E", "duration": 37 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 68 }, { "task": 1, "start": 114, "machine": "C", "duration": 85 }, { "task": 2, "start": 212, "machine": "E", "duration": 65 }, { "task": 3, "start": 277, "machine": "A", "duration": 44 }, { "task": 4, "start": 602, "machine": "B", "duration": 2 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 56 }, { "task": 1, "start": 69, "machine": "D", "duration": 90 }, { "task": 2, "start": 159, "machine": "E", "duration": 53 }, { "task": 3, "start": 476, "machine": "C", "duration": 46 }, { "task": 4, "start": 522, "machine": "A", "duration": 5 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 58 }, { "task": 1, "start": 58, "machine": "A", "duration": 79 }, { "task": 2, "start": 334, "machine": "C", "duration": 73 }, { "task": 3, "start": 407, "machine": "D", "duration": 18 }, { "task": 4, "start": 553, "machine": "B", "duration": 49 } ] } ], "context_index": 22, "input_format": "markdown_table", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I’m juggling a stack of feature builds, each one made of a fixed line-up of steps that have to happen in order. Each step needs a specific server and a known amount of time, and a server can only handle one step at a time. The job is to pick when and in what order those steps run so the whole batch is done as early as possible — measured by the time the last feature finishes (so look at every feature’s completion time and the biggest one is the score). Nothing can be skipped or done twice, every step must run on its assigned server, and the steps for a feature must keep their given order. The exact servers, step times, and feature sequences are listed below.\n\n{\n \"nr_features\": 9,\n \"nr_servers\": 5,\n \"features_list\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\"\n ],\n \"servers_list\": [\n 0,\n 1,\n 2,\n 3,\n 4\n ],\n \"tasks\": [\n {\n \"feature_id\": \"J1\",\n \"step_index\": 0,\n \"server_id\": 4,\n \"step_duration\": 1\n },\n {\n \"feature_id\": \"J1\",\n \"step_index\": 1,\n \"server_id\": 2,\n \"step_duration\": 42\n },\n {\n \"feature_id\": \"J1\",\n \"step_index\": 2,\n \"server_id\": 1,\n \"step_duration\": 36\n },\n {\n \"feature_id\": \"J1\",\n \"step_index\": 3,\n \"server_id\": 3,\n \"step_duration\": 36\n },\n {\n \"feature_id\": \"J1\",\n \"step_index\": 4,\n \"server_id\": 0,\n \"step_duration\": 10\n },\n {\n \"feature_id\": \"J2\",\n \"step_index\": 0,\n \"server_id\": 4,\n \"step_duration\": 2\n },\n {\n \"feature_id\": \"J2\",\n \"step_index\": 1,\n \"server_id\": 0,\n \"step_duration\": 2\n },\n {\n \"feature_id\": \"J2\",\n \"step_index\": 2,\n \"server_id\": 1,\n \"step_duration\": 45\n },\n {\n \"feature_id\": \"J2\",\n \"step_index\": 3,\n \"server_id\": 2,\n \"step_duration\": 48\n },\n {\n \"feature_id\": \"J2\",\n \"step_index\": 4,\n \"server_id\": 3,\n \"step_duration\": 82\n },\n {\n \"feature_id\": \"J3\",\n \"step_index\": 0,\n \"server_id\": 3,\n \"step_duration\": 54\n },\n {\n \"feature_id\": \"J3\",\n \"step_index\": 1,\n \"server_id\": 0,\n \"step_duration\": 25\n },\n {\n \"feature_id\": \"J3\",\n \"step_index\": 2,\n \"server_id\": 1,\n \"step_duration\": 18\n },\n {\n \"feature_id\": \"J3\",\n \"step_index\": 3,\n \"server_id\": 4,\n \"step_duration\": 22\n },\n {\n \"feature_id\": \"J3\",\n \"step_index\": 4,\n \"server_id\": 2,\n \"step_duration\": 42\n },\n {\n \"feature_id\": \"J4\",\n \"step_index\": 0,\n \"server_id\": 2,\n \"step_duration\": 90\n },\n {\n \"feature_id\": \"J4\",\n \"step_index\": 1,\n \"server_id\": 1,\n \"step_duration\": 95\n },\n {\n \"feature_id\": \"J4\",\n \"step_index\": 2,\n \"server_id\": 0,\n \"step_duration\": 49\n },\n {\n \"feature_id\": \"J4\",\n \"step_index\": 3,\n \"server_id\": 3,\n \"step_duration\": 54\n },\n {\n \"feature_id\": \"J4\",\n \"step_index\": 4,\n \"server_id\": 4,\n \"step_duration\": 28\n },\n {\n \"feature_id\": \"J5\",\n \"step_index\": 0,\n \"server_id\": 0,\n \"step_duration\": 72\n },\n {\n \"feature_id\": \"J5\",\n \"step_index\": 1,\n \"server_id\": 3,\n \"step_duration\": 95\n },\n {\n \"feature_id\": \"J5\",\n \"step_index\": 2,\n \"server_id\": 4,\n \"step_duration\": 69\n },\n {\n \"feature_id\": \"J5\",\n \"step_index\": 3,\n \"server_id\": 1,\n \"step_duration\": 55\n },\n {\n \"feature_id\": \"J5\",\n \"step_index\": 4,\n \"server_id\": 2,\n \"step_duration\": 16\n },\n {\n \"feature_id\": \"J6\",\n \"step_index\": 0,\n \"server_id\": 0,\n \"step_duration\": 72\n },\n {\n \"feature_id\": \"J6\",\n \"step_index\": 1,\n \"server_id\": 3,\n \"step_duration\": 88\n },\n {\n \"feature_id\": \"J6\",\n \"step_index\": 2,\n \"server_id\": 1,\n \"step_duration\": 85\n },\n {\n \"feature_id\": \"J6\",\n \"step_index\": 3,\n \"server_id\": 4,\n \"step_duration\": 62\n },\n {\n \"feature_id\": \"J6\",\n \"step_index\": 4,\n \"server_id\": 2,\n \"step_duration\": 87\n },\n {\n \"feature_id\": \"J7\",\n \"step_index\": 0,\n \"server_id\": 2,\n \"step_duration\": 26\n },\n {\n \"feature_id\": \"J7\",\n \"step_index\": 1,\n \"server_id\": 3,\n \"step_duration\": 78\n },\n {\n \"feature_id\": \"J7\",\n \"step_index\": 2,\n \"server_id\": 1,\n \"step_duration\": 79\n },\n {\n \"feature_id\": \"J7\",\n \"step_index\": 3,\n \"server_id\": 0,\n \"step_duration\": 4\n },\n {\n \"feature_id\": \"J7\",\n \"step_index\": 4,\n \"server_id\": 4,\n \"step_duration\": 11\n },\n {\n \"feature_id\": \"J8\",\n \"step_index\": 0,\n \"server_id\": 0,\n \"step_duration\": 1\n },\n {\n \"feature_id\": \"J8\",\n \"step_index\": 1,\n \"server_id\": 2,\n \"step_duration\": 49\n },\n {\n \"feature_id\": \"J8\",\n \"step_index\": 2,\n \"server_id\": 1,\n \"step_duration\": 41\n },\n {\n \"feature_id\": \"J8\",\n \"step_index\": 3,\n \"server_id\": 4,\n \"step_duration\": 43\n },\n {\n \"feature_id\": \"J8\",\n \"step_index\": 4,\n \"server_id\": 3,\n \"step_duration\": 38\n },\n {\n \"feature_id\": \"J9\",\n \"step_index\": 0,\n \"server_id\": 4,\n \"step_duration\": 81\n },\n {\n \"feature_id\": \"J9\",\n \"step_index\": 1,\n \"server_id\": 0,\n \"step_duration\": 88\n },\n {\n \"feature_id\": \"J9\",\n \"step_index\": 2,\n \"server_id\": 3,\n \"step_duration\": 25\n },\n {\n \"feature_id\": \"J9\",\n \"step_index\": 3,\n \"server_id\": 2,\n \"step_duration\": 22\n },\n {\n \"feature_id\": \"J9\",\n \"step_index\": 4,\n \"server_id\": 1,\n \"step_duration\": 70\n }\n ]\n}\n\nAlso, when you send back a schedule, it'd be great if you follow a simple JSON layout so I can read it reliably. Something like this shows the shape I expect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it as a little form: \"solution\" is the list of features (jobs), each entry names the job and lists its steps (tasks). For each step you give which step index it is, when it starts, which server (machine) it runs on, and how long it takes. Super casual — just the fields shown, nothing fancy.\n\nThis block is just a sketch of the expected shape, not the actual schedule — I'll need the real numbers and the exact job/machine identifiers from the instance.\n\nPlease use the identifiers exactly as they appear in the instance input — no renaming and no new labels. For example: Valid identifiers look like plain numbers such as \"1\" or \"23\", single capital letters like \"A\" or \"B\", or a capital letter followed by digits like \"A1\" or \"X7\".", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 4, 1 ], [ 2, 42 ], [ 1, 36 ], [ 3, 36 ], [ 0, 10 ] ], [ [ 4, 2 ], [ 0, 2 ], [ 1, 45 ], [ 2, 48 ], [ 3, 82 ] ], [ [ 3, 54 ], [ 0, 25 ], [ 1, 18 ], [ 4, 22 ], [ 2, 42 ] ], [ [ 2, 90 ], [ 1, 95 ], [ 0, 49 ], [ 3, 54 ], [ 4, 28 ] ], [ [ 0, 72 ], [ 3, 95 ], [ 4, 69 ], [ 1, 55 ], [ 2, 16 ] ], [ [ 0, 72 ], [ 3, 88 ], [ 1, 85 ], [ 4, 62 ], [ 2, 87 ] ], [ [ 2, 26 ], [ 3, 78 ], [ 1, 79 ], [ 0, 4 ], [ 4, 11 ] ], [ [ 0, 1 ], [ 2, 49 ], [ 1, 41 ], [ 4, 43 ], [ 3, 38 ] ], [ [ 4, 81 ], [ 0, 88 ], [ 3, 25 ], [ 2, 22 ], [ 1, 70 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 2, "machine": 4, "duration": 1 }, { "task": 1, "start": 26, "machine": 2, "duration": 42 }, { "task": 2, "start": 68, "machine": 1, "duration": 36 }, { "task": 3, "start": 476, "machine": 3, "duration": 36 }, { "task": 4, "start": 512, "machine": 0, "duration": 10 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 2 }, { "task": 1, "start": 2, "machine": 0, "duration": 2 }, { "task": 2, "start": 4, "machine": 1, "duration": 45 }, { "task": 3, "start": 68, "machine": 2, "duration": 48 }, { "task": 4, "start": 340, "machine": 3, "duration": 82 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 54 }, { "task": 1, "start": 76, "machine": 0, "duration": 25 }, { "task": 2, "start": 104, "machine": 1, "duration": 18 }, { "task": 3, "start": 122, "machine": 4, "duration": 22 }, { "task": 4, "start": 255, "machine": 2, "duration": 42 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 116, "machine": 2, "duration": 90 }, { "task": 1, "start": 211, "machine": 1, "duration": 95 }, { "task": 2, "start": 306, "machine": 0, "duration": 49 }, { "task": 3, "start": 422, "machine": 3, "duration": 54 }, { "task": 4, "start": 507, "machine": 4, "duration": 28 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 101, "machine": 0, "duration": 72 }, { "task": 1, "start": 220, "machine": 3, "duration": 95 }, { "task": 2, "start": 315, "machine": 4, "duration": 69 }, { "task": 3, "start": 432, "machine": 1, "duration": 55 }, { "task": 4, "start": 540, "machine": 2, "duration": 16 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 4, "machine": 0, "duration": 72 }, { "task": 1, "start": 132, "machine": 3, "duration": 88 }, { "task": 2, "start": 306, "machine": 1, "duration": 85 }, { "task": 3, "start": 391, "machine": 4, "duration": 62 }, { "task": 4, "start": 453, "machine": 2, "duration": 87 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 26 }, { "task": 1, "start": 54, "machine": 3, "duration": 78 }, { "task": 2, "start": 132, "machine": 1, "duration": 79 }, { "task": 3, "start": 420, "machine": 0, "duration": 4 }, { "task": 4, "start": 453, "machine": 4, "duration": 11 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 1 }, { "task": 1, "start": 206, "machine": 2, "duration": 49 }, { "task": 2, "start": 391, "machine": 1, "duration": 41 }, { "task": 3, "start": 464, "machine": 4, "duration": 43 }, { "task": 4, "start": 512, "machine": 3, "duration": 38 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 3, "machine": 4, "duration": 81 }, { "task": 1, "start": 173, "machine": 0, "duration": 88 }, { "task": 2, "start": 315, "machine": 3, "duration": 25 }, { "task": 3, "start": 340, "machine": 2, "duration": 22 }, { "task": 4, "start": 487, "machine": 1, "duration": 70 } ] } ], "obj": 557.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 4, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 42 }, { "job_id": "J1", "task_id": 2, "machine_id": 1, "duration": 36 }, { "job_id": "J1", "task_id": 3, "machine_id": 3, "duration": 36 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 10 }, { "job_id": "J2", "task_id": 0, "machine_id": 4, "duration": 2 }, { "job_id": "J2", "task_id": 1, "machine_id": 0, "duration": 2 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 45 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 48 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 82 }, { "job_id": "J3", "task_id": 0, "machine_id": 3, "duration": 54 }, { "job_id": "J3", "task_id": 1, "machine_id": 0, "duration": 25 }, { "job_id": "J3", "task_id": 2, "machine_id": 1, "duration": 18 }, { "job_id": "J3", "task_id": 3, "machine_id": 4, "duration": 22 }, { "job_id": "J3", "task_id": 4, "machine_id": 2, "duration": 42 }, { "job_id": "J4", "task_id": 0, "machine_id": 2, "duration": 90 }, { "job_id": "J4", "task_id": 1, "machine_id": 1, "duration": 95 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 49 }, { "job_id": "J4", "task_id": 3, "machine_id": 3, "duration": 54 }, { "job_id": "J4", "task_id": 4, "machine_id": 4, "duration": 28 }, { "job_id": "J5", "task_id": 0, "machine_id": 0, "duration": 72 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 95 }, { "job_id": "J5", "task_id": 2, "machine_id": 4, "duration": 69 }, { "job_id": "J5", "task_id": 3, "machine_id": 1, "duration": 55 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 16 }, { "job_id": "J6", "task_id": 0, "machine_id": 0, "duration": 72 }, { "job_id": "J6", "task_id": 1, "machine_id": 3, "duration": 88 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 85 }, { "job_id": "J6", "task_id": 3, "machine_id": 4, "duration": 62 }, { "job_id": "J6", "task_id": 4, "machine_id": 2, "duration": 87 }, { "job_id": "J7", "task_id": 0, "machine_id": 2, "duration": 26 }, { "job_id": "J7", "task_id": 1, "machine_id": 3, "duration": 78 }, { "job_id": "J7", "task_id": 2, "machine_id": 1, "duration": 79 }, { "job_id": "J7", "task_id": 3, "machine_id": 0, "duration": 4 }, { "job_id": "J7", "task_id": 4, "machine_id": 4, "duration": 11 }, { "job_id": "J8", "task_id": 0, "machine_id": 0, "duration": 1 }, { "job_id": "J8", "task_id": 1, "machine_id": 2, "duration": 49 }, { "job_id": "J8", "task_id": 2, "machine_id": 1, "duration": 41 }, { "job_id": "J8", "task_id": 3, "machine_id": 4, "duration": 43 }, { "job_id": "J8", "task_id": 4, "machine_id": 3, "duration": 38 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 81 }, { "job_id": "J9", "task_id": 1, "machine_id": 0, "duration": 88 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 25 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 22 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 70 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 2, "machine": 4, "duration": 1 }, { "task": 1, "start": 26, "machine": 2, "duration": 42 }, { "task": 2, "start": 68, "machine": 1, "duration": 36 }, { "task": 3, "start": 476, "machine": 3, "duration": 36 }, { "task": 4, "start": 512, "machine": 0, "duration": 10 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 2 }, { "task": 1, "start": 2, "machine": 0, "duration": 2 }, { "task": 2, "start": 4, "machine": 1, "duration": 45 }, { "task": 3, "start": 68, "machine": 2, "duration": 48 }, { "task": 4, "start": 340, "machine": 3, "duration": 82 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 54 }, { "task": 1, "start": 76, "machine": 0, "duration": 25 }, { "task": 2, "start": 104, "machine": 1, "duration": 18 }, { "task": 3, "start": 122, "machine": 4, "duration": 22 }, { "task": 4, "start": 255, "machine": 2, "duration": 42 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 116, "machine": 2, "duration": 90 }, { "task": 1, "start": 211, "machine": 1, "duration": 95 }, { "task": 2, "start": 306, "machine": 0, "duration": 49 }, { "task": 3, "start": 422, "machine": 3, "duration": 54 }, { "task": 4, "start": 507, "machine": 4, "duration": 28 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 101, "machine": 0, "duration": 72 }, { "task": 1, "start": 220, "machine": 3, "duration": 95 }, { "task": 2, "start": 315, "machine": 4, "duration": 69 }, { "task": 3, "start": 432, "machine": 1, "duration": 55 }, { "task": 4, "start": 540, "machine": 2, "duration": 16 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 4, "machine": 0, "duration": 72 }, { "task": 1, "start": 132, "machine": 3, "duration": 88 }, { "task": 2, "start": 306, "machine": 1, "duration": 85 }, { "task": 3, "start": 391, "machine": 4, "duration": 62 }, { "task": 4, "start": 453, "machine": 2, "duration": 87 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 26 }, { "task": 1, "start": 54, "machine": 3, "duration": 78 }, { "task": 2, "start": 132, "machine": 1, "duration": 79 }, { "task": 3, "start": 420, "machine": 0, "duration": 4 }, { "task": 4, "start": 453, "machine": 4, "duration": 11 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 1 }, { "task": 1, "start": 206, "machine": 2, "duration": 49 }, { "task": 2, "start": 391, "machine": 1, "duration": 41 }, { "task": 3, "start": 464, "machine": 4, "duration": 43 }, { "task": 4, "start": 512, "machine": 3, "duration": 38 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 3, "machine": 4, "duration": 81 }, { "task": 1, "start": 173, "machine": 0, "duration": 88 }, { "task": 2, "start": 315, "machine": 3, "duration": 25 }, { "task": 3, "start": 340, "machine": 2, "duration": 22 }, { "task": 4, "start": 487, "machine": 1, "duration": 70 } ] } ], "context_index": 23, "input_format": "json", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Many people think of it like a relay: each garment carries a list of operations, each operation takes a set time on a particular station, and the goal is to pass everything through the stations so the final runner crosses the line as early as possible. That means deciding which operation runs when on each machine so the time when the last garment finishes is as small as possible — compare schedules by that finishing time. Stations can’t handle two pieces at once, and every garment’s chain of steps must be followed exactly, no omissions or repeats. The concrete details are shown below.\n\nThey are: there are 11 garments and 5 stations; garment identifiers: J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11; station identifiers: 1, 2, 3, 4, 5.\nGarment J1, operation 0 requires 1 time on station 2.\nGarment J1, operation 1 requires 55 time on station 3.\nGarment J1, operation 2 requires 12 time on station 5.\nGarment J1, operation 3 requires 81 time on station 4.\nGarment J1, operation 4 requires 63 time on station 1.\nGarment J2, operation 0 requires 24 time on station 1.\nGarment J2, operation 1 requires 6 time on station 3.\nGarment J2, operation 2 requires 13 time on station 5.\nGarment J2, operation 3 requires 16 time on station 4.\nGarment J2, operation 4 requires 75 time on station 2.\nGarment J3, operation 0 requires 92 time on station 5.\nGarment J3, operation 1 requires 76 time on station 2.\nGarment J3, operation 2 requires 2 time on station 4.\nGarment J3, operation 3 requires 25 time on station 3.\nGarment J3, operation 4 requires 48 time on station 1.\nGarment J4, operation 0 requires 43 time on station 2.\nGarment J4, operation 1 requires 62 time on station 3.\nGarment J4, operation 2 requires 50 time on station 1.\nGarment J4, operation 3 requires 92 time on station 5.\nGarment J4, operation 4 requires 35 time on station 4.\nGarment J5, operation 0 requires 14 time on station 3.\nGarment J5, operation 1 requires 64 time on station 4.\nGarment J5, operation 2 requires 29 time on station 5.\nGarment J5, operation 3 requires 48 time on station 2.\nGarment J5, operation 4 requires 1 time on station 1.\nGarment J6, operation 0 requires 25 time on station 3.\nGarment J6, operation 1 requires 97 time on station 4.\nGarment J6, operation 2 requires 50 time on station 1.\nGarment J6, operation 3 requires 4 time on station 2.\nGarment J6, operation 4 requires 58 time on station 5.\nGarment J7, operation 0 requires 17 time on station 1.\nGarment J7, operation 1 requires 54 time on station 5.\nGarment J7, operation 2 requires 6 time on station 2.\nGarment J7, operation 3 requires 9 time on station 3.\nGarment J7, operation 4 requires 84 time on station 4.\nGarment J8, operation 0 requires 34 time on station 5.\nGarment J8, operation 1 requires 13 time on station 3.\nGarment J8, operation 2 requires 17 time on station 4.\nGarment J8, operation 3 requires 42 time on station 2.\nGarment J8, operation 4 requires 74 time on station 1.\nGarment J9, operation 0 requires 6 time on station 1.\nGarment J9, operation 1 requires 86 time on station 4.\nGarment J9, operation 2 requires 97 time on station 2.\nGarment J9, operation 3 requires 96 time on station 5.\nGarment J9, operation 4 requires 35 time on station 3.\nGarment J10, operation 0 requires 72 time on station 4.\nGarment J10, operation 1 requires 6 time on station 1.\nGarment J10, operation 2 requires 51 time on station 5.\nGarment J10, operation 3 requires 72 time on station 2.\nGarment J10, operation 4 requires 37 time on station 3.\nGarment J11, operation 0 requires 82 time on station 1.\nGarment J11, operation 1 requires 6 time on station 5.\nGarment J11, operation 2 requires 46 time on station 4.\nGarment J11, operation 3 requires 87 time on station 2.\nGarment J11, operation 4 requires 35 time on station 3.\nCompare schedules by the finishing time of the last garment.\n\nOh, and when you give the actual schedule, please follow this simple JSON layout so everything's easy to parse and compare:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a sketch of the shape I expect: each top-level item is one job (think of it as one garment), and inside each job there's a list of tasks with the task index, the start time you plan for that task, which machine/station it runs on, and how long it takes. Super casual — fill in the actual numbers and IDs when you send the schedule.\n\nPlease use the identifiers exactly as they appear in the instance input — no renaming and no new labels. For example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 1, 1 ], [ 2, 55 ], [ 4, 12 ], [ 3, 81 ], [ 0, 63 ] ], [ [ 0, 24 ], [ 2, 6 ], [ 4, 13 ], [ 3, 16 ], [ 1, 75 ] ], [ [ 4, 92 ], [ 1, 76 ], [ 3, 2 ], [ 2, 25 ], [ 0, 48 ] ], [ [ 1, 43 ], [ 2, 62 ], [ 0, 50 ], [ 4, 92 ], [ 3, 35 ] ], [ [ 2, 14 ], [ 3, 64 ], [ 4, 29 ], [ 1, 48 ], [ 0, 1 ] ], [ [ 2, 25 ], [ 3, 97 ], [ 0, 50 ], [ 1, 4 ], [ 4, 58 ] ], [ [ 0, 17 ], [ 4, 54 ], [ 1, 6 ], [ 2, 9 ], [ 3, 84 ] ], [ [ 4, 34 ], [ 2, 13 ], [ 3, 17 ], [ 1, 42 ], [ 0, 74 ] ], [ [ 0, 6 ], [ 3, 86 ], [ 1, 97 ], [ 4, 96 ], [ 2, 35 ] ], [ [ 3, 72 ], [ 0, 6 ], [ 4, 51 ], [ 1, 72 ], [ 2, 37 ] ], [ [ 0, 82 ], [ 4, 6 ], [ 3, 46 ], [ 1, 87 ], [ 2, 35 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 43, "machine": 1, "duration": 1 }, { "task": 1, "start": 105, "machine": 2, "duration": 55 }, { "task": 2, "start": 186, "machine": 4, "duration": 12 }, { "task": 3, "start": 400, "machine": 3, "duration": 81 }, { "task": 4, "start": 526, "machine": 0, "duration": 63 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 161, "machine": 0, "duration": 24 }, { "task": 1, "start": 185, "machine": 2, "duration": 6 }, { "task": 2, "start": 290, "machine": 4, "duration": 13 }, { "task": 3, "start": 318, "machine": 3, "duration": 16 }, { "task": 4, "start": 404, "machine": 1, "duration": 75 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 92 }, { "task": 1, "start": 92, "machine": 1, "duration": 76 }, { "task": 2, "start": 398, "machine": 3, "duration": 2 }, { "task": 3, "start": 434, "machine": 2, "duration": 25 }, { "task": 4, "start": 478, "machine": 0, "duration": 48 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 43 }, { "task": 1, "start": 43, "machine": 2, "duration": 62 }, { "task": 2, "start": 105, "machine": 0, "duration": 50 }, { "task": 3, "start": 198, "machine": 4, "duration": 92 }, { "task": 4, "start": 565, "machine": 3, "duration": 35 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 25, "machine": 2, "duration": 14 }, { "task": 1, "start": 334, "machine": 3, "duration": 64 }, { "task": 2, "start": 450, "machine": 4, "duration": 29 }, { "task": 3, "start": 551, "machine": 1, "duration": 48 }, { "task": 4, "start": 599, "machine": 0, "duration": 1 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 25 }, { "task": 1, "start": 204, "machine": 3, "duration": 97 }, { "task": 2, "start": 301, "machine": 0, "duration": 50 }, { "task": 3, "start": 358, "machine": 1, "duration": 4 }, { "task": 4, "start": 479, "machine": 4, "duration": 58 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 88, "machine": 0, "duration": 17 }, { "task": 1, "start": 132, "machine": 4, "duration": 54 }, { "task": 2, "start": 352, "machine": 1, "duration": 6 }, { "task": 3, "start": 387, "machine": 2, "duration": 9 }, { "task": 4, "start": 481, "machine": 3, "duration": 84 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 92, "machine": 4, "duration": 34 }, { "task": 1, "start": 160, "machine": 2, "duration": 13 }, { "task": 2, "start": 301, "machine": 3, "duration": 17 }, { "task": 3, "start": 362, "machine": 1, "duration": 42 }, { "task": 4, "start": 404, "machine": 0, "duration": 74 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 6 }, { "task": 1, "start": 72, "machine": 3, "duration": 86 }, { "task": 2, "start": 168, "machine": 1, "duration": 97 }, { "task": 3, "start": 303, "machine": 4, "duration": 96 }, { "task": 4, "start": 399, "machine": 2, "duration": 35 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 72 }, { "task": 1, "start": 155, "machine": 0, "duration": 6 }, { "task": 2, "start": 399, "machine": 4, "duration": 51 }, { "task": 3, "start": 479, "machine": 1, "duration": 72 }, { "task": 4, "start": 551, "machine": 2, "duration": 37 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 6, "machine": 0, "duration": 82 }, { "task": 1, "start": 126, "machine": 4, "duration": 6 }, { "task": 2, "start": 158, "machine": 3, "duration": 46 }, { "task": 3, "start": 265, "machine": 1, "duration": 87 }, { "task": 4, "start": 352, "machine": 2, "duration": 35 } ] } ], "obj": 600.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 2, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 3, "duration": 55 }, { "job_id": "J1", "task_id": 2, "machine_id": 5, "duration": 12 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 81 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 63 }, { "job_id": "J2", "task_id": 0, "machine_id": 1, "duration": 24 }, { "job_id": "J2", "task_id": 1, "machine_id": 3, "duration": 6 }, { "job_id": "J2", "task_id": 2, "machine_id": 5, "duration": 13 }, { "job_id": "J2", "task_id": 3, "machine_id": 4, "duration": 16 }, { "job_id": "J2", "task_id": 4, "machine_id": 2, "duration": 75 }, { "job_id": "J3", "task_id": 0, "machine_id": 5, "duration": 92 }, { "job_id": "J3", "task_id": 1, "machine_id": 2, "duration": 76 }, { "job_id": "J3", "task_id": 2, "machine_id": 4, "duration": 2 }, { "job_id": "J3", "task_id": 3, "machine_id": 3, "duration": 25 }, { "job_id": "J3", "task_id": 4, "machine_id": 1, "duration": 48 }, { "job_id": "J4", "task_id": 0, "machine_id": 2, "duration": 43 }, { "job_id": "J4", "task_id": 1, "machine_id": 3, "duration": 62 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 50 }, { "job_id": "J4", "task_id": 3, "machine_id": 5, "duration": 92 }, { "job_id": "J4", "task_id": 4, "machine_id": 4, "duration": 35 }, { "job_id": "J5", "task_id": 0, "machine_id": 3, "duration": 14 }, { "job_id": "J5", "task_id": 1, "machine_id": 4, "duration": 64 }, { "job_id": "J5", "task_id": 2, "machine_id": 5, "duration": 29 }, { "job_id": "J5", "task_id": 3, "machine_id": 2, "duration": 48 }, { "job_id": "J5", "task_id": 4, "machine_id": 1, "duration": 1 }, { "job_id": "J6", "task_id": 0, "machine_id": 3, "duration": 25 }, { "job_id": "J6", "task_id": 1, "machine_id": 4, "duration": 97 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 50 }, { "job_id": "J6", "task_id": 3, "machine_id": 2, "duration": 4 }, { "job_id": "J6", "task_id": 4, "machine_id": 5, "duration": 58 }, { "job_id": "J7", "task_id": 0, "machine_id": 1, "duration": 17 }, { "job_id": "J7", "task_id": 1, "machine_id": 5, "duration": 54 }, { "job_id": "J7", "task_id": 2, "machine_id": 2, "duration": 6 }, { "job_id": "J7", "task_id": 3, "machine_id": 3, "duration": 9 }, { "job_id": "J7", "task_id": 4, "machine_id": 4, "duration": 84 }, { "job_id": "J8", "task_id": 0, "machine_id": 5, "duration": 34 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 13 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 17 }, { "job_id": "J8", "task_id": 3, "machine_id": 2, "duration": 42 }, { "job_id": "J8", "task_id": 4, "machine_id": 1, "duration": 74 }, { "job_id": "J9", "task_id": 0, "machine_id": 1, "duration": 6 }, { "job_id": "J9", "task_id": 1, "machine_id": 4, "duration": 86 }, { "job_id": "J9", "task_id": 2, "machine_id": 2, "duration": 97 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 96 }, { "job_id": "J9", "task_id": 4, "machine_id": 3, "duration": 35 }, { "job_id": "J10", "task_id": 0, "machine_id": 4, "duration": 72 }, { "job_id": "J10", "task_id": 1, "machine_id": 1, "duration": 6 }, { "job_id": "J10", "task_id": 2, "machine_id": 5, "duration": 51 }, { "job_id": "J10", "task_id": 3, "machine_id": 2, "duration": 72 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 37 }, { "job_id": "J11", "task_id": 0, "machine_id": 1, "duration": 82 }, { "job_id": "J11", "task_id": 1, "machine_id": 5, "duration": 6 }, { "job_id": "J11", "task_id": 2, "machine_id": 4, "duration": 46 }, { "job_id": "J11", "task_id": 3, "machine_id": 2, "duration": 87 }, { "job_id": "J11", "task_id": 4, "machine_id": 3, "duration": 35 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 43, "machine": 2, "duration": 1 }, { "task": 1, "start": 105, "machine": 3, "duration": 55 }, { "task": 2, "start": 186, "machine": 5, "duration": 12 }, { "task": 3, "start": 400, "machine": 4, "duration": 81 }, { "task": 4, "start": 526, "machine": 1, "duration": 63 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 161, "machine": 1, "duration": 24 }, { "task": 1, "start": 185, "machine": 3, "duration": 6 }, { "task": 2, "start": 290, "machine": 5, "duration": 13 }, { "task": 3, "start": 318, "machine": 4, "duration": 16 }, { "task": 4, "start": 404, "machine": 2, "duration": 75 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 92 }, { "task": 1, "start": 92, "machine": 2, "duration": 76 }, { "task": 2, "start": 398, "machine": 4, "duration": 2 }, { "task": 3, "start": 434, "machine": 3, "duration": 25 }, { "task": 4, "start": 478, "machine": 1, "duration": 48 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 43 }, { "task": 1, "start": 43, "machine": 3, "duration": 62 }, { "task": 2, "start": 105, "machine": 1, "duration": 50 }, { "task": 3, "start": 198, "machine": 5, "duration": 92 }, { "task": 4, "start": 565, "machine": 4, "duration": 35 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 25, "machine": 3, "duration": 14 }, { "task": 1, "start": 334, "machine": 4, "duration": 64 }, { "task": 2, "start": 450, "machine": 5, "duration": 29 }, { "task": 3, "start": 551, "machine": 2, "duration": 48 }, { "task": 4, "start": 599, "machine": 1, "duration": 1 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 25 }, { "task": 1, "start": 204, "machine": 4, "duration": 97 }, { "task": 2, "start": 301, "machine": 1, "duration": 50 }, { "task": 3, "start": 358, "machine": 2, "duration": 4 }, { "task": 4, "start": 479, "machine": 5, "duration": 58 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 88, "machine": 1, "duration": 17 }, { "task": 1, "start": 132, "machine": 5, "duration": 54 }, { "task": 2, "start": 352, "machine": 2, "duration": 6 }, { "task": 3, "start": 387, "machine": 3, "duration": 9 }, { "task": 4, "start": 481, "machine": 4, "duration": 84 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 92, "machine": 5, "duration": 34 }, { "task": 1, "start": 160, "machine": 3, "duration": 13 }, { "task": 2, "start": 301, "machine": 4, "duration": 17 }, { "task": 3, "start": 362, "machine": 2, "duration": 42 }, { "task": 4, "start": 404, "machine": 1, "duration": 74 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 6 }, { "task": 1, "start": 72, "machine": 4, "duration": 86 }, { "task": 2, "start": 168, "machine": 2, "duration": 97 }, { "task": 3, "start": 303, "machine": 5, "duration": 96 }, { "task": 4, "start": 399, "machine": 3, "duration": 35 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 72 }, { "task": 1, "start": 155, "machine": 1, "duration": 6 }, { "task": 2, "start": 399, "machine": 5, "duration": 51 }, { "task": 3, "start": 479, "machine": 2, "duration": 72 }, { "task": 4, "start": 551, "machine": 3, "duration": 37 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 6, "machine": 1, "duration": 82 }, { "task": 1, "start": 126, "machine": 5, "duration": 6 }, { "task": 2, "start": 158, "machine": 4, "duration": 46 }, { "task": 3, "start": 265, "machine": 2, "duration": 87 }, { "task": 4, "start": 352, "machine": 3, "duration": 35 } ] } ], "context_index": 24, "input_format": "nl", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Imagine a tiny workflow where each customer’s basket has a fixed recipe: one cycle after another on particular machines, each taking a fixed span of time. The question is how to slot those cycles onto the washers and dryers to get the whole pile finished in the least calendar time. The winner is the plan that makes the last basket come out sooner — that finishing moment is the measure of success. Every required cycle must be run exactly once and in the prescribed order, and machines can’t do two cycles at once. The concrete details are shown below.\n\n{\n \"num_customer_loads\": 10,\n \"num_machines\": 5,\n \"load_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\"\n ],\n \"appliance_ids\": [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\"\n ],\n \"tasks\": [\n {\n \"load_id\": \"J1\",\n \"cycle_index\": 0,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 1\n },\n {\n \"load_id\": \"J1\",\n \"cycle_index\": 1,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 68\n },\n {\n \"load_id\": \"J1\",\n \"cycle_index\": 2,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 87\n },\n {\n \"load_id\": \"J1\",\n \"cycle_index\": 3,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 27\n },\n {\n \"load_id\": \"J1\",\n \"cycle_index\": 4,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 17\n },\n {\n \"load_id\": \"J2\",\n \"cycle_index\": 0,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 45\n },\n {\n \"load_id\": \"J2\",\n \"cycle_index\": 1,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 11\n },\n {\n \"load_id\": \"J2\",\n \"cycle_index\": 2,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 80\n },\n {\n \"load_id\": \"J2\",\n \"cycle_index\": 3,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 83\n },\n {\n \"load_id\": \"J2\",\n \"cycle_index\": 4,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 69\n },\n {\n \"load_id\": \"J3\",\n \"cycle_index\": 0,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 31\n },\n {\n \"load_id\": \"J3\",\n \"cycle_index\": 1,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 28\n },\n {\n \"load_id\": \"J3\",\n \"cycle_index\": 2,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 84\n },\n {\n \"load_id\": \"J3\",\n \"cycle_index\": 3,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 28\n },\n {\n \"load_id\": \"J3\",\n \"cycle_index\": 4,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 53\n },\n {\n \"load_id\": \"J4\",\n \"cycle_index\": 0,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 96\n },\n {\n \"load_id\": \"J4\",\n \"cycle_index\": 1,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 30\n },\n {\n \"load_id\": \"J4\",\n \"cycle_index\": 2,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 51\n },\n {\n \"load_id\": \"J4\",\n \"cycle_index\": 3,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 31\n },\n {\n \"load_id\": \"J4\",\n \"cycle_index\": 4,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 41\n },\n {\n \"load_id\": \"J5\",\n \"cycle_index\": 0,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 55\n },\n {\n \"load_id\": \"J5\",\n \"cycle_index\": 1,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 33\n },\n {\n \"load_id\": \"J5\",\n \"cycle_index\": 2,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 87\n },\n {\n \"load_id\": \"J5\",\n \"cycle_index\": 3,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 41\n },\n {\n \"load_id\": \"J5\",\n \"cycle_index\": 4,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 84\n },\n {\n \"load_id\": \"J6\",\n \"cycle_index\": 0,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 77\n },\n {\n \"load_id\": \"J6\",\n \"cycle_index\": 1,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 7\n },\n {\n \"load_id\": \"J6\",\n \"cycle_index\": 2,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 16\n },\n {\n \"load_id\": \"J6\",\n \"cycle_index\": 3,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 46\n },\n {\n \"load_id\": \"J6\",\n \"cycle_index\": 4,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 28\n },\n {\n \"load_id\": \"J7\",\n \"cycle_index\": 0,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 9\n },\n {\n \"load_id\": \"J7\",\n \"cycle_index\": 1,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 31\n },\n {\n \"load_id\": \"J7\",\n \"cycle_index\": 2,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 32\n },\n {\n \"load_id\": \"J7\",\n \"cycle_index\": 3,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 14\n },\n {\n \"load_id\": \"J7\",\n \"cycle_index\": 4,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 58\n },\n {\n \"load_id\": \"J8\",\n \"cycle_index\": 0,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 66\n },\n {\n \"load_id\": \"J8\",\n \"cycle_index\": 1,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 75\n },\n {\n \"load_id\": \"J8\",\n \"cycle_index\": 2,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 92\n },\n {\n \"load_id\": \"J8\",\n \"cycle_index\": 3,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 41\n },\n {\n \"load_id\": \"J8\",\n \"cycle_index\": 4,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 12\n },\n {\n \"load_id\": \"J9\",\n \"cycle_index\": 0,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 31\n },\n {\n \"load_id\": \"J9\",\n \"cycle_index\": 1,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 84\n },\n {\n \"load_id\": \"J9\",\n \"cycle_index\": 2,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 69\n },\n {\n \"load_id\": \"J9\",\n \"cycle_index\": 3,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 72\n },\n {\n \"load_id\": \"J9\",\n \"cycle_index\": 4,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 1\n },\n {\n \"load_id\": \"J10\",\n \"cycle_index\": 0,\n \"appliance_id\": \"B\",\n \"cycle_duration\": 79\n },\n {\n \"load_id\": \"J10\",\n \"cycle_index\": 1,\n \"appliance_id\": \"D\",\n \"cycle_duration\": 69\n },\n {\n \"load_id\": \"J10\",\n \"cycle_index\": 2,\n \"appliance_id\": \"C\",\n \"cycle_duration\": 39\n },\n {\n \"load_id\": \"J10\",\n \"cycle_index\": 3,\n \"appliance_id\": \"E\",\n \"cycle_duration\": 99\n },\n {\n \"load_id\": \"J10\",\n \"cycle_index\": 4,\n \"appliance_id\": \"A\",\n \"cycle_duration\": 80\n }\n ]\n}\n\nYou can hand the schedule back to me in a small JSON form so it's easy to check. Something like this is perfect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it as a simple form: \"solution\" holds a list of jobs; each job entry names the job and then lists its tasks in order. Each task record just says which task number it is, when that task starts, which machine it runs on, and how long it takes. Super informal — just enough structure so I can read your plan.\n\nThis JSON is only a sketch of the shape I expect, not the actual schedule answer.\n\nPlease be careful to use the exact identifiers from the instance input — do not rename them or invent new labels. \nFor example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 10, "jobs": [ [ [ 3, 1 ], [ 1, 68 ], [ 2, 87 ], [ 4, 27 ], [ 0, 17 ] ], [ [ 2, 45 ], [ 3, 11 ], [ 1, 80 ], [ 0, 83 ], [ 4, 69 ] ], [ [ 1, 31 ], [ 4, 28 ], [ 0, 84 ], [ 2, 28 ], [ 3, 53 ] ], [ [ 4, 96 ], [ 1, 30 ], [ 3, 51 ], [ 0, 31 ], [ 2, 41 ] ], [ [ 0, 55 ], [ 2, 33 ], [ 4, 87 ], [ 1, 41 ], [ 3, 84 ] ], [ [ 3, 77 ], [ 4, 7 ], [ 1, 16 ], [ 0, 46 ], [ 2, 28 ] ], [ [ 1, 9 ], [ 3, 31 ], [ 4, 32 ], [ 0, 14 ], [ 2, 58 ] ], [ [ 1, 66 ], [ 4, 75 ], [ 3, 92 ], [ 0, 41 ], [ 2, 12 ] ], [ [ 2, 31 ], [ 0, 84 ], [ 1, 69 ], [ 3, 72 ], [ 4, 1 ] ], [ [ 1, 79 ], [ 3, 69 ], [ 2, 39 ], [ 4, 99 ], [ 0, 80 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 88, "machine": 3, "duration": 1 }, { "task": 1, "start": 352, "machine": 1, "duration": 68 }, { "task": 2, "start": 420, "machine": 2, "duration": 87 }, { "task": 3, "start": 507, "machine": 4, "duration": 27 }, { "task": 4, "start": 545, "machine": 0, "duration": 17 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 31, "machine": 2, "duration": 45 }, { "task": 1, "start": 77, "machine": 3, "duration": 11 }, { "task": 2, "start": 231, "machine": 1, "duration": 80 }, { "task": 3, "start": 339, "machine": 0, "duration": 83 }, { "task": 4, "start": 435, "machine": 4, "duration": 69 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 31 }, { "task": 1, "start": 103, "machine": 4, "duration": 28 }, { "task": 2, "start": 139, "machine": 0, "duration": 84 }, { "task": 3, "start": 228, "machine": 2, "duration": 28 }, { "task": 4, "start": 256, "machine": 3, "duration": 53 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 96 }, { "task": 1, "start": 119, "machine": 1, "duration": 30 }, { "task": 2, "start": 189, "machine": 3, "duration": 51 }, { "task": 3, "start": 277, "machine": 0, "duration": 31 }, { "task": 4, "start": 309, "machine": 2, "duration": 41 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 55 }, { "task": 1, "start": 76, "machine": 2, "duration": 33 }, { "task": 2, "start": 131, "machine": 4, "duration": 87 }, { "task": 3, "start": 311, "machine": 1, "duration": 41 }, { "task": 4, "start": 401, "machine": 3, "duration": 84 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 77 }, { "task": 1, "start": 96, "machine": 4, "duration": 7 }, { "task": 2, "start": 215, "machine": 1, "duration": 16 }, { "task": 3, "start": 231, "machine": 0, "duration": 46 }, { "task": 4, "start": 277, "machine": 2, "duration": 28 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 31, "machine": 1, "duration": 9 }, { "task": 1, "start": 89, "machine": 3, "duration": 31 }, { "task": 2, "start": 293, "machine": 4, "duration": 32 }, { "task": 3, "start": 325, "machine": 0, "duration": 14 }, { "task": 4, "start": 351, "machine": 2, "duration": 58 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 149, "machine": 1, "duration": 66 }, { "task": 1, "start": 218, "machine": 4, "duration": 75 }, { "task": 2, "start": 309, "machine": 3, "duration": 92 }, { "task": 3, "start": 504, "machine": 0, "duration": 41 }, { "task": 4, "start": 545, "machine": 2, "duration": 12 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 31 }, { "task": 1, "start": 55, "machine": 0, "duration": 84 }, { "task": 2, "start": 420, "machine": 1, "duration": 69 }, { "task": 3, "start": 489, "machine": 3, "duration": 72 }, { "task": 4, "start": 561, "machine": 4, "duration": 1 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 40, "machine": 1, "duration": 79 }, { "task": 1, "start": 120, "machine": 3, "duration": 69 }, { "task": 2, "start": 189, "machine": 2, "duration": 39 }, { "task": 3, "start": 325, "machine": 4, "duration": 99 }, { "task": 4, "start": 424, "machine": 0, "duration": 80 } ] } ], "obj": 562.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "D", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 68 }, { "job_id": "J1", "task_id": 2, "machine_id": "C", "duration": 87 }, { "job_id": "J1", "task_id": 3, "machine_id": "E", "duration": 27 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 17 }, { "job_id": "J2", "task_id": 0, "machine_id": "C", "duration": 45 }, { "job_id": "J2", "task_id": 1, "machine_id": "D", "duration": 11 }, { "job_id": "J2", "task_id": 2, "machine_id": "B", "duration": 80 }, { "job_id": "J2", "task_id": 3, "machine_id": "A", "duration": 83 }, { "job_id": "J2", "task_id": 4, "machine_id": "E", "duration": 69 }, { "job_id": "J3", "task_id": 0, "machine_id": "B", "duration": 31 }, { "job_id": "J3", "task_id": 1, "machine_id": "E", "duration": 28 }, { "job_id": "J3", "task_id": 2, "machine_id": "A", "duration": 84 }, { "job_id": "J3", "task_id": 3, "machine_id": "C", "duration": 28 }, { "job_id": "J3", "task_id": 4, "machine_id": "D", "duration": 53 }, { "job_id": "J4", "task_id": 0, "machine_id": "E", "duration": 96 }, { "job_id": "J4", "task_id": 1, "machine_id": "B", "duration": 30 }, { "job_id": "J4", "task_id": 2, "machine_id": "D", "duration": 51 }, { "job_id": "J4", "task_id": 3, "machine_id": "A", "duration": 31 }, { "job_id": "J4", "task_id": 4, "machine_id": "C", "duration": 41 }, { "job_id": "J5", "task_id": 0, "machine_id": "A", "duration": 55 }, { "job_id": "J5", "task_id": 1, "machine_id": "C", "duration": 33 }, { "job_id": "J5", "task_id": 2, "machine_id": "E", "duration": 87 }, { "job_id": "J5", "task_id": 3, "machine_id": "B", "duration": 41 }, { "job_id": "J5", "task_id": 4, "machine_id": "D", "duration": 84 }, { "job_id": "J6", "task_id": 0, "machine_id": "D", "duration": 77 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 7 }, { "job_id": "J6", "task_id": 2, "machine_id": "B", "duration": 16 }, { "job_id": "J6", "task_id": 3, "machine_id": "A", "duration": 46 }, { "job_id": "J6", "task_id": 4, "machine_id": "C", "duration": 28 }, { "job_id": "J7", "task_id": 0, "machine_id": "B", "duration": 9 }, { "job_id": "J7", "task_id": 1, "machine_id": "D", "duration": 31 }, { "job_id": "J7", "task_id": 2, "machine_id": "E", "duration": 32 }, { "job_id": "J7", "task_id": 3, "machine_id": "A", "duration": 14 }, { "job_id": "J7", "task_id": 4, "machine_id": "C", "duration": 58 }, { "job_id": "J8", "task_id": 0, "machine_id": "B", "duration": 66 }, { "job_id": "J8", "task_id": 1, "machine_id": "E", "duration": 75 }, { "job_id": "J8", "task_id": 2, "machine_id": "D", "duration": 92 }, { "job_id": "J8", "task_id": 3, "machine_id": "A", "duration": 41 }, { "job_id": "J8", "task_id": 4, "machine_id": "C", "duration": 12 }, { "job_id": "J9", "task_id": 0, "machine_id": "C", "duration": 31 }, { "job_id": "J9", "task_id": 1, "machine_id": "A", "duration": 84 }, { "job_id": "J9", "task_id": 2, "machine_id": "B", "duration": 69 }, { "job_id": "J9", "task_id": 3, "machine_id": "D", "duration": 72 }, { "job_id": "J9", "task_id": 4, "machine_id": "E", "duration": 1 }, { "job_id": "J10", "task_id": 0, "machine_id": "B", "duration": 79 }, { "job_id": "J10", "task_id": 1, "machine_id": "D", "duration": 69 }, { "job_id": "J10", "task_id": 2, "machine_id": "C", "duration": 39 }, { "job_id": "J10", "task_id": 3, "machine_id": "E", "duration": 99 }, { "job_id": "J10", "task_id": 4, "machine_id": "A", "duration": 80 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 88, "machine": "D", "duration": 1 }, { "task": 1, "start": 352, "machine": "B", "duration": 68 }, { "task": 2, "start": 420, "machine": "C", "duration": 87 }, { "task": 3, "start": 507, "machine": "E", "duration": 27 }, { "task": 4, "start": 545, "machine": "A", "duration": 17 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 31, "machine": "C", "duration": 45 }, { "task": 1, "start": 77, "machine": "D", "duration": 11 }, { "task": 2, "start": 231, "machine": "B", "duration": 80 }, { "task": 3, "start": 339, "machine": "A", "duration": 83 }, { "task": 4, "start": 435, "machine": "E", "duration": 69 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 31 }, { "task": 1, "start": 103, "machine": "E", "duration": 28 }, { "task": 2, "start": 139, "machine": "A", "duration": 84 }, { "task": 3, "start": 228, "machine": "C", "duration": 28 }, { "task": 4, "start": 256, "machine": "D", "duration": 53 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 96 }, { "task": 1, "start": 119, "machine": "B", "duration": 30 }, { "task": 2, "start": 189, "machine": "D", "duration": 51 }, { "task": 3, "start": 277, "machine": "A", "duration": 31 }, { "task": 4, "start": 309, "machine": "C", "duration": 41 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 55 }, { "task": 1, "start": 76, "machine": "C", "duration": 33 }, { "task": 2, "start": 131, "machine": "E", "duration": 87 }, { "task": 3, "start": 311, "machine": "B", "duration": 41 }, { "task": 4, "start": 401, "machine": "D", "duration": 84 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 77 }, { "task": 1, "start": 96, "machine": "E", "duration": 7 }, { "task": 2, "start": 215, "machine": "B", "duration": 16 }, { "task": 3, "start": 231, "machine": "A", "duration": 46 }, { "task": 4, "start": 277, "machine": "C", "duration": 28 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 31, "machine": "B", "duration": 9 }, { "task": 1, "start": 89, "machine": "D", "duration": 31 }, { "task": 2, "start": 293, "machine": "E", "duration": 32 }, { "task": 3, "start": 325, "machine": "A", "duration": 14 }, { "task": 4, "start": 351, "machine": "C", "duration": 58 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 149, "machine": "B", "duration": 66 }, { "task": 1, "start": 218, "machine": "E", "duration": 75 }, { "task": 2, "start": 309, "machine": "D", "duration": 92 }, { "task": 3, "start": 504, "machine": "A", "duration": 41 }, { "task": 4, "start": 545, "machine": "C", "duration": 12 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 31 }, { "task": 1, "start": 55, "machine": "A", "duration": 84 }, { "task": 2, "start": 420, "machine": "B", "duration": 69 }, { "task": 3, "start": 489, "machine": "D", "duration": 72 }, { "task": 4, "start": 561, "machine": "E", "duration": 1 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 40, "machine": "B", "duration": 79 }, { "task": 1, "start": 120, "machine": "D", "duration": 69 }, { "task": 2, "start": 189, "machine": "C", "duration": 39 }, { "task": 3, "start": 325, "machine": "E", "duration": 99 }, { "task": 4, "start": 424, "machine": "A", "duration": 80 } ] } ], "context_index": 25, "input_format": "json", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Recently the team at a detailing garage noticed their workflow was messy: every car follows a particular sequence of services, each service runs for a fixed duration in a specific bay, and bays can only take one car at a time. The problem to solve was how to schedule those services so the whole set of cars would be completed quickly — the better schedule is the one that makes the time when the last car is finished as small as possible; you find that time by looking at each car’s finish moment and picking the latest. Steps can’t be skipped or reshuffled, and every listed service must be performed once. The detailed list of cars, bays, and times appears below.\n\nThere are 12 cars to schedule across 6 bays; car identifiers: J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12; bay identifiers: A, B, C, D, E, F.\nCar J1, service 0: assigned to bay B for 1 time units.\nCar J1, service 1: assigned to bay D for 81 time units.\nCar J1, service 2: assigned to bay E for 62 time units.\nCar J1, service 3: assigned to bay C for 73 time units.\nCar J1, service 4: assigned to bay F for 69 time units.\nCar J1, service 5: assigned to bay A for 67 time units.\nCar J2, service 0: assigned to bay D for 16 time units.\nCar J2, service 1: assigned to bay E for 48 time units.\nCar J2, service 2: assigned to bay F for 51 time units.\nCar J2, service 3: assigned to bay A for 62 time units.\nCar J2, service 4: assigned to bay C for 69 time units.\nCar J2, service 5: assigned to bay B for 80 time units.\nCar J3, service 0: assigned to bay D for 67 time units.\nCar J3, service 1: assigned to bay C for 32 time units.\nCar J3, service 2: assigned to bay A for 58 time units.\nCar J3, service 3: assigned to bay B for 49 time units.\nCar J3, service 4: assigned to bay F for 96 time units.\nCar J3, service 5: assigned to bay E for 52 time units.\nCar J4, service 0: assigned to bay A for 69 time units.\nCar J4, service 1: assigned to bay D for 48 time units.\nCar J4, service 2: assigned to bay E for 97 time units.\nCar J4, service 3: assigned to bay B for 2 time units.\nCar J4, service 4: assigned to bay F for 46 time units.\nCar J4, service 5: assigned to bay C for 34 time units.\nCar J5, service 0: assigned to bay B for 69 time units.\nCar J5, service 1: assigned to bay F for 31 time units.\nCar J5, service 2: assigned to bay C for 17 time units.\nCar J5, service 3: assigned to bay A for 81 time units.\nCar J5, service 4: assigned to bay D for 87 time units.\nCar J5, service 5: assigned to bay E for 97 time units.\nCar J6, service 0: assigned to bay F for 99 time units.\nCar J6, service 1: assigned to bay B for 7 time units.\nCar J6, service 2: assigned to bay C for 58 time units.\nCar J6, service 3: assigned to bay A for 18 time units.\nCar J6, service 4: assigned to bay E for 32 time units.\nCar J6, service 5: assigned to bay D for 99 time units.\nCar J7, service 0: assigned to bay F for 39 time units.\nCar J7, service 1: assigned to bay D for 68 time units.\nCar J7, service 2: assigned to bay C for 40 time units.\nCar J7, service 3: assigned to bay E for 48 time units.\nCar J7, service 4: assigned to bay A for 55 time units.\nCar J7, service 5: assigned to bay B for 83 time units.\nCar J8, service 0: assigned to bay A for 42 time units.\nCar J8, service 1: assigned to bay B for 48 time units.\nCar J8, service 2: assigned to bay F for 65 time units.\nCar J8, service 3: assigned to bay E for 87 time units.\nCar J8, service 4: assigned to bay D for 32 time units.\nCar J8, service 5: assigned to bay C for 28 time units.\nCar J9, service 0: assigned to bay C for 27 time units.\nCar J9, service 1: assigned to bay E for 24 time units.\nCar J9, service 2: assigned to bay D for 36 time units.\nCar J9, service 3: assigned to bay A for 1 time units.\nCar J9, service 4: assigned to bay B for 93 time units.\nCar J9, service 5: assigned to bay F for 42 time units.\nCar J10, service 0: assigned to bay C for 8 time units.\nCar J10, service 1: assigned to bay A for 16 time units.\nCar J10, service 2: assigned to bay F for 60 time units.\nCar J10, service 3: assigned to bay B for 15 time units.\nCar J10, service 4: assigned to bay D for 91 time units.\nCar J10, service 5: assigned to bay E for 6 time units.\nCar J11, service 0: assigned to bay A for 61 time units.\nCar J11, service 1: assigned to bay D for 80 time units.\nCar J11, service 2: assigned to bay E for 59 time units.\nCar J11, service 3: assigned to bay C for 38 time units.\nCar J11, service 4: assigned to bay F for 11 time units.\nCar J11, service 5: assigned to bay B for 10 time units.\nCar J12, service 0: assigned to bay A for 83 time units.\nCar J12, service 1: assigned to bay F for 8 time units.\nCar J12, service 2: assigned to bay E for 50 time units.\nCar J12, service 3: assigned to bay C for 94 time units.\nCar J12, service 4: assigned to bay D for 55 time units.\nCar J12, service 5: assigned to bay B for 74 time units.\nAll listed services must be performed once and in the given order; bays cannot host overlapping services and the objective is to minimize the time when the last car finishes.\n\nAlso, when you send the actual schedule back, just use this simple JSON layout so it's easy to read and parse:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: \"solution\" is a list of cars, each car has a job id and a list of services (tasks). For each service you say which step it is, what time it starts, which bay (machine) it uses, and how long it runs. This block is just a sketch of the shape I expect, not the actual schedule — I'll need the real values for each item from the instance.\n\nPlease make sure you use the exact identifiers from the instance input — do not rename them or invent new labels.\n- for example: \"Valid identifiers look like plain numbers such as \"1\" or \"23\", single capital letters like \"A\" or \"B\", or a capital letter followed by digits like \"A1\" or \"X7\".\"", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 1, 1 ], [ 3, 81 ], [ 4, 62 ], [ 2, 73 ], [ 5, 69 ], [ 0, 67 ] ], [ [ 3, 16 ], [ 4, 48 ], [ 5, 51 ], [ 0, 62 ], [ 2, 69 ], [ 1, 80 ] ], [ [ 3, 67 ], [ 2, 32 ], [ 0, 58 ], [ 1, 49 ], [ 5, 96 ], [ 4, 52 ] ], [ [ 0, 69 ], [ 3, 48 ], [ 4, 97 ], [ 1, 2 ], [ 5, 46 ], [ 2, 34 ] ], [ [ 1, 69 ], [ 5, 31 ], [ 2, 17 ], [ 0, 81 ], [ 3, 87 ], [ 4, 97 ] ], [ [ 5, 99 ], [ 1, 7 ], [ 2, 58 ], [ 0, 18 ], [ 4, 32 ], [ 3, 99 ] ], [ [ 5, 39 ], [ 3, 68 ], [ 2, 40 ], [ 4, 48 ], [ 0, 55 ], [ 1, 83 ] ], [ [ 0, 42 ], [ 1, 48 ], [ 5, 65 ], [ 4, 87 ], [ 3, 32 ], [ 2, 28 ] ], [ [ 2, 27 ], [ 4, 24 ], [ 3, 36 ], [ 0, 1 ], [ 1, 93 ], [ 5, 42 ] ], [ [ 2, 8 ], [ 0, 16 ], [ 5, 60 ], [ 1, 15 ], [ 3, 91 ], [ 4, 6 ] ], [ [ 0, 61 ], [ 3, 80 ], [ 4, 59 ], [ 2, 38 ], [ 5, 11 ], [ 1, 10 ] ], [ [ 0, 83 ], [ 5, 8 ], [ 4, 50 ], [ 2, 94 ], [ 3, 55 ], [ 1, 74 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 69, "machine": 1, "duration": 1 }, { "task": 1, "start": 83, "machine": 3, "duration": 81 }, { "task": 2, "start": 164, "machine": 4, "duration": 62 }, { "task": 3, "start": 378, "machine": 2, "duration": 73 }, { "task": 4, "start": 514, "machine": 5, "duration": 69 }, { "task": 5, "start": 686, "machine": 0, "duration": 67 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 67, "machine": 3, "duration": 16 }, { "task": 1, "start": 83, "machine": 4, "duration": 48 }, { "task": 2, "start": 242, "machine": 5, "duration": 51 }, { "task": 3, "start": 431, "machine": 0, "duration": 62 }, { "task": 4, "start": 493, "machine": 2, "duration": 69 }, { "task": 5, "start": 678, "machine": 1, "duration": 80 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 67 }, { "task": 1, "start": 67, "machine": 2, "duration": 32 }, { "task": 2, "start": 186, "machine": 0, "duration": 58 }, { "task": 3, "start": 244, "machine": 1, "duration": 49 }, { "task": 4, "start": 353, "machine": 5, "duration": 96 }, { "task": 5, "start": 700, "machine": 4, "duration": 52 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 260, "machine": 0, "duration": 69 }, { "task": 1, "start": 348, "machine": 3, "duration": 48 }, { "task": 2, "start": 411, "machine": 4, "duration": 97 }, { "task": 3, "start": 546, "machine": 1, "duration": 2 }, { "task": 4, "start": 583, "machine": 5, "duration": 46 }, { "task": 5, "start": 641, "machine": 2, "duration": 34 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 69 }, { "task": 1, "start": 138, "machine": 5, "duration": 31 }, { "task": 2, "start": 169, "machine": 2, "duration": 17 }, { "task": 3, "start": 350, "machine": 0, "duration": 81 }, { "task": 4, "start": 451, "machine": 3, "duration": 87 }, { "task": 5, "start": 603, "machine": 4, "duration": 97 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 39, "machine": 5, "duration": 99 }, { "task": 1, "start": 173, "machine": 1, "duration": 7 }, { "task": 2, "start": 186, "machine": 2, "duration": 58 }, { "task": 3, "start": 329, "machine": 0, "duration": 18 }, { "task": 4, "start": 512, "machine": 4, "duration": 32 }, { "task": 5, "start": 661, "machine": 3, "duration": 99 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 39 }, { "task": 1, "start": 164, "machine": 3, "duration": 68 }, { "task": 2, "start": 244, "machine": 2, "duration": 40 }, { "task": 3, "start": 363, "machine": 4, "duration": 48 }, { "task": 4, "start": 493, "machine": 0, "duration": 55 }, { "task": 5, "start": 548, "machine": 1, "duration": 83 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 83, "machine": 0, "duration": 42 }, { "task": 1, "start": 125, "machine": 1, "duration": 48 }, { "task": 2, "start": 177, "machine": 5, "duration": 65 }, { "task": 3, "start": 276, "machine": 4, "duration": 87 }, { "task": 4, "start": 538, "machine": 3, "duration": 32 }, { "task": 5, "start": 570, "machine": 2, "duration": 28 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 27 }, { "task": 1, "start": 27, "machine": 4, "duration": 24 }, { "task": 2, "start": 312, "machine": 3, "duration": 36 }, { "task": 3, "start": 349, "machine": 0, "duration": 1 }, { "task": 4, "start": 379, "machine": 1, "duration": 93 }, { "task": 5, "start": 472, "machine": 5, "duration": 42 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 27, "machine": 2, "duration": 8 }, { "task": 1, "start": 244, "machine": 0, "duration": 16 }, { "task": 2, "start": 293, "machine": 5, "duration": 60 }, { "task": 3, "start": 353, "machine": 1, "duration": 15 }, { "task": 4, "start": 570, "machine": 3, "duration": 91 }, { "task": 5, "start": 752, "machine": 4, "duration": 6 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 125, "machine": 0, "duration": 61 }, { "task": 1, "start": 232, "machine": 3, "duration": 80 }, { "task": 2, "start": 544, "machine": 4, "duration": 59 }, { "task": 3, "start": 603, "machine": 2, "duration": 38 }, { "task": 4, "start": 641, "machine": 5, "duration": 11 }, { "task": 5, "start": 652, "machine": 1, "duration": 10 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 83 }, { "task": 1, "start": 169, "machine": 5, "duration": 8 }, { "task": 2, "start": 226, "machine": 4, "duration": 50 }, { "task": 3, "start": 284, "machine": 2, "duration": 94 }, { "task": 4, "start": 396, "machine": 3, "duration": 55 }, { "task": 5, "start": 472, "machine": 1, "duration": 74 } ] } ], "obj": 760.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "B", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "D", "duration": 81 }, { "job_id": "J1", "task_id": 2, "machine_id": "E", "duration": 62 }, { "job_id": "J1", "task_id": 3, "machine_id": "C", "duration": 73 }, { "job_id": "J1", "task_id": 4, "machine_id": "F", "duration": 69 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 67 }, { "job_id": "J2", "task_id": 0, "machine_id": "D", "duration": 16 }, { "job_id": "J2", "task_id": 1, "machine_id": "E", "duration": 48 }, { "job_id": "J2", "task_id": 2, "machine_id": "F", "duration": 51 }, { "job_id": "J2", "task_id": 3, "machine_id": "A", "duration": 62 }, { "job_id": "J2", "task_id": 4, "machine_id": "C", "duration": 69 }, { "job_id": "J2", "task_id": 5, "machine_id": "B", "duration": 80 }, { "job_id": "J3", "task_id": 0, "machine_id": "D", "duration": 67 }, { "job_id": "J3", "task_id": 1, "machine_id": "C", "duration": 32 }, { "job_id": "J3", "task_id": 2, "machine_id": "A", "duration": 58 }, { "job_id": "J3", "task_id": 3, "machine_id": "B", "duration": 49 }, { "job_id": "J3", "task_id": 4, "machine_id": "F", "duration": 96 }, { "job_id": "J3", "task_id": 5, "machine_id": "E", "duration": 52 }, { "job_id": "J4", "task_id": 0, "machine_id": "A", "duration": 69 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 48 }, { "job_id": "J4", "task_id": 2, "machine_id": "E", "duration": 97 }, { "job_id": "J4", "task_id": 3, "machine_id": "B", "duration": 2 }, { "job_id": "J4", "task_id": 4, "machine_id": "F", "duration": 46 }, { "job_id": "J4", "task_id": 5, "machine_id": "C", "duration": 34 }, { "job_id": "J5", "task_id": 0, "machine_id": "B", "duration": 69 }, { "job_id": "J5", "task_id": 1, "machine_id": "F", "duration": 31 }, { "job_id": "J5", "task_id": 2, "machine_id": "C", "duration": 17 }, { "job_id": "J5", "task_id": 3, "machine_id": "A", "duration": 81 }, { "job_id": "J5", "task_id": 4, "machine_id": "D", "duration": 87 }, { "job_id": "J5", "task_id": 5, "machine_id": "E", "duration": 97 }, { "job_id": "J6", "task_id": 0, "machine_id": "F", "duration": 99 }, { "job_id": "J6", "task_id": 1, "machine_id": "B", "duration": 7 }, { "job_id": "J6", "task_id": 2, "machine_id": "C", "duration": 58 }, { "job_id": "J6", "task_id": 3, "machine_id": "A", "duration": 18 }, { "job_id": "J6", "task_id": 4, "machine_id": "E", "duration": 32 }, { "job_id": "J6", "task_id": 5, "machine_id": "D", "duration": 99 }, { "job_id": "J7", "task_id": 0, "machine_id": "F", "duration": 39 }, { "job_id": "J7", "task_id": 1, "machine_id": "D", "duration": 68 }, { "job_id": "J7", "task_id": 2, "machine_id": "C", "duration": 40 }, { "job_id": "J7", "task_id": 3, "machine_id": "E", "duration": 48 }, { "job_id": "J7", "task_id": 4, "machine_id": "A", "duration": 55 }, { "job_id": "J7", "task_id": 5, "machine_id": "B", "duration": 83 }, { "job_id": "J8", "task_id": 0, "machine_id": "A", "duration": 42 }, { "job_id": "J8", "task_id": 1, "machine_id": "B", "duration": 48 }, { "job_id": "J8", "task_id": 2, "machine_id": "F", "duration": 65 }, { "job_id": "J8", "task_id": 3, "machine_id": "E", "duration": 87 }, { "job_id": "J8", "task_id": 4, "machine_id": "D", "duration": 32 }, { "job_id": "J8", "task_id": 5, "machine_id": "C", "duration": 28 }, { "job_id": "J9", "task_id": 0, "machine_id": "C", "duration": 27 }, { "job_id": "J9", "task_id": 1, "machine_id": "E", "duration": 24 }, { "job_id": "J9", "task_id": 2, "machine_id": "D", "duration": 36 }, { "job_id": "J9", "task_id": 3, "machine_id": "A", "duration": 1 }, { "job_id": "J9", "task_id": 4, "machine_id": "B", "duration": 93 }, { "job_id": "J9", "task_id": 5, "machine_id": "F", "duration": 42 }, { "job_id": "J10", "task_id": 0, "machine_id": "C", "duration": 8 }, { "job_id": "J10", "task_id": 1, "machine_id": "A", "duration": 16 }, { "job_id": "J10", "task_id": 2, "machine_id": "F", "duration": 60 }, { "job_id": "J10", "task_id": 3, "machine_id": "B", "duration": 15 }, { "job_id": "J10", "task_id": 4, "machine_id": "D", "duration": 91 }, { "job_id": "J10", "task_id": 5, "machine_id": "E", "duration": 6 }, { "job_id": "J11", "task_id": 0, "machine_id": "A", "duration": 61 }, { "job_id": "J11", "task_id": 1, "machine_id": "D", "duration": 80 }, { "job_id": "J11", "task_id": 2, "machine_id": "E", "duration": 59 }, { "job_id": "J11", "task_id": 3, "machine_id": "C", "duration": 38 }, { "job_id": "J11", "task_id": 4, "machine_id": "F", "duration": 11 }, { "job_id": "J11", "task_id": 5, "machine_id": "B", "duration": 10 }, { "job_id": "J12", "task_id": 0, "machine_id": "A", "duration": 83 }, { "job_id": "J12", "task_id": 1, "machine_id": "F", "duration": 8 }, { "job_id": "J12", "task_id": 2, "machine_id": "E", "duration": 50 }, { "job_id": "J12", "task_id": 3, "machine_id": "C", "duration": 94 }, { "job_id": "J12", "task_id": 4, "machine_id": "D", "duration": 55 }, { "job_id": "J12", "task_id": 5, "machine_id": "B", "duration": 74 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 69, "machine": "B", "duration": 1 }, { "task": 1, "start": 83, "machine": "D", "duration": 81 }, { "task": 2, "start": 164, "machine": "E", "duration": 62 }, { "task": 3, "start": 378, "machine": "C", "duration": 73 }, { "task": 4, "start": 514, "machine": "F", "duration": 69 }, { "task": 5, "start": 686, "machine": "A", "duration": 67 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 67, "machine": "D", "duration": 16 }, { "task": 1, "start": 83, "machine": "E", "duration": 48 }, { "task": 2, "start": 242, "machine": "F", "duration": 51 }, { "task": 3, "start": 431, "machine": "A", "duration": 62 }, { "task": 4, "start": 493, "machine": "C", "duration": 69 }, { "task": 5, "start": 678, "machine": "B", "duration": 80 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 67 }, { "task": 1, "start": 67, "machine": "C", "duration": 32 }, { "task": 2, "start": 186, "machine": "A", "duration": 58 }, { "task": 3, "start": 244, "machine": "B", "duration": 49 }, { "task": 4, "start": 353, "machine": "F", "duration": 96 }, { "task": 5, "start": 700, "machine": "E", "duration": 52 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 260, "machine": "A", "duration": 69 }, { "task": 1, "start": 348, "machine": "D", "duration": 48 }, { "task": 2, "start": 411, "machine": "E", "duration": 97 }, { "task": 3, "start": 546, "machine": "B", "duration": 2 }, { "task": 4, "start": 583, "machine": "F", "duration": 46 }, { "task": 5, "start": 641, "machine": "C", "duration": 34 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 69 }, { "task": 1, "start": 138, "machine": "F", "duration": 31 }, { "task": 2, "start": 169, "machine": "C", "duration": 17 }, { "task": 3, "start": 350, "machine": "A", "duration": 81 }, { "task": 4, "start": 451, "machine": "D", "duration": 87 }, { "task": 5, "start": 603, "machine": "E", "duration": 97 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 39, "machine": "F", "duration": 99 }, { "task": 1, "start": 173, "machine": "B", "duration": 7 }, { "task": 2, "start": 186, "machine": "C", "duration": 58 }, { "task": 3, "start": 329, "machine": "A", "duration": 18 }, { "task": 4, "start": 512, "machine": "E", "duration": 32 }, { "task": 5, "start": 661, "machine": "D", "duration": 99 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "F", "duration": 39 }, { "task": 1, "start": 164, "machine": "D", "duration": 68 }, { "task": 2, "start": 244, "machine": "C", "duration": 40 }, { "task": 3, "start": 363, "machine": "E", "duration": 48 }, { "task": 4, "start": 493, "machine": "A", "duration": 55 }, { "task": 5, "start": 548, "machine": "B", "duration": 83 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 83, "machine": "A", "duration": 42 }, { "task": 1, "start": 125, "machine": "B", "duration": 48 }, { "task": 2, "start": 177, "machine": "F", "duration": 65 }, { "task": 3, "start": 276, "machine": "E", "duration": 87 }, { "task": 4, "start": 538, "machine": "D", "duration": 32 }, { "task": 5, "start": 570, "machine": "C", "duration": 28 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 27 }, { "task": 1, "start": 27, "machine": "E", "duration": 24 }, { "task": 2, "start": 312, "machine": "D", "duration": 36 }, { "task": 3, "start": 349, "machine": "A", "duration": 1 }, { "task": 4, "start": 379, "machine": "B", "duration": 93 }, { "task": 5, "start": 472, "machine": "F", "duration": 42 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 27, "machine": "C", "duration": 8 }, { "task": 1, "start": 244, "machine": "A", "duration": 16 }, { "task": 2, "start": 293, "machine": "F", "duration": 60 }, { "task": 3, "start": 353, "machine": "B", "duration": 15 }, { "task": 4, "start": 570, "machine": "D", "duration": 91 }, { "task": 5, "start": 752, "machine": "E", "duration": 6 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 125, "machine": "A", "duration": 61 }, { "task": 1, "start": 232, "machine": "D", "duration": 80 }, { "task": 2, "start": 544, "machine": "E", "duration": 59 }, { "task": 3, "start": 603, "machine": "C", "duration": 38 }, { "task": 4, "start": 641, "machine": "F", "duration": 11 }, { "task": 5, "start": 652, "machine": "B", "duration": 10 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 83 }, { "task": 1, "start": 169, "machine": "F", "duration": 8 }, { "task": 2, "start": 226, "machine": "E", "duration": 50 }, { "task": 3, "start": 284, "machine": "C", "duration": 94 }, { "task": 4, "start": 396, "machine": "D", "duration": 55 }, { "task": 5, "start": 472, "machine": "B", "duration": 74 } ] } ], "context_index": 26, "input_format": "nl", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I was watching a small metal shop the other day where each part needs a handful of machining and finishing steps in a certain order. The day’s problem is deciding which part goes to which machine and when, so every required step happens once and in the right sequence on the correct machine. The better plan is the one that gets the entire batch finished sooner — you can tell by the clock time when the last part leaves the bench. Concrete details about the parts, machines, and how long each step takes are listed below.\n\n# total_parts=12\n# total_machines=6\n# parts_list=J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12\n# machine_ids=1, 2, 3, 4, 5, 6\npart_id,operation_index,required_machine_id,processing_time\nJ1,0,6,1\nJ1,1,4,94\nJ1,2,3,38\nJ1,3,5,19\nJ1,4,2,23\nJ1,5,1,89\nJ2,0,2,20\nJ2,1,6,17\nJ2,2,1,20\nJ2,3,5,56\nJ2,4,4,8\nJ2,5,3,32\nJ3,0,2,51\nJ3,1,5,35\nJ3,2,4,63\nJ3,3,6,2\nJ3,4,3,64\nJ3,5,1,52\nJ4,0,4,8\nJ4,1,2,54\nJ4,2,5,39\nJ4,3,3,70\nJ4,4,6,5\nJ4,5,1,27\nJ5,0,5,54\nJ5,1,1,83\nJ5,2,6,26\nJ5,3,4,47\nJ5,4,3,29\nJ5,5,2,68\nJ6,0,4,90\nJ6,1,2,83\nJ6,2,6,84\nJ6,3,3,23\nJ6,4,5,6\nJ6,5,1,32\nJ7,0,6,2\nJ7,1,4,44\nJ7,2,3,39\nJ7,3,2,84\nJ7,4,5,80\nJ7,5,1,81\nJ8,0,2,14\nJ8,1,1,23\nJ8,2,6,31\nJ8,3,5,94\nJ8,4,3,95\nJ8,5,4,16\nJ9,0,5,54\nJ9,1,1,67\nJ9,2,4,13\nJ9,3,3,49\nJ9,4,6,17\nJ9,5,2,69\nJ10,0,4,43\nJ10,1,3,32\nJ10,2,6,9\nJ10,3,1,5\nJ10,4,2,82\nJ10,5,5,12\nJ11,0,2,52\nJ11,1,6,31\nJ11,2,3,11\nJ11,3,4,69\nJ11,4,5,10\nJ11,5,1,59\nJ12,0,1,10\nJ12,1,5,17\nJ12,2,4,45\nJ12,3,6,2\nJ12,4,2,5\nJ12,5,3,13\n\nIf you want to hand me a candidate plan (or if you're expecting the output back from me), it's easiest if it's shaped like a little JSON snippet — nothing fancy, just a tidy list of jobs with their tasks and times. Here’s the sketch of the shape I expect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of \"solution\" as the whole batch. Each entry under it is a job (one of the parts on the shop floor). Inside a job, \"tasks\" is the sequence of steps for that part; each step records which task number it is, when it starts, which machine it uses, and how long it runs. That's just the form — a sketch of the expected shape, not the filled-in schedule.\n\nPlease make sure to use the exact identifiers from the instance input — don't rename anything or invent new labels. Valid identifiers look like plain numbers such as \"1\" or \"23\", single capital letters like \"A\" or \"B\", or a capital letter followed by digits like \"A1\" or \"X7\".", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 5, 1 ], [ 3, 94 ], [ 2, 38 ], [ 4, 19 ], [ 1, 23 ], [ 0, 89 ] ], [ [ 1, 20 ], [ 5, 17 ], [ 0, 20 ], [ 4, 56 ], [ 3, 8 ], [ 2, 32 ] ], [ [ 1, 51 ], [ 4, 35 ], [ 3, 63 ], [ 5, 2 ], [ 2, 64 ], [ 0, 52 ] ], [ [ 3, 8 ], [ 1, 54 ], [ 4, 39 ], [ 2, 70 ], [ 5, 5 ], [ 0, 27 ] ], [ [ 4, 54 ], [ 0, 83 ], [ 5, 26 ], [ 3, 47 ], [ 2, 29 ], [ 1, 68 ] ], [ [ 3, 90 ], [ 1, 83 ], [ 5, 84 ], [ 2, 23 ], [ 4, 6 ], [ 0, 32 ] ], [ [ 5, 2 ], [ 3, 44 ], [ 2, 39 ], [ 1, 84 ], [ 4, 80 ], [ 0, 81 ] ], [ [ 1, 14 ], [ 0, 23 ], [ 5, 31 ], [ 4, 94 ], [ 2, 95 ], [ 3, 16 ] ], [ [ 4, 54 ], [ 0, 67 ], [ 3, 13 ], [ 2, 49 ], [ 5, 17 ], [ 1, 69 ] ], [ [ 3, 43 ], [ 2, 32 ], [ 5, 9 ], [ 0, 5 ], [ 1, 82 ], [ 4, 12 ] ], [ [ 1, 52 ], [ 5, 31 ], [ 2, 11 ], [ 3, 69 ], [ 4, 10 ], [ 0, 59 ] ], [ [ 0, 10 ], [ 4, 17 ], [ 3, 45 ], [ 5, 2 ], [ 1, 5 ], [ 2, 13 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 2, "machine": 5, "duration": 1 }, { "task": 1, "start": 52, "machine": 3, "duration": 94 }, { "task": 2, "start": 146, "machine": 2, "duration": 38 }, { "task": 3, "start": 202, "machine": 4, "duration": 19 }, { "task": 4, "start": 223, "machine": 1, "duration": 23 }, { "task": 5, "start": 246, "machine": 0, "duration": 89 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 14, "machine": 1, "duration": 20 }, { "task": 1, "start": 68, "machine": 5, "duration": 17 }, { "task": 2, "start": 204, "machine": 0, "duration": 20 }, { "task": 3, "start": 392, "machine": 4, "duration": 56 }, { "task": 4, "start": 532, "machine": 3, "duration": 8 }, { "task": 5, "start": 557, "machine": 2, "duration": 32 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 88, "machine": 1, "duration": 51 }, { "task": 1, "start": 238, "machine": 4, "duration": 35 }, { "task": 2, "start": 292, "machine": 3, "duration": 63 }, { "task": 3, "start": 355, "machine": 5, "duration": 2 }, { "task": 4, "start": 371, "machine": 2, "duration": 64 }, { "task": 5, "start": 435, "machine": 0, "duration": 52 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 8 }, { "task": 1, "start": 34, "machine": 1, "duration": 54 }, { "task": 2, "start": 353, "machine": 4, "duration": 39 }, { "task": 3, "start": 435, "machine": 2, "duration": 70 }, { "task": 4, "start": 505, "machine": 5, "duration": 5 }, { "task": 5, "start": 546, "machine": 0, "duration": 27 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 54, "machine": 4, "duration": 54 }, { "task": 1, "start": 121, "machine": 0, "duration": 83 }, { "task": 2, "start": 204, "machine": 5, "duration": 26 }, { "task": 3, "start": 355, "machine": 3, "duration": 47 }, { "task": 4, "start": 505, "machine": 2, "duration": 29 }, { "task": 5, "start": 537, "machine": 1, "duration": 68 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 202, "machine": 3, "duration": 90 }, { "task": 1, "start": 298, "machine": 1, "duration": 83 }, { "task": 2, "start": 382, "machine": 5, "duration": 84 }, { "task": 3, "start": 534, "machine": 2, "duration": 23 }, { "task": 4, "start": 557, "machine": 4, "duration": 6 }, { "task": 5, "start": 573, "machine": 0, "duration": 32 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 2 }, { "task": 1, "start": 8, "machine": 3, "duration": 44 }, { "task": 2, "start": 52, "machine": 2, "duration": 39 }, { "task": 3, "start": 139, "machine": 1, "duration": 84 }, { "task": 4, "start": 273, "machine": 4, "duration": 80 }, { "task": 5, "start": 353, "machine": 0, "duration": 81 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 14 }, { "task": 1, "start": 14, "machine": 0, "duration": 23 }, { "task": 2, "start": 37, "machine": 5, "duration": 31 }, { "task": 3, "start": 108, "machine": 4, "duration": 94 }, { "task": 4, "start": 265, "machine": 2, "duration": 95 }, { "task": 5, "start": 516, "machine": 3, "duration": 16 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 54 }, { "task": 1, "start": 54, "machine": 0, "duration": 67 }, { "task": 2, "start": 146, "machine": 3, "duration": 13 }, { "task": 3, "start": 184, "machine": 2, "duration": 49 }, { "task": 4, "start": 233, "machine": 5, "duration": 17 }, { "task": 5, "start": 463, "machine": 1, "duration": 69 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 159, "machine": 3, "duration": 43 }, { "task": 1, "start": 233, "machine": 2, "duration": 32 }, { "task": 2, "start": 265, "machine": 5, "duration": 9 }, { "task": 3, "start": 335, "machine": 0, "duration": 5 }, { "task": 4, "start": 381, "machine": 1, "duration": 82 }, { "task": 5, "start": 481, "machine": 4, "duration": 12 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 246, "machine": 1, "duration": 52 }, { "task": 1, "start": 298, "machine": 5, "duration": 31 }, { "task": 2, "start": 360, "machine": 2, "duration": 11 }, { "task": 3, "start": 402, "machine": 3, "duration": 69 }, { "task": 4, "start": 471, "machine": 4, "duration": 10 }, { "task": 5, "start": 487, "machine": 0, "duration": 59 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 10 }, { "task": 1, "start": 221, "machine": 4, "duration": 17 }, { "task": 2, "start": 471, "machine": 3, "duration": 45 }, { "task": 3, "start": 516, "machine": 5, "duration": 2 }, { "task": 4, "start": 532, "machine": 1, "duration": 5 }, { "task": 5, "start": 589, "machine": 2, "duration": 13 } ] } ], "obj": 605.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 1, 2, 3, 4, 5, 6 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 6, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 94 }, { "job_id": "J1", "task_id": 2, "machine_id": 3, "duration": 38 }, { "job_id": "J1", "task_id": 3, "machine_id": 5, "duration": 19 }, { "job_id": "J1", "task_id": 4, "machine_id": 2, "duration": 23 }, { "job_id": "J1", "task_id": 5, "machine_id": 1, "duration": 89 }, { "job_id": "J2", "task_id": 0, "machine_id": 2, "duration": 20 }, { "job_id": "J2", "task_id": 1, "machine_id": 6, "duration": 17 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 20 }, { "job_id": "J2", "task_id": 3, "machine_id": 5, "duration": 56 }, { "job_id": "J2", "task_id": 4, "machine_id": 4, "duration": 8 }, { "job_id": "J2", "task_id": 5, "machine_id": 3, "duration": 32 }, { "job_id": "J3", "task_id": 0, "machine_id": 2, "duration": 51 }, { "job_id": "J3", "task_id": 1, "machine_id": 5, "duration": 35 }, { "job_id": "J3", "task_id": 2, "machine_id": 4, "duration": 63 }, { "job_id": "J3", "task_id": 3, "machine_id": 6, "duration": 2 }, { "job_id": "J3", "task_id": 4, "machine_id": 3, "duration": 64 }, { "job_id": "J3", "task_id": 5, "machine_id": 1, "duration": 52 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 8 }, { "job_id": "J4", "task_id": 1, "machine_id": 2, "duration": 54 }, { "job_id": "J4", "task_id": 2, "machine_id": 5, "duration": 39 }, { "job_id": "J4", "task_id": 3, "machine_id": 3, "duration": 70 }, { "job_id": "J4", "task_id": 4, "machine_id": 6, "duration": 5 }, { "job_id": "J4", "task_id": 5, "machine_id": 1, "duration": 27 }, { "job_id": "J5", "task_id": 0, "machine_id": 5, "duration": 54 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 83 }, { "job_id": "J5", "task_id": 2, "machine_id": 6, "duration": 26 }, { "job_id": "J5", "task_id": 3, "machine_id": 4, "duration": 47 }, { "job_id": "J5", "task_id": 4, "machine_id": 3, "duration": 29 }, { "job_id": "J5", "task_id": 5, "machine_id": 2, "duration": 68 }, { "job_id": "J6", "task_id": 0, "machine_id": 4, "duration": 90 }, { "job_id": "J6", "task_id": 1, "machine_id": 2, "duration": 83 }, { "job_id": "J6", "task_id": 2, "machine_id": 6, "duration": 84 }, { "job_id": "J6", "task_id": 3, "machine_id": 3, "duration": 23 }, { "job_id": "J6", "task_id": 4, "machine_id": 5, "duration": 6 }, { "job_id": "J6", "task_id": 5, "machine_id": 1, "duration": 32 }, { "job_id": "J7", "task_id": 0, "machine_id": 6, "duration": 2 }, { "job_id": "J7", "task_id": 1, "machine_id": 4, "duration": 44 }, { "job_id": "J7", "task_id": 2, "machine_id": 3, "duration": 39 }, { "job_id": "J7", "task_id": 3, "machine_id": 2, "duration": 84 }, { "job_id": "J7", "task_id": 4, "machine_id": 5, "duration": 80 }, { "job_id": "J7", "task_id": 5, "machine_id": 1, "duration": 81 }, { "job_id": "J8", "task_id": 0, "machine_id": 2, "duration": 14 }, { "job_id": "J8", "task_id": 1, "machine_id": 1, "duration": 23 }, { "job_id": "J8", "task_id": 2, "machine_id": 6, "duration": 31 }, { "job_id": "J8", "task_id": 3, "machine_id": 5, "duration": 94 }, { "job_id": "J8", "task_id": 4, "machine_id": 3, "duration": 95 }, { "job_id": "J8", "task_id": 5, "machine_id": 4, "duration": 16 }, { "job_id": "J9", "task_id": 0, "machine_id": 5, "duration": 54 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 67 }, { "job_id": "J9", "task_id": 2, "machine_id": 4, "duration": 13 }, { "job_id": "J9", "task_id": 3, "machine_id": 3, "duration": 49 }, { "job_id": "J9", "task_id": 4, "machine_id": 6, "duration": 17 }, { "job_id": "J9", "task_id": 5, "machine_id": 2, "duration": 69 }, { "job_id": "J10", "task_id": 0, "machine_id": 4, "duration": 43 }, { "job_id": "J10", "task_id": 1, "machine_id": 3, "duration": 32 }, { "job_id": "J10", "task_id": 2, "machine_id": 6, "duration": 9 }, { "job_id": "J10", "task_id": 3, "machine_id": 1, "duration": 5 }, { "job_id": "J10", "task_id": 4, "machine_id": 2, "duration": 82 }, { "job_id": "J10", "task_id": 5, "machine_id": 5, "duration": 12 }, { "job_id": "J11", "task_id": 0, "machine_id": 2, "duration": 52 }, { "job_id": "J11", "task_id": 1, "machine_id": 6, "duration": 31 }, { "job_id": "J11", "task_id": 2, "machine_id": 3, "duration": 11 }, { "job_id": "J11", "task_id": 3, "machine_id": 4, "duration": 69 }, { "job_id": "J11", "task_id": 4, "machine_id": 5, "duration": 10 }, { "job_id": "J11", "task_id": 5, "machine_id": 1, "duration": 59 }, { "job_id": "J12", "task_id": 0, "machine_id": 1, "duration": 10 }, { "job_id": "J12", "task_id": 1, "machine_id": 5, "duration": 17 }, { "job_id": "J12", "task_id": 2, "machine_id": 4, "duration": 45 }, { "job_id": "J12", "task_id": 3, "machine_id": 6, "duration": 2 }, { "job_id": "J12", "task_id": 4, "machine_id": 2, "duration": 5 }, { "job_id": "J12", "task_id": 5, "machine_id": 3, "duration": 13 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 2, "machine": 6, "duration": 1 }, { "task": 1, "start": 52, "machine": 4, "duration": 94 }, { "task": 2, "start": 146, "machine": 3, "duration": 38 }, { "task": 3, "start": 202, "machine": 5, "duration": 19 }, { "task": 4, "start": 223, "machine": 2, "duration": 23 }, { "task": 5, "start": 246, "machine": 1, "duration": 89 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 14, "machine": 2, "duration": 20 }, { "task": 1, "start": 68, "machine": 6, "duration": 17 }, { "task": 2, "start": 204, "machine": 1, "duration": 20 }, { "task": 3, "start": 392, "machine": 5, "duration": 56 }, { "task": 4, "start": 532, "machine": 4, "duration": 8 }, { "task": 5, "start": 557, "machine": 3, "duration": 32 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 88, "machine": 2, "duration": 51 }, { "task": 1, "start": 238, "machine": 5, "duration": 35 }, { "task": 2, "start": 292, "machine": 4, "duration": 63 }, { "task": 3, "start": 355, "machine": 6, "duration": 2 }, { "task": 4, "start": 371, "machine": 3, "duration": 64 }, { "task": 5, "start": 435, "machine": 1, "duration": 52 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 8 }, { "task": 1, "start": 34, "machine": 2, "duration": 54 }, { "task": 2, "start": 353, "machine": 5, "duration": 39 }, { "task": 3, "start": 435, "machine": 3, "duration": 70 }, { "task": 4, "start": 505, "machine": 6, "duration": 5 }, { "task": 5, "start": 546, "machine": 1, "duration": 27 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 54, "machine": 5, "duration": 54 }, { "task": 1, "start": 121, "machine": 1, "duration": 83 }, { "task": 2, "start": 204, "machine": 6, "duration": 26 }, { "task": 3, "start": 355, "machine": 4, "duration": 47 }, { "task": 4, "start": 505, "machine": 3, "duration": 29 }, { "task": 5, "start": 537, "machine": 2, "duration": 68 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 202, "machine": 4, "duration": 90 }, { "task": 1, "start": 298, "machine": 2, "duration": 83 }, { "task": 2, "start": 382, "machine": 6, "duration": 84 }, { "task": 3, "start": 534, "machine": 3, "duration": 23 }, { "task": 4, "start": 557, "machine": 5, "duration": 6 }, { "task": 5, "start": 573, "machine": 1, "duration": 32 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 6, "duration": 2 }, { "task": 1, "start": 8, "machine": 4, "duration": 44 }, { "task": 2, "start": 52, "machine": 3, "duration": 39 }, { "task": 3, "start": 139, "machine": 2, "duration": 84 }, { "task": 4, "start": 273, "machine": 5, "duration": 80 }, { "task": 5, "start": 353, "machine": 1, "duration": 81 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 14 }, { "task": 1, "start": 14, "machine": 1, "duration": 23 }, { "task": 2, "start": 37, "machine": 6, "duration": 31 }, { "task": 3, "start": 108, "machine": 5, "duration": 94 }, { "task": 4, "start": 265, "machine": 3, "duration": 95 }, { "task": 5, "start": 516, "machine": 4, "duration": 16 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 54 }, { "task": 1, "start": 54, "machine": 1, "duration": 67 }, { "task": 2, "start": 146, "machine": 4, "duration": 13 }, { "task": 3, "start": 184, "machine": 3, "duration": 49 }, { "task": 4, "start": 233, "machine": 6, "duration": 17 }, { "task": 5, "start": 463, "machine": 2, "duration": 69 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 159, "machine": 4, "duration": 43 }, { "task": 1, "start": 233, "machine": 3, "duration": 32 }, { "task": 2, "start": 265, "machine": 6, "duration": 9 }, { "task": 3, "start": 335, "machine": 1, "duration": 5 }, { "task": 4, "start": 381, "machine": 2, "duration": 82 }, { "task": 5, "start": 481, "machine": 5, "duration": 12 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 246, "machine": 2, "duration": 52 }, { "task": 1, "start": 298, "machine": 6, "duration": 31 }, { "task": 2, "start": 360, "machine": 3, "duration": 11 }, { "task": 3, "start": 402, "machine": 4, "duration": 69 }, { "task": 4, "start": 471, "machine": 5, "duration": 10 }, { "task": 5, "start": 487, "machine": 1, "duration": 59 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 10 }, { "task": 1, "start": 221, "machine": 5, "duration": 17 }, { "task": 2, "start": 471, "machine": 4, "duration": 45 }, { "task": 3, "start": 516, "machine": 6, "duration": 2 }, { "task": 4, "start": 532, "machine": 2, "duration": 5 }, { "task": 5, "start": 589, "machine": 3, "duration": 13 } ] } ], "context_index": 27, "input_format": "csv", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Someone in charge of the assembly line needs to decide the order bouquets visit the stations — each bouquet has a fixed chain of steps and each step has a fixed duration at a particular table or wrapping bench. Since each workstation can serve only one bouquet at a time and steps can’t be rearranged within a bouquet, the goal is to get all bouquets finished quickly; measure success by the time when the final bouquet is ready, and try to make that time as early as possible. The full list of tasks, stations and times appears below.\n\nThey are listed here: 10 bouquets, 6 stations, bouquet ids J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, and station ids 0, 1, 2, 3, 4, 5.\nBouquet J1, step 0 requires station 1 for 1 time units.\nBouquet J1, step 1 requires station 4 for 8 time units.\nBouquet J1, step 2 requires station 3 for 14 time units.\nBouquet J1, step 3 requires station 5 for 65 time units.\nBouquet J1, step 4 requires station 2 for 76 time units.\nBouquet J1, step 5 requires station 0 for 11 time units.\nBouquet J2, step 0 requires station 5 for 25 time units.\nBouquet J2, step 1 requires station 0 for 84 time units.\nBouquet J2, step 2 requires station 2 for 87 time units.\nBouquet J2, step 3 requires station 1 for 49 time units.\nBouquet J2, step 4 requires station 3 for 46 time units.\nBouquet J2, step 5 requires station 4 for 84 time units.\nBouquet J3, step 0 requires station 1 for 34 time units.\nBouquet J3, step 1 requires station 5 for 39 time units.\nBouquet J3, step 2 requires station 4 for 69 time units.\nBouquet J3, step 3 requires station 3 for 55 time units.\nBouquet J3, step 4 requires station 0 for 31 time units.\nBouquet J3, step 5 requires station 2 for 53 time units.\nBouquet J4, step 0 requires station 5 for 46 time units.\nBouquet J4, step 1 requires station 0 for 61 time units.\nBouquet J4, step 2 requires station 1 for 80 time units.\nBouquet J4, step 3 requires station 2 for 39 time units.\nBouquet J4, step 4 requires station 4 for 64 time units.\nBouquet J4, step 5 requires station 3 for 20 time units.\nBouquet J5, step 0 requires station 2 for 39 time units.\nBouquet J5, step 1 requires station 4 for 36 time units.\nBouquet J5, step 2 requires station 5 for 35 time units.\nBouquet J5, step 3 requires station 1 for 12 time units.\nBouquet J5, step 4 requires station 0 for 70 time units.\nBouquet J5, step 5 requires station 3 for 38 time units.\nBouquet J6, step 0 requires station 5 for 81 time units.\nBouquet J6, step 1 requires station 0 for 59 time units.\nBouquet J6, step 2 requires station 2 for 11 time units.\nBouquet J6, step 3 requires station 1 for 28 time units.\nBouquet J6, step 4 requires station 4 for 79 time units.\nBouquet J6, step 5 requires station 3 for 65 time units.\nBouquet J7, step 0 requires station 5 for 65 time units.\nBouquet J7, step 1 requires station 1 for 20 time units.\nBouquet J7, step 2 requires station 3 for 38 time units.\nBouquet J7, step 3 requires station 4 for 21 time units.\nBouquet J7, step 4 requires station 2 for 5 time units.\nBouquet J7, step 5 requires station 0 for 79 time units.\nBouquet J8, step 0 requires station 4 for 86 time units.\nBouquet J8, step 1 requires station 3 for 98 time units.\nBouquet J8, step 2 requires station 2 for 95 time units.\nBouquet J8, step 3 requires station 1 for 2 time units.\nBouquet J8, step 4 requires station 0 for 58 time units.\nBouquet J8, step 5 requires station 5 for 5 time units.\nBouquet J9, step 0 requires station 5 for 81 time units.\nBouquet J9, step 1 requires station 0 for 12 time units.\nBouquet J9, step 2 requires station 3 for 88 time units.\nBouquet J9, step 3 requires station 4 for 96 time units.\nBouquet J9, step 4 requires station 1 for 41 time units.\nBouquet J9, step 5 requires station 2 for 96 time units.\nBouquet J10, step 0 requires station 1 for 79 time units.\nBouquet J10, step 1 requires station 3 for 49 time units.\nBouquet J10, step 2 requires station 2 for 57 time units.\nBouquet J10, step 3 requires station 0 for 93 time units.\nBouquet J10, step 4 requires station 4 for 73 time units.\nBouquet J10, step 5 requires station 5 for 18 time units.\nThey should sequence these ordered steps to minimize the time when the final bouquet is ready.\n\nOh, and if you want to give me a schedule or get one back, it's easiest if we stick to a tiny JSON layout like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that as a simple form: \"solution\" holds a list of bouquets (jobs). Each bouquet entry names the job id and a list of its steps; each step lists which task in the sequence it is, when that step should start, which station (machine) it uses, and how long it takes. That block is just the shape I expect — a sketch, not the finished schedule.\n\nPlease make sure to use the exact identifiers from the instance input — don't rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 10, "jobs": [ [ [ 1, 1 ], [ 4, 8 ], [ 3, 14 ], [ 5, 65 ], [ 2, 76 ], [ 0, 11 ] ], [ [ 5, 25 ], [ 0, 84 ], [ 2, 87 ], [ 1, 49 ], [ 3, 46 ], [ 4, 84 ] ], [ [ 1, 34 ], [ 5, 39 ], [ 4, 69 ], [ 3, 55 ], [ 0, 31 ], [ 2, 53 ] ], [ [ 5, 46 ], [ 0, 61 ], [ 1, 80 ], [ 2, 39 ], [ 4, 64 ], [ 3, 20 ] ], [ [ 2, 39 ], [ 4, 36 ], [ 5, 35 ], [ 1, 12 ], [ 0, 70 ], [ 3, 38 ] ], [ [ 5, 81 ], [ 0, 59 ], [ 2, 11 ], [ 1, 28 ], [ 4, 79 ], [ 3, 65 ] ], [ [ 5, 65 ], [ 1, 20 ], [ 3, 38 ], [ 4, 21 ], [ 2, 5 ], [ 0, 79 ] ], [ [ 4, 86 ], [ 3, 98 ], [ 2, 95 ], [ 1, 2 ], [ 0, 58 ], [ 5, 5 ] ], [ [ 5, 81 ], [ 0, 12 ], [ 3, 88 ], [ 4, 96 ], [ 1, 41 ], [ 2, 96 ] ], [ [ 1, 79 ], [ 3, 49 ], [ 2, 57 ], [ 0, 93 ], [ 4, 73 ], [ 5, 18 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 113, "machine": 1, "duration": 1 }, { "task": 1, "start": 114, "machine": 4, "duration": 8 }, { "task": 2, "start": 128, "machine": 3, "duration": 14 }, { "task": 3, "start": 337, "machine": 5, "duration": 65 }, { "task": 4, "start": 422, "machine": 2, "duration": 76 }, { "task": 5, "start": 539, "machine": 0, "duration": 11 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 166, "machine": 5, "duration": 25 }, { "task": 1, "start": 191, "machine": 0, "duration": 84 }, { "task": 2, "start": 335, "machine": 2, "duration": 87 }, { "task": 3, "start": 449, "machine": 1, "duration": 49 }, { "task": 4, "start": 498, "machine": 3, "duration": 46 }, { "task": 5, "start": 568, "machine": 4, "duration": 84 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 79, "machine": 1, "duration": 34 }, { "task": 1, "start": 127, "machine": 5, "duration": 39 }, { "task": 2, "start": 166, "machine": 4, "duration": 69 }, { "task": 3, "start": 375, "machine": 3, "duration": 55 }, { "task": 4, "start": 438, "machine": 0, "duration": 31 }, { "task": 5, "start": 498, "machine": 2, "duration": 53 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 46 }, { "task": 1, "start": 46, "machine": 0, "duration": 61 }, { "task": 2, "start": 114, "machine": 1, "duration": 80 }, { "task": 3, "start": 197, "machine": 2, "duration": 39 }, { "task": 4, "start": 314, "machine": 4, "duration": 64 }, { "task": 5, "start": 468, "machine": 3, "duration": 20 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 39 }, { "task": 1, "start": 122, "machine": 4, "duration": 36 }, { "task": 2, "start": 402, "machine": 5, "duration": 35 }, { "task": 3, "start": 437, "machine": 1, "duration": 12 }, { "task": 4, "start": 469, "machine": 0, "duration": 70 }, { "task": 5, "start": 544, "machine": 3, "duration": 38 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 46, "machine": 5, "duration": 81 }, { "task": 1, "start": 127, "machine": 0, "duration": 59 }, { "task": 2, "start": 186, "machine": 2, "duration": 11 }, { "task": 3, "start": 197, "machine": 1, "duration": 28 }, { "task": 4, "start": 235, "machine": 4, "duration": 79 }, { "task": 5, "start": 582, "machine": 3, "duration": 65 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 272, "machine": 5, "duration": 65 }, { "task": 1, "start": 337, "machine": 1, "duration": 20 }, { "task": 2, "start": 430, "machine": 3, "duration": 38 }, { "task": 3, "start": 474, "machine": 4, "duration": 21 }, { "task": 4, "start": 551, "machine": 2, "duration": 5 }, { "task": 5, "start": 556, "machine": 0, "duration": 79 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 86 }, { "task": 1, "start": 142, "machine": 3, "duration": 98 }, { "task": 2, "start": 240, "machine": 2, "duration": 95 }, { "task": 3, "start": 335, "machine": 1, "duration": 2 }, { "task": 4, "start": 380, "machine": 0, "duration": 58 }, { "task": 5, "start": 469, "machine": 5, "duration": 5 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 191, "machine": 5, "duration": 81 }, { "task": 1, "start": 275, "machine": 0, "duration": 12 }, { "task": 2, "start": 287, "machine": 3, "duration": 88 }, { "task": 3, "start": 378, "machine": 4, "duration": 96 }, { "task": 4, "start": 498, "machine": 1, "duration": 41 }, { "task": 5, "start": 556, "machine": 2, "duration": 96 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 79 }, { "task": 1, "start": 79, "machine": 3, "duration": 49 }, { "task": 2, "start": 128, "machine": 2, "duration": 57 }, { "task": 3, "start": 287, "machine": 0, "duration": 93 }, { "task": 4, "start": 495, "machine": 4, "duration": 73 }, { "task": 5, "start": 573, "machine": 5, "duration": 18 } ] } ], "obj": 652.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ 0, 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 1, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 8 }, { "job_id": "J1", "task_id": 2, "machine_id": 3, "duration": 14 }, { "job_id": "J1", "task_id": 3, "machine_id": 5, "duration": 65 }, { "job_id": "J1", "task_id": 4, "machine_id": 2, "duration": 76 }, { "job_id": "J1", "task_id": 5, "machine_id": 0, "duration": 11 }, { "job_id": "J2", "task_id": 0, "machine_id": 5, "duration": 25 }, { "job_id": "J2", "task_id": 1, "machine_id": 0, "duration": 84 }, { "job_id": "J2", "task_id": 2, "machine_id": 2, "duration": 87 }, { "job_id": "J2", "task_id": 3, "machine_id": 1, "duration": 49 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 46 }, { "job_id": "J2", "task_id": 5, "machine_id": 4, "duration": 84 }, { "job_id": "J3", "task_id": 0, "machine_id": 1, "duration": 34 }, { "job_id": "J3", "task_id": 1, "machine_id": 5, "duration": 39 }, { "job_id": "J3", "task_id": 2, "machine_id": 4, "duration": 69 }, { "job_id": "J3", "task_id": 3, "machine_id": 3, "duration": 55 }, { "job_id": "J3", "task_id": 4, "machine_id": 0, "duration": 31 }, { "job_id": "J3", "task_id": 5, "machine_id": 2, "duration": 53 }, { "job_id": "J4", "task_id": 0, "machine_id": 5, "duration": 46 }, { "job_id": "J4", "task_id": 1, "machine_id": 0, "duration": 61 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 80 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 39 }, { "job_id": "J4", "task_id": 4, "machine_id": 4, "duration": 64 }, { "job_id": "J4", "task_id": 5, "machine_id": 3, "duration": 20 }, { "job_id": "J5", "task_id": 0, "machine_id": 2, "duration": 39 }, { "job_id": "J5", "task_id": 1, "machine_id": 4, "duration": 36 }, { "job_id": "J5", "task_id": 2, "machine_id": 5, "duration": 35 }, { "job_id": "J5", "task_id": 3, "machine_id": 1, "duration": 12 }, { "job_id": "J5", "task_id": 4, "machine_id": 0, "duration": 70 }, { "job_id": "J5", "task_id": 5, "machine_id": 3, "duration": 38 }, { "job_id": "J6", "task_id": 0, "machine_id": 5, "duration": 81 }, { "job_id": "J6", "task_id": 1, "machine_id": 0, "duration": 59 }, { "job_id": "J6", "task_id": 2, "machine_id": 2, "duration": 11 }, { "job_id": "J6", "task_id": 3, "machine_id": 1, "duration": 28 }, { "job_id": "J6", "task_id": 4, "machine_id": 4, "duration": 79 }, { "job_id": "J6", "task_id": 5, "machine_id": 3, "duration": 65 }, { "job_id": "J7", "task_id": 0, "machine_id": 5, "duration": 65 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 20 }, { "job_id": "J7", "task_id": 2, "machine_id": 3, "duration": 38 }, { "job_id": "J7", "task_id": 3, "machine_id": 4, "duration": 21 }, { "job_id": "J7", "task_id": 4, "machine_id": 2, "duration": 5 }, { "job_id": "J7", "task_id": 5, "machine_id": 0, "duration": 79 }, { "job_id": "J8", "task_id": 0, "machine_id": 4, "duration": 86 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 98 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 95 }, { "job_id": "J8", "task_id": 3, "machine_id": 1, "duration": 2 }, { "job_id": "J8", "task_id": 4, "machine_id": 0, "duration": 58 }, { "job_id": "J8", "task_id": 5, "machine_id": 5, "duration": 5 }, { "job_id": "J9", "task_id": 0, "machine_id": 5, "duration": 81 }, { "job_id": "J9", "task_id": 1, "machine_id": 0, "duration": 12 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 88 }, { "job_id": "J9", "task_id": 3, "machine_id": 4, "duration": 96 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 41 }, { "job_id": "J9", "task_id": 5, "machine_id": 2, "duration": 96 }, { "job_id": "J10", "task_id": 0, "machine_id": 1, "duration": 79 }, { "job_id": "J10", "task_id": 1, "machine_id": 3, "duration": 49 }, { "job_id": "J10", "task_id": 2, "machine_id": 2, "duration": 57 }, { "job_id": "J10", "task_id": 3, "machine_id": 0, "duration": 93 }, { "job_id": "J10", "task_id": 4, "machine_id": 4, "duration": 73 }, { "job_id": "J10", "task_id": 5, "machine_id": 5, "duration": 18 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 113, "machine": 1, "duration": 1 }, { "task": 1, "start": 114, "machine": 4, "duration": 8 }, { "task": 2, "start": 128, "machine": 3, "duration": 14 }, { "task": 3, "start": 337, "machine": 5, "duration": 65 }, { "task": 4, "start": 422, "machine": 2, "duration": 76 }, { "task": 5, "start": 539, "machine": 0, "duration": 11 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 166, "machine": 5, "duration": 25 }, { "task": 1, "start": 191, "machine": 0, "duration": 84 }, { "task": 2, "start": 335, "machine": 2, "duration": 87 }, { "task": 3, "start": 449, "machine": 1, "duration": 49 }, { "task": 4, "start": 498, "machine": 3, "duration": 46 }, { "task": 5, "start": 568, "machine": 4, "duration": 84 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 79, "machine": 1, "duration": 34 }, { "task": 1, "start": 127, "machine": 5, "duration": 39 }, { "task": 2, "start": 166, "machine": 4, "duration": 69 }, { "task": 3, "start": 375, "machine": 3, "duration": 55 }, { "task": 4, "start": 438, "machine": 0, "duration": 31 }, { "task": 5, "start": 498, "machine": 2, "duration": 53 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 46 }, { "task": 1, "start": 46, "machine": 0, "duration": 61 }, { "task": 2, "start": 114, "machine": 1, "duration": 80 }, { "task": 3, "start": 197, "machine": 2, "duration": 39 }, { "task": 4, "start": 314, "machine": 4, "duration": 64 }, { "task": 5, "start": 468, "machine": 3, "duration": 20 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 39 }, { "task": 1, "start": 122, "machine": 4, "duration": 36 }, { "task": 2, "start": 402, "machine": 5, "duration": 35 }, { "task": 3, "start": 437, "machine": 1, "duration": 12 }, { "task": 4, "start": 469, "machine": 0, "duration": 70 }, { "task": 5, "start": 544, "machine": 3, "duration": 38 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 46, "machine": 5, "duration": 81 }, { "task": 1, "start": 127, "machine": 0, "duration": 59 }, { "task": 2, "start": 186, "machine": 2, "duration": 11 }, { "task": 3, "start": 197, "machine": 1, "duration": 28 }, { "task": 4, "start": 235, "machine": 4, "duration": 79 }, { "task": 5, "start": 582, "machine": 3, "duration": 65 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 272, "machine": 5, "duration": 65 }, { "task": 1, "start": 337, "machine": 1, "duration": 20 }, { "task": 2, "start": 430, "machine": 3, "duration": 38 }, { "task": 3, "start": 474, "machine": 4, "duration": 21 }, { "task": 4, "start": 551, "machine": 2, "duration": 5 }, { "task": 5, "start": 556, "machine": 0, "duration": 79 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 86 }, { "task": 1, "start": 142, "machine": 3, "duration": 98 }, { "task": 2, "start": 240, "machine": 2, "duration": 95 }, { "task": 3, "start": 335, "machine": 1, "duration": 2 }, { "task": 4, "start": 380, "machine": 0, "duration": 58 }, { "task": 5, "start": 469, "machine": 5, "duration": 5 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 191, "machine": 5, "duration": 81 }, { "task": 1, "start": 275, "machine": 0, "duration": 12 }, { "task": 2, "start": 287, "machine": 3, "duration": 88 }, { "task": 3, "start": 378, "machine": 4, "duration": 96 }, { "task": 4, "start": 498, "machine": 1, "duration": 41 }, { "task": 5, "start": 556, "machine": 2, "duration": 96 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 79 }, { "task": 1, "start": 79, "machine": 3, "duration": 49 }, { "task": 2, "start": 128, "machine": 2, "duration": 57 }, { "task": 3, "start": 287, "machine": 0, "duration": 93 }, { "task": 4, "start": 495, "machine": 4, "duration": 73 }, { "task": 5, "start": 573, "machine": 5, "duration": 18 } ] } ], "context_index": 28, "input_format": "nl", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "There's this familiar scramble before air: a stack of segments, each with its own line of work to pass through, known durations for those jobs, and a handful of rooms that can only do one thing at a time. The decision is how to funnel the segments through those rooms so the final show can be handed off as early as possible. The measure that matters is the time on the clock when the final segment is done — the earlier that finish time, the better the plan. Every segment must complete every step in the given sequence; nothing gets left out or duplicated. The specific rundown and timings are listed below.\n\nThere are 11 segments to route through 5 rooms; the segment identifiers are J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11 and the room identifiers are A, B, C, D, E.\nSegment J1, step 0, requires room E for 1.\nSegment J1, step 1, requires room B for 21.\nSegment J1, step 2, requires room D for 89.\nSegment J1, step 3, requires room C for 11.\nSegment J1, step 4, requires room A for 30.\nSegment J2, step 0, requires room B for 33.\nSegment J2, step 1, requires room A for 30.\nSegment J2, step 2, requires room C for 52.\nSegment J2, step 3, requires room D for 55.\nSegment J2, step 4, requires room E for 43.\nSegment J3, step 0, requires room A for 84.\nSegment J3, step 1, requires room D for 36.\nSegment J3, step 2, requires room E for 17.\nSegment J3, step 3, requires room B for 42.\nSegment J3, step 4, requires room C for 74.\nSegment J4, step 0, requires room C for 8.\nSegment J4, step 1, requires room D for 98.\nSegment J4, step 2, requires room B for 54.\nSegment J4, step 3, requires room A for 84.\nSegment J4, step 4, requires room E for 68.\nSegment J5, step 0, requires room B for 23.\nSegment J5, step 1, requires room A for 8.\nSegment J5, step 2, requires room D for 23.\nSegment J5, step 3, requires room E for 13.\nSegment J5, step 4, requires room C for 23.\nSegment J6, step 0, requires room B for 88.\nSegment J6, step 1, requires room E for 44.\nSegment J6, step 2, requires room C for 77.\nSegment J6, step 3, requires room D for 12.\nSegment J6, step 4, requires room A for 9.\nSegment J7, step 0, requires room C for 72.\nSegment J7, step 1, requires room B for 36.\nSegment J7, step 2, requires room D for 37.\nSegment J7, step 3, requires room A for 32.\nSegment J7, step 4, requires room E for 53.\nSegment J8, step 0, requires room B for 97.\nSegment J8, step 1, requires room E for 29.\nSegment J8, step 2, requires room C for 94.\nSegment J8, step 3, requires room D for 37.\nSegment J8, step 4, requires room A for 57.\nSegment J9, step 0, requires room C for 29.\nSegment J9, step 1, requires room A for 78.\nSegment J9, step 2, requires room B for 59.\nSegment J9, step 3, requires room D for 73.\nSegment J9, step 4, requires room E for 61.\nSegment J10, step 0, requires room E for 9.\nSegment J10, step 1, requires room B for 22.\nSegment J10, step 2, requires room C for 93.\nSegment J10, step 3, requires room A for 9.\nSegment J10, step 4, requires room D for 55.\nSegment J11, step 0, requires room E for 65.\nSegment J11, step 1, requires room C for 44.\nSegment J11, step 2, requires room A for 64.\nSegment J11, step 3, requires room B for 25.\nSegment J11, step 4, requires room D for 15.\nKeep the plan aimed at getting the final segment handed off as early as possible.\n\nOh, and a handy way to send the plan back is as a little JSON sketch — nothing fancy, just the shape I expect to see:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that as a simple form: \"solution\" holds a list of jobs, each job entry names the job and then lists its tasks; for each task you provide the task index (which step it is), the start time, the machine it runs on, and how long it takes. It's just the expected shape — not the actual filled-in answer.\n\nPlease use the identifiers exactly as they appear in the instance input — do not rename them or invent new ones. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 4, 1 ], [ 1, 21 ], [ 3, 89 ], [ 2, 11 ], [ 0, 30 ] ], [ [ 1, 33 ], [ 0, 30 ], [ 2, 52 ], [ 3, 55 ], [ 4, 43 ] ], [ [ 0, 84 ], [ 3, 36 ], [ 4, 17 ], [ 1, 42 ], [ 2, 74 ] ], [ [ 2, 8 ], [ 3, 98 ], [ 1, 54 ], [ 0, 84 ], [ 4, 68 ] ], [ [ 1, 23 ], [ 0, 8 ], [ 3, 23 ], [ 4, 13 ], [ 2, 23 ] ], [ [ 1, 88 ], [ 4, 44 ], [ 2, 77 ], [ 3, 12 ], [ 0, 9 ] ], [ [ 2, 72 ], [ 1, 36 ], [ 3, 37 ], [ 0, 32 ], [ 4, 53 ] ], [ [ 1, 97 ], [ 4, 29 ], [ 2, 94 ], [ 3, 37 ], [ 0, 57 ] ], [ [ 2, 29 ], [ 0, 78 ], [ 1, 59 ], [ 3, 73 ], [ 4, 61 ] ], [ [ 4, 9 ], [ 1, 22 ], [ 2, 93 ], [ 0, 9 ], [ 3, 55 ] ], [ [ 4, 65 ], [ 2, 44 ], [ 0, 64 ], [ 1, 25 ], [ 3, 15 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 37, "machine": 1, "duration": 21 }, { "task": 2, "start": 109, "machine": 3, "duration": 89 }, { "task": 3, "start": 254, "machine": 2, "duration": 11 }, { "task": 4, "start": 481, "machine": 0, "duration": 30 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 4, "machine": 1, "duration": 33 }, { "task": 1, "start": 133, "machine": 0, "duration": 30 }, { "task": 2, "start": 202, "machine": 2, "duration": 52 }, { "task": 3, "start": 271, "machine": 3, "duration": 55 }, { "task": 4, "start": 326, "machine": 4, "duration": 43 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 84 }, { "task": 1, "start": 235, "machine": 3, "duration": 36 }, { "task": 2, "start": 426, "machine": 4, "duration": 17 }, { "task": 3, "start": 443, "machine": 1, "duration": 42 }, { "task": 4, "start": 503, "machine": 2, "duration": 74 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 8 }, { "task": 1, "start": 11, "machine": 3, "duration": 98 }, { "task": 2, "start": 240, "machine": 1, "duration": 54 }, { "task": 3, "start": 333, "machine": 0, "duration": 84 }, { "task": 4, "start": 443, "machine": 4, "duration": 68 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 58, "machine": 1, "duration": 23 }, { "task": 1, "start": 282, "machine": 0, "duration": 8 }, { "task": 2, "start": 328, "machine": 3, "duration": 23 }, { "task": 3, "start": 369, "machine": 4, "duration": 13 }, { "task": 4, "start": 403, "machine": 2, "duration": 23 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 294, "machine": 1, "duration": 88 }, { "task": 1, "start": 382, "machine": 4, "duration": 44 }, { "task": 2, "start": 426, "machine": 2, "duration": 77 }, { "task": 3, "start": 556, "machine": 3, "duration": 12 }, { "task": 4, "start": 568, "machine": 0, "duration": 9 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 8, "machine": 2, "duration": 72 }, { "task": 1, "start": 103, "machine": 1, "duration": 36 }, { "task": 2, "start": 198, "machine": 3, "duration": 37 }, { "task": 3, "start": 241, "machine": 0, "duration": 32 }, { "task": 4, "start": 273, "machine": 4, "duration": 53 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 139, "machine": 1, "duration": 97 }, { "task": 1, "start": 236, "machine": 4, "duration": 29 }, { "task": 2, "start": 265, "machine": 2, "duration": 94 }, { "task": 3, "start": 406, "machine": 3, "duration": 37 }, { "task": 4, "start": 511, "machine": 0, "duration": 57 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 80, "machine": 2, "duration": 29 }, { "task": 1, "start": 163, "machine": 0, "duration": 78 }, { "task": 2, "start": 384, "machine": 1, "duration": 59 }, { "task": 3, "start": 443, "machine": 3, "duration": 73 }, { "task": 4, "start": 516, "machine": 4, "duration": 61 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 72, "machine": 4, "duration": 9 }, { "task": 1, "start": 81, "machine": 1, "duration": 22 }, { "task": 2, "start": 109, "machine": 2, "duration": 93 }, { "task": 3, "start": 273, "machine": 0, "duration": 9 }, { "task": 4, "start": 351, "machine": 3, "duration": 55 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 1, "machine": 4, "duration": 65 }, { "task": 1, "start": 359, "machine": 2, "duration": 44 }, { "task": 2, "start": 417, "machine": 0, "duration": 64 }, { "task": 3, "start": 516, "machine": 1, "duration": 25 }, { "task": 4, "start": 541, "machine": 3, "duration": 15 } ] } ], "obj": 577.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "E", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 21 }, { "job_id": "J1", "task_id": 2, "machine_id": "D", "duration": 89 }, { "job_id": "J1", "task_id": 3, "machine_id": "C", "duration": 11 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 30 }, { "job_id": "J2", "task_id": 0, "machine_id": "B", "duration": 33 }, { "job_id": "J2", "task_id": 1, "machine_id": "A", "duration": 30 }, { "job_id": "J2", "task_id": 2, "machine_id": "C", "duration": 52 }, { "job_id": "J2", "task_id": 3, "machine_id": "D", "duration": 55 }, { "job_id": "J2", "task_id": 4, "machine_id": "E", "duration": 43 }, { "job_id": "J3", "task_id": 0, "machine_id": "A", "duration": 84 }, { "job_id": "J3", "task_id": 1, "machine_id": "D", "duration": 36 }, { "job_id": "J3", "task_id": 2, "machine_id": "E", "duration": 17 }, { "job_id": "J3", "task_id": 3, "machine_id": "B", "duration": 42 }, { "job_id": "J3", "task_id": 4, "machine_id": "C", "duration": 74 }, { "job_id": "J4", "task_id": 0, "machine_id": "C", "duration": 8 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 98 }, { "job_id": "J4", "task_id": 2, "machine_id": "B", "duration": 54 }, { "job_id": "J4", "task_id": 3, "machine_id": "A", "duration": 84 }, { "job_id": "J4", "task_id": 4, "machine_id": "E", "duration": 68 }, { "job_id": "J5", "task_id": 0, "machine_id": "B", "duration": 23 }, { "job_id": "J5", "task_id": 1, "machine_id": "A", "duration": 8 }, { "job_id": "J5", "task_id": 2, "machine_id": "D", "duration": 23 }, { "job_id": "J5", "task_id": 3, "machine_id": "E", "duration": 13 }, { "job_id": "J5", "task_id": 4, "machine_id": "C", "duration": 23 }, { "job_id": "J6", "task_id": 0, "machine_id": "B", "duration": 88 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 44 }, { "job_id": "J6", "task_id": 2, "machine_id": "C", "duration": 77 }, { "job_id": "J6", "task_id": 3, "machine_id": "D", "duration": 12 }, { "job_id": "J6", "task_id": 4, "machine_id": "A", "duration": 9 }, { "job_id": "J7", "task_id": 0, "machine_id": "C", "duration": 72 }, { "job_id": "J7", "task_id": 1, "machine_id": "B", "duration": 36 }, { "job_id": "J7", "task_id": 2, "machine_id": "D", "duration": 37 }, { "job_id": "J7", "task_id": 3, "machine_id": "A", "duration": 32 }, { "job_id": "J7", "task_id": 4, "machine_id": "E", "duration": 53 }, { "job_id": "J8", "task_id": 0, "machine_id": "B", "duration": 97 }, { "job_id": "J8", "task_id": 1, "machine_id": "E", "duration": 29 }, { "job_id": "J8", "task_id": 2, "machine_id": "C", "duration": 94 }, { "job_id": "J8", "task_id": 3, "machine_id": "D", "duration": 37 }, { "job_id": "J8", "task_id": 4, "machine_id": "A", "duration": 57 }, { "job_id": "J9", "task_id": 0, "machine_id": "C", "duration": 29 }, { "job_id": "J9", "task_id": 1, "machine_id": "A", "duration": 78 }, { "job_id": "J9", "task_id": 2, "machine_id": "B", "duration": 59 }, { "job_id": "J9", "task_id": 3, "machine_id": "D", "duration": 73 }, { "job_id": "J9", "task_id": 4, "machine_id": "E", "duration": 61 }, { "job_id": "J10", "task_id": 0, "machine_id": "E", "duration": 9 }, { "job_id": "J10", "task_id": 1, "machine_id": "B", "duration": 22 }, { "job_id": "J10", "task_id": 2, "machine_id": "C", "duration": 93 }, { "job_id": "J10", "task_id": 3, "machine_id": "A", "duration": 9 }, { "job_id": "J10", "task_id": 4, "machine_id": "D", "duration": 55 }, { "job_id": "J11", "task_id": 0, "machine_id": "E", "duration": 65 }, { "job_id": "J11", "task_id": 1, "machine_id": "C", "duration": 44 }, { "job_id": "J11", "task_id": 2, "machine_id": "A", "duration": 64 }, { "job_id": "J11", "task_id": 3, "machine_id": "B", "duration": 25 }, { "job_id": "J11", "task_id": 4, "machine_id": "D", "duration": 15 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 1 }, { "task": 1, "start": 37, "machine": "B", "duration": 21 }, { "task": 2, "start": 109, "machine": "D", "duration": 89 }, { "task": 3, "start": 254, "machine": "C", "duration": 11 }, { "task": 4, "start": 481, "machine": "A", "duration": 30 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 4, "machine": "B", "duration": 33 }, { "task": 1, "start": 133, "machine": "A", "duration": 30 }, { "task": 2, "start": 202, "machine": "C", "duration": 52 }, { "task": 3, "start": 271, "machine": "D", "duration": 55 }, { "task": 4, "start": 326, "machine": "E", "duration": 43 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 84 }, { "task": 1, "start": 235, "machine": "D", "duration": 36 }, { "task": 2, "start": 426, "machine": "E", "duration": 17 }, { "task": 3, "start": 443, "machine": "B", "duration": 42 }, { "task": 4, "start": 503, "machine": "C", "duration": 74 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 8 }, { "task": 1, "start": 11, "machine": "D", "duration": 98 }, { "task": 2, "start": 240, "machine": "B", "duration": 54 }, { "task": 3, "start": 333, "machine": "A", "duration": 84 }, { "task": 4, "start": 443, "machine": "E", "duration": 68 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 58, "machine": "B", "duration": 23 }, { "task": 1, "start": 282, "machine": "A", "duration": 8 }, { "task": 2, "start": 328, "machine": "D", "duration": 23 }, { "task": 3, "start": 369, "machine": "E", "duration": 13 }, { "task": 4, "start": 403, "machine": "C", "duration": 23 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 294, "machine": "B", "duration": 88 }, { "task": 1, "start": 382, "machine": "E", "duration": 44 }, { "task": 2, "start": 426, "machine": "C", "duration": 77 }, { "task": 3, "start": 556, "machine": "D", "duration": 12 }, { "task": 4, "start": 568, "machine": "A", "duration": 9 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 8, "machine": "C", "duration": 72 }, { "task": 1, "start": 103, "machine": "B", "duration": 36 }, { "task": 2, "start": 198, "machine": "D", "duration": 37 }, { "task": 3, "start": 241, "machine": "A", "duration": 32 }, { "task": 4, "start": 273, "machine": "E", "duration": 53 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 139, "machine": "B", "duration": 97 }, { "task": 1, "start": 236, "machine": "E", "duration": 29 }, { "task": 2, "start": 265, "machine": "C", "duration": 94 }, { "task": 3, "start": 406, "machine": "D", "duration": 37 }, { "task": 4, "start": 511, "machine": "A", "duration": 57 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 80, "machine": "C", "duration": 29 }, { "task": 1, "start": 163, "machine": "A", "duration": 78 }, { "task": 2, "start": 384, "machine": "B", "duration": 59 }, { "task": 3, "start": 443, "machine": "D", "duration": 73 }, { "task": 4, "start": 516, "machine": "E", "duration": 61 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 72, "machine": "E", "duration": 9 }, { "task": 1, "start": 81, "machine": "B", "duration": 22 }, { "task": 2, "start": 109, "machine": "C", "duration": 93 }, { "task": 3, "start": 273, "machine": "A", "duration": 9 }, { "task": 4, "start": 351, "machine": "D", "duration": 55 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 1, "machine": "E", "duration": 65 }, { "task": 1, "start": 359, "machine": "C", "duration": 44 }, { "task": 2, "start": 417, "machine": "A", "duration": 64 }, { "task": 3, "start": 516, "machine": "B", "duration": 25 }, { "task": 4, "start": 541, "machine": "D", "duration": 15 } ] } ], "context_index": 29, "input_format": "nl", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I run the little packaging line and need to figure out the best way to send every batch out fast. Each batch has a fixed string of steps — fill, cap, label, pack — and each step always takes the same amount of time. The choices are about who goes where and when on the different machines, but the trick is that each machine can only handle one thing at once and every batch must go through its steps in order, never skipping or repeating a step. A better plan is simply the one that gets the very last batch out sooner — measure that by looking at when each batch finishes and taking the latest finish time; that latest time is what to make as small as possible. The exact line layout, machine list and times are shown below.\n\n{\n \"nr_batches\": 11,\n \"nr_stations\": 5,\n \"batch_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\",\n \"J11\"\n ],\n \"station_ids\": [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\"\n ],\n \"tasks\": [\n {\n \"batch_id\": \"J1\",\n \"step_index\": 0,\n \"station_id\": \"B\",\n \"step_duration\": 1\n },\n {\n \"batch_id\": \"J1\",\n \"step_index\": 1,\n \"station_id\": \"E\",\n \"step_duration\": 34\n },\n {\n \"batch_id\": \"J1\",\n \"step_index\": 2,\n \"station_id\": \"D\",\n \"step_duration\": 65\n },\n {\n \"batch_id\": \"J1\",\n \"step_index\": 3,\n \"station_id\": \"C\",\n \"step_duration\": 56\n },\n {\n \"batch_id\": \"J1\",\n \"step_index\": 4,\n \"station_id\": \"A\",\n \"step_duration\": 82\n },\n {\n \"batch_id\": \"J2\",\n \"step_index\": 0,\n \"station_id\": \"D\",\n \"step_duration\": 55\n },\n {\n \"batch_id\": \"J2\",\n \"step_index\": 1,\n \"station_id\": \"B\",\n \"step_duration\": 34\n },\n {\n \"batch_id\": \"J2\",\n \"step_index\": 2,\n \"station_id\": \"E\",\n \"step_duration\": 20\n },\n {\n \"batch_id\": \"J2\",\n \"step_index\": 3,\n \"station_id\": \"A\",\n \"step_duration\": 23\n },\n {\n \"batch_id\": \"J2\",\n \"step_index\": 4,\n \"station_id\": \"C\",\n \"step_duration\": 36\n },\n {\n \"batch_id\": \"J3\",\n \"step_index\": 0,\n \"station_id\": \"D\",\n \"step_duration\": 23\n },\n {\n \"batch_id\": \"J3\",\n \"step_index\": 1,\n \"station_id\": \"C\",\n \"step_duration\": 87\n },\n {\n \"batch_id\": \"J3\",\n \"step_index\": 2,\n \"station_id\": \"E\",\n \"step_duration\": 99\n },\n {\n \"batch_id\": \"J3\",\n \"step_index\": 3,\n \"station_id\": \"B\",\n \"step_duration\": 46\n },\n {\n \"batch_id\": \"J3\",\n \"step_index\": 4,\n \"station_id\": \"A\",\n \"step_duration\": 79\n },\n {\n \"batch_id\": \"J4\",\n \"step_index\": 0,\n \"station_id\": \"E\",\n \"step_duration\": 61\n },\n {\n \"batch_id\": \"J4\",\n \"step_index\": 1,\n \"station_id\": \"C\",\n \"step_duration\": 65\n },\n {\n \"batch_id\": \"J4\",\n \"step_index\": 2,\n \"station_id\": \"B\",\n \"step_duration\": 55\n },\n {\n \"batch_id\": \"J4\",\n \"step_index\": 3,\n \"station_id\": \"A\",\n \"step_duration\": 23\n },\n {\n \"batch_id\": \"J4\",\n \"step_index\": 4,\n \"station_id\": \"D\",\n \"step_duration\": 74\n },\n {\n \"batch_id\": \"J5\",\n \"step_index\": 0,\n \"station_id\": \"D\",\n \"step_duration\": 64\n },\n {\n \"batch_id\": \"J5\",\n \"step_index\": 1,\n \"station_id\": \"E\",\n \"step_duration\": 76\n },\n {\n \"batch_id\": \"J5\",\n \"step_index\": 2,\n \"station_id\": \"B\",\n \"step_duration\": 81\n },\n {\n \"batch_id\": \"J5\",\n \"step_index\": 3,\n \"station_id\": \"C\",\n \"step_duration\": 7\n },\n {\n \"batch_id\": \"J5\",\n \"step_index\": 4,\n \"station_id\": \"A\",\n \"step_duration\": 8\n },\n {\n \"batch_id\": \"J6\",\n \"step_index\": 0,\n \"station_id\": \"E\",\n \"step_duration\": 41\n },\n {\n \"batch_id\": \"J6\",\n \"step_index\": 1,\n \"station_id\": \"A\",\n \"step_duration\": 53\n },\n {\n \"batch_id\": \"J6\",\n \"step_index\": 2,\n \"station_id\": \"D\",\n \"step_duration\": 43\n },\n {\n \"batch_id\": \"J6\",\n \"step_index\": 3,\n \"station_id\": \"B\",\n \"step_duration\": 54\n },\n {\n \"batch_id\": \"J6\",\n \"step_index\": 4,\n \"station_id\": \"C\",\n \"step_duration\": 78\n },\n {\n \"batch_id\": \"J7\",\n \"step_index\": 0,\n \"station_id\": \"E\",\n \"step_duration\": 63\n },\n {\n \"batch_id\": \"J7\",\n \"step_index\": 1,\n \"station_id\": \"B\",\n \"step_duration\": 12\n },\n {\n \"batch_id\": \"J7\",\n \"step_index\": 2,\n \"station_id\": \"A\",\n \"step_duration\": 63\n },\n {\n \"batch_id\": \"J7\",\n \"step_index\": 3,\n \"station_id\": \"C\",\n \"step_duration\": 37\n },\n {\n \"batch_id\": \"J7\",\n \"step_index\": 4,\n \"station_id\": \"D\",\n \"step_duration\": 26\n },\n {\n \"batch_id\": \"J8\",\n \"step_index\": 0,\n \"station_id\": \"B\",\n \"step_duration\": 31\n },\n {\n \"batch_id\": \"J8\",\n \"step_index\": 1,\n \"station_id\": \"A\",\n \"step_duration\": 91\n },\n {\n \"batch_id\": \"J8\",\n \"step_index\": 2,\n \"station_id\": \"D\",\n \"step_duration\": 70\n },\n {\n \"batch_id\": \"J8\",\n \"step_index\": 3,\n \"station_id\": \"E\",\n \"step_duration\": 37\n },\n {\n \"batch_id\": \"J8\",\n \"step_index\": 4,\n \"station_id\": \"C\",\n \"step_duration\": 93\n },\n {\n \"batch_id\": \"J9\",\n \"step_index\": 0,\n \"station_id\": \"C\",\n \"step_duration\": 54\n },\n {\n \"batch_id\": \"J9\",\n \"step_index\": 1,\n \"station_id\": \"B\",\n \"step_duration\": 76\n },\n {\n \"batch_id\": \"J9\",\n \"step_index\": 2,\n \"station_id\": \"D\",\n \"step_duration\": 31\n },\n {\n \"batch_id\": \"J9\",\n \"step_index\": 3,\n \"station_id\": \"E\",\n \"step_duration\": 49\n },\n {\n \"batch_id\": \"J9\",\n \"step_index\": 4,\n \"station_id\": \"A\",\n \"step_duration\": 26\n },\n {\n \"batch_id\": \"J10\",\n \"step_index\": 0,\n \"station_id\": \"E\",\n \"step_duration\": 16\n },\n {\n \"batch_id\": \"J10\",\n \"step_index\": 1,\n \"station_id\": \"A\",\n \"step_duration\": 84\n },\n {\n \"batch_id\": \"J10\",\n \"step_index\": 2,\n \"station_id\": \"C\",\n \"step_duration\": 81\n },\n {\n \"batch_id\": \"J10\",\n \"step_index\": 3,\n \"station_id\": \"D\",\n \"step_duration\": 36\n },\n {\n \"batch_id\": \"J10\",\n \"step_index\": 4,\n \"station_id\": \"B\",\n \"step_duration\": 98\n },\n {\n \"batch_id\": \"J11\",\n \"step_index\": 0,\n \"station_id\": \"D\",\n \"step_duration\": 42\n },\n {\n \"batch_id\": \"J11\",\n \"step_index\": 1,\n \"station_id\": \"A\",\n \"step_duration\": 91\n },\n {\n \"batch_id\": \"J11\",\n \"step_index\": 2,\n \"station_id\": \"C\",\n \"step_duration\": 88\n },\n {\n \"batch_id\": \"J11\",\n \"step_index\": 3,\n \"station_id\": \"B\",\n \"step_duration\": 52\n },\n {\n \"batch_id\": \"J11\",\n \"step_index\": 4,\n \"station_id\": \"E\",\n \"step_duration\": 51\n }\n ]\n}\n\nAlso, when you send the actual plan back, please use this simple JSON layout so I can read the schedule easily:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: the top-level \"solution\" is a list of batches (jobs). Each batch lists its tasks in order, and for each task you give the task index (which step it is), the time it starts, what machine it runs on, and how long it takes. Super casual — just fill in the fields for each job.\n\nThis JSON is only a sketch of the shape I expect, not the actual answer. Please make sure you use the exact identifiers from the instance input — do not rename them or invent new labels.\n\nfor example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 1, 1 ], [ 4, 34 ], [ 3, 65 ], [ 2, 56 ], [ 0, 82 ] ], [ [ 3, 55 ], [ 1, 34 ], [ 4, 20 ], [ 0, 23 ], [ 2, 36 ] ], [ [ 3, 23 ], [ 2, 87 ], [ 4, 99 ], [ 1, 46 ], [ 0, 79 ] ], [ [ 4, 61 ], [ 2, 65 ], [ 1, 55 ], [ 0, 23 ], [ 3, 74 ] ], [ [ 3, 64 ], [ 4, 76 ], [ 1, 81 ], [ 2, 7 ], [ 0, 8 ] ], [ [ 4, 41 ], [ 0, 53 ], [ 3, 43 ], [ 1, 54 ], [ 2, 78 ] ], [ [ 4, 63 ], [ 1, 12 ], [ 0, 63 ], [ 2, 37 ], [ 3, 26 ] ], [ [ 1, 31 ], [ 0, 91 ], [ 3, 70 ], [ 4, 37 ], [ 2, 93 ] ], [ [ 2, 54 ], [ 1, 76 ], [ 3, 31 ], [ 4, 49 ], [ 0, 26 ] ], [ [ 4, 16 ], [ 0, 84 ], [ 2, 81 ], [ 3, 36 ], [ 1, 98 ] ], [ [ 3, 42 ], [ 0, 91 ], [ 2, 88 ], [ 1, 52 ], [ 4, 51 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 31, "machine": 1, "duration": 1 }, { "task": 1, "start": 118, "machine": 4, "duration": 34 }, { "task": 2, "start": 184, "machine": 3, "duration": 65 }, { "task": 3, "start": 468, "machine": 2, "duration": 56 }, { "task": 4, "start": 531, "machine": 0, "duration": 82 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 129, "machine": 3, "duration": 55 }, { "task": 1, "start": 184, "machine": 1, "duration": 34 }, { "task": 2, "start": 427, "machine": 4, "duration": 20 }, { "task": 3, "start": 508, "machine": 0, "duration": 23 }, { "task": 4, "start": 646, "machine": 2, "duration": 36 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 23 }, { "task": 1, "start": 54, "machine": 2, "duration": 87 }, { "task": 2, "start": 152, "machine": 4, "duration": 99 }, { "task": 3, "start": 251, "machine": 1, "duration": 46 }, { "task": 4, "start": 335, "machine": 0, "duration": 79 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 16, "machine": 4, "duration": 61 }, { "task": 1, "start": 222, "machine": 2, "duration": 65 }, { "task": 2, "start": 297, "machine": 1, "duration": 55 }, { "task": 3, "start": 414, "machine": 0, "duration": 23 }, { "task": 4, "start": 437, "machine": 3, "duration": 74 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 65, "machine": 3, "duration": 64 }, { "task": 1, "start": 251, "machine": 4, "duration": 76 }, { "task": 2, "start": 352, "machine": 1, "duration": 81 }, { "task": 3, "start": 639, "machine": 2, "duration": 7 }, { "task": 4, "start": 646, "machine": 0, "duration": 8 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 77, "machine": 4, "duration": 41 }, { "task": 1, "start": 282, "machine": 0, "duration": 53 }, { "task": 2, "start": 355, "machine": 3, "duration": 43 }, { "task": 3, "start": 445, "machine": 1, "duration": 54 }, { "task": 4, "start": 524, "machine": 2, "duration": 78 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 364, "machine": 4, "duration": 63 }, { "task": 1, "start": 433, "machine": 1, "duration": 12 }, { "task": 2, "start": 445, "machine": 0, "duration": 63 }, { "task": 3, "start": 602, "machine": 2, "duration": 37 }, { "task": 4, "start": 639, "machine": 3, "duration": 26 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 31 }, { "task": 1, "start": 100, "machine": 0, "duration": 91 }, { "task": 2, "start": 249, "machine": 3, "duration": 70 }, { "task": 3, "start": 327, "machine": 4, "duration": 37 }, { "task": 4, "start": 375, "machine": 2, "duration": 93 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 54 }, { "task": 1, "start": 54, "machine": 1, "duration": 76 }, { "task": 2, "start": 398, "machine": 3, "duration": 31 }, { "task": 3, "start": 447, "machine": 4, "duration": 49 }, { "task": 4, "start": 613, "machine": 0, "duration": 26 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 16 }, { "task": 1, "start": 16, "machine": 0, "duration": 84 }, { "task": 2, "start": 141, "machine": 2, "duration": 81 }, { "task": 3, "start": 319, "machine": 3, "duration": 36 }, { "task": 4, "start": 551, "machine": 1, "duration": 98 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 23, "machine": 3, "duration": 42 }, { "task": 1, "start": 191, "machine": 0, "duration": 91 }, { "task": 2, "start": 287, "machine": 2, "duration": 88 }, { "task": 3, "start": 499, "machine": 1, "duration": 52 }, { "task": 4, "start": 551, "machine": 4, "duration": 51 } ] } ], "obj": 682.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "B", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 34 }, { "job_id": "J1", "task_id": 2, "machine_id": "D", "duration": 65 }, { "job_id": "J1", "task_id": 3, "machine_id": "C", "duration": 56 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 82 }, { "job_id": "J2", "task_id": 0, "machine_id": "D", "duration": 55 }, { "job_id": "J2", "task_id": 1, "machine_id": "B", "duration": 34 }, { "job_id": "J2", "task_id": 2, "machine_id": "E", "duration": 20 }, { "job_id": "J2", "task_id": 3, "machine_id": "A", "duration": 23 }, { "job_id": "J2", "task_id": 4, "machine_id": "C", "duration": 36 }, { "job_id": "J3", "task_id": 0, "machine_id": "D", "duration": 23 }, { "job_id": "J3", "task_id": 1, "machine_id": "C", "duration": 87 }, { "job_id": "J3", "task_id": 2, "machine_id": "E", "duration": 99 }, { "job_id": "J3", "task_id": 3, "machine_id": "B", "duration": 46 }, { "job_id": "J3", "task_id": 4, "machine_id": "A", "duration": 79 }, { "job_id": "J4", "task_id": 0, "machine_id": "E", "duration": 61 }, { "job_id": "J4", "task_id": 1, "machine_id": "C", "duration": 65 }, { "job_id": "J4", "task_id": 2, "machine_id": "B", "duration": 55 }, { "job_id": "J4", "task_id": 3, "machine_id": "A", "duration": 23 }, { "job_id": "J4", "task_id": 4, "machine_id": "D", "duration": 74 }, { "job_id": "J5", "task_id": 0, "machine_id": "D", "duration": 64 }, { "job_id": "J5", "task_id": 1, "machine_id": "E", "duration": 76 }, { "job_id": "J5", "task_id": 2, "machine_id": "B", "duration": 81 }, { "job_id": "J5", "task_id": 3, "machine_id": "C", "duration": 7 }, { "job_id": "J5", "task_id": 4, "machine_id": "A", "duration": 8 }, { "job_id": "J6", "task_id": 0, "machine_id": "E", "duration": 41 }, { "job_id": "J6", "task_id": 1, "machine_id": "A", "duration": 53 }, { "job_id": "J6", "task_id": 2, "machine_id": "D", "duration": 43 }, { "job_id": "J6", "task_id": 3, "machine_id": "B", "duration": 54 }, { "job_id": "J6", "task_id": 4, "machine_id": "C", "duration": 78 }, { "job_id": "J7", "task_id": 0, "machine_id": "E", "duration": 63 }, { "job_id": "J7", "task_id": 1, "machine_id": "B", "duration": 12 }, { "job_id": "J7", "task_id": 2, "machine_id": "A", "duration": 63 }, { "job_id": "J7", "task_id": 3, "machine_id": "C", "duration": 37 }, { "job_id": "J7", "task_id": 4, "machine_id": "D", "duration": 26 }, { "job_id": "J8", "task_id": 0, "machine_id": "B", "duration": 31 }, { "job_id": "J8", "task_id": 1, "machine_id": "A", "duration": 91 }, { "job_id": "J8", "task_id": 2, "machine_id": "D", "duration": 70 }, { "job_id": "J8", "task_id": 3, "machine_id": "E", "duration": 37 }, { "job_id": "J8", "task_id": 4, "machine_id": "C", "duration": 93 }, { "job_id": "J9", "task_id": 0, "machine_id": "C", "duration": 54 }, { "job_id": "J9", "task_id": 1, "machine_id": "B", "duration": 76 }, { "job_id": "J9", "task_id": 2, "machine_id": "D", "duration": 31 }, { "job_id": "J9", "task_id": 3, "machine_id": "E", "duration": 49 }, { "job_id": "J9", "task_id": 4, "machine_id": "A", "duration": 26 }, { "job_id": "J10", "task_id": 0, "machine_id": "E", "duration": 16 }, { "job_id": "J10", "task_id": 1, "machine_id": "A", "duration": 84 }, { "job_id": "J10", "task_id": 2, "machine_id": "C", "duration": 81 }, { "job_id": "J10", "task_id": 3, "machine_id": "D", "duration": 36 }, { "job_id": "J10", "task_id": 4, "machine_id": "B", "duration": 98 }, { "job_id": "J11", "task_id": 0, "machine_id": "D", "duration": 42 }, { "job_id": "J11", "task_id": 1, "machine_id": "A", "duration": 91 }, { "job_id": "J11", "task_id": 2, "machine_id": "C", "duration": 88 }, { "job_id": "J11", "task_id": 3, "machine_id": "B", "duration": 52 }, { "job_id": "J11", "task_id": 4, "machine_id": "E", "duration": 51 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 31, "machine": "B", "duration": 1 }, { "task": 1, "start": 118, "machine": "E", "duration": 34 }, { "task": 2, "start": 184, "machine": "D", "duration": 65 }, { "task": 3, "start": 468, "machine": "C", "duration": 56 }, { "task": 4, "start": 531, "machine": "A", "duration": 82 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 129, "machine": "D", "duration": 55 }, { "task": 1, "start": 184, "machine": "B", "duration": 34 }, { "task": 2, "start": 427, "machine": "E", "duration": 20 }, { "task": 3, "start": 508, "machine": "A", "duration": 23 }, { "task": 4, "start": 646, "machine": "C", "duration": 36 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 23 }, { "task": 1, "start": 54, "machine": "C", "duration": 87 }, { "task": 2, "start": 152, "machine": "E", "duration": 99 }, { "task": 3, "start": 251, "machine": "B", "duration": 46 }, { "task": 4, "start": 335, "machine": "A", "duration": 79 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 16, "machine": "E", "duration": 61 }, { "task": 1, "start": 222, "machine": "C", "duration": 65 }, { "task": 2, "start": 297, "machine": "B", "duration": 55 }, { "task": 3, "start": 414, "machine": "A", "duration": 23 }, { "task": 4, "start": 437, "machine": "D", "duration": 74 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 65, "machine": "D", "duration": 64 }, { "task": 1, "start": 251, "machine": "E", "duration": 76 }, { "task": 2, "start": 352, "machine": "B", "duration": 81 }, { "task": 3, "start": 639, "machine": "C", "duration": 7 }, { "task": 4, "start": 646, "machine": "A", "duration": 8 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 77, "machine": "E", "duration": 41 }, { "task": 1, "start": 282, "machine": "A", "duration": 53 }, { "task": 2, "start": 355, "machine": "D", "duration": 43 }, { "task": 3, "start": 445, "machine": "B", "duration": 54 }, { "task": 4, "start": 524, "machine": "C", "duration": 78 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 364, "machine": "E", "duration": 63 }, { "task": 1, "start": 433, "machine": "B", "duration": 12 }, { "task": 2, "start": 445, "machine": "A", "duration": 63 }, { "task": 3, "start": 602, "machine": "C", "duration": 37 }, { "task": 4, "start": 639, "machine": "D", "duration": 26 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 31 }, { "task": 1, "start": 100, "machine": "A", "duration": 91 }, { "task": 2, "start": 249, "machine": "D", "duration": 70 }, { "task": 3, "start": 327, "machine": "E", "duration": 37 }, { "task": 4, "start": 375, "machine": "C", "duration": 93 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 54 }, { "task": 1, "start": 54, "machine": "B", "duration": 76 }, { "task": 2, "start": 398, "machine": "D", "duration": 31 }, { "task": 3, "start": 447, "machine": "E", "duration": 49 }, { "task": 4, "start": 613, "machine": "A", "duration": 26 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 16 }, { "task": 1, "start": 16, "machine": "A", "duration": 84 }, { "task": 2, "start": 141, "machine": "C", "duration": 81 }, { "task": 3, "start": 319, "machine": "D", "duration": 36 }, { "task": 4, "start": 551, "machine": "B", "duration": 98 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 23, "machine": "D", "duration": 42 }, { "task": 1, "start": 191, "machine": "A", "duration": 91 }, { "task": 2, "start": 287, "machine": "C", "duration": 88 }, { "task": 3, "start": 499, "machine": "B", "duration": 52 }, { "task": 4, "start": 551, "machine": "E", "duration": 51 } ] } ], "context_index": 30, "input_format": "json", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Recently the coordinator was tasked with arranging all class sessions so each class follows its list of sessions in order, every session runs for a fixed period, and no room gets two things at the same time. The aim is practical and simple: make the time when the final session across the school ends as early as possible — for each plan, check when each class ends and take the latest of those times. No session can be left out or duplicated; specific session lengths and room assignments are listed below.\n\n{\n \"total_classes\": 10,\n \"total_rooms\": 5,\n \"class_identifiers\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\"\n ],\n \"room_identifiers\": [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\"\n ],\n \"tasks\": [\n {\n \"class_id\": \"J1\",\n \"session_index\": 0,\n \"room_id\": \"E\",\n \"session_length\": 1\n },\n {\n \"class_id\": \"J1\",\n \"session_index\": 1,\n \"room_id\": \"C\",\n \"session_length\": 47\n },\n {\n \"class_id\": \"J1\",\n \"session_index\": 2,\n \"room_id\": \"B\",\n \"session_length\": 40\n },\n {\n \"class_id\": \"J1\",\n \"session_index\": 3,\n \"room_id\": \"D\",\n \"session_length\": 3\n },\n {\n \"class_id\": \"J1\",\n \"session_index\": 4,\n \"room_id\": \"A\",\n \"session_length\": 36\n },\n {\n \"class_id\": \"J2\",\n \"session_index\": 0,\n \"room_id\": \"E\",\n \"session_length\": 76\n },\n {\n \"class_id\": \"J2\",\n \"session_index\": 1,\n \"room_id\": \"D\",\n \"session_length\": 39\n },\n {\n \"class_id\": \"J2\",\n \"session_index\": 2,\n \"room_id\": \"C\",\n \"session_length\": 87\n },\n {\n \"class_id\": \"J2\",\n \"session_index\": 3,\n \"room_id\": \"B\",\n \"session_length\": 91\n },\n {\n \"class_id\": \"J2\",\n \"session_index\": 4,\n \"room_id\": \"A\",\n \"session_length\": 30\n },\n {\n \"class_id\": \"J3\",\n \"session_index\": 0,\n \"room_id\": \"D\",\n \"session_length\": 61\n },\n {\n \"class_id\": \"J3\",\n \"session_index\": 1,\n \"room_id\": \"C\",\n \"session_length\": 40\n },\n {\n \"class_id\": \"J3\",\n \"session_index\": 2,\n \"room_id\": \"B\",\n \"session_length\": 83\n },\n {\n \"class_id\": \"J3\",\n \"session_index\": 3,\n \"room_id\": \"A\",\n \"session_length\": 49\n },\n {\n \"class_id\": \"J3\",\n \"session_index\": 4,\n \"room_id\": \"E\",\n \"session_length\": 85\n },\n {\n \"class_id\": \"J4\",\n \"session_index\": 0,\n \"room_id\": \"E\",\n \"session_length\": 14\n },\n {\n \"class_id\": \"J4\",\n \"session_index\": 1,\n \"room_id\": \"D\",\n \"session_length\": 32\n },\n {\n \"class_id\": \"J4\",\n \"session_index\": 2,\n \"room_id\": \"B\",\n \"session_length\": 55\n },\n {\n \"class_id\": \"J4\",\n \"session_index\": 3,\n \"room_id\": \"A\",\n \"session_length\": 60\n },\n {\n \"class_id\": \"J4\",\n \"session_index\": 4,\n \"room_id\": \"C\",\n \"session_length\": 81\n },\n {\n \"class_id\": \"J5\",\n \"session_index\": 0,\n \"room_id\": \"B\",\n \"session_length\": 6\n },\n {\n \"class_id\": \"J5\",\n \"session_index\": 1,\n \"room_id\": \"A\",\n \"session_length\": 45\n },\n {\n \"class_id\": \"J5\",\n \"session_index\": 2,\n \"room_id\": \"D\",\n \"session_length\": 41\n },\n {\n \"class_id\": \"J5\",\n \"session_index\": 3,\n \"room_id\": \"C\",\n \"session_length\": 99\n },\n {\n \"class_id\": \"J5\",\n \"session_index\": 4,\n \"room_id\": \"E\",\n \"session_length\": 92\n },\n {\n \"class_id\": \"J6\",\n \"session_index\": 0,\n \"room_id\": \"B\",\n \"session_length\": 93\n },\n {\n \"class_id\": \"J6\",\n \"session_index\": 1,\n \"room_id\": \"C\",\n \"session_length\": 62\n },\n {\n \"class_id\": \"J6\",\n \"session_index\": 2,\n \"room_id\": \"D\",\n \"session_length\": 9\n },\n {\n \"class_id\": \"J6\",\n \"session_index\": 3,\n \"room_id\": \"A\",\n \"session_length\": 95\n },\n {\n \"class_id\": \"J6\",\n \"session_index\": 4,\n \"room_id\": \"E\",\n \"session_length\": 49\n },\n {\n \"class_id\": \"J7\",\n \"session_index\": 0,\n \"room_id\": \"B\",\n \"session_length\": 54\n },\n {\n \"class_id\": \"J7\",\n \"session_index\": 1,\n \"room_id\": \"E\",\n \"session_length\": 87\n },\n {\n \"class_id\": \"J7\",\n \"session_index\": 2,\n \"room_id\": \"D\",\n \"session_length\": 89\n },\n {\n \"class_id\": \"J7\",\n \"session_index\": 3,\n \"room_id\": \"A\",\n \"session_length\": 42\n },\n {\n \"class_id\": \"J7\",\n \"session_index\": 4,\n \"room_id\": \"C\",\n \"session_length\": 99\n },\n {\n \"class_id\": \"J8\",\n \"session_index\": 0,\n \"room_id\": \"A\",\n \"session_length\": 63\n },\n {\n \"class_id\": \"J8\",\n \"session_index\": 1,\n \"room_id\": \"D\",\n \"session_length\": 55\n },\n {\n \"class_id\": \"J8\",\n \"session_index\": 2,\n \"room_id\": \"C\",\n \"session_length\": 46\n },\n {\n \"class_id\": \"J8\",\n \"session_index\": 3,\n \"room_id\": \"B\",\n \"session_length\": 36\n },\n {\n \"class_id\": \"J8\",\n \"session_index\": 4,\n \"room_id\": \"E\",\n \"session_length\": 31\n },\n {\n \"class_id\": \"J9\",\n \"session_index\": 0,\n \"room_id\": \"D\",\n \"session_length\": 78\n },\n {\n \"class_id\": \"J9\",\n \"session_index\": 1,\n \"room_id\": \"B\",\n \"session_length\": 74\n },\n {\n \"class_id\": \"J9\",\n \"session_index\": 2,\n \"room_id\": \"E\",\n \"session_length\": 4\n },\n {\n \"class_id\": \"J9\",\n \"session_index\": 3,\n \"room_id\": \"A\",\n \"session_length\": 24\n },\n {\n \"class_id\": \"J9\",\n \"session_index\": 4,\n \"room_id\": \"C\",\n \"session_length\": 91\n },\n {\n \"class_id\": \"J10\",\n \"session_index\": 0,\n \"room_id\": \"A\",\n \"session_length\": 24\n },\n {\n \"class_id\": \"J10\",\n \"session_index\": 1,\n \"room_id\": \"B\",\n \"session_length\": 48\n },\n {\n \"class_id\": \"J10\",\n \"session_index\": 2,\n \"room_id\": \"D\",\n \"session_length\": 70\n },\n {\n \"class_id\": \"J10\",\n \"session_index\": 3,\n \"room_id\": \"C\",\n \"session_length\": 63\n },\n {\n \"class_id\": \"J10\",\n \"session_index\": 4,\n \"room_id\": \"E\",\n \"session_length\": 42\n }\n ]\n}\n\nAlso, when you send back a plan, please use this JSON layout so it's easy to read and check:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a simple sketch of the shape I expect. Think of it like a form: \"solution\" holds a list of classes; each entry's job is the class identifier, and its tasks list describes each session in order. For each session you give the task index (which session number it is), the start time, which room (machine) it's in, and how long it lasts. The JSON above is an example structure only — not the actual schedule.\n\nPlease make sure to use the identifiers exactly as they appear in the instance input — do not rename them or invent new ones. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 10, "jobs": [ [ [ 4, 1 ], [ 2, 47 ], [ 1, 40 ], [ 3, 3 ], [ 0, 36 ] ], [ [ 4, 76 ], [ 3, 39 ], [ 2, 87 ], [ 1, 91 ], [ 0, 30 ] ], [ [ 3, 61 ], [ 2, 40 ], [ 1, 83 ], [ 0, 49 ], [ 4, 85 ] ], [ [ 4, 14 ], [ 3, 32 ], [ 1, 55 ], [ 0, 60 ], [ 2, 81 ] ], [ [ 1, 6 ], [ 0, 45 ], [ 3, 41 ], [ 2, 99 ], [ 4, 92 ] ], [ [ 1, 93 ], [ 2, 62 ], [ 3, 9 ], [ 0, 95 ], [ 4, 49 ] ], [ [ 1, 54 ], [ 4, 87 ], [ 3, 89 ], [ 0, 42 ], [ 2, 99 ] ], [ [ 0, 63 ], [ 3, 55 ], [ 2, 46 ], [ 1, 36 ], [ 4, 31 ] ], [ [ 3, 78 ], [ 1, 74 ], [ 4, 4 ], [ 0, 24 ], [ 2, 91 ] ], [ [ 0, 24 ], [ 1, 48 ], [ 3, 70 ], [ 2, 63 ], [ 4, 42 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 1, "machine": 2, "duration": 47 }, { "task": 2, "start": 504, "machine": 1, "duration": 40 }, { "task": 3, "start": 544, "machine": 3, "duration": 3 }, { "task": 4, "start": 547, "machine": 0, "duration": 36 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 1, "machine": 4, "duration": 76 }, { "task": 1, "start": 118, "machine": 3, "duration": 39 }, { "task": 2, "start": 163, "machine": 2, "duration": 87 }, { "task": 3, "start": 413, "machine": 1, "duration": 91 }, { "task": 4, "start": 583, "machine": 0, "duration": 30 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 61 }, { "task": 1, "start": 61, "machine": 2, "duration": 40 }, { "task": 2, "start": 153, "machine": 1, "duration": 83 }, { "task": 3, "start": 236, "machine": 0, "duration": 49 }, { "task": 4, "start": 362, "machine": 4, "duration": 85 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 77, "machine": 4, "duration": 14 }, { "task": 1, "start": 285, "machine": 3, "duration": 32 }, { "task": 2, "start": 358, "machine": 1, "duration": 55 }, { "task": 3, "start": 413, "machine": 0, "duration": 60 }, { "task": 4, "start": 648, "machine": 2, "duration": 81 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 93, "machine": 1, "duration": 6 }, { "task": 1, "start": 99, "machine": 0, "duration": 45 }, { "task": 2, "start": 157, "machine": 3, "duration": 41 }, { "task": 3, "start": 250, "machine": 2, "duration": 99 }, { "task": 4, "start": 447, "machine": 4, "duration": 92 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 93 }, { "task": 1, "start": 101, "machine": 2, "duration": 62 }, { "task": 2, "start": 276, "machine": 3, "duration": 9 }, { "task": 3, "start": 285, "machine": 0, "duration": 95 }, { "task": 4, "start": 581, "machine": 4, "duration": 49 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 99, "machine": 1, "duration": 54 }, { "task": 1, "start": 153, "machine": 4, "duration": 87 }, { "task": 2, "start": 387, "machine": 3, "duration": 89 }, { "task": 3, "start": 476, "machine": 0, "duration": 42 }, { "task": 4, "start": 549, "machine": 2, "duration": 99 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 63 }, { "task": 1, "start": 63, "machine": 3, "duration": 55 }, { "task": 2, "start": 349, "machine": 2, "duration": 46 }, { "task": 3, "start": 544, "machine": 1, "duration": 36 }, { "task": 4, "start": 630, "machine": 4, "duration": 31 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 198, "machine": 3, "duration": 78 }, { "task": 1, "start": 284, "machine": 1, "duration": 74 }, { "task": 2, "start": 358, "machine": 4, "duration": 4 }, { "task": 3, "start": 380, "machine": 0, "duration": 24 }, { "task": 4, "start": 458, "machine": 2, "duration": 91 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 63, "machine": 0, "duration": 24 }, { "task": 1, "start": 236, "machine": 1, "duration": 48 }, { "task": 2, "start": 317, "machine": 3, "duration": 70 }, { "task": 3, "start": 395, "machine": 2, "duration": 63 }, { "task": 4, "start": 539, "machine": 4, "duration": 42 } ] } ], "obj": 729.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "E", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "C", "duration": 47 }, { "job_id": "J1", "task_id": 2, "machine_id": "B", "duration": 40 }, { "job_id": "J1", "task_id": 3, "machine_id": "D", "duration": 3 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 36 }, { "job_id": "J2", "task_id": 0, "machine_id": "E", "duration": 76 }, { "job_id": "J2", "task_id": 1, "machine_id": "D", "duration": 39 }, { "job_id": "J2", "task_id": 2, "machine_id": "C", "duration": 87 }, { "job_id": "J2", "task_id": 3, "machine_id": "B", "duration": 91 }, { "job_id": "J2", "task_id": 4, "machine_id": "A", "duration": 30 }, { "job_id": "J3", "task_id": 0, "machine_id": "D", "duration": 61 }, { "job_id": "J3", "task_id": 1, "machine_id": "C", "duration": 40 }, { "job_id": "J3", "task_id": 2, "machine_id": "B", "duration": 83 }, { "job_id": "J3", "task_id": 3, "machine_id": "A", "duration": 49 }, { "job_id": "J3", "task_id": 4, "machine_id": "E", "duration": 85 }, { "job_id": "J4", "task_id": 0, "machine_id": "E", "duration": 14 }, { "job_id": "J4", "task_id": 1, "machine_id": "D", "duration": 32 }, { "job_id": "J4", "task_id": 2, "machine_id": "B", "duration": 55 }, { "job_id": "J4", "task_id": 3, "machine_id": "A", "duration": 60 }, { "job_id": "J4", "task_id": 4, "machine_id": "C", "duration": 81 }, { "job_id": "J5", "task_id": 0, "machine_id": "B", "duration": 6 }, { "job_id": "J5", "task_id": 1, "machine_id": "A", "duration": 45 }, { "job_id": "J5", "task_id": 2, "machine_id": "D", "duration": 41 }, { "job_id": "J5", "task_id": 3, "machine_id": "C", "duration": 99 }, { "job_id": "J5", "task_id": 4, "machine_id": "E", "duration": 92 }, { "job_id": "J6", "task_id": 0, "machine_id": "B", "duration": 93 }, { "job_id": "J6", "task_id": 1, "machine_id": "C", "duration": 62 }, { "job_id": "J6", "task_id": 2, "machine_id": "D", "duration": 9 }, { "job_id": "J6", "task_id": 3, "machine_id": "A", "duration": 95 }, { "job_id": "J6", "task_id": 4, "machine_id": "E", "duration": 49 }, { "job_id": "J7", "task_id": 0, "machine_id": "B", "duration": 54 }, { "job_id": "J7", "task_id": 1, "machine_id": "E", "duration": 87 }, { "job_id": "J7", "task_id": 2, "machine_id": "D", "duration": 89 }, { "job_id": "J7", "task_id": 3, "machine_id": "A", "duration": 42 }, { "job_id": "J7", "task_id": 4, "machine_id": "C", "duration": 99 }, { "job_id": "J8", "task_id": 0, "machine_id": "A", "duration": 63 }, { "job_id": "J8", "task_id": 1, "machine_id": "D", "duration": 55 }, { "job_id": "J8", "task_id": 2, "machine_id": "C", "duration": 46 }, { "job_id": "J8", "task_id": 3, "machine_id": "B", "duration": 36 }, { "job_id": "J8", "task_id": 4, "machine_id": "E", "duration": 31 }, { "job_id": "J9", "task_id": 0, "machine_id": "D", "duration": 78 }, { "job_id": "J9", "task_id": 1, "machine_id": "B", "duration": 74 }, { "job_id": "J9", "task_id": 2, "machine_id": "E", "duration": 4 }, { "job_id": "J9", "task_id": 3, "machine_id": "A", "duration": 24 }, { "job_id": "J9", "task_id": 4, "machine_id": "C", "duration": 91 }, { "job_id": "J10", "task_id": 0, "machine_id": "A", "duration": 24 }, { "job_id": "J10", "task_id": 1, "machine_id": "B", "duration": 48 }, { "job_id": "J10", "task_id": 2, "machine_id": "D", "duration": 70 }, { "job_id": "J10", "task_id": 3, "machine_id": "C", "duration": 63 }, { "job_id": "J10", "task_id": 4, "machine_id": "E", "duration": 42 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 1 }, { "task": 1, "start": 1, "machine": "C", "duration": 47 }, { "task": 2, "start": 504, "machine": "B", "duration": 40 }, { "task": 3, "start": 544, "machine": "D", "duration": 3 }, { "task": 4, "start": 547, "machine": "A", "duration": 36 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 1, "machine": "E", "duration": 76 }, { "task": 1, "start": 118, "machine": "D", "duration": 39 }, { "task": 2, "start": 163, "machine": "C", "duration": 87 }, { "task": 3, "start": 413, "machine": "B", "duration": 91 }, { "task": 4, "start": 583, "machine": "A", "duration": 30 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 61 }, { "task": 1, "start": 61, "machine": "C", "duration": 40 }, { "task": 2, "start": 153, "machine": "B", "duration": 83 }, { "task": 3, "start": 236, "machine": "A", "duration": 49 }, { "task": 4, "start": 362, "machine": "E", "duration": 85 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 77, "machine": "E", "duration": 14 }, { "task": 1, "start": 285, "machine": "D", "duration": 32 }, { "task": 2, "start": 358, "machine": "B", "duration": 55 }, { "task": 3, "start": 413, "machine": "A", "duration": 60 }, { "task": 4, "start": 648, "machine": "C", "duration": 81 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 93, "machine": "B", "duration": 6 }, { "task": 1, "start": 99, "machine": "A", "duration": 45 }, { "task": 2, "start": 157, "machine": "D", "duration": 41 }, { "task": 3, "start": 250, "machine": "C", "duration": 99 }, { "task": 4, "start": 447, "machine": "E", "duration": 92 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 93 }, { "task": 1, "start": 101, "machine": "C", "duration": 62 }, { "task": 2, "start": 276, "machine": "D", "duration": 9 }, { "task": 3, "start": 285, "machine": "A", "duration": 95 }, { "task": 4, "start": 581, "machine": "E", "duration": 49 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 99, "machine": "B", "duration": 54 }, { "task": 1, "start": 153, "machine": "E", "duration": 87 }, { "task": 2, "start": 387, "machine": "D", "duration": 89 }, { "task": 3, "start": 476, "machine": "A", "duration": 42 }, { "task": 4, "start": 549, "machine": "C", "duration": 99 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 63 }, { "task": 1, "start": 63, "machine": "D", "duration": 55 }, { "task": 2, "start": 349, "machine": "C", "duration": 46 }, { "task": 3, "start": 544, "machine": "B", "duration": 36 }, { "task": 4, "start": 630, "machine": "E", "duration": 31 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 198, "machine": "D", "duration": 78 }, { "task": 1, "start": 284, "machine": "B", "duration": 74 }, { "task": 2, "start": 358, "machine": "E", "duration": 4 }, { "task": 3, "start": 380, "machine": "A", "duration": 24 }, { "task": 4, "start": 458, "machine": "C", "duration": 91 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 63, "machine": "A", "duration": 24 }, { "task": 1, "start": 236, "machine": "B", "duration": 48 }, { "task": 2, "start": 317, "machine": "D", "duration": 70 }, { "task": 3, "start": 395, "machine": "C", "duration": 63 }, { "task": 4, "start": 539, "machine": "E", "duration": 42 } ] } ], "context_index": 31, "input_format": "json", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "On a busy morning the radiology scheduler picks start times so every patient’s imaging sequence flows: each scan sits on the scanner it’s supposed to, takes the exact time it needs, follows the previous scan for that patient, and never clashes with another scan on the same machine — success is simply how early the entire set of patients is done, measured by when the last scheduled scan ends. The specific case details are listed below.\n\nThere are 10 patients and 6 scanners; patient IDs: J1, J2, J3, J4, J5, J6, J7, J8, J9, J10; scanner IDs: 0, 1, 2, 3, 4, 5.\n\n| patient_id | scan_sequence_index | scanner_id | scan_duration |\n|---|---|---|---|\n| J1 | 0 | 3 | 1 |\n| J1 | 1 | 1 | 60 |\n| J1 | 2 | 2 | 16 |\n| J1 | 3 | 5 | 48 |\n| J1 | 4 | 4 | 89 |\n| J1 | 5 | 0 | 98 |\n| J2 | 0 | 2 | 43 |\n| J2 | 1 | 5 | 56 |\n| J2 | 2 | 1 | 59 |\n| J2 | 3 | 0 | 24 |\n| J2 | 4 | 4 | 99 |\n| J2 | 5 | 3 | 91 |\n| J3 | 0 | 2 | 66 |\n| J3 | 1 | 3 | 52 |\n| J3 | 2 | 4 | 90 |\n| J3 | 3 | 1 | 67 |\n| J3 | 4 | 5 | 99 |\n| J3 | 5 | 0 | 56 |\n| J4 | 0 | 1 | 98 |\n| J4 | 1 | 3 | 88 |\n| J4 | 2 | 0 | 48 |\n| J4 | 3 | 5 | 14 |\n| J4 | 4 | 2 | 99 |\n| J4 | 5 | 4 | 92 |\n| J5 | 0 | 1 | 77 |\n| J5 | 1 | 5 | 47 |\n| J5 | 2 | 0 | 71 |\n| J5 | 3 | 3 | 73 |\n| J5 | 4 | 4 | 37 |\n| J5 | 5 | 2 | 19 |\n| J6 | 0 | 2 | 45 |\n| J6 | 1 | 0 | 64 |\n| J6 | 2 | 5 | 16 |\n| J6 | 3 | 3 | 47 |\n| J6 | 4 | 1 | 73 |\n| J6 | 5 | 4 | 96 |\n| J7 | 0 | 4 | 19 |\n| J7 | 1 | 1 | 22 |\n| J7 | 2 | 0 | 35 |\n| J7 | 3 | 2 | 67 |\n| J7 | 4 | 5 | 4 |\n| J7 | 5 | 3 | 72 |\n| J8 | 0 | 3 | 75 |\n| J8 | 1 | 0 | 99 |\n| J8 | 2 | 4 | 56 |\n| J8 | 3 | 5 | 31 |\n| J8 | 4 | 2 | 11 |\n| J8 | 5 | 1 | 58 |\n| J9 | 0 | 0 | 90 |\n| J9 | 1 | 5 | 85 |\n| J9 | 2 | 3 | 95 |\n| J9 | 3 | 4 | 87 |\n| J9 | 4 | 1 | 36 |\n| J9 | 5 | 2 | 7 |\n| J10 | 0 | 3 | 23 |\n| J10 | 1 | 1 | 16 |\n| J10 | 2 | 5 | 52 |\n| J10 | 3 | 4 | 53 |\n| J10 | 4 | 2 | 37 |\n| J10 | 5 | 0 | 42 |\n\nThese entries list every required scan so the scheduler can minimize when the last scan finishes.\n\nIf you'd like to return the schedule in a nice, machine-friendly way (and still keep things readable for a human), just follow this simple JSON shape when you reply:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that as a lightweight form: \"solution\" is the list of all jobs (each patient or imaging sequence), each job entry names the job id and then a list of its tasks; each task line says which step it is, when that scan starts, which scanner/machine it uses, and how long it runs. It’s just a sketch of the shape I need, not the actual scheduled times.\n\nPlease make sure to use the exact identifiers from the instance input — no renaming and no new labels. For example:\n- \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 6, "nr_jobs": 10, "jobs": [ [ [ 3, 1 ], [ 1, 60 ], [ 2, 16 ], [ 5, 48 ], [ 4, 89 ], [ 0, 98 ] ], [ [ 2, 43 ], [ 5, 56 ], [ 1, 59 ], [ 0, 24 ], [ 4, 99 ], [ 3, 91 ] ], [ [ 2, 66 ], [ 3, 52 ], [ 4, 90 ], [ 1, 67 ], [ 5, 99 ], [ 0, 56 ] ], [ [ 1, 98 ], [ 3, 88 ], [ 0, 48 ], [ 5, 14 ], [ 2, 99 ], [ 4, 92 ] ], [ [ 1, 77 ], [ 5, 47 ], [ 0, 71 ], [ 3, 73 ], [ 4, 37 ], [ 2, 19 ] ], [ [ 2, 45 ], [ 0, 64 ], [ 5, 16 ], [ 3, 47 ], [ 1, 73 ], [ 4, 96 ] ], [ [ 4, 19 ], [ 1, 22 ], [ 0, 35 ], [ 2, 67 ], [ 5, 4 ], [ 3, 72 ] ], [ [ 3, 75 ], [ 0, 99 ], [ 4, 56 ], [ 5, 31 ], [ 2, 11 ], [ 1, 58 ] ], [ [ 0, 90 ], [ 5, 85 ], [ 3, 95 ], [ 4, 87 ], [ 1, 36 ], [ 2, 7 ] ], [ [ 3, 23 ], [ 1, 16 ], [ 5, 52 ], [ 4, 53 ], [ 2, 37 ], [ 0, 42 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 23, "machine": 3, "duration": 1 }, { "task": 1, "start": 39, "machine": 1, "duration": 60 }, { "task": 2, "start": 109, "machine": 2, "duration": 16 }, { "task": 3, "start": 176, "machine": 5, "duration": 48 }, { "task": 4, "start": 234, "machine": 4, "duration": 89 }, { "task": 5, "start": 511, "machine": 0, "duration": 98 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 66, "machine": 2, "duration": 43 }, { "task": 1, "start": 224, "machine": 5, "duration": 56 }, { "task": 2, "start": 341, "machine": 1, "duration": 59 }, { "task": 3, "start": 404, "machine": 0, "duration": 24 }, { "task": 4, "start": 466, "machine": 4, "duration": 99 }, { "task": 5, "start": 565, "machine": 3, "duration": 91 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 66 }, { "task": 1, "start": 66, "machine": 3, "duration": 52 }, { "task": 2, "start": 144, "machine": 4, "duration": 90 }, { "task": 3, "start": 274, "machine": 1, "duration": 67 }, { "task": 4, "start": 343, "machine": 5, "duration": 99 }, { "task": 5, "start": 609, "machine": 0, "duration": 56 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 99, "machine": 1, "duration": 98 }, { "task": 1, "start": 288, "machine": 3, "duration": 88 }, { "task": 2, "start": 428, "machine": 0, "duration": 48 }, { "task": 3, "start": 497, "machine": 5, "duration": 14 }, { "task": 4, "start": 511, "machine": 2, "duration": 99 }, { "task": 5, "start": 698, "machine": 4, "duration": 92 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 197, "machine": 1, "duration": 77 }, { "task": 1, "start": 280, "machine": 5, "duration": 47 }, { "task": 2, "start": 333, "machine": 0, "duration": 71 }, { "task": 3, "start": 423, "machine": 3, "duration": 73 }, { "task": 4, "start": 661, "machine": 4, "duration": 37 }, { "task": 5, "start": 698, "machine": 2, "duration": 19 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 125, "machine": 2, "duration": 45 }, { "task": 1, "start": 170, "machine": 0, "duration": 64 }, { "task": 2, "start": 327, "machine": 5, "duration": 16 }, { "task": 3, "start": 376, "machine": 3, "duration": 47 }, { "task": 4, "start": 458, "machine": 1, "duration": 73 }, { "task": 5, "start": 565, "machine": 4, "duration": 96 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 19 }, { "task": 1, "start": 400, "machine": 1, "duration": 22 }, { "task": 2, "start": 476, "machine": 0, "duration": 35 }, { "task": 3, "start": 610, "machine": 2, "duration": 67 }, { "task": 4, "start": 677, "machine": 5, "duration": 4 }, { "task": 5, "start": 681, "machine": 3, "duration": 72 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 118, "machine": 3, "duration": 75 }, { "task": 1, "start": 234, "machine": 0, "duration": 99 }, { "task": 2, "start": 410, "machine": 4, "duration": 56 }, { "task": 3, "start": 466, "machine": 5, "duration": 31 }, { "task": 4, "start": 497, "machine": 2, "duration": 11 }, { "task": 5, "start": 531, "machine": 1, "duration": 58 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 90 }, { "task": 1, "start": 91, "machine": 5, "duration": 85 }, { "task": 2, "start": 193, "machine": 3, "duration": 95 }, { "task": 3, "start": 323, "machine": 4, "duration": 87 }, { "task": 4, "start": 422, "machine": 1, "duration": 36 }, { "task": 5, "start": 458, "machine": 2, "duration": 7 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 23 }, { "task": 1, "start": 23, "machine": 1, "duration": 16 }, { "task": 2, "start": 39, "machine": 5, "duration": 52 }, { "task": 3, "start": 91, "machine": 4, "duration": 53 }, { "task": 4, "start": 170, "machine": 2, "duration": 37 }, { "task": 5, "start": 665, "machine": 0, "duration": 42 } ] } ], "obj": 790.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ 0, 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 1, "duration": 60 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 16 }, { "job_id": "J1", "task_id": 3, "machine_id": 5, "duration": 48 }, { "job_id": "J1", "task_id": 4, "machine_id": 4, "duration": 89 }, { "job_id": "J1", "task_id": 5, "machine_id": 0, "duration": 98 }, { "job_id": "J2", "task_id": 0, "machine_id": 2, "duration": 43 }, { "job_id": "J2", "task_id": 1, "machine_id": 5, "duration": 56 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 59 }, { "job_id": "J2", "task_id": 3, "machine_id": 0, "duration": 24 }, { "job_id": "J2", "task_id": 4, "machine_id": 4, "duration": 99 }, { "job_id": "J2", "task_id": 5, "machine_id": 3, "duration": 91 }, { "job_id": "J3", "task_id": 0, "machine_id": 2, "duration": 66 }, { "job_id": "J3", "task_id": 1, "machine_id": 3, "duration": 52 }, { "job_id": "J3", "task_id": 2, "machine_id": 4, "duration": 90 }, { "job_id": "J3", "task_id": 3, "machine_id": 1, "duration": 67 }, { "job_id": "J3", "task_id": 4, "machine_id": 5, "duration": 99 }, { "job_id": "J3", "task_id": 5, "machine_id": 0, "duration": 56 }, { "job_id": "J4", "task_id": 0, "machine_id": 1, "duration": 98 }, { "job_id": "J4", "task_id": 1, "machine_id": 3, "duration": 88 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 48 }, { "job_id": "J4", "task_id": 3, "machine_id": 5, "duration": 14 }, { "job_id": "J4", "task_id": 4, "machine_id": 2, "duration": 99 }, { "job_id": "J4", "task_id": 5, "machine_id": 4, "duration": 92 }, { "job_id": "J5", "task_id": 0, "machine_id": 1, "duration": 77 }, { "job_id": "J5", "task_id": 1, "machine_id": 5, "duration": 47 }, { "job_id": "J5", "task_id": 2, "machine_id": 0, "duration": 71 }, { "job_id": "J5", "task_id": 3, "machine_id": 3, "duration": 73 }, { "job_id": "J5", "task_id": 4, "machine_id": 4, "duration": 37 }, { "job_id": "J5", "task_id": 5, "machine_id": 2, "duration": 19 }, { "job_id": "J6", "task_id": 0, "machine_id": 2, "duration": 45 }, { "job_id": "J6", "task_id": 1, "machine_id": 0, "duration": 64 }, { "job_id": "J6", "task_id": 2, "machine_id": 5, "duration": 16 }, { "job_id": "J6", "task_id": 3, "machine_id": 3, "duration": 47 }, { "job_id": "J6", "task_id": 4, "machine_id": 1, "duration": 73 }, { "job_id": "J6", "task_id": 5, "machine_id": 4, "duration": 96 }, { "job_id": "J7", "task_id": 0, "machine_id": 4, "duration": 19 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 22 }, { "job_id": "J7", "task_id": 2, "machine_id": 0, "duration": 35 }, { "job_id": "J7", "task_id": 3, "machine_id": 2, "duration": 67 }, { "job_id": "J7", "task_id": 4, "machine_id": 5, "duration": 4 }, { "job_id": "J7", "task_id": 5, "machine_id": 3, "duration": 72 }, { "job_id": "J8", "task_id": 0, "machine_id": 3, "duration": 75 }, { "job_id": "J8", "task_id": 1, "machine_id": 0, "duration": 99 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 56 }, { "job_id": "J8", "task_id": 3, "machine_id": 5, "duration": 31 }, { "job_id": "J8", "task_id": 4, "machine_id": 2, "duration": 11 }, { "job_id": "J8", "task_id": 5, "machine_id": 1, "duration": 58 }, { "job_id": "J9", "task_id": 0, "machine_id": 0, "duration": 90 }, { "job_id": "J9", "task_id": 1, "machine_id": 5, "duration": 85 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 95 }, { "job_id": "J9", "task_id": 3, "machine_id": 4, "duration": 87 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 36 }, { "job_id": "J9", "task_id": 5, "machine_id": 2, "duration": 7 }, { "job_id": "J10", "task_id": 0, "machine_id": 3, "duration": 23 }, { "job_id": "J10", "task_id": 1, "machine_id": 1, "duration": 16 }, { "job_id": "J10", "task_id": 2, "machine_id": 5, "duration": 52 }, { "job_id": "J10", "task_id": 3, "machine_id": 4, "duration": 53 }, { "job_id": "J10", "task_id": 4, "machine_id": 2, "duration": 37 }, { "job_id": "J10", "task_id": 5, "machine_id": 0, "duration": 42 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 23, "machine": 3, "duration": 1 }, { "task": 1, "start": 39, "machine": 1, "duration": 60 }, { "task": 2, "start": 109, "machine": 2, "duration": 16 }, { "task": 3, "start": 176, "machine": 5, "duration": 48 }, { "task": 4, "start": 234, "machine": 4, "duration": 89 }, { "task": 5, "start": 511, "machine": 0, "duration": 98 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 66, "machine": 2, "duration": 43 }, { "task": 1, "start": 224, "machine": 5, "duration": 56 }, { "task": 2, "start": 341, "machine": 1, "duration": 59 }, { "task": 3, "start": 404, "machine": 0, "duration": 24 }, { "task": 4, "start": 466, "machine": 4, "duration": 99 }, { "task": 5, "start": 565, "machine": 3, "duration": 91 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 66 }, { "task": 1, "start": 66, "machine": 3, "duration": 52 }, { "task": 2, "start": 144, "machine": 4, "duration": 90 }, { "task": 3, "start": 274, "machine": 1, "duration": 67 }, { "task": 4, "start": 343, "machine": 5, "duration": 99 }, { "task": 5, "start": 609, "machine": 0, "duration": 56 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 99, "machine": 1, "duration": 98 }, { "task": 1, "start": 288, "machine": 3, "duration": 88 }, { "task": 2, "start": 428, "machine": 0, "duration": 48 }, { "task": 3, "start": 497, "machine": 5, "duration": 14 }, { "task": 4, "start": 511, "machine": 2, "duration": 99 }, { "task": 5, "start": 698, "machine": 4, "duration": 92 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 197, "machine": 1, "duration": 77 }, { "task": 1, "start": 280, "machine": 5, "duration": 47 }, { "task": 2, "start": 333, "machine": 0, "duration": 71 }, { "task": 3, "start": 423, "machine": 3, "duration": 73 }, { "task": 4, "start": 661, "machine": 4, "duration": 37 }, { "task": 5, "start": 698, "machine": 2, "duration": 19 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 125, "machine": 2, "duration": 45 }, { "task": 1, "start": 170, "machine": 0, "duration": 64 }, { "task": 2, "start": 327, "machine": 5, "duration": 16 }, { "task": 3, "start": 376, "machine": 3, "duration": 47 }, { "task": 4, "start": 458, "machine": 1, "duration": 73 }, { "task": 5, "start": 565, "machine": 4, "duration": 96 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 19 }, { "task": 1, "start": 400, "machine": 1, "duration": 22 }, { "task": 2, "start": 476, "machine": 0, "duration": 35 }, { "task": 3, "start": 610, "machine": 2, "duration": 67 }, { "task": 4, "start": 677, "machine": 5, "duration": 4 }, { "task": 5, "start": 681, "machine": 3, "duration": 72 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 118, "machine": 3, "duration": 75 }, { "task": 1, "start": 234, "machine": 0, "duration": 99 }, { "task": 2, "start": 410, "machine": 4, "duration": 56 }, { "task": 3, "start": 466, "machine": 5, "duration": 31 }, { "task": 4, "start": 497, "machine": 2, "duration": 11 }, { "task": 5, "start": 531, "machine": 1, "duration": 58 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 90 }, { "task": 1, "start": 91, "machine": 5, "duration": 85 }, { "task": 2, "start": 193, "machine": 3, "duration": 95 }, { "task": 3, "start": 323, "machine": 4, "duration": 87 }, { "task": 4, "start": 422, "machine": 1, "duration": 36 }, { "task": 5, "start": 458, "machine": 2, "duration": 7 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 23 }, { "task": 1, "start": 23, "machine": 1, "duration": 16 }, { "task": 2, "start": 39, "machine": 5, "duration": 52 }, { "task": 3, "start": 91, "machine": 4, "duration": 53 }, { "task": 4, "start": 170, "machine": 2, "duration": 37 }, { "task": 5, "start": 665, "machine": 0, "duration": 42 } ] } ], "context_index": 32, "input_format": "markdown_table", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "There’s a small studio where projects must pass through editing, then color grading, then sound mixing, and those three steps are fixed for every project. The task at hand is to assign start times on the proper workstations so each step takes its allotted time, no workstation is double-booked, and every step happens exactly once in order. The goal is to bring the time when the very last project finishes as low as possible — compute each project’s finish time and the schedule’s result is the latest finish among them. The exact list of projects and durations appears below.\n\nInstance: 12 projects, 6 workstations; project IDs J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12; workstation IDs A, B, C, D, E, F.\n\n| project_id | step_index | workstation_id | processing_duration |\n|---|---|---|---|\n| J1 | 0 | C | 1 |\n| J1 | 1 | E | 73 |\n| J1 | 2 | B | 91 |\n| J1 | 3 | D | 94 |\n| J1 | 4 | F | 43 |\n| J1 | 5 | A | 21 |\n| J2 | 0 | B | 48 |\n| J2 | 1 | C | 24 |\n| J2 | 2 | A | 27 |\n| J2 | 3 | D | 17 |\n| J2 | 4 | F | 38 |\n| J2 | 5 | E | 44 |\n| J3 | 0 | F | 49 |\n| J3 | 1 | B | 56 |\n| J3 | 2 | E | 95 |\n| J3 | 3 | A | 20 |\n| J3 | 4 | D | 66 |\n| J3 | 5 | C | 57 |\n| J4 | 0 | D | 37 |\n| J4 | 1 | E | 94 |\n| J4 | 2 | F | 89 |\n| J4 | 3 | C | 82 |\n| J4 | 4 | A | 58 |\n| J4 | 5 | B | 85 |\n| J5 | 0 | D | 62 |\n| J5 | 1 | F | 99 |\n| J5 | 2 | A | 80 |\n| J5 | 3 | B | 39 |\n| J5 | 4 | C | 78 |\n| J5 | 5 | E | 88 |\n| J6 | 0 | A | 37 |\n| J6 | 1 | F | 40 |\n| J6 | 2 | D | 42 |\n| J6 | 3 | E | 51 |\n| J6 | 4 | C | 47 |\n| J6 | 5 | B | 29 |\n| J7 | 0 | E | 81 |\n| J7 | 1 | C | 97 |\n| J7 | 2 | A | 34 |\n| J7 | 3 | F | 4 |\n| J7 | 4 | B | 28 |\n| J7 | 5 | D | 71 |\n| J8 | 0 | E | 48 |\n| J8 | 1 | F | 75 |\n| J8 | 2 | C | 22 |\n| J8 | 3 | A | 38 |\n| J8 | 4 | B | 74 |\n| J8 | 5 | D | 47 |\n| J9 | 0 | F | 18 |\n| J9 | 1 | C | 30 |\n| J9 | 2 | D | 72 |\n| J9 | 3 | A | 35 |\n| J9 | 4 | B | 59 |\n| J9 | 5 | E | 34 |\n| J10 | 0 | F | 58 |\n| J10 | 1 | D | 32 |\n| J10 | 2 | E | 1 |\n| J10 | 3 | C | 43 |\n| J10 | 4 | A | 28 |\n| J10 | 5 | B | 48 |\n| J11 | 0 | C | 94 |\n| J11 | 1 | A | 34 |\n| J11 | 2 | F | 21 |\n| J11 | 3 | B | 61 |\n| J11 | 4 | D | 2 |\n| J11 | 5 | E | 55 |\n| J12 | 0 | F | 69 |\n| J12 | 1 | E | 71 |\n| J12 | 2 | B | 14 |\n| J12 | 3 | D | 46 |\n| J12 | 4 | A | 6 |\n| J12 | 5 | C | 43 |\n\nPlace each step so every task occurs once in order and the latest project finish is minimized.\n\nAlso, I'll return the schedule in a simple JSON shape so it's easy to check or load into other tools. Something like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it as a little form: each top-level entry is a project (\"job\"), and inside you list its ordered steps (\"tasks\"). For each step you say which step number it is (\"task\"), when it starts (\"start\"), which workstation it uses (\"machine\"), and how long it runs (\"duration\"). This block is just a sketch of the expected shape — I’ll fill in the actual numbers and IDs for the instance itself.\n\nPlease keep all job and machine identifiers exactly as they appear in the instance input — no renaming and no new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 2, 1 ], [ 4, 73 ], [ 1, 91 ], [ 3, 94 ], [ 5, 43 ], [ 0, 21 ] ], [ [ 1, 48 ], [ 2, 24 ], [ 0, 27 ], [ 3, 17 ], [ 5, 38 ], [ 4, 44 ] ], [ [ 5, 49 ], [ 1, 56 ], [ 4, 95 ], [ 0, 20 ], [ 3, 66 ], [ 2, 57 ] ], [ [ 3, 37 ], [ 4, 94 ], [ 5, 89 ], [ 2, 82 ], [ 0, 58 ], [ 1, 85 ] ], [ [ 3, 62 ], [ 5, 99 ], [ 0, 80 ], [ 1, 39 ], [ 2, 78 ], [ 4, 88 ] ], [ [ 0, 37 ], [ 5, 40 ], [ 3, 42 ], [ 4, 51 ], [ 2, 47 ], [ 1, 29 ] ], [ [ 4, 81 ], [ 2, 97 ], [ 0, 34 ], [ 5, 4 ], [ 1, 28 ], [ 3, 71 ] ], [ [ 4, 48 ], [ 5, 75 ], [ 2, 22 ], [ 0, 38 ], [ 1, 74 ], [ 3, 47 ] ], [ [ 5, 18 ], [ 2, 30 ], [ 3, 72 ], [ 0, 35 ], [ 1, 59 ], [ 4, 34 ] ], [ [ 5, 58 ], [ 3, 32 ], [ 4, 1 ], [ 2, 43 ], [ 0, 28 ], [ 1, 48 ] ], [ [ 2, 94 ], [ 0, 34 ], [ 5, 21 ], [ 1, 61 ], [ 3, 2 ], [ 4, 55 ] ], [ [ 5, 69 ], [ 4, 71 ], [ 1, 14 ], [ 3, 46 ], [ 0, 6 ], [ 2, 43 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 1 }, { "task": 1, "start": 81, "machine": 4, "duration": 73 }, { "task": 2, "start": 154, "machine": 1, "duration": 91 }, { "task": 3, "start": 365, "machine": 3, "duration": 94 }, { "task": 4, "start": 560, "machine": 5, "duration": 43 }, { "task": 5, "start": 641, "machine": 0, "duration": 21 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 48 }, { "task": 1, "start": 95, "machine": 2, "duration": 24 }, { "task": 2, "start": 129, "machine": 0, "duration": 27 }, { "task": 3, "start": 221, "machine": 3, "duration": 17 }, { "task": 4, "start": 501, "machine": 5, "duration": 38 }, { "task": 5, "start": 602, "machine": 4, "duration": 44 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 18, "machine": 5, "duration": 49 }, { "task": 1, "start": 67, "machine": 1, "duration": 56 }, { "task": 2, "start": 419, "machine": 4, "duration": 95 }, { "task": 3, "start": 526, "machine": 0, "duration": 20 }, { "task": 4, "start": 578, "machine": 3, "duration": 66 }, { "task": 5, "start": 647, "machine": 2, "duration": 57 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 62, "machine": 3, "duration": 37 }, { "task": 1, "start": 154, "machine": 4, "duration": 94 }, { "task": 2, "start": 412, "machine": 5, "duration": 89 }, { "task": 3, "start": 501, "machine": 2, "duration": 82 }, { "task": 4, "start": 583, "machine": 0, "duration": 58 }, { "task": 5, "start": 646, "machine": 1, "duration": 85 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 62 }, { "task": 1, "start": 67, "machine": 5, "duration": 99 }, { "task": 2, "start": 166, "machine": 0, "duration": 80 }, { "task": 3, "start": 246, "machine": 1, "duration": 39 }, { "task": 4, "start": 285, "machine": 2, "duration": 78 }, { "task": 5, "start": 514, "machine": 4, "duration": 88 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 37 }, { "task": 1, "start": 166, "machine": 5, "duration": 40 }, { "task": 2, "start": 238, "machine": 3, "duration": 42 }, { "task": 3, "start": 296, "machine": 4, "duration": 51 }, { "task": 4, "start": 434, "machine": 2, "duration": 47 }, { "task": 5, "start": 482, "machine": 1, "duration": 29 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 81 }, { "task": 1, "start": 149, "machine": 2, "duration": 97 }, { "task": 2, "start": 281, "machine": 0, "duration": 34 }, { "task": 3, "start": 333, "machine": 5, "duration": 4 }, { "task": 4, "start": 358, "machine": 1, "duration": 28 }, { "task": 5, "start": 507, "machine": 3, "duration": 71 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 248, "machine": 4, "duration": 48 }, { "task": 1, "start": 337, "machine": 5, "duration": 75 }, { "task": 2, "start": 412, "machine": 2, "duration": 22 }, { "task": 3, "start": 434, "machine": 0, "duration": 38 }, { "task": 4, "start": 511, "machine": 1, "duration": 74 }, { "task": 5, "start": 648, "machine": 3, "duration": 47 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 18 }, { "task": 1, "start": 119, "machine": 2, "duration": 30 }, { "task": 2, "start": 149, "machine": 3, "duration": 72 }, { "task": 3, "start": 246, "machine": 0, "duration": 35 }, { "task": 4, "start": 285, "machine": 1, "duration": 59 }, { "task": 5, "start": 646, "machine": 4, "duration": 34 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 206, "machine": 5, "duration": 58 }, { "task": 1, "start": 280, "machine": 3, "duration": 32 }, { "task": 2, "start": 347, "machine": 4, "duration": 1 }, { "task": 3, "start": 363, "machine": 2, "duration": 43 }, { "task": 4, "start": 406, "machine": 0, "duration": 28 }, { "task": 5, "start": 434, "machine": 1, "duration": 48 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 1, "machine": 2, "duration": 94 }, { "task": 1, "start": 95, "machine": 0, "duration": 34 }, { "task": 2, "start": 539, "machine": 5, "duration": 21 }, { "task": 3, "start": 585, "machine": 1, "duration": 61 }, { "task": 4, "start": 646, "machine": 3, "duration": 2 }, { "task": 5, "start": 680, "machine": 4, "duration": 55 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 264, "machine": 5, "duration": 69 }, { "task": 1, "start": 348, "machine": 4, "duration": 71 }, { "task": 2, "start": 419, "machine": 1, "duration": 14 }, { "task": 3, "start": 459, "machine": 3, "duration": 46 }, { "task": 4, "start": 505, "machine": 0, "duration": 6 }, { "task": 5, "start": 604, "machine": 2, "duration": 43 } ] } ], "obj": 735.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "C", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 73 }, { "job_id": "J1", "task_id": 2, "machine_id": "B", "duration": 91 }, { "job_id": "J1", "task_id": 3, "machine_id": "D", "duration": 94 }, { "job_id": "J1", "task_id": 4, "machine_id": "F", "duration": 43 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 21 }, { "job_id": "J2", "task_id": 0, "machine_id": "B", "duration": 48 }, { "job_id": "J2", "task_id": 1, "machine_id": "C", "duration": 24 }, { "job_id": "J2", "task_id": 2, "machine_id": "A", "duration": 27 }, { "job_id": "J2", "task_id": 3, "machine_id": "D", "duration": 17 }, { "job_id": "J2", "task_id": 4, "machine_id": "F", "duration": 38 }, { "job_id": "J2", "task_id": 5, "machine_id": "E", "duration": 44 }, { "job_id": "J3", "task_id": 0, "machine_id": "F", "duration": 49 }, { "job_id": "J3", "task_id": 1, "machine_id": "B", "duration": 56 }, { "job_id": "J3", "task_id": 2, "machine_id": "E", "duration": 95 }, { "job_id": "J3", "task_id": 3, "machine_id": "A", "duration": 20 }, { "job_id": "J3", "task_id": 4, "machine_id": "D", "duration": 66 }, { "job_id": "J3", "task_id": 5, "machine_id": "C", "duration": 57 }, { "job_id": "J4", "task_id": 0, "machine_id": "D", "duration": 37 }, { "job_id": "J4", "task_id": 1, "machine_id": "E", "duration": 94 }, { "job_id": "J4", "task_id": 2, "machine_id": "F", "duration": 89 }, { "job_id": "J4", "task_id": 3, "machine_id": "C", "duration": 82 }, { "job_id": "J4", "task_id": 4, "machine_id": "A", "duration": 58 }, { "job_id": "J4", "task_id": 5, "machine_id": "B", "duration": 85 }, { "job_id": "J5", "task_id": 0, "machine_id": "D", "duration": 62 }, { "job_id": "J5", "task_id": 1, "machine_id": "F", "duration": 99 }, { "job_id": "J5", "task_id": 2, "machine_id": "A", "duration": 80 }, { "job_id": "J5", "task_id": 3, "machine_id": "B", "duration": 39 }, { "job_id": "J5", "task_id": 4, "machine_id": "C", "duration": 78 }, { "job_id": "J5", "task_id": 5, "machine_id": "E", "duration": 88 }, { "job_id": "J6", "task_id": 0, "machine_id": "A", "duration": 37 }, { "job_id": "J6", "task_id": 1, "machine_id": "F", "duration": 40 }, { "job_id": "J6", "task_id": 2, "machine_id": "D", "duration": 42 }, { "job_id": "J6", "task_id": 3, "machine_id": "E", "duration": 51 }, { "job_id": "J6", "task_id": 4, "machine_id": "C", "duration": 47 }, { "job_id": "J6", "task_id": 5, "machine_id": "B", "duration": 29 }, { "job_id": "J7", "task_id": 0, "machine_id": "E", "duration": 81 }, { "job_id": "J7", "task_id": 1, "machine_id": "C", "duration": 97 }, { "job_id": "J7", "task_id": 2, "machine_id": "A", "duration": 34 }, { "job_id": "J7", "task_id": 3, "machine_id": "F", "duration": 4 }, { "job_id": "J7", "task_id": 4, "machine_id": "B", "duration": 28 }, { "job_id": "J7", "task_id": 5, "machine_id": "D", "duration": 71 }, { "job_id": "J8", "task_id": 0, "machine_id": "E", "duration": 48 }, { "job_id": "J8", "task_id": 1, "machine_id": "F", "duration": 75 }, { "job_id": "J8", "task_id": 2, "machine_id": "C", "duration": 22 }, { "job_id": "J8", "task_id": 3, "machine_id": "A", "duration": 38 }, { "job_id": "J8", "task_id": 4, "machine_id": "B", "duration": 74 }, { "job_id": "J8", "task_id": 5, "machine_id": "D", "duration": 47 }, { "job_id": "J9", "task_id": 0, "machine_id": "F", "duration": 18 }, { "job_id": "J9", "task_id": 1, "machine_id": "C", "duration": 30 }, { "job_id": "J9", "task_id": 2, "machine_id": "D", "duration": 72 }, { "job_id": "J9", "task_id": 3, "machine_id": "A", "duration": 35 }, { "job_id": "J9", "task_id": 4, "machine_id": "B", "duration": 59 }, { "job_id": "J9", "task_id": 5, "machine_id": "E", "duration": 34 }, { "job_id": "J10", "task_id": 0, "machine_id": "F", "duration": 58 }, { "job_id": "J10", "task_id": 1, "machine_id": "D", "duration": 32 }, { "job_id": "J10", "task_id": 2, "machine_id": "E", "duration": 1 }, { "job_id": "J10", "task_id": 3, "machine_id": "C", "duration": 43 }, { "job_id": "J10", "task_id": 4, "machine_id": "A", "duration": 28 }, { "job_id": "J10", "task_id": 5, "machine_id": "B", "duration": 48 }, { "job_id": "J11", "task_id": 0, "machine_id": "C", "duration": 94 }, { "job_id": "J11", "task_id": 1, "machine_id": "A", "duration": 34 }, { "job_id": "J11", "task_id": 2, "machine_id": "F", "duration": 21 }, { "job_id": "J11", "task_id": 3, "machine_id": "B", "duration": 61 }, { "job_id": "J11", "task_id": 4, "machine_id": "D", "duration": 2 }, { "job_id": "J11", "task_id": 5, "machine_id": "E", "duration": 55 }, { "job_id": "J12", "task_id": 0, "machine_id": "F", "duration": 69 }, { "job_id": "J12", "task_id": 1, "machine_id": "E", "duration": 71 }, { "job_id": "J12", "task_id": 2, "machine_id": "B", "duration": 14 }, { "job_id": "J12", "task_id": 3, "machine_id": "D", "duration": 46 }, { "job_id": "J12", "task_id": 4, "machine_id": "A", "duration": 6 }, { "job_id": "J12", "task_id": 5, "machine_id": "C", "duration": 43 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 1 }, { "task": 1, "start": 81, "machine": "E", "duration": 73 }, { "task": 2, "start": 154, "machine": "B", "duration": 91 }, { "task": 3, "start": 365, "machine": "D", "duration": 94 }, { "task": 4, "start": 560, "machine": "F", "duration": 43 }, { "task": 5, "start": 641, "machine": "A", "duration": 21 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 48 }, { "task": 1, "start": 95, "machine": "C", "duration": 24 }, { "task": 2, "start": 129, "machine": "A", "duration": 27 }, { "task": 3, "start": 221, "machine": "D", "duration": 17 }, { "task": 4, "start": 501, "machine": "F", "duration": 38 }, { "task": 5, "start": 602, "machine": "E", "duration": 44 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 18, "machine": "F", "duration": 49 }, { "task": 1, "start": 67, "machine": "B", "duration": 56 }, { "task": 2, "start": 419, "machine": "E", "duration": 95 }, { "task": 3, "start": 526, "machine": "A", "duration": 20 }, { "task": 4, "start": 578, "machine": "D", "duration": 66 }, { "task": 5, "start": 647, "machine": "C", "duration": 57 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 62, "machine": "D", "duration": 37 }, { "task": 1, "start": 154, "machine": "E", "duration": 94 }, { "task": 2, "start": 412, "machine": "F", "duration": 89 }, { "task": 3, "start": 501, "machine": "C", "duration": 82 }, { "task": 4, "start": 583, "machine": "A", "duration": 58 }, { "task": 5, "start": 646, "machine": "B", "duration": 85 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 62 }, { "task": 1, "start": 67, "machine": "F", "duration": 99 }, { "task": 2, "start": 166, "machine": "A", "duration": 80 }, { "task": 3, "start": 246, "machine": "B", "duration": 39 }, { "task": 4, "start": 285, "machine": "C", "duration": 78 }, { "task": 5, "start": 514, "machine": "E", "duration": 88 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 37 }, { "task": 1, "start": 166, "machine": "F", "duration": 40 }, { "task": 2, "start": 238, "machine": "D", "duration": 42 }, { "task": 3, "start": 296, "machine": "E", "duration": 51 }, { "task": 4, "start": 434, "machine": "C", "duration": 47 }, { "task": 5, "start": 482, "machine": "B", "duration": 29 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 81 }, { "task": 1, "start": 149, "machine": "C", "duration": 97 }, { "task": 2, "start": 281, "machine": "A", "duration": 34 }, { "task": 3, "start": 333, "machine": "F", "duration": 4 }, { "task": 4, "start": 358, "machine": "B", "duration": 28 }, { "task": 5, "start": 507, "machine": "D", "duration": 71 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 248, "machine": "E", "duration": 48 }, { "task": 1, "start": 337, "machine": "F", "duration": 75 }, { "task": 2, "start": 412, "machine": "C", "duration": 22 }, { "task": 3, "start": 434, "machine": "A", "duration": 38 }, { "task": 4, "start": 511, "machine": "B", "duration": 74 }, { "task": 5, "start": 648, "machine": "D", "duration": 47 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": "F", "duration": 18 }, { "task": 1, "start": 119, "machine": "C", "duration": 30 }, { "task": 2, "start": 149, "machine": "D", "duration": 72 }, { "task": 3, "start": 246, "machine": "A", "duration": 35 }, { "task": 4, "start": 285, "machine": "B", "duration": 59 }, { "task": 5, "start": 646, "machine": "E", "duration": 34 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 206, "machine": "F", "duration": 58 }, { "task": 1, "start": 280, "machine": "D", "duration": 32 }, { "task": 2, "start": 347, "machine": "E", "duration": 1 }, { "task": 3, "start": 363, "machine": "C", "duration": 43 }, { "task": 4, "start": 406, "machine": "A", "duration": 28 }, { "task": 5, "start": 434, "machine": "B", "duration": 48 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 1, "machine": "C", "duration": 94 }, { "task": 1, "start": 95, "machine": "A", "duration": 34 }, { "task": 2, "start": 539, "machine": "F", "duration": 21 }, { "task": 3, "start": 585, "machine": "B", "duration": 61 }, { "task": 4, "start": 646, "machine": "D", "duration": 2 }, { "task": 5, "start": 680, "machine": "E", "duration": 55 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 264, "machine": "F", "duration": 69 }, { "task": 1, "start": 348, "machine": "E", "duration": 71 }, { "task": 2, "start": 419, "machine": "B", "duration": 14 }, { "task": 3, "start": 459, "machine": "D", "duration": 46 }, { "task": 4, "start": 505, "machine": "A", "duration": 6 }, { "task": 5, "start": 604, "machine": "C", "duration": 43 } ] } ], "context_index": 33, "input_format": "markdown_table", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "There’s a pile of bookings with each client asking for a string of photos and then retouches, and it’s up to the studio to slot those tasks into the available sets and editing stations. Each item in a session needs a dedicated space for a fixed stretch, the steps must be done in order, and no set or station can handle two things at the same time — everything must be scheduled once, no repeats. The way to tell which schedule is better is to look at when the final session finishes; the earlier that finishing time, the better the plan. Concrete session details are listed below.\n\n{\n \"num_sessions\": 10,\n \"num_sets_and_stations\": 6,\n \"session_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\",\n \"J10\"\n ],\n \"resource_ids\": [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5\n ],\n \"tasks\": [\n {\n \"session_id\": \"J1\",\n \"step_index\": 0,\n \"resource_id\": 5,\n \"duration_minutes\": 1\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 1,\n \"resource_id\": 4,\n \"duration_minutes\": 86\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 2,\n \"resource_id\": 3,\n \"duration_minutes\": 67\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 3,\n \"resource_id\": 2,\n \"duration_minutes\": 40\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 4,\n \"resource_id\": 1,\n \"duration_minutes\": 95\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 5,\n \"resource_id\": 0,\n \"duration_minutes\": 42\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 0,\n \"resource_id\": 1,\n \"duration_minutes\": 53\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 1,\n \"resource_id\": 5,\n \"duration_minutes\": 91\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 2,\n \"resource_id\": 3,\n \"duration_minutes\": 94\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 3,\n \"resource_id\": 2,\n \"duration_minutes\": 11\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 4,\n \"resource_id\": 4,\n \"duration_minutes\": 76\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 5,\n \"resource_id\": 0,\n \"duration_minutes\": 95\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 0,\n \"resource_id\": 2,\n \"duration_minutes\": 32\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 1,\n \"resource_id\": 1,\n \"duration_minutes\": 59\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 2,\n \"resource_id\": 5,\n \"duration_minutes\": 1\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 3,\n \"resource_id\": 3,\n \"duration_minutes\": 73\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 4,\n \"resource_id\": 0,\n \"duration_minutes\": 34\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 5,\n \"resource_id\": 4,\n \"duration_minutes\": 58\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 0,\n \"resource_id\": 1,\n \"duration_minutes\": 75\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 1,\n \"resource_id\": 0,\n \"duration_minutes\": 2\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 2,\n \"resource_id\": 3,\n \"duration_minutes\": 31\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 3,\n \"resource_id\": 2,\n \"duration_minutes\": 51\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 4,\n \"resource_id\": 5,\n \"duration_minutes\": 18\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 5,\n \"resource_id\": 4,\n \"duration_minutes\": 78\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 0,\n \"resource_id\": 4,\n \"duration_minutes\": 46\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 1,\n \"resource_id\": 2,\n \"duration_minutes\": 52\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 2,\n \"resource_id\": 0,\n \"duration_minutes\": 89\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 3,\n \"resource_id\": 3,\n \"duration_minutes\": 5\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 4,\n \"resource_id\": 5,\n \"duration_minutes\": 20\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 5,\n \"resource_id\": 1,\n \"duration_minutes\": 59\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 0,\n \"resource_id\": 1,\n \"duration_minutes\": 28\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 1,\n \"resource_id\": 5,\n \"duration_minutes\": 17\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 2,\n \"resource_id\": 3,\n \"duration_minutes\": 68\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 3,\n \"resource_id\": 0,\n \"duration_minutes\": 56\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 4,\n \"resource_id\": 2,\n \"duration_minutes\": 21\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 5,\n \"resource_id\": 4,\n \"duration_minutes\": 62\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 0,\n \"resource_id\": 1,\n \"duration_minutes\": 45\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 1,\n \"resource_id\": 5,\n \"duration_minutes\": 73\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 2,\n \"resource_id\": 3,\n \"duration_minutes\": 33\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 3,\n \"resource_id\": 4,\n \"duration_minutes\": 40\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 4,\n \"resource_id\": 0,\n \"duration_minutes\": 53\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 5,\n \"resource_id\": 2,\n \"duration_minutes\": 69\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 0,\n \"resource_id\": 0,\n \"duration_minutes\": 20\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 1,\n \"resource_id\": 1,\n \"duration_minutes\": 50\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 2,\n \"resource_id\": 2,\n \"duration_minutes\": 86\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 3,\n \"resource_id\": 3,\n \"duration_minutes\": 45\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 4,\n \"resource_id\": 4,\n \"duration_minutes\": 37\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 5,\n \"resource_id\": 5,\n \"duration_minutes\": 35\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 0,\n \"resource_id\": 1,\n \"duration_minutes\": 45\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 1,\n \"resource_id\": 2,\n \"duration_minutes\": 73\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 2,\n \"resource_id\": 4,\n \"duration_minutes\": 49\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 3,\n \"resource_id\": 3,\n \"duration_minutes\": 83\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 4,\n \"resource_id\": 0,\n \"duration_minutes\": 83\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 5,\n \"resource_id\": 5,\n \"duration_minutes\": 62\n },\n {\n \"session_id\": \"J10\",\n \"step_index\": 0,\n \"resource_id\": 0,\n \"duration_minutes\": 94\n },\n {\n \"session_id\": \"J10\",\n \"step_index\": 1,\n \"resource_id\": 2,\n \"duration_minutes\": 49\n },\n {\n \"session_id\": \"J10\",\n \"step_index\": 2,\n \"resource_id\": 4,\n \"duration_minutes\": 49\n },\n {\n \"session_id\": \"J10\",\n \"step_index\": 3,\n \"resource_id\": 5,\n \"duration_minutes\": 33\n },\n {\n \"session_id\": \"J10\",\n \"step_index\": 4,\n \"resource_id\": 3,\n \"duration_minutes\": 19\n },\n {\n \"session_id\": \"J10\",\n \"step_index\": 5,\n \"resource_id\": 1,\n \"duration_minutes\": 54\n }\n ]\n}\n\nIf you'd like the schedule in a tidy, copy-pasteable form, I usually return it as JSON like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just the shape I expect: \"solution\" is a list of sessions, each item has a \"job\" (the session id), and a \"tasks\" list where every task shows which step it is, when it starts, which set or editing station it uses, and how long it runs. Treat it like a simple form—fill in the IDs and numbers in those slots.\n\nNote that this JSON is only a sketch of the expected shape, not the actual schedule.\n\nPlease use the exact identifiers from the instance input — do not rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 10, "jobs": [ [ [ 5, 1 ], [ 4, 86 ], [ 3, 67 ], [ 2, 40 ], [ 1, 95 ], [ 0, 42 ] ], [ [ 1, 53 ], [ 5, 91 ], [ 3, 94 ], [ 2, 11 ], [ 4, 76 ], [ 0, 95 ] ], [ [ 2, 32 ], [ 1, 59 ], [ 5, 1 ], [ 3, 73 ], [ 0, 34 ], [ 4, 58 ] ], [ [ 1, 75 ], [ 0, 2 ], [ 3, 31 ], [ 2, 51 ], [ 5, 18 ], [ 4, 78 ] ], [ [ 4, 46 ], [ 2, 52 ], [ 0, 89 ], [ 3, 5 ], [ 5, 20 ], [ 1, 59 ] ], [ [ 1, 28 ], [ 5, 17 ], [ 3, 68 ], [ 0, 56 ], [ 2, 21 ], [ 4, 62 ] ], [ [ 1, 45 ], [ 5, 73 ], [ 3, 33 ], [ 4, 40 ], [ 0, 53 ], [ 2, 69 ] ], [ [ 0, 20 ], [ 1, 50 ], [ 2, 86 ], [ 3, 45 ], [ 4, 37 ], [ 5, 35 ] ], [ [ 1, 45 ], [ 2, 73 ], [ 4, 49 ], [ 3, 83 ], [ 0, 83 ], [ 5, 62 ] ], [ [ 0, 94 ], [ 2, 49 ], [ 4, 49 ], [ 5, 33 ], [ 3, 19 ], [ 1, 54 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 1 }, { "task": 1, "start": 1, "machine": 4, "duration": 86 }, { "task": 2, "start": 113, "machine": 3, "duration": 67 }, { "task": 3, "start": 247, "machine": 2, "duration": 40 }, { "task": 4, "start": 355, "machine": 1, "duration": 95 }, { "task": 5, "start": 450, "machine": 0, "duration": 42 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 193, "machine": 1, "duration": 53 }, { "task": 1, "start": 246, "machine": 5, "duration": 91 }, { "task": 2, "start": 343, "machine": 3, "duration": 94 }, { "task": 3, "start": 445, "machine": 2, "duration": 11 }, { "task": 4, "start": 462, "machine": 4, "duration": 76 }, { "task": 5, "start": 544, "machine": 0, "duration": 95 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 32 }, { "task": 1, "start": 246, "machine": 1, "duration": 59 }, { "task": 2, "start": 337, "machine": 5, "duration": 1 }, { "task": 3, "start": 437, "machine": 3, "duration": 73 }, { "task": 4, "start": 510, "machine": 0, "duration": 34 }, { "task": 5, "start": 592, "machine": 4, "duration": 58 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 118, "machine": 1, "duration": 75 }, { "task": 1, "start": 219, "machine": 0, "duration": 2 }, { "task": 2, "start": 224, "machine": 3, "duration": 31 }, { "task": 3, "start": 308, "machine": 2, "duration": 51 }, { "task": 4, "start": 363, "machine": 5, "duration": 18 }, { "task": 5, "start": 384, "machine": 4, "duration": 78 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 87, "machine": 4, "duration": 46 }, { "task": 1, "start": 146, "machine": 2, "duration": 52 }, { "task": 2, "start": 221, "machine": 0, "duration": 89 }, { "task": 3, "start": 338, "machine": 3, "duration": 5 }, { "task": 4, "start": 343, "machine": 5, "duration": 20 }, { "task": 5, "start": 450, "machine": 1, "duration": 59 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 28 }, { "task": 1, "start": 28, "machine": 5, "duration": 17 }, { "task": 2, "start": 45, "machine": 3, "duration": 68 }, { "task": 3, "start": 114, "machine": 0, "duration": 56 }, { "task": 4, "start": 287, "machine": 2, "duration": 21 }, { "task": 5, "start": 313, "machine": 4, "duration": 62 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 73, "machine": 1, "duration": 45 }, { "task": 1, "start": 118, "machine": 5, "duration": 73 }, { "task": 2, "start": 191, "machine": 3, "duration": 33 }, { "task": 3, "start": 224, "machine": 4, "duration": 40 }, { "task": 4, "start": 310, "machine": 0, "duration": 53 }, { "task": 5, "start": 456, "machine": 2, "duration": 69 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 94, "machine": 0, "duration": 20 }, { "task": 1, "start": 305, "machine": 1, "duration": 50 }, { "task": 2, "start": 359, "machine": 2, "duration": 86 }, { "task": 3, "start": 510, "machine": 3, "duration": 45 }, { "task": 4, "start": 555, "machine": 4, "duration": 37 }, { "task": 5, "start": 592, "machine": 5, "duration": 35 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 28, "machine": 1, "duration": 45 }, { "task": 1, "start": 73, "machine": 2, "duration": 73 }, { "task": 2, "start": 146, "machine": 4, "duration": 49 }, { "task": 3, "start": 255, "machine": 3, "duration": 83 }, { "task": 4, "start": 363, "machine": 0, "duration": 83 }, { "task": 5, "start": 446, "machine": 5, "duration": 62 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 94 }, { "task": 1, "start": 198, "machine": 2, "duration": 49 }, { "task": 2, "start": 264, "machine": 4, "duration": 49 }, { "task": 3, "start": 381, "machine": 5, "duration": 33 }, { "task": 4, "start": 555, "machine": 3, "duration": 19 }, { "task": 5, "start": 574, "machine": 1, "duration": 54 } ] } ], "obj": 650.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ 0, 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 5, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 86 }, { "job_id": "J1", "task_id": 2, "machine_id": 3, "duration": 67 }, { "job_id": "J1", "task_id": 3, "machine_id": 2, "duration": 40 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 95 }, { "job_id": "J1", "task_id": 5, "machine_id": 0, "duration": 42 }, { "job_id": "J2", "task_id": 0, "machine_id": 1, "duration": 53 }, { "job_id": "J2", "task_id": 1, "machine_id": 5, "duration": 91 }, { "job_id": "J2", "task_id": 2, "machine_id": 3, "duration": 94 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 11 }, { "job_id": "J2", "task_id": 4, "machine_id": 4, "duration": 76 }, { "job_id": "J2", "task_id": 5, "machine_id": 0, "duration": 95 }, { "job_id": "J3", "task_id": 0, "machine_id": 2, "duration": 32 }, { "job_id": "J3", "task_id": 1, "machine_id": 1, "duration": 59 }, { "job_id": "J3", "task_id": 2, "machine_id": 5, "duration": 1 }, { "job_id": "J3", "task_id": 3, "machine_id": 3, "duration": 73 }, { "job_id": "J3", "task_id": 4, "machine_id": 0, "duration": 34 }, { "job_id": "J3", "task_id": 5, "machine_id": 4, "duration": 58 }, { "job_id": "J4", "task_id": 0, "machine_id": 1, "duration": 75 }, { "job_id": "J4", "task_id": 1, "machine_id": 0, "duration": 2 }, { "job_id": "J4", "task_id": 2, "machine_id": 3, "duration": 31 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 51 }, { "job_id": "J4", "task_id": 4, "machine_id": 5, "duration": 18 }, { "job_id": "J4", "task_id": 5, "machine_id": 4, "duration": 78 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 46 }, { "job_id": "J5", "task_id": 1, "machine_id": 2, "duration": 52 }, { "job_id": "J5", "task_id": 2, "machine_id": 0, "duration": 89 }, { "job_id": "J5", "task_id": 3, "machine_id": 3, "duration": 5 }, { "job_id": "J5", "task_id": 4, "machine_id": 5, "duration": 20 }, { "job_id": "J5", "task_id": 5, "machine_id": 1, "duration": 59 }, { "job_id": "J6", "task_id": 0, "machine_id": 1, "duration": 28 }, { "job_id": "J6", "task_id": 1, "machine_id": 5, "duration": 17 }, { "job_id": "J6", "task_id": 2, "machine_id": 3, "duration": 68 }, { "job_id": "J6", "task_id": 3, "machine_id": 0, "duration": 56 }, { "job_id": "J6", "task_id": 4, "machine_id": 2, "duration": 21 }, { "job_id": "J6", "task_id": 5, "machine_id": 4, "duration": 62 }, { "job_id": "J7", "task_id": 0, "machine_id": 1, "duration": 45 }, { "job_id": "J7", "task_id": 1, "machine_id": 5, "duration": 73 }, { "job_id": "J7", "task_id": 2, "machine_id": 3, "duration": 33 }, { "job_id": "J7", "task_id": 3, "machine_id": 4, "duration": 40 }, { "job_id": "J7", "task_id": 4, "machine_id": 0, "duration": 53 }, { "job_id": "J7", "task_id": 5, "machine_id": 2, "duration": 69 }, { "job_id": "J8", "task_id": 0, "machine_id": 0, "duration": 20 }, { "job_id": "J8", "task_id": 1, "machine_id": 1, "duration": 50 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 86 }, { "job_id": "J8", "task_id": 3, "machine_id": 3, "duration": 45 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 37 }, { "job_id": "J8", "task_id": 5, "machine_id": 5, "duration": 35 }, { "job_id": "J9", "task_id": 0, "machine_id": 1, "duration": 45 }, { "job_id": "J9", "task_id": 1, "machine_id": 2, "duration": 73 }, { "job_id": "J9", "task_id": 2, "machine_id": 4, "duration": 49 }, { "job_id": "J9", "task_id": 3, "machine_id": 3, "duration": 83 }, { "job_id": "J9", "task_id": 4, "machine_id": 0, "duration": 83 }, { "job_id": "J9", "task_id": 5, "machine_id": 5, "duration": 62 }, { "job_id": "J10", "task_id": 0, "machine_id": 0, "duration": 94 }, { "job_id": "J10", "task_id": 1, "machine_id": 2, "duration": 49 }, { "job_id": "J10", "task_id": 2, "machine_id": 4, "duration": 49 }, { "job_id": "J10", "task_id": 3, "machine_id": 5, "duration": 33 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 19 }, { "job_id": "J10", "task_id": 5, "machine_id": 1, "duration": 54 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 1 }, { "task": 1, "start": 1, "machine": 4, "duration": 86 }, { "task": 2, "start": 113, "machine": 3, "duration": 67 }, { "task": 3, "start": 247, "machine": 2, "duration": 40 }, { "task": 4, "start": 355, "machine": 1, "duration": 95 }, { "task": 5, "start": 450, "machine": 0, "duration": 42 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 193, "machine": 1, "duration": 53 }, { "task": 1, "start": 246, "machine": 5, "duration": 91 }, { "task": 2, "start": 343, "machine": 3, "duration": 94 }, { "task": 3, "start": 445, "machine": 2, "duration": 11 }, { "task": 4, "start": 462, "machine": 4, "duration": 76 }, { "task": 5, "start": 544, "machine": 0, "duration": 95 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 32 }, { "task": 1, "start": 246, "machine": 1, "duration": 59 }, { "task": 2, "start": 337, "machine": 5, "duration": 1 }, { "task": 3, "start": 437, "machine": 3, "duration": 73 }, { "task": 4, "start": 510, "machine": 0, "duration": 34 }, { "task": 5, "start": 592, "machine": 4, "duration": 58 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 118, "machine": 1, "duration": 75 }, { "task": 1, "start": 219, "machine": 0, "duration": 2 }, { "task": 2, "start": 224, "machine": 3, "duration": 31 }, { "task": 3, "start": 308, "machine": 2, "duration": 51 }, { "task": 4, "start": 363, "machine": 5, "duration": 18 }, { "task": 5, "start": 384, "machine": 4, "duration": 78 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 87, "machine": 4, "duration": 46 }, { "task": 1, "start": 146, "machine": 2, "duration": 52 }, { "task": 2, "start": 221, "machine": 0, "duration": 89 }, { "task": 3, "start": 338, "machine": 3, "duration": 5 }, { "task": 4, "start": 343, "machine": 5, "duration": 20 }, { "task": 5, "start": 450, "machine": 1, "duration": 59 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 28 }, { "task": 1, "start": 28, "machine": 5, "duration": 17 }, { "task": 2, "start": 45, "machine": 3, "duration": 68 }, { "task": 3, "start": 114, "machine": 0, "duration": 56 }, { "task": 4, "start": 287, "machine": 2, "duration": 21 }, { "task": 5, "start": 313, "machine": 4, "duration": 62 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 73, "machine": 1, "duration": 45 }, { "task": 1, "start": 118, "machine": 5, "duration": 73 }, { "task": 2, "start": 191, "machine": 3, "duration": 33 }, { "task": 3, "start": 224, "machine": 4, "duration": 40 }, { "task": 4, "start": 310, "machine": 0, "duration": 53 }, { "task": 5, "start": 456, "machine": 2, "duration": 69 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 94, "machine": 0, "duration": 20 }, { "task": 1, "start": 305, "machine": 1, "duration": 50 }, { "task": 2, "start": 359, "machine": 2, "duration": 86 }, { "task": 3, "start": 510, "machine": 3, "duration": 45 }, { "task": 4, "start": 555, "machine": 4, "duration": 37 }, { "task": 5, "start": 592, "machine": 5, "duration": 35 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 28, "machine": 1, "duration": 45 }, { "task": 1, "start": 73, "machine": 2, "duration": 73 }, { "task": 2, "start": 146, "machine": 4, "duration": 49 }, { "task": 3, "start": 255, "machine": 3, "duration": 83 }, { "task": 4, "start": 363, "machine": 0, "duration": 83 }, { "task": 5, "start": 446, "machine": 5, "duration": 62 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 94 }, { "task": 1, "start": 198, "machine": 2, "duration": 49 }, { "task": 2, "start": 264, "machine": 4, "duration": 49 }, { "task": 3, "start": 381, "machine": 5, "duration": 33 }, { "task": 4, "start": 555, "machine": 3, "duration": 19 }, { "task": 5, "start": 574, "machine": 1, "duration": 54 } ] } ], "context_index": 34, "input_format": "json", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "We run a fleet of delivery drones and every morning they need a fixed lineup of checks and charging sessions, each tied to a specific pad or bench and lasting a known amount of time. The decision is how to schedule those checks so no pad is double-booked, nothing is skipped or repeated, and each drone’s steps happen in their required order. A schedule that finishes the whole fleet sooner is preferable — measure that by the time the last drone wraps up its final required activity. The concrete list of drones, required steps, pad assignments, and durations follows below.\n\n{\n \"nr_drones\": 9,\n \"nr_pads\": 5,\n \"drones\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\"\n ],\n \"pads\": [\n 1,\n 2,\n 3,\n 4,\n 5\n ],\n \"tasks\": [\n {\n \"drone_id\": \"J1\",\n \"step_index\": 0,\n \"pad_id\": 3,\n \"duration_minutes\": 1\n },\n {\n \"drone_id\": \"J1\",\n \"step_index\": 1,\n \"pad_id\": 5,\n \"duration_minutes\": 99\n },\n {\n \"drone_id\": \"J1\",\n \"step_index\": 2,\n \"pad_id\": 4,\n \"duration_minutes\": 43\n },\n {\n \"drone_id\": \"J1\",\n \"step_index\": 3,\n \"pad_id\": 2,\n \"duration_minutes\": 85\n },\n {\n \"drone_id\": \"J1\",\n \"step_index\": 4,\n \"pad_id\": 1,\n \"duration_minutes\": 49\n },\n {\n \"drone_id\": \"J2\",\n \"step_index\": 0,\n \"pad_id\": 2,\n \"duration_minutes\": 64\n },\n {\n \"drone_id\": \"J2\",\n \"step_index\": 1,\n \"pad_id\": 3,\n \"duration_minutes\": 57\n },\n {\n \"drone_id\": \"J2\",\n \"step_index\": 2,\n \"pad_id\": 4,\n \"duration_minutes\": 59\n },\n {\n \"drone_id\": \"J2\",\n \"step_index\": 3,\n \"pad_id\": 5,\n \"duration_minutes\": 63\n },\n {\n \"drone_id\": \"J2\",\n \"step_index\": 4,\n \"pad_id\": 1,\n \"duration_minutes\": 4\n },\n {\n \"drone_id\": \"J3\",\n \"step_index\": 0,\n \"pad_id\": 5,\n \"duration_minutes\": 15\n },\n {\n \"drone_id\": \"J3\",\n \"step_index\": 1,\n \"pad_id\": 2,\n \"duration_minutes\": 48\n },\n {\n \"drone_id\": \"J3\",\n \"step_index\": 2,\n \"pad_id\": 1,\n \"duration_minutes\": 16\n },\n {\n \"drone_id\": \"J3\",\n \"step_index\": 3,\n \"pad_id\": 4,\n \"duration_minutes\": 63\n },\n {\n \"drone_id\": \"J3\",\n \"step_index\": 4,\n \"pad_id\": 3,\n \"duration_minutes\": 7\n },\n {\n \"drone_id\": \"J4\",\n \"step_index\": 0,\n \"pad_id\": 4,\n \"duration_minutes\": 26\n },\n {\n \"drone_id\": \"J4\",\n \"step_index\": 1,\n \"pad_id\": 1,\n \"duration_minutes\": 1\n },\n {\n \"drone_id\": \"J4\",\n \"step_index\": 2,\n \"pad_id\": 3,\n \"duration_minutes\": 58\n },\n {\n \"drone_id\": \"J4\",\n \"step_index\": 3,\n \"pad_id\": 2,\n \"duration_minutes\": 14\n },\n {\n \"drone_id\": \"J4\",\n \"step_index\": 4,\n \"pad_id\": 5,\n \"duration_minutes\": 8\n },\n {\n \"drone_id\": \"J5\",\n \"step_index\": 0,\n \"pad_id\": 4,\n \"duration_minutes\": 73\n },\n {\n \"drone_id\": \"J5\",\n \"step_index\": 1,\n \"pad_id\": 2,\n \"duration_minutes\": 20\n },\n {\n \"drone_id\": \"J5\",\n \"step_index\": 2,\n \"pad_id\": 1,\n \"duration_minutes\": 76\n },\n {\n \"drone_id\": \"J5\",\n \"step_index\": 3,\n \"pad_id\": 5,\n \"duration_minutes\": 71\n },\n {\n \"drone_id\": \"J5\",\n \"step_index\": 4,\n \"pad_id\": 3,\n \"duration_minutes\": 31\n },\n {\n \"drone_id\": \"J6\",\n \"step_index\": 0,\n \"pad_id\": 5,\n \"duration_minutes\": 5\n },\n {\n \"drone_id\": \"J6\",\n \"step_index\": 1,\n \"pad_id\": 1,\n \"duration_minutes\": 98\n },\n {\n \"drone_id\": \"J6\",\n \"step_index\": 2,\n \"pad_id\": 2,\n \"duration_minutes\": 70\n },\n {\n \"drone_id\": \"J6\",\n \"step_index\": 3,\n \"pad_id\": 4,\n \"duration_minutes\": 61\n },\n {\n \"drone_id\": \"J6\",\n \"step_index\": 4,\n \"pad_id\": 3,\n \"duration_minutes\": 29\n },\n {\n \"drone_id\": \"J7\",\n \"step_index\": 0,\n \"pad_id\": 1,\n \"duration_minutes\": 19\n },\n {\n \"drone_id\": \"J7\",\n \"step_index\": 1,\n \"pad_id\": 3,\n \"duration_minutes\": 92\n },\n {\n \"drone_id\": \"J7\",\n \"step_index\": 2,\n \"pad_id\": 4,\n \"duration_minutes\": 94\n },\n {\n \"drone_id\": \"J7\",\n \"step_index\": 3,\n \"pad_id\": 2,\n \"duration_minutes\": 61\n },\n {\n \"drone_id\": \"J7\",\n \"step_index\": 4,\n \"pad_id\": 5,\n \"duration_minutes\": 94\n },\n {\n \"drone_id\": \"J8\",\n \"step_index\": 0,\n \"pad_id\": 5,\n \"duration_minutes\": 94\n },\n {\n \"drone_id\": \"J8\",\n \"step_index\": 1,\n \"pad_id\": 3,\n \"duration_minutes\": 8\n },\n {\n \"drone_id\": \"J8\",\n \"step_index\": 2,\n \"pad_id\": 2,\n \"duration_minutes\": 49\n },\n {\n \"drone_id\": \"J8\",\n \"step_index\": 3,\n \"pad_id\": 1,\n \"duration_minutes\": 32\n },\n {\n \"drone_id\": \"J8\",\n \"step_index\": 4,\n \"pad_id\": 4,\n \"duration_minutes\": 76\n },\n {\n \"drone_id\": \"J9\",\n \"step_index\": 0,\n \"pad_id\": 4,\n \"duration_minutes\": 77\n },\n {\n \"drone_id\": \"J9\",\n \"step_index\": 1,\n \"pad_id\": 1,\n \"duration_minutes\": 67\n },\n {\n \"drone_id\": \"J9\",\n \"step_index\": 2,\n \"pad_id\": 5,\n \"duration_minutes\": 92\n },\n {\n \"drone_id\": \"J9\",\n \"step_index\": 3,\n \"pad_id\": 2,\n \"duration_minutes\": 26\n },\n {\n \"drone_id\": \"J9\",\n \"step_index\": 4,\n \"pad_id\": 3,\n \"duration_minutes\": 52\n }\n ]\n}\n\nAlso, when you hand me the schedule, please follow a simple JSON layout — nothing fancy, just the shape I'll parse. Here's the sketch I expect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nQuick, informal guide to the fields so it’s clear what goes where:\n- \"solution\" is a list with one entry per drone (job).\n- \"job\" is the drone identifier.\n- \"tasks\" is the ordered list of that drone’s required steps.\n- each task has \"task\" (which step it is in the sequence), \"start\" (when it begins), \"machine\" (which pad or bench it uses), and \"duration\" (how long it runs).\n\nThis JSON is just a template of the shape I want — not the actual schedule itself.\n\nPlease make sure you use the exact identifiers from the instance input, do not rename or invent labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 2, 1 ], [ 4, 99 ], [ 3, 43 ], [ 1, 85 ], [ 0, 49 ] ], [ [ 1, 64 ], [ 2, 57 ], [ 3, 59 ], [ 4, 63 ], [ 0, 4 ] ], [ [ 4, 15 ], [ 1, 48 ], [ 0, 16 ], [ 3, 63 ], [ 2, 7 ] ], [ [ 3, 26 ], [ 0, 1 ], [ 2, 58 ], [ 1, 14 ], [ 4, 8 ] ], [ [ 3, 73 ], [ 1, 20 ], [ 0, 76 ], [ 4, 71 ], [ 2, 31 ] ], [ [ 4, 5 ], [ 0, 98 ], [ 1, 70 ], [ 3, 61 ], [ 2, 29 ] ], [ [ 0, 19 ], [ 2, 92 ], [ 3, 94 ], [ 1, 61 ], [ 4, 94 ] ], [ [ 4, 94 ], [ 2, 8 ], [ 1, 49 ], [ 0, 32 ], [ 3, 76 ] ], [ [ 3, 77 ], [ 0, 67 ], [ 4, 92 ], [ 1, 26 ], [ 2, 52 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 1 }, { "task": 1, "start": 5, "machine": 4, "duration": 99 }, { "task": 2, "start": 244, "machine": 3, "duration": 43 }, { "task": 3, "start": 365, "machine": 1, "duration": 85 }, { "task": 4, "start": 450, "machine": 0, "duration": 49 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 64 }, { "task": 1, "start": 111, "machine": 2, "duration": 57 }, { "task": 2, "start": 287, "machine": 3, "duration": 59 }, { "task": 3, "start": 470, "machine": 4, "duration": 63 }, { "task": 4, "start": 533, "machine": 0, "duration": 4 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 290, "machine": 4, "duration": 15 }, { "task": 1, "start": 317, "machine": 1, "duration": 48 }, { "task": 2, "start": 365, "machine": 0, "duration": 16 }, { "task": 3, "start": 433, "machine": 3, "duration": 63 }, { "task": 4, "start": 546, "machine": 2, "duration": 7 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 346, "machine": 3, "duration": 26 }, { "task": 1, "start": 381, "machine": 0, "duration": 1 }, { "task": 2, "start": 407, "machine": 2, "duration": 58 }, { "task": 3, "start": 476, "machine": 1, "duration": 14 }, { "task": 4, "start": 533, "machine": 4, "duration": 8 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 77, "machine": 3, "duration": 73 }, { "task": 1, "start": 187, "machine": 1, "duration": 20 }, { "task": 2, "start": 207, "machine": 0, "duration": 76 }, { "task": 3, "start": 305, "machine": 4, "duration": 71 }, { "task": 4, "start": 376, "machine": 2, "duration": 31 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 5 }, { "task": 1, "start": 19, "machine": 0, "duration": 98 }, { "task": 2, "start": 117, "machine": 1, "duration": 70 }, { "task": 3, "start": 372, "machine": 3, "duration": 61 }, { "task": 4, "start": 465, "machine": 2, "duration": 29 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 19 }, { "task": 1, "start": 19, "machine": 2, "duration": 92 }, { "task": 2, "start": 150, "machine": 3, "duration": 94 }, { "task": 3, "start": 256, "machine": 1, "duration": 61 }, { "task": 4, "start": 376, "machine": 4, "duration": 94 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 104, "machine": 4, "duration": 94 }, { "task": 1, "start": 198, "machine": 2, "duration": 8 }, { "task": 2, "start": 207, "machine": 1, "duration": 49 }, { "task": 3, "start": 283, "machine": 0, "duration": 32 }, { "task": 4, "start": 496, "machine": 3, "duration": 76 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 77 }, { "task": 1, "start": 117, "machine": 0, "duration": 67 }, { "task": 2, "start": 198, "machine": 4, "duration": 92 }, { "task": 3, "start": 450, "machine": 1, "duration": 26 }, { "task": 4, "start": 494, "machine": 2, "duration": 52 } ] } ], "obj": 572.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 5, "duration": 99 }, { "job_id": "J1", "task_id": 2, "machine_id": 4, "duration": 43 }, { "job_id": "J1", "task_id": 3, "machine_id": 2, "duration": 85 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 49 }, { "job_id": "J2", "task_id": 0, "machine_id": 2, "duration": 64 }, { "job_id": "J2", "task_id": 1, "machine_id": 3, "duration": 57 }, { "job_id": "J2", "task_id": 2, "machine_id": 4, "duration": 59 }, { "job_id": "J2", "task_id": 3, "machine_id": 5, "duration": 63 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 4 }, { "job_id": "J3", "task_id": 0, "machine_id": 5, "duration": 15 }, { "job_id": "J3", "task_id": 1, "machine_id": 2, "duration": 48 }, { "job_id": "J3", "task_id": 2, "machine_id": 1, "duration": 16 }, { "job_id": "J3", "task_id": 3, "machine_id": 4, "duration": 63 }, { "job_id": "J3", "task_id": 4, "machine_id": 3, "duration": 7 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 26 }, { "job_id": "J4", "task_id": 1, "machine_id": 1, "duration": 1 }, { "job_id": "J4", "task_id": 2, "machine_id": 3, "duration": 58 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 14 }, { "job_id": "J4", "task_id": 4, "machine_id": 5, "duration": 8 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 73 }, { "job_id": "J5", "task_id": 1, "machine_id": 2, "duration": 20 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 76 }, { "job_id": "J5", "task_id": 3, "machine_id": 5, "duration": 71 }, { "job_id": "J5", "task_id": 4, "machine_id": 3, "duration": 31 }, { "job_id": "J6", "task_id": 0, "machine_id": 5, "duration": 5 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 98 }, { "job_id": "J6", "task_id": 2, "machine_id": 2, "duration": 70 }, { "job_id": "J6", "task_id": 3, "machine_id": 4, "duration": 61 }, { "job_id": "J6", "task_id": 4, "machine_id": 3, "duration": 29 }, { "job_id": "J7", "task_id": 0, "machine_id": 1, "duration": 19 }, { "job_id": "J7", "task_id": 1, "machine_id": 3, "duration": 92 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 94 }, { "job_id": "J7", "task_id": 3, "machine_id": 2, "duration": 61 }, { "job_id": "J7", "task_id": 4, "machine_id": 5, "duration": 94 }, { "job_id": "J8", "task_id": 0, "machine_id": 5, "duration": 94 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 8 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 49 }, { "job_id": "J8", "task_id": 3, "machine_id": 1, "duration": 32 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 76 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 77 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 67 }, { "job_id": "J9", "task_id": 2, "machine_id": 5, "duration": 92 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 26 }, { "job_id": "J9", "task_id": 4, "machine_id": 3, "duration": 52 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 5, "machine": 5, "duration": 99 }, { "task": 2, "start": 244, "machine": 4, "duration": 43 }, { "task": 3, "start": 365, "machine": 2, "duration": 85 }, { "task": 4, "start": 450, "machine": 1, "duration": 49 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 64 }, { "task": 1, "start": 111, "machine": 3, "duration": 57 }, { "task": 2, "start": 287, "machine": 4, "duration": 59 }, { "task": 3, "start": 470, "machine": 5, "duration": 63 }, { "task": 4, "start": 533, "machine": 1, "duration": 4 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 290, "machine": 5, "duration": 15 }, { "task": 1, "start": 317, "machine": 2, "duration": 48 }, { "task": 2, "start": 365, "machine": 1, "duration": 16 }, { "task": 3, "start": 433, "machine": 4, "duration": 63 }, { "task": 4, "start": 546, "machine": 3, "duration": 7 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 346, "machine": 4, "duration": 26 }, { "task": 1, "start": 381, "machine": 1, "duration": 1 }, { "task": 2, "start": 407, "machine": 3, "duration": 58 }, { "task": 3, "start": 476, "machine": 2, "duration": 14 }, { "task": 4, "start": 533, "machine": 5, "duration": 8 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 77, "machine": 4, "duration": 73 }, { "task": 1, "start": 187, "machine": 2, "duration": 20 }, { "task": 2, "start": 207, "machine": 1, "duration": 76 }, { "task": 3, "start": 305, "machine": 5, "duration": 71 }, { "task": 4, "start": 376, "machine": 3, "duration": 31 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 5 }, { "task": 1, "start": 19, "machine": 1, "duration": 98 }, { "task": 2, "start": 117, "machine": 2, "duration": 70 }, { "task": 3, "start": 372, "machine": 4, "duration": 61 }, { "task": 4, "start": 465, "machine": 3, "duration": 29 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 19 }, { "task": 1, "start": 19, "machine": 3, "duration": 92 }, { "task": 2, "start": 150, "machine": 4, "duration": 94 }, { "task": 3, "start": 256, "machine": 2, "duration": 61 }, { "task": 4, "start": 376, "machine": 5, "duration": 94 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 104, "machine": 5, "duration": 94 }, { "task": 1, "start": 198, "machine": 3, "duration": 8 }, { "task": 2, "start": 207, "machine": 2, "duration": 49 }, { "task": 3, "start": 283, "machine": 1, "duration": 32 }, { "task": 4, "start": 496, "machine": 4, "duration": 76 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 77 }, { "task": 1, "start": 117, "machine": 1, "duration": 67 }, { "task": 2, "start": 198, "machine": 5, "duration": 92 }, { "task": 3, "start": 450, "machine": 2, "duration": 26 }, { "task": 4, "start": 494, "machine": 3, "duration": 52 } ] } ], "context_index": 35, "input_format": "json", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "At the port the challenge is to sequence loading and inspection for all outbound containers so every container follows its prescribed sequence on specific docks and inspection lanes for set time slots. Each operation needs its assigned dock or lane and takes a fixed amount of time, and docks are single-tasked — they can’t run simultaneous operations. The whole plan is judged by how early the last container departs; the sooner that departure time, the better the schedule. No step can be skipped or repeated, order matters, and the exact container operations and timings are provided below.\n\nBelow are the 9 containers to schedule across the 6 stations: containers J1, J2, J3, J4, J5, J6, J7, J8, J9; stations A, B, C, D, E, F.\nContainer J1, operation 0, requires station D for 1 time units.\nContainer J1, operation 1, requires station B for 13 time units.\nContainer J1, operation 2, requires station E for 18 time units.\nContainer J1, operation 3, requires station F for 32 time units.\nContainer J1, operation 4, requires station C for 3 time units.\nContainer J1, operation 5, requires station A for 86 time units.\nContainer J2, operation 0, requires station F for 62 time units.\nContainer J2, operation 1, requires station B for 27 time units.\nContainer J2, operation 2, requires station E for 31 time units.\nContainer J2, operation 3, requires station D for 97 time units.\nContainer J2, operation 4, requires station A for 53 time units.\nContainer J2, operation 5, requires station C for 99 time units.\nContainer J3, operation 0, requires station E for 98 time units.\nContainer J3, operation 1, requires station F for 66 time units.\nContainer J3, operation 2, requires station B for 12 time units.\nContainer J3, operation 3, requires station C for 78 time units.\nContainer J3, operation 4, requires station A for 68 time units.\nContainer J3, operation 5, requires station D for 59 time units.\nContainer J4, operation 0, requires station F for 52 time units.\nContainer J4, operation 1, requires station B for 15 time units.\nContainer J4, operation 2, requires station D for 15 time units.\nContainer J4, operation 3, requires station C for 88 time units.\nContainer J4, operation 4, requires station A for 35 time units.\nContainer J4, operation 5, requires station E for 64 time units.\nContainer J5, operation 0, requires station C for 16 time units.\nContainer J5, operation 1, requires station B for 57 time units.\nContainer J5, operation 2, requires station E for 9 time units.\nContainer J5, operation 3, requires station F for 35 time units.\nContainer J5, operation 4, requires station D for 4 time units.\nContainer J5, operation 5, requires station A for 99 time units.\nContainer J6, operation 0, requires station E for 10 time units.\nContainer J6, operation 1, requires station B for 69 time units.\nContainer J6, operation 2, requires station A for 21 time units.\nContainer J6, operation 3, requires station C for 65 time units.\nContainer J6, operation 4, requires station D for 68 time units.\nContainer J6, operation 5, requires station F for 28 time units.\nContainer J7, operation 0, requires station F for 71 time units.\nContainer J7, operation 1, requires station E for 25 time units.\nContainer J7, operation 2, requires station A for 31 time units.\nContainer J7, operation 3, requires station C for 13 time units.\nContainer J7, operation 4, requires station D for 3 time units.\nContainer J7, operation 5, requires station B for 65 time units.\nContainer J8, operation 0, requires station E for 64 time units.\nContainer J8, operation 1, requires station F for 1 time units.\nContainer J8, operation 2, requires station C for 17 time units.\nContainer J8, operation 3, requires station B for 60 time units.\nContainer J8, operation 4, requires station A for 63 time units.\nContainer J8, operation 5, requires station D for 13 time units.\nContainer J9, operation 0, requires station F for 99 time units.\nContainer J9, operation 1, requires station D for 60 time units.\nContainer J9, operation 2, requires station B for 2 time units.\nContainer J9, operation 3, requires station E for 78 time units.\nContainer J9, operation 4, requires station A for 31 time units.\nContainer J9, operation 5, requires station C for 17 time units.\nThe objective remains to minimize the departure time of the last container across all 6 stations for these 9 containers.\n\nYou can just hand me the schedule in this simple JSON shape when you're ready — makes it easy to read and check:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: \"solution\" is a list of containers (jobs). Each job entry names the job and then lists its ordered tasks. For each task, give the task's index within that job, the planned start time, which dock or lane (machine) it uses, and how long it runs. Super casual — just fill in those fields with the actual IDs and times.\n\nThis JSON is only a sketch of the expected shape, not the actual schedule — please fill in the real values from the instance.\n\nPlease use the identifiers exactly as they appear in the instance input — do not rename them or invent new labels. For example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 6, "nr_jobs": 9, "jobs": [ [ [ 3, 1 ], [ 1, 13 ], [ 4, 18 ], [ 5, 32 ], [ 2, 3 ], [ 0, 86 ] ], [ [ 5, 62 ], [ 1, 27 ], [ 4, 31 ], [ 3, 97 ], [ 0, 53 ], [ 2, 99 ] ], [ [ 4, 98 ], [ 5, 66 ], [ 1, 12 ], [ 2, 78 ], [ 0, 68 ], [ 3, 59 ] ], [ [ 5, 52 ], [ 1, 15 ], [ 3, 15 ], [ 2, 88 ], [ 0, 35 ], [ 4, 64 ] ], [ [ 2, 16 ], [ 1, 57 ], [ 4, 9 ], [ 5, 35 ], [ 3, 4 ], [ 0, 99 ] ], [ [ 4, 10 ], [ 1, 69 ], [ 0, 21 ], [ 2, 65 ], [ 3, 68 ], [ 5, 28 ] ], [ [ 5, 71 ], [ 4, 25 ], [ 0, 31 ], [ 2, 13 ], [ 3, 3 ], [ 1, 65 ] ], [ [ 4, 64 ], [ 5, 1 ], [ 2, 17 ], [ 1, 60 ], [ 0, 63 ], [ 3, 13 ] ], [ [ 5, 99 ], [ 3, 60 ], [ 1, 2 ], [ 4, 78 ], [ 0, 31 ], [ 2, 17 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 1, "machine": 1, "duration": 13 }, { "task": 2, "start": 14, "machine": 4, "duration": 18 }, { "task": 3, "start": 53, "machine": 5, "duration": 32 }, { "task": 4, "start": 85, "machine": 2, "duration": 3 }, { "task": 5, "start": 104, "machine": 0, "duration": 86 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 85, "machine": 5, "duration": 62 }, { "task": 1, "start": 162, "machine": 1, "duration": 27 }, { "task": 2, "start": 189, "machine": 4, "duration": 31 }, { "task": 3, "start": 220, "machine": 3, "duration": 97 }, { "task": 4, "start": 324, "machine": 0, "duration": 53 }, { "task": 5, "start": 377, "machine": 2, "duration": 99 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 32, "machine": 4, "duration": 98 }, { "task": 1, "start": 184, "machine": 5, "duration": 66 }, { "task": 2, "start": 250, "machine": 1, "duration": 12 }, { "task": 3, "start": 262, "machine": 2, "duration": 78 }, { "task": 4, "start": 377, "machine": 0, "duration": 68 }, { "task": 5, "start": 445, "machine": 3, "duration": 59 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 1, "machine": 5, "duration": 52 }, { "task": 1, "start": 140, "machine": 1, "duration": 15 }, { "task": 2, "start": 155, "machine": 3, "duration": 15 }, { "task": 3, "start": 170, "machine": 2, "duration": 88 }, { "task": 4, "start": 289, "machine": 0, "duration": 35 }, { "task": 5, "start": 324, "machine": 4, "duration": 64 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 16 }, { "task": 1, "start": 83, "machine": 1, "duration": 57 }, { "task": 2, "start": 140, "machine": 4, "duration": 9 }, { "task": 3, "start": 149, "machine": 5, "duration": 35 }, { "task": 4, "start": 184, "machine": 3, "duration": 4 }, { "task": 5, "start": 190, "machine": 0, "duration": 99 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 10 }, { "task": 1, "start": 14, "machine": 1, "duration": 69 }, { "task": 2, "start": 83, "machine": 0, "duration": 21 }, { "task": 3, "start": 104, "machine": 2, "duration": 65 }, { "task": 4, "start": 317, "machine": 3, "duration": 68 }, { "task": 5, "start": 421, "machine": 5, "duration": 28 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 350, "machine": 5, "duration": 71 }, { "task": 1, "start": 421, "machine": 4, "duration": 25 }, { "task": 2, "start": 446, "machine": 0, "duration": 31 }, { "task": 3, "start": 503, "machine": 2, "duration": 13 }, { "task": 4, "start": 516, "machine": 3, "duration": 3 }, { "task": 5, "start": 519, "machine": 1, "duration": 65 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 220, "machine": 4, "duration": 64 }, { "task": 1, "start": 349, "machine": 5, "duration": 1 }, { "task": 2, "start": 350, "machine": 2, "duration": 17 }, { "task": 3, "start": 367, "machine": 1, "duration": 60 }, { "task": 4, "start": 477, "machine": 0, "duration": 63 }, { "task": 5, "start": 557, "machine": 3, "duration": 13 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 250, "machine": 5, "duration": 99 }, { "task": 1, "start": 385, "machine": 3, "duration": 60 }, { "task": 2, "start": 445, "machine": 1, "duration": 2 }, { "task": 3, "start": 447, "machine": 4, "duration": 78 }, { "task": 4, "start": 540, "machine": 0, "duration": 31 }, { "task": 5, "start": 571, "machine": 2, "duration": 17 } ] } ], "obj": 588.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "D", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "B", "duration": 13 }, { "job_id": "J1", "task_id": 2, "machine_id": "E", "duration": 18 }, { "job_id": "J1", "task_id": 3, "machine_id": "F", "duration": 32 }, { "job_id": "J1", "task_id": 4, "machine_id": "C", "duration": 3 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 86 }, { "job_id": "J2", "task_id": 0, "machine_id": "F", "duration": 62 }, { "job_id": "J2", "task_id": 1, "machine_id": "B", "duration": 27 }, { "job_id": "J2", "task_id": 2, "machine_id": "E", "duration": 31 }, { "job_id": "J2", "task_id": 3, "machine_id": "D", "duration": 97 }, { "job_id": "J2", "task_id": 4, "machine_id": "A", "duration": 53 }, { "job_id": "J2", "task_id": 5, "machine_id": "C", "duration": 99 }, { "job_id": "J3", "task_id": 0, "machine_id": "E", "duration": 98 }, { "job_id": "J3", "task_id": 1, "machine_id": "F", "duration": 66 }, { "job_id": "J3", "task_id": 2, "machine_id": "B", "duration": 12 }, { "job_id": "J3", "task_id": 3, "machine_id": "C", "duration": 78 }, { "job_id": "J3", "task_id": 4, "machine_id": "A", "duration": 68 }, { "job_id": "J3", "task_id": 5, "machine_id": "D", "duration": 59 }, { "job_id": "J4", "task_id": 0, "machine_id": "F", "duration": 52 }, { "job_id": "J4", "task_id": 1, "machine_id": "B", "duration": 15 }, { "job_id": "J4", "task_id": 2, "machine_id": "D", "duration": 15 }, { "job_id": "J4", "task_id": 3, "machine_id": "C", "duration": 88 }, { "job_id": "J4", "task_id": 4, "machine_id": "A", "duration": 35 }, { "job_id": "J4", "task_id": 5, "machine_id": "E", "duration": 64 }, { "job_id": "J5", "task_id": 0, "machine_id": "C", "duration": 16 }, { "job_id": "J5", "task_id": 1, "machine_id": "B", "duration": 57 }, { "job_id": "J5", "task_id": 2, "machine_id": "E", "duration": 9 }, { "job_id": "J5", "task_id": 3, "machine_id": "F", "duration": 35 }, { "job_id": "J5", "task_id": 4, "machine_id": "D", "duration": 4 }, { "job_id": "J5", "task_id": 5, "machine_id": "A", "duration": 99 }, { "job_id": "J6", "task_id": 0, "machine_id": "E", "duration": 10 }, { "job_id": "J6", "task_id": 1, "machine_id": "B", "duration": 69 }, { "job_id": "J6", "task_id": 2, "machine_id": "A", "duration": 21 }, { "job_id": "J6", "task_id": 3, "machine_id": "C", "duration": 65 }, { "job_id": "J6", "task_id": 4, "machine_id": "D", "duration": 68 }, { "job_id": "J6", "task_id": 5, "machine_id": "F", "duration": 28 }, { "job_id": "J7", "task_id": 0, "machine_id": "F", "duration": 71 }, { "job_id": "J7", "task_id": 1, "machine_id": "E", "duration": 25 }, { "job_id": "J7", "task_id": 2, "machine_id": "A", "duration": 31 }, { "job_id": "J7", "task_id": 3, "machine_id": "C", "duration": 13 }, { "job_id": "J7", "task_id": 4, "machine_id": "D", "duration": 3 }, { "job_id": "J7", "task_id": 5, "machine_id": "B", "duration": 65 }, { "job_id": "J8", "task_id": 0, "machine_id": "E", "duration": 64 }, { "job_id": "J8", "task_id": 1, "machine_id": "F", "duration": 1 }, { "job_id": "J8", "task_id": 2, "machine_id": "C", "duration": 17 }, { "job_id": "J8", "task_id": 3, "machine_id": "B", "duration": 60 }, { "job_id": "J8", "task_id": 4, "machine_id": "A", "duration": 63 }, { "job_id": "J8", "task_id": 5, "machine_id": "D", "duration": 13 }, { "job_id": "J9", "task_id": 0, "machine_id": "F", "duration": 99 }, { "job_id": "J9", "task_id": 1, "machine_id": "D", "duration": 60 }, { "job_id": "J9", "task_id": 2, "machine_id": "B", "duration": 2 }, { "job_id": "J9", "task_id": 3, "machine_id": "E", "duration": 78 }, { "job_id": "J9", "task_id": 4, "machine_id": "A", "duration": 31 }, { "job_id": "J9", "task_id": 5, "machine_id": "C", "duration": 17 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 1 }, { "task": 1, "start": 1, "machine": "B", "duration": 13 }, { "task": 2, "start": 14, "machine": "E", "duration": 18 }, { "task": 3, "start": 53, "machine": "F", "duration": 32 }, { "task": 4, "start": 85, "machine": "C", "duration": 3 }, { "task": 5, "start": 104, "machine": "A", "duration": 86 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 85, "machine": "F", "duration": 62 }, { "task": 1, "start": 162, "machine": "B", "duration": 27 }, { "task": 2, "start": 189, "machine": "E", "duration": 31 }, { "task": 3, "start": 220, "machine": "D", "duration": 97 }, { "task": 4, "start": 324, "machine": "A", "duration": 53 }, { "task": 5, "start": 377, "machine": "C", "duration": 99 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 32, "machine": "E", "duration": 98 }, { "task": 1, "start": 184, "machine": "F", "duration": 66 }, { "task": 2, "start": 250, "machine": "B", "duration": 12 }, { "task": 3, "start": 262, "machine": "C", "duration": 78 }, { "task": 4, "start": 377, "machine": "A", "duration": 68 }, { "task": 5, "start": 445, "machine": "D", "duration": 59 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 1, "machine": "F", "duration": 52 }, { "task": 1, "start": 140, "machine": "B", "duration": 15 }, { "task": 2, "start": 155, "machine": "D", "duration": 15 }, { "task": 3, "start": 170, "machine": "C", "duration": 88 }, { "task": 4, "start": 289, "machine": "A", "duration": 35 }, { "task": 5, "start": 324, "machine": "E", "duration": 64 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 16 }, { "task": 1, "start": 83, "machine": "B", "duration": 57 }, { "task": 2, "start": 140, "machine": "E", "duration": 9 }, { "task": 3, "start": 149, "machine": "F", "duration": 35 }, { "task": 4, "start": 184, "machine": "D", "duration": 4 }, { "task": 5, "start": 190, "machine": "A", "duration": 99 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 10 }, { "task": 1, "start": 14, "machine": "B", "duration": 69 }, { "task": 2, "start": 83, "machine": "A", "duration": 21 }, { "task": 3, "start": 104, "machine": "C", "duration": 65 }, { "task": 4, "start": 317, "machine": "D", "duration": 68 }, { "task": 5, "start": 421, "machine": "F", "duration": 28 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 350, "machine": "F", "duration": 71 }, { "task": 1, "start": 421, "machine": "E", "duration": 25 }, { "task": 2, "start": 446, "machine": "A", "duration": 31 }, { "task": 3, "start": 503, "machine": "C", "duration": 13 }, { "task": 4, "start": 516, "machine": "D", "duration": 3 }, { "task": 5, "start": 519, "machine": "B", "duration": 65 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 220, "machine": "E", "duration": 64 }, { "task": 1, "start": 349, "machine": "F", "duration": 1 }, { "task": 2, "start": 350, "machine": "C", "duration": 17 }, { "task": 3, "start": 367, "machine": "B", "duration": 60 }, { "task": 4, "start": 477, "machine": "A", "duration": 63 }, { "task": 5, "start": 557, "machine": "D", "duration": 13 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 250, "machine": "F", "duration": 99 }, { "task": 1, "start": 385, "machine": "D", "duration": 60 }, { "task": 2, "start": 445, "machine": "B", "duration": 2 }, { "task": 3, "start": 447, "machine": "E", "duration": 78 }, { "task": 4, "start": 540, "machine": "A", "duration": 31 }, { "task": 5, "start": 571, "machine": "C", "duration": 17 } ] } ], "context_index": 36, "input_format": "nl", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I’m running the grading room this term and the job is to get a bunch of exam batches through their required review steps — each batch has its own little to-do list that must happen in order, and each step needs a particular workstation for a fixed amount of time. The tricky part is deciding who goes to which table when, since a workstation can only handle one review at a time and no step can be skipped or done twice. The better plans are the ones where the last batch gets finished earlier — success is measured by the clock time when the final batch is signed off. The exact batches, steps, stations and times are shown below.\n\nHere are the 12 batches (J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12) and the 6 workstations (0, 1, 2, 3, 4, 5) that I need to coordinate.\nI have batch J1, step 0: it must go to workstation 1 for 1.\nI have batch J1, step 1: it must go to workstation 2 for 26.\nI have batch J1, step 2: it must go to workstation 5 for 93.\nI have batch J1, step 3: it must go to workstation 4 for 77.\nI have batch J1, step 4: it must go to workstation 3 for 56.\nI have batch J1, step 5: it must go to workstation 0 for 8.\nI have batch J2, step 0: it must go to workstation 5 for 67.\nI have batch J2, step 1: it must go to workstation 1 for 95.\nI have batch J2, step 2: it must go to workstation 3 for 98.\nI have batch J2, step 3: it must go to workstation 2 for 90.\nI have batch J2, step 4: it must go to workstation 0 for 91.\nI have batch J2, step 5: it must go to workstation 4 for 51.\nI have batch J3, step 0: it must go to workstation 0 for 81.\nI have batch J3, step 1: it must go to workstation 2 for 69.\nI have batch J3, step 2: it must go to workstation 4 for 17.\nI have batch J3, step 3: it must go to workstation 1 for 32.\nI have batch J3, step 4: it must go to workstation 3 for 35.\nI have batch J3, step 5: it must go to workstation 5 for 60.\nI have batch J4, step 0: it must go to workstation 3 for 90.\nI have batch J4, step 1: it must go to workstation 5 for 22.\nI have batch J4, step 2: it must go to workstation 0 for 56.\nI have batch J4, step 3: it must go to workstation 2 for 57.\nI have batch J4, step 4: it must go to workstation 4 for 94.\nI have batch J4, step 5: it must go to workstation 1 for 57.\nI have batch J5, step 0: it must go to workstation 0 for 1.\nI have batch J5, step 1: it must go to workstation 4 for 10.\nI have batch J5, step 2: it must go to workstation 3 for 18.\nI have batch J5, step 3: it must go to workstation 5 for 1.\nI have batch J5, step 4: it must go to workstation 1 for 45.\nI have batch J5, step 5: it must go to workstation 2 for 69.\nI have batch J6, step 0: it must go to workstation 3 for 1.\nI have batch J6, step 1: it must go to workstation 5 for 45.\nI have batch J6, step 2: it must go to workstation 1 for 47.\nI have batch J6, step 3: it must go to workstation 0 for 70.\nI have batch J6, step 4: it must go to workstation 4 for 42.\nI have batch J6, step 5: it must go to workstation 2 for 60.\nI have batch J7, step 0: it must go to workstation 4 for 35.\nI have batch J7, step 1: it must go to workstation 3 for 1.\nI have batch J7, step 2: it must go to workstation 5 for 30.\nI have batch J7, step 3: it must go to workstation 0 for 50.\nI have batch J7, step 4: it must go to workstation 2 for 27.\nI have batch J7, step 5: it must go to workstation 1 for 64.\nI have batch J8, step 0: it must go to workstation 4 for 37.\nI have batch J8, step 1: it must go to workstation 1 for 76.\nI have batch J8, step 2: it must go to workstation 2 for 82.\nI have batch J8, step 3: it must go to workstation 0 for 67.\nI have batch J8, step 4: it must go to workstation 3 for 27.\nI have batch J8, step 5: it must go to workstation 5 for 1.\nI have batch J9, step 0: it must go to workstation 1 for 27.\nI have batch J9, step 1: it must go to workstation 2 for 4.\nI have batch J9, step 2: it must go to workstation 4 for 78.\nI have batch J9, step 3: it must go to workstation 5 for 27.\nI have batch J9, step 4: it must go to workstation 0 for 55.\nI have batch J9, step 5: it must go to workstation 3 for 44.\nI have batch J10, step 0: it must go to workstation 2 for 3.\nI have batch J10, step 1: it must go to workstation 4 for 98.\nI have batch J10, step 2: it must go to workstation 1 for 94.\nI have batch J10, step 3: it must go to workstation 0 for 2.\nI have batch J10, step 4: it must go to workstation 5 for 91.\nI have batch J10, step 5: it must go to workstation 3 for 72.\nI have batch J11, step 0: it must go to workstation 0 for 56.\nI have batch J11, step 1: it must go to workstation 5 for 35.\nI have batch J11, step 2: it must go to workstation 3 for 27.\nI have batch J11, step 3: it must go to workstation 1 for 88.\nI have batch J11, step 4: it must go to workstation 2 for 95.\nI have batch J11, step 5: it must go to workstation 4 for 53.\nI have batch J12, step 0: it must go to workstation 1 for 76.\nI have batch J12, step 1: it must go to workstation 4 for 8.\nI have batch J12, step 2: it must go to workstation 3 for 92.\nI have batch J12, step 3: it must go to workstation 2 for 75.\nI have batch J12, step 4: it must go to workstation 5 for 6.\nI have batch J12, step 5: it must go to workstation 0 for 96.\nI'm aiming for a plan that finishes the final batch as early as possible.\n\nAlso, when you send the schedule back, please follow this JSON layout:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of this as a simple form: \"solution\" is a list of batches (jobs), each entry has the job identifier and a list of its ordered tasks. For each task you give the task index (which step it is in that job), the planned start time, the machine/workstation to use, and how long that step takes. This block is just a sketch of the shape I expect — fill it in with the actual ids and times when you submit the schedule.\n\nPlease use the identifiers exactly as they appear in the instance input — do not rename them and do not invent new labels.\n\nValid identifiers look like plain numbers such as \"1\" or \"23\", single capital letters like \"A\" or \"B\", or a capital letter followed by digits like \"A1\" or \"X7\".", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 1, 1 ], [ 2, 26 ], [ 5, 93 ], [ 4, 77 ], [ 3, 56 ], [ 0, 8 ] ], [ [ 5, 67 ], [ 1, 95 ], [ 3, 98 ], [ 2, 90 ], [ 0, 91 ], [ 4, 51 ] ], [ [ 0, 81 ], [ 2, 69 ], [ 4, 17 ], [ 1, 32 ], [ 3, 35 ], [ 5, 60 ] ], [ [ 3, 90 ], [ 5, 22 ], [ 0, 56 ], [ 2, 57 ], [ 4, 94 ], [ 1, 57 ] ], [ [ 0, 1 ], [ 4, 10 ], [ 3, 18 ], [ 5, 1 ], [ 1, 45 ], [ 2, 69 ] ], [ [ 3, 1 ], [ 5, 45 ], [ 1, 47 ], [ 0, 70 ], [ 4, 42 ], [ 2, 60 ] ], [ [ 4, 35 ], [ 3, 1 ], [ 5, 30 ], [ 0, 50 ], [ 2, 27 ], [ 1, 64 ] ], [ [ 4, 37 ], [ 1, 76 ], [ 2, 82 ], [ 0, 67 ], [ 3, 27 ], [ 5, 1 ] ], [ [ 1, 27 ], [ 2, 4 ], [ 4, 78 ], [ 5, 27 ], [ 0, 55 ], [ 3, 44 ] ], [ [ 2, 3 ], [ 4, 98 ], [ 1, 94 ], [ 0, 2 ], [ 5, 91 ], [ 3, 72 ] ], [ [ 0, 56 ], [ 5, 35 ], [ 3, 27 ], [ 1, 88 ], [ 2, 95 ], [ 4, 53 ] ], [ [ 1, 76 ], [ 4, 8 ], [ 3, 92 ], [ 2, 75 ], [ 5, 6 ], [ 0, 96 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 1 }, { "task": 1, "start": 1, "machine": 2, "duration": 26 }, { "task": 2, "start": 68, "machine": 5, "duration": 93 }, { "task": 3, "start": 288, "machine": 4, "duration": 77 }, { "task": 4, "start": 369, "machine": 3, "duration": 56 }, { "task": 5, "start": 670, "machine": 0, "duration": 8 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 67 }, { "task": 1, "start": 149, "machine": 1, "duration": 95 }, { "task": 2, "start": 244, "machine": 3, "duration": 98 }, { "task": 3, "start": 352, "machine": 2, "duration": 90 }, { "task": 4, "start": 442, "machine": 0, "duration": 91 }, { "task": 5, "start": 533, "machine": 4, "duration": 51 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 1, "machine": 0, "duration": 81 }, { "task": 1, "start": 82, "machine": 2, "duration": 69 }, { "task": 2, "start": 459, "machine": 4, "duration": 17 }, { "task": 3, "start": 549, "machine": 1, "duration": 32 }, { "task": 4, "start": 605, "machine": 3, "duration": 35 }, { "task": 5, "start": 640, "machine": 5, "duration": 60 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 29, "machine": 3, "duration": 90 }, { "task": 1, "start": 161, "machine": 5, "duration": 22 }, { "task": 2, "start": 183, "machine": 0, "duration": 56 }, { "task": 3, "start": 295, "machine": 2, "duration": 57 }, { "task": 4, "start": 365, "machine": 4, "duration": 94 }, { "task": 5, "start": 645, "machine": 1, "duration": 57 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 1 }, { "task": 1, "start": 1, "machine": 4, "duration": 10 }, { "task": 2, "start": 11, "machine": 3, "duration": 18 }, { "task": 3, "start": 67, "machine": 5, "duration": 1 }, { "task": 4, "start": 104, "machine": 1, "duration": 45 }, { "task": 5, "start": 151, "machine": 2, "duration": 69 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 247, "machine": 5, "duration": 45 }, { "task": 2, "start": 414, "machine": 1, "duration": 47 }, { "task": 3, "start": 533, "machine": 0, "duration": 70 }, { "task": 4, "start": 603, "machine": 4, "duration": 42 }, { "task": 5, "start": 646, "machine": 2, "duration": 60 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 48, "machine": 4, "duration": 35 }, { "task": 1, "start": 211, "machine": 3, "duration": 1 }, { "task": 2, "start": 217, "machine": 5, "duration": 30 }, { "task": 3, "start": 294, "machine": 0, "duration": 50 }, { "task": 4, "start": 524, "machine": 2, "duration": 27 }, { "task": 5, "start": 581, "machine": 1, "duration": 64 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 11, "machine": 4, "duration": 37 }, { "task": 1, "start": 244, "machine": 1, "duration": 76 }, { "task": 2, "start": 442, "machine": 2, "duration": 82 }, { "task": 3, "start": 603, "machine": 0, "duration": 67 }, { "task": 4, "start": 670, "machine": 3, "duration": 27 }, { "task": 5, "start": 700, "machine": 5, "duration": 1 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 1, "machine": 1, "duration": 27 }, { "task": 1, "start": 30, "machine": 2, "duration": 4 }, { "task": 2, "start": 112, "machine": 4, "duration": 78 }, { "task": 3, "start": 190, "machine": 5, "duration": 27 }, { "task": 4, "start": 239, "machine": 0, "duration": 55 }, { "task": 5, "start": 425, "machine": 3, "duration": 44 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 27, "machine": 2, "duration": 3 }, { "task": 1, "start": 190, "machine": 4, "duration": 98 }, { "task": 2, "start": 320, "machine": 1, "duration": 94 }, { "task": 3, "start": 440, "machine": 0, "duration": 2 }, { "task": 4, "start": 442, "machine": 5, "duration": 91 }, { "task": 5, "start": 533, "machine": 3, "duration": 72 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 82, "machine": 0, "duration": 56 }, { "task": 1, "start": 292, "machine": 5, "duration": 35 }, { "task": 2, "start": 342, "machine": 3, "duration": 27 }, { "task": 3, "start": 461, "machine": 1, "duration": 88 }, { "task": 4, "start": 551, "machine": 2, "duration": 95 }, { "task": 5, "start": 646, "machine": 4, "duration": 53 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 28, "machine": 1, "duration": 76 }, { "task": 1, "start": 104, "machine": 4, "duration": 8 }, { "task": 2, "start": 119, "machine": 3, "duration": 92 }, { "task": 3, "start": 220, "machine": 2, "duration": 75 }, { "task": 4, "start": 327, "machine": 5, "duration": 6 }, { "task": 5, "start": 344, "machine": 0, "duration": 96 } ] } ], "obj": 706.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 0, 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 1, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 26 }, { "job_id": "J1", "task_id": 2, "machine_id": 5, "duration": 93 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 77 }, { "job_id": "J1", "task_id": 4, "machine_id": 3, "duration": 56 }, { "job_id": "J1", "task_id": 5, "machine_id": 0, "duration": 8 }, { "job_id": "J2", "task_id": 0, "machine_id": 5, "duration": 67 }, { "job_id": "J2", "task_id": 1, "machine_id": 1, "duration": 95 }, { "job_id": "J2", "task_id": 2, "machine_id": 3, "duration": 98 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 90 }, { "job_id": "J2", "task_id": 4, "machine_id": 0, "duration": 91 }, { "job_id": "J2", "task_id": 5, "machine_id": 4, "duration": 51 }, { "job_id": "J3", "task_id": 0, "machine_id": 0, "duration": 81 }, { "job_id": "J3", "task_id": 1, "machine_id": 2, "duration": 69 }, { "job_id": "J3", "task_id": 2, "machine_id": 4, "duration": 17 }, { "job_id": "J3", "task_id": 3, "machine_id": 1, "duration": 32 }, { "job_id": "J3", "task_id": 4, "machine_id": 3, "duration": 35 }, { "job_id": "J3", "task_id": 5, "machine_id": 5, "duration": 60 }, { "job_id": "J4", "task_id": 0, "machine_id": 3, "duration": 90 }, { "job_id": "J4", "task_id": 1, "machine_id": 5, "duration": 22 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 56 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 57 }, { "job_id": "J4", "task_id": 4, "machine_id": 4, "duration": 94 }, { "job_id": "J4", "task_id": 5, "machine_id": 1, "duration": 57 }, { "job_id": "J5", "task_id": 0, "machine_id": 0, "duration": 1 }, { "job_id": "J5", "task_id": 1, "machine_id": 4, "duration": 10 }, { "job_id": "J5", "task_id": 2, "machine_id": 3, "duration": 18 }, { "job_id": "J5", "task_id": 3, "machine_id": 5, "duration": 1 }, { "job_id": "J5", "task_id": 4, "machine_id": 1, "duration": 45 }, { "job_id": "J5", "task_id": 5, "machine_id": 2, "duration": 69 }, { "job_id": "J6", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J6", "task_id": 1, "machine_id": 5, "duration": 45 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 47 }, { "job_id": "J6", "task_id": 3, "machine_id": 0, "duration": 70 }, { "job_id": "J6", "task_id": 4, "machine_id": 4, "duration": 42 }, { "job_id": "J6", "task_id": 5, "machine_id": 2, "duration": 60 }, { "job_id": "J7", "task_id": 0, "machine_id": 4, "duration": 35 }, { "job_id": "J7", "task_id": 1, "machine_id": 3, "duration": 1 }, { "job_id": "J7", "task_id": 2, "machine_id": 5, "duration": 30 }, { "job_id": "J7", "task_id": 3, "machine_id": 0, "duration": 50 }, { "job_id": "J7", "task_id": 4, "machine_id": 2, "duration": 27 }, { "job_id": "J7", "task_id": 5, "machine_id": 1, "duration": 64 }, { "job_id": "J8", "task_id": 0, "machine_id": 4, "duration": 37 }, { "job_id": "J8", "task_id": 1, "machine_id": 1, "duration": 76 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 82 }, { "job_id": "J8", "task_id": 3, "machine_id": 0, "duration": 67 }, { "job_id": "J8", "task_id": 4, "machine_id": 3, "duration": 27 }, { "job_id": "J8", "task_id": 5, "machine_id": 5, "duration": 1 }, { "job_id": "J9", "task_id": 0, "machine_id": 1, "duration": 27 }, { "job_id": "J9", "task_id": 1, "machine_id": 2, "duration": 4 }, { "job_id": "J9", "task_id": 2, "machine_id": 4, "duration": 78 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 27 }, { "job_id": "J9", "task_id": 4, "machine_id": 0, "duration": 55 }, { "job_id": "J9", "task_id": 5, "machine_id": 3, "duration": 44 }, { "job_id": "J10", "task_id": 0, "machine_id": 2, "duration": 3 }, { "job_id": "J10", "task_id": 1, "machine_id": 4, "duration": 98 }, { "job_id": "J10", "task_id": 2, "machine_id": 1, "duration": 94 }, { "job_id": "J10", "task_id": 3, "machine_id": 0, "duration": 2 }, { "job_id": "J10", "task_id": 4, "machine_id": 5, "duration": 91 }, { "job_id": "J10", "task_id": 5, "machine_id": 3, "duration": 72 }, { "job_id": "J11", "task_id": 0, "machine_id": 0, "duration": 56 }, { "job_id": "J11", "task_id": 1, "machine_id": 5, "duration": 35 }, { "job_id": "J11", "task_id": 2, "machine_id": 3, "duration": 27 }, { "job_id": "J11", "task_id": 3, "machine_id": 1, "duration": 88 }, { "job_id": "J11", "task_id": 4, "machine_id": 2, "duration": 95 }, { "job_id": "J11", "task_id": 5, "machine_id": 4, "duration": 53 }, { "job_id": "J12", "task_id": 0, "machine_id": 1, "duration": 76 }, { "job_id": "J12", "task_id": 1, "machine_id": 4, "duration": 8 }, { "job_id": "J12", "task_id": 2, "machine_id": 3, "duration": 92 }, { "job_id": "J12", "task_id": 3, "machine_id": 2, "duration": 75 }, { "job_id": "J12", "task_id": 4, "machine_id": 5, "duration": 6 }, { "job_id": "J12", "task_id": 5, "machine_id": 0, "duration": 96 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 1 }, { "task": 1, "start": 1, "machine": 2, "duration": 26 }, { "task": 2, "start": 68, "machine": 5, "duration": 93 }, { "task": 3, "start": 288, "machine": 4, "duration": 77 }, { "task": 4, "start": 369, "machine": 3, "duration": 56 }, { "task": 5, "start": 670, "machine": 0, "duration": 8 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 67 }, { "task": 1, "start": 149, "machine": 1, "duration": 95 }, { "task": 2, "start": 244, "machine": 3, "duration": 98 }, { "task": 3, "start": 352, "machine": 2, "duration": 90 }, { "task": 4, "start": 442, "machine": 0, "duration": 91 }, { "task": 5, "start": 533, "machine": 4, "duration": 51 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 1, "machine": 0, "duration": 81 }, { "task": 1, "start": 82, "machine": 2, "duration": 69 }, { "task": 2, "start": 459, "machine": 4, "duration": 17 }, { "task": 3, "start": 549, "machine": 1, "duration": 32 }, { "task": 4, "start": 605, "machine": 3, "duration": 35 }, { "task": 5, "start": 640, "machine": 5, "duration": 60 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 29, "machine": 3, "duration": 90 }, { "task": 1, "start": 161, "machine": 5, "duration": 22 }, { "task": 2, "start": 183, "machine": 0, "duration": 56 }, { "task": 3, "start": 295, "machine": 2, "duration": 57 }, { "task": 4, "start": 365, "machine": 4, "duration": 94 }, { "task": 5, "start": 645, "machine": 1, "duration": 57 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 1 }, { "task": 1, "start": 1, "machine": 4, "duration": 10 }, { "task": 2, "start": 11, "machine": 3, "duration": 18 }, { "task": 3, "start": 67, "machine": 5, "duration": 1 }, { "task": 4, "start": 104, "machine": 1, "duration": 45 }, { "task": 5, "start": 151, "machine": 2, "duration": 69 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 247, "machine": 5, "duration": 45 }, { "task": 2, "start": 414, "machine": 1, "duration": 47 }, { "task": 3, "start": 533, "machine": 0, "duration": 70 }, { "task": 4, "start": 603, "machine": 4, "duration": 42 }, { "task": 5, "start": 646, "machine": 2, "duration": 60 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 48, "machine": 4, "duration": 35 }, { "task": 1, "start": 211, "machine": 3, "duration": 1 }, { "task": 2, "start": 217, "machine": 5, "duration": 30 }, { "task": 3, "start": 294, "machine": 0, "duration": 50 }, { "task": 4, "start": 524, "machine": 2, "duration": 27 }, { "task": 5, "start": 581, "machine": 1, "duration": 64 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 11, "machine": 4, "duration": 37 }, { "task": 1, "start": 244, "machine": 1, "duration": 76 }, { "task": 2, "start": 442, "machine": 2, "duration": 82 }, { "task": 3, "start": 603, "machine": 0, "duration": 67 }, { "task": 4, "start": 670, "machine": 3, "duration": 27 }, { "task": 5, "start": 700, "machine": 5, "duration": 1 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 1, "machine": 1, "duration": 27 }, { "task": 1, "start": 30, "machine": 2, "duration": 4 }, { "task": 2, "start": 112, "machine": 4, "duration": 78 }, { "task": 3, "start": 190, "machine": 5, "duration": 27 }, { "task": 4, "start": 239, "machine": 0, "duration": 55 }, { "task": 5, "start": 425, "machine": 3, "duration": 44 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 27, "machine": 2, "duration": 3 }, { "task": 1, "start": 190, "machine": 4, "duration": 98 }, { "task": 2, "start": 320, "machine": 1, "duration": 94 }, { "task": 3, "start": 440, "machine": 0, "duration": 2 }, { "task": 4, "start": 442, "machine": 5, "duration": 91 }, { "task": 5, "start": 533, "machine": 3, "duration": 72 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 82, "machine": 0, "duration": 56 }, { "task": 1, "start": 292, "machine": 5, "duration": 35 }, { "task": 2, "start": 342, "machine": 3, "duration": 27 }, { "task": 3, "start": 461, "machine": 1, "duration": 88 }, { "task": 4, "start": 551, "machine": 2, "duration": 95 }, { "task": 5, "start": 646, "machine": 4, "duration": 53 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 28, "machine": 1, "duration": 76 }, { "task": 1, "start": 104, "machine": 4, "duration": 8 }, { "task": 2, "start": 119, "machine": 3, "duration": 92 }, { "task": 3, "start": 220, "machine": 2, "duration": 75 }, { "task": 4, "start": 327, "machine": 5, "duration": 6 }, { "task": 5, "start": 344, "machine": 0, "duration": 96 } ] } ], "context_index": 37, "input_format": "nl", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Someone on the team needs to line up the boxing, labeling, and sealing work so all product sets flow through their three steps without collisions on the machines. The choice is about timing and order: which set starts where and when, given each operation’s fixed duration and the rule that a machine can only do one task at once. Plans are judged by how quickly the entire batch is wrapped up — basically, the time on the clock when the last job is done — and the full list of sets, machines, and times appears below.\n\n{\n \"nr_product_sets\": 9,\n \"nr_packing_machines\": 5,\n \"product_set_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\"\n ],\n \"machine_ids\": [\n 0,\n 1,\n 2,\n 3,\n 4\n ],\n \"tasks\": [\n {\n \"product_set_id\": \"J1\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 1\n },\n {\n \"product_set_id\": \"J1\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 39\n },\n {\n \"product_set_id\": \"J1\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 69\n },\n {\n \"product_set_id\": \"J1\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 24\n },\n {\n \"product_set_id\": \"J1\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 9\n },\n {\n \"product_set_id\": \"J2\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 30\n },\n {\n \"product_set_id\": \"J2\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 71\n },\n {\n \"product_set_id\": \"J2\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 63\n },\n {\n \"product_set_id\": \"J2\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 66\n },\n {\n \"product_set_id\": \"J2\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 84\n },\n {\n \"product_set_id\": \"J3\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 30\n },\n {\n \"product_set_id\": \"J3\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 4\n },\n {\n \"product_set_id\": \"J3\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 64\n },\n {\n \"product_set_id\": \"J3\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 73\n },\n {\n \"product_set_id\": \"J3\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 23\n },\n {\n \"product_set_id\": \"J4\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 84\n },\n {\n \"product_set_id\": \"J4\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 3\n },\n {\n \"product_set_id\": \"J4\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 61\n },\n {\n \"product_set_id\": \"J4\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 29\n },\n {\n \"product_set_id\": \"J4\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 28\n },\n {\n \"product_set_id\": \"J5\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 98\n },\n {\n \"product_set_id\": \"J5\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 26\n },\n {\n \"product_set_id\": \"J5\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 53\n },\n {\n \"product_set_id\": \"J5\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 50\n },\n {\n \"product_set_id\": \"J5\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 84\n },\n {\n \"product_set_id\": \"J6\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 63\n },\n {\n \"product_set_id\": \"J6\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 27\n },\n {\n \"product_set_id\": \"J6\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 66\n },\n {\n \"product_set_id\": \"J6\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 86\n },\n {\n \"product_set_id\": \"J6\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 40\n },\n {\n \"product_set_id\": \"J7\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 91\n },\n {\n \"product_set_id\": \"J7\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 22\n },\n {\n \"product_set_id\": \"J7\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 73\n },\n {\n \"product_set_id\": \"J7\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 75\n },\n {\n \"product_set_id\": \"J7\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 15\n },\n {\n \"product_set_id\": \"J8\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 93\n },\n {\n \"product_set_id\": \"J8\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 97\n },\n {\n \"product_set_id\": \"J8\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 75\n },\n {\n \"product_set_id\": \"J8\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 29\n },\n {\n \"product_set_id\": \"J8\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 86\n },\n {\n \"product_set_id\": \"J9\",\n \"operation_index\": 0,\n \"assigned_machine_id\": 3,\n \"processing_duration\": 52\n },\n {\n \"product_set_id\": \"J9\",\n \"operation_index\": 1,\n \"assigned_machine_id\": 0,\n \"processing_duration\": 62\n },\n {\n \"product_set_id\": \"J9\",\n \"operation_index\": 2,\n \"assigned_machine_id\": 2,\n \"processing_duration\": 9\n },\n {\n \"product_set_id\": \"J9\",\n \"operation_index\": 3,\n \"assigned_machine_id\": 4,\n \"processing_duration\": 51\n },\n {\n \"product_set_id\": \"J9\",\n \"operation_index\": 4,\n \"assigned_machine_id\": 1,\n \"processing_duration\": 47\n }\n ]\n}\n\nAlso, when you send back the proposed schedule, please use this simple JSON layout so it's easy to check and plug into the rest of the workflow.\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a sketch of the shape I need: each object in \"solution\" is one product set (job), \"job\" is its identifier, and \"tasks\" is the ordered list of steps for that set. For each task, \"task\" is the task's index in the job, \"start\" is the clock time it begins, \"machine\" is which machine does it, and \"duration\" is how long it runs. Think of it like filling out a little form for each set and each step.\n\nReminder: this JSON is only the expected shape — not the actual schedule. Use the exact identifiers from the instance input; do not rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 4, 1 ], [ 1, 39 ], [ 2, 69 ], [ 3, 24 ], [ 0, 9 ] ], [ [ 1, 30 ], [ 2, 71 ], [ 0, 63 ], [ 4, 66 ], [ 3, 84 ] ], [ [ 1, 30 ], [ 2, 4 ], [ 0, 64 ], [ 4, 73 ], [ 3, 23 ] ], [ [ 0, 84 ], [ 3, 3 ], [ 2, 61 ], [ 4, 29 ], [ 1, 28 ] ], [ [ 0, 98 ], [ 3, 26 ], [ 1, 53 ], [ 4, 50 ], [ 2, 84 ] ], [ [ 2, 63 ], [ 1, 27 ], [ 0, 66 ], [ 3, 86 ], [ 4, 40 ] ], [ [ 0, 91 ], [ 1, 22 ], [ 4, 73 ], [ 3, 75 ], [ 2, 15 ] ], [ [ 3, 93 ], [ 2, 97 ], [ 0, 75 ], [ 1, 29 ], [ 4, 86 ] ], [ [ 3, 52 ], [ 0, 62 ], [ 2, 9 ], [ 4, 51 ], [ 1, 47 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 60, "machine": 1, "duration": 39 }, { "task": 2, "start": 235, "machine": 2, "duration": 69 }, { "task": 3, "start": 304, "machine": 3, "duration": 24 }, { "task": 4, "start": 603, "machine": 0, "duration": 9 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 30 }, { "task": 1, "start": 63, "machine": 2, "duration": 71 }, { "task": 2, "start": 478, "machine": 0, "duration": 63 }, { "task": 3, "start": 541, "machine": 4, "duration": 66 }, { "task": 4, "start": 607, "machine": 3, "duration": 84 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 30, "machine": 1, "duration": 30 }, { "task": 1, "start": 231, "machine": 2, "duration": 4 }, { "task": 2, "start": 273, "machine": 0, "duration": 64 }, { "task": 3, "start": 347, "machine": 4, "duration": 73 }, { "task": 4, "start": 422, "machine": 3, "duration": 23 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 189, "machine": 0, "duration": 84 }, { "task": 1, "start": 273, "machine": 3, "duration": 3 }, { "task": 2, "start": 304, "machine": 2, "duration": 61 }, { "task": 3, "start": 420, "machine": 4, "duration": 29 }, { "task": 4, "start": 449, "machine": 1, "duration": 28 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 98 }, { "task": 1, "start": 145, "machine": 3, "duration": 26 }, { "task": 2, "start": 171, "machine": 1, "duration": 53 }, { "task": 3, "start": 224, "machine": 4, "duration": 50 }, { "task": 4, "start": 365, "machine": 2, "duration": 84 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 63 }, { "task": 1, "start": 99, "machine": 1, "duration": 27 }, { "task": 2, "start": 412, "machine": 0, "duration": 66 }, { "task": 3, "start": 478, "machine": 3, "duration": 86 }, { "task": 4, "start": 663, "machine": 4, "duration": 40 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 98, "machine": 0, "duration": 91 }, { "task": 1, "start": 224, "machine": 1, "duration": 22 }, { "task": 2, "start": 274, "machine": 4, "duration": 73 }, { "task": 3, "start": 347, "machine": 3, "duration": 75 }, { "task": 4, "start": 449, "machine": 2, "duration": 15 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 93 }, { "task": 1, "start": 134, "machine": 2, "duration": 97 }, { "task": 2, "start": 337, "machine": 0, "duration": 75 }, { "task": 3, "start": 412, "machine": 1, "duration": 29 }, { "task": 4, "start": 449, "machine": 4, "duration": 86 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 93, "machine": 3, "duration": 52 }, { "task": 1, "start": 541, "machine": 0, "duration": 62 }, { "task": 2, "start": 603, "machine": 2, "duration": 9 }, { "task": 3, "start": 612, "machine": 4, "duration": 51 }, { "task": 4, "start": 663, "machine": 1, "duration": 47 } ] } ], "obj": 710.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 4, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 1, "duration": 39 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 69 }, { "job_id": "J1", "task_id": 3, "machine_id": 3, "duration": 24 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 9 }, { "job_id": "J2", "task_id": 0, "machine_id": 1, "duration": 30 }, { "job_id": "J2", "task_id": 1, "machine_id": 2, "duration": 71 }, { "job_id": "J2", "task_id": 2, "machine_id": 0, "duration": 63 }, { "job_id": "J2", "task_id": 3, "machine_id": 4, "duration": 66 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 84 }, { "job_id": "J3", "task_id": 0, "machine_id": 1, "duration": 30 }, { "job_id": "J3", "task_id": 1, "machine_id": 2, "duration": 4 }, { "job_id": "J3", "task_id": 2, "machine_id": 0, "duration": 64 }, { "job_id": "J3", "task_id": 3, "machine_id": 4, "duration": 73 }, { "job_id": "J3", "task_id": 4, "machine_id": 3, "duration": 23 }, { "job_id": "J4", "task_id": 0, "machine_id": 0, "duration": 84 }, { "job_id": "J4", "task_id": 1, "machine_id": 3, "duration": 3 }, { "job_id": "J4", "task_id": 2, "machine_id": 2, "duration": 61 }, { "job_id": "J4", "task_id": 3, "machine_id": 4, "duration": 29 }, { "job_id": "J4", "task_id": 4, "machine_id": 1, "duration": 28 }, { "job_id": "J5", "task_id": 0, "machine_id": 0, "duration": 98 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 26 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 53 }, { "job_id": "J5", "task_id": 3, "machine_id": 4, "duration": 50 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 84 }, { "job_id": "J6", "task_id": 0, "machine_id": 2, "duration": 63 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 27 }, { "job_id": "J6", "task_id": 2, "machine_id": 0, "duration": 66 }, { "job_id": "J6", "task_id": 3, "machine_id": 3, "duration": 86 }, { "job_id": "J6", "task_id": 4, "machine_id": 4, "duration": 40 }, { "job_id": "J7", "task_id": 0, "machine_id": 0, "duration": 91 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 22 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 73 }, { "job_id": "J7", "task_id": 3, "machine_id": 3, "duration": 75 }, { "job_id": "J7", "task_id": 4, "machine_id": 2, "duration": 15 }, { "job_id": "J8", "task_id": 0, "machine_id": 3, "duration": 93 }, { "job_id": "J8", "task_id": 1, "machine_id": 2, "duration": 97 }, { "job_id": "J8", "task_id": 2, "machine_id": 0, "duration": 75 }, { "job_id": "J8", "task_id": 3, "machine_id": 1, "duration": 29 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 86 }, { "job_id": "J9", "task_id": 0, "machine_id": 3, "duration": 52 }, { "job_id": "J9", "task_id": 1, "machine_id": 0, "duration": 62 }, { "job_id": "J9", "task_id": 2, "machine_id": 2, "duration": 9 }, { "job_id": "J9", "task_id": 3, "machine_id": 4, "duration": 51 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 47 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 60, "machine": 1, "duration": 39 }, { "task": 2, "start": 235, "machine": 2, "duration": 69 }, { "task": 3, "start": 304, "machine": 3, "duration": 24 }, { "task": 4, "start": 603, "machine": 0, "duration": 9 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 30 }, { "task": 1, "start": 63, "machine": 2, "duration": 71 }, { "task": 2, "start": 478, "machine": 0, "duration": 63 }, { "task": 3, "start": 541, "machine": 4, "duration": 66 }, { "task": 4, "start": 607, "machine": 3, "duration": 84 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 30, "machine": 1, "duration": 30 }, { "task": 1, "start": 231, "machine": 2, "duration": 4 }, { "task": 2, "start": 273, "machine": 0, "duration": 64 }, { "task": 3, "start": 347, "machine": 4, "duration": 73 }, { "task": 4, "start": 422, "machine": 3, "duration": 23 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 189, "machine": 0, "duration": 84 }, { "task": 1, "start": 273, "machine": 3, "duration": 3 }, { "task": 2, "start": 304, "machine": 2, "duration": 61 }, { "task": 3, "start": 420, "machine": 4, "duration": 29 }, { "task": 4, "start": 449, "machine": 1, "duration": 28 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 98 }, { "task": 1, "start": 145, "machine": 3, "duration": 26 }, { "task": 2, "start": 171, "machine": 1, "duration": 53 }, { "task": 3, "start": 224, "machine": 4, "duration": 50 }, { "task": 4, "start": 365, "machine": 2, "duration": 84 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 63 }, { "task": 1, "start": 99, "machine": 1, "duration": 27 }, { "task": 2, "start": 412, "machine": 0, "duration": 66 }, { "task": 3, "start": 478, "machine": 3, "duration": 86 }, { "task": 4, "start": 663, "machine": 4, "duration": 40 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 98, "machine": 0, "duration": 91 }, { "task": 1, "start": 224, "machine": 1, "duration": 22 }, { "task": 2, "start": 274, "machine": 4, "duration": 73 }, { "task": 3, "start": 347, "machine": 3, "duration": 75 }, { "task": 4, "start": 449, "machine": 2, "duration": 15 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 93 }, { "task": 1, "start": 134, "machine": 2, "duration": 97 }, { "task": 2, "start": 337, "machine": 0, "duration": 75 }, { "task": 3, "start": 412, "machine": 1, "duration": 29 }, { "task": 4, "start": 449, "machine": 4, "duration": 86 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 93, "machine": 3, "duration": 52 }, { "task": 1, "start": 541, "machine": 0, "duration": 62 }, { "task": 2, "start": 603, "machine": 2, "duration": 9 }, { "task": 3, "start": 612, "machine": 4, "duration": 51 }, { "task": 4, "start": 663, "machine": 1, "duration": 47 } ] } ], "context_index": 38, "input_format": "json", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Back when planning a large banquet, the coordinator treated every entree like a mini assembly line: a fixed sequence of actions on named stations, each action taking a known amount of time and not to be skipped or repeated. The decision was how to schedule those actions across stations so none overlap on a single station and every recipe keeps its order. Success is measured by how soon the whole job is done — check the finish time of each dish and the latest of those finish times is the overall completion time to make as small as possible. The detailed list of dishes, stations, and durations is provided below.\n\nThe list specified 11 menu items and 5 stations; menu IDs were J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11 and station IDs were A, B, C, D, E.\nMenu J1 stage 0 required station C and took 1 minutes.\nMenu J1 stage 1 required station E and took 52 minutes.\nMenu J1 stage 2 required station B and took 45 minutes.\nMenu J1 stage 3 required station D and took 69 minutes.\nMenu J1 stage 4 required station A and took 62 minutes.\nMenu J2 stage 0 required station C and took 52 minutes.\nMenu J2 stage 1 required station E and took 76 minutes.\nMenu J2 stage 2 required station D and took 31 minutes.\nMenu J2 stage 3 required station A and took 35 minutes.\nMenu J2 stage 4 required station B and took 77 minutes.\nMenu J3 stage 0 required station A and took 68 minutes.\nMenu J3 stage 1 required station E and took 55 minutes.\nMenu J3 stage 2 required station D and took 48 minutes.\nMenu J3 stage 3 required station C and took 76 minutes.\nMenu J3 stage 4 required station B and took 28 minutes.\nMenu J4 stage 0 required station D and took 38 minutes.\nMenu J4 stage 1 required station E and took 69 minutes.\nMenu J4 stage 2 required station C and took 61 minutes.\nMenu J4 stage 3 required station B and took 67 minutes.\nMenu J4 stage 4 required station A and took 35 minutes.\nMenu J5 stage 0 required station E and took 40 minutes.\nMenu J5 stage 1 required station B and took 94 minutes.\nMenu J5 stage 2 required station D and took 12 minutes.\nMenu J5 stage 3 required station C and took 44 minutes.\nMenu J5 stage 4 required station A and took 69 minutes.\nMenu J6 stage 0 required station A and took 16 minutes.\nMenu J6 stage 1 required station E and took 36 minutes.\nMenu J6 stage 2 required station D and took 32 minutes.\nMenu J6 stage 3 required station C and took 28 minutes.\nMenu J6 stage 4 required station B and took 10 minutes.\nMenu J7 stage 0 required station C and took 82 minutes.\nMenu J7 stage 1 required station D and took 97 minutes.\nMenu J7 stage 2 required station A and took 99 minutes.\nMenu J7 stage 3 required station E and took 79 minutes.\nMenu J7 stage 4 required station B and took 88 minutes.\nMenu J8 stage 0 required station C and took 26 minutes.\nMenu J8 stage 1 required station E and took 61 minutes.\nMenu J8 stage 2 required station D and took 51 minutes.\nMenu J8 stage 3 required station A and took 29 minutes.\nMenu J8 stage 4 required station B and took 23 minutes.\nMenu J9 stage 0 required station A and took 76 minutes.\nMenu J9 stage 1 required station D and took 60 minutes.\nMenu J9 stage 2 required station E and took 81 minutes.\nMenu J9 stage 3 required station B and took 27 minutes.\nMenu J9 stage 4 required station C and took 13 minutes.\nMenu J10 stage 0 required station A and took 81 minutes.\nMenu J10 stage 1 required station D and took 53 minutes.\nMenu J10 stage 2 required station B and took 77 minutes.\nMenu J10 stage 3 required station C and took 81 minutes.\nMenu J10 stage 4 required station E and took 91 minutes.\nMenu J11 stage 0 required station D and took 32 minutes.\nMenu J11 stage 1 required station C and took 22 minutes.\nMenu J11 stage 2 required station B and took 3 minutes.\nMenu J11 stage 3 required station E and took 99 minutes.\nMenu J11 stage 4 required station A and took 74 minutes.\nWith every stage recorded this way, the coordinator could seek the schedule that minimized the banquet's overall completion time.\n\nAlso, to keep things simple for me to read and for you to check, please give the schedule using this JSON shape.\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: \"solution\" is a list of the dishes (jobs). Each job object has the job id and a list of its tasks. Each task entry says which step number it is, when that step starts, which station (machine) it uses, and how long it runs. Pretty straightforward — this block is just the expected shape, not the actual schedule.\n\nPlease make sure all identifiers are used exactly as they appear in the instance input — no renaming and no new labels.\n\nFor example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”\".", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 2, 1 ], [ 4, 52 ], [ 1, 45 ], [ 3, 69 ], [ 0, 62 ] ], [ [ 2, 52 ], [ 4, 76 ], [ 3, 31 ], [ 0, 35 ], [ 1, 77 ] ], [ [ 0, 68 ], [ 4, 55 ], [ 3, 48 ], [ 2, 76 ], [ 1, 28 ] ], [ [ 3, 38 ], [ 4, 69 ], [ 2, 61 ], [ 1, 67 ], [ 0, 35 ] ], [ [ 4, 40 ], [ 1, 94 ], [ 3, 12 ], [ 2, 44 ], [ 0, 69 ] ], [ [ 0, 16 ], [ 4, 36 ], [ 3, 32 ], [ 2, 28 ], [ 1, 10 ] ], [ [ 2, 82 ], [ 3, 97 ], [ 0, 99 ], [ 4, 79 ], [ 1, 88 ] ], [ [ 2, 26 ], [ 4, 61 ], [ 3, 51 ], [ 0, 29 ], [ 1, 23 ] ], [ [ 0, 76 ], [ 3, 60 ], [ 4, 81 ], [ 1, 27 ], [ 2, 13 ] ], [ [ 0, 81 ], [ 3, 53 ], [ 1, 77 ], [ 2, 81 ], [ 4, 91 ] ], [ [ 3, 32 ], [ 2, 22 ], [ 1, 3 ], [ 4, 99 ], [ 0, 74 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 82, "machine": 2, "duration": 1 }, { "task": 1, "start": 109, "machine": 4, "duration": 52 }, { "task": 2, "start": 311, "machine": 1, "duration": 45 }, { "task": 3, "start": 370, "machine": 3, "duration": 69 }, { "task": 4, "start": 484, "machine": 0, "duration": 62 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 83, "machine": 2, "duration": 52 }, { "task": 1, "start": 161, "machine": 4, "duration": 76 }, { "task": 2, "start": 291, "machine": 3, "duration": 31 }, { "task": 3, "start": 340, "machine": 0, "duration": 35 }, { "task": 4, "start": 375, "machine": 1, "duration": 77 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 81, "machine": 0, "duration": 68 }, { "task": 1, "start": 237, "machine": 4, "duration": 55 }, { "task": 2, "start": 322, "machine": 3, "duration": 48 }, { "task": 3, "start": 370, "machine": 2, "duration": 76 }, { "task": 4, "start": 452, "machine": 1, "duration": 28 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 38 }, { "task": 1, "start": 40, "machine": 4, "duration": 69 }, { "task": 2, "start": 183, "machine": 2, "duration": 61 }, { "task": 3, "start": 244, "machine": 1, "duration": 67 }, { "task": 4, "start": 375, "machine": 0, "duration": 35 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 40 }, { "task": 1, "start": 40, "machine": 1, "duration": 94 }, { "task": 2, "start": 439, "machine": 3, "duration": 12 }, { "task": 3, "start": 451, "machine": 2, "duration": 44 }, { "task": 4, "start": 546, "machine": 0, "duration": 69 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 225, "machine": 0, "duration": 16 }, { "task": 1, "start": 612, "machine": 4, "duration": 36 }, { "task": 2, "start": 648, "machine": 3, "duration": 32 }, { "task": 3, "start": 680, "machine": 2, "duration": 28 }, { "task": 4, "start": 708, "machine": 1, "duration": 10 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 82 }, { "task": 1, "start": 134, "machine": 3, "duration": 97 }, { "task": 2, "start": 241, "machine": 0, "duration": 99 }, { "task": 3, "start": 391, "machine": 4, "duration": 79 }, { "task": 4, "start": 480, "machine": 1, "duration": 88 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 157, "machine": 2, "duration": 26 }, { "task": 1, "start": 470, "machine": 4, "duration": 61 }, { "task": 2, "start": 531, "machine": 3, "duration": 51 }, { "task": 3, "start": 615, "machine": 0, "duration": 29 }, { "task": 4, "start": 644, "machine": 1, "duration": 23 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 149, "machine": 0, "duration": 76 }, { "task": 1, "start": 231, "machine": 3, "duration": 60 }, { "task": 2, "start": 531, "machine": 4, "duration": 81 }, { "task": 3, "start": 612, "machine": 1, "duration": 27 }, { "task": 4, "start": 639, "machine": 2, "duration": 13 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 81 }, { "task": 1, "start": 81, "machine": 3, "duration": 53 }, { "task": 2, "start": 134, "machine": 1, "duration": 77 }, { "task": 3, "start": 244, "machine": 2, "duration": 81 }, { "task": 4, "start": 648, "machine": 4, "duration": 91 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 38, "machine": 3, "duration": 32 }, { "task": 1, "start": 135, "machine": 2, "duration": 22 }, { "task": 2, "start": 211, "machine": 1, "duration": 3 }, { "task": 3, "start": 292, "machine": 4, "duration": 99 }, { "task": 4, "start": 410, "machine": 0, "duration": 74 } ] } ], "obj": 739.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ "A", "B", "C", "D", "E" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "C", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 52 }, { "job_id": "J1", "task_id": 2, "machine_id": "B", "duration": 45 }, { "job_id": "J1", "task_id": 3, "machine_id": "D", "duration": 69 }, { "job_id": "J1", "task_id": 4, "machine_id": "A", "duration": 62 }, { "job_id": "J2", "task_id": 0, "machine_id": "C", "duration": 52 }, { "job_id": "J2", "task_id": 1, "machine_id": "E", "duration": 76 }, { "job_id": "J2", "task_id": 2, "machine_id": "D", "duration": 31 }, { "job_id": "J2", "task_id": 3, "machine_id": "A", "duration": 35 }, { "job_id": "J2", "task_id": 4, "machine_id": "B", "duration": 77 }, { "job_id": "J3", "task_id": 0, "machine_id": "A", "duration": 68 }, { "job_id": "J3", "task_id": 1, "machine_id": "E", "duration": 55 }, { "job_id": "J3", "task_id": 2, "machine_id": "D", "duration": 48 }, { "job_id": "J3", "task_id": 3, "machine_id": "C", "duration": 76 }, { "job_id": "J3", "task_id": 4, "machine_id": "B", "duration": 28 }, { "job_id": "J4", "task_id": 0, "machine_id": "D", "duration": 38 }, { "job_id": "J4", "task_id": 1, "machine_id": "E", "duration": 69 }, { "job_id": "J4", "task_id": 2, "machine_id": "C", "duration": 61 }, { "job_id": "J4", "task_id": 3, "machine_id": "B", "duration": 67 }, { "job_id": "J4", "task_id": 4, "machine_id": "A", "duration": 35 }, { "job_id": "J5", "task_id": 0, "machine_id": "E", "duration": 40 }, { "job_id": "J5", "task_id": 1, "machine_id": "B", "duration": 94 }, { "job_id": "J5", "task_id": 2, "machine_id": "D", "duration": 12 }, { "job_id": "J5", "task_id": 3, "machine_id": "C", "duration": 44 }, { "job_id": "J5", "task_id": 4, "machine_id": "A", "duration": 69 }, { "job_id": "J6", "task_id": 0, "machine_id": "A", "duration": 16 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 36 }, { "job_id": "J6", "task_id": 2, "machine_id": "D", "duration": 32 }, { "job_id": "J6", "task_id": 3, "machine_id": "C", "duration": 28 }, { "job_id": "J6", "task_id": 4, "machine_id": "B", "duration": 10 }, { "job_id": "J7", "task_id": 0, "machine_id": "C", "duration": 82 }, { "job_id": "J7", "task_id": 1, "machine_id": "D", "duration": 97 }, { "job_id": "J7", "task_id": 2, "machine_id": "A", "duration": 99 }, { "job_id": "J7", "task_id": 3, "machine_id": "E", "duration": 79 }, { "job_id": "J7", "task_id": 4, "machine_id": "B", "duration": 88 }, { "job_id": "J8", "task_id": 0, "machine_id": "C", "duration": 26 }, { "job_id": "J8", "task_id": 1, "machine_id": "E", "duration": 61 }, { "job_id": "J8", "task_id": 2, "machine_id": "D", "duration": 51 }, { "job_id": "J8", "task_id": 3, "machine_id": "A", "duration": 29 }, { "job_id": "J8", "task_id": 4, "machine_id": "B", "duration": 23 }, { "job_id": "J9", "task_id": 0, "machine_id": "A", "duration": 76 }, { "job_id": "J9", "task_id": 1, "machine_id": "D", "duration": 60 }, { "job_id": "J9", "task_id": 2, "machine_id": "E", "duration": 81 }, { "job_id": "J9", "task_id": 3, "machine_id": "B", "duration": 27 }, { "job_id": "J9", "task_id": 4, "machine_id": "C", "duration": 13 }, { "job_id": "J10", "task_id": 0, "machine_id": "A", "duration": 81 }, { "job_id": "J10", "task_id": 1, "machine_id": "D", "duration": 53 }, { "job_id": "J10", "task_id": 2, "machine_id": "B", "duration": 77 }, { "job_id": "J10", "task_id": 3, "machine_id": "C", "duration": 81 }, { "job_id": "J10", "task_id": 4, "machine_id": "E", "duration": 91 }, { "job_id": "J11", "task_id": 0, "machine_id": "D", "duration": 32 }, { "job_id": "J11", "task_id": 1, "machine_id": "C", "duration": 22 }, { "job_id": "J11", "task_id": 2, "machine_id": "B", "duration": 3 }, { "job_id": "J11", "task_id": 3, "machine_id": "E", "duration": 99 }, { "job_id": "J11", "task_id": 4, "machine_id": "A", "duration": 74 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 82, "machine": "C", "duration": 1 }, { "task": 1, "start": 109, "machine": "E", "duration": 52 }, { "task": 2, "start": 311, "machine": "B", "duration": 45 }, { "task": 3, "start": 370, "machine": "D", "duration": 69 }, { "task": 4, "start": 484, "machine": "A", "duration": 62 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 83, "machine": "C", "duration": 52 }, { "task": 1, "start": 161, "machine": "E", "duration": 76 }, { "task": 2, "start": 291, "machine": "D", "duration": 31 }, { "task": 3, "start": 340, "machine": "A", "duration": 35 }, { "task": 4, "start": 375, "machine": "B", "duration": 77 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 81, "machine": "A", "duration": 68 }, { "task": 1, "start": 237, "machine": "E", "duration": 55 }, { "task": 2, "start": 322, "machine": "D", "duration": 48 }, { "task": 3, "start": 370, "machine": "C", "duration": 76 }, { "task": 4, "start": 452, "machine": "B", "duration": 28 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 38 }, { "task": 1, "start": 40, "machine": "E", "duration": 69 }, { "task": 2, "start": 183, "machine": "C", "duration": 61 }, { "task": 3, "start": 244, "machine": "B", "duration": 67 }, { "task": 4, "start": 375, "machine": "A", "duration": 35 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 40 }, { "task": 1, "start": 40, "machine": "B", "duration": 94 }, { "task": 2, "start": 439, "machine": "D", "duration": 12 }, { "task": 3, "start": 451, "machine": "C", "duration": 44 }, { "task": 4, "start": 546, "machine": "A", "duration": 69 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 225, "machine": "A", "duration": 16 }, { "task": 1, "start": 612, "machine": "E", "duration": 36 }, { "task": 2, "start": 648, "machine": "D", "duration": 32 }, { "task": 3, "start": 680, "machine": "C", "duration": 28 }, { "task": 4, "start": 708, "machine": "B", "duration": 10 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 82 }, { "task": 1, "start": 134, "machine": "D", "duration": 97 }, { "task": 2, "start": 241, "machine": "A", "duration": 99 }, { "task": 3, "start": 391, "machine": "E", "duration": 79 }, { "task": 4, "start": 480, "machine": "B", "duration": 88 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 157, "machine": "C", "duration": 26 }, { "task": 1, "start": 470, "machine": "E", "duration": 61 }, { "task": 2, "start": 531, "machine": "D", "duration": 51 }, { "task": 3, "start": 615, "machine": "A", "duration": 29 }, { "task": 4, "start": 644, "machine": "B", "duration": 23 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 149, "machine": "A", "duration": 76 }, { "task": 1, "start": 231, "machine": "D", "duration": 60 }, { "task": 2, "start": 531, "machine": "E", "duration": 81 }, { "task": 3, "start": 612, "machine": "B", "duration": 27 }, { "task": 4, "start": 639, "machine": "C", "duration": 13 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 81 }, { "task": 1, "start": 81, "machine": "D", "duration": 53 }, { "task": 2, "start": 134, "machine": "B", "duration": 77 }, { "task": 3, "start": 244, "machine": "C", "duration": 81 }, { "task": 4, "start": 648, "machine": "E", "duration": 91 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 38, "machine": "D", "duration": 32 }, { "task": 1, "start": 135, "machine": "C", "duration": 22 }, { "task": 2, "start": 211, "machine": "B", "duration": 3 }, { "task": 3, "start": 292, "machine": "E", "duration": 99 }, { "task": 4, "start": 410, "machine": "A", "duration": 74 } ] } ], "context_index": 39, "input_format": "nl", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Someone at the shop needs to map out the day: multiple cars, each with a fixed sequence of repairs, and every repair needs a particular lift or diagnostic bay for a set period. The planner must slot each step into its assigned bay without breaking the per-car order, avoid doing any step twice or skipping one, and never double-book a bay. The whole point is to minimize how long the shop takes to get all cars ready — the clock that matters is when the final vehicle finishes, and sooner is clearly preferred. Full details about which car needs what and how long each thing takes are listed below.\n\nThe planner has 12 vehicles to schedule across 6 service bays; vehicle IDs: J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12; bay IDs: 1, 2, 3, 4, 5, 6.\nFor vehicle J1, step 0 must be performed at service bay 5 for 1.\nFor vehicle J1, step 1 must be performed at service bay 3 for 65.\nFor vehicle J1, step 2 must be performed at service bay 4 for 21.\nFor vehicle J1, step 3 must be performed at service bay 2 for 15.\nFor vehicle J1, step 4 must be performed at service bay 6 for 16.\nFor vehicle J1, step 5 must be performed at service bay 1 for 73.\nFor vehicle J2, step 0 must be performed at service bay 1 for 81.\nFor vehicle J2, step 1 must be performed at service bay 5 for 98.\nFor vehicle J2, step 2 must be performed at service bay 4 for 3.\nFor vehicle J2, step 3 must be performed at service bay 3 for 71.\nFor vehicle J2, step 4 must be performed at service bay 6 for 7.\nFor vehicle J2, step 5 must be performed at service bay 2 for 8.\nFor vehicle J3, step 0 must be performed at service bay 6 for 31.\nFor vehicle J3, step 1 must be performed at service bay 3 for 80.\nFor vehicle J3, step 2 must be performed at service bay 5 for 33.\nFor vehicle J3, step 3 must be performed at service bay 4 for 90.\nFor vehicle J3, step 4 must be performed at service bay 2 for 36.\nFor vehicle J3, step 5 must be performed at service bay 1 for 62.\nFor vehicle J4, step 0 must be performed at service bay 4 for 6.\nFor vehicle J4, step 1 must be performed at service bay 2 for 42.\nFor vehicle J4, step 2 must be performed at service bay 1 for 81.\nFor vehicle J4, step 3 must be performed at service bay 3 for 63.\nFor vehicle J4, step 4 must be performed at service bay 5 for 71.\nFor vehicle J4, step 5 must be performed at service bay 6 for 37.\nFor vehicle J5, step 0 must be performed at service bay 4 for 54.\nFor vehicle J5, step 1 must be performed at service bay 1 for 68.\nFor vehicle J5, step 2 must be performed at service bay 3 for 45.\nFor vehicle J5, step 3 must be performed at service bay 6 for 96.\nFor vehicle J5, step 4 must be performed at service bay 2 for 69.\nFor vehicle J5, step 5 must be performed at service bay 5 for 79.\nFor vehicle J6, step 0 must be performed at service bay 4 for 73.\nFor vehicle J6, step 1 must be performed at service bay 2 for 74.\nFor vehicle J6, step 2 must be performed at service bay 3 for 26.\nFor vehicle J6, step 3 must be performed at service bay 5 for 84.\nFor vehicle J6, step 4 must be performed at service bay 1 for 62.\nFor vehicle J6, step 5 must be performed at service bay 6 for 59.\nFor vehicle J7, step 0 must be performed at service bay 3 for 25.\nFor vehicle J7, step 1 must be performed at service bay 1 for 27.\nFor vehicle J7, step 2 must be performed at service bay 2 for 28.\nFor vehicle J7, step 3 must be performed at service bay 5 for 59.\nFor vehicle J7, step 4 must be performed at service bay 4 for 2.\nFor vehicle J7, step 5 must be performed at service bay 6 for 59.\nFor vehicle J8, step 0 must be performed at service bay 1 for 54.\nFor vehicle J8, step 1 must be performed at service bay 3 for 3.\nFor vehicle J8, step 2 must be performed at service bay 5 for 77.\nFor vehicle J8, step 3 must be performed at service bay 2 for 88.\nFor vehicle J8, step 4 must be performed at service bay 4 for 17.\nFor vehicle J8, step 5 must be performed at service bay 6 for 66.\nFor vehicle J9, step 0 must be performed at service bay 4 for 9.\nFor vehicle J9, step 1 must be performed at service bay 6 for 35.\nFor vehicle J9, step 2 must be performed at service bay 2 for 9.\nFor vehicle J9, step 3 must be performed at service bay 5 for 69.\nFor vehicle J9, step 4 must be performed at service bay 1 for 26.\nFor vehicle J9, step 5 must be performed at service bay 3 for 27.\nFor vehicle J10, step 0 must be performed at service bay 2 for 10.\nFor vehicle J10, step 1 must be performed at service bay 4 for 49.\nFor vehicle J10, step 2 must be performed at service bay 1 for 41.\nFor vehicle J10, step 3 must be performed at service bay 6 for 71.\nFor vehicle J10, step 4 must be performed at service bay 3 for 64.\nFor vehicle J10, step 5 must be performed at service bay 5 for 90.\nFor vehicle J11, step 0 must be performed at service bay 4 for 28.\nFor vehicle J11, step 1 must be performed at service bay 3 for 86.\nFor vehicle J11, step 2 must be performed at service bay 2 for 82.\nFor vehicle J11, step 3 must be performed at service bay 5 for 84.\nFor vehicle J11, step 4 must be performed at service bay 6 for 91.\nFor vehicle J11, step 5 must be performed at service bay 1 for 2.\nFor vehicle J12, step 0 must be performed at service bay 1 for 56.\nFor vehicle J12, step 1 must be performed at service bay 6 for 35.\nFor vehicle J12, step 2 must be performed at service bay 5 for 77.\nFor vehicle J12, step 3 must be performed at service bay 2 for 97.\nFor vehicle J12, step 4 must be performed at service bay 3 for 56.\nFor vehicle J12, step 5 must be performed at service bay 4 for 12.\nSlot each listed step in sequence on its assigned bay, never skipping or repeating a step and avoiding any bay overlap, so the last vehicle finishes as soon as possible.\n\nAlso, when you send the schedule back, just use a simple JSON shape like this so I can read it easily:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it as a little form: \"solution\" is the list of cars, each \"job\" is the car identifier, and the \"tasks\" list shows each repair step with when it starts, which bay it uses, and how long it takes. It's just a sketch of the shape I expect, not the final schedule.\n\nPlease use the exact identifiers from the instance input — don't rename anything and don't invent new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 4, 1 ], [ 2, 65 ], [ 3, 21 ], [ 1, 15 ], [ 5, 16 ], [ 0, 73 ] ], [ [ 0, 81 ], [ 4, 98 ], [ 3, 3 ], [ 2, 71 ], [ 5, 7 ], [ 1, 8 ] ], [ [ 5, 31 ], [ 2, 80 ], [ 4, 33 ], [ 3, 90 ], [ 1, 36 ], [ 0, 62 ] ], [ [ 3, 6 ], [ 1, 42 ], [ 0, 81 ], [ 2, 63 ], [ 4, 71 ], [ 5, 37 ] ], [ [ 3, 54 ], [ 0, 68 ], [ 2, 45 ], [ 5, 96 ], [ 1, 69 ], [ 4, 79 ] ], [ [ 3, 73 ], [ 1, 74 ], [ 2, 26 ], [ 4, 84 ], [ 0, 62 ], [ 5, 59 ] ], [ [ 2, 25 ], [ 0, 27 ], [ 1, 28 ], [ 4, 59 ], [ 3, 2 ], [ 5, 59 ] ], [ [ 0, 54 ], [ 2, 3 ], [ 4, 77 ], [ 1, 88 ], [ 3, 17 ], [ 5, 66 ] ], [ [ 3, 9 ], [ 5, 35 ], [ 1, 9 ], [ 4, 69 ], [ 0, 26 ], [ 2, 27 ] ], [ [ 1, 10 ], [ 3, 49 ], [ 0, 41 ], [ 5, 71 ], [ 2, 64 ], [ 4, 90 ] ], [ [ 3, 28 ], [ 2, 86 ], [ 1, 82 ], [ 4, 84 ], [ 5, 91 ], [ 0, 2 ] ], [ [ 0, 56 ], [ 5, 35 ], [ 4, 77 ], [ 1, 97 ], [ 2, 56 ], [ 3, 12 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 406, "machine": 2, "duration": 65 }, { "task": 2, "start": 471, "machine": 3, "duration": 21 }, { "task": 3, "start": 507, "machine": 1, "duration": 15 }, { "task": 4, "start": 626, "machine": 5, "duration": 16 }, { "task": 5, "start": 642, "machine": 0, "duration": 73 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 81 }, { "task": 1, "start": 122, "machine": 4, "duration": 98 }, { "task": 2, "start": 267, "machine": 3, "duration": 3 }, { "task": 3, "start": 471, "machine": 2, "duration": 71 }, { "task": 4, "start": 701, "machine": 5, "duration": 7 }, { "task": 5, "start": 731, "machine": 1, "duration": 8 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 44, "machine": 5, "duration": 31 }, { "task": 1, "start": 75, "machine": 2, "duration": 80 }, { "task": 2, "start": 220, "machine": 4, "duration": 33 }, { "task": 3, "start": 270, "machine": 3, "duration": 90 }, { "task": 4, "start": 387, "machine": 1, "duration": 36 }, { "task": 5, "start": 476, "machine": 0, "duration": 62 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 164, "machine": 3, "duration": 6 }, { "task": 1, "start": 190, "machine": 1, "duration": 42 }, { "task": 2, "start": 271, "machine": 0, "duration": 81 }, { "task": 3, "start": 542, "machine": 2, "duration": 63 }, { "task": 4, "start": 634, "machine": 4, "duration": 71 }, { "task": 5, "start": 708, "machine": 5, "duration": 37 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 82, "machine": 3, "duration": 54 }, { "task": 1, "start": 162, "machine": 0, "duration": 68 }, { "task": 2, "start": 270, "machine": 2, "duration": 45 }, { "task": 3, "start": 342, "machine": 5, "duration": 96 }, { "task": 4, "start": 438, "machine": 1, "duration": 69 }, { "task": 5, "start": 795, "machine": 4, "duration": 79 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 9, "machine": 3, "duration": 73 }, { "task": 1, "start": 82, "machine": 1, "duration": 74 }, { "task": 2, "start": 158, "machine": 2, "duration": 26 }, { "task": 3, "start": 330, "machine": 4, "duration": 84 }, { "task": 4, "start": 414, "machine": 0, "duration": 62 }, { "task": 5, "start": 476, "machine": 5, "duration": 59 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 25 }, { "task": 1, "start": 135, "machine": 0, "duration": 27 }, { "task": 2, "start": 162, "machine": 1, "duration": 28 }, { "task": 3, "start": 498, "machine": 4, "duration": 59 }, { "task": 4, "start": 557, "machine": 3, "duration": 2 }, { "task": 5, "start": 642, "machine": 5, "duration": 59 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 81, "machine": 0, "duration": 54 }, { "task": 1, "start": 155, "machine": 2, "duration": 3 }, { "task": 2, "start": 253, "machine": 4, "duration": 77 }, { "task": 3, "start": 522, "machine": 1, "duration": 88 }, { "task": 4, "start": 610, "machine": 3, "duration": 17 }, { "task": 5, "start": 745, "machine": 5, "duration": 66 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 9 }, { "task": 1, "start": 9, "machine": 5, "duration": 35 }, { "task": 2, "start": 44, "machine": 1, "duration": 9 }, { "task": 3, "start": 53, "machine": 4, "duration": 69 }, { "task": 4, "start": 538, "machine": 0, "duration": 26 }, { "task": 5, "start": 605, "machine": 2, "duration": 27 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 10 }, { "task": 1, "start": 170, "machine": 3, "duration": 49 }, { "task": 2, "start": 230, "machine": 0, "duration": 41 }, { "task": 3, "start": 271, "machine": 5, "duration": 71 }, { "task": 4, "start": 342, "machine": 2, "duration": 64 }, { "task": 5, "start": 705, "machine": 4, "duration": 90 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 136, "machine": 3, "duration": 28 }, { "task": 1, "start": 184, "machine": 2, "duration": 86 }, { "task": 2, "start": 305, "machine": 1, "duration": 82 }, { "task": 3, "start": 414, "machine": 4, "duration": 84 }, { "task": 4, "start": 535, "machine": 5, "duration": 91 }, { "task": 5, "start": 626, "machine": 0, "duration": 2 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 352, "machine": 0, "duration": 56 }, { "task": 1, "start": 438, "machine": 5, "duration": 35 }, { "task": 2, "start": 557, "machine": 4, "duration": 77 }, { "task": 3, "start": 634, "machine": 1, "duration": 97 }, { "task": 4, "start": 731, "machine": 2, "duration": 56 }, { "task": 5, "start": 787, "machine": 3, "duration": 12 } ] } ], "obj": 874.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 1, 2, 3, 4, 5, 6 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 5, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 3, "duration": 65 }, { "job_id": "J1", "task_id": 2, "machine_id": 4, "duration": 21 }, { "job_id": "J1", "task_id": 3, "machine_id": 2, "duration": 15 }, { "job_id": "J1", "task_id": 4, "machine_id": 6, "duration": 16 }, { "job_id": "J1", "task_id": 5, "machine_id": 1, "duration": 73 }, { "job_id": "J2", "task_id": 0, "machine_id": 1, "duration": 81 }, { "job_id": "J2", "task_id": 1, "machine_id": 5, "duration": 98 }, { "job_id": "J2", "task_id": 2, "machine_id": 4, "duration": 3 }, { "job_id": "J2", "task_id": 3, "machine_id": 3, "duration": 71 }, { "job_id": "J2", "task_id": 4, "machine_id": 6, "duration": 7 }, { "job_id": "J2", "task_id": 5, "machine_id": 2, "duration": 8 }, { "job_id": "J3", "task_id": 0, "machine_id": 6, "duration": 31 }, { "job_id": "J3", "task_id": 1, "machine_id": 3, "duration": 80 }, { "job_id": "J3", "task_id": 2, "machine_id": 5, "duration": 33 }, { "job_id": "J3", "task_id": 3, "machine_id": 4, "duration": 90 }, { "job_id": "J3", "task_id": 4, "machine_id": 2, "duration": 36 }, { "job_id": "J3", "task_id": 5, "machine_id": 1, "duration": 62 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 6 }, { "job_id": "J4", "task_id": 1, "machine_id": 2, "duration": 42 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 81 }, { "job_id": "J4", "task_id": 3, "machine_id": 3, "duration": 63 }, { "job_id": "J4", "task_id": 4, "machine_id": 5, "duration": 71 }, { "job_id": "J4", "task_id": 5, "machine_id": 6, "duration": 37 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 54 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 68 }, { "job_id": "J5", "task_id": 2, "machine_id": 3, "duration": 45 }, { "job_id": "J5", "task_id": 3, "machine_id": 6, "duration": 96 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 69 }, { "job_id": "J5", "task_id": 5, "machine_id": 5, "duration": 79 }, { "job_id": "J6", "task_id": 0, "machine_id": 4, "duration": 73 }, { "job_id": "J6", "task_id": 1, "machine_id": 2, "duration": 74 }, { "job_id": "J6", "task_id": 2, "machine_id": 3, "duration": 26 }, { "job_id": "J6", "task_id": 3, "machine_id": 5, "duration": 84 }, { "job_id": "J6", "task_id": 4, "machine_id": 1, "duration": 62 }, { "job_id": "J6", "task_id": 5, "machine_id": 6, "duration": 59 }, { "job_id": "J7", "task_id": 0, "machine_id": 3, "duration": 25 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 27 }, { "job_id": "J7", "task_id": 2, "machine_id": 2, "duration": 28 }, { "job_id": "J7", "task_id": 3, "machine_id": 5, "duration": 59 }, { "job_id": "J7", "task_id": 4, "machine_id": 4, "duration": 2 }, { "job_id": "J7", "task_id": 5, "machine_id": 6, "duration": 59 }, { "job_id": "J8", "task_id": 0, "machine_id": 1, "duration": 54 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 3 }, { "job_id": "J8", "task_id": 2, "machine_id": 5, "duration": 77 }, { "job_id": "J8", "task_id": 3, "machine_id": 2, "duration": 88 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 17 }, { "job_id": "J8", "task_id": 5, "machine_id": 6, "duration": 66 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 9 }, { "job_id": "J9", "task_id": 1, "machine_id": 6, "duration": 35 }, { "job_id": "J9", "task_id": 2, "machine_id": 2, "duration": 9 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 69 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 26 }, { "job_id": "J9", "task_id": 5, "machine_id": 3, "duration": 27 }, { "job_id": "J10", "task_id": 0, "machine_id": 2, "duration": 10 }, { "job_id": "J10", "task_id": 1, "machine_id": 4, "duration": 49 }, { "job_id": "J10", "task_id": 2, "machine_id": 1, "duration": 41 }, { "job_id": "J10", "task_id": 3, "machine_id": 6, "duration": 71 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 64 }, { "job_id": "J10", "task_id": 5, "machine_id": 5, "duration": 90 }, { "job_id": "J11", "task_id": 0, "machine_id": 4, "duration": 28 }, { "job_id": "J11", "task_id": 1, "machine_id": 3, "duration": 86 }, { "job_id": "J11", "task_id": 2, "machine_id": 2, "duration": 82 }, { "job_id": "J11", "task_id": 3, "machine_id": 5, "duration": 84 }, { "job_id": "J11", "task_id": 4, "machine_id": 6, "duration": 91 }, { "job_id": "J11", "task_id": 5, "machine_id": 1, "duration": 2 }, { "job_id": "J12", "task_id": 0, "machine_id": 1, "duration": 56 }, { "job_id": "J12", "task_id": 1, "machine_id": 6, "duration": 35 }, { "job_id": "J12", "task_id": 2, "machine_id": 5, "duration": 77 }, { "job_id": "J12", "task_id": 3, "machine_id": 2, "duration": 97 }, { "job_id": "J12", "task_id": 4, "machine_id": 3, "duration": 56 }, { "job_id": "J12", "task_id": 5, "machine_id": 4, "duration": 12 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 1 }, { "task": 1, "start": 406, "machine": 3, "duration": 65 }, { "task": 2, "start": 471, "machine": 4, "duration": 21 }, { "task": 3, "start": 507, "machine": 2, "duration": 15 }, { "task": 4, "start": 626, "machine": 6, "duration": 16 }, { "task": 5, "start": 642, "machine": 1, "duration": 73 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 81 }, { "task": 1, "start": 122, "machine": 5, "duration": 98 }, { "task": 2, "start": 267, "machine": 4, "duration": 3 }, { "task": 3, "start": 471, "machine": 3, "duration": 71 }, { "task": 4, "start": 701, "machine": 6, "duration": 7 }, { "task": 5, "start": 731, "machine": 2, "duration": 8 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 44, "machine": 6, "duration": 31 }, { "task": 1, "start": 75, "machine": 3, "duration": 80 }, { "task": 2, "start": 220, "machine": 5, "duration": 33 }, { "task": 3, "start": 270, "machine": 4, "duration": 90 }, { "task": 4, "start": 387, "machine": 2, "duration": 36 }, { "task": 5, "start": 476, "machine": 1, "duration": 62 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 164, "machine": 4, "duration": 6 }, { "task": 1, "start": 190, "machine": 2, "duration": 42 }, { "task": 2, "start": 271, "machine": 1, "duration": 81 }, { "task": 3, "start": 542, "machine": 3, "duration": 63 }, { "task": 4, "start": 634, "machine": 5, "duration": 71 }, { "task": 5, "start": 708, "machine": 6, "duration": 37 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 82, "machine": 4, "duration": 54 }, { "task": 1, "start": 162, "machine": 1, "duration": 68 }, { "task": 2, "start": 270, "machine": 3, "duration": 45 }, { "task": 3, "start": 342, "machine": 6, "duration": 96 }, { "task": 4, "start": 438, "machine": 2, "duration": 69 }, { "task": 5, "start": 795, "machine": 5, "duration": 79 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 9, "machine": 4, "duration": 73 }, { "task": 1, "start": 82, "machine": 2, "duration": 74 }, { "task": 2, "start": 158, "machine": 3, "duration": 26 }, { "task": 3, "start": 330, "machine": 5, "duration": 84 }, { "task": 4, "start": 414, "machine": 1, "duration": 62 }, { "task": 5, "start": 476, "machine": 6, "duration": 59 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 25 }, { "task": 1, "start": 135, "machine": 1, "duration": 27 }, { "task": 2, "start": 162, "machine": 2, "duration": 28 }, { "task": 3, "start": 498, "machine": 5, "duration": 59 }, { "task": 4, "start": 557, "machine": 4, "duration": 2 }, { "task": 5, "start": 642, "machine": 6, "duration": 59 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 81, "machine": 1, "duration": 54 }, { "task": 1, "start": 155, "machine": 3, "duration": 3 }, { "task": 2, "start": 253, "machine": 5, "duration": 77 }, { "task": 3, "start": 522, "machine": 2, "duration": 88 }, { "task": 4, "start": 610, "machine": 4, "duration": 17 }, { "task": 5, "start": 745, "machine": 6, "duration": 66 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 9 }, { "task": 1, "start": 9, "machine": 6, "duration": 35 }, { "task": 2, "start": 44, "machine": 2, "duration": 9 }, { "task": 3, "start": 53, "machine": 5, "duration": 69 }, { "task": 4, "start": 538, "machine": 1, "duration": 26 }, { "task": 5, "start": 605, "machine": 3, "duration": 27 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 10 }, { "task": 1, "start": 170, "machine": 4, "duration": 49 }, { "task": 2, "start": 230, "machine": 1, "duration": 41 }, { "task": 3, "start": 271, "machine": 6, "duration": 71 }, { "task": 4, "start": 342, "machine": 3, "duration": 64 }, { "task": 5, "start": 705, "machine": 5, "duration": 90 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 136, "machine": 4, "duration": 28 }, { "task": 1, "start": 184, "machine": 3, "duration": 86 }, { "task": 2, "start": 305, "machine": 2, "duration": 82 }, { "task": 3, "start": 414, "machine": 5, "duration": 84 }, { "task": 4, "start": 535, "machine": 6, "duration": 91 }, { "task": 5, "start": 626, "machine": 1, "duration": 2 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 352, "machine": 1, "duration": 56 }, { "task": 1, "start": 438, "machine": 6, "duration": 35 }, { "task": 2, "start": 557, "machine": 5, "duration": 77 }, { "task": 3, "start": 634, "machine": 2, "duration": 97 }, { "task": 4, "start": 731, "machine": 3, "duration": 56 }, { "task": 5, "start": 787, "machine": 4, "duration": 12 } ] } ], "context_index": 40, "input_format": "nl", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "I was picturing the sewing room as a little juggling act: several outfits need stitching, then pressing, then finishing, and each outfit has its own order of steps that can’t be skipped or shuffled. The job is to assign those stitching, pressing and finishing tasks to the available sewing machines and presses so each task runs on its assigned machine for its given time, and no machine tries to do two things at once. The trick is to lay out the work so the whole batch is done as quickly as possible — in plain terms, look at when the last outfit is finished and make that moment as early as you can. The exact list of outfits, machines and how long each step takes is shown below.\n\n# total_outfits=12\n# total_machines=5\n# outfit_ids=J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12\n# machine_ids=0, 1, 2, 3, 4\noutfit_id,operation_index,required_machine_id,processing_time\nJ1,0,1,1\nJ1,1,2,78\nJ1,2,3,96\nJ1,3,4,61\nJ1,4,0,69\nJ2,0,4,95\nJ2,1,3,85\nJ2,2,0,67\nJ2,3,2,70\nJ2,4,1,64\nJ3,0,0,45\nJ3,1,4,59\nJ3,2,1,14\nJ3,3,2,83\nJ3,4,3,39\nJ4,0,1,44\nJ4,1,4,4\nJ4,2,0,63\nJ4,3,2,44\nJ4,4,3,48\nJ5,0,0,24\nJ5,1,3,32\nJ5,2,1,30\nJ5,3,4,30\nJ5,4,2,39\nJ6,0,2,21\nJ6,1,1,54\nJ6,2,3,62\nJ6,3,4,12\nJ6,4,0,50\nJ7,0,2,64\nJ7,1,3,50\nJ7,2,4,52\nJ7,3,1,89\nJ7,4,0,36\nJ8,0,3,91\nJ8,1,4,87\nJ8,2,2,3\nJ8,3,1,27\nJ8,4,0,95\nJ9,0,1,26\nJ9,1,3,57\nJ9,2,4,26\nJ9,3,2,77\nJ9,4,0,43\nJ10,0,2,96\nJ10,1,3,79\nJ10,2,4,55\nJ10,3,0,36\nJ10,4,1,78\nJ11,0,1,85\nJ11,1,4,18\nJ11,2,2,50\nJ11,3,0,54\nJ11,4,3,46\nJ12,0,2,65\nJ12,1,1,89\nJ12,2,0,61\nJ12,3,4,55\nJ12,4,3,96\n\nOh, and one more thing — when you send the schedule back, a small JSON sketch like the one below makes it super easy to read and plug into whatever tool you're using. Here’s the shape I expect:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a simple form: each entry in \"solution\" is one outfit (job), \"job\" is that outfit's id, and \"tasks\" is the ordered list of steps for that outfit. For each step you give the step number (\"task\"), when it starts (\"start\" — absolute time), which machine it runs on (\"machine\"), and how long it runs (\"duration\"). This is just the layout — a sketch of the shape I want, not the actual schedule.\n\nPlease use the exact identifiers from the instance input — don't rename jobs or machines or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 12, "jobs": [ [ [ 1, 1 ], [ 2, 78 ], [ 3, 96 ], [ 4, 61 ], [ 0, 69 ] ], [ [ 4, 95 ], [ 3, 85 ], [ 0, 67 ], [ 2, 70 ], [ 1, 64 ] ], [ [ 0, 45 ], [ 4, 59 ], [ 1, 14 ], [ 2, 83 ], [ 3, 39 ] ], [ [ 1, 44 ], [ 4, 4 ], [ 0, 63 ], [ 2, 44 ], [ 3, 48 ] ], [ [ 0, 24 ], [ 3, 32 ], [ 1, 30 ], [ 4, 30 ], [ 2, 39 ] ], [ [ 2, 21 ], [ 1, 54 ], [ 3, 62 ], [ 4, 12 ], [ 0, 50 ] ], [ [ 2, 64 ], [ 3, 50 ], [ 4, 52 ], [ 1, 89 ], [ 0, 36 ] ], [ [ 3, 91 ], [ 4, 87 ], [ 2, 3 ], [ 1, 27 ], [ 0, 95 ] ], [ [ 1, 26 ], [ 3, 57 ], [ 4, 26 ], [ 2, 77 ], [ 0, 43 ] ], [ [ 2, 96 ], [ 3, 79 ], [ 4, 55 ], [ 0, 36 ], [ 1, 78 ] ], [ [ 1, 85 ], [ 4, 18 ], [ 2, 50 ], [ 0, 54 ], [ 3, 46 ] ], [ [ 2, 65 ], [ 1, 89 ], [ 0, 61 ], [ 4, 55 ], [ 3, 96 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 1 }, { "task": 1, "start": 161, "machine": 2, "duration": 78 }, { "task": 2, "start": 287, "machine": 3, "duration": 96 }, { "task": 3, "start": 403, "machine": 4, "duration": 61 }, { "task": 4, "start": 464, "machine": 0, "duration": 69 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 95 }, { "task": 1, "start": 123, "machine": 3, "duration": 85 }, { "task": 2, "start": 236, "machine": 0, "duration": 67 }, { "task": 3, "start": 374, "machine": 2, "duration": 70 }, { "task": 4, "start": 514, "machine": 1, "duration": 64 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 45 }, { "task": 1, "start": 182, "machine": 4, "duration": 59 }, { "task": 2, "start": 245, "machine": 1, "duration": 14 }, { "task": 3, "start": 447, "machine": 2, "duration": 83 }, { "task": 4, "start": 742, "machine": 3, "duration": 39 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 201, "machine": 1, "duration": 44 }, { "task": 1, "start": 259, "machine": 4, "duration": 4 }, { "task": 2, "start": 303, "machine": 0, "duration": 63 }, { "task": 3, "start": 530, "machine": 2, "duration": 44 }, { "task": 4, "start": 648, "machine": 3, "duration": 48 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 45, "machine": 0, "duration": 24 }, { "task": 1, "start": 91, "machine": 3, "duration": 32 }, { "task": 2, "start": 259, "machine": 1, "duration": 30 }, { "task": 3, "start": 373, "machine": 4, "duration": 30 }, { "task": 4, "start": 651, "machine": 2, "duration": 39 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 303, "machine": 2, "duration": 21 }, { "task": 1, "start": 324, "machine": 1, "duration": 54 }, { "task": 2, "start": 490, "machine": 3, "duration": 62 }, { "task": 3, "start": 552, "machine": 4, "duration": 12 }, { "task": 4, "start": 628, "machine": 0, "duration": 50 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 239, "machine": 2, "duration": 64 }, { "task": 1, "start": 383, "machine": 3, "duration": 50 }, { "task": 2, "start": 464, "machine": 4, "duration": 52 }, { "task": 3, "start": 578, "machine": 1, "duration": 89 }, { "task": 4, "start": 721, "machine": 0, "duration": 36 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 91 }, { "task": 1, "start": 95, "machine": 4, "duration": 87 }, { "task": 2, "start": 444, "machine": 2, "duration": 3 }, { "task": 3, "start": 487, "machine": 1, "duration": 27 }, { "task": 4, "start": 533, "machine": 0, "duration": 95 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 175, "machine": 1, "duration": 26 }, { "task": 1, "start": 433, "machine": 3, "duration": 57 }, { "task": 2, "start": 516, "machine": 4, "duration": 26 }, { "task": 3, "start": 574, "machine": 2, "duration": 77 }, { "task": 4, "start": 678, "machine": 0, "duration": 43 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 65, "machine": 2, "duration": 96 }, { "task": 1, "start": 208, "machine": 3, "duration": 79 }, { "task": 2, "start": 318, "machine": 4, "duration": 55 }, { "task": 3, "start": 373, "machine": 0, "duration": 36 }, { "task": 4, "start": 409, "machine": 1, "duration": 78 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 1, "machine": 1, "duration": 85 }, { "task": 1, "start": 241, "machine": 4, "duration": 18 }, { "task": 2, "start": 324, "machine": 2, "duration": 50 }, { "task": 3, "start": 409, "machine": 0, "duration": 54 }, { "task": 4, "start": 696, "machine": 3, "duration": 46 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 65 }, { "task": 1, "start": 86, "machine": 1, "duration": 89 }, { "task": 2, "start": 175, "machine": 0, "duration": 61 }, { "task": 3, "start": 263, "machine": 4, "duration": 55 }, { "task": 4, "start": 552, "machine": 3, "duration": 96 } ] } ], "obj": 781.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 1, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 78 }, { "job_id": "J1", "task_id": 2, "machine_id": 3, "duration": 96 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 61 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 69 }, { "job_id": "J2", "task_id": 0, "machine_id": 4, "duration": 95 }, { "job_id": "J2", "task_id": 1, "machine_id": 3, "duration": 85 }, { "job_id": "J2", "task_id": 2, "machine_id": 0, "duration": 67 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 70 }, { "job_id": "J2", "task_id": 4, "machine_id": 1, "duration": 64 }, { "job_id": "J3", "task_id": 0, "machine_id": 0, "duration": 45 }, { "job_id": "J3", "task_id": 1, "machine_id": 4, "duration": 59 }, { "job_id": "J3", "task_id": 2, "machine_id": 1, "duration": 14 }, { "job_id": "J3", "task_id": 3, "machine_id": 2, "duration": 83 }, { "job_id": "J3", "task_id": 4, "machine_id": 3, "duration": 39 }, { "job_id": "J4", "task_id": 0, "machine_id": 1, "duration": 44 }, { "job_id": "J4", "task_id": 1, "machine_id": 4, "duration": 4 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 63 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 44 }, { "job_id": "J4", "task_id": 4, "machine_id": 3, "duration": 48 }, { "job_id": "J5", "task_id": 0, "machine_id": 0, "duration": 24 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 32 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 30 }, { "job_id": "J5", "task_id": 3, "machine_id": 4, "duration": 30 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 39 }, { "job_id": "J6", "task_id": 0, "machine_id": 2, "duration": 21 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 54 }, { "job_id": "J6", "task_id": 2, "machine_id": 3, "duration": 62 }, { "job_id": "J6", "task_id": 3, "machine_id": 4, "duration": 12 }, { "job_id": "J6", "task_id": 4, "machine_id": 0, "duration": 50 }, { "job_id": "J7", "task_id": 0, "machine_id": 2, "duration": 64 }, { "job_id": "J7", "task_id": 1, "machine_id": 3, "duration": 50 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 52 }, { "job_id": "J7", "task_id": 3, "machine_id": 1, "duration": 89 }, { "job_id": "J7", "task_id": 4, "machine_id": 0, "duration": 36 }, { "job_id": "J8", "task_id": 0, "machine_id": 3, "duration": 91 }, { "job_id": "J8", "task_id": 1, "machine_id": 4, "duration": 87 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 3 }, { "job_id": "J8", "task_id": 3, "machine_id": 1, "duration": 27 }, { "job_id": "J8", "task_id": 4, "machine_id": 0, "duration": 95 }, { "job_id": "J9", "task_id": 0, "machine_id": 1, "duration": 26 }, { "job_id": "J9", "task_id": 1, "machine_id": 3, "duration": 57 }, { "job_id": "J9", "task_id": 2, "machine_id": 4, "duration": 26 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 77 }, { "job_id": "J9", "task_id": 4, "machine_id": 0, "duration": 43 }, { "job_id": "J10", "task_id": 0, "machine_id": 2, "duration": 96 }, { "job_id": "J10", "task_id": 1, "machine_id": 3, "duration": 79 }, { "job_id": "J10", "task_id": 2, "machine_id": 4, "duration": 55 }, { "job_id": "J10", "task_id": 3, "machine_id": 0, "duration": 36 }, { "job_id": "J10", "task_id": 4, "machine_id": 1, "duration": 78 }, { "job_id": "J11", "task_id": 0, "machine_id": 1, "duration": 85 }, { "job_id": "J11", "task_id": 1, "machine_id": 4, "duration": 18 }, { "job_id": "J11", "task_id": 2, "machine_id": 2, "duration": 50 }, { "job_id": "J11", "task_id": 3, "machine_id": 0, "duration": 54 }, { "job_id": "J11", "task_id": 4, "machine_id": 3, "duration": 46 }, { "job_id": "J12", "task_id": 0, "machine_id": 2, "duration": 65 }, { "job_id": "J12", "task_id": 1, "machine_id": 1, "duration": 89 }, { "job_id": "J12", "task_id": 2, "machine_id": 0, "duration": 61 }, { "job_id": "J12", "task_id": 3, "machine_id": 4, "duration": 55 }, { "job_id": "J12", "task_id": 4, "machine_id": 3, "duration": 96 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 1 }, { "task": 1, "start": 161, "machine": 2, "duration": 78 }, { "task": 2, "start": 287, "machine": 3, "duration": 96 }, { "task": 3, "start": 403, "machine": 4, "duration": 61 }, { "task": 4, "start": 464, "machine": 0, "duration": 69 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 95 }, { "task": 1, "start": 123, "machine": 3, "duration": 85 }, { "task": 2, "start": 236, "machine": 0, "duration": 67 }, { "task": 3, "start": 374, "machine": 2, "duration": 70 }, { "task": 4, "start": 514, "machine": 1, "duration": 64 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 45 }, { "task": 1, "start": 182, "machine": 4, "duration": 59 }, { "task": 2, "start": 245, "machine": 1, "duration": 14 }, { "task": 3, "start": 447, "machine": 2, "duration": 83 }, { "task": 4, "start": 742, "machine": 3, "duration": 39 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 201, "machine": 1, "duration": 44 }, { "task": 1, "start": 259, "machine": 4, "duration": 4 }, { "task": 2, "start": 303, "machine": 0, "duration": 63 }, { "task": 3, "start": 530, "machine": 2, "duration": 44 }, { "task": 4, "start": 648, "machine": 3, "duration": 48 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 45, "machine": 0, "duration": 24 }, { "task": 1, "start": 91, "machine": 3, "duration": 32 }, { "task": 2, "start": 259, "machine": 1, "duration": 30 }, { "task": 3, "start": 373, "machine": 4, "duration": 30 }, { "task": 4, "start": 651, "machine": 2, "duration": 39 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 303, "machine": 2, "duration": 21 }, { "task": 1, "start": 324, "machine": 1, "duration": 54 }, { "task": 2, "start": 490, "machine": 3, "duration": 62 }, { "task": 3, "start": 552, "machine": 4, "duration": 12 }, { "task": 4, "start": 628, "machine": 0, "duration": 50 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 239, "machine": 2, "duration": 64 }, { "task": 1, "start": 383, "machine": 3, "duration": 50 }, { "task": 2, "start": 464, "machine": 4, "duration": 52 }, { "task": 3, "start": 578, "machine": 1, "duration": 89 }, { "task": 4, "start": 721, "machine": 0, "duration": 36 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 91 }, { "task": 1, "start": 95, "machine": 4, "duration": 87 }, { "task": 2, "start": 444, "machine": 2, "duration": 3 }, { "task": 3, "start": 487, "machine": 1, "duration": 27 }, { "task": 4, "start": 533, "machine": 0, "duration": 95 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 175, "machine": 1, "duration": 26 }, { "task": 1, "start": 433, "machine": 3, "duration": 57 }, { "task": 2, "start": 516, "machine": 4, "duration": 26 }, { "task": 3, "start": 574, "machine": 2, "duration": 77 }, { "task": 4, "start": 678, "machine": 0, "duration": 43 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 65, "machine": 2, "duration": 96 }, { "task": 1, "start": 208, "machine": 3, "duration": 79 }, { "task": 2, "start": 318, "machine": 4, "duration": 55 }, { "task": 3, "start": 373, "machine": 0, "duration": 36 }, { "task": 4, "start": 409, "machine": 1, "duration": 78 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 1, "machine": 1, "duration": 85 }, { "task": 1, "start": 241, "machine": 4, "duration": 18 }, { "task": 2, "start": 324, "machine": 2, "duration": 50 }, { "task": 3, "start": 409, "machine": 0, "duration": 54 }, { "task": 4, "start": 696, "machine": 3, "duration": 46 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 65 }, { "task": 1, "start": 86, "machine": 1, "duration": 89 }, { "task": 2, "start": 175, "machine": 0, "duration": 61 }, { "task": 3, "start": 263, "machine": 4, "duration": 55 }, { "task": 4, "start": 552, "machine": 3, "duration": 96 } ] } ], "context_index": 41, "input_format": "csv", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "At the venue the planner must slot setup, practice, and teardown for multiple events into the available rooms and equipment, honoring the order of steps for each event and the exact durations each activity needs. No room or piece of gear can host two activities at the same time, and every activity must be scheduled in its required place. The clearest way to pick the best arrangement is to look at when the final activity ends; the earlier that finish time, the better the schedule. The detailed events, spaces, and durations are shown below.\n\nThere are 11 events to place across 5 resources: event identifiers J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11 and resource identifiers 0, 1, 2, 3, 4.\n\n| event_id | activity_index | resource_id | activity_duration |\n|---|---|---|---|\n| J1 | 0 | 4 | 1 |\n| J1 | 1 | 3 | 91 |\n| J1 | 2 | 2 | 71 |\n| J1 | 3 | 1 | 7 |\n| J1 | 4 | 0 | 22 |\n| J2 | 0 | 0 | 18 |\n| J2 | 1 | 2 | 90 |\n| J2 | 2 | 1 | 35 |\n| J2 | 3 | 3 | 38 |\n| J2 | 4 | 4 | 58 |\n| J3 | 0 | 4 | 83 |\n| J3 | 1 | 0 | 12 |\n| J3 | 2 | 3 | 97 |\n| J3 | 3 | 2 | 87 |\n| J3 | 4 | 1 | 44 |\n| J4 | 0 | 4 | 96 |\n| J4 | 1 | 1 | 70 |\n| J4 | 2 | 0 | 64 |\n| J4 | 3 | 2 | 82 |\n| J4 | 4 | 3 | 55 |\n| J5 | 0 | 4 | 65 |\n| J5 | 1 | 1 | 1 |\n| J5 | 2 | 3 | 88 |\n| J5 | 3 | 2 | 23 |\n| J5 | 4 | 0 | 23 |\n| J6 | 0 | 0 | 73 |\n| J6 | 1 | 3 | 63 |\n| J6 | 2 | 1 | 28 |\n| J6 | 3 | 4 | 53 |\n| J6 | 4 | 2 | 20 |\n| J7 | 0 | 1 | 56 |\n| J7 | 1 | 2 | 26 |\n| J7 | 2 | 3 | 78 |\n| J7 | 3 | 0 | 94 |\n| J7 | 4 | 4 | 10 |\n| J8 | 0 | 1 | 25 |\n| J8 | 1 | 3 | 51 |\n| J8 | 2 | 4 | 78 |\n| J8 | 3 | 0 | 26 |\n| J8 | 4 | 2 | 32 |\n| J9 | 0 | 0 | 50 |\n| J9 | 1 | 4 | 55 |\n| J9 | 2 | 3 | 98 |\n| J9 | 3 | 2 | 53 |\n| J9 | 4 | 1 | 8 |\n| J10 | 0 | 0 | 4 |\n| J10 | 1 | 2 | 43 |\n| J10 | 2 | 1 | 43 |\n| J10 | 3 | 3 | 63 |\n| J10 | 4 | 4 | 22 |\n| J11 | 0 | 2 | 62 |\n| J11 | 1 | 3 | 65 |\n| J11 | 2 | 1 | 73 |\n| J11 | 3 | 0 | 81 |\n| J11 | 4 | 4 | 82 |\n\nThe schedule is judged by the completion time of the final activity across all 11 events; earlier completion is better.\n\nOne more thing — to keep things consistent, please structure your reply using this simple JSON layout:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a short form: each top-level entry is a job (an event), its tasks are listed in order, and each task says which step number it is, when it starts, which room or piece of gear it uses, and how long it runs. This JSON is just a sketch of the shape I need, not the actual schedule — fill it with the real values when you answer.\n\nPlease use the exact identifiers from the instance input — don’t rename them or invent new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 4, 1 ], [ 3, 91 ], [ 2, 71 ], [ 1, 7 ], [ 0, 22 ] ], [ [ 0, 18 ], [ 2, 90 ], [ 1, 35 ], [ 3, 38 ], [ 4, 58 ] ], [ [ 4, 83 ], [ 0, 12 ], [ 3, 97 ], [ 2, 87 ], [ 1, 44 ] ], [ [ 4, 96 ], [ 1, 70 ], [ 0, 64 ], [ 2, 82 ], [ 3, 55 ] ], [ [ 4, 65 ], [ 1, 1 ], [ 3, 88 ], [ 2, 23 ], [ 0, 23 ] ], [ [ 0, 73 ], [ 3, 63 ], [ 1, 28 ], [ 4, 53 ], [ 2, 20 ] ], [ [ 1, 56 ], [ 2, 26 ], [ 3, 78 ], [ 0, 94 ], [ 4, 10 ] ], [ [ 1, 25 ], [ 3, 51 ], [ 4, 78 ], [ 0, 26 ], [ 2, 32 ] ], [ [ 0, 50 ], [ 4, 55 ], [ 3, 98 ], [ 2, 53 ], [ 1, 8 ] ], [ [ 0, 4 ], [ 2, 43 ], [ 1, 43 ], [ 3, 63 ], [ 4, 22 ] ], [ [ 2, 62 ], [ 3, 65 ], [ 1, 73 ], [ 0, 81 ], [ 4, 82 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 1, "machine": 3, "duration": 91 }, { "task": 2, "start": 221, "machine": 2, "duration": 71 }, { "task": 3, "start": 319, "machine": 1, "duration": 7 }, { "task": 4, "start": 444, "machine": 0, "duration": 22 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 50, "machine": 0, "duration": 18 }, { "task": 1, "start": 88, "machine": 2, "duration": 90 }, { "task": 2, "start": 283, "machine": 1, "duration": 35 }, { "task": 3, "start": 632, "machine": 3, "duration": 38 }, { "task": 4, "start": 671, "machine": 4, "duration": 58 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 97, "machine": 4, "duration": 83 }, { "task": 1, "start": 231, "machine": 0, "duration": 12 }, { "task": 2, "start": 286, "machine": 3, "duration": 97 }, { "task": 3, "start": 383, "machine": 2, "duration": 87 }, { "task": 4, "start": 474, "machine": 1, "duration": 44 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 1, "machine": 4, "duration": 96 }, { "task": 1, "start": 97, "machine": 1, "duration": 70 }, { "task": 2, "start": 167, "machine": 0, "duration": 64 }, { "task": 3, "start": 292, "machine": 2, "duration": 82 }, { "task": 4, "start": 733, "machine": 3, "duration": 55 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 235, "machine": 4, "duration": 65 }, { "task": 1, "start": 318, "machine": 1, "duration": 1 }, { "task": 2, "start": 544, "machine": 3, "duration": 88 }, { "task": 3, "start": 632, "machine": 2, "duration": 23 }, { "task": 4, "start": 655, "machine": 0, "duration": 23 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 68, "machine": 0, "duration": 73 }, { "task": 1, "start": 383, "machine": 3, "duration": 63 }, { "task": 2, "start": 446, "machine": 1, "duration": 28 }, { "task": 3, "start": 474, "machine": 4, "duration": 53 }, { "task": 4, "start": 527, "machine": 2, "duration": 20 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 56 }, { "task": 1, "start": 62, "machine": 2, "duration": 26 }, { "task": 2, "start": 208, "machine": 3, "duration": 78 }, { "task": 3, "start": 324, "machine": 0, "duration": 94 }, { "task": 4, "start": 460, "machine": 4, "duration": 10 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 56, "machine": 1, "duration": 25 }, { "task": 1, "start": 157, "machine": 3, "duration": 51 }, { "task": 2, "start": 300, "machine": 4, "duration": 78 }, { "task": 3, "start": 418, "machine": 0, "duration": 26 }, { "task": 4, "start": 470, "machine": 2, "duration": 32 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 50 }, { "task": 1, "start": 180, "machine": 4, "duration": 55 }, { "task": 2, "start": 446, "machine": 3, "duration": 98 }, { "task": 3, "start": 547, "machine": 2, "duration": 53 }, { "task": 4, "start": 600, "machine": 1, "duration": 8 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 141, "machine": 0, "duration": 4 }, { "task": 1, "start": 178, "machine": 2, "duration": 43 }, { "task": 2, "start": 240, "machine": 1, "duration": 43 }, { "task": 3, "start": 670, "machine": 3, "duration": 63 }, { "task": 4, "start": 749, "machine": 4, "duration": 22 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 62 }, { "task": 1, "start": 92, "machine": 3, "duration": 65 }, { "task": 2, "start": 167, "machine": 1, "duration": 73 }, { "task": 3, "start": 243, "machine": 0, "duration": 81 }, { "task": 4, "start": 378, "machine": 4, "duration": 82 } ] } ], "obj": 788.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 4, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 3, "duration": 91 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 71 }, { "job_id": "J1", "task_id": 3, "machine_id": 1, "duration": 7 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 22 }, { "job_id": "J2", "task_id": 0, "machine_id": 0, "duration": 18 }, { "job_id": "J2", "task_id": 1, "machine_id": 2, "duration": 90 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 35 }, { "job_id": "J2", "task_id": 3, "machine_id": 3, "duration": 38 }, { "job_id": "J2", "task_id": 4, "machine_id": 4, "duration": 58 }, { "job_id": "J3", "task_id": 0, "machine_id": 4, "duration": 83 }, { "job_id": "J3", "task_id": 1, "machine_id": 0, "duration": 12 }, { "job_id": "J3", "task_id": 2, "machine_id": 3, "duration": 97 }, { "job_id": "J3", "task_id": 3, "machine_id": 2, "duration": 87 }, { "job_id": "J3", "task_id": 4, "machine_id": 1, "duration": 44 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 96 }, { "job_id": "J4", "task_id": 1, "machine_id": 1, "duration": 70 }, { "job_id": "J4", "task_id": 2, "machine_id": 0, "duration": 64 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 82 }, { "job_id": "J4", "task_id": 4, "machine_id": 3, "duration": 55 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 65 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 1 }, { "job_id": "J5", "task_id": 2, "machine_id": 3, "duration": 88 }, { "job_id": "J5", "task_id": 3, "machine_id": 2, "duration": 23 }, { "job_id": "J5", "task_id": 4, "machine_id": 0, "duration": 23 }, { "job_id": "J6", "task_id": 0, "machine_id": 0, "duration": 73 }, { "job_id": "J6", "task_id": 1, "machine_id": 3, "duration": 63 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 28 }, { "job_id": "J6", "task_id": 3, "machine_id": 4, "duration": 53 }, { "job_id": "J6", "task_id": 4, "machine_id": 2, "duration": 20 }, { "job_id": "J7", "task_id": 0, "machine_id": 1, "duration": 56 }, { "job_id": "J7", "task_id": 1, "machine_id": 2, "duration": 26 }, { "job_id": "J7", "task_id": 2, "machine_id": 3, "duration": 78 }, { "job_id": "J7", "task_id": 3, "machine_id": 0, "duration": 94 }, { "job_id": "J7", "task_id": 4, "machine_id": 4, "duration": 10 }, { "job_id": "J8", "task_id": 0, "machine_id": 1, "duration": 25 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 51 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 78 }, { "job_id": "J8", "task_id": 3, "machine_id": 0, "duration": 26 }, { "job_id": "J8", "task_id": 4, "machine_id": 2, "duration": 32 }, { "job_id": "J9", "task_id": 0, "machine_id": 0, "duration": 50 }, { "job_id": "J9", "task_id": 1, "machine_id": 4, "duration": 55 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 98 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 53 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 8 }, { "job_id": "J10", "task_id": 0, "machine_id": 0, "duration": 4 }, { "job_id": "J10", "task_id": 1, "machine_id": 2, "duration": 43 }, { "job_id": "J10", "task_id": 2, "machine_id": 1, "duration": 43 }, { "job_id": "J10", "task_id": 3, "machine_id": 3, "duration": 63 }, { "job_id": "J10", "task_id": 4, "machine_id": 4, "duration": 22 }, { "job_id": "J11", "task_id": 0, "machine_id": 2, "duration": 62 }, { "job_id": "J11", "task_id": 1, "machine_id": 3, "duration": 65 }, { "job_id": "J11", "task_id": 2, "machine_id": 1, "duration": 73 }, { "job_id": "J11", "task_id": 3, "machine_id": 0, "duration": 81 }, { "job_id": "J11", "task_id": 4, "machine_id": 4, "duration": 82 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 1, "machine": 3, "duration": 91 }, { "task": 2, "start": 221, "machine": 2, "duration": 71 }, { "task": 3, "start": 319, "machine": 1, "duration": 7 }, { "task": 4, "start": 444, "machine": 0, "duration": 22 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 50, "machine": 0, "duration": 18 }, { "task": 1, "start": 88, "machine": 2, "duration": 90 }, { "task": 2, "start": 283, "machine": 1, "duration": 35 }, { "task": 3, "start": 632, "machine": 3, "duration": 38 }, { "task": 4, "start": 671, "machine": 4, "duration": 58 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 97, "machine": 4, "duration": 83 }, { "task": 1, "start": 231, "machine": 0, "duration": 12 }, { "task": 2, "start": 286, "machine": 3, "duration": 97 }, { "task": 3, "start": 383, "machine": 2, "duration": 87 }, { "task": 4, "start": 474, "machine": 1, "duration": 44 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 1, "machine": 4, "duration": 96 }, { "task": 1, "start": 97, "machine": 1, "duration": 70 }, { "task": 2, "start": 167, "machine": 0, "duration": 64 }, { "task": 3, "start": 292, "machine": 2, "duration": 82 }, { "task": 4, "start": 733, "machine": 3, "duration": 55 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 235, "machine": 4, "duration": 65 }, { "task": 1, "start": 318, "machine": 1, "duration": 1 }, { "task": 2, "start": 544, "machine": 3, "duration": 88 }, { "task": 3, "start": 632, "machine": 2, "duration": 23 }, { "task": 4, "start": 655, "machine": 0, "duration": 23 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 68, "machine": 0, "duration": 73 }, { "task": 1, "start": 383, "machine": 3, "duration": 63 }, { "task": 2, "start": 446, "machine": 1, "duration": 28 }, { "task": 3, "start": 474, "machine": 4, "duration": 53 }, { "task": 4, "start": 527, "machine": 2, "duration": 20 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 56 }, { "task": 1, "start": 62, "machine": 2, "duration": 26 }, { "task": 2, "start": 208, "machine": 3, "duration": 78 }, { "task": 3, "start": 324, "machine": 0, "duration": 94 }, { "task": 4, "start": 460, "machine": 4, "duration": 10 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 56, "machine": 1, "duration": 25 }, { "task": 1, "start": 157, "machine": 3, "duration": 51 }, { "task": 2, "start": 300, "machine": 4, "duration": 78 }, { "task": 3, "start": 418, "machine": 0, "duration": 26 }, { "task": 4, "start": 470, "machine": 2, "duration": 32 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 50 }, { "task": 1, "start": 180, "machine": 4, "duration": 55 }, { "task": 2, "start": 446, "machine": 3, "duration": 98 }, { "task": 3, "start": 547, "machine": 2, "duration": 53 }, { "task": 4, "start": 600, "machine": 1, "duration": 8 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 141, "machine": 0, "duration": 4 }, { "task": 1, "start": 178, "machine": 2, "duration": 43 }, { "task": 2, "start": 240, "machine": 1, "duration": 43 }, { "task": 3, "start": 670, "machine": 3, "duration": 63 }, { "task": 4, "start": 749, "machine": 4, "duration": 22 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 62 }, { "task": 1, "start": 92, "machine": 3, "duration": 65 }, { "task": 2, "start": 167, "machine": 1, "duration": 73 }, { "task": 3, "start": 243, "machine": 0, "duration": 81 }, { "task": 4, "start": 378, "machine": 4, "duration": 82 } ] } ], "context_index": 42, "input_format": "markdown_table", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Back at the darkroom, the challenge was to shepherd a stack of film through exposure, development, and drying without any chaos. That means deciding who goes first on which station and when, while keeping every roll’s steps in their fixed order, running each step on its designated station for the required length, and never overlapping tasks on the same station. A clearer plan is the one that gets the final roll out sooner — compute each roll’s completion time and take the last of those times as the result. The specific rolls, stations, and timing details follow below.\n\n# num_rolls=10\n# num_stations=6\n# roll_ids=J1, J2, J3, J4, J5, J6, J7, J8, J9, J10\n# station_ids=1, 2, 3, 4, 5, 6\nroll_id,step_index,station_id,processing_time\nJ1,0,2,1\nJ1,1,4,5\nJ1,2,6,47\nJ1,3,5,53\nJ1,4,3,75\nJ1,5,1,39\nJ2,0,5,95\nJ2,1,4,3\nJ2,2,1,7\nJ2,3,3,51\nJ2,4,2,22\nJ2,5,6,63\nJ3,0,3,80\nJ3,1,1,90\nJ3,2,5,49\nJ3,3,6,49\nJ3,4,4,38\nJ3,5,2,65\nJ4,0,4,21\nJ4,1,1,61\nJ4,2,2,7\nJ4,3,6,69\nJ4,4,5,47\nJ4,5,3,16\nJ5,0,4,8\nJ5,1,5,26\nJ5,2,2,72\nJ5,3,1,92\nJ5,4,3,94\nJ5,5,6,90\nJ6,0,6,47\nJ6,1,5,3\nJ6,2,3,5\nJ6,3,1,98\nJ6,4,2,83\nJ6,5,4,57\nJ7,0,6,15\nJ7,1,4,54\nJ7,2,2,25\nJ7,3,3,69\nJ7,4,1,75\nJ7,5,5,53\nJ8,0,4,70\nJ8,1,1,28\nJ8,2,2,73\nJ8,3,5,11\nJ8,4,3,6\nJ8,5,6,32\nJ9,0,5,90\nJ9,1,4,66\nJ9,2,3,39\nJ9,3,2,13\nJ9,4,6,97\nJ9,5,1,10\nJ10,0,5,18\nJ10,1,4,98\nJ10,2,1,86\nJ10,3,2,40\nJ10,4,3,37\nJ10,5,6,9\n\nAnd just so we’re on the same page about how to hand back the schedule, here’s the shape I’m expecting — nothing fancy, just a simple JSON sketch you can follow when you fill in the actual plan:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that like a little form: \"solution\" is a list of jobs (in our darkroom story, each roll), each job has a list of tasks/steps, and each task says when it starts, which machine/station it needs, and how long it runs. This JSON is just the expected shape — a sketch, not the final filled-in answer.\n\nPlease make sure to use the exact identifiers from the instance input — don’t rename them or invent new labels. For example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 6, "nr_jobs": 10, "jobs": [ [ [ 1, 1 ], [ 3, 5 ], [ 5, 47 ], [ 4, 53 ], [ 2, 75 ], [ 0, 39 ] ], [ [ 4, 95 ], [ 3, 3 ], [ 0, 7 ], [ 2, 51 ], [ 1, 22 ], [ 5, 63 ] ], [ [ 2, 80 ], [ 0, 90 ], [ 4, 49 ], [ 5, 49 ], [ 3, 38 ], [ 1, 65 ] ], [ [ 3, 21 ], [ 0, 61 ], [ 1, 7 ], [ 5, 69 ], [ 4, 47 ], [ 2, 16 ] ], [ [ 3, 8 ], [ 4, 26 ], [ 1, 72 ], [ 0, 92 ], [ 2, 94 ], [ 5, 90 ] ], [ [ 5, 47 ], [ 4, 3 ], [ 2, 5 ], [ 0, 98 ], [ 1, 83 ], [ 3, 57 ] ], [ [ 5, 15 ], [ 3, 54 ], [ 1, 25 ], [ 2, 69 ], [ 0, 75 ], [ 4, 53 ] ], [ [ 3, 70 ], [ 0, 28 ], [ 1, 73 ], [ 4, 11 ], [ 2, 6 ], [ 5, 32 ] ], [ [ 4, 90 ], [ 3, 66 ], [ 2, 39 ], [ 1, 13 ], [ 5, 97 ], [ 0, 10 ] ], [ [ 4, 18 ], [ 3, 98 ], [ 0, 86 ], [ 1, 40 ], [ 2, 37 ], [ 5, 9 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 1 }, { "task": 1, "start": 219, "machine": 3, "duration": 5 }, { "task": 2, "start": 224, "machine": 5, "duration": 47 }, { "task": 3, "start": 279, "machine": 4, "duration": 53 }, { "task": 4, "start": 463, "machine": 2, "duration": 75 }, { "task": 5, "start": 558, "machine": 0, "duration": 39 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 137, "machine": 4, "duration": 95 }, { "task": 1, "start": 232, "machine": 3, "duration": 3 }, { "task": 2, "start": 270, "machine": 0, "duration": 7 }, { "task": 3, "start": 277, "machine": 2, "duration": 51 }, { "task": 4, "start": 328, "machine": 1, "duration": 22 }, { "task": 5, "start": 368, "machine": 5, "duration": 63 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 80 }, { "task": 1, "start": 82, "machine": 0, "duration": 90 }, { "task": 2, "start": 332, "machine": 4, "duration": 49 }, { "task": 3, "start": 431, "machine": 5, "duration": 49 }, { "task": 4, "start": 490, "machine": 3, "duration": 38 }, { "task": 5, "start": 546, "machine": 1, "duration": 65 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 21 }, { "task": 1, "start": 21, "machine": 0, "duration": 61 }, { "task": 2, "start": 82, "machine": 1, "duration": 7 }, { "task": 3, "start": 89, "machine": 5, "duration": 69 }, { "task": 4, "start": 232, "machine": 4, "duration": 47 }, { "task": 5, "start": 328, "machine": 2, "duration": 16 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 21, "machine": 3, "duration": 8 }, { "task": 1, "start": 108, "machine": 4, "duration": 26 }, { "task": 2, "start": 134, "machine": 1, "duration": 72 }, { "task": 3, "start": 277, "machine": 0, "duration": 92 }, { "task": 4, "start": 369, "machine": 2, "duration": 94 }, { "task": 5, "start": 480, "machine": 5, "duration": 90 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 15, "machine": 5, "duration": 47 }, { "task": 1, "start": 134, "machine": 4, "duration": 3 }, { "task": 2, "start": 137, "machine": 2, "duration": 5 }, { "task": 3, "start": 172, "machine": 0, "duration": 98 }, { "task": 4, "start": 350, "machine": 1, "duration": 83 }, { "task": 5, "start": 433, "machine": 3, "duration": 57 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 15 }, { "task": 1, "start": 29, "machine": 3, "duration": 54 }, { "task": 2, "start": 89, "machine": 1, "duration": 25 }, { "task": 3, "start": 142, "machine": 2, "duration": 69 }, { "task": 4, "start": 483, "machine": 0, "duration": 75 }, { "task": 5, "start": 558, "machine": 4, "duration": 53 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 83, "machine": 3, "duration": 70 }, { "task": 1, "start": 369, "machine": 0, "duration": 28 }, { "task": 2, "start": 433, "machine": 1, "duration": 73 }, { "task": 3, "start": 506, "machine": 4, "duration": 11 }, { "task": 4, "start": 538, "machine": 2, "duration": 6 }, { "task": 5, "start": 570, "machine": 5, "duration": 32 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 18, "machine": 4, "duration": 90 }, { "task": 1, "start": 153, "machine": 3, "duration": 66 }, { "task": 2, "start": 219, "machine": 2, "duration": 39 }, { "task": 3, "start": 258, "machine": 1, "duration": 13 }, { "task": 4, "start": 271, "machine": 5, "duration": 97 }, { "task": 5, "start": 597, "machine": 0, "duration": 10 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 18 }, { "task": 1, "start": 235, "machine": 3, "duration": 98 }, { "task": 2, "start": 397, "machine": 0, "duration": 86 }, { "task": 3, "start": 506, "machine": 1, "duration": 40 }, { "task": 4, "start": 546, "machine": 2, "duration": 37 }, { "task": 5, "start": 602, "machine": 5, "duration": 9 } ] } ], "obj": 611.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ 1, 2, 3, 4, 5, 6 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 2, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 5 }, { "job_id": "J1", "task_id": 2, "machine_id": 6, "duration": 47 }, { "job_id": "J1", "task_id": 3, "machine_id": 5, "duration": 53 }, { "job_id": "J1", "task_id": 4, "machine_id": 3, "duration": 75 }, { "job_id": "J1", "task_id": 5, "machine_id": 1, "duration": 39 }, { "job_id": "J2", "task_id": 0, "machine_id": 5, "duration": 95 }, { "job_id": "J2", "task_id": 1, "machine_id": 4, "duration": 3 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 7 }, { "job_id": "J2", "task_id": 3, "machine_id": 3, "duration": 51 }, { "job_id": "J2", "task_id": 4, "machine_id": 2, "duration": 22 }, { "job_id": "J2", "task_id": 5, "machine_id": 6, "duration": 63 }, { "job_id": "J3", "task_id": 0, "machine_id": 3, "duration": 80 }, { "job_id": "J3", "task_id": 1, "machine_id": 1, "duration": 90 }, { "job_id": "J3", "task_id": 2, "machine_id": 5, "duration": 49 }, { "job_id": "J3", "task_id": 3, "machine_id": 6, "duration": 49 }, { "job_id": "J3", "task_id": 4, "machine_id": 4, "duration": 38 }, { "job_id": "J3", "task_id": 5, "machine_id": 2, "duration": 65 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 21 }, { "job_id": "J4", "task_id": 1, "machine_id": 1, "duration": 61 }, { "job_id": "J4", "task_id": 2, "machine_id": 2, "duration": 7 }, { "job_id": "J4", "task_id": 3, "machine_id": 6, "duration": 69 }, { "job_id": "J4", "task_id": 4, "machine_id": 5, "duration": 47 }, { "job_id": "J4", "task_id": 5, "machine_id": 3, "duration": 16 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 8 }, { "job_id": "J5", "task_id": 1, "machine_id": 5, "duration": 26 }, { "job_id": "J5", "task_id": 2, "machine_id": 2, "duration": 72 }, { "job_id": "J5", "task_id": 3, "machine_id": 1, "duration": 92 }, { "job_id": "J5", "task_id": 4, "machine_id": 3, "duration": 94 }, { "job_id": "J5", "task_id": 5, "machine_id": 6, "duration": 90 }, { "job_id": "J6", "task_id": 0, "machine_id": 6, "duration": 47 }, { "job_id": "J6", "task_id": 1, "machine_id": 5, "duration": 3 }, { "job_id": "J6", "task_id": 2, "machine_id": 3, "duration": 5 }, { "job_id": "J6", "task_id": 3, "machine_id": 1, "duration": 98 }, { "job_id": "J6", "task_id": 4, "machine_id": 2, "duration": 83 }, { "job_id": "J6", "task_id": 5, "machine_id": 4, "duration": 57 }, { "job_id": "J7", "task_id": 0, "machine_id": 6, "duration": 15 }, { "job_id": "J7", "task_id": 1, "machine_id": 4, "duration": 54 }, { "job_id": "J7", "task_id": 2, "machine_id": 2, "duration": 25 }, { "job_id": "J7", "task_id": 3, "machine_id": 3, "duration": 69 }, { "job_id": "J7", "task_id": 4, "machine_id": 1, "duration": 75 }, { "job_id": "J7", "task_id": 5, "machine_id": 5, "duration": 53 }, { "job_id": "J8", "task_id": 0, "machine_id": 4, "duration": 70 }, { "job_id": "J8", "task_id": 1, "machine_id": 1, "duration": 28 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 73 }, { "job_id": "J8", "task_id": 3, "machine_id": 5, "duration": 11 }, { "job_id": "J8", "task_id": 4, "machine_id": 3, "duration": 6 }, { "job_id": "J8", "task_id": 5, "machine_id": 6, "duration": 32 }, { "job_id": "J9", "task_id": 0, "machine_id": 5, "duration": 90 }, { "job_id": "J9", "task_id": 1, "machine_id": 4, "duration": 66 }, { "job_id": "J9", "task_id": 2, "machine_id": 3, "duration": 39 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 13 }, { "job_id": "J9", "task_id": 4, "machine_id": 6, "duration": 97 }, { "job_id": "J9", "task_id": 5, "machine_id": 1, "duration": 10 }, { "job_id": "J10", "task_id": 0, "machine_id": 5, "duration": 18 }, { "job_id": "J10", "task_id": 1, "machine_id": 4, "duration": 98 }, { "job_id": "J10", "task_id": 2, "machine_id": 1, "duration": 86 }, { "job_id": "J10", "task_id": 3, "machine_id": 2, "duration": 40 }, { "job_id": "J10", "task_id": 4, "machine_id": 3, "duration": 37 }, { "job_id": "J10", "task_id": 5, "machine_id": 6, "duration": 9 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 1 }, { "task": 1, "start": 219, "machine": 4, "duration": 5 }, { "task": 2, "start": 224, "machine": 6, "duration": 47 }, { "task": 3, "start": 279, "machine": 5, "duration": 53 }, { "task": 4, "start": 463, "machine": 3, "duration": 75 }, { "task": 5, "start": 558, "machine": 1, "duration": 39 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 137, "machine": 5, "duration": 95 }, { "task": 1, "start": 232, "machine": 4, "duration": 3 }, { "task": 2, "start": 270, "machine": 1, "duration": 7 }, { "task": 3, "start": 277, "machine": 3, "duration": 51 }, { "task": 4, "start": 328, "machine": 2, "duration": 22 }, { "task": 5, "start": 368, "machine": 6, "duration": 63 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 80 }, { "task": 1, "start": 82, "machine": 1, "duration": 90 }, { "task": 2, "start": 332, "machine": 5, "duration": 49 }, { "task": 3, "start": 431, "machine": 6, "duration": 49 }, { "task": 4, "start": 490, "machine": 4, "duration": 38 }, { "task": 5, "start": 546, "machine": 2, "duration": 65 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 21 }, { "task": 1, "start": 21, "machine": 1, "duration": 61 }, { "task": 2, "start": 82, "machine": 2, "duration": 7 }, { "task": 3, "start": 89, "machine": 6, "duration": 69 }, { "task": 4, "start": 232, "machine": 5, "duration": 47 }, { "task": 5, "start": 328, "machine": 3, "duration": 16 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 21, "machine": 4, "duration": 8 }, { "task": 1, "start": 108, "machine": 5, "duration": 26 }, { "task": 2, "start": 134, "machine": 2, "duration": 72 }, { "task": 3, "start": 277, "machine": 1, "duration": 92 }, { "task": 4, "start": 369, "machine": 3, "duration": 94 }, { "task": 5, "start": 480, "machine": 6, "duration": 90 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 15, "machine": 6, "duration": 47 }, { "task": 1, "start": 134, "machine": 5, "duration": 3 }, { "task": 2, "start": 137, "machine": 3, "duration": 5 }, { "task": 3, "start": 172, "machine": 1, "duration": 98 }, { "task": 4, "start": 350, "machine": 2, "duration": 83 }, { "task": 5, "start": 433, "machine": 4, "duration": 57 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 6, "duration": 15 }, { "task": 1, "start": 29, "machine": 4, "duration": 54 }, { "task": 2, "start": 89, "machine": 2, "duration": 25 }, { "task": 3, "start": 142, "machine": 3, "duration": 69 }, { "task": 4, "start": 483, "machine": 1, "duration": 75 }, { "task": 5, "start": 558, "machine": 5, "duration": 53 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 83, "machine": 4, "duration": 70 }, { "task": 1, "start": 369, "machine": 1, "duration": 28 }, { "task": 2, "start": 433, "machine": 2, "duration": 73 }, { "task": 3, "start": 506, "machine": 5, "duration": 11 }, { "task": 4, "start": 538, "machine": 3, "duration": 6 }, { "task": 5, "start": 570, "machine": 6, "duration": 32 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 18, "machine": 5, "duration": 90 }, { "task": 1, "start": 153, "machine": 4, "duration": 66 }, { "task": 2, "start": 219, "machine": 3, "duration": 39 }, { "task": 3, "start": 258, "machine": 2, "duration": 13 }, { "task": 4, "start": 271, "machine": 6, "duration": 97 }, { "task": 5, "start": 597, "machine": 1, "duration": 10 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 18 }, { "task": 1, "start": 235, "machine": 4, "duration": 98 }, { "task": 2, "start": 397, "machine": 1, "duration": 86 }, { "task": 3, "start": 506, "machine": 2, "duration": 40 }, { "task": 4, "start": 546, "machine": 3, "duration": 37 }, { "task": 5, "start": 602, "machine": 6, "duration": 9 } ] } ], "context_index": 43, "input_format": "csv", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "There’s a busy makerspace where several projects are queued for cutting, sanding, and painting, and the coordinator needs to line up who uses which machine when. Each project follows the same ordered steps; each step belongs to a particular machine and takes a fixed amount of time, and a machine can only handle one step at any given moment. The aim is to get the whole lot wrapped up quickly — measure success by the time when the last project’s final step finishes, and try to make that time as early as possible. All steps have to happen in order and exactly once, with no overlapping use of machines. The concrete project and timing details are shown below.\n\nThere are 12 projects waiting and 6 machines available; project IDs are J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12 and machine IDs are A, B, C, D, E, F.\nProject J1, step 0: uses machine F for 1 time units.\nProject J1, step 1: uses machine E for 18 time units.\nProject J1, step 2: uses machine D for 23 time units.\nProject J1, step 3: uses machine B for 98 time units.\nProject J1, step 4: uses machine C for 29 time units.\nProject J1, step 5: uses machine A for 61 time units.\nProject J2, step 0: uses machine D for 99 time units.\nProject J2, step 1: uses machine A for 70 time units.\nProject J2, step 2: uses machine E for 74 time units.\nProject J2, step 3: uses machine F for 45 time units.\nProject J2, step 4: uses machine C for 60 time units.\nProject J2, step 5: uses machine B for 15 time units.\nProject J3, step 0: uses machine C for 63 time units.\nProject J3, step 1: uses machine A for 93 time units.\nProject J3, step 2: uses machine F for 54 time units.\nProject J3, step 3: uses machine E for 3 time units.\nProject J3, step 4: uses machine B for 5 time units.\nProject J3, step 5: uses machine D for 65 time units.\nProject J4, step 0: uses machine B for 59 time units.\nProject J4, step 1: uses machine F for 68 time units.\nProject J4, step 2: uses machine D for 49 time units.\nProject J4, step 3: uses machine E for 38 time units.\nProject J4, step 4: uses machine C for 7 time units.\nProject J4, step 5: uses machine A for 9 time units.\nProject J5, step 0: uses machine E for 92 time units.\nProject J5, step 1: uses machine F for 79 time units.\nProject J5, step 2: uses machine B for 81 time units.\nProject J5, step 3: uses machine D for 58 time units.\nProject J5, step 4: uses machine A for 36 time units.\nProject J5, step 5: uses machine C for 60 time units.\nProject J6, step 0: uses machine F for 38 time units.\nProject J6, step 1: uses machine E for 78 time units.\nProject J6, step 2: uses machine B for 31 time units.\nProject J6, step 3: uses machine D for 4 time units.\nProject J6, step 4: uses machine C for 57 time units.\nProject J6, step 5: uses machine A for 90 time units.\nProject J7, step 0: uses machine B for 77 time units.\nProject J7, step 1: uses machine A for 30 time units.\nProject J7, step 2: uses machine C for 24 time units.\nProject J7, step 3: uses machine E for 6 time units.\nProject J7, step 4: uses machine F for 99 time units.\nProject J7, step 5: uses machine D for 52 time units.\nProject J8, step 0: uses machine C for 43 time units.\nProject J8, step 1: uses machine E for 4 time units.\nProject J8, step 2: uses machine D for 38 time units.\nProject J8, step 3: uses machine F for 18 time units.\nProject J8, step 4: uses machine A for 69 time units.\nProject J8, step 5: uses machine B for 20 time units.\nProject J9, step 0: uses machine D for 18 time units.\nProject J9, step 1: uses machine F for 10 time units.\nProject J9, step 2: uses machine B for 16 time units.\nProject J9, step 3: uses machine E for 61 time units.\nProject J9, step 4: uses machine A for 21 time units.\nProject J9, step 5: uses machine C for 37 time units.\nProject J10, step 0: uses machine D for 54 time units.\nProject J10, step 1: uses machine C for 16 time units.\nProject J10, step 2: uses machine E for 36 time units.\nProject J10, step 3: uses machine B for 30 time units.\nProject J10, step 4: uses machine F for 28 time units.\nProject J10, step 5: uses machine A for 15 time units.\nProject J11, step 0: uses machine C for 89 time units.\nProject J11, step 1: uses machine F for 88 time units.\nProject J11, step 2: uses machine B for 88 time units.\nProject J11, step 3: uses machine D for 12 time units.\nProject J11, step 4: uses machine E for 86 time units.\nProject J11, step 5: uses machine A for 98 time units.\nProject J12, step 0: uses machine A for 62 time units.\nProject J12, step 1: uses machine E for 71 time units.\nProject J12, step 2: uses machine F for 56 time units.\nProject J12, step 3: uses machine D for 27 time units.\nProject J12, step 4: uses machine C for 56 time units.\nProject J12, step 5: uses machine B for 65 time units.\nThe coordinator must schedule each step in order without machine overlap so all 12 projects finish as soon as possible.\n\nAlso, when you send the schedule back, a plain JSON layout like the one below works best — just a relaxed, consistent shape so it's easy to read and check:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis little sketch is just the shape I’m expecting: \"solution\" holds a list of jobs (projects), each job has its id under \"job\" and an ordered \"tasks\" list. Each task entry says which task index it is, when it starts, which machine it uses, and how long it runs. Think of it like filling out a simple schedule form rather than anything formal — it doesn’t contain the actual scheduled times yet, just the fields I’ll need filled in.\n\nPlease use the identifiers exactly as they appear in the instance input — don’t rename them or invent new labels. \n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 6, "nr_jobs": 12, "jobs": [ [ [ 5, 1 ], [ 4, 18 ], [ 3, 23 ], [ 1, 98 ], [ 2, 29 ], [ 0, 61 ] ], [ [ 3, 99 ], [ 0, 70 ], [ 4, 74 ], [ 5, 45 ], [ 2, 60 ], [ 1, 15 ] ], [ [ 2, 63 ], [ 0, 93 ], [ 5, 54 ], [ 4, 3 ], [ 1, 5 ], [ 3, 65 ] ], [ [ 1, 59 ], [ 5, 68 ], [ 3, 49 ], [ 4, 38 ], [ 2, 7 ], [ 0, 9 ] ], [ [ 4, 92 ], [ 5, 79 ], [ 1, 81 ], [ 3, 58 ], [ 0, 36 ], [ 2, 60 ] ], [ [ 5, 38 ], [ 4, 78 ], [ 1, 31 ], [ 3, 4 ], [ 2, 57 ], [ 0, 90 ] ], [ [ 1, 77 ], [ 0, 30 ], [ 2, 24 ], [ 4, 6 ], [ 5, 99 ], [ 3, 52 ] ], [ [ 2, 43 ], [ 4, 4 ], [ 3, 38 ], [ 5, 18 ], [ 0, 69 ], [ 1, 20 ] ], [ [ 3, 18 ], [ 5, 10 ], [ 1, 16 ], [ 4, 61 ], [ 0, 21 ], [ 2, 37 ] ], [ [ 3, 54 ], [ 2, 16 ], [ 4, 36 ], [ 1, 30 ], [ 5, 28 ], [ 0, 15 ] ], [ [ 2, 89 ], [ 5, 88 ], [ 1, 88 ], [ 3, 12 ], [ 4, 86 ], [ 0, 98 ] ], [ [ 0, 62 ], [ 4, 71 ], [ 5, 56 ], [ 3, 27 ], [ 2, 56 ], [ 1, 65 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 1 }, { "task": 1, "start": 92, "machine": 4, "duration": 18 }, { "task": 2, "start": 113, "machine": 3, "duration": 23 }, { "task": 3, "start": 136, "machine": 1, "duration": 98 }, { "task": 4, "start": 234, "machine": 2, "duration": 29 }, { "task": 5, "start": 265, "machine": 0, "duration": 61 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 99 }, { "task": 1, "start": 156, "machine": 0, "duration": 70 }, { "task": 2, "start": 301, "machine": 4, "duration": 74 }, { "task": 3, "start": 403, "machine": 5, "duration": 45 }, { "task": 4, "start": 468, "machine": 2, "duration": 60 }, { "task": 5, "start": 604, "machine": 1, "duration": 15 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 63 }, { "task": 1, "start": 63, "machine": 0, "duration": 93 }, { "task": 2, "start": 448, "machine": 5, "duration": 54 }, { "task": 3, "start": 528, "machine": 4, "duration": 3 }, { "task": 4, "start": 533, "machine": 1, "duration": 5 }, { "task": 5, "start": 538, "machine": 3, "duration": 65 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 59 }, { "task": 1, "start": 59, "machine": 5, "duration": 68 }, { "task": 2, "start": 136, "machine": 3, "duration": 49 }, { "task": 3, "start": 188, "machine": 4, "duration": 38 }, { "task": 4, "start": 226, "machine": 2, "duration": 7 }, { "task": 5, "start": 256, "machine": 0, "duration": 9 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 92 }, { "task": 1, "start": 250, "machine": 5, "duration": 79 }, { "task": 2, "start": 369, "machine": 1, "duration": 81 }, { "task": 3, "start": 450, "machine": 3, "duration": 58 }, { "task": 4, "start": 508, "machine": 0, "duration": 36 }, { "task": 5, "start": 544, "machine": 2, "duration": 60 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 1, "machine": 5, "duration": 38 }, { "task": 1, "start": 110, "machine": 4, "duration": 78 }, { "task": 2, "start": 234, "machine": 1, "duration": 31 }, { "task": 3, "start": 265, "machine": 3, "duration": 4 }, { "task": 4, "start": 269, "machine": 2, "duration": 57 }, { "task": 5, "start": 326, "machine": 0, "duration": 90 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 59, "machine": 1, "duration": 77 }, { "task": 1, "start": 226, "machine": 0, "duration": 30 }, { "task": 2, "start": 326, "machine": 2, "duration": 24 }, { "task": 3, "start": 375, "machine": 4, "duration": 6 }, { "task": 4, "start": 502, "machine": 5, "duration": 99 }, { "task": 5, "start": 603, "machine": 3, "duration": 52 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 152, "machine": 2, "duration": 43 }, { "task": 1, "start": 297, "machine": 4, "duration": 4 }, { "task": 2, "start": 301, "machine": 3, "duration": 38 }, { "task": 3, "start": 385, "machine": 5, "duration": 18 }, { "task": 4, "start": 416, "machine": 0, "duration": 69 }, { "task": 5, "start": 543, "machine": 1, "duration": 20 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 185, "machine": 3, "duration": 18 }, { "task": 1, "start": 240, "machine": 5, "duration": 10 }, { "task": 2, "start": 353, "machine": 1, "duration": 16 }, { "task": 3, "start": 381, "machine": 4, "duration": 61 }, { "task": 4, "start": 485, "machine": 0, "duration": 21 }, { "task": 5, "start": 613, "machine": 2, "duration": 37 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 203, "machine": 3, "duration": 54 }, { "task": 1, "start": 366, "machine": 2, "duration": 16 }, { "task": 2, "start": 538, "machine": 4, "duration": 36 }, { "task": 3, "start": 574, "machine": 1, "duration": 30 }, { "task": 4, "start": 604, "machine": 5, "duration": 28 }, { "task": 5, "start": 642, "machine": 0, "duration": 15 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 63, "machine": 2, "duration": 89 }, { "task": 1, "start": 152, "machine": 5, "duration": 88 }, { "task": 2, "start": 265, "machine": 1, "duration": 88 }, { "task": 3, "start": 353, "machine": 3, "duration": 12 }, { "task": 4, "start": 442, "machine": 4, "duration": 86 }, { "task": 5, "start": 544, "machine": 0, "duration": 98 } ] }, { "job": 11, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 62 }, { "task": 1, "start": 226, "machine": 4, "duration": 71 }, { "task": 2, "start": 329, "machine": 5, "duration": 56 }, { "task": 3, "start": 385, "machine": 3, "duration": 27 }, { "task": 4, "start": 412, "machine": 2, "duration": 56 }, { "task": 5, "start": 468, "machine": 1, "duration": 65 } ] } ], "obj": 657.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 12, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11", "J12" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "F", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "E", "duration": 18 }, { "job_id": "J1", "task_id": 2, "machine_id": "D", "duration": 23 }, { "job_id": "J1", "task_id": 3, "machine_id": "B", "duration": 98 }, { "job_id": "J1", "task_id": 4, "machine_id": "C", "duration": 29 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 61 }, { "job_id": "J2", "task_id": 0, "machine_id": "D", "duration": 99 }, { "job_id": "J2", "task_id": 1, "machine_id": "A", "duration": 70 }, { "job_id": "J2", "task_id": 2, "machine_id": "E", "duration": 74 }, { "job_id": "J2", "task_id": 3, "machine_id": "F", "duration": 45 }, { "job_id": "J2", "task_id": 4, "machine_id": "C", "duration": 60 }, { "job_id": "J2", "task_id": 5, "machine_id": "B", "duration": 15 }, { "job_id": "J3", "task_id": 0, "machine_id": "C", "duration": 63 }, { "job_id": "J3", "task_id": 1, "machine_id": "A", "duration": 93 }, { "job_id": "J3", "task_id": 2, "machine_id": "F", "duration": 54 }, { "job_id": "J3", "task_id": 3, "machine_id": "E", "duration": 3 }, { "job_id": "J3", "task_id": 4, "machine_id": "B", "duration": 5 }, { "job_id": "J3", "task_id": 5, "machine_id": "D", "duration": 65 }, { "job_id": "J4", "task_id": 0, "machine_id": "B", "duration": 59 }, { "job_id": "J4", "task_id": 1, "machine_id": "F", "duration": 68 }, { "job_id": "J4", "task_id": 2, "machine_id": "D", "duration": 49 }, { "job_id": "J4", "task_id": 3, "machine_id": "E", "duration": 38 }, { "job_id": "J4", "task_id": 4, "machine_id": "C", "duration": 7 }, { "job_id": "J4", "task_id": 5, "machine_id": "A", "duration": 9 }, { "job_id": "J5", "task_id": 0, "machine_id": "E", "duration": 92 }, { "job_id": "J5", "task_id": 1, "machine_id": "F", "duration": 79 }, { "job_id": "J5", "task_id": 2, "machine_id": "B", "duration": 81 }, { "job_id": "J5", "task_id": 3, "machine_id": "D", "duration": 58 }, { "job_id": "J5", "task_id": 4, "machine_id": "A", "duration": 36 }, { "job_id": "J5", "task_id": 5, "machine_id": "C", "duration": 60 }, { "job_id": "J6", "task_id": 0, "machine_id": "F", "duration": 38 }, { "job_id": "J6", "task_id": 1, "machine_id": "E", "duration": 78 }, { "job_id": "J6", "task_id": 2, "machine_id": "B", "duration": 31 }, { "job_id": "J6", "task_id": 3, "machine_id": "D", "duration": 4 }, { "job_id": "J6", "task_id": 4, "machine_id": "C", "duration": 57 }, { "job_id": "J6", "task_id": 5, "machine_id": "A", "duration": 90 }, { "job_id": "J7", "task_id": 0, "machine_id": "B", "duration": 77 }, { "job_id": "J7", "task_id": 1, "machine_id": "A", "duration": 30 }, { "job_id": "J7", "task_id": 2, "machine_id": "C", "duration": 24 }, { "job_id": "J7", "task_id": 3, "machine_id": "E", "duration": 6 }, { "job_id": "J7", "task_id": 4, "machine_id": "F", "duration": 99 }, { "job_id": "J7", "task_id": 5, "machine_id": "D", "duration": 52 }, { "job_id": "J8", "task_id": 0, "machine_id": "C", "duration": 43 }, { "job_id": "J8", "task_id": 1, "machine_id": "E", "duration": 4 }, { "job_id": "J8", "task_id": 2, "machine_id": "D", "duration": 38 }, { "job_id": "J8", "task_id": 3, "machine_id": "F", "duration": 18 }, { "job_id": "J8", "task_id": 4, "machine_id": "A", "duration": 69 }, { "job_id": "J8", "task_id": 5, "machine_id": "B", "duration": 20 }, { "job_id": "J9", "task_id": 0, "machine_id": "D", "duration": 18 }, { "job_id": "J9", "task_id": 1, "machine_id": "F", "duration": 10 }, { "job_id": "J9", "task_id": 2, "machine_id": "B", "duration": 16 }, { "job_id": "J9", "task_id": 3, "machine_id": "E", "duration": 61 }, { "job_id": "J9", "task_id": 4, "machine_id": "A", "duration": 21 }, { "job_id": "J9", "task_id": 5, "machine_id": "C", "duration": 37 }, { "job_id": "J10", "task_id": 0, "machine_id": "D", "duration": 54 }, { "job_id": "J10", "task_id": 1, "machine_id": "C", "duration": 16 }, { "job_id": "J10", "task_id": 2, "machine_id": "E", "duration": 36 }, { "job_id": "J10", "task_id": 3, "machine_id": "B", "duration": 30 }, { "job_id": "J10", "task_id": 4, "machine_id": "F", "duration": 28 }, { "job_id": "J10", "task_id": 5, "machine_id": "A", "duration": 15 }, { "job_id": "J11", "task_id": 0, "machine_id": "C", "duration": 89 }, { "job_id": "J11", "task_id": 1, "machine_id": "F", "duration": 88 }, { "job_id": "J11", "task_id": 2, "machine_id": "B", "duration": 88 }, { "job_id": "J11", "task_id": 3, "machine_id": "D", "duration": 12 }, { "job_id": "J11", "task_id": 4, "machine_id": "E", "duration": 86 }, { "job_id": "J11", "task_id": 5, "machine_id": "A", "duration": 98 }, { "job_id": "J12", "task_id": 0, "machine_id": "A", "duration": 62 }, { "job_id": "J12", "task_id": 1, "machine_id": "E", "duration": 71 }, { "job_id": "J12", "task_id": 2, "machine_id": "F", "duration": 56 }, { "job_id": "J12", "task_id": 3, "machine_id": "D", "duration": 27 }, { "job_id": "J12", "task_id": 4, "machine_id": "C", "duration": 56 }, { "job_id": "J12", "task_id": 5, "machine_id": "B", "duration": 65 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": "F", "duration": 1 }, { "task": 1, "start": 92, "machine": "E", "duration": 18 }, { "task": 2, "start": 113, "machine": "D", "duration": 23 }, { "task": 3, "start": 136, "machine": "B", "duration": 98 }, { "task": 4, "start": 234, "machine": "C", "duration": 29 }, { "task": 5, "start": 265, "machine": "A", "duration": 61 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 99 }, { "task": 1, "start": 156, "machine": "A", "duration": 70 }, { "task": 2, "start": 301, "machine": "E", "duration": 74 }, { "task": 3, "start": 403, "machine": "F", "duration": 45 }, { "task": 4, "start": 468, "machine": "C", "duration": 60 }, { "task": 5, "start": 604, "machine": "B", "duration": 15 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 63 }, { "task": 1, "start": 63, "machine": "A", "duration": 93 }, { "task": 2, "start": 448, "machine": "F", "duration": 54 }, { "task": 3, "start": 528, "machine": "E", "duration": 3 }, { "task": 4, "start": 533, "machine": "B", "duration": 5 }, { "task": 5, "start": 538, "machine": "D", "duration": 65 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 59 }, { "task": 1, "start": 59, "machine": "F", "duration": 68 }, { "task": 2, "start": 136, "machine": "D", "duration": 49 }, { "task": 3, "start": 188, "machine": "E", "duration": 38 }, { "task": 4, "start": 226, "machine": "C", "duration": 7 }, { "task": 5, "start": 256, "machine": "A", "duration": 9 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 92 }, { "task": 1, "start": 250, "machine": "F", "duration": 79 }, { "task": 2, "start": 369, "machine": "B", "duration": 81 }, { "task": 3, "start": 450, "machine": "D", "duration": 58 }, { "task": 4, "start": 508, "machine": "A", "duration": 36 }, { "task": 5, "start": 544, "machine": "C", "duration": 60 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 1, "machine": "F", "duration": 38 }, { "task": 1, "start": 110, "machine": "E", "duration": 78 }, { "task": 2, "start": 234, "machine": "B", "duration": 31 }, { "task": 3, "start": 265, "machine": "D", "duration": 4 }, { "task": 4, "start": 269, "machine": "C", "duration": 57 }, { "task": 5, "start": 326, "machine": "A", "duration": 90 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 59, "machine": "B", "duration": 77 }, { "task": 1, "start": 226, "machine": "A", "duration": 30 }, { "task": 2, "start": 326, "machine": "C", "duration": 24 }, { "task": 3, "start": 375, "machine": "E", "duration": 6 }, { "task": 4, "start": 502, "machine": "F", "duration": 99 }, { "task": 5, "start": 603, "machine": "D", "duration": 52 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 152, "machine": "C", "duration": 43 }, { "task": 1, "start": 297, "machine": "E", "duration": 4 }, { "task": 2, "start": 301, "machine": "D", "duration": 38 }, { "task": 3, "start": 385, "machine": "F", "duration": 18 }, { "task": 4, "start": 416, "machine": "A", "duration": 69 }, { "task": 5, "start": 543, "machine": "B", "duration": 20 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 185, "machine": "D", "duration": 18 }, { "task": 1, "start": 240, "machine": "F", "duration": 10 }, { "task": 2, "start": 353, "machine": "B", "duration": 16 }, { "task": 3, "start": 381, "machine": "E", "duration": 61 }, { "task": 4, "start": 485, "machine": "A", "duration": 21 }, { "task": 5, "start": 613, "machine": "C", "duration": 37 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 203, "machine": "D", "duration": 54 }, { "task": 1, "start": 366, "machine": "C", "duration": 16 }, { "task": 2, "start": 538, "machine": "E", "duration": 36 }, { "task": 3, "start": 574, "machine": "B", "duration": 30 }, { "task": 4, "start": 604, "machine": "F", "duration": 28 }, { "task": 5, "start": 642, "machine": "A", "duration": 15 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 63, "machine": "C", "duration": 89 }, { "task": 1, "start": 152, "machine": "F", "duration": 88 }, { "task": 2, "start": 265, "machine": "B", "duration": 88 }, { "task": 3, "start": 353, "machine": "D", "duration": 12 }, { "task": 4, "start": 442, "machine": "E", "duration": 86 }, { "task": 5, "start": 544, "machine": "A", "duration": 98 } ] }, { "job": "J12", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 62 }, { "task": 1, "start": 226, "machine": "E", "duration": 71 }, { "task": 2, "start": 329, "machine": "F", "duration": 56 }, { "task": 3, "start": 385, "machine": "D", "duration": 27 }, { "task": 4, "start": 412, "machine": "C", "duration": 56 }, { "task": 5, "start": 468, "machine": "B", "duration": 65 } ] } ], "context_index": 44, "input_format": "nl", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Recently the foreperson asked for a simple plan: spread digging, planting and mulching across the teams and tools so each garden moves from one step to the next in order without crews clashing. Each task must run on its designated crew or machine for the whole time it needs, and every plot must get each step once — nothing missing, nothing doubled. The success of the plan is judged by how soon everything is done, i.e., the clock time when the last plot’s work finishes, and the aim is to make that time as early as possible. The exact plot-by-plot details are given below.\n\nThere are 11 plots to complete using 5 crews and tools; plot ids: J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11; crew/tool ids: 1, 2, 3, 4, 5.\n\n| plot_id | step_index | crew_or_tool_id | task_duration |\n|---|---|---|---|\n| J1 | 0 | 4 | 1 |\n| J1 | 1 | 2 | 31 |\n| J1 | 2 | 5 | 98 |\n| J1 | 3 | 3 | 44 |\n| J1 | 4 | 1 | 81 |\n| J2 | 0 | 5 | 83 |\n| J2 | 1 | 1 | 5 |\n| J2 | 2 | 4 | 38 |\n| J2 | 3 | 2 | 42 |\n| J2 | 4 | 3 | 38 |\n| J3 | 0 | 3 | 98 |\n| J3 | 1 | 4 | 67 |\n| J3 | 2 | 1 | 46 |\n| J3 | 3 | 5 | 97 |\n| J3 | 4 | 2 | 60 |\n| J4 | 0 | 4 | 55 |\n| J4 | 1 | 2 | 72 |\n| J4 | 2 | 5 | 66 |\n| J4 | 3 | 3 | 97 |\n| J4 | 4 | 1 | 75 |\n| J5 | 0 | 5 | 90 |\n| J5 | 1 | 4 | 7 |\n| J5 | 2 | 1 | 65 |\n| J5 | 3 | 3 | 2 |\n| J5 | 4 | 2 | 77 |\n| J6 | 0 | 3 | 32 |\n| J6 | 1 | 1 | 90 |\n| J6 | 2 | 2 | 24 |\n| J6 | 3 | 5 | 77 |\n| J6 | 4 | 4 | 30 |\n| J7 | 0 | 4 | 29 |\n| J7 | 1 | 1 | 55 |\n| J7 | 2 | 2 | 57 |\n| J7 | 3 | 5 | 9 |\n| J7 | 4 | 3 | 31 |\n| J8 | 0 | 5 | 23 |\n| J8 | 1 | 3 | 41 |\n| J8 | 2 | 2 | 6 |\n| J8 | 3 | 1 | 23 |\n| J8 | 4 | 4 | 42 |\n| J9 | 0 | 4 | 25 |\n| J9 | 1 | 2 | 50 |\n| J9 | 2 | 5 | 15 |\n| J9 | 3 | 3 | 79 |\n| J9 | 4 | 1 | 4 |\n| J10 | 0 | 5 | 25 |\n| J10 | 1 | 3 | 32 |\n| J10 | 2 | 2 | 9 |\n| J10 | 3 | 1 | 45 |\n| J10 | 4 | 4 | 53 |\n| J11 | 0 | 2 | 91 |\n| J11 | 1 | 5 | 9 |\n| J11 | 2 | 3 | 45 |\n| J11 | 3 | 1 | 64 |\n| J11 | 4 | 4 | 89 |\n\nCover all 11 plots on the 5 crews/tools and aim to finish as early as possible.\n\nOh, and one quick thing — when you send the plan back, please follow a little JSON shape like this:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis just shows the shape I expect: a top-level \"solution\" list, one entry per job/plot with its id, and for each job a list of tasks giving the task index, the planned start time, which crew/tool (machine) it uses, and how long it runs. Think of it like filling out a simple form for each plot: who does what, when, and for how long. It's only a sketch of the expected shape, not the actual schedule.\n\nPlease make sure to use the exact identifiers from the instance input — don't rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 11, "jobs": [ [ [ 3, 1 ], [ 1, 31 ], [ 4, 98 ], [ 2, 44 ], [ 0, 81 ] ], [ [ 4, 83 ], [ 0, 5 ], [ 3, 38 ], [ 1, 42 ], [ 2, 38 ] ], [ [ 2, 98 ], [ 3, 67 ], [ 0, 46 ], [ 4, 97 ], [ 1, 60 ] ], [ [ 3, 55 ], [ 1, 72 ], [ 4, 66 ], [ 2, 97 ], [ 0, 75 ] ], [ [ 4, 90 ], [ 3, 7 ], [ 0, 65 ], [ 2, 2 ], [ 1, 77 ] ], [ [ 2, 32 ], [ 0, 90 ], [ 1, 24 ], [ 4, 77 ], [ 3, 30 ] ], [ [ 3, 29 ], [ 0, 55 ], [ 1, 57 ], [ 4, 9 ], [ 2, 31 ] ], [ [ 4, 23 ], [ 2, 41 ], [ 1, 6 ], [ 0, 23 ], [ 3, 42 ] ], [ [ 3, 25 ], [ 1, 50 ], [ 4, 15 ], [ 2, 79 ], [ 0, 4 ] ], [ [ 4, 25 ], [ 2, 32 ], [ 1, 9 ], [ 0, 45 ], [ 3, 53 ] ], [ [ 1, 91 ], [ 4, 9 ], [ 2, 45 ], [ 0, 64 ], [ 3, 89 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 84, "machine": 3, "duration": 1 }, { "task": 1, "start": 213, "machine": 1, "duration": 31 }, { "task": 2, "start": 273, "machine": 4, "duration": 98 }, { "task": 3, "start": 371, "machine": 2, "duration": 44 }, { "task": 4, "start": 432, "machine": 0, "duration": 81 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 115, "machine": 4, "duration": 83 }, { "task": 1, "start": 318, "machine": 0, "duration": 5 }, { "task": 2, "start": 323, "machine": 3, "duration": 38 }, { "task": 3, "start": 411, "machine": 1, "duration": 42 }, { "task": 4, "start": 456, "machine": 2, "duration": 38 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 98 }, { "task": 1, "start": 117, "machine": 3, "duration": 67 }, { "task": 2, "start": 272, "machine": 0, "duration": 46 }, { "task": 3, "start": 394, "machine": 4, "duration": 97 }, { "task": 4, "start": 491, "machine": 1, "duration": 60 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 29, "machine": 3, "duration": 55 }, { "task": 1, "start": 91, "machine": 1, "duration": 72 }, { "task": 2, "start": 207, "machine": 4, "duration": 66 }, { "task": 3, "start": 273, "machine": 2, "duration": 97 }, { "task": 4, "start": 536, "machine": 0, "duration": 75 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 90 }, { "task": 1, "start": 110, "machine": 3, "duration": 7 }, { "task": 2, "start": 117, "machine": 0, "duration": 65 }, { "task": 3, "start": 182, "machine": 2, "duration": 2 }, { "task": 4, "start": 253, "machine": 1, "duration": 77 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 98, "machine": 2, "duration": 32 }, { "task": 1, "start": 182, "machine": 0, "duration": 90 }, { "task": 2, "start": 330, "machine": 1, "duration": 24 }, { "task": 3, "start": 515, "machine": 4, "duration": 77 }, { "task": 4, "start": 592, "machine": 3, "duration": 30 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 29 }, { "task": 1, "start": 29, "machine": 0, "duration": 55 }, { "task": 2, "start": 354, "machine": 1, "duration": 57 }, { "task": 3, "start": 506, "machine": 4, "duration": 9 }, { "task": 4, "start": 591, "machine": 2, "duration": 31 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 371, "machine": 4, "duration": 23 }, { "task": 1, "start": 415, "machine": 2, "duration": 41 }, { "task": 2, "start": 456, "machine": 1, "duration": 6 }, { "task": 3, "start": 513, "machine": 0, "duration": 23 }, { "task": 4, "start": 536, "machine": 3, "duration": 42 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 85, "machine": 3, "duration": 25 }, { "task": 1, "start": 163, "machine": 1, "duration": 50 }, { "task": 2, "start": 491, "machine": 4, "duration": 15 }, { "task": 3, "start": 506, "machine": 2, "duration": 79 }, { "task": 4, "start": 611, "machine": 0, "duration": 4 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 90, "machine": 4, "duration": 25 }, { "task": 1, "start": 130, "machine": 2, "duration": 32 }, { "task": 2, "start": 244, "machine": 1, "duration": 9 }, { "task": 3, "start": 387, "machine": 0, "duration": 45 }, { "task": 4, "start": 476, "machine": 3, "duration": 53 } ] }, { "job": 10, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 91 }, { "task": 1, "start": 198, "machine": 4, "duration": 9 }, { "task": 2, "start": 207, "machine": 2, "duration": 45 }, { "task": 3, "start": 323, "machine": 0, "duration": 64 }, { "task": 4, "start": 387, "machine": 3, "duration": 89 } ] } ], "obj": 622.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 11, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10", "J11" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 4, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 31 }, { "job_id": "J1", "task_id": 2, "machine_id": 5, "duration": 98 }, { "job_id": "J1", "task_id": 3, "machine_id": 3, "duration": 44 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 81 }, { "job_id": "J2", "task_id": 0, "machine_id": 5, "duration": 83 }, { "job_id": "J2", "task_id": 1, "machine_id": 1, "duration": 5 }, { "job_id": "J2", "task_id": 2, "machine_id": 4, "duration": 38 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 42 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 38 }, { "job_id": "J3", "task_id": 0, "machine_id": 3, "duration": 98 }, { "job_id": "J3", "task_id": 1, "machine_id": 4, "duration": 67 }, { "job_id": "J3", "task_id": 2, "machine_id": 1, "duration": 46 }, { "job_id": "J3", "task_id": 3, "machine_id": 5, "duration": 97 }, { "job_id": "J3", "task_id": 4, "machine_id": 2, "duration": 60 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 55 }, { "job_id": "J4", "task_id": 1, "machine_id": 2, "duration": 72 }, { "job_id": "J4", "task_id": 2, "machine_id": 5, "duration": 66 }, { "job_id": "J4", "task_id": 3, "machine_id": 3, "duration": 97 }, { "job_id": "J4", "task_id": 4, "machine_id": 1, "duration": 75 }, { "job_id": "J5", "task_id": 0, "machine_id": 5, "duration": 90 }, { "job_id": "J5", "task_id": 1, "machine_id": 4, "duration": 7 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 65 }, { "job_id": "J5", "task_id": 3, "machine_id": 3, "duration": 2 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 77 }, { "job_id": "J6", "task_id": 0, "machine_id": 3, "duration": 32 }, { "job_id": "J6", "task_id": 1, "machine_id": 1, "duration": 90 }, { "job_id": "J6", "task_id": 2, "machine_id": 2, "duration": 24 }, { "job_id": "J6", "task_id": 3, "machine_id": 5, "duration": 77 }, { "job_id": "J6", "task_id": 4, "machine_id": 4, "duration": 30 }, { "job_id": "J7", "task_id": 0, "machine_id": 4, "duration": 29 }, { "job_id": "J7", "task_id": 1, "machine_id": 1, "duration": 55 }, { "job_id": "J7", "task_id": 2, "machine_id": 2, "duration": 57 }, { "job_id": "J7", "task_id": 3, "machine_id": 5, "duration": 9 }, { "job_id": "J7", "task_id": 4, "machine_id": 3, "duration": 31 }, { "job_id": "J8", "task_id": 0, "machine_id": 5, "duration": 23 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 41 }, { "job_id": "J8", "task_id": 2, "machine_id": 2, "duration": 6 }, { "job_id": "J8", "task_id": 3, "machine_id": 1, "duration": 23 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 42 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 25 }, { "job_id": "J9", "task_id": 1, "machine_id": 2, "duration": 50 }, { "job_id": "J9", "task_id": 2, "machine_id": 5, "duration": 15 }, { "job_id": "J9", "task_id": 3, "machine_id": 3, "duration": 79 }, { "job_id": "J9", "task_id": 4, "machine_id": 1, "duration": 4 }, { "job_id": "J10", "task_id": 0, "machine_id": 5, "duration": 25 }, { "job_id": "J10", "task_id": 1, "machine_id": 3, "duration": 32 }, { "job_id": "J10", "task_id": 2, "machine_id": 2, "duration": 9 }, { "job_id": "J10", "task_id": 3, "machine_id": 1, "duration": 45 }, { "job_id": "J10", "task_id": 4, "machine_id": 4, "duration": 53 }, { "job_id": "J11", "task_id": 0, "machine_id": 2, "duration": 91 }, { "job_id": "J11", "task_id": 1, "machine_id": 5, "duration": 9 }, { "job_id": "J11", "task_id": 2, "machine_id": 3, "duration": 45 }, { "job_id": "J11", "task_id": 3, "machine_id": 1, "duration": 64 }, { "job_id": "J11", "task_id": 4, "machine_id": 4, "duration": 89 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 84, "machine": 4, "duration": 1 }, { "task": 1, "start": 213, "machine": 2, "duration": 31 }, { "task": 2, "start": 273, "machine": 5, "duration": 98 }, { "task": 3, "start": 371, "machine": 3, "duration": 44 }, { "task": 4, "start": 432, "machine": 1, "duration": 81 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 115, "machine": 5, "duration": 83 }, { "task": 1, "start": 318, "machine": 1, "duration": 5 }, { "task": 2, "start": 323, "machine": 4, "duration": 38 }, { "task": 3, "start": 411, "machine": 2, "duration": 42 }, { "task": 4, "start": 456, "machine": 3, "duration": 38 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 98 }, { "task": 1, "start": 117, "machine": 4, "duration": 67 }, { "task": 2, "start": 272, "machine": 1, "duration": 46 }, { "task": 3, "start": 394, "machine": 5, "duration": 97 }, { "task": 4, "start": 491, "machine": 2, "duration": 60 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 29, "machine": 4, "duration": 55 }, { "task": 1, "start": 91, "machine": 2, "duration": 72 }, { "task": 2, "start": 207, "machine": 5, "duration": 66 }, { "task": 3, "start": 273, "machine": 3, "duration": 97 }, { "task": 4, "start": 536, "machine": 1, "duration": 75 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 90 }, { "task": 1, "start": 110, "machine": 4, "duration": 7 }, { "task": 2, "start": 117, "machine": 1, "duration": 65 }, { "task": 3, "start": 182, "machine": 3, "duration": 2 }, { "task": 4, "start": 253, "machine": 2, "duration": 77 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 98, "machine": 3, "duration": 32 }, { "task": 1, "start": 182, "machine": 1, "duration": 90 }, { "task": 2, "start": 330, "machine": 2, "duration": 24 }, { "task": 3, "start": 515, "machine": 5, "duration": 77 }, { "task": 4, "start": 592, "machine": 4, "duration": 30 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 29 }, { "task": 1, "start": 29, "machine": 1, "duration": 55 }, { "task": 2, "start": 354, "machine": 2, "duration": 57 }, { "task": 3, "start": 506, "machine": 5, "duration": 9 }, { "task": 4, "start": 591, "machine": 3, "duration": 31 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 371, "machine": 5, "duration": 23 }, { "task": 1, "start": 415, "machine": 3, "duration": 41 }, { "task": 2, "start": 456, "machine": 2, "duration": 6 }, { "task": 3, "start": 513, "machine": 1, "duration": 23 }, { "task": 4, "start": 536, "machine": 4, "duration": 42 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 85, "machine": 4, "duration": 25 }, { "task": 1, "start": 163, "machine": 2, "duration": 50 }, { "task": 2, "start": 491, "machine": 5, "duration": 15 }, { "task": 3, "start": 506, "machine": 3, "duration": 79 }, { "task": 4, "start": 611, "machine": 1, "duration": 4 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 90, "machine": 5, "duration": 25 }, { "task": 1, "start": 130, "machine": 3, "duration": 32 }, { "task": 2, "start": 244, "machine": 2, "duration": 9 }, { "task": 3, "start": 387, "machine": 1, "duration": 45 }, { "task": 4, "start": 476, "machine": 4, "duration": 53 } ] }, { "job": "J11", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 91 }, { "task": 1, "start": 198, "machine": 5, "duration": 9 }, { "task": 2, "start": 207, "machine": 3, "duration": 45 }, { "task": 3, "start": 323, "machine": 1, "duration": 64 }, { "task": 4, "start": 387, "machine": 4, "duration": 89 } ] } ], "context_index": 45, "input_format": "markdown_table", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "On a busy exam week the print room looks like a tiny factory: batch A needs printing, then stapling, then packing; batch B the same; and so on. Each batch must follow that order, each operation uses its designated equipment for a set duration, and no equipment can handle two batches at once. The win is the plan that gets the final batch completed earliest — check the clock time when the last batch finishes and try to reduce that time. The precise job-by-job times and machine assignments come next below.\n\nThere are 10 batches and 6 equipment units; their identifiers are J1, J2, J3, J4, J5, J6, J7, J8, J9, J10 and A, B, C, D, E, F.\nBatch J1, operation 0 runs on equipment C for 1 time units.\nBatch J1, operation 1 runs on equipment F for 44 time units.\nBatch J1, operation 2 runs on equipment B for 74 time units.\nBatch J1, operation 3 runs on equipment D for 90 time units.\nBatch J1, operation 4 runs on equipment E for 35 time units.\nBatch J1, operation 5 runs on equipment A for 5 time units.\nBatch J2, operation 0 runs on equipment B for 10 time units.\nBatch J2, operation 1 runs on equipment F for 7 time units.\nBatch J2, operation 2 runs on equipment A for 10 time units.\nBatch J2, operation 3 runs on equipment E for 32 time units.\nBatch J2, operation 4 runs on equipment C for 37 time units.\nBatch J2, operation 5 runs on equipment D for 19 time units.\nBatch J3, operation 0 runs on equipment E for 30 time units.\nBatch J3, operation 1 runs on equipment A for 1 time units.\nBatch J3, operation 2 runs on equipment F for 65 time units.\nBatch J3, operation 3 runs on equipment D for 9 time units.\nBatch J3, operation 4 runs on equipment B for 39 time units.\nBatch J3, operation 5 runs on equipment C for 67 time units.\nBatch J4, operation 0 runs on equipment D for 36 time units.\nBatch J4, operation 1 runs on equipment F for 81 time units.\nBatch J4, operation 2 runs on equipment B for 32 time units.\nBatch J4, operation 3 runs on equipment C for 75 time units.\nBatch J4, operation 4 runs on equipment E for 24 time units.\nBatch J4, operation 5 runs on equipment A for 94 time units.\nBatch J5, operation 0 runs on equipment F for 62 time units.\nBatch J5, operation 1 runs on equipment E for 84 time units.\nBatch J5, operation 2 runs on equipment D for 1 time units.\nBatch J5, operation 3 runs on equipment A for 89 time units.\nBatch J5, operation 4 runs on equipment C for 20 time units.\nBatch J5, operation 5 runs on equipment B for 1 time units.\nBatch J6, operation 0 runs on equipment C for 20 time units.\nBatch J6, operation 1 runs on equipment B for 31 time units.\nBatch J6, operation 2 runs on equipment E for 83 time units.\nBatch J6, operation 3 runs on equipment F for 13 time units.\nBatch J6, operation 4 runs on equipment D for 4 time units.\nBatch J6, operation 5 runs on equipment A for 56 time units.\nBatch J7, operation 0 runs on equipment A for 4 time units.\nBatch J7, operation 1 runs on equipment D for 80 time units.\nBatch J7, operation 2 runs on equipment F for 22 time units.\nBatch J7, operation 3 runs on equipment E for 78 time units.\nBatch J7, operation 4 runs on equipment B for 49 time units.\nBatch J7, operation 5 runs on equipment C for 48 time units.\nBatch J8, operation 0 runs on equipment E for 87 time units.\nBatch J8, operation 1 runs on equipment A for 54 time units.\nBatch J8, operation 2 runs on equipment B for 68 time units.\nBatch J8, operation 3 runs on equipment D for 33 time units.\nBatch J8, operation 4 runs on equipment C for 95 time units.\nBatch J8, operation 5 runs on equipment F for 96 time units.\nBatch J9, operation 0 runs on equipment C for 72 time units.\nBatch J9, operation 1 runs on equipment D for 96 time units.\nBatch J9, operation 2 runs on equipment A for 68 time units.\nBatch J9, operation 3 runs on equipment B for 56 time units.\nBatch J9, operation 4 runs on equipment E for 68 time units.\nBatch J9, operation 5 runs on equipment F for 91 time units.\nBatch J10, operation 0 runs on equipment E for 26 time units.\nBatch J10, operation 1 runs on equipment D for 49 time units.\nBatch J10, operation 2 runs on equipment C for 33 time units.\nBatch J10, operation 3 runs on equipment A for 10 time units.\nBatch J10, operation 4 runs on equipment F for 11 time units.\nBatch J10, operation 5 runs on equipment B for 27 time units.\nAim to finish the last of the 10 batches as early as possible.\n\nAnd when you send the actual schedule back, a neat little JSON sketch is all I need — nothing fancy. Just follow this shape so I can read it easily:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis just shows the overall shape: \"solution\" is a list of batches (jobs), each batch has a \"job\" id and a \"tasks\" list. Each task entry says which step number it is (\"task\"), when that step starts (\"start\"), which piece of equipment it uses (\"machine\"), and how long it takes (\"duration\"). Think of it like filling out a little form for each batch and each step — this example is only a sketch of the expected shape, not the actual schedule.\n\nPlease be sure to use the exact identifiers from the instance input — don't rename them or invent new ones. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 10, "jobs": [ [ [ 2, 1 ], [ 5, 44 ], [ 1, 74 ], [ 3, 90 ], [ 4, 35 ], [ 0, 5 ] ], [ [ 1, 10 ], [ 5, 7 ], [ 0, 10 ], [ 4, 32 ], [ 2, 37 ], [ 3, 19 ] ], [ [ 4, 30 ], [ 0, 1 ], [ 5, 65 ], [ 3, 9 ], [ 1, 39 ], [ 2, 67 ] ], [ [ 3, 36 ], [ 5, 81 ], [ 1, 32 ], [ 2, 75 ], [ 4, 24 ], [ 0, 94 ] ], [ [ 5, 62 ], [ 4, 84 ], [ 3, 1 ], [ 0, 89 ], [ 2, 20 ], [ 1, 1 ] ], [ [ 2, 20 ], [ 1, 31 ], [ 4, 83 ], [ 5, 13 ], [ 3, 4 ], [ 0, 56 ] ], [ [ 0, 4 ], [ 3, 80 ], [ 5, 22 ], [ 4, 78 ], [ 1, 49 ], [ 2, 48 ] ], [ [ 4, 87 ], [ 0, 54 ], [ 1, 68 ], [ 3, 33 ], [ 2, 95 ], [ 5, 96 ] ], [ [ 2, 72 ], [ 3, 96 ], [ 0, 68 ], [ 1, 56 ], [ 4, 68 ], [ 5, 91 ] ], [ [ 4, 26 ], [ 3, 49 ], [ 2, 33 ], [ 0, 10 ], [ 5, 11 ], [ 1, 27 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 92, "machine": 2, "duration": 1 }, { "task": 1, "start": 201, "machine": 5, "duration": 44 }, { "task": 2, "start": 270, "machine": 1, "duration": 74 }, { "task": 3, "start": 344, "machine": 3, "duration": 90 }, { "task": 4, "start": 512, "machine": 4, "duration": 35 }, { "task": 5, "start": 562, "machine": 0, "duration": 5 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 10 }, { "task": 1, "start": 10, "machine": 5, "duration": 7 }, { "task": 2, "start": 17, "machine": 0, "duration": 10 }, { "task": 3, "start": 480, "machine": 4, "duration": 32 }, { "task": 4, "start": 512, "machine": 2, "duration": 37 }, { "task": 5, "start": 549, "machine": 3, "duration": 19 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 87, "machine": 4, "duration": 30 }, { "task": 1, "start": 141, "machine": 0, "duration": 1 }, { "task": 2, "start": 245, "machine": 5, "duration": 65 }, { "task": 3, "start": 310, "machine": 3, "duration": 9 }, { "task": 4, "start": 400, "machine": 1, "duration": 39 }, { "task": 5, "start": 439, "machine": 2, "duration": 67 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 36 }, { "task": 1, "start": 36, "machine": 5, "duration": 81 }, { "task": 2, "start": 117, "machine": 1, "duration": 32 }, { "task": 3, "start": 149, "machine": 2, "duration": 75 }, { "task": 4, "start": 388, "machine": 4, "duration": 24 }, { "task": 5, "start": 412, "machine": 0, "duration": 94 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 139, "machine": 5, "duration": 62 }, { "task": 1, "start": 221, "machine": 4, "duration": 84 }, { "task": 2, "start": 305, "machine": 3, "duration": 1 }, { "task": 3, "start": 306, "machine": 0, "duration": 89 }, { "task": 4, "start": 549, "machine": 2, "duration": 20 }, { "task": 5, "start": 569, "machine": 1, "duration": 1 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 20 }, { "task": 1, "start": 20, "machine": 1, "duration": 31 }, { "task": 2, "start": 305, "machine": 4, "duration": 83 }, { "task": 3, "start": 441, "machine": 5, "duration": 13 }, { "task": 4, "start": 454, "machine": 3, "duration": 4 }, { "task": 5, "start": 506, "machine": 0, "duration": 56 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 4 }, { "task": 1, "start": 36, "machine": 3, "duration": 80 }, { "task": 2, "start": 117, "machine": 5, "duration": 22 }, { "task": 3, "start": 143, "machine": 4, "duration": 78 }, { "task": 4, "start": 221, "machine": 1, "duration": 49 }, { "task": 5, "start": 378, "machine": 2, "duration": 48 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 87 }, { "task": 1, "start": 87, "machine": 0, "duration": 54 }, { "task": 2, "start": 149, "machine": 1, "duration": 68 }, { "task": 3, "start": 217, "machine": 3, "duration": 33 }, { "task": 4, "start": 250, "machine": 2, "duration": 95 }, { "task": 5, "start": 345, "machine": 5, "duration": 96 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 20, "machine": 2, "duration": 72 }, { "task": 1, "start": 116, "machine": 3, "duration": 96 }, { "task": 2, "start": 212, "machine": 0, "duration": 68 }, { "task": 3, "start": 344, "machine": 1, "duration": 56 }, { "task": 4, "start": 412, "machine": 4, "duration": 68 }, { "task": 5, "start": 480, "machine": 5, "duration": 91 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 117, "machine": 4, "duration": 26 }, { "task": 1, "start": 250, "machine": 3, "duration": 49 }, { "task": 2, "start": 345, "machine": 2, "duration": 33 }, { "task": 3, "start": 395, "machine": 0, "duration": 10 }, { "task": 4, "start": 454, "machine": 5, "duration": 11 }, { "task": 5, "start": 465, "machine": 1, "duration": 27 } ] } ], "obj": 571.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ "A", "B", "C", "D", "E", "F" ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": "C", "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": "F", "duration": 44 }, { "job_id": "J1", "task_id": 2, "machine_id": "B", "duration": 74 }, { "job_id": "J1", "task_id": 3, "machine_id": "D", "duration": 90 }, { "job_id": "J1", "task_id": 4, "machine_id": "E", "duration": 35 }, { "job_id": "J1", "task_id": 5, "machine_id": "A", "duration": 5 }, { "job_id": "J2", "task_id": 0, "machine_id": "B", "duration": 10 }, { "job_id": "J2", "task_id": 1, "machine_id": "F", "duration": 7 }, { "job_id": "J2", "task_id": 2, "machine_id": "A", "duration": 10 }, { "job_id": "J2", "task_id": 3, "machine_id": "E", "duration": 32 }, { "job_id": "J2", "task_id": 4, "machine_id": "C", "duration": 37 }, { "job_id": "J2", "task_id": 5, "machine_id": "D", "duration": 19 }, { "job_id": "J3", "task_id": 0, "machine_id": "E", "duration": 30 }, { "job_id": "J3", "task_id": 1, "machine_id": "A", "duration": 1 }, { "job_id": "J3", "task_id": 2, "machine_id": "F", "duration": 65 }, { "job_id": "J3", "task_id": 3, "machine_id": "D", "duration": 9 }, { "job_id": "J3", "task_id": 4, "machine_id": "B", "duration": 39 }, { "job_id": "J3", "task_id": 5, "machine_id": "C", "duration": 67 }, { "job_id": "J4", "task_id": 0, "machine_id": "D", "duration": 36 }, { "job_id": "J4", "task_id": 1, "machine_id": "F", "duration": 81 }, { "job_id": "J4", "task_id": 2, "machine_id": "B", "duration": 32 }, { "job_id": "J4", "task_id": 3, "machine_id": "C", "duration": 75 }, { "job_id": "J4", "task_id": 4, "machine_id": "E", "duration": 24 }, { "job_id": "J4", "task_id": 5, "machine_id": "A", "duration": 94 }, { "job_id": "J5", "task_id": 0, "machine_id": "F", "duration": 62 }, { "job_id": "J5", "task_id": 1, "machine_id": "E", "duration": 84 }, { "job_id": "J5", "task_id": 2, "machine_id": "D", "duration": 1 }, { "job_id": "J5", "task_id": 3, "machine_id": "A", "duration": 89 }, { "job_id": "J5", "task_id": 4, "machine_id": "C", "duration": 20 }, { "job_id": "J5", "task_id": 5, "machine_id": "B", "duration": 1 }, { "job_id": "J6", "task_id": 0, "machine_id": "C", "duration": 20 }, { "job_id": "J6", "task_id": 1, "machine_id": "B", "duration": 31 }, { "job_id": "J6", "task_id": 2, "machine_id": "E", "duration": 83 }, { "job_id": "J6", "task_id": 3, "machine_id": "F", "duration": 13 }, { "job_id": "J6", "task_id": 4, "machine_id": "D", "duration": 4 }, { "job_id": "J6", "task_id": 5, "machine_id": "A", "duration": 56 }, { "job_id": "J7", "task_id": 0, "machine_id": "A", "duration": 4 }, { "job_id": "J7", "task_id": 1, "machine_id": "D", "duration": 80 }, { "job_id": "J7", "task_id": 2, "machine_id": "F", "duration": 22 }, { "job_id": "J7", "task_id": 3, "machine_id": "E", "duration": 78 }, { "job_id": "J7", "task_id": 4, "machine_id": "B", "duration": 49 }, { "job_id": "J7", "task_id": 5, "machine_id": "C", "duration": 48 }, { "job_id": "J8", "task_id": 0, "machine_id": "E", "duration": 87 }, { "job_id": "J8", "task_id": 1, "machine_id": "A", "duration": 54 }, { "job_id": "J8", "task_id": 2, "machine_id": "B", "duration": 68 }, { "job_id": "J8", "task_id": 3, "machine_id": "D", "duration": 33 }, { "job_id": "J8", "task_id": 4, "machine_id": "C", "duration": 95 }, { "job_id": "J8", "task_id": 5, "machine_id": "F", "duration": 96 }, { "job_id": "J9", "task_id": 0, "machine_id": "C", "duration": 72 }, { "job_id": "J9", "task_id": 1, "machine_id": "D", "duration": 96 }, { "job_id": "J9", "task_id": 2, "machine_id": "A", "duration": 68 }, { "job_id": "J9", "task_id": 3, "machine_id": "B", "duration": 56 }, { "job_id": "J9", "task_id": 4, "machine_id": "E", "duration": 68 }, { "job_id": "J9", "task_id": 5, "machine_id": "F", "duration": 91 }, { "job_id": "J10", "task_id": 0, "machine_id": "E", "duration": 26 }, { "job_id": "J10", "task_id": 1, "machine_id": "D", "duration": 49 }, { "job_id": "J10", "task_id": 2, "machine_id": "C", "duration": 33 }, { "job_id": "J10", "task_id": 3, "machine_id": "A", "duration": 10 }, { "job_id": "J10", "task_id": 4, "machine_id": "F", "duration": 11 }, { "job_id": "J10", "task_id": 5, "machine_id": "B", "duration": 27 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 92, "machine": "C", "duration": 1 }, { "task": 1, "start": 201, "machine": "F", "duration": 44 }, { "task": 2, "start": 270, "machine": "B", "duration": 74 }, { "task": 3, "start": 344, "machine": "D", "duration": 90 }, { "task": 4, "start": 512, "machine": "E", "duration": 35 }, { "task": 5, "start": 562, "machine": "A", "duration": 5 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": "B", "duration": 10 }, { "task": 1, "start": 10, "machine": "F", "duration": 7 }, { "task": 2, "start": 17, "machine": "A", "duration": 10 }, { "task": 3, "start": 480, "machine": "E", "duration": 32 }, { "task": 4, "start": 512, "machine": "C", "duration": 37 }, { "task": 5, "start": 549, "machine": "D", "duration": 19 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 87, "machine": "E", "duration": 30 }, { "task": 1, "start": 141, "machine": "A", "duration": 1 }, { "task": 2, "start": 245, "machine": "F", "duration": 65 }, { "task": 3, "start": 310, "machine": "D", "duration": 9 }, { "task": 4, "start": 400, "machine": "B", "duration": 39 }, { "task": 5, "start": 439, "machine": "C", "duration": 67 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": "D", "duration": 36 }, { "task": 1, "start": 36, "machine": "F", "duration": 81 }, { "task": 2, "start": 117, "machine": "B", "duration": 32 }, { "task": 3, "start": 149, "machine": "C", "duration": 75 }, { "task": 4, "start": 388, "machine": "E", "duration": 24 }, { "task": 5, "start": 412, "machine": "A", "duration": 94 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 139, "machine": "F", "duration": 62 }, { "task": 1, "start": 221, "machine": "E", "duration": 84 }, { "task": 2, "start": 305, "machine": "D", "duration": 1 }, { "task": 3, "start": 306, "machine": "A", "duration": 89 }, { "task": 4, "start": 549, "machine": "C", "duration": 20 }, { "task": 5, "start": 569, "machine": "B", "duration": 1 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 0, "machine": "C", "duration": 20 }, { "task": 1, "start": 20, "machine": "B", "duration": 31 }, { "task": 2, "start": 305, "machine": "E", "duration": 83 }, { "task": 3, "start": 441, "machine": "F", "duration": 13 }, { "task": 4, "start": 454, "machine": "D", "duration": 4 }, { "task": 5, "start": 506, "machine": "A", "duration": 56 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": "A", "duration": 4 }, { "task": 1, "start": 36, "machine": "D", "duration": 80 }, { "task": 2, "start": 117, "machine": "F", "duration": 22 }, { "task": 3, "start": 143, "machine": "E", "duration": 78 }, { "task": 4, "start": 221, "machine": "B", "duration": 49 }, { "task": 5, "start": 378, "machine": "C", "duration": 48 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": "E", "duration": 87 }, { "task": 1, "start": 87, "machine": "A", "duration": 54 }, { "task": 2, "start": 149, "machine": "B", "duration": 68 }, { "task": 3, "start": 217, "machine": "D", "duration": 33 }, { "task": 4, "start": 250, "machine": "C", "duration": 95 }, { "task": 5, "start": 345, "machine": "F", "duration": 96 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 20, "machine": "C", "duration": 72 }, { "task": 1, "start": 116, "machine": "D", "duration": 96 }, { "task": 2, "start": 212, "machine": "A", "duration": 68 }, { "task": 3, "start": 344, "machine": "B", "duration": 56 }, { "task": 4, "start": 412, "machine": "E", "duration": 68 }, { "task": 5, "start": 480, "machine": "F", "duration": 91 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 117, "machine": "E", "duration": 26 }, { "task": 1, "start": 250, "machine": "D", "duration": 49 }, { "task": 2, "start": 345, "machine": "C", "duration": 33 }, { "task": 3, "start": 395, "machine": "A", "duration": 10 }, { "task": 4, "start": 454, "machine": "F", "duration": 11 }, { "task": 5, "start": 465, "machine": "B", "duration": 27 } ] } ], "context_index": 46, "input_format": "nl", "input_index_base": "names" }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "There’s a busy little workshop where the supervisor needs to line up cutting, assembly, and finishing tasks across a handful of saws, benches, and booths. Every piece has a fixed sequence of steps that must happen in order, each step belongs on a particular station for a given stretch of time, and stations can’t overlap jobs. The aim is to get the whole lot finished in the shortest possible time — basically, make the moment when the last piece is done as early as it can be. Every operation must be scheduled exactly once; nothing gets skipped or doubled. The specific orders, machines, and times are shown below.\n\nHere are the 9 pieces to schedule across 5 stations: piece IDs J1, J2, J3, J4, J5, J6, J7, J8, J9 and station IDs 1, 2, 3, 4, 5.\n\n| piece_id | operation_index | station_id | processing_time |\n|---|---|---|---|\n| J1 | 0 | 5 | 1 |\n| J1 | 1 | 3 | 57 |\n| J1 | 2 | 2 | 49 |\n| J1 | 3 | 4 | 36 |\n| J1 | 4 | 1 | 88 |\n| J2 | 0 | 5 | 27 |\n| J2 | 1 | 1 | 14 |\n| J2 | 2 | 2 | 74 |\n| J2 | 3 | 4 | 78 |\n| J2 | 4 | 3 | 26 |\n| J3 | 0 | 5 | 75 |\n| J3 | 1 | 2 | 71 |\n| J3 | 2 | 3 | 13 |\n| J3 | 3 | 1 | 5 |\n| J3 | 4 | 4 | 70 |\n| J4 | 0 | 3 | 61 |\n| J4 | 1 | 2 | 7 |\n| J4 | 2 | 1 | 68 |\n| J4 | 3 | 5 | 74 |\n| J4 | 4 | 4 | 88 |\n| J5 | 0 | 2 | 74 |\n| J5 | 1 | 1 | 44 |\n| J5 | 2 | 4 | 83 |\n| J5 | 3 | 5 | 87 |\n| J5 | 4 | 3 | 46 |\n| J6 | 0 | 5 | 37 |\n| J6 | 1 | 4 | 10 |\n| J6 | 2 | 2 | 54 |\n| J6 | 3 | 1 | 61 |\n| J6 | 4 | 3 | 70 |\n| J7 | 0 | 5 | 11 |\n| J7 | 1 | 2 | 8 |\n| J7 | 2 | 4 | 10 |\n| J7 | 3 | 3 | 18 |\n| J7 | 4 | 1 | 77 |\n| J8 | 0 | 2 | 88 |\n| J8 | 1 | 5 | 67 |\n| J8 | 2 | 1 | 56 |\n| J8 | 3 | 3 | 21 |\n| J8 | 4 | 4 | 15 |\n| J9 | 0 | 3 | 74 |\n| J9 | 1 | 1 | 46 |\n| J9 | 2 | 2 | 59 |\n| J9 | 3 | 5 | 30 |\n| J9 | 4 | 4 | 34 |\n\nSchedule each listed operation exactly once so the last piece finishes as early as possible.\n\nAlso, when you give the schedule back, just use this simple JSON layout so everything is clear and consistent:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just the shape I need — one object with a \"solution\" list, one entry per job, and each job listing its tasks. In plain terms:\n- \"job\" is the job identifier.\n- \"tasks\" is the list of operations for that job in whatever order you schedule them.\n- \"task\" is the task's index (which step it is within the job).\n- \"start\" is the scheduled start time for that task.\n- \"machine\" is the machine/station the task runs on.\n- \"duration\" is how long the task runs.\n\nKeep in mind this JSON is only a sketch of the expected shape, not the actual schedule — you'll fill in the real values for each field.\n\nPlease use the identifiers exactly as they appear in the instance input — do not rename them and do not invent new labels.\n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 4, 1 ], [ 2, 57 ], [ 1, 49 ], [ 3, 36 ], [ 0, 88 ] ], [ [ 4, 27 ], [ 0, 14 ], [ 1, 74 ], [ 3, 78 ], [ 2, 26 ] ], [ [ 4, 75 ], [ 1, 71 ], [ 2, 13 ], [ 0, 5 ], [ 3, 70 ] ], [ [ 2, 61 ], [ 1, 7 ], [ 0, 68 ], [ 4, 74 ], [ 3, 88 ] ], [ [ 1, 74 ], [ 0, 44 ], [ 3, 83 ], [ 4, 87 ], [ 2, 46 ] ], [ [ 4, 37 ], [ 3, 10 ], [ 1, 54 ], [ 0, 61 ], [ 2, 70 ] ], [ [ 4, 11 ], [ 1, 8 ], [ 3, 10 ], [ 2, 18 ], [ 0, 77 ] ], [ [ 1, 88 ], [ 4, 67 ], [ 0, 56 ], [ 2, 21 ], [ 3, 15 ] ], [ [ 2, 74 ], [ 0, 46 ], [ 1, 59 ], [ 4, 30 ], [ 3, 34 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 112, "machine": 4, "duration": 1 }, { "task": 1, "start": 135, "machine": 2, "duration": 57 }, { "task": 2, "start": 214, "machine": 1, "duration": 49 }, { "task": 3, "start": 285, "machine": 3, "duration": 36 }, { "task": 4, "start": 321, "machine": 0, "duration": 88 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 113, "machine": 4, "duration": 27 }, { "task": 1, "start": 186, "machine": 0, "duration": 14 }, { "task": 2, "start": 351, "machine": 1, "duration": 74 }, { "task": 3, "start": 425, "machine": 3, "duration": 78 }, { "task": 4, "start": 503, "machine": 2, "duration": 26 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 75 }, { "task": 1, "start": 81, "machine": 1, "duration": 71 }, { "task": 2, "start": 192, "machine": 2, "duration": 13 }, { "task": 3, "start": 205, "machine": 0, "duration": 5 }, { "task": 4, "start": 215, "machine": 3, "duration": 70 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 61 }, { "task": 1, "start": 74, "machine": 1, "duration": 7 }, { "task": 2, "start": 118, "machine": 0, "duration": 68 }, { "task": 3, "start": 186, "machine": 4, "duration": 74 }, { "task": 4, "start": 321, "machine": 3, "duration": 88 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 74 }, { "task": 1, "start": 74, "machine": 0, "duration": 44 }, { "task": 2, "start": 122, "machine": 3, "duration": 83 }, { "task": 3, "start": 260, "machine": 4, "duration": 87 }, { "task": 4, "start": 387, "machine": 2, "duration": 46 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 75, "machine": 4, "duration": 37 }, { "task": 1, "start": 112, "machine": 3, "duration": 10 }, { "task": 2, "start": 160, "machine": 1, "duration": 54 }, { "task": 3, "start": 256, "machine": 0, "duration": 61 }, { "task": 4, "start": 317, "machine": 2, "duration": 70 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 140, "machine": 4, "duration": 11 }, { "task": 1, "start": 152, "machine": 1, "duration": 8 }, { "task": 2, "start": 205, "machine": 3, "duration": 10 }, { "task": 3, "start": 215, "machine": 2, "duration": 18 }, { "task": 4, "start": 474, "machine": 0, "duration": 77 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 263, "machine": 1, "duration": 88 }, { "task": 1, "start": 351, "machine": 4, "duration": 67 }, { "task": 2, "start": 418, "machine": 0, "duration": 56 }, { "task": 3, "start": 474, "machine": 2, "duration": 21 }, { "task": 4, "start": 503, "machine": 3, "duration": 15 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 61, "machine": 2, "duration": 74 }, { "task": 1, "start": 210, "machine": 0, "duration": 46 }, { "task": 2, "start": 425, "machine": 1, "duration": 59 }, { "task": 3, "start": 484, "machine": 4, "duration": 30 }, { "task": 4, "start": 518, "machine": 3, "duration": 34 } ] } ], "obj": 552.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 5, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 3, "duration": 57 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 49 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 36 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 88 }, { "job_id": "J2", "task_id": 0, "machine_id": 5, "duration": 27 }, { "job_id": "J2", "task_id": 1, "machine_id": 1, "duration": 14 }, { "job_id": "J2", "task_id": 2, "machine_id": 2, "duration": 74 }, { "job_id": "J2", "task_id": 3, "machine_id": 4, "duration": 78 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 26 }, { "job_id": "J3", "task_id": 0, "machine_id": 5, "duration": 75 }, { "job_id": "J3", "task_id": 1, "machine_id": 2, "duration": 71 }, { "job_id": "J3", "task_id": 2, "machine_id": 3, "duration": 13 }, { "job_id": "J3", "task_id": 3, "machine_id": 1, "duration": 5 }, { "job_id": "J3", "task_id": 4, "machine_id": 4, "duration": 70 }, { "job_id": "J4", "task_id": 0, "machine_id": 3, "duration": 61 }, { "job_id": "J4", "task_id": 1, "machine_id": 2, "duration": 7 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 68 }, { "job_id": "J4", "task_id": 3, "machine_id": 5, "duration": 74 }, { "job_id": "J4", "task_id": 4, "machine_id": 4, "duration": 88 }, { "job_id": "J5", "task_id": 0, "machine_id": 2, "duration": 74 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 44 }, { "job_id": "J5", "task_id": 2, "machine_id": 4, "duration": 83 }, { "job_id": "J5", "task_id": 3, "machine_id": 5, "duration": 87 }, { "job_id": "J5", "task_id": 4, "machine_id": 3, "duration": 46 }, { "job_id": "J6", "task_id": 0, "machine_id": 5, "duration": 37 }, { "job_id": "J6", "task_id": 1, "machine_id": 4, "duration": 10 }, { "job_id": "J6", "task_id": 2, "machine_id": 2, "duration": 54 }, { "job_id": "J6", "task_id": 3, "machine_id": 1, "duration": 61 }, { "job_id": "J6", "task_id": 4, "machine_id": 3, "duration": 70 }, { "job_id": "J7", "task_id": 0, "machine_id": 5, "duration": 11 }, { "job_id": "J7", "task_id": 1, "machine_id": 2, "duration": 8 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 10 }, { "job_id": "J7", "task_id": 3, "machine_id": 3, "duration": 18 }, { "job_id": "J7", "task_id": 4, "machine_id": 1, "duration": 77 }, { "job_id": "J8", "task_id": 0, "machine_id": 2, "duration": 88 }, { "job_id": "J8", "task_id": 1, "machine_id": 5, "duration": 67 }, { "job_id": "J8", "task_id": 2, "machine_id": 1, "duration": 56 }, { "job_id": "J8", "task_id": 3, "machine_id": 3, "duration": 21 }, { "job_id": "J8", "task_id": 4, "machine_id": 4, "duration": 15 }, { "job_id": "J9", "task_id": 0, "machine_id": 3, "duration": 74 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 46 }, { "job_id": "J9", "task_id": 2, "machine_id": 2, "duration": 59 }, { "job_id": "J9", "task_id": 3, "machine_id": 5, "duration": 30 }, { "job_id": "J9", "task_id": 4, "machine_id": 4, "duration": 34 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 112, "machine": 5, "duration": 1 }, { "task": 1, "start": 135, "machine": 3, "duration": 57 }, { "task": 2, "start": 214, "machine": 2, "duration": 49 }, { "task": 3, "start": 285, "machine": 4, "duration": 36 }, { "task": 4, "start": 321, "machine": 1, "duration": 88 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 113, "machine": 5, "duration": 27 }, { "task": 1, "start": 186, "machine": 1, "duration": 14 }, { "task": 2, "start": 351, "machine": 2, "duration": 74 }, { "task": 3, "start": 425, "machine": 4, "duration": 78 }, { "task": 4, "start": 503, "machine": 3, "duration": 26 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 75 }, { "task": 1, "start": 81, "machine": 2, "duration": 71 }, { "task": 2, "start": 192, "machine": 3, "duration": 13 }, { "task": 3, "start": 205, "machine": 1, "duration": 5 }, { "task": 4, "start": 215, "machine": 4, "duration": 70 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 61 }, { "task": 1, "start": 74, "machine": 2, "duration": 7 }, { "task": 2, "start": 118, "machine": 1, "duration": 68 }, { "task": 3, "start": 186, "machine": 5, "duration": 74 }, { "task": 4, "start": 321, "machine": 4, "duration": 88 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 74 }, { "task": 1, "start": 74, "machine": 1, "duration": 44 }, { "task": 2, "start": 122, "machine": 4, "duration": 83 }, { "task": 3, "start": 260, "machine": 5, "duration": 87 }, { "task": 4, "start": 387, "machine": 3, "duration": 46 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 75, "machine": 5, "duration": 37 }, { "task": 1, "start": 112, "machine": 4, "duration": 10 }, { "task": 2, "start": 160, "machine": 2, "duration": 54 }, { "task": 3, "start": 256, "machine": 1, "duration": 61 }, { "task": 4, "start": 317, "machine": 3, "duration": 70 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 140, "machine": 5, "duration": 11 }, { "task": 1, "start": 152, "machine": 2, "duration": 8 }, { "task": 2, "start": 205, "machine": 4, "duration": 10 }, { "task": 3, "start": 215, "machine": 3, "duration": 18 }, { "task": 4, "start": 474, "machine": 1, "duration": 77 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 263, "machine": 2, "duration": 88 }, { "task": 1, "start": 351, "machine": 5, "duration": 67 }, { "task": 2, "start": 418, "machine": 1, "duration": 56 }, { "task": 3, "start": 474, "machine": 3, "duration": 21 }, { "task": 4, "start": 503, "machine": 4, "duration": 15 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 61, "machine": 3, "duration": 74 }, { "task": 1, "start": 210, "machine": 1, "duration": 46 }, { "task": 2, "start": 425, "machine": 2, "duration": 59 }, { "task": 3, "start": 484, "machine": 5, "duration": 30 }, { "task": 4, "start": 518, "machine": 4, "duration": 34 } ] } ], "context_index": 47, "input_format": "markdown_table", "input_index_base": 1 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "There's a studio manager juggling several portrait shoots where every shoot needs a round of makeup, a photo session, then a retouch pass; each part must happen on its assigned chair or studio and lasts a set amount of time. The manager needs to schedule those steps so they happen in the right sequence for each client, nothing is left out or doubled up, and no chair or room is booked by two sessions at once. The aim is to make the whole day wrap up as soon as possible — you find that by checking all session finish times and using the latest one as the day’s end; the smaller that value, the better the schedule. The concrete details are shown below.\n\n{\n \"total_sessions\": 9,\n \"total_assets\": 5,\n \"session_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\",\n \"J6\",\n \"J7\",\n \"J8\",\n \"J9\"\n ],\n \"asset_ids\": [\n 0,\n 1,\n 2,\n 3,\n 4\n ],\n \"tasks\": [\n {\n \"session_id\": \"J1\",\n \"step_index\": 0,\n \"asset_id\": 1,\n \"step_duration\": 1\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 1,\n \"asset_id\": 2,\n \"step_duration\": 70\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 2,\n \"asset_id\": 3,\n \"step_duration\": 25\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 3,\n \"asset_id\": 4,\n \"step_duration\": 82\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 4,\n \"asset_id\": 0,\n \"step_duration\": 42\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 0,\n \"asset_id\": 2,\n \"step_duration\": 49\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 1,\n \"asset_id\": 3,\n \"step_duration\": 19\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 2,\n \"asset_id\": 1,\n \"step_duration\": 42\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 3,\n \"asset_id\": 4,\n \"step_duration\": 46\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 4,\n \"asset_id\": 0,\n \"step_duration\": 19\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 0,\n \"asset_id\": 1,\n \"step_duration\": 14\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 1,\n \"asset_id\": 4,\n \"step_duration\": 23\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 2,\n \"asset_id\": 3,\n \"step_duration\": 95\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 3,\n \"asset_id\": 0,\n \"step_duration\": 8\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 4,\n \"asset_id\": 2,\n \"step_duration\": 76\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 0,\n \"asset_id\": 2,\n \"step_duration\": 15\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 1,\n \"asset_id\": 0,\n \"step_duration\": 73\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 2,\n \"asset_id\": 1,\n \"step_duration\": 68\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 3,\n \"asset_id\": 4,\n \"step_duration\": 13\n },\n {\n \"session_id\": \"J4\",\n \"step_index\": 4,\n \"asset_id\": 3,\n \"step_duration\": 94\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 0,\n \"asset_id\": 4,\n \"step_duration\": 16\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 1,\n \"asset_id\": 3,\n \"step_duration\": 13\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 2,\n \"asset_id\": 0,\n \"step_duration\": 42\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 3,\n \"asset_id\": 2,\n \"step_duration\": 81\n },\n {\n \"session_id\": \"J5\",\n \"step_index\": 4,\n \"asset_id\": 1,\n \"step_duration\": 31\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 0,\n \"asset_id\": 1,\n \"step_duration\": 89\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 1,\n \"asset_id\": 2,\n \"step_duration\": 19\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 2,\n \"asset_id\": 4,\n \"step_duration\": 20\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 3,\n \"asset_id\": 3,\n \"step_duration\": 3\n },\n {\n \"session_id\": \"J6\",\n \"step_index\": 4,\n \"asset_id\": 0,\n \"step_duration\": 41\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 0,\n \"asset_id\": 1,\n \"step_duration\": 2\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 1,\n \"asset_id\": 3,\n \"step_duration\": 83\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 2,\n \"asset_id\": 2,\n \"step_duration\": 36\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 3,\n \"asset_id\": 0,\n \"step_duration\": 23\n },\n {\n \"session_id\": \"J7\",\n \"step_index\": 4,\n \"asset_id\": 4,\n \"step_duration\": 51\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 0,\n \"asset_id\": 2,\n \"step_duration\": 22\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 1,\n \"asset_id\": 3,\n \"step_duration\": 31\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 2,\n \"asset_id\": 4,\n \"step_duration\": 32\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 3,\n \"asset_id\": 1,\n \"step_duration\": 21\n },\n {\n \"session_id\": \"J8\",\n \"step_index\": 4,\n \"asset_id\": 0,\n \"step_duration\": 51\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 0,\n \"asset_id\": 2,\n \"step_duration\": 98\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 1,\n \"asset_id\": 1,\n \"step_duration\": 45\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 2,\n \"asset_id\": 0,\n \"step_duration\": 32\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 3,\n \"asset_id\": 3,\n \"step_duration\": 5\n },\n {\n \"session_id\": \"J9\",\n \"step_index\": 4,\n \"asset_id\": 4,\n \"step_duration\": 98\n }\n ]\n}\n\nOh, and when you send the schedule back, please follow this JSON layout — just a simple sketch of the shape I need:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThis is just a friendly form: \"solution\" holds a list of sessions (jobs). Each session has a job id and a list of tasks; each task entry says which step it is (task index), when it starts, which chair or studio it uses (machine), and how long it runs (duration). Think of job as the client/session, task as the ordered step (makeup, photo, retouch), start as the time the step begins, machine as the specific chair/room, and duration as how long that step takes.\n\nThis JSON is only the expected shape — not the actual schedule answer. Please make sure to use the exact identifiers from the instance input, without renaming or inventing new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 5, "nr_jobs": 9, "jobs": [ [ [ 1, 1 ], [ 2, 70 ], [ 3, 25 ], [ 4, 82 ], [ 0, 42 ] ], [ [ 2, 49 ], [ 3, 19 ], [ 1, 42 ], [ 4, 46 ], [ 0, 19 ] ], [ [ 1, 14 ], [ 4, 23 ], [ 3, 95 ], [ 0, 8 ], [ 2, 76 ] ], [ [ 2, 15 ], [ 0, 73 ], [ 1, 68 ], [ 4, 13 ], [ 3, 94 ] ], [ [ 4, 16 ], [ 3, 13 ], [ 0, 42 ], [ 2, 81 ], [ 1, 31 ] ], [ [ 1, 89 ], [ 2, 19 ], [ 4, 20 ], [ 3, 3 ], [ 0, 41 ] ], [ [ 1, 2 ], [ 3, 83 ], [ 2, 36 ], [ 0, 23 ], [ 4, 51 ] ], [ [ 2, 22 ], [ 3, 31 ], [ 4, 32 ], [ 1, 21 ], [ 0, 51 ] ], [ [ 2, 98 ], [ 1, 45 ], [ 0, 32 ], [ 3, 5 ], [ 4, 98 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 2, "machine": 1, "duration": 1 }, { "task": 1, "start": 15, "machine": 2, "duration": 70 }, { "task": 2, "start": 85, "machine": 3, "duration": 25 }, { "task": 3, "start": 110, "machine": 4, "duration": 82 }, { "task": 4, "start": 192, "machine": 0, "duration": 42 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 85, "machine": 2, "duration": 49 }, { "task": 1, "start": 134, "machine": 3, "duration": 19 }, { "task": 2, "start": 174, "machine": 1, "duration": 42 }, { "task": 3, "start": 216, "machine": 4, "duration": 46 }, { "task": 4, "start": 265, "machine": 0, "duration": 19 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 3, "machine": 1, "duration": 14 }, { "task": 1, "start": 17, "machine": 4, "duration": 23 }, { "task": 2, "start": 153, "machine": 3, "duration": 95 }, { "task": 3, "start": 257, "machine": 0, "duration": 8 }, { "task": 4, "start": 390, "machine": 2, "duration": 76 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 15 }, { "task": 1, "start": 15, "machine": 0, "duration": 73 }, { "task": 2, "start": 106, "machine": 1, "duration": 68 }, { "task": 3, "start": 192, "machine": 4, "duration": 13 }, { "task": 4, "start": 350, "machine": 3, "duration": 94 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 16 }, { "task": 1, "start": 110, "machine": 3, "duration": 13 }, { "task": 2, "start": 124, "machine": 0, "duration": 42 }, { "task": 3, "start": 309, "machine": 2, "duration": 81 }, { "task": 4, "start": 390, "machine": 1, "duration": 31 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 17, "machine": 1, "duration": 89 }, { "task": 1, "start": 290, "machine": 2, "duration": 19 }, { "task": 2, "start": 313, "machine": 4, "duration": 20 }, { "task": 3, "start": 333, "machine": 3, "duration": 3 }, { "task": 4, "start": 345, "machine": 0, "duration": 41 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 2 }, { "task": 1, "start": 2, "machine": 3, "duration": 83 }, { "task": 2, "start": 134, "machine": 2, "duration": 36 }, { "task": 3, "start": 234, "machine": 0, "duration": 23 }, { "task": 4, "start": 262, "machine": 4, "duration": 51 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 268, "machine": 2, "duration": 22 }, { "task": 1, "start": 290, "machine": 3, "duration": 31 }, { "task": 2, "start": 333, "machine": 4, "duration": 32 }, { "task": 3, "start": 365, "machine": 1, "duration": 21 }, { "task": 4, "start": 386, "machine": 0, "duration": 51 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 170, "machine": 2, "duration": 98 }, { "task": 1, "start": 268, "machine": 1, "duration": 45 }, { "task": 2, "start": 313, "machine": 0, "duration": 32 }, { "task": 3, "start": 345, "machine": 3, "duration": 5 }, { "task": 4, "start": 365, "machine": 4, "duration": 98 } ] } ], "obj": 466.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 5, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 0, 1, 2, 3, 4 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 1, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 2, "duration": 70 }, { "job_id": "J1", "task_id": 2, "machine_id": 3, "duration": 25 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 82 }, { "job_id": "J1", "task_id": 4, "machine_id": 0, "duration": 42 }, { "job_id": "J2", "task_id": 0, "machine_id": 2, "duration": 49 }, { "job_id": "J2", "task_id": 1, "machine_id": 3, "duration": 19 }, { "job_id": "J2", "task_id": 2, "machine_id": 1, "duration": 42 }, { "job_id": "J2", "task_id": 3, "machine_id": 4, "duration": 46 }, { "job_id": "J2", "task_id": 4, "machine_id": 0, "duration": 19 }, { "job_id": "J3", "task_id": 0, "machine_id": 1, "duration": 14 }, { "job_id": "J3", "task_id": 1, "machine_id": 4, "duration": 23 }, { "job_id": "J3", "task_id": 2, "machine_id": 3, "duration": 95 }, { "job_id": "J3", "task_id": 3, "machine_id": 0, "duration": 8 }, { "job_id": "J3", "task_id": 4, "machine_id": 2, "duration": 76 }, { "job_id": "J4", "task_id": 0, "machine_id": 2, "duration": 15 }, { "job_id": "J4", "task_id": 1, "machine_id": 0, "duration": 73 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 68 }, { "job_id": "J4", "task_id": 3, "machine_id": 4, "duration": 13 }, { "job_id": "J4", "task_id": 4, "machine_id": 3, "duration": 94 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 16 }, { "job_id": "J5", "task_id": 1, "machine_id": 3, "duration": 13 }, { "job_id": "J5", "task_id": 2, "machine_id": 0, "duration": 42 }, { "job_id": "J5", "task_id": 3, "machine_id": 2, "duration": 81 }, { "job_id": "J5", "task_id": 4, "machine_id": 1, "duration": 31 }, { "job_id": "J6", "task_id": 0, "machine_id": 1, "duration": 89 }, { "job_id": "J6", "task_id": 1, "machine_id": 2, "duration": 19 }, { "job_id": "J6", "task_id": 2, "machine_id": 4, "duration": 20 }, { "job_id": "J6", "task_id": 3, "machine_id": 3, "duration": 3 }, { "job_id": "J6", "task_id": 4, "machine_id": 0, "duration": 41 }, { "job_id": "J7", "task_id": 0, "machine_id": 1, "duration": 2 }, { "job_id": "J7", "task_id": 1, "machine_id": 3, "duration": 83 }, { "job_id": "J7", "task_id": 2, "machine_id": 2, "duration": 36 }, { "job_id": "J7", "task_id": 3, "machine_id": 0, "duration": 23 }, { "job_id": "J7", "task_id": 4, "machine_id": 4, "duration": 51 }, { "job_id": "J8", "task_id": 0, "machine_id": 2, "duration": 22 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 31 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 32 }, { "job_id": "J8", "task_id": 3, "machine_id": 1, "duration": 21 }, { "job_id": "J8", "task_id": 4, "machine_id": 0, "duration": 51 }, { "job_id": "J9", "task_id": 0, "machine_id": 2, "duration": 98 }, { "job_id": "J9", "task_id": 1, "machine_id": 1, "duration": 45 }, { "job_id": "J9", "task_id": 2, "machine_id": 0, "duration": 32 }, { "job_id": "J9", "task_id": 3, "machine_id": 3, "duration": 5 }, { "job_id": "J9", "task_id": 4, "machine_id": 4, "duration": 98 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 2, "machine": 1, "duration": 1 }, { "task": 1, "start": 15, "machine": 2, "duration": 70 }, { "task": 2, "start": 85, "machine": 3, "duration": 25 }, { "task": 3, "start": 110, "machine": 4, "duration": 82 }, { "task": 4, "start": 192, "machine": 0, "duration": 42 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 85, "machine": 2, "duration": 49 }, { "task": 1, "start": 134, "machine": 3, "duration": 19 }, { "task": 2, "start": 174, "machine": 1, "duration": 42 }, { "task": 3, "start": 216, "machine": 4, "duration": 46 }, { "task": 4, "start": 265, "machine": 0, "duration": 19 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 3, "machine": 1, "duration": 14 }, { "task": 1, "start": 17, "machine": 4, "duration": 23 }, { "task": 2, "start": 153, "machine": 3, "duration": 95 }, { "task": 3, "start": 257, "machine": 0, "duration": 8 }, { "task": 4, "start": 390, "machine": 2, "duration": 76 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 15 }, { "task": 1, "start": 15, "machine": 0, "duration": 73 }, { "task": 2, "start": 106, "machine": 1, "duration": 68 }, { "task": 3, "start": 192, "machine": 4, "duration": 13 }, { "task": 4, "start": 350, "machine": 3, "duration": 94 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 16 }, { "task": 1, "start": 110, "machine": 3, "duration": 13 }, { "task": 2, "start": 124, "machine": 0, "duration": 42 }, { "task": 3, "start": 309, "machine": 2, "duration": 81 }, { "task": 4, "start": 390, "machine": 1, "duration": 31 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 17, "machine": 1, "duration": 89 }, { "task": 1, "start": 290, "machine": 2, "duration": 19 }, { "task": 2, "start": 313, "machine": 4, "duration": 20 }, { "task": 3, "start": 333, "machine": 3, "duration": 3 }, { "task": 4, "start": 345, "machine": 0, "duration": 41 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 2 }, { "task": 1, "start": 2, "machine": 3, "duration": 83 }, { "task": 2, "start": 134, "machine": 2, "duration": 36 }, { "task": 3, "start": 234, "machine": 0, "duration": 23 }, { "task": 4, "start": 262, "machine": 4, "duration": 51 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 268, "machine": 2, "duration": 22 }, { "task": 1, "start": 290, "machine": 3, "duration": 31 }, { "task": 2, "start": 333, "machine": 4, "duration": 32 }, { "task": 3, "start": 365, "machine": 1, "duration": 21 }, { "task": 4, "start": 386, "machine": 0, "duration": 51 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 170, "machine": 2, "duration": 98 }, { "task": 1, "start": 268, "machine": 1, "duration": 45 }, { "task": 2, "start": 313, "machine": 0, "duration": 32 }, { "task": 3, "start": 345, "machine": 3, "duration": 5 }, { "task": 4, "start": 365, "machine": 4, "duration": 98 } ] } ], "context_index": 48, "input_format": "json", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "Many people think of repair benches as interchangeable, but here every device requires diagnostics, a parts change, then testing — and each step is fixed to a particular bench and length of time. The challenge for the depot coordinator is to arrange the start times so every device follows its step order, every step stays on its correct bench for the full duration, nothing is skipped or duplicated, and benches never have overlapping tasks. The best arrangement is the one that minimizes how long you wait for the whole batch to be finished — i.e., the moment the very last device completes. The detailed list of units, benches, and durations is shown below.\n\nThere are 10 devices and 6 benches: the device identifiers are J1, J2, J3, J4, J5, J6, J7, J8, J9, J10 and the bench identifiers are 0, 1, 2, 3, 4, 5.\nDevice J1, step 0 is fixed to bench 3 and runs for 1.\nDevice J1, step 1 is fixed to bench 4 and runs for 84.\nDevice J1, step 2 is fixed to bench 2 and runs for 1.\nDevice J1, step 3 is fixed to bench 5 and runs for 28.\nDevice J1, step 4 is fixed to bench 1 and runs for 94.\nDevice J1, step 5 is fixed to bench 0 and runs for 70.\nDevice J2, step 0 is fixed to bench 5 and runs for 24.\nDevice J2, step 1 is fixed to bench 4 and runs for 10.\nDevice J2, step 2 is fixed to bench 0 and runs for 14.\nDevice J2, step 3 is fixed to bench 2 and runs for 13.\nDevice J2, step 4 is fixed to bench 3 and runs for 52.\nDevice J2, step 5 is fixed to bench 1 and runs for 74.\nDevice J3, step 0 is fixed to bench 5 and runs for 78.\nDevice J3, step 1 is fixed to bench 0 and runs for 12.\nDevice J3, step 2 is fixed to bench 2 and runs for 81.\nDevice J3, step 3 is fixed to bench 1 and runs for 67.\nDevice J3, step 4 is fixed to bench 4 and runs for 40.\nDevice J3, step 5 is fixed to bench 3 and runs for 69.\nDevice J4, step 0 is fixed to bench 3 and runs for 51.\nDevice J4, step 1 is fixed to bench 0 and runs for 2.\nDevice J4, step 2 is fixed to bench 1 and runs for 57.\nDevice J4, step 3 is fixed to bench 2 and runs for 81.\nDevice J4, step 4 is fixed to bench 5 and runs for 1.\nDevice J4, step 5 is fixed to bench 4 and runs for 74.\nDevice J5, step 0 is fixed to bench 4 and runs for 16.\nDevice J5, step 1 is fixed to bench 1 and runs for 42.\nDevice J5, step 2 is fixed to bench 0 and runs for 28.\nDevice J5, step 3 is fixed to bench 3 and runs for 85.\nDevice J5, step 4 is fixed to bench 5 and runs for 44.\nDevice J5, step 5 is fixed to bench 2 and runs for 11.\nDevice J6, step 0 is fixed to bench 2 and runs for 92.\nDevice J6, step 1 is fixed to bench 3 and runs for 60.\nDevice J6, step 2 is fixed to bench 1 and runs for 62.\nDevice J6, step 3 is fixed to bench 0 and runs for 27.\nDevice J6, step 4 is fixed to bench 5 and runs for 25.\nDevice J6, step 5 is fixed to bench 4 and runs for 54.\nDevice J7, step 0 is fixed to bench 1 and runs for 93.\nDevice J7, step 1 is fixed to bench 3 and runs for 8.\nDevice J7, step 2 is fixed to bench 4 and runs for 20.\nDevice J7, step 3 is fixed to bench 5 and runs for 88.\nDevice J7, step 4 is fixed to bench 2 and runs for 24.\nDevice J7, step 5 is fixed to bench 0 and runs for 43.\nDevice J8, step 0 is fixed to bench 2 and runs for 4.\nDevice J8, step 1 is fixed to bench 3 and runs for 80.\nDevice J8, step 2 is fixed to bench 4 and runs for 64.\nDevice J8, step 3 is fixed to bench 0 and runs for 54.\nDevice J8, step 4 is fixed to bench 1 and runs for 84.\nDevice J8, step 5 is fixed to bench 5 and runs for 62.\nDevice J9, step 0 is fixed to bench 0 and runs for 54.\nDevice J9, step 1 is fixed to bench 5 and runs for 28.\nDevice J9, step 2 is fixed to bench 1 and runs for 98.\nDevice J9, step 3 is fixed to bench 2 and runs for 99.\nDevice J9, step 4 is fixed to bench 4 and runs for 40.\nDevice J9, step 5 is fixed to bench 3 and runs for 74.\nDevice J10, step 0 is fixed to bench 3 and runs for 34.\nDevice J10, step 1 is fixed to bench 4 and runs for 98.\nDevice J10, step 2 is fixed to bench 1 and runs for 78.\nDevice J10, step 3 is fixed to bench 5 and runs for 79.\nDevice J10, step 4 is fixed to bench 0 and runs for 83.\nDevice J10, step 5 is fixed to bench 2 and runs for 45.\nUse this list to schedule start times so each device follows its steps on the correct benches and the moment the last device finishes is minimized.\n\nIf you want to give me a candidate schedule, just drop it in this simple JSON shape so I can parse it easily — nothing fancy, just the fields I need.\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of it like a little form: each job (one device) gets a list of its tasks in order; every task entry says which step number it is, when that step starts, which bench (machine) it uses, and how long it runs. Super simple — just fill in the real IDs and numbers.\n\nThis JSON is just a sketch of the shape I expect, not the actual schedule — please return the real values for the instance instead of these placeholders.\n\nPlease use the identifiers exactly as they appear in the instance input — do not rename them or invent new labels. Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.", "instance": { "nr_machines": 6, "nr_jobs": 10, "jobs": [ [ [ 3, 1 ], [ 4, 84 ], [ 2, 1 ], [ 5, 28 ], [ 1, 94 ], [ 0, 70 ] ], [ [ 5, 24 ], [ 4, 10 ], [ 0, 14 ], [ 2, 13 ], [ 3, 52 ], [ 1, 74 ] ], [ [ 5, 78 ], [ 0, 12 ], [ 2, 81 ], [ 1, 67 ], [ 4, 40 ], [ 3, 69 ] ], [ [ 3, 51 ], [ 0, 2 ], [ 1, 57 ], [ 2, 81 ], [ 5, 1 ], [ 4, 74 ] ], [ [ 4, 16 ], [ 1, 42 ], [ 0, 28 ], [ 3, 85 ], [ 5, 44 ], [ 2, 11 ] ], [ [ 2, 92 ], [ 3, 60 ], [ 1, 62 ], [ 0, 27 ], [ 5, 25 ], [ 4, 54 ] ], [ [ 1, 93 ], [ 3, 8 ], [ 4, 20 ], [ 5, 88 ], [ 2, 24 ], [ 0, 43 ] ], [ [ 2, 4 ], [ 3, 80 ], [ 4, 64 ], [ 0, 54 ], [ 1, 84 ], [ 5, 62 ] ], [ [ 0, 54 ], [ 5, 28 ], [ 1, 98 ], [ 2, 99 ], [ 4, 40 ], [ 3, 74 ] ], [ [ 3, 34 ], [ 4, 98 ], [ 1, 78 ], [ 5, 79 ], [ 0, 83 ], [ 2, 45 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 114, "machine": 3, "duration": 1 }, { "task": 1, "start": 132, "machine": 4, "duration": 84 }, { "task": 2, "start": 216, "machine": 2, "duration": 1 }, { "task": 3, "start": 217, "machine": 5, "duration": 28 }, { "task": 4, "start": 497, "machine": 1, "duration": 94 }, { "task": 5, "start": 620, "machine": 0, "duration": 70 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 106, "machine": 5, "duration": 24 }, { "task": 1, "start": 300, "machine": 4, "duration": 10 }, { "task": 2, "start": 334, "machine": 0, "duration": 14 }, { "task": 3, "start": 348, "machine": 2, "duration": 13 }, { "task": 4, "start": 361, "machine": 3, "duration": 52 }, { "task": 5, "start": 675, "machine": 1, "duration": 74 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 78 }, { "task": 1, "start": 78, "machine": 0, "duration": 12 }, { "task": 2, "start": 96, "machine": 2, "duration": 81 }, { "task": 3, "start": 368, "machine": 1, "duration": 67 }, { "task": 4, "start": 435, "machine": 4, "duration": 40 }, { "task": 5, "start": 487, "machine": 3, "duration": 69 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 115, "machine": 3, "duration": 51 }, { "task": 1, "start": 166, "machine": 0, "duration": 2 }, { "task": 2, "start": 311, "machine": 1, "duration": 57 }, { "task": 3, "start": 368, "machine": 2, "duration": 81 }, { "task": 4, "start": 467, "machine": 5, "duration": 1 }, { "task": 5, "start": 475, "machine": 4, "duration": 74 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 16 }, { "task": 1, "start": 93, "machine": 1, "duration": 42 }, { "task": 2, "start": 135, "machine": 0, "duration": 28 }, { "task": 3, "start": 234, "machine": 3, "duration": 85 }, { "task": 4, "start": 468, "machine": 5, "duration": 44 }, { "task": 5, "start": 512, "machine": 2, "duration": 11 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 4, "machine": 2, "duration": 92 }, { "task": 1, "start": 166, "machine": 3, "duration": 60 }, { "task": 2, "start": 435, "machine": 1, "duration": 62 }, { "task": 3, "start": 550, "machine": 0, "duration": 27 }, { "task": 4, "start": 577, "machine": 5, "duration": 25 }, { "task": 5, "start": 602, "machine": 4, "duration": 54 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 93 }, { "task": 1, "start": 226, "machine": 3, "duration": 8 }, { "task": 2, "start": 280, "machine": 4, "duration": 20 }, { "task": 3, "start": 300, "machine": 5, "duration": 88 }, { "task": 4, "start": 449, "machine": 2, "duration": 24 }, { "task": 5, "start": 577, "machine": 0, "duration": 43 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 4 }, { "task": 1, "start": 34, "machine": 3, "duration": 80 }, { "task": 2, "start": 216, "machine": 4, "duration": 64 }, { "task": 3, "start": 280, "machine": 0, "duration": 54 }, { "task": 4, "start": 591, "machine": 1, "duration": 84 }, { "task": 5, "start": 675, "machine": 5, "duration": 62 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 54 }, { "task": 1, "start": 78, "machine": 5, "duration": 28 }, { "task": 2, "start": 135, "machine": 1, "duration": 98 }, { "task": 3, "start": 233, "machine": 2, "duration": 99 }, { "task": 4, "start": 332, "machine": 4, "duration": 40 }, { "task": 5, "start": 413, "machine": 3, "duration": 74 } ] }, { "job": 9, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 34 }, { "task": 1, "start": 34, "machine": 4, "duration": 98 }, { "task": 2, "start": 233, "machine": 1, "duration": 78 }, { "task": 3, "start": 388, "machine": 5, "duration": 79 }, { "task": 4, "start": 467, "machine": 0, "duration": 83 }, { "task": 5, "start": 550, "machine": 2, "duration": 45 } ] } ], "obj": 749.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 10, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9", "J10" ], "machines": [ 0, 1, 2, 3, 4, 5 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 4, "duration": 84 }, { "job_id": "J1", "task_id": 2, "machine_id": 2, "duration": 1 }, { "job_id": "J1", "task_id": 3, "machine_id": 5, "duration": 28 }, { "job_id": "J1", "task_id": 4, "machine_id": 1, "duration": 94 }, { "job_id": "J1", "task_id": 5, "machine_id": 0, "duration": 70 }, { "job_id": "J2", "task_id": 0, "machine_id": 5, "duration": 24 }, { "job_id": "J2", "task_id": 1, "machine_id": 4, "duration": 10 }, { "job_id": "J2", "task_id": 2, "machine_id": 0, "duration": 14 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 13 }, { "job_id": "J2", "task_id": 4, "machine_id": 3, "duration": 52 }, { "job_id": "J2", "task_id": 5, "machine_id": 1, "duration": 74 }, { "job_id": "J3", "task_id": 0, "machine_id": 5, "duration": 78 }, { "job_id": "J3", "task_id": 1, "machine_id": 0, "duration": 12 }, { "job_id": "J3", "task_id": 2, "machine_id": 2, "duration": 81 }, { "job_id": "J3", "task_id": 3, "machine_id": 1, "duration": 67 }, { "job_id": "J3", "task_id": 4, "machine_id": 4, "duration": 40 }, { "job_id": "J3", "task_id": 5, "machine_id": 3, "duration": 69 }, { "job_id": "J4", "task_id": 0, "machine_id": 3, "duration": 51 }, { "job_id": "J4", "task_id": 1, "machine_id": 0, "duration": 2 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 57 }, { "job_id": "J4", "task_id": 3, "machine_id": 2, "duration": 81 }, { "job_id": "J4", "task_id": 4, "machine_id": 5, "duration": 1 }, { "job_id": "J4", "task_id": 5, "machine_id": 4, "duration": 74 }, { "job_id": "J5", "task_id": 0, "machine_id": 4, "duration": 16 }, { "job_id": "J5", "task_id": 1, "machine_id": 1, "duration": 42 }, { "job_id": "J5", "task_id": 2, "machine_id": 0, "duration": 28 }, { "job_id": "J5", "task_id": 3, "machine_id": 3, "duration": 85 }, { "job_id": "J5", "task_id": 4, "machine_id": 5, "duration": 44 }, { "job_id": "J5", "task_id": 5, "machine_id": 2, "duration": 11 }, { "job_id": "J6", "task_id": 0, "machine_id": 2, "duration": 92 }, { "job_id": "J6", "task_id": 1, "machine_id": 3, "duration": 60 }, { "job_id": "J6", "task_id": 2, "machine_id": 1, "duration": 62 }, { "job_id": "J6", "task_id": 3, "machine_id": 0, "duration": 27 }, { "job_id": "J6", "task_id": 4, "machine_id": 5, "duration": 25 }, { "job_id": "J6", "task_id": 5, "machine_id": 4, "duration": 54 }, { "job_id": "J7", "task_id": 0, "machine_id": 1, "duration": 93 }, { "job_id": "J7", "task_id": 1, "machine_id": 3, "duration": 8 }, { "job_id": "J7", "task_id": 2, "machine_id": 4, "duration": 20 }, { "job_id": "J7", "task_id": 3, "machine_id": 5, "duration": 88 }, { "job_id": "J7", "task_id": 4, "machine_id": 2, "duration": 24 }, { "job_id": "J7", "task_id": 5, "machine_id": 0, "duration": 43 }, { "job_id": "J8", "task_id": 0, "machine_id": 2, "duration": 4 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 80 }, { "job_id": "J8", "task_id": 2, "machine_id": 4, "duration": 64 }, { "job_id": "J8", "task_id": 3, "machine_id": 0, "duration": 54 }, { "job_id": "J8", "task_id": 4, "machine_id": 1, "duration": 84 }, { "job_id": "J8", "task_id": 5, "machine_id": 5, "duration": 62 }, { "job_id": "J9", "task_id": 0, "machine_id": 0, "duration": 54 }, { "job_id": "J9", "task_id": 1, "machine_id": 5, "duration": 28 }, { "job_id": "J9", "task_id": 2, "machine_id": 1, "duration": 98 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 99 }, { "job_id": "J9", "task_id": 4, "machine_id": 4, "duration": 40 }, { "job_id": "J9", "task_id": 5, "machine_id": 3, "duration": 74 }, { "job_id": "J10", "task_id": 0, "machine_id": 3, "duration": 34 }, { "job_id": "J10", "task_id": 1, "machine_id": 4, "duration": 98 }, { "job_id": "J10", "task_id": 2, "machine_id": 1, "duration": 78 }, { "job_id": "J10", "task_id": 3, "machine_id": 5, "duration": 79 }, { "job_id": "J10", "task_id": 4, "machine_id": 0, "duration": 83 }, { "job_id": "J10", "task_id": 5, "machine_id": 2, "duration": 45 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 114, "machine": 3, "duration": 1 }, { "task": 1, "start": 132, "machine": 4, "duration": 84 }, { "task": 2, "start": 216, "machine": 2, "duration": 1 }, { "task": 3, "start": 217, "machine": 5, "duration": 28 }, { "task": 4, "start": 497, "machine": 1, "duration": 94 }, { "task": 5, "start": 620, "machine": 0, "duration": 70 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 106, "machine": 5, "duration": 24 }, { "task": 1, "start": 300, "machine": 4, "duration": 10 }, { "task": 2, "start": 334, "machine": 0, "duration": 14 }, { "task": 3, "start": 348, "machine": 2, "duration": 13 }, { "task": 4, "start": 361, "machine": 3, "duration": 52 }, { "task": 5, "start": 675, "machine": 1, "duration": 74 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 78 }, { "task": 1, "start": 78, "machine": 0, "duration": 12 }, { "task": 2, "start": 96, "machine": 2, "duration": 81 }, { "task": 3, "start": 368, "machine": 1, "duration": 67 }, { "task": 4, "start": 435, "machine": 4, "duration": 40 }, { "task": 5, "start": 487, "machine": 3, "duration": 69 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 115, "machine": 3, "duration": 51 }, { "task": 1, "start": 166, "machine": 0, "duration": 2 }, { "task": 2, "start": 311, "machine": 1, "duration": 57 }, { "task": 3, "start": 368, "machine": 2, "duration": 81 }, { "task": 4, "start": 467, "machine": 5, "duration": 1 }, { "task": 5, "start": 475, "machine": 4, "duration": 74 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 16 }, { "task": 1, "start": 93, "machine": 1, "duration": 42 }, { "task": 2, "start": 135, "machine": 0, "duration": 28 }, { "task": 3, "start": 234, "machine": 3, "duration": 85 }, { "task": 4, "start": 468, "machine": 5, "duration": 44 }, { "task": 5, "start": 512, "machine": 2, "duration": 11 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 4, "machine": 2, "duration": 92 }, { "task": 1, "start": 166, "machine": 3, "duration": 60 }, { "task": 2, "start": 435, "machine": 1, "duration": 62 }, { "task": 3, "start": 550, "machine": 0, "duration": 27 }, { "task": 4, "start": 577, "machine": 5, "duration": 25 }, { "task": 5, "start": 602, "machine": 4, "duration": 54 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 93 }, { "task": 1, "start": 226, "machine": 3, "duration": 8 }, { "task": 2, "start": 280, "machine": 4, "duration": 20 }, { "task": 3, "start": 300, "machine": 5, "duration": 88 }, { "task": 4, "start": 449, "machine": 2, "duration": 24 }, { "task": 5, "start": 577, "machine": 0, "duration": 43 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 4 }, { "task": 1, "start": 34, "machine": 3, "duration": 80 }, { "task": 2, "start": 216, "machine": 4, "duration": 64 }, { "task": 3, "start": 280, "machine": 0, "duration": 54 }, { "task": 4, "start": 591, "machine": 1, "duration": 84 }, { "task": 5, "start": 675, "machine": 5, "duration": 62 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 54 }, { "task": 1, "start": 78, "machine": 5, "duration": 28 }, { "task": 2, "start": 135, "machine": 1, "duration": 98 }, { "task": 3, "start": 233, "machine": 2, "duration": 99 }, { "task": 4, "start": 332, "machine": 4, "duration": 40 }, { "task": 5, "start": 413, "machine": 3, "duration": 74 } ] }, { "job": "J10", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 34 }, { "task": 1, "start": 34, "machine": 4, "duration": 98 }, { "task": 2, "start": 233, "machine": 1, "duration": 78 }, { "task": 3, "start": 388, "machine": 5, "duration": 79 }, { "task": 4, "start": 467, "machine": 0, "duration": 83 }, { "task": 5, "start": 550, "machine": 2, "duration": 45 } ] } ], "context_index": 49, "input_format": "nl", "input_index_base": 0 }, { "task_name": "JSP", "problem_type": "JSP", "instruction": "On a typical day an engineer is laying out when to run the compile/test steps for a batch of builds. Every build is a short script of steps that have to happen in order, each step takes a fixed amount of time and must land on a specific build server, and servers are one-at-a-time only. The sensible target is to have the whole batch wrapped up quickly — measure a plan by the time the last build finishes, and smaller is better. Every step must take place exactly once and in the given sequence. The concrete items (which build does what, how long, and which server) are listed below.\n\n# nr_builds=9\n# nr_servers=6\n# build_ids=J1, J2, J3, J4, J5, J6, J7, J8, J9\n# server_ids=1, 2, 3, 4, 5, 6\nbuild_id,step_index,server_id,step_duration\nJ1,0,5,1\nJ1,1,3,97\nJ1,2,6,76\nJ1,3,4,73\nJ1,4,2,48\nJ1,5,1,92\nJ2,0,1,28\nJ2,1,5,77\nJ2,2,3,81\nJ2,3,2,6\nJ2,4,6,89\nJ2,5,4,27\nJ3,0,4,62\nJ3,1,1,15\nJ3,2,5,86\nJ3,3,2,21\nJ3,4,3,8\nJ3,5,6,70\nJ4,0,4,89\nJ4,1,6,9\nJ4,2,1,99\nJ4,3,5,50\nJ4,4,3,60\nJ4,5,2,67\nJ5,0,3,1\nJ5,1,4,95\nJ5,2,1,37\nJ5,3,5,51\nJ5,4,2,85\nJ5,5,6,81\nJ6,0,5,84\nJ6,1,6,36\nJ6,2,4,88\nJ6,3,3,32\nJ6,4,1,98\nJ6,5,2,87\nJ7,0,6,57\nJ7,1,4,83\nJ7,2,3,19\nJ7,3,5,25\nJ7,4,2,48\nJ7,5,1,41\nJ8,0,1,76\nJ8,1,3,55\nJ8,2,6,29\nJ8,3,4,61\nJ8,4,5,48\nJ8,5,2,51\nJ9,0,4,81\nJ9,1,3,71\nJ9,2,1,75\nJ9,3,2,47\nJ9,4,5,64\nJ9,5,6,2\n\nOh, and when you send the schedule back, please stick to this JSON shape so it's easy to read and parse:\n\n{\n \"solution\": [\n {\n \"job\": ,\n \"tasks\": [\n {\n \"task\": ,\n \"start\": ,\n \"machine\": ,\n \"duration\": \n }\n ]\n }\n ]\n}\n\nThink of that as a simple form: \"solution\" is a list of job entries; each job has the job identifier and a list of its tasks. For each task, \"task\" is the position in the job's sequence, \"start\" is when that step begins (time), \"machine\" is which build server it runs on, and \"duration\" is how long it takes. Easy and informal — like filling out a schedule sheet.\n\nThis JSON is just the expected shape (a sketch) — not the final plan itself. Make sure all identifiers are used exactly as they appear in the instance input — no renaming and no new labels.\n\n- for example: \"Valid identifiers look like plain numbers such as “1” or “23”, single capital letters like “A” or “B”, or a capital letter followed by digits like “A1” or “X7”.\"", "instance": { "nr_machines": 6, "nr_jobs": 9, "jobs": [ [ [ 4, 1 ], [ 2, 97 ], [ 5, 76 ], [ 3, 73 ], [ 1, 48 ], [ 0, 92 ] ], [ [ 0, 28 ], [ 4, 77 ], [ 2, 81 ], [ 1, 6 ], [ 5, 89 ], [ 3, 27 ] ], [ [ 3, 62 ], [ 0, 15 ], [ 4, 86 ], [ 1, 21 ], [ 2, 8 ], [ 5, 70 ] ], [ [ 3, 89 ], [ 5, 9 ], [ 0, 99 ], [ 4, 50 ], [ 2, 60 ], [ 1, 67 ] ], [ [ 2, 1 ], [ 3, 95 ], [ 0, 37 ], [ 4, 51 ], [ 1, 85 ], [ 5, 81 ] ], [ [ 4, 84 ], [ 5, 36 ], [ 3, 88 ], [ 2, 32 ], [ 0, 98 ], [ 1, 87 ] ], [ [ 5, 57 ], [ 3, 83 ], [ 2, 19 ], [ 4, 25 ], [ 1, 48 ], [ 0, 41 ] ], [ [ 0, 76 ], [ 2, 55 ], [ 5, 29 ], [ 3, 61 ], [ 4, 48 ], [ 1, 51 ] ], [ [ 3, 81 ], [ 2, 71 ], [ 0, 75 ], [ 1, 47 ], [ 4, 64 ], [ 5, 2 ] ] ] }, "solution": [ { "job": 0, "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 1 }, { "task": 1, "start": 1, "machine": 2, "duration": 97 }, { "task": 2, "start": 98, "machine": 5, "duration": 76 }, { "task": 3, "start": 184, "machine": 3, "duration": 73 }, { "task": 4, "start": 257, "machine": 1, "duration": 48 }, { "task": 5, "start": 579, "machine": 0, "duration": 92 } ] }, { "job": 1, "tasks": [ { "task": 0, "start": 0, "machine": 0, "duration": 28 }, { "task": 1, "start": 85, "machine": 4, "duration": 77 }, { "task": 2, "start": 162, "machine": 2, "duration": 81 }, { "task": 3, "start": 243, "machine": 1, "duration": 6 }, { "task": 4, "start": 573, "machine": 5, "duration": 89 }, { "task": 5, "start": 704, "machine": 3, "duration": 27 } ] }, { "job": 2, "tasks": [ { "task": 0, "start": 426, "machine": 3, "duration": 62 }, { "task": 1, "start": 488, "machine": 0, "duration": 15 }, { "task": 2, "start": 503, "machine": 4, "duration": 86 }, { "task": 3, "start": 626, "machine": 1, "duration": 21 }, { "task": 4, "start": 647, "machine": 2, "duration": 8 }, { "task": 5, "start": 662, "machine": 5, "duration": 70 } ] }, { "job": 3, "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 89 }, { "task": 1, "start": 89, "machine": 5, "duration": 9 }, { "task": 2, "start": 98, "machine": 0, "duration": 99 }, { "task": 3, "start": 197, "machine": 4, "duration": 50 }, { "task": 4, "start": 247, "machine": 2, "duration": 60 }, { "task": 5, "start": 307, "machine": 1, "duration": 67 } ] }, { "job": 4, "tasks": [ { "task": 0, "start": 0, "machine": 2, "duration": 1 }, { "task": 1, "start": 89, "machine": 3, "duration": 95 }, { "task": 2, "start": 197, "machine": 0, "duration": 37 }, { "task": 3, "start": 247, "machine": 4, "duration": 51 }, { "task": 4, "start": 374, "machine": 1, "duration": 85 }, { "task": 5, "start": 462, "machine": 5, "duration": 81 } ] }, { "job": 5, "tasks": [ { "task": 0, "start": 1, "machine": 4, "duration": 84 }, { "task": 1, "start": 174, "machine": 5, "duration": 36 }, { "task": 2, "start": 257, "machine": 3, "duration": 88 }, { "task": 3, "start": 345, "machine": 2, "duration": 32 }, { "task": 4, "start": 377, "machine": 0, "duration": 98 }, { "task": 5, "start": 475, "machine": 1, "duration": 87 } ] }, { "job": 6, "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 57 }, { "task": 1, "start": 488, "machine": 3, "duration": 83 }, { "task": 2, "start": 571, "machine": 2, "duration": 19 }, { "task": 3, "start": 590, "machine": 4, "duration": 25 }, { "task": 4, "start": 647, "machine": 1, "duration": 48 }, { "task": 5, "start": 702, "machine": 0, "duration": 41 } ] }, { "job": 7, "tasks": [ { "task": 0, "start": 234, "machine": 0, "duration": 76 }, { "task": 1, "start": 378, "machine": 2, "duration": 55 }, { "task": 2, "start": 433, "machine": 5, "duration": 29 }, { "task": 3, "start": 571, "machine": 3, "duration": 61 }, { "task": 4, "start": 632, "machine": 4, "duration": 48 }, { "task": 5, "start": 695, "machine": 1, "duration": 51 } ] }, { "job": 8, "tasks": [ { "task": 0, "start": 345, "machine": 3, "duration": 81 }, { "task": 1, "start": 433, "machine": 2, "duration": 71 }, { "task": 2, "start": 504, "machine": 0, "duration": 75 }, { "task": 3, "start": 579, "machine": 1, "duration": 47 }, { "task": 4, "start": 680, "machine": 4, "duration": 64 }, { "task": 5, "start": 744, "machine": 5, "duration": 2 } ] } ], "obj": 746.0, "instance_variant": { "problem_type": "JSP", "nr_jobs": 9, "nr_machines": 6, "jobs": [ "J1", "J2", "J3", "J4", "J5", "J6", "J7", "J8", "J9" ], "machines": [ 1, 2, 3, 4, 5, 6 ], "records": [ { "job_id": "J1", "task_id": 0, "machine_id": 5, "duration": 1 }, { "job_id": "J1", "task_id": 1, "machine_id": 3, "duration": 97 }, { "job_id": "J1", "task_id": 2, "machine_id": 6, "duration": 76 }, { "job_id": "J1", "task_id": 3, "machine_id": 4, "duration": 73 }, { "job_id": "J1", "task_id": 4, "machine_id": 2, "duration": 48 }, { "job_id": "J1", "task_id": 5, "machine_id": 1, "duration": 92 }, { "job_id": "J2", "task_id": 0, "machine_id": 1, "duration": 28 }, { "job_id": "J2", "task_id": 1, "machine_id": 5, "duration": 77 }, { "job_id": "J2", "task_id": 2, "machine_id": 3, "duration": 81 }, { "job_id": "J2", "task_id": 3, "machine_id": 2, "duration": 6 }, { "job_id": "J2", "task_id": 4, "machine_id": 6, "duration": 89 }, { "job_id": "J2", "task_id": 5, "machine_id": 4, "duration": 27 }, { "job_id": "J3", "task_id": 0, "machine_id": 4, "duration": 62 }, { "job_id": "J3", "task_id": 1, "machine_id": 1, "duration": 15 }, { "job_id": "J3", "task_id": 2, "machine_id": 5, "duration": 86 }, { "job_id": "J3", "task_id": 3, "machine_id": 2, "duration": 21 }, { "job_id": "J3", "task_id": 4, "machine_id": 3, "duration": 8 }, { "job_id": "J3", "task_id": 5, "machine_id": 6, "duration": 70 }, { "job_id": "J4", "task_id": 0, "machine_id": 4, "duration": 89 }, { "job_id": "J4", "task_id": 1, "machine_id": 6, "duration": 9 }, { "job_id": "J4", "task_id": 2, "machine_id": 1, "duration": 99 }, { "job_id": "J4", "task_id": 3, "machine_id": 5, "duration": 50 }, { "job_id": "J4", "task_id": 4, "machine_id": 3, "duration": 60 }, { "job_id": "J4", "task_id": 5, "machine_id": 2, "duration": 67 }, { "job_id": "J5", "task_id": 0, "machine_id": 3, "duration": 1 }, { "job_id": "J5", "task_id": 1, "machine_id": 4, "duration": 95 }, { "job_id": "J5", "task_id": 2, "machine_id": 1, "duration": 37 }, { "job_id": "J5", "task_id": 3, "machine_id": 5, "duration": 51 }, { "job_id": "J5", "task_id": 4, "machine_id": 2, "duration": 85 }, { "job_id": "J5", "task_id": 5, "machine_id": 6, "duration": 81 }, { "job_id": "J6", "task_id": 0, "machine_id": 5, "duration": 84 }, { "job_id": "J6", "task_id": 1, "machine_id": 6, "duration": 36 }, { "job_id": "J6", "task_id": 2, "machine_id": 4, "duration": 88 }, { "job_id": "J6", "task_id": 3, "machine_id": 3, "duration": 32 }, { "job_id": "J6", "task_id": 4, "machine_id": 1, "duration": 98 }, { "job_id": "J6", "task_id": 5, "machine_id": 2, "duration": 87 }, { "job_id": "J7", "task_id": 0, "machine_id": 6, "duration": 57 }, { "job_id": "J7", "task_id": 1, "machine_id": 4, "duration": 83 }, { "job_id": "J7", "task_id": 2, "machine_id": 3, "duration": 19 }, { "job_id": "J7", "task_id": 3, "machine_id": 5, "duration": 25 }, { "job_id": "J7", "task_id": 4, "machine_id": 2, "duration": 48 }, { "job_id": "J7", "task_id": 5, "machine_id": 1, "duration": 41 }, { "job_id": "J8", "task_id": 0, "machine_id": 1, "duration": 76 }, { "job_id": "J8", "task_id": 1, "machine_id": 3, "duration": 55 }, { "job_id": "J8", "task_id": 2, "machine_id": 6, "duration": 29 }, { "job_id": "J8", "task_id": 3, "machine_id": 4, "duration": 61 }, { "job_id": "J8", "task_id": 4, "machine_id": 5, "duration": 48 }, { "job_id": "J8", "task_id": 5, "machine_id": 2, "duration": 51 }, { "job_id": "J9", "task_id": 0, "machine_id": 4, "duration": 81 }, { "job_id": "J9", "task_id": 1, "machine_id": 3, "duration": 71 }, { "job_id": "J9", "task_id": 2, "machine_id": 1, "duration": 75 }, { "job_id": "J9", "task_id": 3, "machine_id": 2, "duration": 47 }, { "job_id": "J9", "task_id": 4, "machine_id": 5, "duration": 64 }, { "job_id": "J9", "task_id": 5, "machine_id": 6, "duration": 2 } ] }, "solution_variant": [ { "job": "J1", "tasks": [ { "task": 0, "start": 0, "machine": 5, "duration": 1 }, { "task": 1, "start": 1, "machine": 3, "duration": 97 }, { "task": 2, "start": 98, "machine": 6, "duration": 76 }, { "task": 3, "start": 184, "machine": 4, "duration": 73 }, { "task": 4, "start": 257, "machine": 2, "duration": 48 }, { "task": 5, "start": 579, "machine": 1, "duration": 92 } ] }, { "job": "J2", "tasks": [ { "task": 0, "start": 0, "machine": 1, "duration": 28 }, { "task": 1, "start": 85, "machine": 5, "duration": 77 }, { "task": 2, "start": 162, "machine": 3, "duration": 81 }, { "task": 3, "start": 243, "machine": 2, "duration": 6 }, { "task": 4, "start": 573, "machine": 6, "duration": 89 }, { "task": 5, "start": 704, "machine": 4, "duration": 27 } ] }, { "job": "J3", "tasks": [ { "task": 0, "start": 426, "machine": 4, "duration": 62 }, { "task": 1, "start": 488, "machine": 1, "duration": 15 }, { "task": 2, "start": 503, "machine": 5, "duration": 86 }, { "task": 3, "start": 626, "machine": 2, "duration": 21 }, { "task": 4, "start": 647, "machine": 3, "duration": 8 }, { "task": 5, "start": 662, "machine": 6, "duration": 70 } ] }, { "job": "J4", "tasks": [ { "task": 0, "start": 0, "machine": 4, "duration": 89 }, { "task": 1, "start": 89, "machine": 6, "duration": 9 }, { "task": 2, "start": 98, "machine": 1, "duration": 99 }, { "task": 3, "start": 197, "machine": 5, "duration": 50 }, { "task": 4, "start": 247, "machine": 3, "duration": 60 }, { "task": 5, "start": 307, "machine": 2, "duration": 67 } ] }, { "job": "J5", "tasks": [ { "task": 0, "start": 0, "machine": 3, "duration": 1 }, { "task": 1, "start": 89, "machine": 4, "duration": 95 }, { "task": 2, "start": 197, "machine": 1, "duration": 37 }, { "task": 3, "start": 247, "machine": 5, "duration": 51 }, { "task": 4, "start": 374, "machine": 2, "duration": 85 }, { "task": 5, "start": 462, "machine": 6, "duration": 81 } ] }, { "job": "J6", "tasks": [ { "task": 0, "start": 1, "machine": 5, "duration": 84 }, { "task": 1, "start": 174, "machine": 6, "duration": 36 }, { "task": 2, "start": 257, "machine": 4, "duration": 88 }, { "task": 3, "start": 345, "machine": 3, "duration": 32 }, { "task": 4, "start": 377, "machine": 1, "duration": 98 }, { "task": 5, "start": 475, "machine": 2, "duration": 87 } ] }, { "job": "J7", "tasks": [ { "task": 0, "start": 0, "machine": 6, "duration": 57 }, { "task": 1, "start": 488, "machine": 4, "duration": 83 }, { "task": 2, "start": 571, "machine": 3, "duration": 19 }, { "task": 3, "start": 590, "machine": 5, "duration": 25 }, { "task": 4, "start": 647, "machine": 2, "duration": 48 }, { "task": 5, "start": 702, "machine": 1, "duration": 41 } ] }, { "job": "J8", "tasks": [ { "task": 0, "start": 234, "machine": 1, "duration": 76 }, { "task": 1, "start": 378, "machine": 3, "duration": 55 }, { "task": 2, "start": 433, "machine": 6, "duration": 29 }, { "task": 3, "start": 571, "machine": 4, "duration": 61 }, { "task": 4, "start": 632, "machine": 5, "duration": 48 }, { "task": 5, "start": 695, "machine": 2, "duration": 51 } ] }, { "job": "J9", "tasks": [ { "task": 0, "start": 345, "machine": 4, "duration": 81 }, { "task": 1, "start": 433, "machine": 3, "duration": 71 }, { "task": 2, "start": 504, "machine": 1, "duration": 75 }, { "task": 3, "start": 579, "machine": 2, "duration": 47 }, { "task": 4, "start": 680, "machine": 5, "duration": 64 }, { "task": 5, "start": 744, "machine": 6, "duration": 2 } ] } ], "context_index": 50, "input_format": "csv", "input_index_base": 1 } ]