nlco / JSP /JSP_S_context.json
Jing1113's picture
Upload folder using huggingface_hub
aff484f verified
Raw
History Blame Contribute Delete
357 kB
[
{
"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=2\n# nr_stations=2\n# dishes=J1, J2\n# stations=0, 1\ndish_id,step_index,station_id,step_duration\nJ1,0,1,1\nJ1,1,0,52\nJ2,0,0,73\nJ2,1,1,27\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
52
]
],
[
[
0,
73
],
[
1,
27
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 73,
"machine": 0,
"duration": 52
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 73
},
{
"task": 1,
"start": 73,
"machine": 1,
"duration": 27
}
]
}
],
"obj": 125.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 52
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 0,
"duration": 73
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 27
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 73,
"machine": 0,
"duration": 52
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 73
},
{
"task": 1,
"start": 73,
"machine": 1,
"duration": 27
}
]
}
],
"context_index": 1,
"input_format": "csv",
"input_index_base": 0
},
{
"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 4 rooms to renovate across 2 machines; the rooms were J1, J2, J3, J4 and the machines were A, B.\n\n| room_id | task_index | required_machine_id | task_duration |\n|---|---|---|---|\n| J1 | 0 | B | 1 |\n| J1 | 1 | A | 65 |\n| J2 | 0 | B | 49 |\n| J2 | 1 | A | 72 |\n| J3 | 0 | A | 90 |\n| J3 | 1 | B | 42 |\n| J4 | 0 | B | 3 |\n| J4 | 1 | A | 19 |\n\nThe team judged schedules by checking the clock when the final task completed for the 4 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
65
]
],
[
[
1,
49
],
[
0,
72
]
],
[
[
0,
90
],
[
1,
42
]
],
[
[
1,
3
],
[
0,
19
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 49,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 162,
"machine": 0,
"duration": 65
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 49
},
{
"task": 1,
"start": 90,
"machine": 0,
"duration": 72
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 90
},
{
"task": 1,
"start": 90,
"machine": 1,
"duration": 42
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 50,
"machine": 1,
"duration": 3
},
{
"task": 1,
"start": 227,
"machine": 0,
"duration": 19
}
]
}
],
"obj": 246.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 65
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 49
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 72
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "A",
"duration": 90
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "B",
"duration": 42
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": "B",
"duration": 3
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": "A",
"duration": 19
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 49,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 162,
"machine": "A",
"duration": 65
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 49
},
{
"task": 1,
"start": 90,
"machine": "A",
"duration": 72
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 90
},
{
"task": 1,
"start": 90,
"machine": "B",
"duration": 42
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 50,
"machine": "B",
"duration": 3
},
{
"task": 1,
"start": 227,
"machine": "A",
"duration": 19
}
]
}
],
"context_index": 2,
"input_format": "markdown_table",
"input_index_base": "names"
},
{
"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\n{\n \"num_garments\": 3,\n \"num_machines\": 2,\n \"garment_ids\": [\n \"J1\",\n \"J2\",\n \"J3\"\n ],\n \"machine_ids\": [\n \"A\",\n \"B\"\n ],\n \"tasks\": [\n {\n \"garment_id\": \"J1\",\n \"treatment_index\": 0,\n \"required_machine_id\": \"B\",\n \"treatment_duration\": 1\n },\n {\n \"garment_id\": \"J1\",\n \"treatment_index\": 1,\n \"required_machine_id\": \"A\",\n \"treatment_duration\": 78\n },\n {\n \"garment_id\": \"J2\",\n \"treatment_index\": 0,\n \"required_machine_id\": \"B\",\n \"treatment_duration\": 25\n },\n {\n \"garment_id\": \"J2\",\n \"treatment_index\": 1,\n \"required_machine_id\": \"A\",\n \"treatment_duration\": 18\n },\n {\n \"garment_id\": \"J3\",\n \"treatment_index\": 0,\n \"required_machine_id\": \"B\",\n \"treatment_duration\": 44\n },\n {\n \"garment_id\": \"J3\",\n \"treatment_index\": 1,\n \"required_machine_id\": \"A\",\n \"treatment_duration\": 63\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
0,
78
]
],
[
[
1,
25
],
[
0,
18
]
],
[
[
1,
44
],
[
0,
63
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 0,
"duration": 78
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 25
},
{
"task": 1,
"start": 142,
"machine": 0,
"duration": 18
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 26,
"machine": 1,
"duration": 44
},
{
"task": 1,
"start": 79,
"machine": 0,
"duration": 63
}
]
}
],
"obj": 160.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 78
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 25
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 18
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "B",
"duration": 44
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 63
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": "A",
"duration": 78
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "B",
"duration": 25
},
{
"task": 1,
"start": 142,
"machine": "A",
"duration": 18
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 26,
"machine": "B",
"duration": 44
},
{
"task": 1,
"start": 79,
"machine": "A",
"duration": 63
}
]
}
],
"context_index": 3,
"input_format": "json",
"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\nI have 2 vehicles and 2 bays to schedule: J1, J2 are the vehicles and 1, 2 are the bays.\n\n| vehicle_id | step_index | bay_id | step_duration |\n|---|---|---|---|\n| J1 | 0 | 2 | 1 |\n| J1 | 1 | 1 | 92 |\n| J2 | 0 | 2 | 1 |\n| J2 | 1 | 1 | 64 |\n\nI'll schedule these steps to minimize when the last car leaves.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
92
]
],
[
[
1,
1
],
[
0,
64
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 0,
"duration": 92
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 93,
"machine": 0,
"duration": 64
}
]
}
],
"obj": 157.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 92
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 64
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 92
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 93,
"machine": 1,
"duration": 64
}
]
}
],
"context_index": 4,
"input_format": "markdown_table",
"input_index_base": 1
},
{
"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\n# number_of_patients=5\n# number_of_rooms_and_equipment=2\n# patient_ids=J1, J2, J3, J4, J5\n# room_equipment_ids=0, 1\npatient_id,phase_index,room_equipment_id,phase_duration_minutes\nJ1,0,1,1\nJ1,1,0,6\nJ2,0,1,76\nJ2,1,0,10\nJ3,0,0,51\nJ3,1,1,8\nJ4,0,0,17\nJ4,1,1,23\nJ5,0,1,25\nJ5,1,0,99\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
0,
6
]
],
[
[
1,
76
],
[
0,
10
]
],
[
[
0,
51
],
[
1,
8
]
],
[
[
0,
17
],
[
1,
23
]
],
[
[
1,
25
],
[
0,
99
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 25,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 51,
"machine": 0,
"duration": 6
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 59,
"machine": 1,
"duration": 76
},
{
"task": 1,
"start": 173,
"machine": 0,
"duration": 10
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 51
},
{
"task": 1,
"start": 51,
"machine": 1,
"duration": 8
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 57,
"machine": 0,
"duration": 17
},
{
"task": 1,
"start": 135,
"machine": 1,
"duration": 23
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 25
},
{
"task": 1,
"start": 74,
"machine": 0,
"duration": 99
}
]
}
],
"obj": 183.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 6
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 76
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 0,
"duration": 10
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 0,
"duration": 51
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 8
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 0,
"duration": 17
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 1,
"duration": 23
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 1,
"duration": 25
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 0,
"duration": 99
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 25,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 51,
"machine": 0,
"duration": 6
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 59,
"machine": 1,
"duration": 76
},
{
"task": 1,
"start": 173,
"machine": 0,
"duration": 10
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 51
},
{
"task": 1,
"start": 51,
"machine": 1,
"duration": 8
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 57,
"machine": 0,
"duration": 17
},
{
"task": 1,
"start": 135,
"machine": 1,
"duration": 23
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 25
},
{
"task": 1,
"start": 74,
"machine": 0,
"duration": 99
}
]
}
],
"context_index": 5,
"input_format": "csv",
"input_index_base": 0
},
{
"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 2 clients and 2 stations; client IDs: J1, J2; station IDs: A, B.\n\n| client_id | step_index | station_id | duration_minutes |\n|---|---|---|---|\n| J1 | 0 | B | 1 |\n| J1 | 1 | A | 19 |\n| J2 | 0 | A | 51 |\n| J2 | 1 | B | 56 |\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
19
]
],
[
[
0,
51
],
[
1,
56
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 51,
"machine": 0,
"duration": 19
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 51
},
{
"task": 1,
"start": 51,
"machine": 1,
"duration": 56
}
]
}
],
"obj": 107.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 19
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 51
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 56
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 51,
"machine": "A",
"duration": 19
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 51
},
{
"task": 1,
"start": 51,
"machine": "B",
"duration": 56
}
]
}
],
"context_index": 6,
"input_format": "markdown_table",
"input_index_base": "names"
},
{
"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\n{\n \"total_print_jobs\": 3,\n \"total_stations\": 2,\n \"print_job_ids\": [\n \"J1\",\n \"J2\",\n \"J3\"\n ],\n \"station_ids\": [\n \"A\",\n \"B\"\n ],\n \"tasks\": [\n {\n \"print_job_id\": \"J1\",\n \"operation_index\": 0,\n \"station_id\": \"B\",\n \"processing_duration\": 1\n },\n {\n \"print_job_id\": \"J1\",\n \"operation_index\": 1,\n \"station_id\": \"A\",\n \"processing_duration\": 32\n },\n {\n \"print_job_id\": \"J2\",\n \"operation_index\": 0,\n \"station_id\": \"A\",\n \"processing_duration\": 27\n },\n {\n \"print_job_id\": \"J2\",\n \"operation_index\": 1,\n \"station_id\": \"B\",\n \"processing_duration\": 2\n },\n {\n \"print_job_id\": \"J3\",\n \"operation_index\": 0,\n \"station_id\": \"B\",\n \"processing_duration\": 57\n },\n {\n \"print_job_id\": \"J3\",\n \"operation_index\": 1,\n \"station_id\": \"A\",\n \"processing_duration\": 51\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
0,
32
]
],
[
[
0,
27
],
[
1,
2
]
],
[
[
1,
57
],
[
0,
51
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 27,
"machine": 0,
"duration": 32
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 27
},
{
"task": 1,
"start": 58,
"machine": 1,
"duration": 2
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 57
},
{
"task": 1,
"start": 59,
"machine": 0,
"duration": 51
}
]
}
],
"obj": 110.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 32
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 27
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 2
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "B",
"duration": 57
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 51
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 27,
"machine": "A",
"duration": 32
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 27
},
{
"task": 1,
"start": 58,
"machine": "B",
"duration": 2
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "B",
"duration": 57
},
{
"task": 1,
"start": 59,
"machine": "A",
"duration": 51
}
]
}
],
"context_index": 7,
"input_format": "json",
"input_index_base": "names"
},
{
"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\nThere are 2 print runs and 2 processing stations; print run IDs: J1, J2; station IDs: A, B.\nPrint J1, step 0 on station B for 1 time units.\nPrint J1, step 1 on station A for 45 time units.\nPrint J2, step 0 on station A for 3 time units.\nPrint J2, step 1 on station B for 47 time units.\nArrange these steps so the last print finishes as early as possible.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
45
]
],
[
[
0,
3
],
[
1,
47
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 3,
"machine": 0,
"duration": 45
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 3
},
{
"task": 1,
"start": 3,
"machine": 1,
"duration": 47
}
]
}
],
"obj": 50.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 45
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 3
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 47
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 3,
"machine": "A",
"duration": 45
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 3
},
{
"task": 1,
"start": 3,
"machine": "B",
"duration": 47
}
]
}
],
"context_index": 8,
"input_format": "nl",
"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\nBelow are the 5 orders and the 2 machines: order IDs J1, J2, J3, J4, J5 and machine IDs 1, 2.\nOrder J1, step 0 — requires machine 2 for 1 minutes.\nOrder J1, step 1 — requires machine 1 for 58 minutes.\nOrder J2, step 0 — requires machine 1 for 78 minutes.\nOrder J2, step 1 — requires machine 2 for 93 minutes.\nOrder J3, step 0 — requires machine 1 for 64 minutes.\nOrder J3, step 1 — requires machine 2 for 94 minutes.\nOrder J4, step 0 — requires machine 2 for 35 minutes.\nOrder J4, step 1 — requires machine 1 for 94 minutes.\nOrder J5, step 0 — requires machine 2 for 96 minutes.\nOrder J5, step 1 — requires machine 1 for 73 minutes.\nThey should be arranged so each recipe runs in sequence and no machine is double-booked.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
0,
58
]
],
[
[
0,
78
],
[
1,
93
]
],
[
[
0,
64
],
[
1,
94
]
],
[
[
1,
35
],
[
0,
94
]
],
[
[
1,
96
],
[
0,
73
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 78,
"machine": 0,
"duration": 58
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 78
},
{
"task": 1,
"start": 97,
"machine": 1,
"duration": 93
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 209,
"machine": 0,
"duration": 64
},
{
"task": 1,
"start": 273,
"machine": 1,
"duration": 94
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 190,
"machine": 1,
"duration": 35
},
{
"task": 1,
"start": 273,
"machine": 0,
"duration": 94
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 96
},
{
"task": 1,
"start": 136,
"machine": 0,
"duration": 73
}
]
}
],
"obj": 367.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 58
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 78
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 93
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 64
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 2,
"duration": 94
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 2,
"duration": 35
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 1,
"duration": 94
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 2,
"duration": 96
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 1,
"duration": 73
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 78,
"machine": 1,
"duration": 58
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 78
},
{
"task": 1,
"start": 97,
"machine": 2,
"duration": 93
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 209,
"machine": 1,
"duration": 64
},
{
"task": 1,
"start": 273,
"machine": 2,
"duration": 94
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 190,
"machine": 2,
"duration": 35
},
{
"task": 1,
"start": 273,
"machine": 1,
"duration": 94
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 96
},
{
"task": 1,
"start": 136,
"machine": 1,
"duration": 73
}
]
}
],
"context_index": 9,
"input_format": "nl",
"input_index_base": 1
},
{
"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\nThere are 5 shots (J1, J2, J3, J4, J5) and 3 servers (1, 2, 3).\nI must schedule shot J1 step 0 on server 2 for 1.\nI must schedule shot J1 step 1 on server 3 for 71.\nI must schedule shot J1 step 2 on server 1 for 54.\nI must schedule shot J2 step 0 on server 1 for 39.\nI must schedule shot J2 step 1 on server 3 for 17.\nI must schedule shot J2 step 2 on server 2 for 17.\nI must schedule shot J3 step 0 on server 1 for 40.\nI must schedule shot J3 step 1 on server 2 for 62.\nI must schedule shot J3 step 2 on server 3 for 64.\nI must schedule shot J4 step 0 on server 2 for 67.\nI must schedule shot J4 step 1 on server 1 for 56.\nI must schedule shot J4 step 2 on server 3 for 49.\nI must schedule shot J5 step 0 on server 1 for 38.\nI must schedule shot J5 step 1 on server 3 for 76.\nI must schedule shot J5 step 2 on server 2 for 72.\nI'll use these details to pick start times that minimize the overall finish time.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
2,
71
],
[
0,
54
]
],
[
[
0,
39
],
[
2,
17
],
[
1,
17
]
],
[
[
0,
40
],
[
1,
62
],
[
2,
64
]
],
[
[
1,
67
],
[
0,
56
],
[
2,
49
]
],
[
[
0,
38
],
[
2,
76
],
[
1,
72
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 71
},
{
"task": 2,
"start": 173,
"machine": 0,
"duration": 54
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 78,
"machine": 0,
"duration": 39
},
{
"task": 1,
"start": 148,
"machine": 2,
"duration": 17
},
{
"task": 2,
"start": 220,
"machine": 1,
"duration": 17
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 38,
"machine": 0,
"duration": 40
},
{
"task": 1,
"start": 78,
"machine": 1,
"duration": 62
},
{
"task": 2,
"start": 165,
"machine": 2,
"duration": 64
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 67
},
{
"task": 1,
"start": 117,
"machine": 0,
"duration": 56
},
{
"task": 2,
"start": 229,
"machine": 2,
"duration": 49
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 38
},
{
"task": 1,
"start": 72,
"machine": 2,
"duration": 76
},
{
"task": 2,
"start": 148,
"machine": 1,
"duration": 72
}
]
}
],
"obj": 278.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 3,
"duration": 71
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 54
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 39
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 3,
"duration": 17
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 2,
"duration": 17
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 40
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 2,
"duration": 62
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 3,
"duration": 64
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 2,
"duration": 67
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 1,
"duration": 56
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 3,
"duration": 49
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 1,
"duration": 38
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 3,
"duration": 76
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": 2,
"duration": 72
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 3,
"duration": 71
},
{
"task": 2,
"start": 173,
"machine": 1,
"duration": 54
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 78,
"machine": 1,
"duration": 39
},
{
"task": 1,
"start": 148,
"machine": 3,
"duration": 17
},
{
"task": 2,
"start": 220,
"machine": 2,
"duration": 17
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 38,
"machine": 1,
"duration": 40
},
{
"task": 1,
"start": 78,
"machine": 2,
"duration": 62
},
{
"task": 2,
"start": 165,
"machine": 3,
"duration": 64
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 67
},
{
"task": 1,
"start": 117,
"machine": 1,
"duration": 56
},
{
"task": 2,
"start": 229,
"machine": 3,
"duration": 49
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 38
},
{
"task": 1,
"start": 72,
"machine": 3,
"duration": 76
},
{
"task": 2,
"start": 148,
"machine": 2,
"duration": 72
}
]
}
],
"context_index": 10,
"input_format": "nl",
"input_index_base": 1
},
{
"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\n{\n \"nr_experiments\": 2,\n \"nr_instruments\": 2,\n \"experiment_ids\": [\n \"J1\",\n \"J2\"\n ],\n \"instrument_ids\": [\n \"A\",\n \"B\"\n ],\n \"tasks\": [\n {\n \"experiment_id\": \"J1\",\n \"step_index\": 0,\n \"instrument_id\": \"B\",\n \"step_duration\": 1\n },\n {\n \"experiment_id\": \"J1\",\n \"step_index\": 1,\n \"instrument_id\": \"A\",\n \"step_duration\": 84\n },\n {\n \"experiment_id\": \"J2\",\n \"step_index\": 0,\n \"instrument_id\": \"B\",\n \"step_duration\": 29\n },\n {\n \"experiment_id\": \"J2\",\n \"step_index\": 1,\n \"instrument_id\": \"A\",\n \"step_duration\": 85\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
84
]
],
[
[
1,
29
],
[
0,
85
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 0,
"duration": 84
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 29
},
{
"task": 1,
"start": 85,
"machine": 0,
"duration": 85
}
]
}
],
"obj": 170.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 84
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 29
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 85
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": "A",
"duration": 84
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "B",
"duration": 29
},
{
"task": 1,
"start": 85,
"machine": "A",
"duration": 85
}
]
}
],
"context_index": 11,
"input_format": "json",
"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\": 5,\n \"total_servers\": 3,\n \"batch_job_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\"\n ],\n \"server_ids\": [\n 1,\n 2,\n 3\n ],\n \"tasks\": [\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 0,\n \"required_server_id\": 2,\n \"expected_runtime\": 1\n },\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 1,\n \"required_server_id\": 3,\n \"expected_runtime\": 97\n },\n {\n \"batch_id\": \"J1\",\n \"stage_index\": 2,\n \"required_server_id\": 1,\n \"expected_runtime\": 5\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 0,\n \"required_server_id\": 3,\n \"expected_runtime\": 31\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 1,\n \"required_server_id\": 2,\n \"expected_runtime\": 24\n },\n {\n \"batch_id\": \"J2\",\n \"stage_index\": 2,\n \"required_server_id\": 1,\n \"expected_runtime\": 60\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 0,\n \"required_server_id\": 2,\n \"expected_runtime\": 49\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 1,\n \"required_server_id\": 1,\n \"expected_runtime\": 98\n },\n {\n \"batch_id\": \"J3\",\n \"stage_index\": 2,\n \"required_server_id\": 3,\n \"expected_runtime\": 1\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 0,\n \"required_server_id\": 1,\n \"expected_runtime\": 54\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 1,\n \"required_server_id\": 2,\n \"expected_runtime\": 33\n },\n {\n \"batch_id\": \"J4\",\n \"stage_index\": 2,\n \"required_server_id\": 3,\n \"expected_runtime\": 53\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 0,\n \"required_server_id\": 2,\n \"expected_runtime\": 5\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 1,\n \"required_server_id\": 1,\n \"expected_runtime\": 83\n },\n {\n \"batch_id\": \"J5\",\n \"stage_index\": 2,\n \"required_server_id\": 3,\n \"expected_runtime\": 83\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
2,
97
],
[
0,
5
]
],
[
[
2,
31
],
[
1,
24
],
[
0,
60
]
],
[
[
1,
49
],
[
0,
98
],
[
2,
1
]
],
[
[
0,
54
],
[
1,
33
],
[
2,
53
]
],
[
[
1,
5
],
[
0,
83
],
[
2,
83
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 54,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 55,
"machine": 2,
"duration": 97
},
{
"task": 2,
"start": 295,
"machine": 0,
"duration": 5
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 31
},
{
"task": 1,
"start": 88,
"machine": 1,
"duration": 24
},
{
"task": 2,
"start": 235,
"machine": 0,
"duration": 60
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 5,
"machine": 1,
"duration": 49
},
{
"task": 1,
"start": 137,
"machine": 0,
"duration": 98
},
{
"task": 2,
"start": 288,
"machine": 2,
"duration": 1
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 54
},
{
"task": 1,
"start": 55,
"machine": 1,
"duration": 33
},
{
"task": 2,
"start": 235,
"machine": 2,
"duration": 53
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 5
},
{
"task": 1,
"start": 54,
"machine": 0,
"duration": 83
},
{
"task": 2,
"start": 152,
"machine": 2,
"duration": 83
}
]
}
],
"obj": 300.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 3,
"duration": 97
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 5
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 3,
"duration": 31
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 24
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 1,
"duration": 60
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 2,
"duration": 49
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 98
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 3,
"duration": 1
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 54
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 2,
"duration": 33
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 3,
"duration": 53
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 2,
"duration": 5
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 1,
"duration": 83
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": 3,
"duration": 83
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 54,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 55,
"machine": 3,
"duration": 97
},
{
"task": 2,
"start": 295,
"machine": 1,
"duration": 5
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 3,
"duration": 31
},
{
"task": 1,
"start": 88,
"machine": 2,
"duration": 24
},
{
"task": 2,
"start": 235,
"machine": 1,
"duration": 60
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 5,
"machine": 2,
"duration": 49
},
{
"task": 1,
"start": 137,
"machine": 1,
"duration": 98
},
{
"task": 2,
"start": 288,
"machine": 3,
"duration": 1
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 54
},
{
"task": 1,
"start": 55,
"machine": 2,
"duration": 33
},
{
"task": 2,
"start": 235,
"machine": 3,
"duration": 53
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 5
},
{
"task": 1,
"start": 54,
"machine": 1,
"duration": 83
},
{
"task": 2,
"start": 152,
"machine": 3,
"duration": 83
}
]
}
],
"context_index": 12,
"input_format": "json",
"input_index_base": 1
},
{
"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\n{\n \"nr_scenes\": 4,\n \"nr_stations\": 2,\n \"scenes\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\"\n ],\n \"stations\": [\n 1,\n 2\n ],\n \"tasks\": [\n {\n \"scene_id\": \"J1\",\n \"step_index\": 0,\n \"station_id\": 2,\n \"step_duration\": 1\n },\n {\n \"scene_id\": \"J1\",\n \"step_index\": 1,\n \"station_id\": 1,\n \"step_duration\": 11\n },\n {\n \"scene_id\": \"J2\",\n \"step_index\": 0,\n \"station_id\": 2,\n \"step_duration\": 80\n },\n {\n \"scene_id\": \"J2\",\n \"step_index\": 1,\n \"station_id\": 1,\n \"step_duration\": 76\n },\n {\n \"scene_id\": \"J3\",\n \"step_index\": 0,\n \"station_id\": 1,\n \"step_duration\": 77\n },\n {\n \"scene_id\": \"J3\",\n \"step_index\": 1,\n \"station_id\": 2,\n \"step_duration\": 82\n },\n {\n \"scene_id\": \"J4\",\n \"step_index\": 0,\n \"station_id\": 2,\n \"step_duration\": 54\n },\n {\n \"scene_id\": \"J4\",\n \"step_index\": 1,\n \"station_id\": 1,\n \"step_duration\": 66\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
11
]
],
[
[
1,
80
],
[
0,
76
]
],
[
[
0,
77
],
[
1,
82
]
],
[
[
1,
54
],
[
0,
66
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 77,
"machine": 0,
"duration": 11
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 80
},
{
"task": 1,
"start": 88,
"machine": 0,
"duration": 76
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 77
},
{
"task": 1,
"start": 135,
"machine": 1,
"duration": 82
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 81,
"machine": 1,
"duration": 54
},
{
"task": 1,
"start": 164,
"machine": 0,
"duration": 66
}
]
}
],
"obj": 230.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 11
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 2,
"duration": 80
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 76
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 77
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 2,
"duration": 82
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 2,
"duration": 54
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 1,
"duration": 66
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 77,
"machine": 1,
"duration": 11
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 80
},
{
"task": 1,
"start": 88,
"machine": 1,
"duration": 76
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 77
},
{
"task": 1,
"start": 135,
"machine": 2,
"duration": 82
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 81,
"machine": 2,
"duration": 54
},
{
"task": 1,
"start": 164,
"machine": 1,
"duration": 66
}
]
}
],
"context_index": 13,
"input_format": "json",
"input_index_base": 1
},
{
"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 3 garments to schedule across 3 stations; the garment identifiers are J1, J2, J3 and the station identifiers are 0, 1, 2.\n\n| garment_id | step_index | station_id | step_duration |\n|---|---|---|---|\n| J1 | 0 | 2 | 1 |\n| J1 | 1 | 1 | 24 |\n| J1 | 2 | 0 | 56 |\n| J2 | 0 | 0 | 23 |\n| J2 | 1 | 2 | 30 |\n| J2 | 2 | 1 | 5 |\n| J3 | 0 | 0 | 59 |\n| J3 | 1 | 1 | 34 |\n| J3 | 2 | 2 | 36 |\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 3,
"jobs": [
[
[
2,
1
],
[
1,
24
],
[
0,
56
]
],
[
[
0,
23
],
[
2,
30
],
[
1,
5
]
],
[
[
0,
59
],
[
1,
34
],
[
2,
36
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 24
},
{
"task": 2,
"start": 82,
"machine": 0,
"duration": 56
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 59,
"machine": 0,
"duration": 23
},
{
"task": 1,
"start": 82,
"machine": 2,
"duration": 30
},
{
"task": 2,
"start": 112,
"machine": 1,
"duration": 5
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 59
},
{
"task": 1,
"start": 59,
"machine": 1,
"duration": 34
},
{
"task": 2,
"start": 112,
"machine": 2,
"duration": 36
}
]
}
],
"obj": 148.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
0,
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 24
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 0,
"duration": 56
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 0,
"duration": 23
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 30
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 1,
"duration": 5
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 0,
"duration": 59
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 34
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 2,
"duration": 36
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 24
},
{
"task": 2,
"start": 82,
"machine": 0,
"duration": 56
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 59,
"machine": 0,
"duration": 23
},
{
"task": 1,
"start": 82,
"machine": 2,
"duration": 30
},
{
"task": 2,
"start": 112,
"machine": 1,
"duration": 5
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 59
},
{
"task": 1,
"start": 59,
"machine": 1,
"duration": 34
},
{
"task": 2,
"start": 112,
"machine": 2,
"duration": 36
}
]
}
],
"context_index": 14,
"input_format": "markdown_table",
"input_index_base": 0
},
{
"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\nThere are 2 projects and 2 machines — project IDs: J1, J2; machine IDs: 0, 1.\nWe must schedule project J1 activity 0 on machine 1 for 1.\nWe must schedule project J1 activity 1 on machine 0 for 37.\nWe must schedule project J2 activity 0 on machine 0 for 32.\nWe must schedule project J2 activity 1 on machine 1 for 68.\nWe’ll fit these activities onto the 2 machines and pick start times so the overall finish time is as early as possible.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
37
]
],
[
[
0,
32
],
[
1,
68
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 32,
"machine": 0,
"duration": 37
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 32
},
{
"task": 1,
"start": 32,
"machine": 1,
"duration": 68
}
]
}
],
"obj": 100.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 37
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 0,
"duration": 32
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 68
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 32,
"machine": 0,
"duration": 37
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 32
},
{
"task": 1,
"start": 32,
"machine": 1,
"duration": 68
}
]
}
],
"context_index": 15,
"input_format": "nl",
"input_index_base": 0
},
{
"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\nWe have 5 boards and 2 stations; the board identifiers are J1, J2, J3, J4, J5 and the station identifiers are 1, 2.\nWe need board J1, operation 0 to run on station 2 for 1 time units.\nWe need board J1, operation 1 to run on station 1 for 50 time units.\nWe need board J2, operation 0 to run on station 1 for 7 time units.\nWe need board J2, operation 1 to run on station 2 for 15 time units.\nWe need board J3, operation 0 to run on station 2 for 37 time units.\nWe need board J3, operation 1 to run on station 1 for 48 time units.\nWe need board J4, operation 0 to run on station 1 for 68 time units.\nWe need board J4, operation 1 to run on station 2 for 69 time units.\nWe need board J5, operation 0 to run on station 2 for 72 time units.\nWe need board J5, operation 1 to run on station 1 for 28 time units.\nWe should arrange these operations so the entire batch finishes as soon as possible.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
0,
50
]
],
[
[
0,
7
],
[
1,
15
]
],
[
[
1,
37
],
[
0,
48
]
],
[
[
0,
68
],
[
1,
69
]
],
[
[
1,
72
],
[
0,
28
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 72,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 75,
"machine": 0,
"duration": 50
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 68,
"machine": 0,
"duration": 7
},
{
"task": 1,
"start": 179,
"machine": 1,
"duration": 15
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 73,
"machine": 1,
"duration": 37
},
{
"task": 1,
"start": 125,
"machine": 0,
"duration": 48
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 68
},
{
"task": 1,
"start": 110,
"machine": 1,
"duration": 69
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 72
},
{
"task": 1,
"start": 173,
"machine": 0,
"duration": 28
}
]
}
],
"obj": 201.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 50
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 7
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 15
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 2,
"duration": 37
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 48
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 68
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 2,
"duration": 69
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 2,
"duration": 72
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 1,
"duration": 28
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 72,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 75,
"machine": 1,
"duration": 50
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 68,
"machine": 1,
"duration": 7
},
{
"task": 1,
"start": 179,
"machine": 2,
"duration": 15
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 73,
"machine": 2,
"duration": 37
},
{
"task": 1,
"start": 125,
"machine": 1,
"duration": 48
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 68
},
{
"task": 1,
"start": 110,
"machine": 2,
"duration": 69
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 72
},
{
"task": 1,
"start": 173,
"machine": 1,
"duration": 28
}
]
}
],
"context_index": 16,
"input_format": "nl",
"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 4 pieces and 3 stations; the pieces are J1, J2, J3, J4 and the stations are 1, 2, 3.\nPiece J1, step 0 needs 2 for 1 time units.\nPiece J1, step 1 needs 3 for 63 time units.\nPiece J1, step 2 needs 1 for 82 time units.\nPiece J2, step 0 needs 2 for 60 time units.\nPiece J2, step 1 needs 1 for 90 time units.\nPiece J2, step 2 needs 3 for 70 time units.\nPiece J3, step 0 needs 3 for 73 time units.\nPiece J3, step 1 needs 1 for 38 time units.\nPiece J3, step 2 needs 2 for 40 time units.\nPiece J4, step 0 needs 2 for 22 time units.\nPiece J4, step 1 needs 3 for 25 time units.\nPiece J4, step 2 needs 1 for 13 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
2,
63
],
[
0,
82
]
],
[
[
1,
60
],
[
0,
90
],
[
2,
70
]
],
[
[
2,
73
],
[
0,
38
],
[
1,
40
]
],
[
[
1,
22
],
[
2,
25
],
[
0,
13
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 60,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 73,
"machine": 2,
"duration": 63
},
{
"task": 2,
"start": 188,
"machine": 0,
"duration": 82
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 60
},
{
"task": 1,
"start": 60,
"machine": 0,
"duration": 90
},
{
"task": 2,
"start": 161,
"machine": 2,
"duration": 70
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 73
},
{
"task": 1,
"start": 150,
"machine": 0,
"duration": 38
},
{
"task": 2,
"start": 188,
"machine": 1,
"duration": 40
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 61,
"machine": 1,
"duration": 22
},
{
"task": 1,
"start": 136,
"machine": 2,
"duration": 25
},
{
"task": 2,
"start": 270,
"machine": 0,
"duration": 13
}
]
}
],
"obj": 283.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 3,
"duration": 63
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 82
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 2,
"duration": 60
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 90
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 3,
"duration": 70
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 3,
"duration": 73
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 38
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 2,
"duration": 40
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 2,
"duration": 22
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 3,
"duration": 25
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 1,
"duration": 13
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 60,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 73,
"machine": 3,
"duration": 63
},
{
"task": 2,
"start": 188,
"machine": 1,
"duration": 82
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 60
},
{
"task": 1,
"start": 60,
"machine": 1,
"duration": 90
},
{
"task": 2,
"start": 161,
"machine": 3,
"duration": 70
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 3,
"duration": 73
},
{
"task": 1,
"start": 150,
"machine": 1,
"duration": 38
},
{
"task": 2,
"start": 188,
"machine": 2,
"duration": 40
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 61,
"machine": 2,
"duration": 22
},
{
"task": 1,
"start": 136,
"machine": 3,
"duration": 25
},
{
"task": 2,
"start": 270,
"machine": 1,
"duration": 13
}
]
}
],
"context_index": 17,
"input_format": "nl",
"input_index_base": 1
},
{
"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\n{\n \"nr_parcels\": 4,\n \"nr_equipment\": 2,\n \"parcel_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\"\n ],\n \"equipment_ids\": [\n 1,\n 2\n ],\n \"tasks\": [\n {\n \"parcel_id\": \"J1\",\n \"step_index\": 0,\n \"equipment_id\": 2,\n \"operation_duration\": 1\n },\n {\n \"parcel_id\": \"J1\",\n \"step_index\": 1,\n \"equipment_id\": 1,\n \"operation_duration\": 76\n },\n {\n \"parcel_id\": \"J2\",\n \"step_index\": 0,\n \"equipment_id\": 2,\n \"operation_duration\": 58\n },\n {\n \"parcel_id\": \"J2\",\n \"step_index\": 1,\n \"equipment_id\": 1,\n \"operation_duration\": 6\n },\n {\n \"parcel_id\": \"J3\",\n \"step_index\": 0,\n \"equipment_id\": 1,\n \"operation_duration\": 43\n },\n {\n \"parcel_id\": \"J3\",\n \"step_index\": 1,\n \"equipment_id\": 2,\n \"operation_duration\": 91\n },\n {\n \"parcel_id\": \"J4\",\n \"step_index\": 0,\n \"equipment_id\": 1,\n \"operation_duration\": 77\n },\n {\n \"parcel_id\": \"J4\",\n \"step_index\": 1,\n \"equipment_id\": 2,\n \"operation_duration\": 6\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
76
]
],
[
[
1,
58
],
[
0,
6
]
],
[
[
0,
43
],
[
1,
91
]
],
[
[
0,
77
],
[
1,
6
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 120,
"machine": 0,
"duration": 76
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 58
},
{
"task": 1,
"start": 196,
"machine": 0,
"duration": 6
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 43
},
{
"task": 1,
"start": 59,
"machine": 1,
"duration": 91
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 43,
"machine": 0,
"duration": 77
},
{
"task": 1,
"start": 150,
"machine": 1,
"duration": 6
}
]
}
],
"obj": 202.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 76
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 2,
"duration": 58
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 6
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 43
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 2,
"duration": 91
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 77
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 2,
"duration": 6
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 120,
"machine": 1,
"duration": 76
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 58
},
{
"task": 1,
"start": 196,
"machine": 1,
"duration": 6
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 43
},
{
"task": 1,
"start": 59,
"machine": 2,
"duration": 91
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 43,
"machine": 1,
"duration": 77
},
{
"task": 1,
"start": 150,
"machine": 2,
"duration": 6
}
]
}
],
"context_index": 18,
"input_format": "json",
"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=5\n# num_tools_lifts=2\n# booth_ids=J1, J2, J3, J4, J5\n# tool_lift_ids=0, 1\nbooth_id,step_index,tool_or_lift_id,assembly_duration\nJ1,0,1,1\nJ1,1,0,89\nJ2,0,1,34\nJ2,1,0,52\nJ3,0,1,96\nJ3,1,0,14\nJ4,0,1,82\nJ4,1,0,73\nJ5,0,0,76\nJ5,1,1,9\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
0,
89
]
],
[
[
1,
34
],
[
0,
52
]
],
[
[
1,
96
],
[
0,
14
]
],
[
[
1,
82
],
[
0,
73
]
],
[
[
0,
76
],
[
1,
9
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 34,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 76,
"machine": 0,
"duration": 89
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 34
},
{
"task": 1,
"start": 165,
"machine": 0,
"duration": 52
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 167,
"machine": 1,
"duration": 96
},
{
"task": 1,
"start": 290,
"machine": 0,
"duration": 14
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 85,
"machine": 1,
"duration": 82
},
{
"task": 1,
"start": 217,
"machine": 0,
"duration": 73
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 76
},
{
"task": 1,
"start": 76,
"machine": 1,
"duration": 9
}
]
}
],
"obj": 304.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 89
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 34
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 0,
"duration": 52
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 96
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 0,
"duration": 14
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 82
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 0,
"duration": 73
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 0,
"duration": 76
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 1,
"duration": 9
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 34,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 76,
"machine": 0,
"duration": 89
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 34
},
{
"task": 1,
"start": 165,
"machine": 0,
"duration": 52
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 167,
"machine": 1,
"duration": 96
},
{
"task": 1,
"start": 290,
"machine": 0,
"duration": 14
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 85,
"machine": 1,
"duration": 82
},
{
"task": 1,
"start": 217,
"machine": 0,
"duration": 73
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 76
},
{
"task": 1,
"start": 76,
"machine": 1,
"duration": 9
}
]
}
],
"context_index": 19,
"input_format": "csv",
"input_index_base": 0
},
{
"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\nHere are the 5 recipes and 2 appliances I had: recipes J1, J2, J3, J4, J5; appliances A, B.\nRecipe J1, step 0: I need appliance B for 1 time units.\nRecipe J1, step 1: I need appliance A for 3 time units.\nRecipe J2, step 0: I need appliance B for 10 time units.\nRecipe J2, step 1: I need appliance A for 97 time units.\nRecipe J3, step 0: I need appliance B for 50 time units.\nRecipe J3, step 1: I need appliance A for 36 time units.\nRecipe J4, step 0: I need appliance B for 87 time units.\nRecipe J4, step 1: I need appliance A for 41 time units.\nRecipe J5, step 0: I need appliance B for 44 time units.\nRecipe J5, step 1: I need appliance A for 2 time units.\nI'll try to schedule the 5 recipes on the 2 appliances so everything finishes as early as possible.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
0,
3
]
],
[
[
1,
10
],
[
0,
97
]
],
[
[
1,
50
],
[
0,
36
]
],
[
[
1,
87
],
[
0,
41
]
],
[
[
1,
44
],
[
0,
2
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 147,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 184,
"machine": 0,
"duration": 3
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 10
},
{
"task": 1,
"start": 10,
"machine": 0,
"duration": 97
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 97,
"machine": 1,
"duration": 50
},
{
"task": 1,
"start": 148,
"machine": 0,
"duration": 36
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 10,
"machine": 1,
"duration": 87
},
{
"task": 1,
"start": 107,
"machine": 0,
"duration": 41
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 148,
"machine": 1,
"duration": 44
},
{
"task": 1,
"start": 192,
"machine": 0,
"duration": 2
}
]
}
],
"obj": 194.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 3
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 10
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 97
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "B",
"duration": 50
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 36
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": "B",
"duration": 87
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": "A",
"duration": 41
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": "B",
"duration": 44
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": "A",
"duration": 2
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 147,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 184,
"machine": "A",
"duration": 3
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 10
},
{
"task": 1,
"start": 10,
"machine": "A",
"duration": 97
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 97,
"machine": "B",
"duration": 50
},
{
"task": 1,
"start": 148,
"machine": "A",
"duration": 36
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 10,
"machine": "B",
"duration": 87
},
{
"task": 1,
"start": 107,
"machine": "A",
"duration": 41
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 148,
"machine": "B",
"duration": 44
},
{
"task": 1,
"start": 192,
"machine": "A",
"duration": 2
}
]
}
],
"context_index": 20,
"input_format": "nl",
"input_index_base": "names"
},
{
"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\n# nr_patients=4\n# nr_rooms=3\n# patient_ids=J1, J2, J3, J4\n# room_ids=1, 2, 3\npatient_id,stage_index,required_room_id,stage_duration\nJ1,0,3,1\nJ1,1,2,16\nJ1,2,1,84\nJ2,0,1,44\nJ2,1,2,4\nJ2,2,3,57\nJ3,0,2,91\nJ3,1,1,9\nJ3,2,3,12\nJ4,0,1,95\nJ4,1,3,77\nJ4,2,2,21\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 4,
"jobs": [
[
[
2,
1
],
[
1,
16
],
[
0,
84
]
],
[
[
0,
44
],
[
1,
4
],
[
2,
57
]
],
[
[
1,
91
],
[
0,
9
],
[
2,
12
]
],
[
[
0,
95
],
[
2,
77
],
[
1,
21
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 16
},
{
"task": 2,
"start": 148,
"machine": 0,
"duration": 84
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 44
},
{
"task": 1,
"start": 44,
"machine": 1,
"duration": 4
},
{
"task": 2,
"start": 48,
"machine": 2,
"duration": 57
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 48,
"machine": 1,
"duration": 91
},
{
"task": 1,
"start": 139,
"machine": 0,
"duration": 9
},
{
"task": 2,
"start": 216,
"machine": 2,
"duration": 12
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 44,
"machine": 0,
"duration": 95
},
{
"task": 1,
"start": 139,
"machine": 2,
"duration": 77
},
{
"task": 2,
"start": 216,
"machine": 1,
"duration": 21
}
]
}
],
"obj": 237.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 3,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 2,
"duration": 16
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 84
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 44
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 4
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 3,
"duration": 57
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 2,
"duration": 91
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 9
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 3,
"duration": 12
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 95
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 3,
"duration": 77
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 2,
"duration": 21
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 3,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 16
},
{
"task": 2,
"start": 148,
"machine": 1,
"duration": 84
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 44
},
{
"task": 1,
"start": 44,
"machine": 2,
"duration": 4
},
{
"task": 2,
"start": 48,
"machine": 3,
"duration": 57
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 48,
"machine": 2,
"duration": 91
},
{
"task": 1,
"start": 139,
"machine": 1,
"duration": 9
},
{
"task": 2,
"start": 216,
"machine": 3,
"duration": 12
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 44,
"machine": 1,
"duration": 95
},
{
"task": 1,
"start": 139,
"machine": 3,
"duration": 77
},
{
"task": 2,
"start": 216,
"machine": 2,
"duration": 21
}
]
}
],
"context_index": 21,
"input_format": "csv",
"input_index_base": 1
},
{
"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\n# num_construction_units=3\n# num_heavy_equipment=2\n# construction_unit_ids=J1, J2, J3\n# equipment_ids=A, B\nunit_id,step_index,required_equipment_id,operation_duration\nJ1,0,B,1\nJ1,1,A,29\nJ2,0,A,60\nJ2,1,B,89\nJ3,0,A,56\nJ3,1,B,79\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
0,
29
]
],
[
[
0,
60
],
[
1,
89
]
],
[
[
0,
56
],
[
1,
79
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 116,
"machine": 0,
"duration": 29
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 56,
"machine": 0,
"duration": 60
},
{
"task": 1,
"start": 135,
"machine": 1,
"duration": 89
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 56
},
{
"task": 1,
"start": 56,
"machine": 1,
"duration": 79
}
]
}
],
"obj": 224.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 29
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 60
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 89
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "A",
"duration": 56
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "B",
"duration": 79
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 116,
"machine": "A",
"duration": 29
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 56,
"machine": "A",
"duration": 60
},
{
"task": 1,
"start": 135,
"machine": "B",
"duration": 89
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 56
},
{
"task": 1,
"start": 56,
"machine": "B",
"duration": 79
}
]
}
],
"context_index": 22,
"input_format": "csv",
"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# nr_features=2\n# nr_servers=2\n# features_list=J1, J2\n# servers_list=A, B\nfeature_id,step_index,server_id,step_duration\nJ1,0,B,1\nJ1,1,A,42\nJ2,0,A,36\nJ2,1,B,36\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
42
]
],
[
[
0,
36
],
[
1,
36
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 36,
"machine": 0,
"duration": 42
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 36
},
{
"task": 1,
"start": 36,
"machine": 1,
"duration": 36
}
]
}
],
"obj": 78.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 42
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 36
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 36
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 36,
"machine": "A",
"duration": 42
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 36
},
{
"task": 1,
"start": 36,
"machine": "B",
"duration": 36
}
]
}
],
"context_index": 23,
"input_format": "csv",
"input_index_base": "names"
},
{
"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 4 garments and 2 stations; garment identifiers: J1, J2, J3, J4; station identifiers: A, B.\n\n| garment_id | operation_index | station_id | processing_time |\n|---|---|---|---|\n| J1 | 0 | B | 1 |\n| J1 | 1 | A | 55 |\n| J2 | 0 | A | 12 |\n| J2 | 1 | B | 81 |\n| J3 | 0 | B | 63 |\n| J3 | 1 | A | 24 |\n| J4 | 0 | B | 6 |\n| J4 | 1 | A | 13 |\n\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
55
]
],
[
[
0,
12
],
[
1,
81
]
],
[
[
1,
63
],
[
0,
24
]
],
[
[
1,
6
],
[
0,
13
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 6,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 12,
"machine": 0,
"duration": 55
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 12
},
{
"task": 1,
"start": 70,
"machine": 1,
"duration": 81
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 7,
"machine": 1,
"duration": 63
},
{
"task": 1,
"start": 80,
"machine": 0,
"duration": 24
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 6
},
{
"task": 1,
"start": 67,
"machine": 0,
"duration": 13
}
]
}
],
"obj": 151.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 55
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 12
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 81
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "B",
"duration": 63
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 24
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": "B",
"duration": 6
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": "A",
"duration": 13
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 6,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 12,
"machine": "A",
"duration": 55
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 12
},
{
"task": 1,
"start": 70,
"machine": "B",
"duration": 81
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 7,
"machine": "B",
"duration": 63
},
{
"task": 1,
"start": 80,
"machine": "A",
"duration": 24
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 6
},
{
"task": 1,
"start": 67,
"machine": "A",
"duration": 13
}
]
}
],
"context_index": 24,
"input_format": "markdown_table",
"input_index_base": "names"
},
{
"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# num_customer_loads=3\n# num_machines=2\n# load_ids=J1, J2, J3\n# appliance_ids=A, B\nload_id,cycle_index,appliance_id,cycle_duration\nJ1,0,B,1\nJ1,1,A,68\nJ2,0,B,87\nJ2,1,A,27\nJ3,0,A,17\nJ3,1,B,45\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
0,
68
]
],
[
[
1,
87
],
[
0,
27
]
],
[
[
0,
17
],
[
1,
45
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 17,
"machine": 0,
"duration": 68
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 87
},
{
"task": 1,
"start": 88,
"machine": 0,
"duration": 27
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 17
},
{
"task": 1,
"start": 88,
"machine": 1,
"duration": 45
}
]
}
],
"obj": 133.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 68
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 87
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 27
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "A",
"duration": 17
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "B",
"duration": 45
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 17,
"machine": "A",
"duration": 68
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "B",
"duration": 87
},
{
"task": 1,
"start": 88,
"machine": "A",
"duration": 27
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 17
},
{
"task": 1,
"start": 88,
"machine": "B",
"duration": 45
}
]
}
],
"context_index": 25,
"input_format": "csv",
"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\n{\n \"nr_cars\": 5,\n \"nr_bays\": 3,\n \"car_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\"\n ],\n \"bay_ids\": [\n 1,\n 2,\n 3\n ],\n \"tasks\": [\n {\n \"car_id\": \"J1\",\n \"service_index\": 0,\n \"bay_id\": 2,\n \"service_duration\": 1\n },\n {\n \"car_id\": \"J1\",\n \"service_index\": 1,\n \"bay_id\": 3,\n \"service_duration\": 81\n },\n {\n \"car_id\": \"J1\",\n \"service_index\": 2,\n \"bay_id\": 1,\n \"service_duration\": 62\n },\n {\n \"car_id\": \"J2\",\n \"service_index\": 0,\n \"bay_id\": 2,\n \"service_duration\": 73\n },\n {\n \"car_id\": \"J2\",\n \"service_index\": 1,\n \"bay_id\": 1,\n \"service_duration\": 69\n },\n {\n \"car_id\": \"J2\",\n \"service_index\": 2,\n \"bay_id\": 3,\n \"service_duration\": 67\n },\n {\n \"car_id\": \"J3\",\n \"service_index\": 0,\n \"bay_id\": 3,\n \"service_duration\": 16\n },\n {\n \"car_id\": \"J3\",\n \"service_index\": 1,\n \"bay_id\": 1,\n \"service_duration\": 48\n },\n {\n \"car_id\": \"J3\",\n \"service_index\": 2,\n \"bay_id\": 2,\n \"service_duration\": 51\n },\n {\n \"car_id\": \"J4\",\n \"service_index\": 0,\n \"bay_id\": 3,\n \"service_duration\": 62\n },\n {\n \"car_id\": \"J4\",\n \"service_index\": 1,\n \"bay_id\": 1,\n \"service_duration\": 69\n },\n {\n \"car_id\": \"J4\",\n \"service_index\": 2,\n \"bay_id\": 2,\n \"service_duration\": 80\n },\n {\n \"car_id\": \"J5\",\n \"service_index\": 0,\n \"bay_id\": 1,\n \"service_duration\": 67\n },\n {\n \"car_id\": \"J5\",\n \"service_index\": 1,\n \"bay_id\": 3,\n \"service_duration\": 32\n },\n {\n \"car_id\": \"J5\",\n \"service_index\": 2,\n \"bay_id\": 2,\n \"service_duration\": 58\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
2,
81
],
[
0,
62
]
],
[
[
1,
73
],
[
0,
69
],
[
2,
67
]
],
[
[
2,
16
],
[
0,
48
],
[
1,
51
]
],
[
[
2,
62
],
[
0,
69
],
[
1,
80
]
],
[
[
0,
67
],
[
2,
32
],
[
1,
58
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 73,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 110,
"machine": 2,
"duration": 81
},
{
"task": 2,
"start": 253,
"machine": 0,
"duration": 62
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 73
},
{
"task": 1,
"start": 136,
"machine": 0,
"duration": 69
},
{
"task": 2,
"start": 205,
"machine": 2,
"duration": 67
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 62,
"machine": 2,
"duration": 16
},
{
"task": 1,
"start": 205,
"machine": 0,
"duration": 48
},
{
"task": 2,
"start": 253,
"machine": 1,
"duration": 51
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 62
},
{
"task": 1,
"start": 67,
"machine": 0,
"duration": 69
},
{
"task": 2,
"start": 168,
"machine": 1,
"duration": 80
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 67
},
{
"task": 1,
"start": 78,
"machine": 2,
"duration": 32
},
{
"task": 2,
"start": 110,
"machine": 1,
"duration": 58
}
]
}
],
"obj": 315.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 3,
"duration": 81
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 62
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 2,
"duration": 73
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 69
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 3,
"duration": 67
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 3,
"duration": 16
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 48
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 2,
"duration": 51
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 3,
"duration": 62
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 1,
"duration": 69
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 2,
"duration": 80
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 1,
"duration": 67
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 3,
"duration": 32
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": 2,
"duration": 58
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 73,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 110,
"machine": 3,
"duration": 81
},
{
"task": 2,
"start": 253,
"machine": 1,
"duration": 62
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 73
},
{
"task": 1,
"start": 136,
"machine": 1,
"duration": 69
},
{
"task": 2,
"start": 205,
"machine": 3,
"duration": 67
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 62,
"machine": 3,
"duration": 16
},
{
"task": 1,
"start": 205,
"machine": 1,
"duration": 48
},
{
"task": 2,
"start": 253,
"machine": 2,
"duration": 51
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 3,
"duration": 62
},
{
"task": 1,
"start": 67,
"machine": 1,
"duration": 69
},
{
"task": 2,
"start": 168,
"machine": 2,
"duration": 80
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 67
},
{
"task": 1,
"start": 78,
"machine": 3,
"duration": 32
},
{
"task": 2,
"start": 110,
"machine": 2,
"duration": 58
}
]
}
],
"context_index": 26,
"input_format": "json",
"input_index_base": 1
},
{
"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=5\n# total_machines=3\n# parts_list=J1, J2, J3, J4, J5\n# machine_ids=1, 2, 3\npart_id,operation_index,required_machine_id,processing_time\nJ1,0,2,1\nJ1,1,3,94\nJ1,2,1,38\nJ2,0,1,19\nJ2,1,3,23\nJ2,2,2,89\nJ3,0,2,20\nJ3,1,1,17\nJ3,2,3,20\nJ4,0,1,56\nJ4,1,3,8\nJ4,2,2,32\nJ5,0,2,51\nJ5,1,3,35\nJ5,2,1,63\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
2,
94
],
[
0,
38
]
],
[
[
0,
19
],
[
2,
23
],
[
1,
89
]
],
[
[
1,
20
],
[
0,
17
],
[
2,
20
]
],
[
[
0,
56
],
[
2,
8
],
[
1,
32
]
],
[
[
1,
51
],
[
2,
35
],
[
0,
63
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 51,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 86,
"machine": 2,
"duration": 94
},
{
"task": 2,
"start": 180,
"machine": 0,
"duration": 38
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 19
},
{
"task": 1,
"start": 19,
"machine": 2,
"duration": 23
},
{
"task": 2,
"start": 52,
"machine": 1,
"duration": 89
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 141,
"machine": 1,
"duration": 20
},
{
"task": 1,
"start": 161,
"machine": 0,
"duration": 17
},
{
"task": 2,
"start": 188,
"machine": 2,
"duration": 20
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 19,
"machine": 0,
"duration": 56
},
{
"task": 1,
"start": 180,
"machine": 2,
"duration": 8
},
{
"task": 2,
"start": 188,
"machine": 1,
"duration": 32
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 51
},
{
"task": 1,
"start": 51,
"machine": 2,
"duration": 35
},
{
"task": 2,
"start": 86,
"machine": 0,
"duration": 63
}
]
}
],
"obj": 220.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 3,
"duration": 94
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 38
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 19
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 3,
"duration": 23
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 2,
"duration": 89
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 2,
"duration": 20
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 17
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 3,
"duration": 20
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 56
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 3,
"duration": 8
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 2,
"duration": 32
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 2,
"duration": 51
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 3,
"duration": 35
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": 1,
"duration": 63
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 51,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 86,
"machine": 3,
"duration": 94
},
{
"task": 2,
"start": 180,
"machine": 1,
"duration": 38
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 19
},
{
"task": 1,
"start": 19,
"machine": 3,
"duration": 23
},
{
"task": 2,
"start": 52,
"machine": 2,
"duration": 89
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 141,
"machine": 2,
"duration": 20
},
{
"task": 1,
"start": 161,
"machine": 1,
"duration": 17
},
{
"task": 2,
"start": 188,
"machine": 3,
"duration": 20
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 19,
"machine": 1,
"duration": 56
},
{
"task": 1,
"start": 180,
"machine": 3,
"duration": 8
},
{
"task": 2,
"start": 188,
"machine": 2,
"duration": 32
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 51
},
{
"task": 1,
"start": 51,
"machine": 3,
"duration": 35
},
{
"task": 2,
"start": 86,
"machine": 1,
"duration": 63
}
]
}
],
"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: 3 bouquets, 3 stations, bouquet ids J1, J2, J3, and station ids A, B, C.\nBouquet J1, step 0 requires station B for 1 time units.\nBouquet J1, step 1 requires station C for 8 time units.\nBouquet J1, step 2 requires station A for 14 time units.\nBouquet J2, step 0 requires station B for 65 time units.\nBouquet J2, step 1 requires station C for 76 time units.\nBouquet J2, step 2 requires station A for 11 time units.\nBouquet J3, step 0 requires station A for 25 time units.\nBouquet J3, step 1 requires station C for 84 time units.\nBouquet J3, step 2 requires station B for 87 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
2,
8
],
[
0,
14
]
],
[
[
1,
65
],
[
2,
76
],
[
0,
11
]
],
[
[
0,
25
],
[
2,
84
],
[
1,
87
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 8
},
{
"task": 2,
"start": 25,
"machine": 0,
"duration": 14
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 65
},
{
"task": 1,
"start": 109,
"machine": 2,
"duration": 76
},
{
"task": 2,
"start": 185,
"machine": 0,
"duration": 11
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 25
},
{
"task": 1,
"start": 25,
"machine": 2,
"duration": 84
},
{
"task": 2,
"start": 109,
"machine": 1,
"duration": 87
}
]
}
],
"obj": 196.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B",
"C"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "C",
"duration": 8
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": "A",
"duration": 14
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 65
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "C",
"duration": 76
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": "A",
"duration": 11
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "A",
"duration": 25
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "C",
"duration": 84
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": "B",
"duration": 87
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": "C",
"duration": 8
},
{
"task": 2,
"start": 25,
"machine": "A",
"duration": 14
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "B",
"duration": 65
},
{
"task": 1,
"start": 109,
"machine": "C",
"duration": 76
},
{
"task": 2,
"start": 185,
"machine": "A",
"duration": 11
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 25
},
{
"task": 1,
"start": 25,
"machine": "C",
"duration": 84
},
{
"task": 2,
"start": 109,
"machine": "B",
"duration": 87
}
]
}
],
"context_index": 28,
"input_format": "nl",
"input_index_base": "names"
},
{
"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 4 segments to route through 2 rooms; the segment identifiers are J1, J2, J3, J4 and the room identifiers are A, B.\n\n| segment_id | step_index | room_id | processing_time |\n|---|---|---|---|\n| J1 | 0 | B | 1 |\n| J1 | 1 | A | 21 |\n| J2 | 0 | A | 89 |\n| J2 | 1 | B | 11 |\n| J3 | 0 | A | 30 |\n| J3 | 1 | B | 33 |\n| J4 | 0 | A | 30 |\n| J4 | 1 | B | 52 |\n\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
21
]
],
[
[
0,
89
],
[
1,
11
]
],
[
[
0,
30
],
[
1,
33
]
],
[
[
0,
30
],
[
1,
52
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 149,
"machine": 0,
"duration": 21
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 60,
"machine": 0,
"duration": 89
},
{
"task": 1,
"start": 149,
"machine": 1,
"duration": 11
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 30
},
{
"task": 1,
"start": 30,
"machine": 1,
"duration": 33
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 30,
"machine": 0,
"duration": 30
},
{
"task": 1,
"start": 63,
"machine": 1,
"duration": 52
}
]
}
],
"obj": 170.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 21
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 89
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 11
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "A",
"duration": 30
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "B",
"duration": 33
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": "A",
"duration": 30
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": "B",
"duration": 52
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 149,
"machine": "A",
"duration": 21
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 60,
"machine": "A",
"duration": 89
},
{
"task": 1,
"start": 149,
"machine": "B",
"duration": 11
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 30
},
{
"task": 1,
"start": 30,
"machine": "B",
"duration": 33
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 30,
"machine": "A",
"duration": 30
},
{
"task": 1,
"start": 63,
"machine": "B",
"duration": 52
}
]
}
],
"context_index": 29,
"input_format": "markdown_table",
"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# nr_batches=4\n# nr_stations=2\n# batch_ids=J1, J2, J3, J4\n# station_ids=A, B\nbatch_id,step_index,station_id,step_duration\nJ1,0,B,1\nJ1,1,A,34\nJ2,0,A,65\nJ2,1,B,56\nJ3,0,A,82\nJ3,1,B,55\nJ4,0,B,34\nJ4,1,A,20\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
34
]
],
[
[
0,
65
],
[
1,
56
]
],
[
[
0,
82
],
[
1,
55
]
],
[
[
1,
34
],
[
0,
20
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 34,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 147,
"machine": 0,
"duration": 34
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 65
},
{
"task": 1,
"start": 65,
"machine": 1,
"duration": 56
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 65,
"machine": 0,
"duration": 82
},
{
"task": 1,
"start": 147,
"machine": 1,
"duration": 55
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 34
},
{
"task": 1,
"start": 181,
"machine": 0,
"duration": 20
}
]
}
],
"obj": 202.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 34
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 65
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 56
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "A",
"duration": 82
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "B",
"duration": 55
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": "B",
"duration": 34
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": "A",
"duration": 20
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 34,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 147,
"machine": "A",
"duration": 34
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 65
},
{
"task": 1,
"start": 65,
"machine": "B",
"duration": 56
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 65,
"machine": "A",
"duration": 82
},
{
"task": 1,
"start": 147,
"machine": "B",
"duration": 55
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 34
},
{
"task": 1,
"start": 181,
"machine": "A",
"duration": 20
}
]
}
],
"context_index": 30,
"input_format": "csv",
"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\nListed below are 3 classes and 2 rooms, identified as J1, J2, J3 and A, B.\nClass J1 session 0 is assigned to room B and lasts 1 time units.\nClass J1 session 1 is assigned to room A and lasts 47 time units.\nClass J2 session 0 is assigned to room A and lasts 40 time units.\nClass J2 session 1 is assigned to room B and lasts 3 time units.\nClass J3 session 0 is assigned to room B and lasts 36 time units.\nClass J3 session 1 is assigned to room A and lasts 76 time units.\nSchedule all sessions so each class's sessions occur in order and no room hosts overlapping sessions; minimize the latest class end time.\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\": <class_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <room_id>,\n \"duration\": <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": 2,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
0,
47
]
],
[
[
0,
40
],
[
1,
3
]
],
[
[
1,
36
],
[
0,
76
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 36,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 116,
"machine": 0,
"duration": 47
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 40
},
{
"task": 1,
"start": 40,
"machine": 1,
"duration": 3
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 36
},
{
"task": 1,
"start": 40,
"machine": 0,
"duration": 76
}
]
}
],
"obj": 163.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 47
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 40
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 3
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "B",
"duration": 36
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 76
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 36,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 116,
"machine": "A",
"duration": 47
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 40
},
{
"task": 1,
"start": 40,
"machine": "B",
"duration": 3
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 36
},
{
"task": 1,
"start": 40,
"machine": "A",
"duration": 76
}
]
}
],
"context_index": 31,
"input_format": "nl",
"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 3 patients and 3 scanners; patient IDs: J1, J2, J3; scanner IDs: 1, 2, 3.\nFor patient J1, scan 0 must run on scanner 3 for 1.\nFor patient J1, scan 1 must run on scanner 2 for 60.\nFor patient J1, scan 2 must run on scanner 1 for 16.\nFor patient J2, scan 0 must run on scanner 3 for 48.\nFor patient J2, scan 1 must run on scanner 2 for 89.\nFor patient J2, scan 2 must run on scanner 1 for 98.\nFor patient J3, scan 0 must run on scanner 1 for 43.\nFor patient J3, scan 1 must run on scanner 3 for 56.\nFor patient J3, scan 2 must run on scanner 2 for 59.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 3,
"jobs": [
[
[
2,
1
],
[
1,
60
],
[
0,
16
]
],
[
[
2,
48
],
[
1,
89
],
[
0,
98
]
],
[
[
0,
43
],
[
2,
56
],
[
1,
59
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 60
},
{
"task": 2,
"start": 61,
"machine": 0,
"duration": 16
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 48
},
{
"task": 1,
"start": 61,
"machine": 1,
"duration": 89
},
{
"task": 2,
"start": 150,
"machine": 0,
"duration": 98
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 43
},
{
"task": 1,
"start": 49,
"machine": 2,
"duration": 56
},
{
"task": 2,
"start": 150,
"machine": 1,
"duration": 59
}
]
}
],
"obj": 248.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 3,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 2,
"duration": 60
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 16
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 3,
"duration": 48
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 89
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 1,
"duration": 98
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 43
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 3,
"duration": 56
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 2,
"duration": 59
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 3,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 60
},
{
"task": 2,
"start": 61,
"machine": 1,
"duration": 16
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 3,
"duration": 48
},
{
"task": 1,
"start": 61,
"machine": 2,
"duration": 89
},
{
"task": 2,
"start": 150,
"machine": 1,
"duration": 98
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 43
},
{
"task": 1,
"start": 49,
"machine": 3,
"duration": 56
},
{
"task": 2,
"start": 150,
"machine": 2,
"duration": 59
}
]
}
],
"context_index": 32,
"input_format": "nl",
"input_index_base": 1
},
{
"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: 5 projects, 3 workstations; project IDs J1, J2, J3, J4, J5; workstation IDs 0, 1, 2.\n\n| project_id | step_index | workstation_id | processing_duration |\n|---|---|---|---|\n| J1 | 0 | 1 | 1 |\n| J1 | 1 | 2 | 73 |\n| J1 | 2 | 0 | 91 |\n| J2 | 0 | 1 | 94 |\n| J2 | 1 | 0 | 43 |\n| J2 | 2 | 2 | 21 |\n| J3 | 0 | 2 | 48 |\n| J3 | 1 | 1 | 24 |\n| J3 | 2 | 0 | 27 |\n| J4 | 0 | 0 | 17 |\n| J4 | 1 | 1 | 38 |\n| J4 | 2 | 2 | 44 |\n| J5 | 0 | 1 | 49 |\n| J5 | 1 | 2 | 56 |\n| J5 | 2 | 0 | 95 |\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
2,
73
],
[
0,
91
]
],
[
[
1,
94
],
[
0,
43
],
[
2,
21
]
],
[
[
2,
48
],
[
1,
24
],
[
0,
27
]
],
[
[
0,
17
],
[
1,
38
],
[
2,
44
]
],
[
[
1,
49
],
[
2,
56
],
[
0,
95
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 73
},
{
"task": 2,
"start": 74,
"machine": 0,
"duration": 91
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 50,
"machine": 1,
"duration": 94
},
{
"task": 1,
"start": 165,
"machine": 0,
"duration": 43
},
{
"task": 2,
"start": 226,
"machine": 2,
"duration": 21
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 130,
"machine": 2,
"duration": 48
},
{
"task": 1,
"start": 182,
"machine": 1,
"duration": 24
},
{
"task": 2,
"start": 303,
"machine": 0,
"duration": 27
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 17
},
{
"task": 1,
"start": 144,
"machine": 1,
"duration": 38
},
{
"task": 2,
"start": 182,
"machine": 2,
"duration": 44
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 49
},
{
"task": 1,
"start": 74,
"machine": 2,
"duration": 56
},
{
"task": 2,
"start": 208,
"machine": 0,
"duration": 95
}
]
}
],
"obj": 330.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
0,
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 2,
"duration": 73
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 0,
"duration": 91
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 94
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 0,
"duration": 43
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 2,
"duration": 21
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 2,
"duration": 48
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 24
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 0,
"duration": 27
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 0,
"duration": 17
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 1,
"duration": 38
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 2,
"duration": 44
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 1,
"duration": 49
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 2,
"duration": 56
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": 0,
"duration": 95
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 73
},
{
"task": 2,
"start": 74,
"machine": 0,
"duration": 91
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 50,
"machine": 1,
"duration": 94
},
{
"task": 1,
"start": 165,
"machine": 0,
"duration": 43
},
{
"task": 2,
"start": 226,
"machine": 2,
"duration": 21
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 130,
"machine": 2,
"duration": 48
},
{
"task": 1,
"start": 182,
"machine": 1,
"duration": 24
},
{
"task": 2,
"start": 303,
"machine": 0,
"duration": 27
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 17
},
{
"task": 1,
"start": 144,
"machine": 1,
"duration": 38
},
{
"task": 2,
"start": 182,
"machine": 2,
"duration": 44
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 49
},
{
"task": 1,
"start": 74,
"machine": 2,
"duration": 56
},
{
"task": 2,
"start": 208,
"machine": 0,
"duration": 95
}
]
}
],
"context_index": 33,
"input_format": "markdown_table",
"input_index_base": 0
},
{
"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\": 3,\n \"num_sets_and_stations\": 3,\n \"session_ids\": [\n \"J1\",\n \"J2\",\n \"J3\"\n ],\n \"resource_ids\": [\n \"A\",\n \"B\",\n \"C\"\n ],\n \"tasks\": [\n {\n \"session_id\": \"J1\",\n \"step_index\": 0,\n \"resource_id\": \"B\",\n \"duration_minutes\": 1\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 1,\n \"resource_id\": \"C\",\n \"duration_minutes\": 86\n },\n {\n \"session_id\": \"J1\",\n \"step_index\": 2,\n \"resource_id\": \"A\",\n \"duration_minutes\": 67\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 0,\n \"resource_id\": \"A\",\n \"duration_minutes\": 40\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 1,\n \"resource_id\": \"B\",\n \"duration_minutes\": 95\n },\n {\n \"session_id\": \"J2\",\n \"step_index\": 2,\n \"resource_id\": \"C\",\n \"duration_minutes\": 42\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 0,\n \"resource_id\": \"C\",\n \"duration_minutes\": 53\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 1,\n \"resource_id\": \"A\",\n \"duration_minutes\": 91\n },\n {\n \"session_id\": \"J3\",\n \"step_index\": 2,\n \"resource_id\": \"B\",\n \"duration_minutes\": 94\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\": <session_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <set_id>,\n \"duration\": <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": 3,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
2,
86
],
[
0,
67
]
],
[
[
0,
40
],
[
1,
95
],
[
2,
42
]
],
[
[
2,
53
],
[
0,
91
],
[
1,
94
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 53,
"machine": 2,
"duration": 86
},
{
"task": 2,
"start": 144,
"machine": 0,
"duration": 67
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 40
},
{
"task": 1,
"start": 40,
"machine": 1,
"duration": 95
},
{
"task": 2,
"start": 139,
"machine": 2,
"duration": 42
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 53
},
{
"task": 1,
"start": 53,
"machine": 0,
"duration": 91
},
{
"task": 2,
"start": 144,
"machine": 1,
"duration": 94
}
]
}
],
"obj": 238.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B",
"C"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "C",
"duration": 86
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": "A",
"duration": 67
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 40
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 95
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": "C",
"duration": 42
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "C",
"duration": 53
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 91
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": "B",
"duration": 94
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 53,
"machine": "C",
"duration": 86
},
{
"task": 2,
"start": 144,
"machine": "A",
"duration": 67
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 40
},
{
"task": 1,
"start": 40,
"machine": "B",
"duration": 95
},
{
"task": 2,
"start": 139,
"machine": "C",
"duration": 42
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "C",
"duration": 53
},
{
"task": 1,
"start": 53,
"machine": "A",
"duration": 91
},
{
"task": 2,
"start": 144,
"machine": "B",
"duration": 94
}
]
}
],
"context_index": 34,
"input_format": "json",
"input_index_base": "names"
},
{
"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\nWe have 2 drones and 2 pads; their identifiers are J1, J2 and 0, 1.\n\n| drone_id | step_index | pad_id | duration_minutes |\n|---|---|---|---|\n| J1 | 0 | 1 | 1 |\n| J1 | 1 | 0 | 99 |\n| J2 | 0 | 1 | 43 |\n| J2 | 1 | 0 | 85 |\n\nWe seek a schedule that minimizes when the last of the 2 drones finishes.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
99
]
],
[
[
1,
43
],
[
0,
85
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 0,
"duration": 99
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 43
},
{
"task": 1,
"start": 100,
"machine": 0,
"duration": 85
}
]
}
],
"obj": 185.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 99
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 43
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 0,
"duration": 85
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 0,
"duration": 99
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 43
},
{
"task": 1,
"start": 100,
"machine": 0,
"duration": 85
}
]
}
],
"context_index": 35,
"input_format": "markdown_table",
"input_index_base": 0
},
{
"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 2 containers to schedule across the 3 stations: containers J1, J2; stations A, B, C.\nContainer J1, operation 0, requires station C for 1 time units.\nContainer J1, operation 1, requires station B for 13 time units.\nContainer J1, operation 2, requires station A for 18 time units.\nContainer J2, operation 0, requires station C for 32 time units.\nContainer J2, operation 1, requires station B for 3 time units.\nContainer J2, operation 2, requires station A for 86 time units.\nThe objective remains to minimize the departure time of the last container across all 3 stations for these 2 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 2,
"jobs": [
[
[
2,
1
],
[
1,
13
],
[
0,
18
]
],
[
[
2,
32
],
[
1,
3
],
[
0,
86
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 13
},
{
"task": 2,
"start": 14,
"machine": 0,
"duration": 18
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 32
},
{
"task": 1,
"start": 33,
"machine": 1,
"duration": 3
},
{
"task": 2,
"start": 36,
"machine": 0,
"duration": 86
}
]
}
],
"obj": 122.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 3,
"jobs": [
"J1",
"J2"
],
"machines": [
"A",
"B",
"C"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "C",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "B",
"duration": 13
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": "A",
"duration": 18
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "C",
"duration": 32
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 3
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": "A",
"duration": 86
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "C",
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": "B",
"duration": 13
},
{
"task": 2,
"start": 14,
"machine": "A",
"duration": 18
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "C",
"duration": 32
},
{
"task": 1,
"start": 33,
"machine": "B",
"duration": 3
},
{
"task": 2,
"start": 36,
"machine": "A",
"duration": 86
}
]
}
],
"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 5 batches (J1, J2, J3, J4, J5) and the 3 workstations (A, B, C) that I need to coordinate.\n\n| batch_id | step_index | required_workstation_id | processing_time |\n|---|---|---|---|\n| J1 | 0 | C | 1 |\n| J1 | 1 | B | 26 |\n| J1 | 2 | A | 93 |\n| J2 | 0 | B | 77 |\n| J2 | 1 | A | 56 |\n| J2 | 2 | C | 8 |\n| J3 | 0 | C | 67 |\n| J3 | 1 | B | 95 |\n| J3 | 2 | A | 98 |\n| J4 | 0 | C | 90 |\n| J4 | 1 | B | 91 |\n| J4 | 2 | A | 51 |\n| J5 | 0 | A | 81 |\n| J5 | 1 | B | 69 |\n| J5 | 2 | C | 17 |\n\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
2,
1
],
[
1,
26
],
[
0,
93
]
],
[
[
1,
77
],
[
0,
56
],
[
2,
8
]
],
[
[
2,
67
],
[
1,
95
],
[
0,
98
]
],
[
[
2,
90
],
[
1,
91
],
[
0,
51
]
],
[
[
0,
81
],
[
1,
69
],
[
2,
17
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 67,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 77,
"machine": 1,
"duration": 26
},
{
"task": 2,
"start": 137,
"machine": 0,
"duration": 93
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 77
},
{
"task": 1,
"start": 81,
"machine": 0,
"duration": 56
},
{
"task": 2,
"start": 158,
"machine": 2,
"duration": 8
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 67
},
{
"task": 1,
"start": 103,
"machine": 1,
"duration": 95
},
{
"task": 2,
"start": 230,
"machine": 0,
"duration": 98
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 68,
"machine": 2,
"duration": 90
},
{
"task": 1,
"start": 198,
"machine": 1,
"duration": 91
},
{
"task": 2,
"start": 328,
"machine": 0,
"duration": 51
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 81
},
{
"task": 1,
"start": 289,
"machine": 1,
"duration": 69
},
{
"task": 2,
"start": 358,
"machine": 2,
"duration": 17
}
]
}
],
"obj": 379.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
"A",
"B",
"C"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "C",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "B",
"duration": 26
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": "A",
"duration": 93
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 77
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 56
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": "C",
"duration": 8
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "C",
"duration": 67
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "B",
"duration": 95
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": "A",
"duration": 98
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": "C",
"duration": 90
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": "B",
"duration": 91
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": "A",
"duration": 51
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": "A",
"duration": 81
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": "B",
"duration": 69
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": "C",
"duration": 17
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 67,
"machine": "C",
"duration": 1
},
{
"task": 1,
"start": 77,
"machine": "B",
"duration": 26
},
{
"task": 2,
"start": 137,
"machine": "A",
"duration": 93
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 77
},
{
"task": 1,
"start": 81,
"machine": "A",
"duration": 56
},
{
"task": 2,
"start": 158,
"machine": "C",
"duration": 8
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "C",
"duration": 67
},
{
"task": 1,
"start": 103,
"machine": "B",
"duration": 95
},
{
"task": 2,
"start": 230,
"machine": "A",
"duration": 98
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 68,
"machine": "C",
"duration": 90
},
{
"task": 1,
"start": 198,
"machine": "B",
"duration": 91
},
{
"task": 2,
"start": 328,
"machine": "A",
"duration": 51
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 81
},
{
"task": 1,
"start": 289,
"machine": "B",
"duration": 69
},
{
"task": 2,
"start": 358,
"machine": "C",
"duration": 17
}
]
}
],
"context_index": 37,
"input_format": "markdown_table",
"input_index_base": "names"
},
{
"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\nThe list below shows 2 product sets, 2 packing machines, product set ids J1, J2, and machine ids A, B.\n\n| product_set_id | operation_index | assigned_machine_id | processing_duration |\n|---|---|---|---|\n| J1 | 0 | B | 1 |\n| J1 | 1 | A | 39 |\n| J2 | 0 | A | 69 |\n| J2 | 1 | B | 24 |\n\nUse these entries to plan start times and ordering so machines never overlap and the entire batch finishes as quickly as possible.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
39
]
],
[
[
0,
69
],
[
1,
24
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 69,
"machine": 0,
"duration": 39
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 69
},
{
"task": 1,
"start": 69,
"machine": 1,
"duration": 24
}
]
}
],
"obj": 108.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 39
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "A",
"duration": 69
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 24
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 69,
"machine": "A",
"duration": 39
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 69
},
{
"task": 1,
"start": 69,
"machine": "B",
"duration": 24
}
]
}
],
"context_index": 38,
"input_format": "markdown_table",
"input_index_base": "names"
},
{
"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 4 menu items and 2 stations; menu IDs were J1, J2, J3, J4 and station IDs were 0, 1.\nMenu J1 stage 0 required station 1 and took 1 minutes.\nMenu J1 stage 1 required station 0 and took 52 minutes.\nMenu J2 stage 0 required station 0 and took 45 minutes.\nMenu J2 stage 1 required station 1 and took 69 minutes.\nMenu J3 stage 0 required station 0 and took 62 minutes.\nMenu J3 stage 1 required station 1 and took 52 minutes.\nMenu J4 stage 0 required station 1 and took 76 minutes.\nMenu J4 stage 1 required station 0 and took 31 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
52
]
],
[
[
0,
45
],
[
1,
69
]
],
[
[
0,
62
],
[
1,
52
]
],
[
[
1,
76
],
[
0,
31
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 145,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 146,
"machine": 0,
"duration": 52
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 45
},
{
"task": 1,
"start": 76,
"machine": 1,
"duration": 69
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 45,
"machine": 0,
"duration": 62
},
{
"task": 1,
"start": 146,
"machine": 1,
"duration": 52
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 76
},
{
"task": 1,
"start": 107,
"machine": 0,
"duration": 31
}
]
}
],
"obj": 198.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 52
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 0,
"duration": 45
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 69
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 0,
"duration": 62
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 52
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 76
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 0,
"duration": 31
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 145,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 146,
"machine": 0,
"duration": 52
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 45
},
{
"task": 1,
"start": 76,
"machine": 1,
"duration": 69
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 45,
"machine": 0,
"duration": 62
},
{
"task": 1,
"start": 146,
"machine": 1,
"duration": 52
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 76
},
{
"task": 1,
"start": 107,
"machine": 0,
"duration": 31
}
]
}
],
"context_index": 39,
"input_format": "nl",
"input_index_base": 0
},
{
"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\n{\n \"number_of_vehicles\": 5,\n \"number_of_service_bays\": 3,\n \"vehicle_ids\": [\n \"J1\",\n \"J2\",\n \"J3\",\n \"J4\",\n \"J5\"\n ],\n \"service_bay_ids\": [\n 1,\n 2,\n 3\n ],\n \"tasks\": [\n {\n \"vehicle_id\": \"J1\",\n \"step_index\": 0,\n \"service_bay_id\": 2,\n \"service_duration\": 1\n },\n {\n \"vehicle_id\": \"J1\",\n \"step_index\": 1,\n \"service_bay_id\": 3,\n \"service_duration\": 65\n },\n {\n \"vehicle_id\": \"J1\",\n \"step_index\": 2,\n \"service_bay_id\": 1,\n \"service_duration\": 21\n },\n {\n \"vehicle_id\": \"J2\",\n \"step_index\": 0,\n \"service_bay_id\": 3,\n \"service_duration\": 15\n },\n {\n \"vehicle_id\": \"J2\",\n \"step_index\": 1,\n \"service_bay_id\": 2,\n \"service_duration\": 16\n },\n {\n \"vehicle_id\": \"J2\",\n \"step_index\": 2,\n \"service_bay_id\": 1,\n \"service_duration\": 73\n },\n {\n \"vehicle_id\": \"J3\",\n \"step_index\": 0,\n \"service_bay_id\": 2,\n \"service_duration\": 81\n },\n {\n \"vehicle_id\": \"J3\",\n \"step_index\": 1,\n \"service_bay_id\": 1,\n \"service_duration\": 98\n },\n {\n \"vehicle_id\": \"J3\",\n \"step_index\": 2,\n \"service_bay_id\": 3,\n \"service_duration\": 3\n },\n {\n \"vehicle_id\": \"J4\",\n \"step_index\": 0,\n \"service_bay_id\": 3,\n \"service_duration\": 71\n },\n {\n \"vehicle_id\": \"J4\",\n \"step_index\": 1,\n \"service_bay_id\": 2,\n \"service_duration\": 7\n },\n {\n \"vehicle_id\": \"J4\",\n \"step_index\": 2,\n \"service_bay_id\": 1,\n \"service_duration\": 8\n },\n {\n \"vehicle_id\": \"J5\",\n \"step_index\": 0,\n \"service_bay_id\": 1,\n \"service_duration\": 31\n },\n {\n \"vehicle_id\": \"J5\",\n \"step_index\": 1,\n \"service_bay_id\": 2,\n \"service_duration\": 80\n },\n {\n \"vehicle_id\": \"J5\",\n \"step_index\": 2,\n \"service_bay_id\": 3,\n \"service_duration\": 33\n }\n ]\n}\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\": <car_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <bay_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
2,
65
],
[
0,
21
]
],
[
[
2,
15
],
[
1,
16
],
[
0,
73
]
],
[
[
1,
81
],
[
0,
98
],
[
2,
3
]
],
[
[
2,
71
],
[
1,
7
],
[
0,
8
]
],
[
[
0,
31
],
[
1,
80
],
[
2,
33
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 15,
"machine": 2,
"duration": 65
},
{
"task": 2,
"start": 104,
"machine": 0,
"duration": 21
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 15
},
{
"task": 1,
"start": 15,
"machine": 1,
"duration": 16
},
{
"task": 2,
"start": 31,
"machine": 0,
"duration": 73
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 31,
"machine": 1,
"duration": 81
},
{
"task": 1,
"start": 125,
"machine": 0,
"duration": 98
},
{
"task": 2,
"start": 225,
"machine": 2,
"duration": 3
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 80,
"machine": 2,
"duration": 71
},
{
"task": 1,
"start": 192,
"machine": 1,
"duration": 7
},
{
"task": 2,
"start": 223,
"machine": 0,
"duration": 8
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 31
},
{
"task": 1,
"start": 112,
"machine": 1,
"duration": 80
},
{
"task": 2,
"start": 192,
"machine": 2,
"duration": 33
}
]
}
],
"obj": 231.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
1,
2,
3
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 3,
"duration": 65
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 1,
"duration": 21
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 3,
"duration": 15
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 16
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 1,
"duration": 73
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 2,
"duration": 81
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 98
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 3,
"duration": 3
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 3,
"duration": 71
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 2,
"duration": 7
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 1,
"duration": 8
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 1,
"duration": 31
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 2,
"duration": 80
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": 3,
"duration": 33
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 15,
"machine": 3,
"duration": 65
},
{
"task": 2,
"start": 104,
"machine": 1,
"duration": 21
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 3,
"duration": 15
},
{
"task": 1,
"start": 15,
"machine": 2,
"duration": 16
},
{
"task": 2,
"start": 31,
"machine": 1,
"duration": 73
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 31,
"machine": 2,
"duration": 81
},
{
"task": 1,
"start": 125,
"machine": 1,
"duration": 98
},
{
"task": 2,
"start": 225,
"machine": 3,
"duration": 3
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 80,
"machine": 3,
"duration": 71
},
{
"task": 1,
"start": 192,
"machine": 2,
"duration": 7
},
{
"task": 2,
"start": 223,
"machine": 1,
"duration": 8
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 31
},
{
"task": 1,
"start": 112,
"machine": 2,
"duration": 80
},
{
"task": 2,
"start": 192,
"machine": 3,
"duration": 33
}
]
}
],
"context_index": 40,
"input_format": "json",
"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=5\n# total_machines=2\n# outfit_ids=J1, J2, J3, J4, J5\n# machine_ids=A, B\noutfit_id,operation_index,required_machine_id,processing_time\nJ1,0,B,1\nJ1,1,A,78\nJ2,0,B,96\nJ2,1,A,61\nJ3,0,B,69\nJ3,1,A,95\nJ4,0,B,85\nJ4,1,A,67\nJ5,0,B,70\nJ5,1,A,64\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 5,
"jobs": [
[
[
1,
1
],
[
0,
78
]
],
[
[
1,
96
],
[
0,
61
]
],
[
[
1,
69
],
[
0,
95
]
],
[
[
1,
85
],
[
0,
67
]
],
[
[
1,
70
],
[
0,
64
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 0,
"duration": 78
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 225,
"machine": 1,
"duration": 96
},
{
"task": 1,
"start": 321,
"machine": 0,
"duration": 61
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 156,
"machine": 1,
"duration": 69
},
{
"task": 1,
"start": 225,
"machine": 0,
"duration": 95
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 85
},
{
"task": 1,
"start": 86,
"machine": 0,
"duration": 67
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 86,
"machine": 1,
"duration": 70
},
{
"task": 1,
"start": 156,
"machine": 0,
"duration": 64
}
]
}
],
"obj": 382.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 78
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 96
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 61
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "B",
"duration": 69
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 95
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": "B",
"duration": 85
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": "A",
"duration": 67
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": "B",
"duration": 70
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": "A",
"duration": 64
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": "A",
"duration": 78
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 225,
"machine": "B",
"duration": 96
},
{
"task": 1,
"start": 321,
"machine": "A",
"duration": 61
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 156,
"machine": "B",
"duration": 69
},
{
"task": 1,
"start": 225,
"machine": "A",
"duration": 95
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "B",
"duration": 85
},
{
"task": 1,
"start": 86,
"machine": "A",
"duration": 67
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 86,
"machine": "B",
"duration": 70
},
{
"task": 1,
"start": 156,
"machine": "A",
"duration": 64
}
]
}
],
"context_index": 41,
"input_format": "csv",
"input_index_base": "names"
},
{
"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 4 events to place across 2 resources: event identifiers J1, J2, J3, J4 and resource identifiers 1, 2.\nEvent J1 activity 0 must occupy resource 2 for 1.\nEvent J1 activity 1 must occupy resource 1 for 91.\nEvent J2 activity 0 must occupy resource 2 for 71.\nEvent J2 activity 1 must occupy resource 1 for 7.\nEvent J3 activity 0 must occupy resource 1 for 22.\nEvent J3 activity 1 must occupy resource 2 for 18.\nEvent J4 activity 0 must occupy resource 1 for 90.\nEvent J4 activity 1 must occupy resource 2 for 35.\nThe schedule is judged by the completion time of the final activity across all 4 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
91
]
],
[
[
1,
71
],
[
0,
7
]
],
[
[
0,
22
],
[
1,
18
]
],
[
[
0,
90
],
[
1,
35
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 112,
"machine": 0,
"duration": 91
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 71
},
{
"task": 1,
"start": 203,
"machine": 0,
"duration": 7
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 90,
"machine": 0,
"duration": 22
},
{
"task": 1,
"start": 125,
"machine": 1,
"duration": 18
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 90
},
{
"task": 1,
"start": 90,
"machine": 1,
"duration": 35
}
]
}
],
"obj": 210.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 91
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 2,
"duration": 71
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 7
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 22
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 2,
"duration": 18
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 1,
"duration": 90
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 2,
"duration": 35
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 112,
"machine": 1,
"duration": 91
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 71
},
{
"task": 1,
"start": 203,
"machine": 1,
"duration": 7
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 90,
"machine": 1,
"duration": 22
},
{
"task": 1,
"start": 125,
"machine": 2,
"duration": 18
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 90
},
{
"task": 1,
"start": 90,
"machine": 2,
"duration": 35
}
]
}
],
"context_index": 42,
"input_format": "nl",
"input_index_base": 1
},
{
"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\nThey are presented as 3 rolls and 3 stations: roll ids J1, J2, J3; station ids A, B, C.\n\n| roll_id | step_index | station_id | processing_time |\n|---|---|---|---|\n| J1 | 0 | B | 1 |\n| J1 | 1 | C | 5 |\n| J1 | 2 | A | 47 |\n| J2 | 0 | C | 53 |\n| J2 | 1 | A | 75 |\n| J2 | 2 | B | 39 |\n| J3 | 0 | A | 95 |\n| J3 | 1 | C | 3 |\n| J3 | 2 | B | 7 |\n\nKeep each roll's steps in order and avoid overlapping any station; the plan is judged by the time the last roll finishes.\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\": <roll_id>,\n \"tasks\": [\n {\n \"task\": <step_index>,\n \"start\": <start_time>,\n \"machine\": <station_id>,\n \"duration\": <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": 3,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
2,
5
],
[
0,
47
]
],
[
[
2,
53
],
[
0,
75
],
[
1,
39
]
],
[
[
0,
95
],
[
2,
3
],
[
1,
7
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 53,
"machine": 2,
"duration": 5
},
{
"task": 2,
"start": 170,
"machine": 0,
"duration": 47
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 53
},
{
"task": 1,
"start": 95,
"machine": 0,
"duration": 75
},
{
"task": 2,
"start": 170,
"machine": 1,
"duration": 39
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 95
},
{
"task": 1,
"start": 95,
"machine": 2,
"duration": 3
},
{
"task": 2,
"start": 98,
"machine": 1,
"duration": 7
}
]
}
],
"obj": 217.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B",
"C"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "C",
"duration": 5
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": "A",
"duration": 47
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "C",
"duration": 53
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 75
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": "B",
"duration": 39
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "A",
"duration": 95
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "C",
"duration": 3
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": "B",
"duration": 7
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 53,
"machine": "C",
"duration": 5
},
{
"task": 2,
"start": 170,
"machine": "A",
"duration": 47
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "C",
"duration": 53
},
{
"task": 1,
"start": 95,
"machine": "A",
"duration": 75
},
{
"task": 2,
"start": 170,
"machine": "B",
"duration": 39
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "A",
"duration": 95
},
{
"task": 1,
"start": 95,
"machine": "C",
"duration": 3
},
{
"task": 2,
"start": 98,
"machine": "B",
"duration": 7
}
]
}
],
"context_index": 43,
"input_format": "markdown_table",
"input_index_base": "names"
},
{
"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\n# total_projects=5\n# total_workshop_machines=3\n# project_ids=J1, J2, J3, J4, J5\n# machine_ids=0, 1, 2\nproject_id,step_index,assigned_machine_id,step_duration\nJ1,0,2,1\nJ1,1,1,18\nJ1,2,0,23\nJ2,0,1,98\nJ2,1,2,29\nJ2,2,0,61\nJ3,0,1,99\nJ3,1,0,70\nJ3,2,2,74\nJ4,0,2,45\nJ4,1,0,60\nJ4,2,1,15\nJ5,0,1,63\nJ5,1,0,93\nJ5,2,2,54\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 5,
"jobs": [
[
[
2,
1
],
[
1,
18
],
[
0,
23
]
],
[
[
1,
98
],
[
2,
29
],
[
0,
61
]
],
[
[
1,
99
],
[
0,
70
],
[
2,
74
]
],
[
[
2,
45
],
[
0,
60
],
[
1,
15
]
],
[
[
1,
63
],
[
0,
93
],
[
2,
54
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 45,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 260,
"machine": 1,
"duration": 18
},
{
"task": 2,
"start": 278,
"machine": 0,
"duration": 23
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 162,
"machine": 1,
"duration": 98
},
{
"task": 1,
"start": 260,
"machine": 2,
"duration": 29
},
{
"task": 2,
"start": 301,
"machine": 0,
"duration": 61
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 99
},
{
"task": 1,
"start": 105,
"machine": 0,
"duration": 70
},
{
"task": 2,
"start": 175,
"machine": 2,
"duration": 74
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 45
},
{
"task": 1,
"start": 45,
"machine": 0,
"duration": 60
},
{
"task": 2,
"start": 278,
"machine": 1,
"duration": 15
}
]
},
{
"job": 4,
"tasks": [
{
"task": 0,
"start": 99,
"machine": 1,
"duration": 63
},
{
"task": 1,
"start": 175,
"machine": 0,
"duration": 93
},
{
"task": 2,
"start": 289,
"machine": 2,
"duration": 54
}
]
}
],
"obj": 362.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 5,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3",
"J4",
"J5"
],
"machines": [
0,
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 18
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 0,
"duration": 23
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 98
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 2,
"duration": 29
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 0,
"duration": 61
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 99
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 0,
"duration": 70
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 2,
"duration": 74
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 2,
"duration": 45
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 0,
"duration": 60
},
{
"job_id": "J4",
"task_id": 2,
"machine_id": 1,
"duration": 15
},
{
"job_id": "J5",
"task_id": 0,
"machine_id": 1,
"duration": 63
},
{
"job_id": "J5",
"task_id": 1,
"machine_id": 0,
"duration": 93
},
{
"job_id": "J5",
"task_id": 2,
"machine_id": 2,
"duration": 54
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 45,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 260,
"machine": 1,
"duration": 18
},
{
"task": 2,
"start": 278,
"machine": 0,
"duration": 23
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 162,
"machine": 1,
"duration": 98
},
{
"task": 1,
"start": 260,
"machine": 2,
"duration": 29
},
{
"task": 2,
"start": 301,
"machine": 0,
"duration": 61
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 99
},
{
"task": 1,
"start": 105,
"machine": 0,
"duration": 70
},
{
"task": 2,
"start": 175,
"machine": 2,
"duration": 74
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 45
},
{
"task": 1,
"start": 45,
"machine": 0,
"duration": 60
},
{
"task": 2,
"start": 278,
"machine": 1,
"duration": 15
}
]
},
{
"job": "J5",
"tasks": [
{
"task": 0,
"start": 99,
"machine": 1,
"duration": 63
},
{
"task": 1,
"start": 175,
"machine": 0,
"duration": 93
},
{
"task": 2,
"start": 289,
"machine": 2,
"duration": 54
}
]
}
],
"context_index": 44,
"input_format": "csv",
"input_index_base": 0
},
{
"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 4 plots to complete using 2 crews and tools; plot ids: J1, J2, J3, J4; crew/tool ids: 0, 1.\n\n| plot_id | step_index | crew_or_tool_id | task_duration |\n|---|---|---|---|\n| J1 | 0 | 1 | 1 |\n| J1 | 1 | 0 | 31 |\n| J2 | 0 | 0 | 98 |\n| J2 | 1 | 1 | 44 |\n| J3 | 0 | 1 | 81 |\n| J3 | 1 | 0 | 83 |\n| J4 | 0 | 0 | 5 |\n| J4 | 1 | 1 | 38 |\n\nCover all 4 plots on the 2 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 4,
"jobs": [
[
[
1,
1
],
[
0,
31
]
],
[
[
0,
98
],
[
1,
44
]
],
[
[
1,
81
],
[
0,
83
]
],
[
[
0,
5
],
[
1,
38
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 81,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 186,
"machine": 0,
"duration": 31
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 98
},
{
"task": 1,
"start": 98,
"machine": 1,
"duration": 44
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 81
},
{
"task": 1,
"start": 103,
"machine": 0,
"duration": 83
}
]
},
{
"job": 3,
"tasks": [
{
"task": 0,
"start": 98,
"machine": 0,
"duration": 5
},
{
"task": 1,
"start": 142,
"machine": 1,
"duration": 38
}
]
}
],
"obj": 217.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 4,
"nr_machines": 2,
"jobs": [
"J1",
"J2",
"J3",
"J4"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 31
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 0,
"duration": 98
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 44
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 1,
"duration": 81
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 0,
"duration": 83
},
{
"job_id": "J4",
"task_id": 0,
"machine_id": 0,
"duration": 5
},
{
"job_id": "J4",
"task_id": 1,
"machine_id": 1,
"duration": 38
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 81,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 186,
"machine": 0,
"duration": 31
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 98
},
{
"task": 1,
"start": 98,
"machine": 1,
"duration": 44
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 81
},
{
"task": 1,
"start": 103,
"machine": 0,
"duration": 83
}
]
},
{
"job": "J4",
"tasks": [
{
"task": 0,
"start": 98,
"machine": 0,
"duration": 5
},
{
"task": 1,
"start": 142,
"machine": 1,
"duration": 38
}
]
}
],
"context_index": 45,
"input_format": "markdown_table",
"input_index_base": 0
},
{
"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 3 batches and 3 equipment units; their identifiers are J1, J2, J3 and 0, 1, 2.\nBatch J1, operation 0 runs on equipment 2 for 1 time units.\nBatch J1, operation 1 runs on equipment 1 for 44 time units.\nBatch J1, operation 2 runs on equipment 0 for 74 time units.\nBatch J2, operation 0 runs on equipment 1 for 90 time units.\nBatch J2, operation 1 runs on equipment 0 for 35 time units.\nBatch J2, operation 2 runs on equipment 2 for 5 time units.\nBatch J3, operation 0 runs on equipment 2 for 10 time units.\nBatch J3, operation 1 runs on equipment 1 for 7 time units.\nBatch J3, operation 2 runs on equipment 0 for 10 time units.\nAim to finish the last of the 3 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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 3,
"jobs": [
[
[
2,
1
],
[
1,
44
],
[
0,
74
]
],
[
[
1,
90
],
[
0,
35
],
[
2,
5
]
],
[
[
2,
10
],
[
1,
7
],
[
0,
10
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 44
},
{
"task": 2,
"start": 45,
"machine": 0,
"duration": 74
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 45,
"machine": 1,
"duration": 90
},
{
"task": 1,
"start": 135,
"machine": 0,
"duration": 35
},
{
"task": 2,
"start": 170,
"machine": 2,
"duration": 5
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 10
},
{
"task": 1,
"start": 135,
"machine": 1,
"duration": 7
},
{
"task": 2,
"start": 170,
"machine": 0,
"duration": 10
}
]
}
],
"obj": 180.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
0,
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 2,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 1,
"duration": 44
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 0,
"duration": 74
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 90
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 0,
"duration": 35
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 2,
"duration": 5
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": 2,
"duration": 10
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": 1,
"duration": 7
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": 0,
"duration": 10
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 1,
"duration": 44
},
{
"task": 2,
"start": 45,
"machine": 0,
"duration": 74
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 45,
"machine": 1,
"duration": 90
},
{
"task": 1,
"start": 135,
"machine": 0,
"duration": 35
},
{
"task": 2,
"start": 170,
"machine": 2,
"duration": 5
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 2,
"duration": 10
},
{
"task": 1,
"start": 135,
"machine": 1,
"duration": 7
},
{
"task": 2,
"start": 170,
"machine": 0,
"duration": 10
}
]
}
],
"context_index": 46,
"input_format": "nl",
"input_index_base": 0
},
{
"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\n{\n \"nr_pieces\": 2,\n \"nr_stations\": 2,\n \"pieces\": [\n \"J1\",\n \"J2\"\n ],\n \"stations\": [\n 0,\n 1\n ],\n \"tasks\": [\n {\n \"piece_id\": \"J1\",\n \"operation_index\": 0,\n \"station_id\": 1,\n \"processing_time\": 1\n },\n {\n \"piece_id\": \"J1\",\n \"operation_index\": 1,\n \"station_id\": 0,\n \"processing_time\": 57\n },\n {\n \"piece_id\": \"J2\",\n \"operation_index\": 0,\n \"station_id\": 0,\n \"processing_time\": 49\n },\n {\n \"piece_id\": \"J2\",\n \"operation_index\": 1,\n \"station_id\": 1,\n \"processing_time\": 36\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
57
]
],
[
[
0,
49
],
[
1,
36
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 49,
"machine": 0,
"duration": 57
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 49
},
{
"task": 1,
"start": 49,
"machine": 1,
"duration": 36
}
]
}
],
"obj": 106.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
0,
1
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 0,
"duration": 57
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 0,
"duration": 49
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 1,
"duration": 36
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 49,
"machine": 0,
"duration": 57
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 0,
"duration": 49
},
{
"task": 1,
"start": 49,
"machine": 1,
"duration": 36
}
]
}
],
"context_index": 47,
"input_format": "json",
"input_index_base": 0
},
{
"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\nThey must schedule 2 portrait sessions across 2 assets — sessions J1, J2 on assets A, B.\n\n| session_id | step_index | asset_id | step_duration |\n|---|---|---|---|\n| J1 | 0 | B | 1 |\n| J1 | 1 | A | 70 |\n| J2 | 0 | B | 25 |\n| J2 | 1 | A | 82 |\n\nThe manager judges the day by the latest session finish time; minimizing that value yields the best schedule.\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 2,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
0,
70
]
],
[
[
1,
25
],
[
0,
82
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 0,
"duration": 70
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 25
},
{
"task": 1,
"start": 71,
"machine": 0,
"duration": 82
}
]
}
],
"obj": 153.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 2,
"jobs": [
"J1",
"J2"
],
"machines": [
"A",
"B"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "A",
"duration": 70
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "B",
"duration": 25
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "A",
"duration": 82
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": "A",
"duration": 70
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": "B",
"duration": 25
},
{
"task": 1,
"start": 71,
"machine": "A",
"duration": 82
}
]
}
],
"context_index": 48,
"input_format": "markdown_table",
"input_index_base": "names"
},
{
"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\n{\n \"nr_devices\": 3,\n \"nr_benches\": 3,\n \"device_ids\": [\n \"J1\",\n \"J2\",\n \"J3\"\n ],\n \"bench_ids\": [\n \"A\",\n \"B\",\n \"C\"\n ],\n \"tasks\": [\n {\n \"device_id\": \"J1\",\n \"step_index\": 0,\n \"bench_id\": \"B\",\n \"step_duration\": 1\n },\n {\n \"device_id\": \"J1\",\n \"step_index\": 1,\n \"bench_id\": \"C\",\n \"step_duration\": 84\n },\n {\n \"device_id\": \"J1\",\n \"step_index\": 2,\n \"bench_id\": \"A\",\n \"step_duration\": 1\n },\n {\n \"device_id\": \"J2\",\n \"step_index\": 0,\n \"bench_id\": \"C\",\n \"step_duration\": 28\n },\n {\n \"device_id\": \"J2\",\n \"step_index\": 1,\n \"bench_id\": \"B\",\n \"step_duration\": 94\n },\n {\n \"device_id\": \"J2\",\n \"step_index\": 2,\n \"bench_id\": \"A\",\n \"step_duration\": 70\n },\n {\n \"device_id\": \"J3\",\n \"step_index\": 0,\n \"bench_id\": \"C\",\n \"step_duration\": 24\n },\n {\n \"device_id\": \"J3\",\n \"step_index\": 1,\n \"bench_id\": \"A\",\n \"step_duration\": 10\n },\n {\n \"device_id\": \"J3\",\n \"step_index\": 2,\n \"bench_id\": \"B\",\n \"step_duration\": 14\n }\n ]\n}\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 3,
"jobs": [
[
[
1,
1
],
[
2,
84
],
[
0,
1
]
],
[
[
2,
28
],
[
1,
94
],
[
0,
70
]
],
[
[
2,
24
],
[
0,
10
],
[
1,
14
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 52,
"machine": 2,
"duration": 84
},
{
"task": 2,
"start": 192,
"machine": 0,
"duration": 1
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 2,
"duration": 28
},
{
"task": 1,
"start": 28,
"machine": 1,
"duration": 94
},
{
"task": 2,
"start": 122,
"machine": 0,
"duration": 70
}
]
},
{
"job": 2,
"tasks": [
{
"task": 0,
"start": 28,
"machine": 2,
"duration": 24
},
{
"task": 1,
"start": 52,
"machine": 0,
"duration": 10
},
{
"task": 2,
"start": 122,
"machine": 1,
"duration": 14
}
]
}
],
"obj": 193.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 3,
"nr_machines": 3,
"jobs": [
"J1",
"J2",
"J3"
],
"machines": [
"A",
"B",
"C"
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": "B",
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": "C",
"duration": 84
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": "A",
"duration": 1
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": "C",
"duration": 28
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": "B",
"duration": 94
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": "A",
"duration": 70
},
{
"job_id": "J3",
"task_id": 0,
"machine_id": "C",
"duration": 24
},
{
"job_id": "J3",
"task_id": 1,
"machine_id": "A",
"duration": 10
},
{
"job_id": "J3",
"task_id": 2,
"machine_id": "B",
"duration": 14
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "B",
"duration": 1
},
{
"task": 1,
"start": 52,
"machine": "C",
"duration": 84
},
{
"task": 2,
"start": 192,
"machine": "A",
"duration": 1
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 0,
"machine": "C",
"duration": 28
},
{
"task": 1,
"start": 28,
"machine": "B",
"duration": 94
},
{
"task": 2,
"start": 122,
"machine": "A",
"duration": 70
}
]
},
{
"job": "J3",
"tasks": [
{
"task": 0,
"start": 28,
"machine": "C",
"duration": 24
},
{
"task": 1,
"start": 52,
"machine": "A",
"duration": 10
},
{
"task": 2,
"start": 122,
"machine": "B",
"duration": 14
}
]
}
],
"context_index": 49,
"input_format": "json",
"input_index_base": "names"
},
{
"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=2\n# nr_servers=3\n# build_ids=J1, J2\n# server_ids=0, 1, 2\nbuild_id,step_index,server_id,step_duration\nJ1,0,1,1\nJ1,1,2,97\nJ1,2,0,76\nJ2,0,1,73\nJ2,1,0,48\nJ2,2,2,92\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\": <job_id>,\n \"tasks\": [\n {\n \"task\": <task_index>,\n \"start\": <start_time>,\n \"machine\": <machine_id>,\n \"duration\": <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": 3,
"nr_jobs": 2,
"jobs": [
[
[
1,
1
],
[
2,
97
],
[
0,
76
]
],
[
[
1,
73
],
[
0,
48
],
[
2,
92
]
]
]
},
"solution": [
{
"job": 0,
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 97
},
{
"task": 2,
"start": 122,
"machine": 0,
"duration": 76
}
]
},
{
"job": 1,
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 73
},
{
"task": 1,
"start": 74,
"machine": 0,
"duration": 48
},
{
"task": 2,
"start": 122,
"machine": 2,
"duration": 92
}
]
}
],
"obj": 214.0,
"instance_variant": {
"problem_type": "JSP",
"nr_jobs": 2,
"nr_machines": 3,
"jobs": [
"J1",
"J2"
],
"machines": [
0,
1,
2
],
"records": [
{
"job_id": "J1",
"task_id": 0,
"machine_id": 1,
"duration": 1
},
{
"job_id": "J1",
"task_id": 1,
"machine_id": 2,
"duration": 97
},
{
"job_id": "J1",
"task_id": 2,
"machine_id": 0,
"duration": 76
},
{
"job_id": "J2",
"task_id": 0,
"machine_id": 1,
"duration": 73
},
{
"job_id": "J2",
"task_id": 1,
"machine_id": 0,
"duration": 48
},
{
"job_id": "J2",
"task_id": 2,
"machine_id": 2,
"duration": 92
}
]
},
"solution_variant": [
{
"job": "J1",
"tasks": [
{
"task": 0,
"start": 0,
"machine": 1,
"duration": 1
},
{
"task": 1,
"start": 1,
"machine": 2,
"duration": 97
},
{
"task": 2,
"start": 122,
"machine": 0,
"duration": 76
}
]
},
{
"job": "J2",
"tasks": [
{
"task": 0,
"start": 1,
"machine": 1,
"duration": 73
},
{
"task": 1,
"start": 74,
"machine": 0,
"duration": 48
},
{
"task": 2,
"start": 122,
"machine": 2,
"duration": 92
}
]
}
],
"context_index": 50,
"input_format": "csv",
"input_index_base": 0
}
]