| task_name,problem_type,instruction,instance,solution,obj,instance_variant,solution_variant,context_index,input_format,input_index_base | |
| GAP,GAP,"We ran into a routing puzzle: several parcels must be put onto the available couriers, and for every courier there’s a known cargo allowance, plus for every parcel–courier pair we know how much space the parcel would take in that van and what the courier would charge. Every parcel has to be assigned to one and only one courier — no duplicates, no omissions — and the combined space of parcels assigned to any courier can’t exceed that courier’s allowance. The aim is to keep the total of all courier charges as low as possible (just add up each courier’s fees for the parcels they handle). The specific sizes, capacities and prices are listed below. | |
| # num_couriers=4 | |
| # num_parcels=10 | |
| # courier_ids=A1, A2, A3, A4 | |
| # parcel_ids=1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | |
| courier_id,cargo_allowance | |
| A1,477 | |
| A2,476 | |
| A3,479 | |
| A4,484 | |
| courier_id,parcel_id,parcel_space | |
| A1,1,28 | |
| A1,2,45 | |
| A1,3,38 | |
| A1,4,35 | |
| A1,5,23 | |
| A1,6,15 | |
| A1,7,23 | |
| A1,8,16 | |
| A1,9,44 | |
| A1,10,40 | |
| A2,1,13 | |
| A2,2,23 | |
| A2,3,42 | |
| A2,4,12 | |
| A2,5,23 | |
| A2,6,37 | |
| A2,7,17 | |
| A2,8,27 | |
| A2,9,31 | |
| A2,10,25 | |
| A3,1,38 | |
| A3,2,16 | |
| A3,3,46 | |
| A3,4,36 | |
| A3,5,20 | |
| A3,6,41 | |
| A3,7,10 | |
| A3,8,18 | |
| A3,9,18 | |
| A3,10,15 | |
| A4,1,44 | |
| A4,2,18 | |
| A4,3,23 | |
| A4,4,25 | |
| A4,5,38 | |
| A4,6,50 | |
| A4,7,37 | |
| A4,8,28 | |
| A4,9,23 | |
| A4,10,29 | |
| courier_id,parcel_id,delivery_fee | |
| A1,1,6 | |
| A1,2,6 | |
| A1,3,6 | |
| A1,4,24 | |
| A1,5,12 | |
| A1,6,16 | |
| A1,7,20 | |
| A1,8,7 | |
| A1,9,5 | |
| A1,10,12 | |
| A2,1,19 | |
| A2,2,6 | |
| A2,3,12 | |
| A2,4,11 | |
| A2,5,24 | |
| A2,6,21 | |
| A2,7,14 | |
| A2,8,19 | |
| A2,9,6 | |
| A2,10,13 | |
| A3,1,23 | |
| A3,2,14 | |
| A3,3,18 | |
| A3,4,12 | |
| A3,5,15 | |
| A3,6,25 | |
| A3,7,10 | |
| A3,8,5 | |
| A3,9,7 | |
| A3,10,22 | |
| A4,1,24 | |
| A4,2,25 | |
| A4,3,18 | |
| A4,4,11 | |
| A4,5,8 | |
| A4,6,21 | |
| A4,7,8 | |
| A4,8,18 | |
| A4,9,13 | |
| A4,10,5 | |
| When you're ready to give the actual allocation, just send it back in a small JSON snippet like this so it's easy to read and plug into whatever checks we're using. | |
| { | |
| ""solution"": [ | |
| <courier_id_for_first_parcel>, | |
| <courier_id_for_second_parcel>, | |
| ..., | |
| <courier_id_for_last_parcel> | |
| ] | |
| } | |
| Think of the ""solution"" array as a simple form: one entry per parcel (in the same order the parcels were listed), and each entry is the identifier of the courier who's taking that parcel. This JSON is only a sketch of the expected shape — not the actual assignment. | |
| Please use the exact identifiers from the instance input — do not rename 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”.","{'resource_consumption': [[28, 45, 38, 35, 23, 15, 23, 16, 44, 40], [13, 23, 42, 12, 23, 37, 17, 27, 31, 25], [38, 16, 46, 36, 20, 41, 10, 18, 18, 15], [44, 18, 23, 25, 38, 50, 37, 28, 23, 29]], 'assignment_costs': [[6, 6, 6, 24, 12, 16, 20, 7, 5, 12], [19, 6, 12, 11, 24, 21, 14, 19, 6, 13], [23, 14, 18, 12, 15, 25, 10, 5, 7, 22], [24, 25, 18, 11, 8, 21, 8, 18, 13, 5]], 'capacities': [477, 476, 479, 484], 'objective': 76.0}","[0, 0, 0, 1, 3, 0, 3, 2, 0, 3]",76.0,"{'problem_type': 'GAP', 'num_agents': 4, 'num_tasks': 10, 'agents': ['A1', 'A2', 'A3', 'A4'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 477}, {'agent_id': 'A2', 'capacity': 476}, {'agent_id': 'A3', 'capacity': 479}, {'agent_id': 'A4', 'capacity': 484}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 28}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 38}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 23}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 15}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 23}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 16}, {'agent_id': 'A1', 'task_id': 9, 'consumption': 44}, {'agent_id': 'A1', 'task_id': 10, 'consumption': 40}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 12}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 37}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 17}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 9, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 10, 'consumption': 25}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 38}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 16}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 46}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 36}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 20}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 41}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 10}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 18}, {'agent_id': 'A3', 'task_id': 9, 'consumption': 18}, {'agent_id': 'A3', 'task_id': 10, 'consumption': 15}, {'agent_id': 'A4', 'task_id': 1, 'consumption': 44}, {'agent_id': 'A4', 'task_id': 2, 'consumption': 18}, {'agent_id': 'A4', 'task_id': 3, 'consumption': 23}, {'agent_id': 'A4', 'task_id': 4, 'consumption': 25}, {'agent_id': 'A4', 'task_id': 5, 'consumption': 38}, {'agent_id': 'A4', 'task_id': 6, 'consumption': 50}, {'agent_id': 'A4', 'task_id': 7, 'consumption': 37}, {'agent_id': 'A4', 'task_id': 8, 'consumption': 28}, {'agent_id': 'A4', 'task_id': 9, 'consumption': 23}, {'agent_id': 'A4', 'task_id': 10, 'consumption': 29}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 6}, {'agent_id': 'A1', 'task_id': 2, 'cost': 6}, {'agent_id': 'A1', 'task_id': 3, 'cost': 6}, {'agent_id': 'A1', 'task_id': 4, 'cost': 24}, {'agent_id': 'A1', 'task_id': 5, 'cost': 12}, {'agent_id': 'A1', 'task_id': 6, 'cost': 16}, {'agent_id': 'A1', 'task_id': 7, 'cost': 20}, {'agent_id': 'A1', 'task_id': 8, 'cost': 7}, {'agent_id': 'A1', 'task_id': 9, 'cost': 5}, {'agent_id': 'A1', 'task_id': 10, 'cost': 12}, {'agent_id': 'A2', 'task_id': 1, 'cost': 19}, {'agent_id': 'A2', 'task_id': 2, 'cost': 6}, {'agent_id': 'A2', 'task_id': 3, 'cost': 12}, {'agent_id': 'A2', 'task_id': 4, 'cost': 11}, {'agent_id': 'A2', 'task_id': 5, 'cost': 24}, {'agent_id': 'A2', 'task_id': 6, 'cost': 21}, {'agent_id': 'A2', 'task_id': 7, 'cost': 14}, {'agent_id': 'A2', 'task_id': 8, 'cost': 19}, {'agent_id': 'A2', 'task_id': 9, 'cost': 6}, {'agent_id': 'A2', 'task_id': 10, 'cost': 13}, {'agent_id': 'A3', 'task_id': 1, 'cost': 23}, {'agent_id': 'A3', 'task_id': 2, 'cost': 14}, {'agent_id': 'A3', 'task_id': 3, 'cost': 18}, {'agent_id': 'A3', 'task_id': 4, 'cost': 12}, {'agent_id': 'A3', 'task_id': 5, 'cost': 15}, {'agent_id': 'A3', 'task_id': 6, 'cost': 25}, {'agent_id': 'A3', 'task_id': 7, 'cost': 10}, {'agent_id': 'A3', 'task_id': 8, 'cost': 5}, {'agent_id': 'A3', 'task_id': 9, 'cost': 7}, {'agent_id': 'A3', 'task_id': 10, 'cost': 22}, {'agent_id': 'A4', 'task_id': 1, 'cost': 24}, {'agent_id': 'A4', 'task_id': 2, 'cost': 25}, {'agent_id': 'A4', 'task_id': 3, 'cost': 18}, {'agent_id': 'A4', 'task_id': 4, 'cost': 11}, {'agent_id': 'A4', 'task_id': 5, 'cost': 8}, {'agent_id': 'A4', 'task_id': 6, 'cost': 21}, {'agent_id': 'A4', 'task_id': 7, 'cost': 8}, {'agent_id': 'A4', 'task_id': 8, 'cost': 18}, {'agent_id': 'A4', 'task_id': 9, 'cost': 13}, {'agent_id': 'A4', 'task_id': 10, 'cost': 5}]}","['A1', 'A1', 'A1', 'A2', 'A4', 'A1', 'A4', 'A3', 'A1', 'A4']",1,csv,1 | |
| GAP,GAP,"I’m juggling a pile of compute jobs and a rack of servers, and the task is to pick one server for every job so nothing is left out or duplicated. For each job-server pair I already know how much of that server’s CPU the job would eat and what the operating cost would be if it ran there. The better choices are the ones that keep each server’s total CPU use within its limit and make the total bill as small as possible — the bill is just the sum of the operating costs for every job where it’s placed. The concrete details (CPU fractions, costs, and server budgets) are listed below. | |
| Here they are: the 2 servers (A1, A2) and the 5 jobs (0, 1, 2, 3, 4). | |
| For server A1 I record a CPU capacity of 480. | |
| For server A2 I record a CPU capacity of 484. | |
| If I place job 0 on server A1 it will consume 26 CPU and incur cost 25. | |
| If I place job 1 on server A1 it will consume 13 CPU and incur cost 8. | |
| If I place job 2 on server A1 it will consume 23 CPU and incur cost 18. | |
| If I place job 3 on server A1 it will consume 44 CPU and incur cost 19. | |
| If I place job 4 on server A1 it will consume 47 CPU and incur cost 18. | |
| If I place job 0 on server A2 it will consume 13 CPU and incur cost 15. | |
| If I place job 1 on server A2 it will consume 12 CPU and incur cost 22. | |
| If I place job 2 on server A2 it will consume 16 CPU and incur cost 13. | |
| If I place job 3 on server A2 it will consume 31 CPU and incur cost 25. | |
| If I place job 4 on server A2 it will consume 29 CPU and incur cost 21. | |
| I'll use these 2 servers and 5 jobs to pick the cheapest feasible assignment while respecting CPU limits. | |
| Oh — and to keep things machine-friendly, please put the final assignment in a tiny JSON sketch like this: | |
| { | |
| ""solution"": [ | |
| <server_id_for_first_job>, | |
| <server_id_for_second_job>, | |
| ..., | |
| <server_id_for_last_job> | |
| ] | |
| } | |
| This just says, in order, which server each job gets: the first entry is the server for the first job, the second entry for the second job, and so on. The placeholders above are just the shape I want — you'll replace each placeholder with the actual server identifier from the instance (not a description or extra text). | |
| The JSON is only a sketch of the expected shape, not the actual answer. Please use the exact identifiers provided in the instance input — do not rename them or add 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”.""","{'resource_consumption': [[26, 13, 23, 44, 47], [13, 12, 16, 31, 29]], 'assignment_costs': [[25, 8, 18, 19, 18], [15, 22, 13, 25, 21]], 'capacities': [480, 484], 'objective': 73.0}","[1, 0, 1, 0, 0]",73.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [0, 1, 2, 3, 4], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 480}, {'agent_id': 'A2', 'capacity': 484}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 26}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 13}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 23}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 44}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 47}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 12}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 16}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 29}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 25}, {'agent_id': 'A1', 'task_id': 1, 'cost': 8}, {'agent_id': 'A1', 'task_id': 2, 'cost': 18}, {'agent_id': 'A1', 'task_id': 3, 'cost': 19}, {'agent_id': 'A1', 'task_id': 4, 'cost': 18}, {'agent_id': 'A2', 'task_id': 0, 'cost': 15}, {'agent_id': 'A2', 'task_id': 1, 'cost': 22}, {'agent_id': 'A2', 'task_id': 2, 'cost': 13}, {'agent_id': 'A2', 'task_id': 3, 'cost': 25}, {'agent_id': 'A2', 'task_id': 4, 'cost': 21}]}","['A2', 'A1', 'A2', 'A1', 'A1']",2,nl,0 | |
| GAP,GAP,"We have a stack of production batches and a handful of machines; every batch needs to be assigned to one machine, and no batch can be left out or duplicated. For each possible pairing there’s an estimated run time and a price to pay for running that batch on that machine, and each machine only has so many hours to give. The plan that’s best is the one that makes the sum of all those running costs as low as possible — just total up the cost for each batch on its chosen machine — but while keeping each machine’s total assigned time within its available hours. The detailed times, costs, and capacities follow below. | |
| { | |
| ""num_machines"": 3, | |
| ""num_batches"": 9, | |
| ""machines"": [ | |
| ""A1"", | |
| ""A2"", | |
| ""A3"" | |
| ], | |
| ""batches"": [ | |
| ""A"", | |
| ""B"", | |
| ""C"", | |
| ""D"", | |
| ""E"", | |
| ""F"", | |
| ""G"", | |
| ""H"", | |
| ""I"" | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""machine_id"": ""A1"", | |
| ""available_time"": 115 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""available_time"": 120 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""available_time"": 118 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""A"", | |
| ""run_time"": 35 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""B"", | |
| ""run_time"": 30 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""C"", | |
| ""run_time"": 21 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""D"", | |
| ""run_time"": 47 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""E"", | |
| ""run_time"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""F"", | |
| ""run_time"": 24 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""G"", | |
| ""run_time"": 48 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""H"", | |
| ""run_time"": 26 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""I"", | |
| ""run_time"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""A"", | |
| ""run_time"": 41 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""B"", | |
| ""run_time"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""C"", | |
| ""run_time"": 41 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""D"", | |
| ""run_time"": 46 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""E"", | |
| ""run_time"": 29 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""F"", | |
| ""run_time"": 39 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""G"", | |
| ""run_time"": 30 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""H"", | |
| ""run_time"": 17 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""I"", | |
| ""run_time"": 34 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""A"", | |
| ""run_time"": 10 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""B"", | |
| ""run_time"": 27 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""C"", | |
| ""run_time"": 45 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""D"", | |
| ""run_time"": 42 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""E"", | |
| ""run_time"": 23 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""F"", | |
| ""run_time"": 41 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""G"", | |
| ""run_time"": 21 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""H"", | |
| ""run_time"": 48 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""I"", | |
| ""run_time"": 38 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""A"", | |
| ""running_cost"": 15 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""B"", | |
| ""running_cost"": 16 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""C"", | |
| ""running_cost"": 23 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""D"", | |
| ""running_cost"": 21 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""E"", | |
| ""running_cost"": 25 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""F"", | |
| ""running_cost"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""G"", | |
| ""running_cost"": 18 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""H"", | |
| ""running_cost"": 7 | |
| }, | |
| { | |
| ""machine_id"": ""A1"", | |
| ""batch_id"": ""I"", | |
| ""running_cost"": 7 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""A"", | |
| ""running_cost"": 6 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""B"", | |
| ""running_cost"": 21 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""C"", | |
| ""running_cost"": 7 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""D"", | |
| ""running_cost"": 21 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""E"", | |
| ""running_cost"": 21 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""F"", | |
| ""running_cost"": 22 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""G"", | |
| ""running_cost"": 13 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""H"", | |
| ""running_cost"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A2"", | |
| ""batch_id"": ""I"", | |
| ""running_cost"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""A"", | |
| ""running_cost"": 9 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""B"", | |
| ""running_cost"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""C"", | |
| ""running_cost"": 10 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""D"", | |
| ""running_cost"": 20 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""E"", | |
| ""running_cost"": 22 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""F"", | |
| ""running_cost"": 11 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""G"", | |
| ""running_cost"": 14 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""H"", | |
| ""running_cost"": 15 | |
| }, | |
| { | |
| ""machine_id"": ""A3"", | |
| ""batch_id"": ""I"", | |
| ""running_cost"": 16 | |
| } | |
| ] | |
| } | |
| If you want the answer back in a neat, machine-friendly shape, just send it in this simple JSON layout — nothing fancy, just a single list that says which machine each batch goes to: | |
| { | |
| ""solution"": [ | |
| <machine_id_for_first_batch>, | |
| <machine_id_for_second_batch>, | |
| ..., | |
| <machine_id_for_last_batch> | |
| ] | |
| } | |
| Pretty straightforward: ""solution"" is a list where each entry is the ID of the machine for that batch (first entry = first batch, second = second batch, and so on). Think of it like filling out a form: one line per batch, write the machine ID next to it. | |
| This JSON is just a sketch of the shape I expect, not the actual assignment. | |
| Please be sure to use the exact identifiers from the instance input — don’t 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”.""","{'resource_consumption': [[35, 30, 21, 47, 14, 24, 48, 26, 14], [41, 14, 41, 46, 29, 39, 30, 17, 34], [10, 27, 45, 42, 23, 41, 21, 48, 38]], 'assignment_costs': [[15, 16, 23, 21, 25, 14, 18, 7, 7], [6, 21, 7, 21, 21, 22, 13, 14, 14], [9, 14, 10, 20, 22, 11, 14, 15, 16]], 'capacities': [115, 120, 118], 'objective': 108.0}","[1, 2, 1, 0, 1, 2, 2, 0, 0]",108.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 115}, {'agent_id': 'A2', 'capacity': 120}, {'agent_id': 'A3', 'capacity': 118}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 35}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 30}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 21}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 47}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 14}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 24}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 48}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 26}, {'agent_id': 'A1', 'task_id': 'I', 'consumption': 14}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 41}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 14}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 41}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 46}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 29}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 30}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 17}, {'agent_id': 'A2', 'task_id': 'I', 'consumption': 34}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 10}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 27}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 45}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 42}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 23}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 41}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 21}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 48}, {'agent_id': 'A3', 'task_id': 'I', 'consumption': 38}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 15}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 16}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 14}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 18}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 7}, {'agent_id': 'A1', 'task_id': 'I', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 6}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'I', 'cost': 14}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 9}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 14}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 10}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 20}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 14}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 15}, {'agent_id': 'A3', 'task_id': 'I', 'cost': 16}]}","['A2', 'A3', 'A2', 'A1', 'A2', 'A3', 'A3', 'A1', 'A1']",3,json,names | |
| GAP,GAP,"Recently the team realized that all sessions must be matched to tutors and, for each session-tutor match, there’s an estimate of required tutor hours and the fee that match would incur. Each tutor only has a certain number of hours to give, and each session must be assigned to one tutor only (no overlap or omissions). The task is to assign sessions so tutors aren’t overbooked and the total cost — add up the fee for every assigned session — ends up as low as possible. See the specific session durations and tutor rates below. | |
| # num_tutors=2 | |
| # num_sessions=5 | |
| # tutors=A1, A2 | |
| # sessions=0, 1, 2, 3, 4 | |
| tutor_id,available_hours | |
| A1,131 | |
| A2,131 | |
| tutor_id,session_id,session_hours | |
| A1,0,33 | |
| A1,1,45 | |
| A1,2,37 | |
| A1,3,32 | |
| A1,4,23 | |
| A2,0,30 | |
| A2,1,46 | |
| A2,2,42 | |
| A2,3,28 | |
| A2,4,36 | |
| tutor_id,session_id,fee | |
| A1,0,9 | |
| A1,1,7 | |
| A1,2,18 | |
| A1,3,23 | |
| A1,4,15 | |
| A2,0,21 | |
| A2,1,21 | |
| A2,2,11 | |
| A2,3,24 | |
| A2,4,22 | |
| Also, when you hand the assignment back, a simple JSON layout like this makes it easy to parse — nothing fancy, just a list of who handles each session in order. | |
| { | |
| ""solution"": [ | |
| <tutor_id_for_first_session>, | |
| <tutor_id_for_second_session>, | |
| ..., | |
| <tutor_id_for_last_session> | |
| ] | |
| } | |
| ""solution"" is a list where each entry is the tutor assigned to the corresponding session (first entry = first session, second = second session, etc.). Think of it like filling out a sign-up sheet: each slot gets one tutor ID. This JSON is just the shape I expect, not the actual filled-in answer. | |
| Please use the exact tutor identifiers from the instance input — 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”.""","{'resource_consumption': [[33, 45, 37, 32, 23], [30, 46, 42, 28, 36]], 'assignment_costs': [[9, 7, 18, 23, 15], [21, 21, 11, 24, 22]], 'capacities': [131, 131], 'objective': 66.0}","[0, 0, 1, 1, 0]",66.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [0, 1, 2, 3, 4], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 131}, {'agent_id': 'A2', 'capacity': 131}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 33}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 37}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 32}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 46}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 28}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 36}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 9}, {'agent_id': 'A1', 'task_id': 1, 'cost': 7}, {'agent_id': 'A1', 'task_id': 2, 'cost': 18}, {'agent_id': 'A1', 'task_id': 3, 'cost': 23}, {'agent_id': 'A1', 'task_id': 4, 'cost': 15}, {'agent_id': 'A2', 'task_id': 0, 'cost': 21}, {'agent_id': 'A2', 'task_id': 1, 'cost': 21}, {'agent_id': 'A2', 'task_id': 2, 'cost': 11}, {'agent_id': 'A2', 'task_id': 3, 'cost': 24}, {'agent_id': 'A2', 'task_id': 4, 'cost': 22}]}","['A1', 'A1', 'A2', 'A2', 'A1']",4,csv,0 | |
| GAP,GAP,"Someone at the agency lined up all the translators and listed, for every document, how long each translator would need and what they’d charge. Each translator only has a certain number of hours they can work, and every document must be handled exactly once. The job is to choose who does what so that no one is overbooked and the total payout — the sum of the charges for every document — is as small as possible. The exact figures are shown below. | |
| There are 3 translators and 8 documents; the translators and documents are listed as A1, A2, A3 and A, B, C, D, E, F, G, H. | |
| | translator_id | available_hours | | |
| |---|---| | |
| | A1 | 243 | | |
| | A2 | 243 | | |
| | A3 | 243 | | |
| | translator_id | document_id | hours_required | | |
| |---|---|---| | |
| | A1 | A | 15 | | |
| | A1 | B | 37 | | |
| | A1 | C | 31 | | |
| | A1 | D | 45 | | |
| | A1 | E | 17 | | |
| | A1 | F | 16 | | |
| | A1 | G | 32 | | |
| | A1 | H | 30 | | |
| | A2 | A | 19 | | |
| | A2 | B | 50 | | |
| | A2 | C | 36 | | |
| | A2 | D | 27 | | |
| | A2 | E | 18 | | |
| | A2 | F | 29 | | |
| | A2 | G | 17 | | |
| | A2 | H | 29 | | |
| | A3 | A | 10 | | |
| | A3 | B | 34 | | |
| | A3 | C | 12 | | |
| | A3 | D | 26 | | |
| | A3 | E | 49 | | |
| | A3 | F | 28 | | |
| | A3 | G | 13 | | |
| | A3 | H | 31 | | |
| | translator_id | document_id | charge | | |
| |---|---|---| | |
| | A1 | A | 21 | | |
| | A1 | B | 8 | | |
| | A1 | C | 14 | | |
| | A1 | D | 17 | | |
| | A1 | E | 17 | | |
| | A1 | F | 17 | | |
| | A1 | G | 23 | | |
| | A1 | H | 14 | | |
| | A2 | A | 13 | | |
| | A2 | B | 8 | | |
| | A2 | C | 22 | | |
| | A2 | D | 8 | | |
| | A2 | E | 19 | | |
| | A2 | F | 22 | | |
| | A2 | G | 6 | | |
| | A2 | H | 11 | | |
| | A3 | A | 6 | | |
| | A3 | B | 18 | | |
| | A3 | C | 24 | | |
| | A3 | D | 23 | | |
| | A3 | E | 21 | | |
| | A3 | F | 12 | | |
| | A3 | G | 19 | | |
| | A3 | H | 24 | | |
| These figures are provided so the assignment can be chosen to assign every document exactly once without exceeding any translator's availability and while minimizing the total payout. | |
| When you give the final assignment, just drop it in that simple JSON shape so it's easy to read and parse — nothing fancy needed. | |
| { | |
| ""solution"": [ | |
| <translator_id_for_first_document>, | |
| <translator_id_for_second_document>, | |
| ..., | |
| <translator_id_for_last_document> | |
| ] | |
| } | |
| Think of that ""solution"" array as a checklist that goes document-by-document in the same order the documents were listed above: each entry is the ID of the translator who will handle that document. It's just a sketch of the expected shape — not the actual answer. | |
| Please use the exact IDs from 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”.","{'resource_consumption': [[15, 37, 31, 45, 17, 16, 32, 30], [19, 50, 36, 27, 18, 29, 17, 29], [10, 34, 12, 26, 49, 28, 13, 31]], 'assignment_costs': [[21, 8, 14, 17, 17, 17, 23, 14], [13, 8, 22, 8, 19, 22, 6, 11], [6, 18, 24, 23, 21, 12, 19, 24]], 'capacities': [243, 243, 243], 'objective': 82.0}","[2, 0, 0, 1, 0, 2, 1, 1]",82.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 8, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 243}, {'agent_id': 'A2', 'capacity': 243}, {'agent_id': 'A3', 'capacity': 243}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 15}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 37}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 31}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 45}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 17}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 16}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 32}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 30}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 19}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 50}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 36}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 27}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 18}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 29}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 17}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 29}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 10}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 34}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 12}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 26}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 49}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 28}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 13}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 31}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 14}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 19}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 6}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 6}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 18}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 24}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 23}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 21}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 12}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 24}]}","['A3', 'A1', 'A1', 'A2', 'A1', 'A3', 'A2', 'A2']",5,markdown_table,names | |
| GAP,GAP,"Many people think scheduling is simple until there are more jobs than hours. Here, each repair has to be given to one technician—no splitting jobs, no leaving jobs undone. For every tech-job pair there’s a time requirement and a billing amount, and each tech only has so many hours to work. The winning plan is the one with the lowest total bill (just add up each assigned job’s charge) that also keeps every technician’s total assigned hours at or under their limit. The detailed numbers are provided below. | |
| Below are the specifics for 2 technicians and 6 requests: the technicians are A1, A2 and the requests are 0, 1, 2, 3, 4, 5. | |
| | technician_id | available_hours | | |
| |---|---| | |
| | A1 | 254 | | |
| | A2 | 235 | | |
| | technician_id | request_id | time_hours | | |
| |---|---|---| | |
| | A1 | 0 | 29 | | |
| | A1 | 1 | 35 | | |
| | A1 | 2 | 39 | | |
| | A1 | 3 | 48 | | |
| | A1 | 4 | 43 | | |
| | A1 | 5 | 24 | | |
| | A2 | 0 | 42 | | |
| | A2 | 1 | 34 | | |
| | A2 | 2 | 19 | | |
| | A2 | 3 | 15 | | |
| | A2 | 4 | 43 | | |
| | A2 | 5 | 25 | | |
| | technician_id | request_id | bill_amount | | |
| |---|---|---| | |
| | A1 | 0 | 20 | | |
| | A1 | 1 | 5 | | |
| | A1 | 2 | 22 | | |
| | A1 | 3 | 17 | | |
| | A1 | 4 | 9 | | |
| | A1 | 5 | 25 | | |
| | A2 | 0 | 11 | | |
| | A2 | 1 | 23 | | |
| | A2 | 2 | 19 | | |
| | A2 | 3 | 22 | | |
| | A2 | 4 | 16 | | |
| | A2 | 5 | 8 | | |
| Assign every request to one technician to minimize the total bill while keeping each technician's total assigned hours within their limits. | |
| You can just give the final assignment as a little JSON snippet so it's easy to read and machine-friendly. Something simple like this works well: | |
| { | |
| ""solution"": [ | |
| <technician_id_for_first_repair>, | |
| <technician_id_for_second_repair>, | |
| ..., | |
| <technician_id_for_last_repair> | |
| ] | |
| } | |
| Here ""solution"" is an ordered list that says which technician handles each repair in the same order the repairs were listed. Each placeholder like <technician_id_for_first_repair> stands in for the actual technician identifier for that repair (first, second, and so on). This is just a sketch of the shape I need — not the real answer. | |
| Please use the exact identifiers from the instance input — do not rename them or invent new labels. | |
| - For example: ""1"", ""23"", ""A"", ""B"", ""A1"", ""X7"" are valid identifier formats you might see and should be used exactly as given.","{'resource_consumption': [[29, 35, 39, 48, 43, 24], [42, 34, 19, 15, 43, 25]], 'assignment_costs': [[20, 5, 22, 17, 9, 25], [11, 23, 19, 22, 16, 8]], 'capacities': [254, 235], 'objective': 69.0}","[1, 0, 1, 0, 0, 1]",69.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': [0, 1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 254}, {'agent_id': 'A2', 'capacity': 235}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 29}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 48}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 43}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 19}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 15}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 43}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 25}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 20}, {'agent_id': 'A1', 'task_id': 1, 'cost': 5}, {'agent_id': 'A1', 'task_id': 2, 'cost': 22}, {'agent_id': 'A1', 'task_id': 3, 'cost': 17}, {'agent_id': 'A1', 'task_id': 4, 'cost': 9}, {'agent_id': 'A1', 'task_id': 5, 'cost': 25}, {'agent_id': 'A2', 'task_id': 0, 'cost': 11}, {'agent_id': 'A2', 'task_id': 1, 'cost': 23}, {'agent_id': 'A2', 'task_id': 2, 'cost': 19}, {'agent_id': 'A2', 'task_id': 3, 'cost': 22}, {'agent_id': 'A2', 'task_id': 4, 'cost': 16}, {'agent_id': 'A2', 'task_id': 5, 'cost': 8}]}","['A2', 'A1', 'A2', 'A1', 'A1', 'A2']",6,markdown_table,0 | |
| GAP,GAP,"Recently the kitchen had to be scheduled down to the minute: every dish must be given to one chef and only one. For every chef-dish option there’s a known cooking time and a price, so the total expense is computed by summing the prices for whichever chef prepares each dish. The job is to hand out the dishes so each is covered once, no chef’s sum of cooking times exceeds their available slot, and the overall summed cost ends up as low as possible. The exact items, times and costs follow below. | |
| { | |
| ""num_chefs"": 4, | |
| ""num_dishes"": 10, | |
| ""chef_ids"": [ | |
| ""A1"", | |
| ""A2"", | |
| ""A3"", | |
| ""A4"" | |
| ], | |
| ""dish_ids"": [ | |
| ""A"", | |
| ""B"", | |
| ""C"", | |
| ""D"", | |
| ""E"", | |
| ""F"", | |
| ""G"", | |
| ""H"", | |
| ""I"", | |
| ""J"" | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""chef_id"": ""A1"", | |
| ""available_kitchen_time"": 230 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""available_kitchen_time"": 238 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""available_kitchen_time"": 234 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""available_kitchen_time"": 234 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""A"", | |
| ""cooking_time"": 20 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""B"", | |
| ""cooking_time"": 26 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""C"", | |
| ""cooking_time"": 21 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""D"", | |
| ""cooking_time"": 22 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""E"", | |
| ""cooking_time"": 29 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""F"", | |
| ""cooking_time"": 32 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""G"", | |
| ""cooking_time"": 30 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""H"", | |
| ""cooking_time"": 13 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""I"", | |
| ""cooking_time"": 30 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""J"", | |
| ""cooking_time"": 11 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""A"", | |
| ""cooking_time"": 30 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""B"", | |
| ""cooking_time"": 32 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""C"", | |
| ""cooking_time"": 21 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""D"", | |
| ""cooking_time"": 19 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""E"", | |
| ""cooking_time"": 20 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""F"", | |
| ""cooking_time"": 23 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""G"", | |
| ""cooking_time"": 27 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""H"", | |
| ""cooking_time"": 42 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""I"", | |
| ""cooking_time"": 39 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""J"", | |
| ""cooking_time"": 50 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""A"", | |
| ""cooking_time"": 36 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""B"", | |
| ""cooking_time"": 40 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""C"", | |
| ""cooking_time"": 27 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""D"", | |
| ""cooking_time"": 29 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""E"", | |
| ""cooking_time"": 20 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""F"", | |
| ""cooking_time"": 15 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""G"", | |
| ""cooking_time"": 38 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""H"", | |
| ""cooking_time"": 49 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""I"", | |
| ""cooking_time"": 34 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""J"", | |
| ""cooking_time"": 34 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""A"", | |
| ""cooking_time"": 50 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""B"", | |
| ""cooking_time"": 47 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""C"", | |
| ""cooking_time"": 32 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""D"", | |
| ""cooking_time"": 23 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""E"", | |
| ""cooking_time"": 26 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""F"", | |
| ""cooking_time"": 34 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""G"", | |
| ""cooking_time"": 48 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""H"", | |
| ""cooking_time"": 38 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""I"", | |
| ""cooking_time"": 42 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""J"", | |
| ""cooking_time"": 36 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""A"", | |
| ""chef_cost"": 19 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""B"", | |
| ""chef_cost"": 6 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""C"", | |
| ""chef_cost"": 21 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""D"", | |
| ""chef_cost"": 19 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""E"", | |
| ""chef_cost"": 16 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""F"", | |
| ""chef_cost"": 18 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""G"", | |
| ""chef_cost"": 6 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""H"", | |
| ""chef_cost"": 21 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""I"", | |
| ""chef_cost"": 17 | |
| }, | |
| { | |
| ""chef_id"": ""A1"", | |
| ""dish_id"": ""J"", | |
| ""chef_cost"": 12 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""A"", | |
| ""chef_cost"": 20 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""B"", | |
| ""chef_cost"": 22 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""C"", | |
| ""chef_cost"": 16 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""D"", | |
| ""chef_cost"": 18 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""E"", | |
| ""chef_cost"": 17 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""F"", | |
| ""chef_cost"": 9 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""G"", | |
| ""chef_cost"": 12 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""H"", | |
| ""chef_cost"": 12 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""I"", | |
| ""chef_cost"": 11 | |
| }, | |
| { | |
| ""chef_id"": ""A2"", | |
| ""dish_id"": ""J"", | |
| ""chef_cost"": 20 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""A"", | |
| ""chef_cost"": 19 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""B"", | |
| ""chef_cost"": 19 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""C"", | |
| ""chef_cost"": 9 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""D"", | |
| ""chef_cost"": 22 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""E"", | |
| ""chef_cost"": 18 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""F"", | |
| ""chef_cost"": 18 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""G"", | |
| ""chef_cost"": 11 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""H"", | |
| ""chef_cost"": 14 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""I"", | |
| ""chef_cost"": 16 | |
| }, | |
| { | |
| ""chef_id"": ""A3"", | |
| ""dish_id"": ""J"", | |
| ""chef_cost"": 10 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""A"", | |
| ""chef_cost"": 6 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""B"", | |
| ""chef_cost"": 8 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""C"", | |
| ""chef_cost"": 16 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""D"", | |
| ""chef_cost"": 6 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""E"", | |
| ""chef_cost"": 25 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""F"", | |
| ""chef_cost"": 11 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""G"", | |
| ""chef_cost"": 9 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""H"", | |
| ""chef_cost"": 13 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""I"", | |
| ""chef_cost"": 14 | |
| }, | |
| { | |
| ""chef_id"": ""A4"", | |
| ""dish_id"": ""J"", | |
| ""chef_cost"": 18 | |
| } | |
| ] | |
| } | |
| Also, when you deliver the assignment, a neat little JSON snippet like the one below is what I expect — just to keep things tidy. It maps each dish (in the order given in the instance) to the chef who will cook it. | |
| { | |
| ""solution"": [ | |
| <chef_id_for_first_dish>, | |
| <chef_id_for_second_dish>, | |
| ..., | |
| <chef_id_for_last_dish> | |
| ] | |
| } | |
| This JSON is just a simple sketch of the shape I need: ""solution"" holds a list, where each entry is the identifier of the chef assigned to that dish (first list entry → first dish, second → second dish, and so on). Think of it like filling out a form: one chef name per dish, in order. | |
| A quick note — this is only the expected format, not the actual assignment. Please make sure to use the exact identifiers from the instance input, with no renaming and no invented 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”.""","{'resource_consumption': [[20, 26, 21, 22, 29, 32, 30, 13, 30, 11], [30, 32, 21, 19, 20, 23, 27, 42, 39, 50], [36, 40, 27, 29, 20, 15, 38, 49, 34, 34], [50, 47, 32, 23, 26, 34, 48, 38, 42, 36]], 'assignment_costs': [[19, 6, 21, 19, 16, 18, 6, 21, 17, 12], [20, 22, 16, 18, 17, 9, 12, 12, 11, 20], [19, 19, 9, 22, 18, 18, 11, 14, 16, 10], [6, 8, 16, 6, 25, 11, 9, 13, 14, 18]], 'capacities': [230, 238, 234, 234], 'objective': 91.0}","[3, 0, 2, 3, 0, 1, 0, 1, 1, 2]",91.0,"{'problem_type': 'GAP', 'num_agents': 4, 'num_tasks': 10, 'agents': ['A1', 'A2', 'A3', 'A4'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 230}, {'agent_id': 'A2', 'capacity': 238}, {'agent_id': 'A3', 'capacity': 234}, {'agent_id': 'A4', 'capacity': 234}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 20}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 26}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 21}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 22}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 29}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 32}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 30}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 13}, {'agent_id': 'A1', 'task_id': 'I', 'consumption': 30}, {'agent_id': 'A1', 'task_id': 'J', 'consumption': 11}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 30}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 32}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 21}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 19}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 20}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 23}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 27}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 42}, {'agent_id': 'A2', 'task_id': 'I', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'J', 'consumption': 50}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 36}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 40}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 27}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 29}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 20}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 15}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 38}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 49}, {'agent_id': 'A3', 'task_id': 'I', 'consumption': 34}, {'agent_id': 'A3', 'task_id': 'J', 'consumption': 34}, {'agent_id': 'A4', 'task_id': 'A', 'consumption': 50}, {'agent_id': 'A4', 'task_id': 'B', 'consumption': 47}, {'agent_id': 'A4', 'task_id': 'C', 'consumption': 32}, {'agent_id': 'A4', 'task_id': 'D', 'consumption': 23}, {'agent_id': 'A4', 'task_id': 'E', 'consumption': 26}, {'agent_id': 'A4', 'task_id': 'F', 'consumption': 34}, {'agent_id': 'A4', 'task_id': 'G', 'consumption': 48}, {'agent_id': 'A4', 'task_id': 'H', 'consumption': 38}, {'agent_id': 'A4', 'task_id': 'I', 'consumption': 42}, {'agent_id': 'A4', 'task_id': 'J', 'consumption': 36}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 19}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 6}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 19}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 16}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 18}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 6}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'I', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'J', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 20}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 16}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 17}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 9}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'I', 'cost': 11}, {'agent_id': 'A2', 'task_id': 'J', 'cost': 20}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 9}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 22}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 18}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 18}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 14}, {'agent_id': 'A3', 'task_id': 'I', 'cost': 16}, {'agent_id': 'A3', 'task_id': 'J', 'cost': 10}, {'agent_id': 'A4', 'task_id': 'A', 'cost': 6}, {'agent_id': 'A4', 'task_id': 'B', 'cost': 8}, {'agent_id': 'A4', 'task_id': 'C', 'cost': 16}, {'agent_id': 'A4', 'task_id': 'D', 'cost': 6}, {'agent_id': 'A4', 'task_id': 'E', 'cost': 25}, {'agent_id': 'A4', 'task_id': 'F', 'cost': 11}, {'agent_id': 'A4', 'task_id': 'G', 'cost': 9}, {'agent_id': 'A4', 'task_id': 'H', 'cost': 13}, {'agent_id': 'A4', 'task_id': 'I', 'cost': 14}, {'agent_id': 'A4', 'task_id': 'J', 'cost': 18}]}","['A4', 'A1', 'A3', 'A4', 'A1', 'A2', 'A1', 'A2', 'A2', 'A3']",7,json,names | |
| GAP,GAP,"I run the little ad-buying corner at the company, and right now the job is to place a pile of ads into channel slots. Each ad has to go on one channel only — it can’t be split up or left out — and every channel only has so many seconds of airtime to give. For every ad you try on a channel there’s two things to note: how many seconds it eats up of that channel’s budget, and how much that channel will charge for running it. The total bill is just the sum of the charges for whatever channel each ad ends up on, so the aim is to pick channels so that sum is as low as possible without any channel’s seconds running out. The exact ad lengths, channel limits, and prices are shown below. | |
| { | |
| ""num_channels"": 2, | |
| ""num_ads"": 5, | |
| ""channels"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""ads"": [ | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""channel_id"": ""A1"", | |
| ""airtime_budget_seconds"": 671 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""airtime_budget_seconds"": 671 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 1, | |
| ""ad_length_seconds"": 46 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 2, | |
| ""ad_length_seconds"": 50 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 3, | |
| ""ad_length_seconds"": 12 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 4, | |
| ""ad_length_seconds"": 13 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 5, | |
| ""ad_length_seconds"": 42 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 1, | |
| ""ad_length_seconds"": 42 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 2, | |
| ""ad_length_seconds"": 15 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 3, | |
| ""ad_length_seconds"": 27 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 4, | |
| ""ad_length_seconds"": 26 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 5, | |
| ""ad_length_seconds"": 25 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 1, | |
| ""channel_price"": 8 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 2, | |
| ""channel_price"": 22 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 3, | |
| ""channel_price"": 18 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 4, | |
| ""channel_price"": 5 | |
| }, | |
| { | |
| ""channel_id"": ""A1"", | |
| ""ad_id"": 5, | |
| ""channel_price"": 19 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 1, | |
| ""channel_price"": 19 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 2, | |
| ""channel_price"": 7 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 3, | |
| ""channel_price"": 23 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 4, | |
| ""channel_price"": 12 | |
| }, | |
| { | |
| ""channel_id"": ""A2"", | |
| ""ad_id"": 5, | |
| ""channel_price"": 13 | |
| } | |
| ] | |
| } | |
| Also, when you’re ready to hand the results back, just use this little JSON shape so whatever reads it knows which channel each ad goes on: | |
| { | |
| ""solution"": [ | |
| <channel_id_for_first_ad>, | |
| <channel_id_for_second_ad>, | |
| ..., | |
| <channel_id_for_last_ad> | |
| ] | |
| } | |
| Pretty simple: ""solution"" is the list of channel IDs in the same order as the ads were listed above — the first entry is where the first ad goes, the second entry is where the second ad goes, and so on. Think of it like filling in a form: one channel name per ad. | |
| This JSON is just a sketch of the shape I need, not the actual assignment — don’t put real answers in here yet. | |
| Please also make sure to use the exact identifiers from the instance input with no renaming and no invented labels. Valid identifiers look like: | |
| - ""1"" or ""23"" | |
| - ""A"" or ""B"" | |
| - ""A1"" or ""X7""","{'resource_consumption': [[46, 50, 12, 13, 42], [42, 15, 27, 26, 25]], 'assignment_costs': [[8, 22, 18, 5, 19], [19, 7, 23, 12, 13]], 'capacities': [671, 671], 'objective': 51.0}","[0, 1, 0, 0, 1]",51.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 671}, {'agent_id': 'A2', 'capacity': 671}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 46}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 50}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 12}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 13}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 15}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 26}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 25}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 8}, {'agent_id': 'A1', 'task_id': 2, 'cost': 22}, {'agent_id': 'A1', 'task_id': 3, 'cost': 18}, {'agent_id': 'A1', 'task_id': 4, 'cost': 5}, {'agent_id': 'A1', 'task_id': 5, 'cost': 19}, {'agent_id': 'A2', 'task_id': 1, 'cost': 19}, {'agent_id': 'A2', 'task_id': 2, 'cost': 7}, {'agent_id': 'A2', 'task_id': 3, 'cost': 23}, {'agent_id': 'A2', 'task_id': 4, 'cost': 12}, {'agent_id': 'A2', 'task_id': 5, 'cost': 13}]}","['A1', 'A2', 'A1', 'A1', 'A2']",8,json,1 | |
| GAP,GAP,"Around the office the task is clear: match every gig to a single freelancer, don’t give a gig to more than one person or leave it unassigned, and make sure nobody’s assigned more hours than they actually have. The practical metric is money — compute each assigned gig’s cost by hours times that freelancer’s price, total all those costs, and pick the arrangement with the lowest overall payment. The full list of gigs, availability and rates is provided below. | |
| There are 3 freelancers and 7 gigs, listed as A1, A2, A3 and 1, 2, 3, 4, 5, 6, 7. | |
| Freelancer A1 has 241 available hours. | |
| Freelancer A2 has 238 available hours. | |
| Freelancer A3 has 239 available hours. | |
| If freelancer A1 takes gig 1 it will consume 15 hours and cost 7. | |
| If freelancer A1 takes gig 2 it will consume 49 hours and cost 11. | |
| If freelancer A1 takes gig 3 it will consume 34 hours and cost 12. | |
| If freelancer A1 takes gig 4 it will consume 35 hours and cost 22. | |
| If freelancer A1 takes gig 5 it will consume 36 hours and cost 5. | |
| If freelancer A1 takes gig 6 it will consume 33 hours and cost 19. | |
| If freelancer A1 takes gig 7 it will consume 31 hours and cost 16. | |
| If freelancer A2 takes gig 1 it will consume 13 hours and cost 6. | |
| If freelancer A2 takes gig 2 it will consume 44 hours and cost 11. | |
| If freelancer A2 takes gig 3 it will consume 29 hours and cost 22. | |
| If freelancer A2 takes gig 4 it will consume 25 hours and cost 18. | |
| If freelancer A2 takes gig 5 it will consume 25 hours and cost 9. | |
| If freelancer A2 takes gig 6 it will consume 42 hours and cost 17. | |
| If freelancer A2 takes gig 7 it will consume 35 hours and cost 21. | |
| If freelancer A3 takes gig 1 it will consume 14 hours and cost 18. | |
| If freelancer A3 takes gig 2 it will consume 27 hours and cost 14. | |
| If freelancer A3 takes gig 3 it will consume 12 hours and cost 20. | |
| If freelancer A3 takes gig 4 it will consume 31 hours and cost 10. | |
| If freelancer A3 takes gig 5 it will consume 47 hours and cost 14. | |
| If freelancer A3 takes gig 6 it will consume 24 hours and cost 11. | |
| If freelancer A3 takes gig 7 it will consume 34 hours and cost 25. | |
| Find the assignment that respects those availabilities and minimizes the total payment. | |
| If you want to give the assignment back in a tidy, machine-friendly way, just follow this simple JSON shape — nothing fancy, just a single list that says who does which gig: | |
| { | |
| ""solution"": [ | |
| <freelancer_id_for_first_task>, | |
| <freelancer_id_for_second_task>, | |
| ..., | |
| <freelancer_id_for_last_task> | |
| ] | |
| } | |
| That ""solution"" list is just the lineup: the first entry is the freelancer for the first gig, the second entry for the second gig, and so on down the list. The angle-bracket placeholders show the kind of identifier you'll drop in there — think of them like blanks on a form, not the final answers. | |
| This JSON is only a sketch of the shape I expect, not the actual assignment — fill it in with the exact IDs from the instance. | |
| Please use the identifiers exactly as they appear in the input — do not rename them and do not 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”.""","{'resource_consumption': [[15, 49, 34, 35, 36, 33, 31], [13, 44, 29, 25, 25, 42, 35], [14, 27, 12, 31, 47, 24, 34]], 'assignment_costs': [[7, 11, 12, 22, 5, 19, 16], [6, 11, 22, 18, 9, 17, 21], [18, 14, 20, 10, 14, 11, 25]], 'capacities': [241, 238, 239], 'objective': 71.0}","[1, 1, 0, 2, 0, 2, 0]",71.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 7, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 241}, {'agent_id': 'A2', 'capacity': 238}, {'agent_id': 'A3', 'capacity': 239}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 15}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 49}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 34}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 36}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 33}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 44}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 25}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 25}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 35}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 14}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 27}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 12}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 31}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 47}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 24}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 34}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 7}, {'agent_id': 'A1', 'task_id': 2, 'cost': 11}, {'agent_id': 'A1', 'task_id': 3, 'cost': 12}, {'agent_id': 'A1', 'task_id': 4, 'cost': 22}, {'agent_id': 'A1', 'task_id': 5, 'cost': 5}, {'agent_id': 'A1', 'task_id': 6, 'cost': 19}, {'agent_id': 'A1', 'task_id': 7, 'cost': 16}, {'agent_id': 'A2', 'task_id': 1, 'cost': 6}, {'agent_id': 'A2', 'task_id': 2, 'cost': 11}, {'agent_id': 'A2', 'task_id': 3, 'cost': 22}, {'agent_id': 'A2', 'task_id': 4, 'cost': 18}, {'agent_id': 'A2', 'task_id': 5, 'cost': 9}, {'agent_id': 'A2', 'task_id': 6, 'cost': 17}, {'agent_id': 'A2', 'task_id': 7, 'cost': 21}, {'agent_id': 'A3', 'task_id': 1, 'cost': 18}, {'agent_id': 'A3', 'task_id': 2, 'cost': 14}, {'agent_id': 'A3', 'task_id': 3, 'cost': 20}, {'agent_id': 'A3', 'task_id': 4, 'cost': 10}, {'agent_id': 'A3', 'task_id': 5, 'cost': 14}, {'agent_id': 'A3', 'task_id': 6, 'cost': 11}, {'agent_id': 'A3', 'task_id': 7, 'cost': 25}]}","['A2', 'A2', 'A1', 'A3', 'A1', 'A3', 'A1']",9,nl,1 | |
| GAP,GAP,"I’ve been juggling a stack of upcoming shoots and a handful of photographers, and the job is to pair each photoshoot with exactly one photographer. For every shoot there’s a note of how much of a photographer’s shooting time it would take and what that photographer would charge; each photographer only has a certain number of hours available. The trick is to pick who does which shoot so that no photographer is booked for more hours than they have and so the total bill — add up the fees for all chosen photographer–shoot pairs — is as small as possible. No shoot can be left unassigned or given to more than one person. The exact list of shoots, photographers, times, and prices is below. | |
| # num_photographers=2 | |
| # num_shoots=6 | |
| # photographer_ids=A1, A2 | |
| # shoot_ids=1, 2, 3, 4, 5, 6 | |
| photographer_id,available_hours | |
| A1,464 | |
| A2,503 | |
| photographer_id,shoot_id,hours_required | |
| A1,1,33 | |
| A1,2,48 | |
| A1,3,27 | |
| A1,4,26 | |
| A1,5,21 | |
| A1,6,24 | |
| A2,1,12 | |
| A2,2,27 | |
| A2,3,39 | |
| A2,4,48 | |
| A2,5,44 | |
| A2,6,21 | |
| photographer_id,shoot_id,fee | |
| A1,1,12 | |
| A1,2,19 | |
| A1,3,9 | |
| A1,4,5 | |
| A1,5,8 | |
| A1,6,11 | |
| A2,1,12 | |
| A2,2,12 | |
| A2,3,24 | |
| A2,4,23 | |
| A2,5,24 | |
| A2,6,17 | |
| Oh, and to keep things machine-friendly, please give the final assignment in a tiny JSON shape like this: | |
| { | |
| ""solution"": [ | |
| <photographer_id_for_first_task>, | |
| <photographer_id_for_second_task>, | |
| ..., | |
| <photographer_id_for_last_task> | |
| ] | |
| } | |
| Think of ""solution"" as a list with one entry per shoot (in the same order as the shoot list above); each entry should be the identifier of the photographer you're assigning to that shoot. This is just the expected shape — a sketch, not the actual filled-in answer. | |
| Important: use the identifiers exactly as they appear in the instance input — no renaming and 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”.","{'resource_consumption': [[33, 48, 27, 26, 21, 24], [12, 27, 39, 48, 44, 21]], 'assignment_costs': [[12, 19, 9, 5, 8, 11], [12, 12, 24, 23, 24, 17]], 'capacities': [464, 503], 'objective': 57.0}","[1, 1, 0, 0, 0, 0]",57.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5, 6], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 464}, {'agent_id': 'A2', 'capacity': 503}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 33}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 48}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 27}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 26}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 21}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 12}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 39}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 48}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 44}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 21}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 12}, {'agent_id': 'A1', 'task_id': 2, 'cost': 19}, {'agent_id': 'A1', 'task_id': 3, 'cost': 9}, {'agent_id': 'A1', 'task_id': 4, 'cost': 5}, {'agent_id': 'A1', 'task_id': 5, 'cost': 8}, {'agent_id': 'A1', 'task_id': 6, 'cost': 11}, {'agent_id': 'A2', 'task_id': 1, 'cost': 12}, {'agent_id': 'A2', 'task_id': 2, 'cost': 12}, {'agent_id': 'A2', 'task_id': 3, 'cost': 24}, {'agent_id': 'A2', 'task_id': 4, 'cost': 23}, {'agent_id': 'A2', 'task_id': 5, 'cost': 24}, {'agent_id': 'A2', 'task_id': 6, 'cost': 17}]}","['A2', 'A2', 'A1', 'A1', 'A1', 'A1']",10,csv,1 | |
| GAP,GAP,"I’ve got a stack of home visits that need a nurse each, and for every possible nurse–visit pairing there’s a known time it would eat out of that nurse’s shift and a known fee for doing the job. Every visit has to go to one, and only one, nurse — no visit gets skipped or doubled up. Each nurse only has a fixed number of work hours, so the total minutes of the visits a nurse takes can’t be more than their shift allows. The idea is to put the visits together so the total service cost (just add up the cost for each visit as assigned) comes out as small as possible while keeping everyone within their shift. The concrete details are shown below. | |
| Here they are: I have 3 nurses, 9 visits, nurse IDs A1, A2, A3, and visit IDs 1, 2, 3, 4, 5, 6, 7, 8, 9. | |
| | nurse_id | available_shift_minutes | | |
| |---|---| | |
| | A1 | 342 | | |
| | A2 | 342 | | |
| | A3 | 342 | | |
| | nurse_id | visit_id | visit_duration_minutes | | |
| |---|---|---| | |
| | A1 | 1 | 36 | | |
| | A1 | 2 | 25 | | |
| | A1 | 3 | 23 | | |
| | A1 | 4 | 14 | | |
| | A1 | 5 | 50 | | |
| | A1 | 6 | 45 | | |
| | A1 | 7 | 37 | | |
| | A1 | 8 | 42 | | |
| | A1 | 9 | 27 | | |
| | A2 | 1 | 34 | | |
| | A2 | 2 | 45 | | |
| | A2 | 3 | 27 | | |
| | A2 | 4 | 50 | | |
| | A2 | 5 | 37 | | |
| | A2 | 6 | 37 | | |
| | A2 | 7 | 41 | | |
| | A2 | 8 | 19 | | |
| | A2 | 9 | 44 | | |
| | A3 | 1 | 10 | | |
| | A3 | 2 | 36 | | |
| | A3 | 3 | 25 | | |
| | A3 | 4 | 24 | | |
| | A3 | 5 | 32 | | |
| | A3 | 6 | 29 | | |
| | A3 | 7 | 31 | | |
| | A3 | 8 | 49 | | |
| | A3 | 9 | 34 | | |
| | nurse_id | visit_id | service_cost | | |
| |---|---|---| | |
| | A1 | 1 | 15 | | |
| | A1 | 2 | 25 | | |
| | A1 | 3 | 22 | | |
| | A1 | 4 | 19 | | |
| | A1 | 5 | 12 | | |
| | A1 | 6 | 7 | | |
| | A1 | 7 | 17 | | |
| | A1 | 8 | 11 | | |
| | A1 | 9 | 24 | | |
| | A2 | 1 | 22 | | |
| | A2 | 2 | 7 | | |
| | A2 | 3 | 21 | | |
| | A2 | 4 | 11 | | |
| | A2 | 5 | 16 | | |
| | A2 | 6 | 15 | | |
| | A2 | 7 | 20 | | |
| | A2 | 8 | 17 | | |
| | A2 | 9 | 18 | | |
| | A3 | 1 | 6 | | |
| | A3 | 2 | 7 | | |
| | A3 | 3 | 7 | | |
| | A3 | 4 | 9 | | |
| | A3 | 5 | 15 | | |
| | A3 | 6 | 23 | | |
| | A3 | 7 | 12 | | |
| | A3 | 8 | 19 | | |
| | A3 | 9 | 7 | | |
| That's everything — the goal is to assign each of the 9 visits to one of the 3 nurses within their shifts to minimize total service cost. | |
| Also, when you send the assignment back, please use this simple JSON shape so it's clear which nurse goes to which visit: | |
| { | |
| ""solution"": [ | |
| <nurse_id_for_first_visit>, | |
| <nurse_id_for_second_visit>, | |
| ..., | |
| <nurse_id_for_last_visit> | |
| ] | |
| } | |
| This just sketches the format: the solution array lists the nurse id for each visit in order (first entry → first visit, second → second visit, and so on). It's just the shape I need, not the final assignment itself. | |
| Please use the exact identifiers from the instance input — don’t rename them or add 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”.""","{'resource_consumption': [[36, 25, 23, 14, 50, 45, 37, 42, 27], [34, 45, 27, 50, 37, 37, 41, 19, 44], [10, 36, 25, 24, 32, 29, 31, 49, 34]], 'assignment_costs': [[15, 25, 22, 19, 12, 7, 17, 11, 24], [22, 7, 21, 11, 16, 15, 20, 17, 18], [6, 7, 7, 9, 15, 23, 12, 19, 7]], 'capacities': [342, 342, 342], 'objective': 78.0}","[2, 1, 2, 2, 0, 0, 2, 0, 2]",78.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8, 9], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 342}, {'agent_id': 'A2', 'capacity': 342}, {'agent_id': 'A3', 'capacity': 342}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 36}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 25}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 23}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 50}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 37}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 42}, {'agent_id': 'A1', 'task_id': 9, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 45}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 50}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 37}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 37}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 41}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 19}, {'agent_id': 'A2', 'task_id': 9, 'consumption': 44}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 10}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 36}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 25}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 24}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 32}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 29}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 31}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 49}, {'agent_id': 'A3', 'task_id': 9, 'consumption': 34}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 15}, {'agent_id': 'A1', 'task_id': 2, 'cost': 25}, {'agent_id': 'A1', 'task_id': 3, 'cost': 22}, {'agent_id': 'A1', 'task_id': 4, 'cost': 19}, {'agent_id': 'A1', 'task_id': 5, 'cost': 12}, {'agent_id': 'A1', 'task_id': 6, 'cost': 7}, {'agent_id': 'A1', 'task_id': 7, 'cost': 17}, {'agent_id': 'A1', 'task_id': 8, 'cost': 11}, {'agent_id': 'A1', 'task_id': 9, 'cost': 24}, {'agent_id': 'A2', 'task_id': 1, 'cost': 22}, {'agent_id': 'A2', 'task_id': 2, 'cost': 7}, {'agent_id': 'A2', 'task_id': 3, 'cost': 21}, {'agent_id': 'A2', 'task_id': 4, 'cost': 11}, {'agent_id': 'A2', 'task_id': 5, 'cost': 16}, {'agent_id': 'A2', 'task_id': 6, 'cost': 15}, {'agent_id': 'A2', 'task_id': 7, 'cost': 20}, {'agent_id': 'A2', 'task_id': 8, 'cost': 17}, {'agent_id': 'A2', 'task_id': 9, 'cost': 18}, {'agent_id': 'A3', 'task_id': 1, 'cost': 6}, {'agent_id': 'A3', 'task_id': 2, 'cost': 7}, {'agent_id': 'A3', 'task_id': 3, 'cost': 7}, {'agent_id': 'A3', 'task_id': 4, 'cost': 9}, {'agent_id': 'A3', 'task_id': 5, 'cost': 15}, {'agent_id': 'A3', 'task_id': 6, 'cost': 23}, {'agent_id': 'A3', 'task_id': 7, 'cost': 12}, {'agent_id': 'A3', 'task_id': 8, 'cost': 19}, {'agent_id': 'A3', 'task_id': 9, 'cost': 7}]}","['A3', 'A2', 'A3', 'A3', 'A1', 'A1', 'A3', 'A1', 'A3']",11,markdown_table,1 | |
| GAP,GAP,"I was juggling a stack of pickups and a handful of trucks the other day — each pickup has to go on exactly one truck (no leaving anything behind and no double-ups). Every pickup takes up a certain amount of room in whatever truck it rides in, and each pickup–truck pairing comes with its own hauling fee. Each truck can only hold a fixed amount of cargo, so the combined space of the pickups loaded onto a truck can’t be more than that. The sensible plan is the one that ends up costing the least overall, which you figure by adding up the hauling fee for each pickup’s chosen truck. The concrete details will be shown below. | |
| # num_trucks=3 | |
| # num_pickups=9 | |
| # truck_ids=A1, A2, A3 | |
| # pickup_ids=A, B, C, D, E, F, G, H, I | |
| truck_id,truck_volume_capacity | |
| A1,490 | |
| A2,491 | |
| A3,484 | |
| truck_id,pickup_id,pickup_volume_in_truck | |
| A1,A,42 | |
| A1,B,24 | |
| A1,C,46 | |
| A1,D,29 | |
| A1,E,50 | |
| A1,F,36 | |
| A1,G,25 | |
| A1,H,31 | |
| A1,I,36 | |
| A2,A,44 | |
| A2,B,29 | |
| A2,C,47 | |
| A2,D,13 | |
| A2,E,34 | |
| A2,F,34 | |
| A2,G,45 | |
| A2,H,40 | |
| A2,I,16 | |
| A3,A,27 | |
| A3,B,24 | |
| A3,C,10 | |
| A3,D,11 | |
| A3,E,48 | |
| A3,F,28 | |
| A3,G,39 | |
| A3,H,37 | |
| A3,I,42 | |
| truck_id,pickup_id,hauling_fee | |
| A1,A,5 | |
| A1,B,18 | |
| A1,C,14 | |
| A1,D,19 | |
| A1,E,8 | |
| A1,F,5 | |
| A1,G,21 | |
| A1,H,10 | |
| A1,I,20 | |
| A2,A,22 | |
| A2,B,7 | |
| A2,C,12 | |
| A2,D,8 | |
| A2,E,24 | |
| A2,F,18 | |
| A2,G,23 | |
| A2,H,25 | |
| A2,I,21 | |
| A3,A,21 | |
| A3,B,13 | |
| A3,C,20 | |
| A3,D,8 | |
| A3,E,11 | |
| A3,F,24 | |
| A3,G,8 | |
| A3,H,14 | |
| A3,I,13 | |
| Oh, and to keep things machine-friendly, please return your assignment in this little JSON layout when you reply: | |
| { | |
| ""solution"": [ | |
| <truck_id_for_first_pickup>, | |
| <truck_id_for_second_pickup>, | |
| ..., | |
| <truck_id_for_last_pickup> | |
| ] | |
| } | |
| Think of ""solution"" as a checklist that goes through the pickups in order: each placeholder in the array is where you drop the identifier of the truck that will carry that pickup. It's just the shape I need — a sketch of which truck goes with which pickup, not the actual filled-in answer. | |
| Please make sure you use the exact identifiers shown in the instance input — no renaming and 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”.","{'resource_consumption': [[42, 24, 46, 29, 50, 36, 25, 31, 36], [44, 29, 47, 13, 34, 34, 45, 40, 16], [27, 24, 10, 11, 48, 28, 39, 37, 42]], 'assignment_costs': [[5, 18, 14, 19, 8, 5, 21, 10, 20], [22, 7, 12, 8, 24, 18, 23, 25, 21], [21, 13, 20, 8, 11, 24, 8, 14, 13]], 'capacities': [490, 491, 484], 'objective': 76.0}","[0, 1, 1, 1, 0, 0, 2, 0, 2]",76.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 490}, {'agent_id': 'A2', 'capacity': 491}, {'agent_id': 'A3', 'capacity': 484}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 42}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 24}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 46}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 29}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 50}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 36}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 25}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 31}, {'agent_id': 'A1', 'task_id': 'I', 'consumption': 36}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 44}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 29}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 47}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 13}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 34}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 34}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 45}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 40}, {'agent_id': 'A2', 'task_id': 'I', 'consumption': 16}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 27}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 24}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 10}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 11}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 48}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 28}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 39}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 37}, {'agent_id': 'A3', 'task_id': 'I', 'consumption': 42}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 18}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 14}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 19}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 10}, {'agent_id': 'A1', 'task_id': 'I', 'cost': 20}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 24}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 23}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'I', 'cost': 21}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 21}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 13}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 20}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 8}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 24}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 8}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 14}, {'agent_id': 'A3', 'task_id': 'I', 'cost': 13}]}","['A1', 'A2', 'A2', 'A2', 'A1', 'A1', 'A3', 'A1', 'A3']",12,csv,names | |
| GAP,GAP,"Many people signed up to help at the picnic, and there’s a list of duties that all need someone assigned. For each duty and volunteer pair there’s an estimated time hit on that volunteer and a cost for that pairing. The aim is to pick who does which duty so that the grand total spent (the sum of the costs for all chosen assignments) is as low as possible, while ensuring no volunteer’s total assigned time goes over their agreed hours and every duty gets exactly one person. The full matrix of times, costs, and each volunteer’s available hours is provided below. | |
| { | |
| ""num_volunteers"": 2, | |
| ""num_duties"": 7, | |
| ""volunteer_ids"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""duty_ids"": [ | |
| ""A"", | |
| ""B"", | |
| ""C"", | |
| ""D"", | |
| ""E"", | |
| ""F"", | |
| ""G"" | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""available_hours"": 365 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""available_hours"": 365 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""A"", | |
| ""time_required"": 46 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""B"", | |
| ""time_required"": 49 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""C"", | |
| ""time_required"": 17 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""D"", | |
| ""time_required"": 48 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""E"", | |
| ""time_required"": 22 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""F"", | |
| ""time_required"": 11 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""G"", | |
| ""time_required"": 41 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""A"", | |
| ""time_required"": 14 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""B"", | |
| ""time_required"": 49 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""C"", | |
| ""time_required"": 11 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""D"", | |
| ""time_required"": 24 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""E"", | |
| ""time_required"": 47 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""F"", | |
| ""time_required"": 27 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""G"", | |
| ""time_required"": 21 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""A"", | |
| ""assignment_cost"": 13 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""B"", | |
| ""assignment_cost"": 5 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""C"", | |
| ""assignment_cost"": 19 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""D"", | |
| ""assignment_cost"": 8 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""E"", | |
| ""assignment_cost"": 25 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""F"", | |
| ""assignment_cost"": 20 | |
| }, | |
| { | |
| ""volunteer_id"": ""A1"", | |
| ""duty_id"": ""G"", | |
| ""assignment_cost"": 20 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""A"", | |
| ""assignment_cost"": 10 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""B"", | |
| ""assignment_cost"": 14 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""C"", | |
| ""assignment_cost"": 23 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""D"", | |
| ""assignment_cost"": 25 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""E"", | |
| ""assignment_cost"": 21 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""F"", | |
| ""assignment_cost"": 14 | |
| }, | |
| { | |
| ""volunteer_id"": ""A2"", | |
| ""duty_id"": ""G"", | |
| ""assignment_cost"": 5 | |
| } | |
| ] | |
| } | |
| Just to keep things tidy, when you send the final assignment back, please use this little JSON shape so it's easy to read and plug into whatever sheet or tool you're using: | |
| { | |
| ""solution"": [ | |
| <volunteer_id_for_first_duty>, | |
| <volunteer_id_for_second_duty>, | |
| ..., | |
| <volunteer_id_for_last_duty> | |
| ] | |
| } | |
| Think of that as a simple list: the solution array gives, in order, the volunteer chosen for each duty (first item → first duty, second → second duty, and so on). The angle-bracket placeholders are just showing the shape — replace each one with the actual volunteer identifier from the instance when you reply. | |
| This JSON is just a sketch of the expected shape, not the real answer. | |
| All identifiers must be used exactly as they appear in the instance input — no renaming and 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”.","{'resource_consumption': [[46, 49, 17, 48, 22, 11, 41], [14, 49, 11, 24, 47, 27, 21]], 'assignment_costs': [[13, 5, 19, 8, 25, 20, 20], [10, 14, 23, 25, 21, 14, 5]], 'capacities': [365, 365], 'objective': 82.0}","[1, 0, 0, 0, 1, 1, 1]",82.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 7, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 365}, {'agent_id': 'A2', 'capacity': 365}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 46}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 49}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 17}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 48}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 22}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 11}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 41}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 14}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 49}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 11}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 24}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 47}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 27}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 21}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 13}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 19}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 20}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 20}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 10}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 23}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 5}]}","['A2', 'A1', 'A1', 'A1', 'A2', 'A2', 'A2']",13,json,names | |
| GAP,GAP,"We’re putting together the schedule for restocking: there’s a list of jobs and a crew of associates. Every job must be handed to a single associate (no doubling up and nothing left undone), each job eats up a known portion of an associate’s shift and costs a certain amount in wages if that person does it, and each associate only has a fixed shift length. The goal is to assign jobs so the total wages paid — the sum of the wage cost for each assigned job — is as low as possible without anyone’s assigned job times exceeding their shift. Exact numbers and pairings are shown below. | |
| { | |
| ""num_associates"": 2, | |
| ""num_jobs"": 5, | |
| ""associates"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""jobs"": [ | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""associate_id"": ""A1"", | |
| ""shift_length"": 711 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""shift_length"": 713 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 1, | |
| ""job_time"": 34 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 2, | |
| ""job_time"": 15 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 3, | |
| ""job_time"": 31 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 4, | |
| ""job_time"": 41 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 5, | |
| ""job_time"": 37 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 1, | |
| ""job_time"": 42 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 2, | |
| ""job_time"": 26 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 3, | |
| ""job_time"": 23 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 4, | |
| ""job_time"": 22 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 5, | |
| ""job_time"": 32 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 1, | |
| ""wage_cost"": 22 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 2, | |
| ""wage_cost"": 13 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 3, | |
| ""wage_cost"": 5 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 4, | |
| ""wage_cost"": 9 | |
| }, | |
| { | |
| ""associate_id"": ""A1"", | |
| ""job_id"": 5, | |
| ""wage_cost"": 21 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 1, | |
| ""wage_cost"": 9 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 2, | |
| ""wage_cost"": 23 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 3, | |
| ""wage_cost"": 17 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 4, | |
| ""wage_cost"": 5 | |
| }, | |
| { | |
| ""associate_id"": ""A2"", | |
| ""job_id"": 5, | |
| ""wage_cost"": 11 | |
| } | |
| ] | |
| } | |
| Also, when you send back the assignment, please stick to this simple JSON shape — just a straight list saying which staff does each job: | |
| { | |
| ""solution"": [ | |
| <staff_id_for_first_task>, | |
| <staff_id_for_second_task>, | |
| ..., | |
| <staff_id_for_last_task> | |
| ] | |
| } | |
| This ""solution"" list is just the jobs in order: the first entry is the staff id for the first job in the instance, the second entry is the staff id for the second job, and so on. Think of it like filling out a short form — which staff handles each job. This is only a sketch of the shape I need, not the actual assignment. | |
| Please use the exact identifiers given in the instance input — don't rename them or invent new labels. To be clear, 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”.","{'resource_consumption': [[34, 15, 31, 41, 37], [42, 26, 23, 22, 32]], 'assignment_costs': [[22, 13, 5, 9, 21], [9, 23, 17, 5, 11]], 'capacities': [711, 713], 'objective': 43.0}","[1, 0, 0, 1, 1]",43.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 711}, {'agent_id': 'A2', 'capacity': 713}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 34}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 15}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 31}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 41}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 37}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 26}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 22}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 32}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 22}, {'agent_id': 'A1', 'task_id': 2, 'cost': 13}, {'agent_id': 'A1', 'task_id': 3, 'cost': 5}, {'agent_id': 'A1', 'task_id': 4, 'cost': 9}, {'agent_id': 'A1', 'task_id': 5, 'cost': 21}, {'agent_id': 'A2', 'task_id': 1, 'cost': 9}, {'agent_id': 'A2', 'task_id': 2, 'cost': 23}, {'agent_id': 'A2', 'task_id': 3, 'cost': 17}, {'agent_id': 'A2', 'task_id': 4, 'cost': 5}, {'agent_id': 'A2', 'task_id': 5, 'cost': 11}]}","['A2', 'A1', 'A1', 'A2', 'A2']",14,json,1 | |
| GAP,GAP,"Many people think printing is simple, but here there’s a list of jobs and several different printers, and every job must go to exactly one machine — no job gets left out or duplicated. For each job on each printer the required run time and the cost are already known, and each printer can only run for a fixed number of minutes. The smart move is the one that lowers the total cost for everything (just add each job’s chosen run cost), provided the total minutes sent to any printer stay within that printer’s available time. The full set of job-by-printer runtimes, prices, and printer capacities is shown below. | |
| Here are the 2 printers (A1, A2) and the 7 jobs (A, B, C, D, E, F, G) involved. | |
| | printer_id | available_minutes | | |
| |---|---| | |
| | A1 | 942 | | |
| | A2 | 952 | | |
| | printer_id | job_id | runtime_minutes | | |
| |---|---|---| | |
| | A1 | A | 19 | | |
| | A1 | B | 36 | | |
| | A1 | C | 39 | | |
| | A1 | D | 48 | | |
| | A1 | E | 35 | | |
| | A1 | F | 26 | | |
| | A1 | G | 45 | | |
| | A2 | A | 14 | | |
| | A2 | B | 23 | | |
| | A2 | C | 39 | | |
| | A2 | D | 23 | | |
| | A2 | E | 47 | | |
| | A2 | F | 36 | | |
| | A2 | G | 25 | | |
| | printer_id | job_id | run_cost | | |
| |---|---|---| | |
| | A1 | A | 18 | | |
| | A1 | B | 25 | | |
| | A1 | C | 25 | | |
| | A1 | D | 20 | | |
| | A1 | E | 23 | | |
| | A1 | F | 5 | | |
| | A1 | G | 6 | | |
| | A2 | A | 9 | | |
| | A2 | B | 10 | | |
| | A2 | C | 22 | | |
| | A2 | D | 23 | | |
| | A2 | E | 10 | | |
| | A2 | F | 24 | | |
| | A2 | G | 17 | | |
| Each of the 7 jobs must be assigned to one of the 2 printers so total run cost is minimized while every printer stays within its available minutes. | |
| Also, when you send the assignment back, keep it nice and simple in that little JSON shape below — it just lists which printer each job goes to in order. | |
| { | |
| ""solution"": [ | |
| <printer_id_for_first_task>, | |
| <printer_id_for_second_task>, | |
| ..., | |
| <printer_id_for_last_task> | |
| ] | |
| } | |
| The ""solution"" array is just a list: one entry per job, in the same order as the job list above, and each entry is the printer identifier you picked for that job. Think of it like filling out a short form that says, for job 1 send it to printer X, for job 2 send it to printer Y, and so on. This block is just a sketch of the shape I expect you to follow, not the actual assignment. | |
| Please use the exact identifiers from the instance input — don't rename them and don't 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”.""","{'resource_consumption': [[19, 36, 39, 48, 35, 26, 45], [14, 23, 39, 23, 47, 36, 25]], 'assignment_costs': [[18, 25, 25, 20, 23, 5, 6], [9, 10, 22, 23, 10, 24, 17]], 'capacities': [942, 952], 'objective': 82.0}","[1, 1, 1, 0, 1, 0, 0]",82.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 7, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 942}, {'agent_id': 'A2', 'capacity': 952}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 19}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 36}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 39}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 48}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 35}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 26}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 45}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 14}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 23}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 23}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 47}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 36}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 25}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 18}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 20}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 6}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 9}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 10}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 23}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 10}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 24}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 17}]}","['A2', 'A2', 'A2', 'A1', 'A2', 'A1', 'A1']",15,markdown_table,names | |
| GAP,GAP,"Back when the office was scheduling a conference, there was the familiar juggling act: dozens of documents to copy, several copy centers to choose from, and each center both charges differently and burns through a different number of pages for the same document. Each document needs to be printed in full at a single center (no halves, no duplicates), and each center only has a limited pile of paper to use. The trick is to assign every document to one center so none of the centers runs out of paper, and the total bill — the sum of all selected center charges — is kept as small as possible. The detailed options and numbers are shown below. | |
| There were 2 copy centers (A1, A2) and 8 documents (1, 2, 3, 4, 5, 6, 7, 8). | |
| Copy center A1 had 112 pages of paper available. | |
| Copy center A2 had 118 pages of paper available. | |
| At copy center A1, printing document 1 required 20 pages and would cost 11. | |
| At copy center A1, printing document 2 required 30 pages and would cost 13. | |
| At copy center A1, printing document 3 required 33 pages and would cost 20. | |
| At copy center A1, printing document 4 required 33 pages and would cost 6. | |
| At copy center A1, printing document 5 required 40 pages and would cost 16. | |
| At copy center A1, printing document 6 required 23 pages and would cost 9. | |
| At copy center A1, printing document 7 required 21 pages and would cost 13. | |
| At copy center A1, printing document 8 required 45 pages and would cost 7. | |
| At copy center A2, printing document 1 required 18 pages and would cost 8. | |
| At copy center A2, printing document 2 required 25 pages and would cost 24. | |
| At copy center A2, printing document 3 required 31 pages and would cost 7. | |
| At copy center A2, printing document 4 required 24 pages and would cost 17. | |
| At copy center A2, printing document 5 required 40 pages and would cost 9. | |
| At copy center A2, printing document 6 required 50 pages and would cost 23. | |
| At copy center A2, printing document 7 required 36 pages and would cost 24. | |
| At copy center A2, printing document 8 required 20 pages and would cost 19. | |
| The goal was to assign every document so no center ran out of paper and the total bill was minimized. | |
| If you'd like the result in a neat, machine-friendly form, I usually put the assignment into a tiny JSON that just lists which copy center handles each document in order. Here's the shape I'll follow: | |
| { | |
| ""solution"": [ | |
| <copy_center_id_for_first_document>, | |
| <copy_center_id_for_second_document>, | |
| ..., | |
| <copy_center_id_for_last_document> | |
| ] | |
| } | |
| That array lists documents in the same order they're shown in the instance, and each placeholder is where you'd put the exact ID of the copy center that should print that document. Think of it like a simple form: one slot per document, filled with the chosen center. | |
| This JSON is just a sketch of the expected shape, not the actual assignment — I'll fill in the real center IDs based on the instance when solving. | |
| Please use the identifiers exactly as they appear in 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”.""","{'resource_consumption': [[20, 30, 33, 33, 40, 23, 21, 45], [18, 25, 31, 24, 40, 50, 36, 20]], 'assignment_costs': [[11, 13, 20, 6, 16, 9, 13, 7], [8, 24, 7, 17, 9, 23, 24, 19]], 'capacities': [112, 118], 'objective': 84.0}","[1, 0, 1, 0, 1, 0, 0, 1]",84.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 8, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 112}, {'agent_id': 'A2', 'capacity': 118}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 20}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 30}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 33}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 33}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 40}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 23}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 21}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 45}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 18}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 25}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 40}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 50}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 36}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 20}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 11}, {'agent_id': 'A1', 'task_id': 2, 'cost': 13}, {'agent_id': 'A1', 'task_id': 3, 'cost': 20}, {'agent_id': 'A1', 'task_id': 4, 'cost': 6}, {'agent_id': 'A1', 'task_id': 5, 'cost': 16}, {'agent_id': 'A1', 'task_id': 6, 'cost': 9}, {'agent_id': 'A1', 'task_id': 7, 'cost': 13}, {'agent_id': 'A1', 'task_id': 8, 'cost': 7}, {'agent_id': 'A2', 'task_id': 1, 'cost': 8}, {'agent_id': 'A2', 'task_id': 2, 'cost': 24}, {'agent_id': 'A2', 'task_id': 3, 'cost': 7}, {'agent_id': 'A2', 'task_id': 4, 'cost': 17}, {'agent_id': 'A2', 'task_id': 5, 'cost': 9}, {'agent_id': 'A2', 'task_id': 6, 'cost': 23}, {'agent_id': 'A2', 'task_id': 7, 'cost': 24}, {'agent_id': 'A2', 'task_id': 8, 'cost': 19}]}","['A2', 'A1', 'A2', 'A1', 'A2', 'A1', 'A1', 'A2']",16,nl,1 | |
| GAP,GAP,"There's a pile of care appointments waiting to be handed out, and each one has to land with a single aide. For every possible assignment there’s a clear time hit on the aide’s schedule and a dollar (or points) cost attached. Each aide has a set amount of time they can work, so assignments can’t push anyone past their available hours, and every appointment must be assigned exactly once. The way to compare different schedules is straightforward: total up the cost for each appointment under the people chosen, and pick the plan with the smallest total. The exact figures are listed below. | |
| There are 3 aides available and 9 appointments to assign; the aides are A1, A2, A3 and the appointments are 1, 2, 3, 4, 5, 6, 7, 8, 9. | |
| Aide A1 has 57 available time. | |
| Aide A2 has 61 available time. | |
| Aide A3 has 57 available time. | |
| If A1 is assigned 1 it consumes 10 time and incurs a cost of 9. | |
| If A1 is assigned 2 it consumes 32 time and incurs a cost of 22. | |
| If A1 is assigned 3 it consumes 45 time and incurs a cost of 7. | |
| If A1 is assigned 4 it consumes 15 time and incurs a cost of 20. | |
| If A1 is assigned 5 it consumes 31 time and incurs a cost of 25. | |
| If A1 is assigned 6 it consumes 17 time and incurs a cost of 13. | |
| If A1 is assigned 7 it consumes 19 time and incurs a cost of 24. | |
| If A1 is assigned 8 it consumes 34 time and incurs a cost of 13. | |
| If A1 is assigned 9 it consumes 40 time and incurs a cost of 8. | |
| If A2 is assigned 1 it consumes 11 time and incurs a cost of 18. | |
| If A2 is assigned 2 it consumes 48 time and incurs a cost of 25. | |
| If A2 is assigned 3 it consumes 19 time and incurs a cost of 5. | |
| If A2 is assigned 4 it consumes 46 time and incurs a cost of 25. | |
| If A2 is assigned 5 it consumes 13 time and incurs a cost of 24. | |
| If A2 is assigned 6 it consumes 21 time and incurs a cost of 17. | |
| If A2 is assigned 7 it consumes 13 time and incurs a cost of 23. | |
| If A2 is assigned 8 it consumes 13 time and incurs a cost of 8. | |
| If A2 is assigned 9 it consumes 25 time and incurs a cost of 17. | |
| If A3 is assigned 1 it consumes 34 time and incurs a cost of 9. | |
| If A3 is assigned 2 it consumes 14 time and incurs a cost of 7. | |
| If A3 is assigned 3 it consumes 20 time and incurs a cost of 10. | |
| If A3 is assigned 4 it consumes 39 time and incurs a cost of 25. | |
| If A3 is assigned 5 it consumes 33 time and incurs a cost of 6. | |
| If A3 is assigned 6 it consumes 28 time and incurs a cost of 6. | |
| If A3 is assigned 7 it consumes 28 time and incurs a cost of 5. | |
| If A3 is assigned 8 it consumes 35 time and incurs a cost of 24. | |
| If A3 is assigned 9 it consumes 35 time and incurs a cost of 21. | |
| Assign each appointment exactly once without exceeding any aide's available time, and pick the assignment plan with the lowest total cost. | |
| Oh, and when you send the assignment back, it helps to use a little JSON snippet so it's easy to read and check. Something casual like this works: | |
| { | |
| ""solution"": [ | |
| <aide_id_for_first_task>, | |
| <aide_id_for_second_task>, | |
| ..., | |
| <aide_id_for_last_task> | |
| ] | |
| } | |
| This just means: the ""solution"" field is a list, and each entry is the ID of the aide you picked for that appointment in order — first list entry for the first appointment, second for the second, and so on. It's just a sketch of the expected shape, not the actual answer. | |
| Please 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”.""","{'resource_consumption': [[10, 32, 45, 15, 31, 17, 19, 34, 40], [11, 48, 19, 46, 13, 21, 13, 13, 25], [34, 14, 20, 39, 33, 28, 28, 35, 35]], 'assignment_costs': [[9, 22, 7, 20, 25, 13, 24, 13, 8], [18, 25, 5, 25, 24, 17, 23, 8, 17], [9, 7, 10, 25, 6, 6, 5, 24, 21]], 'capacities': [57, 61, 57], 'objective': 130.0}","[0, 2, 1, 0, 1, 0, 1, 1, 2]",130.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8, 9], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 57}, {'agent_id': 'A2', 'capacity': 61}, {'agent_id': 'A3', 'capacity': 57}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 10}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 32}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 15}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 31}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 17}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 19}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 34}, {'agent_id': 'A1', 'task_id': 9, 'consumption': 40}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 11}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 48}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 19}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 46}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 21}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 9, 'consumption': 25}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 34}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 14}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 20}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 39}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 33}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 28}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 28}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 35}, {'agent_id': 'A3', 'task_id': 9, 'consumption': 35}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 9}, {'agent_id': 'A1', 'task_id': 2, 'cost': 22}, {'agent_id': 'A1', 'task_id': 3, 'cost': 7}, {'agent_id': 'A1', 'task_id': 4, 'cost': 20}, {'agent_id': 'A1', 'task_id': 5, 'cost': 25}, {'agent_id': 'A1', 'task_id': 6, 'cost': 13}, {'agent_id': 'A1', 'task_id': 7, 'cost': 24}, {'agent_id': 'A1', 'task_id': 8, 'cost': 13}, {'agent_id': 'A1', 'task_id': 9, 'cost': 8}, {'agent_id': 'A2', 'task_id': 1, 'cost': 18}, {'agent_id': 'A2', 'task_id': 2, 'cost': 25}, {'agent_id': 'A2', 'task_id': 3, 'cost': 5}, {'agent_id': 'A2', 'task_id': 4, 'cost': 25}, {'agent_id': 'A2', 'task_id': 5, 'cost': 24}, {'agent_id': 'A2', 'task_id': 6, 'cost': 17}, {'agent_id': 'A2', 'task_id': 7, 'cost': 23}, {'agent_id': 'A2', 'task_id': 8, 'cost': 8}, {'agent_id': 'A2', 'task_id': 9, 'cost': 17}, {'agent_id': 'A3', 'task_id': 1, 'cost': 9}, {'agent_id': 'A3', 'task_id': 2, 'cost': 7}, {'agent_id': 'A3', 'task_id': 3, 'cost': 10}, {'agent_id': 'A3', 'task_id': 4, 'cost': 25}, {'agent_id': 'A3', 'task_id': 5, 'cost': 6}, {'agent_id': 'A3', 'task_id': 6, 'cost': 6}, {'agent_id': 'A3', 'task_id': 7, 'cost': 5}, {'agent_id': 'A3', 'task_id': 8, 'cost': 24}, {'agent_id': 'A3', 'task_id': 9, 'cost': 21}]}","['A1', 'A3', 'A2', 'A1', 'A2', 'A1', 'A2', 'A2', 'A3']",17,nl,1 | |
| GAP,GAP,"I run the weekly cover plan at the school and need to slot every lesson that needs covering to one substitute each — no lesson left uncovered and no lesson handed to two people. For every possible pairing there’s a known amount of time that sub would spend (prep plus teaching) and a known fee they charge. Each sub only has a certain number of hours available, so the trick is to pick who covers which lessons so nobody is asked to work more than their hours and the total amount paid out in fees is as small as possible. The total cost is just the sum of the fees for all assigned lessons, and the exact lesson times and substitute fees are listed below. | |
| # num_substitutes=2 | |
| # num_lessons=6 | |
| # substitutes=A1, A2 | |
| # lessons=A, B, C, D, E, F | |
| substitute_id,available_hours | |
| A1,240 | |
| A2,229 | |
| substitute_id,lesson_id,time_required_hours | |
| A1,A,35 | |
| A1,B,17 | |
| A1,C,23 | |
| A1,D,16 | |
| A1,E,37 | |
| A1,F,40 | |
| A2,A,30 | |
| A2,B,44 | |
| A2,C,15 | |
| A2,D,38 | |
| A2,E,13 | |
| A2,F,36 | |
| substitute_id,lesson_id,fee | |
| A1,A,17 | |
| A1,B,6 | |
| A1,C,11 | |
| A1,D,23 | |
| A1,E,11 | |
| A1,F,14 | |
| A2,A,12 | |
| A2,B,12 | |
| A2,C,8 | |
| A2,D,20 | |
| A2,E,7 | |
| A2,F,14 | |
| If you want the answer in a tidy, machine-friendly shape, send it back in a JSON object like this: | |
| { | |
| ""solution"": [ | |
| <sub_id_for_first_lesson>, | |
| <sub_id_for_second_lesson>, | |
| ..., | |
| <sub_id_for_last_lesson> | |
| ] | |
| } | |
| This just means ""solution"" is a list where each entry is the substitute chosen for the corresponding lesson (first lesson → first entry, second lesson → second entry, and so on). Think of it like filling in a simple form: one substitute identifier per lesson, in the same order the lessons were given. This JSON is only a sketch of the shape I expect — not the actual completed assignment. | |
| Please use the exact identifiers from the instance input — 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” | |
| - a capital letter followed by digits like “A1” or “X7”","{'resource_consumption': [[35, 17, 23, 16, 37, 40], [30, 44, 15, 38, 13, 36]], 'assignment_costs': [[17, 6, 11, 23, 11, 14], [12, 12, 8, 20, 7, 14]], 'capacities': [240, 229], 'objective': 67.0}","[1, 0, 1, 1, 1, 1]",67.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 240}, {'agent_id': 'A2', 'capacity': 229}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 35}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 17}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 23}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 16}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 37}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 40}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 30}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 44}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 15}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 38}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 13}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 36}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 6}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 11}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 11}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 20}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 14}]}","['A2', 'A1', 'A2', 'A2', 'A2', 'A2']",18,csv,names | |
| GAP,GAP,"There’s a dispatch problem on the floor: stacks of boxes and a row of vans, and someone needs to match them up. Each box has to ride on exactly one van, and each van has a weight/space limit that can’t be exceeded. Every potential match has two bits of info — how much of the van’s capacity that box would take and how much it would cost — so the nicest outcome is the one with the smallest total of all those fees, computed by summing the fee for each assigned box. The full list of loads and fees for all package–van combinations is shown below. | |
| { | |
| ""num_vans"": 2, | |
| ""num_packages"": 8, | |
| ""van_ids"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""package_ids"": [ | |
| ""A"", | |
| ""B"", | |
| ""C"", | |
| ""D"", | |
| ""E"", | |
| ""F"", | |
| ""G"", | |
| ""H"" | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""van_id"": ""A1"", | |
| ""van_capacity"": 209 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""van_capacity"": 209 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""A"", | |
| ""load_consumption"": 29 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""B"", | |
| ""load_consumption"": 20 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""C"", | |
| ""load_consumption"": 35 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""D"", | |
| ""load_consumption"": 46 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""E"", | |
| ""load_consumption"": 42 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""F"", | |
| ""load_consumption"": 34 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""G"", | |
| ""load_consumption"": 27 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""H"", | |
| ""load_consumption"": 43 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""A"", | |
| ""load_consumption"": 37 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""B"", | |
| ""load_consumption"": 16 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""C"", | |
| ""load_consumption"": 16 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""D"", | |
| ""load_consumption"": 39 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""E"", | |
| ""load_consumption"": 44 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""F"", | |
| ""load_consumption"": 34 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""G"", | |
| ""load_consumption"": 40 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""H"", | |
| ""load_consumption"": 28 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""A"", | |
| ""delivery_fee"": 17 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""B"", | |
| ""delivery_fee"": 21 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""C"", | |
| ""delivery_fee"": 25 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""D"", | |
| ""delivery_fee"": 8 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""E"", | |
| ""delivery_fee"": 8 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""F"", | |
| ""delivery_fee"": 6 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""G"", | |
| ""delivery_fee"": 12 | |
| }, | |
| { | |
| ""van_id"": ""A1"", | |
| ""package_id"": ""H"", | |
| ""delivery_fee"": 19 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""A"", | |
| ""delivery_fee"": 12 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""B"", | |
| ""delivery_fee"": 24 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""C"", | |
| ""delivery_fee"": 21 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""D"", | |
| ""delivery_fee"": 8 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""E"", | |
| ""delivery_fee"": 23 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""F"", | |
| ""delivery_fee"": 12 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""G"", | |
| ""delivery_fee"": 24 | |
| }, | |
| { | |
| ""van_id"": ""A2"", | |
| ""package_id"": ""H"", | |
| ""delivery_fee"": 18 | |
| } | |
| ] | |
| } | |
| When you send back your pick, a little JSON like this keeps things tidy and easy to check: | |
| { | |
| ""solution"": [ | |
| <van_id_for_first_box>, | |
| <van_id_for_second_box>, | |
| ..., | |
| <van_id_for_last_box> | |
| ] | |
| } | |
| This just says, in order, which van each box should go on — first entry = van for the first box, second = van for the second box, and so on. Think of it like filling out a simple form: one van ID per box, in the same order the boxes were listed. It’s only a sketch of the shape I’m expecting, not the actual assignment. | |
| Please use the exact identifiers from the instance input when you fill that in — 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”.""","{'resource_consumption': [[29, 20, 35, 46, 42, 34, 27, 43], [37, 16, 16, 39, 44, 34, 40, 28]], 'assignment_costs': [[17, 21, 25, 8, 8, 6, 12, 19], [12, 24, 21, 8, 23, 12, 24, 18]], 'capacities': [209, 209], 'objective': 106.0}","[1, 0, 1, 1, 0, 0, 0, 1]",106.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 8, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 209}, {'agent_id': 'A2', 'capacity': 209}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 29}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 20}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 35}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 46}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 42}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 34}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 27}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 43}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 37}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 16}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 16}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 44}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 34}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 40}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 28}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 6}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 12}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 19}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 24}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 23}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 24}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 18}]}","['A2', 'A1', 'A2', 'A2', 'A1', 'A1', 'A1', 'A2']",19,json,names | |
| GAP,GAP,"Someone at the registrar’s office is trying to fit all the courses into available rooms: each course needs a single room, rooms can hold multiple courses only if their combined space fits the number of seats, and each pairing of course and room comes with a different rental charge. The aim is to place every course into one room, avoid overfilling any room, and keep the total rent bill—the sum of the fees for the chosen room for each course—down to the minimum. The detailed list of classes, rooms, capacities, and prices is provided below. | |
| # num_rooms=3 | |
| # num_classes=10 | |
| # room_ids=A1, A2, A3 | |
| # class_ids=1, 2, 3, 4, 5, 6, 7, 8, 9, 10 | |
| room_id,seating_capacity | |
| A1,120 | |
| A2,116 | |
| A3,123 | |
| room_id,class_id,space_required | |
| A1,1,50 | |
| A1,2,45 | |
| A1,3,14 | |
| A1,4,39 | |
| A1,5,48 | |
| A1,6,27 | |
| A1,7,20 | |
| A1,8,40 | |
| A1,9,12 | |
| A1,10,46 | |
| A2,1,29 | |
| A2,2,37 | |
| A2,3,27 | |
| A2,4,42 | |
| A2,5,19 | |
| A2,6,22 | |
| A2,7,15 | |
| A2,8,21 | |
| A2,9,23 | |
| A2,10,22 | |
| A3,1,48 | |
| A3,2,33 | |
| A3,3,41 | |
| A3,4,21 | |
| A3,5,12 | |
| A3,6,38 | |
| A3,7,42 | |
| A3,8,40 | |
| A3,9,43 | |
| A3,10,36 | |
| room_id,class_id,rental_fee | |
| A1,1,16 | |
| A1,2,13 | |
| A1,3,19 | |
| A1,4,12 | |
| A1,5,7 | |
| A1,6,9 | |
| A1,7,17 | |
| A1,8,22 | |
| A1,9,20 | |
| A1,10,11 | |
| A2,1,25 | |
| A2,2,15 | |
| A2,3,13 | |
| A2,4,22 | |
| A2,5,14 | |
| A2,6,23 | |
| A2,7,9 | |
| A2,8,21 | |
| A2,9,6 | |
| A2,10,22 | |
| A3,1,10 | |
| A3,2,11 | |
| A3,3,7 | |
| A3,4,16 | |
| A3,5,20 | |
| A3,6,23 | |
| A3,7,14 | |
| A3,8,25 | |
| A3,9,13 | |
| A3,10,20 | |
| Also, when you send the final assignment back, a compact JSON sketch like the one below is perfect — just a single top-level ""solution"" array listing the room id for each course in order. | |
| { | |
| ""solution"": [ | |
| <room_id_for_first_course>, | |
| <room_id_for_second_course>, | |
| ..., | |
| <room_id_for_last_course> | |
| ] | |
| } | |
| Think of that as a simple form: the ""solution"" array lists, in order, which room each course goes into (first array entry = first course, second = second course, etc.). The placeholders show the expected shape — they’re not the actual answers, just a template for how to return the assignment. | |
| Please use the exact identifiers from 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”.""","{'resource_consumption': [[50, 45, 14, 39, 48, 27, 20, 40, 12, 46], [29, 37, 27, 42, 19, 22, 15, 21, 23, 22], [48, 33, 41, 21, 12, 38, 42, 40, 43, 36]], 'assignment_costs': [[16, 13, 19, 12, 7, 9, 17, 22, 20, 11], [25, 15, 13, 22, 14, 23, 9, 21, 6, 22], [10, 11, 7, 16, 20, 23, 14, 25, 13, 20]], 'capacities': [120, 116, 123], 'objective': 110.0}","[2, 2, 2, 0, 1, 0, 1, 1, 1, 0]",110.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 10, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 120}, {'agent_id': 'A2', 'capacity': 116}, {'agent_id': 'A3', 'capacity': 123}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 50}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 48}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 27}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 20}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 40}, {'agent_id': 'A1', 'task_id': 9, 'consumption': 12}, {'agent_id': 'A1', 'task_id': 10, 'consumption': 46}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 37}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 19}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 22}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 15}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 21}, {'agent_id': 'A2', 'task_id': 9, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 10, 'consumption': 22}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 48}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 33}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 41}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 21}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 12}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 38}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 42}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 40}, {'agent_id': 'A3', 'task_id': 9, 'consumption': 43}, {'agent_id': 'A3', 'task_id': 10, 'consumption': 36}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 16}, {'agent_id': 'A1', 'task_id': 2, 'cost': 13}, {'agent_id': 'A1', 'task_id': 3, 'cost': 19}, {'agent_id': 'A1', 'task_id': 4, 'cost': 12}, {'agent_id': 'A1', 'task_id': 5, 'cost': 7}, {'agent_id': 'A1', 'task_id': 6, 'cost': 9}, {'agent_id': 'A1', 'task_id': 7, 'cost': 17}, {'agent_id': 'A1', 'task_id': 8, 'cost': 22}, {'agent_id': 'A1', 'task_id': 9, 'cost': 20}, {'agent_id': 'A1', 'task_id': 10, 'cost': 11}, {'agent_id': 'A2', 'task_id': 1, 'cost': 25}, {'agent_id': 'A2', 'task_id': 2, 'cost': 15}, {'agent_id': 'A2', 'task_id': 3, 'cost': 13}, {'agent_id': 'A2', 'task_id': 4, 'cost': 22}, {'agent_id': 'A2', 'task_id': 5, 'cost': 14}, {'agent_id': 'A2', 'task_id': 6, 'cost': 23}, {'agent_id': 'A2', 'task_id': 7, 'cost': 9}, {'agent_id': 'A2', 'task_id': 8, 'cost': 21}, {'agent_id': 'A2', 'task_id': 9, 'cost': 6}, {'agent_id': 'A2', 'task_id': 10, 'cost': 22}, {'agent_id': 'A3', 'task_id': 1, 'cost': 10}, {'agent_id': 'A3', 'task_id': 2, 'cost': 11}, {'agent_id': 'A3', 'task_id': 3, 'cost': 7}, {'agent_id': 'A3', 'task_id': 4, 'cost': 16}, {'agent_id': 'A3', 'task_id': 5, 'cost': 20}, {'agent_id': 'A3', 'task_id': 6, 'cost': 23}, {'agent_id': 'A3', 'task_id': 7, 'cost': 14}, {'agent_id': 'A3', 'task_id': 8, 'cost': 25}, {'agent_id': 'A3', 'task_id': 9, 'cost': 13}, {'agent_id': 'A3', 'task_id': 10, 'cost': 20}]}","['A3', 'A3', 'A3', 'A1', 'A2', 'A1', 'A2', 'A2', 'A2', 'A1']",20,csv,1 | |
| GAP,GAP,"Recently the operations team had to redistribute all the setup tasks across our crews: every single setup must be assigned to one crew and only one crew, and each crew has a cap on the labor hours they can handle. For each possible assignment there’s a known hour estimate and a price tag, so the way to judge a plan is to total the prices of the chosen assignments and pick the plan with the lowest total, provided no crew goes over its available hours. The detailed hours and charges are provided below. | |
| { | |
| ""num_crews"": 2, | |
| ""num_setup_jobs"": 6, | |
| ""crew_ids"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""setup_job_ids"": [ | |
| 0, | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""crew_id"": ""A1"", | |
| ""available_hours"": 493 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""available_hours"": 493 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 0, | |
| ""hours_required"": 42 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 1, | |
| ""hours_required"": 29 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 2, | |
| ""hours_required"": 37 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 3, | |
| ""hours_required"": 46 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 4, | |
| ""hours_required"": 35 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 5, | |
| ""hours_required"": 17 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 0, | |
| ""hours_required"": 24 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 1, | |
| ""hours_required"": 36 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 2, | |
| ""hours_required"": 21 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 3, | |
| ""hours_required"": 38 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 4, | |
| ""hours_required"": 38 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 5, | |
| ""hours_required"": 42 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 0, | |
| ""charge"": 22 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 1, | |
| ""charge"": 13 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 2, | |
| ""charge"": 23 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 3, | |
| ""charge"": 20 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 4, | |
| ""charge"": 7 | |
| }, | |
| { | |
| ""crew_id"": ""A1"", | |
| ""setup_job_id"": 5, | |
| ""charge"": 10 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 0, | |
| ""charge"": 6 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 1, | |
| ""charge"": 8 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 2, | |
| ""charge"": 6 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 3, | |
| ""charge"": 11 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 4, | |
| ""charge"": 7 | |
| }, | |
| { | |
| ""crew_id"": ""A2"", | |
| ""setup_job_id"": 5, | |
| ""charge"": 12 | |
| } | |
| ] | |
| } | |
| Also, when you send the final assignment back, please use this simple JSON shape so I can pick it up easily — just a neat list of which crew goes on which setup: | |
| { | |
| ""solution"": [ | |
| <crew_id_for_first_setup>, | |
| <crew_id_for_second_setup>, | |
| ..., | |
| <crew_id_for_last_setup> | |
| ] | |
| } | |
| Think of ""solution"" as a form field with one entry per setup task (in the same order as the instance). Each entry is the crew identifier you're assigning to that setup. Super casual — just match each setup to a crew in order. | |
| This is only a sketch of the expected shape, not the actual answer — fill in the real crew identifiers when you reply. | |
| Important: 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”"".","{'resource_consumption': [[42, 29, 37, 46, 35, 17], [24, 36, 21, 38, 38, 42]], 'assignment_costs': [[22, 13, 23, 20, 7, 10], [6, 8, 6, 11, 7, 12]], 'capacities': [493, 493], 'objective': 48.0}","[1, 1, 1, 1, 1, 0]",48.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': [0, 1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 493}, {'agent_id': 'A2', 'capacity': 493}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 42}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 29}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 37}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 46}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 17}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 36}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 21}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 38}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 38}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 42}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 22}, {'agent_id': 'A1', 'task_id': 1, 'cost': 13}, {'agent_id': 'A1', 'task_id': 2, 'cost': 23}, {'agent_id': 'A1', 'task_id': 3, 'cost': 20}, {'agent_id': 'A1', 'task_id': 4, 'cost': 7}, {'agent_id': 'A1', 'task_id': 5, 'cost': 10}, {'agent_id': 'A2', 'task_id': 0, 'cost': 6}, {'agent_id': 'A2', 'task_id': 1, 'cost': 8}, {'agent_id': 'A2', 'task_id': 2, 'cost': 6}, {'agent_id': 'A2', 'task_id': 3, 'cost': 11}, {'agent_id': 'A2', 'task_id': 4, 'cost': 7}, {'agent_id': 'A2', 'task_id': 5, 'cost': 12}]}","['A2', 'A2', 'A2', 'A2', 'A2', 'A1']",21,json,0 | |
| GAP,GAP,"Someone in planning has to hand out orders to machines so every order ends up on exactly one machine and nothing gets processed twice or dropped. Each potential assignment already tells how many machine minutes it will take and how much that specific processing will cost, and every machine only has a limited block of runtime. The trick is to hand out the orders in a way that keeps the overall processing bill — the sum of each order’s assigned cost — as small as possible, while making sure no machine’s total run time goes past its limit. The detailed runtimes and costs follow below. | |
| # num_machines=2 | |
| # num_orders=5 | |
| # machine_ids=A1, A2 | |
| # order_ids=A, B, C, D, E | |
| machine_id,runtime_capacity_minutes | |
| A1,493 | |
| A2,493 | |
| machine_id,order_id,runtime_minutes | |
| A1,A,20 | |
| A1,B,11 | |
| A1,C,21 | |
| A1,D,27 | |
| A1,E,43 | |
| A2,A,50 | |
| A2,B,24 | |
| A2,C,39 | |
| A2,D,34 | |
| A2,E,30 | |
| machine_id,order_id,processing_cost | |
| A1,A,23 | |
| A1,B,10 | |
| A1,C,12 | |
| A1,D,10 | |
| A1,E,12 | |
| A2,A,17 | |
| A2,B,8 | |
| A2,C,6 | |
| A2,D,7 | |
| A2,E,11 | |
| You can send the final assignment back in a tiny, predictable JSON shape so whoever reads it knows which machine gets which order. Something like this will do: | |
| { | |
| ""solution"": [ | |
| <machine_id_for_first_task>, | |
| <machine_id_for_second_task>, | |
| ..., | |
| <machine_id_for_last_task> | |
| ] | |
| } | |
| Here ""solution"" is just a list that goes in order: the first entry is the machine that will handle the first order, the second entry is the machine for the second order, and so on. Think of it like filling out a simple form where each line says which machine an order was handed to. | |
| This is only a sketch of the shape I need — not the real answer. Please make sure you use the exact identifiers from the instance input, without renaming or inventing 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”.""","{'resource_consumption': [[20, 11, 21, 27, 43], [50, 24, 39, 34, 30]], 'assignment_costs': [[23, 10, 12, 10, 12], [17, 8, 6, 7, 11]], 'capacities': [493, 493], 'objective': 49.0}","[1, 1, 1, 1, 1]",49.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 493}, {'agent_id': 'A2', 'capacity': 493}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 20}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 11}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 21}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 27}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 43}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 50}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 24}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 34}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 30}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 10}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 12}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 10}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 17}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 6}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 11}]}","['A2', 'A2', 'A2', 'A2', 'A2']",22,csv,names | |
| GAP,GAP,"I run a tiny editing desk and have a pile of articles that all need to go to copy editors. Each article has to be sent to one — and only one — editor, and no piece can be skipped or handed out twice. Every editor has a set number of available hours, each article would take a certain amount of an editor’s time and carries a fee for that pairing, and the total time assigned to any editor can’t go past their available hours. The plan is to pick which editor gets which article so the sum of all those per-article fees (just add up the fee for every article-editor match) is as low as possible. The exact article times, editor hours, and fees are shown below. | |
| { | |
| ""num_editors"": 2, | |
| ""num_articles"": 6, | |
| ""editors"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""articles"": [ | |
| ""A"", | |
| ""B"", | |
| ""C"", | |
| ""D"", | |
| ""E"", | |
| ""F"" | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""editor_id"": ""A1"", | |
| ""available_editing_hours"": 254 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""available_editing_hours"": 235 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""A"", | |
| ""editing_time_hours"": 41 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""B"", | |
| ""editing_time_hours"": 45 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""C"", | |
| ""editing_time_hours"": 48 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""D"", | |
| ""editing_time_hours"": 43 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""E"", | |
| ""editing_time_hours"": 39 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""F"", | |
| ""editing_time_hours"": 21 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""A"", | |
| ""editing_time_hours"": 30 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""B"", | |
| ""editing_time_hours"": 18 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""C"", | |
| ""editing_time_hours"": 45 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""D"", | |
| ""editing_time_hours"": 40 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""E"", | |
| ""editing_time_hours"": 44 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""F"", | |
| ""editing_time_hours"": 17 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""A"", | |
| ""fee"": 11 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""B"", | |
| ""fee"": 19 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""C"", | |
| ""fee"": 19 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""D"", | |
| ""fee"": 13 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""E"", | |
| ""fee"": 22 | |
| }, | |
| { | |
| ""editor_id"": ""A1"", | |
| ""article_id"": ""F"", | |
| ""fee"": 11 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""A"", | |
| ""fee"": 15 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""B"", | |
| ""fee"": 13 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""C"", | |
| ""fee"": 18 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""D"", | |
| ""fee"": 21 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""E"", | |
| ""fee"": 25 | |
| }, | |
| { | |
| ""editor_id"": ""A2"", | |
| ""article_id"": ""F"", | |
| ""fee"": 11 | |
| } | |
| ] | |
| } | |
| If you want to give me the result, just drop it in this simple JSON shape — nothing fancy. It should look like this: | |
| { | |
| ""solution"": [ | |
| <editor_id_for_first_article>, | |
| <editor_id_for_second_article>, | |
| ..., | |
| <editor_id_for_last_article> | |
| ] | |
| } | |
| This just means: the ""solution"" array lists which editor gets each article, in order (first entry = editor for the first article, second entry = editor for the second article, and so on). Think of it like filling a short form — the placeholders show the kind of identifier I expect, but this is only the sketch of the shape, not the actual assignment. | |
| Please 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”.","{'resource_consumption': [[41, 45, 48, 43, 39, 21], [30, 18, 45, 40, 44, 17]], 'assignment_costs': [[11, 19, 19, 13, 22, 11], [15, 13, 18, 21, 25, 11]], 'capacities': [254, 235], 'objective': 88.0}","[0, 1, 1, 0, 0, 1]",88.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 254}, {'agent_id': 'A2', 'capacity': 235}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 41}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 45}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 48}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 43}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 39}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 21}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 30}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 18}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 45}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 40}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 44}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 17}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 11}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 19}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 19}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 13}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 11}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 15}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 11}]}","['A1', 'A2', 'A2', 'A1', 'A1', 'A2']",23,json,names | |
| GAP,GAP,"Someone in the neighborhood is coordinating supply drops, and their problem is matching up volunteers with packages. The rule is straightforward: each package must go with exactly one volunteer and no package gets duplicated or ignored. Volunteers can take multiple packages but only up to their own weight allowance, so the combined weight they carry must stay under that cap. Since every package–volunteer combination has a cost attached, the goal is to put packages with volunteers so the total of those costs is as low as possible — just sum the costs for every chosen pairing and prefer the plan with the smallest sum, keeping each person’s load within their limit. All the specific weights and costs are listed below. | |
| There are 3 volunteers and 10 packages; the volunteers are A1, A2, A3 and the packages are A, B, C, D, E, F, G, H, I, J. | |
| | volunteer_id | max_carry_weight | | |
| |---|---| | |
| | A1 | 209 | | |
| | A2 | 209 | | |
| | A3 | 209 | | |
| | volunteer_id | package_id | weight_consumption | | |
| |---|---|---| | |
| | A1 | A | 29 | | |
| | A1 | B | 19 | | |
| | A1 | C | 29 | | |
| | A1 | D | 37 | | |
| | A1 | E | 41 | | |
| | A1 | F | 17 | | |
| | A1 | G | 36 | | |
| | A1 | H | 16 | | |
| | A1 | I | 15 | | |
| | A1 | J | 20 | | |
| | A2 | A | 14 | | |
| | A2 | B | 42 | | |
| | A2 | C | 33 | | |
| | A2 | D | 25 | | |
| | A2 | E | 20 | | |
| | A2 | F | 34 | | |
| | A2 | G | 35 | | |
| | A2 | H | 27 | | |
| | A2 | I | 48 | | |
| | A2 | J | 40 | | |
| | A3 | A | 13 | | |
| | A3 | B | 20 | | |
| | A3 | C | 24 | | |
| | A3 | D | 37 | | |
| | A3 | E | 19 | | |
| | A3 | F | 17 | | |
| | A3 | G | 30 | | |
| | A3 | H | 42 | | |
| | A3 | I | 45 | | |
| | A3 | J | 49 | | |
| | volunteer_id | package_id | delivery_cost | | |
| |---|---|---| | |
| | A1 | A | 17 | | |
| | A1 | B | 11 | | |
| | A1 | C | 23 | | |
| | A1 | D | 13 | | |
| | A1 | E | 8 | | |
| | A1 | F | 5 | | |
| | A1 | G | 13 | | |
| | A1 | H | 8 | | |
| | A1 | I | 5 | | |
| | A1 | J | 8 | | |
| | A2 | A | 22 | | |
| | A2 | B | 16 | | |
| | A2 | C | 15 | | |
| | A2 | D | 19 | | |
| | A2 | E | 22 | | |
| | A2 | F | 7 | | |
| | A2 | G | 19 | | |
| | A2 | H | 25 | | |
| | A2 | I | 18 | | |
| | A2 | J | 11 | | |
| | A3 | A | 15 | | |
| | A3 | B | 23 | | |
| | A3 | C | 19 | | |
| | A3 | D | 19 | | |
| | A3 | E | 25 | | |
| | A3 | F | 13 | | |
| | A3 | G | 6 | | |
| | A3 | H | 10 | | |
| | A3 | I | 20 | | |
| | A3 | J | 15 | | |
| Record these entries so the coordinator can assign each package exactly once, keep every volunteer within their weight allowance, and minimize the total delivery cost. | |
| Also, when you send your answer, please follow this simple JSON layout so I can read it easily: | |
| { | |
| ""solution"": [ | |
| <volunteer_id_for_first_task>, | |
| <volunteer_id_for_second_task>, | |
| ..., | |
| <volunteer_id_for_last_task> | |
| ] | |
| } | |
| The idea here is straightforward: the ""solution"" array lists, in order, which volunteer takes each package — the first entry is who handles the first package, the second entry is who handles the second package, and so on. Think of it like filling out a form: one volunteer ID per package, in the package order. This JSON is just a sketch of the shape I expect, not the final plan. | |
| Please make 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”.","{'resource_consumption': [[29, 19, 29, 37, 41, 17, 36, 16, 15, 20], [14, 42, 33, 25, 20, 34, 35, 27, 48, 40], [13, 20, 24, 37, 19, 17, 30, 42, 45, 49]], 'assignment_costs': [[17, 11, 23, 13, 8, 5, 13, 8, 5, 8], [22, 16, 15, 19, 22, 7, 19, 25, 18, 11], [15, 23, 19, 19, 25, 13, 6, 10, 20, 15]], 'capacities': [209, 209, 209], 'objective': 94.0}","[2, 0, 1, 0, 0, 0, 2, 0, 0, 0]",94.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 10, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 209}, {'agent_id': 'A2', 'capacity': 209}, {'agent_id': 'A3', 'capacity': 209}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 29}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 19}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 29}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 37}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 41}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 17}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 36}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 16}, {'agent_id': 'A1', 'task_id': 'I', 'consumption': 15}, {'agent_id': 'A1', 'task_id': 'J', 'consumption': 20}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 14}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 42}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 33}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 25}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 20}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 34}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 35}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 27}, {'agent_id': 'A2', 'task_id': 'I', 'consumption': 48}, {'agent_id': 'A2', 'task_id': 'J', 'consumption': 40}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 13}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 20}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 24}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 37}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 19}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 17}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 30}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 42}, {'agent_id': 'A3', 'task_id': 'I', 'consumption': 45}, {'agent_id': 'A3', 'task_id': 'J', 'consumption': 49}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 11}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 13}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 13}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'I', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'J', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 16}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 15}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 19}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 19}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'I', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'J', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 15}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 23}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 25}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 13}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 6}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 10}, {'agent_id': 'A3', 'task_id': 'I', 'cost': 20}, {'agent_id': 'A3', 'task_id': 'J', 'cost': 15}]}","['A3', 'A1', 'A2', 'A1', 'A1', 'A1', 'A3', 'A1', 'A1', 'A1']",24,markdown_table,names | |
| GAP,GAP,"I’m juggling a shoot where a bunch of scenes need to be handed off to film crews, and the job is to pick exactly one crew for each scene — no scene gets skipped or doubled up. Each possible crew–scene pairing already has a known number of shooting days it would take and a price tag, and each crew only has so many days available. The aim is to make the whole production bill as small as possible by adding up the price for every scene with the crew it’s assigned to and keeping that total down, while never giving any crew more days than they have and always assigning every scene to one crew. Concrete details about scenes, crews, days, and costs are shown below. | |
| Here are the specifics: I've got 2 crews and 6 scenes — crews are A1, A2 and scenes are A, B, C, D, E, F. | |
| | crew_id | available_days | | |
| |---|---| | |
| | A1 | 490 | | |
| | A2 | 461 | | |
| | crew_id | scene_id | days_required | | |
| |---|---|---| | |
| | A1 | A | 22 | | |
| | A1 | B | 13 | | |
| | A1 | C | 31 | | |
| | A1 | D | 33 | | |
| | A1 | E | 25 | | |
| | A1 | F | 43 | | |
| | A2 | A | 26 | | |
| | A2 | B | 17 | | |
| | A2 | C | 30 | | |
| | A2 | D | 38 | | |
| | A2 | E | 18 | | |
| | A2 | F | 35 | | |
| | crew_id | scene_id | assignment_cost | | |
| |---|---|---| | |
| | A1 | A | 14 | | |
| | A1 | B | 8 | | |
| | A1 | C | 6 | | |
| | A1 | D | 15 | | |
| | A1 | E | 10 | | |
| | A1 | F | 25 | | |
| | A2 | A | 16 | | |
| | A2 | B | 14 | | |
| | A2 | C | 20 | | |
| | A2 | D | 10 | | |
| | A2 | E | 13 | | |
| | A2 | F | 7 | | |
| That's the setup — assign exactly one crew to each scene without exceeding any crew's available days, and keep the total cost as low as possible. | |
| Also, to keep things machine-friendly (and simple for you), please shape your reply like this little JSON snippet so it's clear which crew goes with which scene: | |
| { | |
| ""solution"": [ | |
| <crew_id_for_first_scene>, | |
| <crew_id_for_second_scene>, | |
| ..., | |
| <crew_id_for_last_scene> | |
| ] | |
| } | |
| Think of ""solution"" as a short form: it’s just a list, where the first entry is the crew assigned to the first scene, the second entry is the crew for the second scene, and so on. The angled placeholders are where you’d drop the actual crew identifiers from the instance. This is just the expected shape — not the final assignment itself. | |
| Please be sure to use the exact identifiers from the instance input — don’t rename them and don’t 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”.""","{'resource_consumption': [[22, 13, 31, 33, 25, 43], [26, 17, 30, 38, 18, 35]], 'assignment_costs': [[14, 8, 6, 15, 10, 25], [16, 14, 20, 10, 13, 7]], 'capacities': [490, 461], 'objective': 55.0}","[0, 0, 0, 1, 0, 1]",55.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 490}, {'agent_id': 'A2', 'capacity': 461}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 22}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 13}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 31}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 33}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 25}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 43}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 26}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 17}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 30}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 38}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 18}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 35}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 14}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 6}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 15}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 10}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 16}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 20}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 10}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 7}]}","['A1', 'A1', 'A1', 'A2', 'A1', 'A2']",25,markdown_table,names | |
| GAP,GAP,"Many people pitched in to map this out: there’s a roster of yards and a set of landscaping teams, and for each possible pairing the foremen recorded the hours needed from that team and the price they’d charge. The objective is to give each yard to exactly one team (no yard left out or given twice), keep every team’s total hours within its daily limit, and minimize the overall contracting cost by summing the fees of the selected assignments. The detailed yard-by-team labor and cost numbers follow below. | |
| { | |
| ""num_teams"": 3, | |
| ""num_yards"": 10, | |
| ""teams"": [ | |
| ""A1"", | |
| ""A2"", | |
| ""A3"" | |
| ], | |
| ""yards"": [ | |
| ""A"", | |
| ""B"", | |
| ""C"", | |
| ""D"", | |
| ""E"", | |
| ""F"", | |
| ""G"", | |
| ""H"", | |
| ""I"", | |
| ""J"" | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""team_id"": ""A1"", | |
| ""team_daily_capacity_hours"": 491 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""team_daily_capacity_hours"": 484 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""team_daily_capacity_hours"": 477 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""A"", | |
| ""labor_hours_required"": 24 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""B"", | |
| ""labor_hours_required"": 12 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""C"", | |
| ""labor_hours_required"": 35 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""D"", | |
| ""labor_hours_required"": 14 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""E"", | |
| ""labor_hours_required"": 46 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""F"", | |
| ""labor_hours_required"": 23 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""G"", | |
| ""labor_hours_required"": 22 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""H"", | |
| ""labor_hours_required"": 47 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""I"", | |
| ""labor_hours_required"": 25 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""J"", | |
| ""labor_hours_required"": 33 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""A"", | |
| ""labor_hours_required"": 23 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""B"", | |
| ""labor_hours_required"": 44 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""C"", | |
| ""labor_hours_required"": 38 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""D"", | |
| ""labor_hours_required"": 33 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""E"", | |
| ""labor_hours_required"": 18 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""F"", | |
| ""labor_hours_required"": 23 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""G"", | |
| ""labor_hours_required"": 45 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""H"", | |
| ""labor_hours_required"": 46 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""I"", | |
| ""labor_hours_required"": 28 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""J"", | |
| ""labor_hours_required"": 38 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""A"", | |
| ""labor_hours_required"": 23 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""B"", | |
| ""labor_hours_required"": 46 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""C"", | |
| ""labor_hours_required"": 50 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""D"", | |
| ""labor_hours_required"": 40 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""E"", | |
| ""labor_hours_required"": 15 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""F"", | |
| ""labor_hours_required"": 35 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""G"", | |
| ""labor_hours_required"": 18 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""H"", | |
| ""labor_hours_required"": 25 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""I"", | |
| ""labor_hours_required"": 29 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""J"", | |
| ""labor_hours_required"": 27 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""A"", | |
| ""contract_charge"": 8 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""B"", | |
| ""contract_charge"": 21 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""C"", | |
| ""contract_charge"": 20 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""D"", | |
| ""contract_charge"": 6 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""E"", | |
| ""contract_charge"": 25 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""F"", | |
| ""contract_charge"": 11 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""G"", | |
| ""contract_charge"": 15 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""H"", | |
| ""contract_charge"": 7 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""I"", | |
| ""contract_charge"": 11 | |
| }, | |
| { | |
| ""team_id"": ""A1"", | |
| ""yard_id"": ""J"", | |
| ""contract_charge"": 20 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""A"", | |
| ""contract_charge"": 14 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""B"", | |
| ""contract_charge"": 18 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""C"", | |
| ""contract_charge"": 14 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""D"", | |
| ""contract_charge"": 25 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""E"", | |
| ""contract_charge"": 16 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""F"", | |
| ""contract_charge"": 12 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""G"", | |
| ""contract_charge"": 13 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""H"", | |
| ""contract_charge"": 12 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""I"", | |
| ""contract_charge"": 8 | |
| }, | |
| { | |
| ""team_id"": ""A2"", | |
| ""yard_id"": ""J"", | |
| ""contract_charge"": 20 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""A"", | |
| ""contract_charge"": 9 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""B"", | |
| ""contract_charge"": 11 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""C"", | |
| ""contract_charge"": 13 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""D"", | |
| ""contract_charge"": 7 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""E"", | |
| ""contract_charge"": 11 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""F"", | |
| ""contract_charge"": 7 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""G"", | |
| ""contract_charge"": 19 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""H"", | |
| ""contract_charge"": 24 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""I"", | |
| ""contract_charge"": 19 | |
| }, | |
| { | |
| ""team_id"": ""A3"", | |
| ""yard_id"": ""J"", | |
| ""contract_charge"": 22 | |
| } | |
| ] | |
| } | |
| If you're going to send back the chosen assignments, just drop them in a tiny JSON snippet like this so it's easy to parse: | |
| { | |
| ""solution"": [ | |
| <team_id_for_first_yard>, | |
| <team_id_for_second_yard>, | |
| ..., | |
| <team_id_for_last_yard> | |
| ] | |
| } | |
| Think of that as a simple form: ""solution"" is the list, and each slot in the list is the team that will take the corresponding yard (first yard → first entry, second yard → second entry, and so on). This JSON is just a sketch of the shape I expect, not the final answer itself. | |
| Please make sure to use the exact identifiers from the instance input — 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”.""","{'resource_consumption': [[24, 12, 35, 14, 46, 23, 22, 47, 25, 33], [23, 44, 38, 33, 18, 23, 45, 46, 28, 38], [23, 46, 50, 40, 15, 35, 18, 25, 29, 27]], 'assignment_costs': [[8, 21, 20, 6, 25, 11, 15, 7, 11, 20], [14, 18, 14, 25, 16, 12, 13, 12, 8, 20], [9, 11, 13, 7, 11, 7, 19, 24, 19, 22]], 'capacities': [491, 484, 477], 'objective': 104.0}","[0, 2, 2, 0, 2, 2, 1, 0, 1, 0]",104.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 10, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 491}, {'agent_id': 'A2', 'capacity': 484}, {'agent_id': 'A3', 'capacity': 477}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 24}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 12}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 35}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 14}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 46}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 23}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 22}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 47}, {'agent_id': 'A1', 'task_id': 'I', 'consumption': 25}, {'agent_id': 'A1', 'task_id': 'J', 'consumption': 33}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 23}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 44}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 38}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 33}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 18}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 23}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 45}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 46}, {'agent_id': 'A2', 'task_id': 'I', 'consumption': 28}, {'agent_id': 'A2', 'task_id': 'J', 'consumption': 38}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 23}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 46}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 50}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 40}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 15}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 35}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 18}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 25}, {'agent_id': 'A3', 'task_id': 'I', 'consumption': 29}, {'agent_id': 'A3', 'task_id': 'J', 'consumption': 27}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 20}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 6}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 11}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 15}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 7}, {'agent_id': 'A1', 'task_id': 'I', 'cost': 11}, {'agent_id': 'A1', 'task_id': 'J', 'cost': 20}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 16}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'I', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'J', 'cost': 20}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 9}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 13}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 7}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 7}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 24}, {'agent_id': 'A3', 'task_id': 'I', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'J', 'cost': 22}]}","['A1', 'A3', 'A3', 'A1', 'A3', 'A3', 'A2', 'A1', 'A2', 'A1']",26,json,names | |
| GAP,GAP,"Many people on the shift depend on a clear assignment: all customer orders must be allocated to one picker apiece, nothing left out or duplicated, and each picker has only so much volume they can pick. For every pairing of order and picker someone has already recorded how much capacity that order would consume on that picker and what the picking cost would be. The priority is simple: minimize the overall picking cost — sum the costs of the chosen picker for every order — while making sure no picker’s total picked volume goes over their capacity. The detailed order-by-picker volumes and costs are below. | |
| They list 3 pickers (A1, A2, A3) and 8 orders (A, B, C, D, E, F, G, H). | |
| | picker_id | picker_capacity | | |
| |---|---| | |
| | A1 | 120 | | |
| | A2 | 121 | | |
| | A3 | 123 | | |
| | picker_id | order_id | order_volume | | |
| |---|---|---| | |
| | A1 | A | 15 | | |
| | A1 | B | 37 | | |
| | A1 | C | 28 | | |
| | A1 | D | 29 | | |
| | A1 | E | 43 | | |
| | A1 | F | 44 | | |
| | A1 | G | 23 | | |
| | A1 | H | 18 | | |
| | A2 | A | 35 | | |
| | A2 | B | 41 | | |
| | A2 | C | 43 | | |
| | A2 | D | 48 | | |
| | A2 | E | 20 | | |
| | A2 | F | 42 | | |
| | A2 | G | 33 | | |
| | A2 | H | 13 | | |
| | A3 | A | 15 | | |
| | A3 | B | 38 | | |
| | A3 | C | 13 | | |
| | A3 | D | 24 | | |
| | A3 | E | 12 | | |
| | A3 | F | 26 | | |
| | A3 | G | 29 | | |
| | A3 | H | 44 | | |
| | picker_id | order_id | picking_cost | | |
| |---|---|---| | |
| | A1 | A | 20 | | |
| | A1 | B | 17 | | |
| | A1 | C | 25 | | |
| | A1 | D | 25 | | |
| | A1 | E | 10 | | |
| | A1 | F | 23 | | |
| | A1 | G | 5 | | |
| | A1 | H | 19 | | |
| | A2 | A | 17 | | |
| | A2 | B | 9 | | |
| | A2 | C | 6 | | |
| | A2 | D | 14 | | |
| | A2 | E | 22 | | |
| | A2 | F | 6 | | |
| | A2 | G | 5 | | |
| | A2 | H | 16 | | |
| | A3 | A | 5 | | |
| | A3 | B | 16 | | |
| | A3 | C | 21 | | |
| | A3 | D | 11 | | |
| | A3 | E | 22 | | |
| | A3 | F | 6 | | |
| | A3 | G | 6 | | |
| | A3 | H | 22 | | |
| Each order must be assigned to exactly one picker without exceeding any picker's capacity, with the goal of minimizing total picking cost. | |
| You can just return the assignment in this little JSON shape — a ""solution"" array listing, in order, which picker handles each order. | |
| { | |
| ""solution"": [ | |
| <picker_id_for_first_order>, | |
| <picker_id_for_second_order>, | |
| ..., | |
| <picker_id_for_last_order> | |
| ] | |
| } | |
| Pretty simple: the ""solution"" array has one entry per order (first entry = first order, second = second order, etc.), and each entry names the picker assigned to that order. Think of it like filling out a form: order 1 → picker X, order 2 → picker Y. | |
| This is just a sketch of the shape I need, not the actual assignments. | |
| Please make sure to 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” | |
| - a capital letter followed by digits like “A1” or “X7”","{'resource_consumption': [[15, 37, 28, 29, 43, 44, 23, 18], [35, 41, 43, 48, 20, 42, 33, 13], [15, 38, 13, 24, 12, 26, 29, 44]], 'assignment_costs': [[20, 17, 25, 25, 10, 23, 5, 19], [17, 9, 6, 14, 22, 6, 5, 16], [5, 16, 21, 11, 22, 6, 6, 22]], 'capacities': [120, 121, 123], 'objective': 68.0}","[2, 1, 1, 2, 0, 2, 0, 1]",68.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 8, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 120}, {'agent_id': 'A2', 'capacity': 121}, {'agent_id': 'A3', 'capacity': 123}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 15}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 37}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 28}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 29}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 43}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 44}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 23}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 18}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 35}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 41}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 43}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 48}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 20}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 42}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 33}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 13}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 15}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 38}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 13}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 24}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 12}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 26}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 29}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 44}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 20}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 10}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 19}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 17}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 9}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 6}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 6}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 5}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 16}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 5}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 16}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 21}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 6}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 6}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 22}]}","['A3', 'A2', 'A2', 'A3', 'A1', 'A3', 'A1', 'A2']",27,markdown_table,names | |
| GAP,GAP,"Late-night shifts or weekend rushes look the same: a stack of ride requests and a list of drivers with a fixed amount of time or distance they can cover. The rule is straightforward — every request must be sent to exactly one driver, drivers can take several requests as long as the total load fits inside their shift, and nothing can be duplicated or left out. The aim is to keep total payouts down, measured by summing the fares for all assigned rides. The exact fares, trip loads, and driver limits are listed below. | |
| There are 2 drivers and 6 rides, listed as A1, A2 and 1, 2, 3, 4, 5, 6. | |
| A1 has 192 of shift capacity remaining. | |
| A2 has 192 of shift capacity remaining. | |
| Assigning 1 to A1 consumes 19 of their shift and costs 14. | |
| Assigning 2 to A1 consumes 37 of their shift and costs 15. | |
| Assigning 3 to A1 consumes 27 of their shift and costs 6. | |
| Assigning 4 to A1 consumes 19 of their shift and costs 17. | |
| Assigning 5 to A1 consumes 48 of their shift and costs 23. | |
| Assigning 6 to A1 consumes 20 of their shift and costs 5. | |
| Assigning 1 to A2 consumes 20 of their shift and costs 10. | |
| Assigning 2 to A2 consumes 40 of their shift and costs 14. | |
| Assigning 3 to A2 consumes 31 of their shift and costs 12. | |
| Assigning 4 to A2 consumes 28 of their shift and costs 25. | |
| Assigning 5 to A2 consumes 37 of their shift and costs 22. | |
| Assigning 6 to A2 consumes 39 of their shift and costs 6. | |
| Assign every ride to one driver so all 6 rides fit within the 2 drivers' capacities while minimizing total fares. | |
| And hey — when you send back the answer, just stick to this little JSON layout so it's easy to parse. Nothing fancy, just a single list showing which driver gets each ride in order. | |
| { | |
| ""solution"": [ | |
| <driver_id_for_first_request>, | |
| <driver_id_for_second_request>, | |
| ..., | |
| <driver_id_for_last_request> | |
| ] | |
| } | |
| The idea is simple: the ""solution"" array lists, for each ride in the order shown above, the driver you assign it to. Think of each entry as the driver label you'd write next to a request on a clipboard. This block is just a sketch of the shape I need — not the final assignment itself. | |
| Please 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”.""","{'resource_consumption': [[19, 37, 27, 19, 48, 20], [20, 40, 31, 28, 37, 39]], 'assignment_costs': [[14, 15, 6, 17, 23, 5], [10, 14, 12, 25, 22, 6]], 'capacities': [192, 192], 'objective': 74.0}","[1, 1, 0, 0, 1, 0]",74.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5, 6], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 192}, {'agent_id': 'A2', 'capacity': 192}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 19}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 37}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 27}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 19}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 48}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 20}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 20}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 40}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 28}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 37}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 39}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 14}, {'agent_id': 'A1', 'task_id': 2, 'cost': 15}, {'agent_id': 'A1', 'task_id': 3, 'cost': 6}, {'agent_id': 'A1', 'task_id': 4, 'cost': 17}, {'agent_id': 'A1', 'task_id': 5, 'cost': 23}, {'agent_id': 'A1', 'task_id': 6, 'cost': 5}, {'agent_id': 'A2', 'task_id': 1, 'cost': 10}, {'agent_id': 'A2', 'task_id': 2, 'cost': 14}, {'agent_id': 'A2', 'task_id': 3, 'cost': 12}, {'agent_id': 'A2', 'task_id': 4, 'cost': 25}, {'agent_id': 'A2', 'task_id': 5, 'cost': 22}, {'agent_id': 'A2', 'task_id': 6, 'cost': 6}]}","['A2', 'A2', 'A1', 'A1', 'A2', 'A1']",28,nl,1 | |
| GAP,GAP,"Last summer the B&B had to squeeze in festival guests and the manager had to place every reservation into exactly one room, with no double-bookings and no one left out, while respecting each room’s capacity. For each potential match there’s a clear idea of how much space or how many beds that booking would consume and what the room would charge per night, so the manager’s goal was to assign everyone without breaking capacity limits and to keep the total payout minimal — the total cost is just the sum of the nightly prices for all the chosen room assignments. The specific capacity and price details are shown below. | |
| { | |
| ""num_rooms"": 3, | |
| ""num_bookings"": 9, | |
| ""room_ids"": [ | |
| ""A1"", | |
| ""A2"", | |
| ""A3"" | |
| ], | |
| ""booking_ids"": [ | |
| 0, | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5, | |
| 6, | |
| 7, | |
| 8 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""room_id"": ""A1"", | |
| ""room_capacity_beds"": 181 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""room_capacity_beds"": 182 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""room_capacity_beds"": 183 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 0, | |
| ""beds_required"": 26 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 1, | |
| ""beds_required"": 39 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 2, | |
| ""beds_required"": 43 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 3, | |
| ""beds_required"": 33 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 4, | |
| ""beds_required"": 14 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 5, | |
| ""beds_required"": 35 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 6, | |
| ""beds_required"": 21 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 7, | |
| ""beds_required"": 12 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 8, | |
| ""beds_required"": 16 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 0, | |
| ""beds_required"": 14 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 1, | |
| ""beds_required"": 28 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 2, | |
| ""beds_required"": 15 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 3, | |
| ""beds_required"": 12 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 4, | |
| ""beds_required"": 46 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 5, | |
| ""beds_required"": 14 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 6, | |
| ""beds_required"": 34 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 7, | |
| ""beds_required"": 25 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 8, | |
| ""beds_required"": 49 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 0, | |
| ""beds_required"": 42 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 1, | |
| ""beds_required"": 18 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 2, | |
| ""beds_required"": 14 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 3, | |
| ""beds_required"": 17 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 4, | |
| ""beds_required"": 20 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 5, | |
| ""beds_required"": 27 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 6, | |
| ""beds_required"": 42 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 7, | |
| ""beds_required"": 35 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 8, | |
| ""beds_required"": 47 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 0, | |
| ""nightly_price_for_booking"": 6 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 1, | |
| ""nightly_price_for_booking"": 17 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 2, | |
| ""nightly_price_for_booking"": 5 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 3, | |
| ""nightly_price_for_booking"": 7 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 4, | |
| ""nightly_price_for_booking"": 24 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 5, | |
| ""nightly_price_for_booking"": 17 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 6, | |
| ""nightly_price_for_booking"": 6 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 7, | |
| ""nightly_price_for_booking"": 7 | |
| }, | |
| { | |
| ""room_id"": ""A1"", | |
| ""booking_id"": 8, | |
| ""nightly_price_for_booking"": 5 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 0, | |
| ""nightly_price_for_booking"": 9 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 1, | |
| ""nightly_price_for_booking"": 7 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 2, | |
| ""nightly_price_for_booking"": 8 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 3, | |
| ""nightly_price_for_booking"": 15 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 4, | |
| ""nightly_price_for_booking"": 14 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 5, | |
| ""nightly_price_for_booking"": 6 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 6, | |
| ""nightly_price_for_booking"": 16 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 7, | |
| ""nightly_price_for_booking"": 25 | |
| }, | |
| { | |
| ""room_id"": ""A2"", | |
| ""booking_id"": 8, | |
| ""nightly_price_for_booking"": 17 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 0, | |
| ""nightly_price_for_booking"": 22 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 1, | |
| ""nightly_price_for_booking"": 6 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 2, | |
| ""nightly_price_for_booking"": 7 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 3, | |
| ""nightly_price_for_booking"": 18 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 4, | |
| ""nightly_price_for_booking"": 7 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 5, | |
| ""nightly_price_for_booking"": 6 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 6, | |
| ""nightly_price_for_booking"": 13 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 7, | |
| ""nightly_price_for_booking"": 8 | |
| }, | |
| { | |
| ""room_id"": ""A3"", | |
| ""booking_id"": 8, | |
| ""nightly_price_for_booking"": 12 | |
| } | |
| ] | |
| } | |
| Oh — and when you send the final assignment back, please use this simple JSON shape so it's easy to parse and check: | |
| { | |
| ""solution"": [ | |
| <room_id_for_first_task>, | |
| <room_id_for_second_task>, | |
| ..., | |
| <room_id_for_last_task> | |
| ] | |
| } | |
| This just sketches the shape: ""solution"" is a list with one entry per reservation (in the same order as the input), and each entry should be the room identifier chosen for that reservation. It's only showing the expected format, not the real answers. | |
| Please be sure to use the exact identifiers from 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”. ""","{'resource_consumption': [[26, 39, 43, 33, 14, 35, 21, 12, 16], [14, 28, 15, 12, 46, 14, 34, 25, 49], [42, 18, 14, 17, 20, 27, 42, 35, 47]], 'assignment_costs': [[6, 17, 5, 7, 24, 17, 6, 7, 5], [9, 7, 8, 15, 14, 6, 16, 25, 17], [22, 6, 7, 18, 7, 6, 13, 8, 12]], 'capacities': [181, 182, 183], 'objective': 55.0}","[0, 2, 0, 0, 2, 1, 0, 0, 0]",55.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': [0, 1, 2, 3, 4, 5, 6, 7, 8], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 181}, {'agent_id': 'A2', 'capacity': 182}, {'agent_id': 'A3', 'capacity': 183}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 26}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 43}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 33}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 21}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 12}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 16}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 28}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 15}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 12}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 46}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 25}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 49}, {'agent_id': 'A3', 'task_id': 0, 'consumption': 42}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 18}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 14}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 17}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 20}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 27}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 42}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 35}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 47}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 6}, {'agent_id': 'A1', 'task_id': 1, 'cost': 17}, {'agent_id': 'A1', 'task_id': 2, 'cost': 5}, {'agent_id': 'A1', 'task_id': 3, 'cost': 7}, {'agent_id': 'A1', 'task_id': 4, 'cost': 24}, {'agent_id': 'A1', 'task_id': 5, 'cost': 17}, {'agent_id': 'A1', 'task_id': 6, 'cost': 6}, {'agent_id': 'A1', 'task_id': 7, 'cost': 7}, {'agent_id': 'A1', 'task_id': 8, 'cost': 5}, {'agent_id': 'A2', 'task_id': 0, 'cost': 9}, {'agent_id': 'A2', 'task_id': 1, 'cost': 7}, {'agent_id': 'A2', 'task_id': 2, 'cost': 8}, {'agent_id': 'A2', 'task_id': 3, 'cost': 15}, {'agent_id': 'A2', 'task_id': 4, 'cost': 14}, {'agent_id': 'A2', 'task_id': 5, 'cost': 6}, {'agent_id': 'A2', 'task_id': 6, 'cost': 16}, {'agent_id': 'A2', 'task_id': 7, 'cost': 25}, {'agent_id': 'A2', 'task_id': 8, 'cost': 17}, {'agent_id': 'A3', 'task_id': 0, 'cost': 22}, {'agent_id': 'A3', 'task_id': 1, 'cost': 6}, {'agent_id': 'A3', 'task_id': 2, 'cost': 7}, {'agent_id': 'A3', 'task_id': 3, 'cost': 18}, {'agent_id': 'A3', 'task_id': 4, 'cost': 7}, {'agent_id': 'A3', 'task_id': 5, 'cost': 6}, {'agent_id': 'A3', 'task_id': 6, 'cost': 13}, {'agent_id': 'A3', 'task_id': 7, 'cost': 8}, {'agent_id': 'A3', 'task_id': 8, 'cost': 12}]}","['A1', 'A3', 'A1', 'A1', 'A3', 'A2', 'A1', 'A1', 'A1']",29,json,0 | |
| GAP,GAP,"At a small dev shop there are more requests than available hours, and decisions have to be made about who tackles what. For every request there’s a known time and price depending on the developer who does it, and each developer has a cap on how many hours they can pick up. The requirement is to hand every request to exactly one developer, keep everyone’s assigned hours inside their limit, and try to lower the total bill — which is just the sum of the costs for whoever is assigned to each request. The detailed hours and cost figures follow below. | |
| There are 2 developers and 5 requests; the developers are A1, A2 and the requests are 1, 2, 3, 4, 5. | |
| Developer A1 can take up to 474 hours. | |
| Developer A2 can take up to 480 hours. | |
| If A1 is assigned 1 it requires 28 hours and incurs a cost of 23. | |
| If A1 is assigned 2 it requires 43 hours and incurs a cost of 6. | |
| If A1 is assigned 3 it requires 43 hours and incurs a cost of 8. | |
| If A1 is assigned 4 it requires 47 hours and incurs a cost of 12. | |
| If A1 is assigned 5 it requires 29 hours and incurs a cost of 21. | |
| If A2 is assigned 1 it requires 36 hours and incurs a cost of 23. | |
| If A2 is assigned 2 it requires 38 hours and incurs a cost of 13. | |
| If A2 is assigned 3 it requires 13 hours and incurs a cost of 11. | |
| If A2 is assigned 4 it requires 28 hours and incurs a cost of 13. | |
| If A2 is assigned 5 it requires 30 hours and incurs a cost of 8. | |
| Hand every request to exactly one developer, keep each developer's assigned hours within their limit, and minimize the total bill. | |
| If you want the answer in a neat, machine-friendly package, just follow this little JSON shape when you reply — nothing fancy, just a list saying which developer takes each request in order. | |
| { | |
| ""solution"": [ | |
| <developer_id_for_first_request>, | |
| <developer_id_for_second_request>, | |
| ..., | |
| <developer_id_for_last_request> | |
| ] | |
| } | |
| Think of that ""solution"" array as a form: the first entry is who does request #1, the second is who does request #2, and so on — you just drop each developer's identifier into the matching slot. This is only a sketch of the shape I need, not the actual assignment. | |
| Please use the exact identifiers from the problem input when you fill this in — don't 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”.""","{'resource_consumption': [[28, 43, 43, 47, 29], [36, 38, 13, 28, 30]], 'assignment_costs': [[23, 6, 8, 12, 21], [23, 13, 11, 13, 8]], 'capacities': [474, 480], 'objective': 57.0}","[1, 0, 0, 0, 1]",57.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 474}, {'agent_id': 'A2', 'capacity': 480}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 28}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 43}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 43}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 47}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 36}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 38}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 28}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 30}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 23}, {'agent_id': 'A1', 'task_id': 2, 'cost': 6}, {'agent_id': 'A1', 'task_id': 3, 'cost': 8}, {'agent_id': 'A1', 'task_id': 4, 'cost': 12}, {'agent_id': 'A1', 'task_id': 5, 'cost': 21}, {'agent_id': 'A2', 'task_id': 1, 'cost': 23}, {'agent_id': 'A2', 'task_id': 2, 'cost': 13}, {'agent_id': 'A2', 'task_id': 3, 'cost': 11}, {'agent_id': 'A2', 'task_id': 4, 'cost': 13}, {'agent_id': 'A2', 'task_id': 5, 'cost': 8}]}","['A2', 'A1', 'A1', 'A1', 'A2']",30,nl,1 | |
| GAP,GAP,"Recently the head chef sketched a map of the line: each menu item must be handled at a single station, stations have finite prep capacity, and for every item-station pairing the team recorded how much of that station’s capacity the item would use and what it would cost to prep there. The task is to decide where every item goes so no station runs past its capacity, and to minimize the total cost — computed by adding the cost of each item at the station it’s sent to. The detailed numbers are listed below. | |
| There are 3 distinct kitchen stations and 7 menu items, listed in order as A1, A2, A3 and A, B, C, D, E, F, G. | |
| | station_id | prep_capacity | | |
| |---|---| | |
| | A1 | 106 | | |
| | A2 | 119 | | |
| | A3 | 120 | | |
| | station_id | menu_item_id | station_capacity_usage | | |
| |---|---|---| | |
| | A1 | A | 31 | | |
| | A1 | B | 36 | | |
| | A1 | C | 41 | | |
| | A1 | D | 36 | | |
| | A1 | E | 23 | | |
| | A1 | F | 23 | | |
| | A1 | G | 22 | | |
| | A2 | A | 44 | | |
| | A2 | B | 23 | | |
| | A2 | C | 44 | | |
| | A2 | D | 11 | | |
| | A2 | E | 19 | | |
| | A2 | F | 32 | | |
| | A2 | G | 19 | | |
| | A3 | A | 48 | | |
| | A3 | B | 49 | | |
| | A3 | C | 31 | | |
| | A3 | D | 38 | | |
| | A3 | E | 10 | | |
| | A3 | F | 39 | | |
| | A3 | G | 49 | | |
| | station_id | menu_item_id | prep_cost | | |
| |---|---|---| | |
| | A1 | A | 15 | | |
| | A1 | B | 7 | | |
| | A1 | C | 8 | | |
| | A1 | D | 15 | | |
| | A1 | E | 7 | | |
| | A1 | F | 5 | | |
| | A1 | G | 16 | | |
| | A2 | A | 14 | | |
| | A2 | B | 18 | | |
| | A2 | C | 8 | | |
| | A2 | D | 7 | | |
| | A2 | E | 24 | | |
| | A2 | F | 12 | | |
| | A2 | G | 19 | | |
| | A3 | A | 16 | | |
| | A3 | B | 25 | | |
| | A3 | C | 12 | | |
| | A3 | D | 7 | | |
| | A3 | E | 9 | | |
| | A3 | F | 20 | | |
| | A3 | G | 24 | | |
| Assign each menu item to a single station so no station's prep capacity is exceeded and the total prep cost is minimized. | |
| Oh, and when you hand this back to me, please keep it in a simple JSON layout so it's easy to check automatically. Here's the shape I expect — just a little list showing which station each menu item goes to: | |
| { | |
| ""solution"": [ | |
| <station_id_for_first_item>, | |
| <station_id_for_second_item>, | |
| <station_id_for_third_item>, | |
| ..., | |
| <station_id_for_last_item> | |
| ] | |
| } | |
| Pretty straightforward: ""solution"" is an array where the first entry is the station for the first menu item, the second entry is the station for the second menu item, and so on through the last menu item. Think of it like a sign-up sheet: each slot shows which station is taking that dish. | |
| This JSON is only a sketch of the expected shape — not the final assignment. Please use the exact identifiers 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”.","{'resource_consumption': [[31, 36, 41, 36, 23, 23, 22], [44, 23, 44, 11, 19, 32, 19], [48, 49, 31, 38, 10, 39, 49]], 'assignment_costs': [[15, 7, 8, 15, 7, 5, 16], [14, 18, 8, 7, 24, 12, 19], [16, 25, 12, 7, 9, 20, 24]], 'capacities': [106, 119, 120], 'objective': 64.0}","[1, 0, 1, 1, 0, 0, 0]",64.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 7, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 106}, {'agent_id': 'A2', 'capacity': 119}, {'agent_id': 'A3', 'capacity': 120}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 31}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 36}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 41}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 36}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 23}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 23}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 22}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 44}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 23}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 44}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 11}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 19}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 32}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 19}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 48}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 49}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 31}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 38}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 10}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 39}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 49}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 15}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 7}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 15}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 7}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 16}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 8}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 24}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 12}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 19}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 16}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 25}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 12}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 7}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 9}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 20}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 24}]}","['A2', 'A1', 'A2', 'A2', 'A1', 'A1', 'A1']",31,markdown_table,names | |
| GAP,GAP,"There’s a simple problem at the dock: match each pallet to one truck, make sure nothing’s missed or duplicated, and respect each truck’s space limits. Pallets use up different amounts of room and incur different fees depending on which truck they ride in, and trucks can only carry up to their capacity. A better plan is one where, after adding up the hauling cost for every pallet’s chosen truck, that total bill is as small as possible. The specific pallet dimensions, truck space limits, and costs are listed below. | |
| # num_trucks=2 | |
| # num_pallets=5 | |
| # truck_ids=A1, A2 | |
| # pallet_ids=1, 2, 3, 4, 5 | |
| truck_id,truck_capacity | |
| A1,100 | |
| A2,100 | |
| truck_id,pallet_id,pallet_space_usage | |
| A1,1,14 | |
| A1,2,25 | |
| A1,3,11 | |
| A1,4,40 | |
| A1,5,14 | |
| A2,1,11 | |
| A2,2,24 | |
| A2,3,27 | |
| A2,4,14 | |
| A2,5,30 | |
| truck_id,pallet_id,hauling_cost | |
| A1,1,16 | |
| A1,2,7 | |
| A1,3,20 | |
| A1,4,13 | |
| A1,5,8 | |
| A2,1,23 | |
| A2,2,7 | |
| A2,3,9 | |
| A2,4,6 | |
| A2,5,11 | |
| When you send back the plan, just use this simple JSON layout so I can read it automatically: | |
| { | |
| ""solution"": [ | |
| <truck_id_for_first_pallet>, | |
| <truck_id_for_second_pallet>, | |
| ..., | |
| <truck_id_for_last_pallet> | |
| ] | |
| } | |
| This little block is just a sketch of the shape I expect: ""solution"" is a list where each entry is the truck chosen for the corresponding pallet (so the first entry is for the first pallet, the second for the second pallet, and so on). Keep it light and exact — the JSON itself is the form, not the full answer. | |
| Please 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”.""","{'resource_consumption': [[14, 25, 11, 40, 14], [11, 24, 27, 14, 30]], 'assignment_costs': [[16, 7, 20, 13, 8], [23, 7, 9, 6, 11]], 'capacities': [100, 100], 'objective': 46.0}","[0, 1, 1, 1, 0]",46.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 100}, {'agent_id': 'A2', 'capacity': 100}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 25}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 11}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 40}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 11}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 30}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 16}, {'agent_id': 'A1', 'task_id': 2, 'cost': 7}, {'agent_id': 'A1', 'task_id': 3, 'cost': 20}, {'agent_id': 'A1', 'task_id': 4, 'cost': 13}, {'agent_id': 'A1', 'task_id': 5, 'cost': 8}, {'agent_id': 'A2', 'task_id': 1, 'cost': 23}, {'agent_id': 'A2', 'task_id': 2, 'cost': 7}, {'agent_id': 'A2', 'task_id': 3, 'cost': 9}, {'agent_id': 'A2', 'task_id': 4, 'cost': 6}, {'agent_id': 'A2', 'task_id': 5, 'cost': 11}]}","['A1', 'A2', 'A2', 'A2', 'A1']",32,csv,1 | |
| GAP,GAP,"Someone in charge of the studio’s workflow needs to hand off each photograph to exactly one editor — no photo gets forgotten or passed around twice. Each editor asks a different price and needs a different amount of time per photo, and they can take on multiple photos as long as the sum of their editing times doesn’t exceed their available hours. The goal is obvious: arrange the assignments so the combined invoice (the sum of every editor’s fee for the photos they do) is as low as possible while keeping everyone within their time limits. The specific times, prices, and capacities are listed below. | |
| # num_editors=4 | |
| # num_photos=9 | |
| # editors=A1, A2, A3, A4 | |
| # photos=0, 1, 2, 3, 4, 5, 6, 7, 8 | |
| editor_id,available_hours | |
| A1,192 | |
| A2,192 | |
| A3,192 | |
| A4,192 | |
| editor_id,photo_id,edit_time | |
| A1,0,35 | |
| A1,1,32 | |
| A1,2,28 | |
| A1,3,28 | |
| A1,4,21 | |
| A1,5,25 | |
| A1,6,48 | |
| A1,7,14 | |
| A1,8,34 | |
| A2,0,17 | |
| A2,1,34 | |
| A2,2,14 | |
| A2,3,26 | |
| A2,4,19 | |
| A2,5,39 | |
| A2,6,17 | |
| A2,7,23 | |
| A2,8,27 | |
| A3,0,48 | |
| A3,1,11 | |
| A3,2,30 | |
| A3,3,44 | |
| A3,4,14 | |
| A3,5,16 | |
| A3,6,25 | |
| A3,7,16 | |
| A3,8,29 | |
| A4,0,30 | |
| A4,1,32 | |
| A4,2,38 | |
| A4,3,48 | |
| A4,4,47 | |
| A4,5,36 | |
| A4,6,11 | |
| A4,7,43 | |
| A4,8,44 | |
| editor_id,photo_id,fee | |
| A1,0,16 | |
| A1,1,23 | |
| A1,2,7 | |
| A1,3,20 | |
| A1,4,6 | |
| A1,5,19 | |
| A1,6,14 | |
| A1,7,25 | |
| A1,8,13 | |
| A2,0,11 | |
| A2,1,19 | |
| A2,2,25 | |
| A2,3,13 | |
| A2,4,5 | |
| A2,5,7 | |
| A2,6,11 | |
| A2,7,14 | |
| A2,8,7 | |
| A3,0,11 | |
| A3,1,8 | |
| A3,2,16 | |
| A3,3,6 | |
| A3,4,8 | |
| A3,5,24 | |
| A3,6,6 | |
| A3,7,8 | |
| A3,8,9 | |
| A4,0,20 | |
| A4,1,20 | |
| A4,2,22 | |
| A4,3,22 | |
| A4,4,22 | |
| A4,5,23 | |
| A4,6,11 | |
| A4,7,13 | |
| A4,8,15 | |
| Also, when you send your assignment back, it's handy if you stick to a simple JSON layout like this: | |
| { | |
| ""solution"": [ | |
| <editor_id_for_first_task>, | |
| <editor_id_for_second_task>, | |
| ..., | |
| <editor_id_for_last_task> | |
| ] | |
| } | |
| Think of ""solution"" as the form field that lists, in order, which editor gets each photo. Each placeholder like <editor_id_for_first_task> is where you'd put the exact editor identifier for the first photo (and so on for the rest). This is just a sketch of the shape I expect, not the actual answer — you'll replace each placeholder with the real identifiers from the instance. | |
| Please 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”.""","{'resource_consumption': [[35, 32, 28, 28, 21, 25, 48, 14, 34], [17, 34, 14, 26, 19, 39, 17, 23, 27], [48, 11, 30, 44, 14, 16, 25, 16, 29], [30, 32, 38, 48, 47, 36, 11, 43, 44]], 'assignment_costs': [[16, 23, 7, 20, 6, 19, 14, 25, 13], [11, 19, 25, 13, 5, 7, 11, 14, 7], [11, 8, 16, 6, 8, 24, 6, 8, 9], [20, 20, 22, 22, 22, 23, 11, 13, 15]], 'capacities': [192, 192, 192, 192], 'objective': 65.0}","[1, 2, 0, 2, 1, 1, 2, 2, 1]",65.0,"{'problem_type': 'GAP', 'num_agents': 4, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3', 'A4'], 'tasks': [0, 1, 2, 3, 4, 5, 6, 7, 8], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 192}, {'agent_id': 'A2', 'capacity': 192}, {'agent_id': 'A3', 'capacity': 192}, {'agent_id': 'A4', 'capacity': 192}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 32}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 28}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 28}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 21}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 25}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 48}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 17}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 26}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 19}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 39}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 17}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 27}, {'agent_id': 'A3', 'task_id': 0, 'consumption': 48}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 11}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 30}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 44}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 14}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 16}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 25}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 16}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 29}, {'agent_id': 'A4', 'task_id': 0, 'consumption': 30}, {'agent_id': 'A4', 'task_id': 1, 'consumption': 32}, {'agent_id': 'A4', 'task_id': 2, 'consumption': 38}, {'agent_id': 'A4', 'task_id': 3, 'consumption': 48}, {'agent_id': 'A4', 'task_id': 4, 'consumption': 47}, {'agent_id': 'A4', 'task_id': 5, 'consumption': 36}, {'agent_id': 'A4', 'task_id': 6, 'consumption': 11}, {'agent_id': 'A4', 'task_id': 7, 'consumption': 43}, {'agent_id': 'A4', 'task_id': 8, 'consumption': 44}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 16}, {'agent_id': 'A1', 'task_id': 1, 'cost': 23}, {'agent_id': 'A1', 'task_id': 2, 'cost': 7}, {'agent_id': 'A1', 'task_id': 3, 'cost': 20}, {'agent_id': 'A1', 'task_id': 4, 'cost': 6}, {'agent_id': 'A1', 'task_id': 5, 'cost': 19}, {'agent_id': 'A1', 'task_id': 6, 'cost': 14}, {'agent_id': 'A1', 'task_id': 7, 'cost': 25}, {'agent_id': 'A1', 'task_id': 8, 'cost': 13}, {'agent_id': 'A2', 'task_id': 0, 'cost': 11}, {'agent_id': 'A2', 'task_id': 1, 'cost': 19}, {'agent_id': 'A2', 'task_id': 2, 'cost': 25}, {'agent_id': 'A2', 'task_id': 3, 'cost': 13}, {'agent_id': 'A2', 'task_id': 4, 'cost': 5}, {'agent_id': 'A2', 'task_id': 5, 'cost': 7}, {'agent_id': 'A2', 'task_id': 6, 'cost': 11}, {'agent_id': 'A2', 'task_id': 7, 'cost': 14}, {'agent_id': 'A2', 'task_id': 8, 'cost': 7}, {'agent_id': 'A3', 'task_id': 0, 'cost': 11}, {'agent_id': 'A3', 'task_id': 1, 'cost': 8}, {'agent_id': 'A3', 'task_id': 2, 'cost': 16}, {'agent_id': 'A3', 'task_id': 3, 'cost': 6}, {'agent_id': 'A3', 'task_id': 4, 'cost': 8}, {'agent_id': 'A3', 'task_id': 5, 'cost': 24}, {'agent_id': 'A3', 'task_id': 6, 'cost': 6}, {'agent_id': 'A3', 'task_id': 7, 'cost': 8}, {'agent_id': 'A3', 'task_id': 8, 'cost': 9}, {'agent_id': 'A4', 'task_id': 0, 'cost': 20}, {'agent_id': 'A4', 'task_id': 1, 'cost': 20}, {'agent_id': 'A4', 'task_id': 2, 'cost': 22}, {'agent_id': 'A4', 'task_id': 3, 'cost': 22}, {'agent_id': 'A4', 'task_id': 4, 'cost': 22}, {'agent_id': 'A4', 'task_id': 5, 'cost': 23}, {'agent_id': 'A4', 'task_id': 6, 'cost': 11}, {'agent_id': 'A4', 'task_id': 7, 'cost': 13}, {'agent_id': 'A4', 'task_id': 8, 'cost': 15}]}","['A2', 'A3', 'A1', 'A3', 'A2', 'A2', 'A3', 'A3', 'A2']",33,csv,0 | |
| GAP,GAP,"Someone on the planning team noticed that each vendor’s pickup could be handled by different carriers, each costing a different amount and using different amounts of truck space. The task is to hand each vendor request to a single carrier (no doubles, no misses), make sure none of the carriers get more than they can carry, and keep the entire event’s service charges as small as possible — just sum the fees for all assigned requests and choose the combination with the smallest sum. The detailed list of requests, space usages, and fees is shown below. | |
| { | |
| ""num_logistics_partners"": 2, | |
| ""num_vendor_requests"": 5, | |
| ""logistics_partners"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""vendor_requests"": [ | |
| ""A"", | |
| ""B"", | |
| ""C"", | |
| ""D"", | |
| ""E"" | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vehicle_capacity"": 209 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vehicle_capacity"": 209 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""A"", | |
| ""space_consumption"": 20 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""B"", | |
| ""space_consumption"": 35 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""C"", | |
| ""space_consumption"": 40 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""D"", | |
| ""space_consumption"": 15 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""E"", | |
| ""space_consumption"": 18 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""A"", | |
| ""space_consumption"": 31 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""B"", | |
| ""space_consumption"": 45 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""C"", | |
| ""space_consumption"": 39 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""D"", | |
| ""space_consumption"": 39 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""E"", | |
| ""space_consumption"": 10 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""A"", | |
| ""service_fee"": 21 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""B"", | |
| ""service_fee"": 25 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""C"", | |
| ""service_fee"": 11 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""D"", | |
| ""service_fee"": 12 | |
| }, | |
| { | |
| ""partner_id"": ""A1"", | |
| ""vendor_request_id"": ""E"", | |
| ""service_fee"": 21 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""A"", | |
| ""service_fee"": 23 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""B"", | |
| ""service_fee"": 25 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""C"", | |
| ""service_fee"": 13 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""D"", | |
| ""service_fee"": 15 | |
| }, | |
| { | |
| ""partner_id"": ""A2"", | |
| ""vendor_request_id"": ""E"", | |
| ""service_fee"": 20 | |
| } | |
| ] | |
| } | |
| If you want to hand me the final picks in a tidy form, just drop them in this little JSON shape — nothing fancy, just a plain list of who handles which pickup: | |
| { | |
| ""solution"": [ | |
| <carrier_id_for_first_task>, | |
| <carrier_id_for_second_task>, | |
| ..., | |
| <carrier_id_for_last_task> | |
| ] | |
| } | |
| Think of the JSON like a short form: the solution array is the ordered list of carriers, where each entry is the carrier chosen for that vendor pickup (first entry → first request, second → second request, and so on). It's just a sketch of the shape I expect, not the actual filled-in answer. | |
| Please 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”.","{'resource_consumption': [[20, 35, 40, 15, 18], [31, 45, 39, 39, 10]], 'assignment_costs': [[21, 25, 11, 12, 21], [23, 25, 13, 15, 20]], 'capacities': [209, 209], 'objective': 89.0}","[0, 1, 0, 0, 1]",89.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 209}, {'agent_id': 'A2', 'capacity': 209}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 20}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 35}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 40}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 15}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 18}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 31}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 45}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 10}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 25}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 11}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 12}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 23}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 15}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 20}]}","['A1', 'A2', 'A1', 'A1', 'A2']",34,json,names | |
| GAP,GAP,"Many teams face the same juggling act: a set of services must be assigned to available servers, every service must have a single host (can’t be split or copied), and each server has a strict amount of RAM to share. Since each service consumes different RAM and has a different price on each server, the goal is to place all services so memory caps aren’t breached and the combined operating cost — calculated by summing each service’s cost on the server it’s placed on — is as low as possible. The concrete task and server details are listed below. | |
| There are 4 servers and 10 services to place; the available server identifiers are A1, A2, A3, A4 and the service identifiers are A, B, C, D, E, F, G, H, I, J. | |
| | server_id | server_memory_capacity_gb | | |
| |---|---| | |
| | A1 | 493 | | |
| | A2 | 493 | | |
| | A3 | 493 | | |
| | A4 | 493 | | |
| | server_id | service_id | memory_consumption_gb | | |
| |---|---|---| | |
| | A1 | A | 21 | | |
| | A1 | B | 24 | | |
| | A1 | C | 39 | | |
| | A1 | D | 50 | | |
| | A1 | E | 29 | | |
| | A1 | F | 12 | | |
| | A1 | G | 45 | | |
| | A1 | H | 46 | | |
| | A1 | I | 30 | | |
| | A1 | J | 36 | | |
| | A2 | A | 36 | | |
| | A2 | B | 39 | | |
| | A2 | C | 17 | | |
| | A2 | D | 36 | | |
| | A2 | E | 17 | | |
| | A2 | F | 26 | | |
| | A2 | G | 49 | | |
| | A2 | H | 29 | | |
| | A2 | I | 26 | | |
| | A2 | J | 19 | | |
| | A3 | A | 40 | | |
| | A3 | B | 45 | | |
| | A3 | C | 33 | | |
| | A3 | D | 33 | | |
| | A3 | E | 47 | | |
| | A3 | F | 33 | | |
| | A3 | G | 48 | | |
| | A3 | H | 34 | | |
| | A3 | I | 45 | | |
| | A3 | J | 10 | | |
| | A4 | A | 30 | | |
| | A4 | B | 32 | | |
| | A4 | C | 31 | | |
| | A4 | D | 23 | | |
| | A4 | E | 13 | | |
| | A4 | F | 43 | | |
| | A4 | G | 32 | | |
| | A4 | H | 27 | | |
| | A4 | I | 30 | | |
| | A4 | J | 42 | | |
| | server_id | service_id | operating_cost | | |
| |---|---|---| | |
| | A1 | A | 10 | | |
| | A1 | B | 21 | | |
| | A1 | C | 17 | | |
| | A1 | D | 13 | | |
| | A1 | E | 22 | | |
| | A1 | F | 13 | | |
| | A1 | G | 5 | | |
| | A1 | H | 9 | | |
| | A1 | I | 23 | | |
| | A1 | J | 14 | | |
| | A2 | A | 14 | | |
| | A2 | B | 7 | | |
| | A2 | C | 23 | | |
| | A2 | D | 9 | | |
| | A2 | E | 16 | | |
| | A2 | F | 15 | | |
| | A2 | G | 15 | | |
| | A2 | H | 21 | | |
| | A2 | I | 20 | | |
| | A2 | J | 12 | | |
| | A3 | A | 20 | | |
| | A3 | B | 13 | | |
| | A3 | C | 7 | | |
| | A3 | D | 5 | | |
| | A3 | E | 15 | | |
| | A3 | F | 6 | | |
| | A3 | G | 8 | | |
| | A3 | H | 18 | | |
| | A3 | I | 10 | | |
| | A3 | J | 20 | | |
| | A4 | A | 21 | | |
| | A4 | B | 22 | | |
| | A4 | C | 24 | | |
| | A4 | D | 21 | | |
| | A4 | E | 22 | | |
| | A4 | F | 19 | | |
| | A4 | G | 22 | | |
| | A4 | H | 15 | | |
| | A4 | I | 5 | | |
| | A4 | J | 8 | | |
| Place all 10 services onto the 4 servers without exceeding any server's RAM and while minimizing total operating cost. | |
| One more thing — when you send back the placement, please use this simple JSON layout so it's easy to parse: | |
| { | |
| ""solution"": [ | |
| <server_id_for_first_service>, | |
| <server_id_for_second_service>, | |
| ..., | |
| <server_id_for_last_service> | |
| ] | |
| } | |
| Think of it like a form: ""solution"" is the list, and each entry in that list is the exact server (host) you picked for the corresponding service, in the same order the services were listed above. This is just the shape I expect — not the real answer itself. | |
| Please use the identifiers exactly as they appear in the instance input — don't invent new names or change them. | |
| - 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”.""","{'resource_consumption': [[21, 24, 39, 50, 29, 12, 45, 46, 30, 36], [36, 39, 17, 36, 17, 26, 49, 29, 26, 19], [40, 45, 33, 33, 47, 33, 48, 34, 45, 10], [30, 32, 31, 23, 13, 43, 32, 27, 30, 42]], 'assignment_costs': [[10, 21, 17, 13, 22, 13, 5, 9, 23, 14], [14, 7, 23, 9, 16, 15, 15, 21, 20, 12], [20, 13, 7, 5, 15, 6, 8, 18, 10, 20], [21, 22, 24, 21, 22, 19, 22, 15, 5, 8]], 'capacities': [493, 493, 493, 493], 'objective': 77.0}","[0, 1, 2, 2, 2, 2, 0, 0, 3, 3]",77.0,"{'problem_type': 'GAP', 'num_agents': 4, 'num_tasks': 10, 'agents': ['A1', 'A2', 'A3', 'A4'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 493}, {'agent_id': 'A2', 'capacity': 493}, {'agent_id': 'A3', 'capacity': 493}, {'agent_id': 'A4', 'capacity': 493}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 21}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 24}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 39}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 50}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 29}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 12}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 45}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 46}, {'agent_id': 'A1', 'task_id': 'I', 'consumption': 30}, {'agent_id': 'A1', 'task_id': 'J', 'consumption': 36}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 36}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 39}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 17}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 36}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 17}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 26}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 49}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 29}, {'agent_id': 'A2', 'task_id': 'I', 'consumption': 26}, {'agent_id': 'A2', 'task_id': 'J', 'consumption': 19}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 40}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 45}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 33}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 33}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 47}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 33}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 48}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 34}, {'agent_id': 'A3', 'task_id': 'I', 'consumption': 45}, {'agent_id': 'A3', 'task_id': 'J', 'consumption': 10}, {'agent_id': 'A4', 'task_id': 'A', 'consumption': 30}, {'agent_id': 'A4', 'task_id': 'B', 'consumption': 32}, {'agent_id': 'A4', 'task_id': 'C', 'consumption': 31}, {'agent_id': 'A4', 'task_id': 'D', 'consumption': 23}, {'agent_id': 'A4', 'task_id': 'E', 'consumption': 13}, {'agent_id': 'A4', 'task_id': 'F', 'consumption': 43}, {'agent_id': 'A4', 'task_id': 'G', 'consumption': 32}, {'agent_id': 'A4', 'task_id': 'H', 'consumption': 27}, {'agent_id': 'A4', 'task_id': 'I', 'consumption': 30}, {'agent_id': 'A4', 'task_id': 'J', 'consumption': 42}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 10}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 21}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 13}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 13}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 9}, {'agent_id': 'A1', 'task_id': 'I', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'J', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 14}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 23}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 9}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 16}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 15}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 15}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 21}, {'agent_id': 'A2', 'task_id': 'I', 'cost': 20}, {'agent_id': 'A2', 'task_id': 'J', 'cost': 12}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 20}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 13}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 7}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 5}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 15}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 6}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 8}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 18}, {'agent_id': 'A3', 'task_id': 'I', 'cost': 10}, {'agent_id': 'A3', 'task_id': 'J', 'cost': 20}, {'agent_id': 'A4', 'task_id': 'A', 'cost': 21}, {'agent_id': 'A4', 'task_id': 'B', 'cost': 22}, {'agent_id': 'A4', 'task_id': 'C', 'cost': 24}, {'agent_id': 'A4', 'task_id': 'D', 'cost': 21}, {'agent_id': 'A4', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A4', 'task_id': 'F', 'cost': 19}, {'agent_id': 'A4', 'task_id': 'G', 'cost': 22}, {'agent_id': 'A4', 'task_id': 'H', 'cost': 15}, {'agent_id': 'A4', 'task_id': 'I', 'cost': 5}, {'agent_id': 'A4', 'task_id': 'J', 'cost': 8}]}","['A1', 'A2', 'A3', 'A3', 'A3', 'A3', 'A1', 'A1', 'A4', 'A4']",35,markdown_table,names | |
| GAP,GAP,"Many moves come down to a simple balancing act: put each item on one truck, never twice and never forgotten. Since trucks differ in how much room an item eats up and how much they’ll bill for hauling it, the job is to keep every truck under its capacity while making the total moving charges (add every item’s assigned charge together) as small as possible. The specific item-to-truck space usages and fees are shown below. | |
| # num_trucks=2 | |
| # num_items=8 | |
| # truck_ids=A1, A2 | |
| # item_ids=1, 2, 3, 4, 5, 6, 7, 8 | |
| truck_id,truck_capacity | |
| A1,240 | |
| A2,233 | |
| truck_id,item_id,space_consumption | |
| A1,1,13 | |
| A1,2,39 | |
| A1,3,13 | |
| A1,4,16 | |
| A1,5,46 | |
| A1,6,45 | |
| A1,7,34 | |
| A1,8,42 | |
| A2,1,41 | |
| A2,2,29 | |
| A2,3,27 | |
| A2,4,24 | |
| A2,5,35 | |
| A2,6,38 | |
| A2,7,16 | |
| A2,8,30 | |
| truck_id,item_id,moving_fee | |
| A1,1,17 | |
| A1,2,5 | |
| A1,3,25 | |
| A1,4,24 | |
| A1,5,10 | |
| A1,6,9 | |
| A1,7,18 | |
| A1,8,15 | |
| A2,1,6 | |
| A2,2,13 | |
| A2,3,17 | |
| A2,4,7 | |
| A2,5,17 | |
| A2,6,24 | |
| A2,7,5 | |
| A2,8,11 | |
| And if you want to hand me the answer in a machine-friendly way, just drop it in a tiny JSON like this — one entry per item, in order: | |
| { | |
| ""solution"": [ | |
| <truck_id_for_first_item>, | |
| <truck_id_for_second_item>, | |
| ..., | |
| <truck_id_for_last_item> | |
| ] | |
| } | |
| This ""solution"" array is just a list that says which truck each item goes on (first array entry = first item, second = second item, and so on). Think of each placeholder as the spot where you'll put the exact truck identifier from the instance. It's just the shape I need, not the actual assignment. | |
| Please use the exact identifiers from the instance input — don't rename them or invent new ones. | |
| - 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”"".","{'resource_consumption': [[13, 39, 13, 16, 46, 45, 34, 42], [41, 29, 27, 24, 35, 38, 16, 30]], 'assignment_costs': [[17, 5, 25, 24, 10, 9, 18, 15], [6, 13, 17, 7, 17, 24, 5, 11]], 'capacities': [240, 233], 'objective': 70.0}","[1, 0, 1, 1, 0, 0, 1, 1]",70.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 8, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 240}, {'agent_id': 'A2', 'capacity': 233}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 13}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 13}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 16}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 46}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 34}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 41}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 35}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 38}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 16}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 30}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 17}, {'agent_id': 'A1', 'task_id': 2, 'cost': 5}, {'agent_id': 'A1', 'task_id': 3, 'cost': 25}, {'agent_id': 'A1', 'task_id': 4, 'cost': 24}, {'agent_id': 'A1', 'task_id': 5, 'cost': 10}, {'agent_id': 'A1', 'task_id': 6, 'cost': 9}, {'agent_id': 'A1', 'task_id': 7, 'cost': 18}, {'agent_id': 'A1', 'task_id': 8, 'cost': 15}, {'agent_id': 'A2', 'task_id': 1, 'cost': 6}, {'agent_id': 'A2', 'task_id': 2, 'cost': 13}, {'agent_id': 'A2', 'task_id': 3, 'cost': 17}, {'agent_id': 'A2', 'task_id': 4, 'cost': 7}, {'agent_id': 'A2', 'task_id': 5, 'cost': 17}, {'agent_id': 'A2', 'task_id': 6, 'cost': 24}, {'agent_id': 'A2', 'task_id': 7, 'cost': 5}, {'agent_id': 'A2', 'task_id': 8, 'cost': 11}]}","['A2', 'A1', 'A2', 'A2', 'A1', 'A1', 'A2', 'A2']",36,csv,1 | |
| GAP,GAP,"Someone at the library needs to sort out a batch of returned books by sending each title to one repair shop so nothing is missed or duplicated. Each shop uses a different amount of repair time on different books and charges different parts prices, and every shop only has a limited number of repair hours, so the sum of times for the books sent there can’t go over that limit. The idea is to minimize the overall repair bill — calculated by adding up the parts cost for every book where it’s sent — while making sure every book is assigned and no shop’s hours are exceeded. The full breakdown of books, times, costs, and shop hour limits is shown below. | |
| There are 3 repair shops and 8 returned books; the shops are A1, A2, A3 and the books are A, B, C, D, E, F, G, H. | |
| Repair shop A1 has 192 repair hours available for this batch. | |
| Repair shop A2 has 192 repair hours available for this batch. | |
| Repair shop A3 has 192 repair hours available for this batch. | |
| Sending book A to shop A1 consumes 36 repair hours and incurs 9 in parts cost. | |
| Sending book B to shop A1 consumes 22 repair hours and incurs 9 in parts cost. | |
| Sending book C to shop A1 consumes 49 repair hours and incurs 15 in parts cost. | |
| Sending book D to shop A1 consumes 12 repair hours and incurs 8 in parts cost. | |
| Sending book E to shop A1 consumes 48 repair hours and incurs 5 in parts cost. | |
| Sending book F to shop A1 consumes 46 repair hours and incurs 17 in parts cost. | |
| Sending book G to shop A1 consumes 10 repair hours and incurs 22 in parts cost. | |
| Sending book H to shop A1 consumes 47 repair hours and incurs 16 in parts cost. | |
| Sending book A to shop A2 consumes 10 repair hours and incurs 5 in parts cost. | |
| Sending book B to shop A2 consumes 12 repair hours and incurs 13 in parts cost. | |
| Sending book C to shop A2 consumes 29 repair hours and incurs 7 in parts cost. | |
| Sending book D to shop A2 consumes 49 repair hours and incurs 25 in parts cost. | |
| Sending book E to shop A2 consumes 13 repair hours and incurs 22 in parts cost. | |
| Sending book F to shop A2 consumes 25 repair hours and incurs 9 in parts cost. | |
| Sending book G to shop A2 consumes 33 repair hours and incurs 25 in parts cost. | |
| Sending book H to shop A2 consumes 50 repair hours and incurs 17 in parts cost. | |
| Sending book A to shop A3 consumes 11 repair hours and incurs 23 in parts cost. | |
| Sending book B to shop A3 consumes 48 repair hours and incurs 8 in parts cost. | |
| Sending book C to shop A3 consumes 47 repair hours and incurs 8 in parts cost. | |
| Sending book D to shop A3 consumes 11 repair hours and incurs 15 in parts cost. | |
| Sending book E to shop A3 consumes 38 repair hours and incurs 11 in parts cost. | |
| Sending book F to shop A3 consumes 10 repair hours and incurs 11 in parts cost. | |
| Sending book G to shop A3 consumes 29 repair hours and incurs 9 in parts cost. | |
| Sending book H to shop A3 consumes 20 repair hours and incurs 7 in parts cost. | |
| Assign each book to exactly one shop, keeping within each shop's available hours and minimizing the total parts cost. | |
| If you want to hand me the final assignment in a tidy, machine-friendly way, just use this simple JSON layout so it's clear which shop each book goes to: | |
| { | |
| ""solution"": [ | |
| <shop_id_for_first_book>, | |
| <shop_id_for_second_book>, | |
| ..., | |
| <shop_id_for_last_book> | |
| ] | |
| } | |
| This little sketch means: the ""solution"" array lists, in order, which repair shop each returned book should be sent to — the first entry is the shop for the first book, the second entry is the shop for the second book, and so on. It's just the shape I expect, not the actual assignment. | |
| Please make sure to use the exact identifiers from the instance input — don't rename them or introduce 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”.","{'resource_consumption': [[36, 22, 49, 12, 48, 46, 10, 47], [10, 12, 29, 49, 13, 25, 33, 50], [11, 48, 47, 11, 38, 10, 29, 20]], 'assignment_costs': [[9, 9, 15, 8, 5, 17, 22, 16], [5, 13, 7, 25, 22, 9, 25, 17], [23, 8, 8, 15, 11, 11, 9, 7]], 'capacities': [192, 192, 192], 'objective': 58.0}","[1, 2, 1, 0, 0, 1, 2, 2]",58.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 8, 'agents': ['A1', 'A2', 'A3'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 192}, {'agent_id': 'A2', 'capacity': 192}, {'agent_id': 'A3', 'capacity': 192}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 36}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 22}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 49}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 12}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 48}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 46}, {'agent_id': 'A1', 'task_id': 'G', 'consumption': 10}, {'agent_id': 'A1', 'task_id': 'H', 'consumption': 47}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 10}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 12}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 29}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 49}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 13}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 25}, {'agent_id': 'A2', 'task_id': 'G', 'consumption': 33}, {'agent_id': 'A2', 'task_id': 'H', 'consumption': 50}, {'agent_id': 'A3', 'task_id': 'A', 'consumption': 11}, {'agent_id': 'A3', 'task_id': 'B', 'consumption': 48}, {'agent_id': 'A3', 'task_id': 'C', 'consumption': 47}, {'agent_id': 'A3', 'task_id': 'D', 'consumption': 11}, {'agent_id': 'A3', 'task_id': 'E', 'consumption': 38}, {'agent_id': 'A3', 'task_id': 'F', 'consumption': 10}, {'agent_id': 'A3', 'task_id': 'G', 'consumption': 29}, {'agent_id': 'A3', 'task_id': 'H', 'consumption': 20}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 9}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 9}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 15}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 8}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 5}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 17}, {'agent_id': 'A1', 'task_id': 'G', 'cost': 22}, {'agent_id': 'A1', 'task_id': 'H', 'cost': 16}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 5}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 7}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 9}, {'agent_id': 'A2', 'task_id': 'G', 'cost': 25}, {'agent_id': 'A2', 'task_id': 'H', 'cost': 17}, {'agent_id': 'A3', 'task_id': 'A', 'cost': 23}, {'agent_id': 'A3', 'task_id': 'B', 'cost': 8}, {'agent_id': 'A3', 'task_id': 'C', 'cost': 8}, {'agent_id': 'A3', 'task_id': 'D', 'cost': 15}, {'agent_id': 'A3', 'task_id': 'E', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'F', 'cost': 11}, {'agent_id': 'A3', 'task_id': 'G', 'cost': 9}, {'agent_id': 'A3', 'task_id': 'H', 'cost': 7}]}","['A2', 'A3', 'A2', 'A1', 'A1', 'A2', 'A3', 'A3']",37,nl,names | |
| GAP,GAP,"There’s this juggling act at the shop: every customer order has to be handed to exactly one fulfillment partner, and different partners use different amounts of their packing space and charge different fees for the same order. The goal is straightforward — pick partners so the sum of all those fees is as small as possible (just add up each assigned order’s fee). But while chasing lower bills, there’s a practical limit: the total packing space taken by the orders sent to any one partner can’t go past their available space, and no order can be skipped or shipped twice. The full order-by-partner details are shown below. | |
| There are 3 partners and 7 orders; partners: A1, A2, A3; orders: 1, 2, 3, 4, 5, 6, 7. | |
| | partner_id | available_packing_space | | |
| |---|---| | |
| | A1 | 971 | | |
| | A2 | 958 | | |
| | A3 | 952 | | |
| | partner_id | order_id | space_used | | |
| |---|---|---| | |
| | A1 | 1 | 10 | | |
| | A1 | 2 | 25 | | |
| | A1 | 3 | 39 | | |
| | A1 | 4 | 14 | | |
| | A1 | 5 | 22 | | |
| | A1 | 6 | 14 | | |
| | A1 | 7 | 27 | | |
| | A2 | 1 | 34 | | |
| | A2 | 2 | 35 | | |
| | A2 | 3 | 15 | | |
| | A2 | 4 | 34 | | |
| | A2 | 5 | 46 | | |
| | A2 | 6 | 18 | | |
| | A2 | 7 | 13 | | |
| | A3 | 1 | 41 | | |
| | A3 | 2 | 36 | | |
| | A3 | 3 | 34 | | |
| | A3 | 4 | 38 | | |
| | A3 | 5 | 23 | | |
| | A3 | 6 | 18 | | |
| | A3 | 7 | 40 | | |
| | partner_id | order_id | fulfillment_fee | | |
| |---|---|---| | |
| | A1 | 1 | 12 | | |
| | A1 | 2 | 11 | | |
| | A1 | 3 | 16 | | |
| | A1 | 4 | 17 | | |
| | A1 | 5 | 20 | | |
| | A1 | 6 | 20 | | |
| | A1 | 7 | 21 | | |
| | A2 | 1 | 11 | | |
| | A2 | 2 | 13 | | |
| | A2 | 3 | 12 | | |
| | A2 | 4 | 14 | | |
| | A2 | 5 | 10 | | |
| | A2 | 6 | 20 | | |
| | A2 | 7 | 5 | | |
| | A3 | 1 | 14 | | |
| | A3 | 2 | 16 | | |
| | A3 | 3 | 12 | | |
| | A3 | 4 | 8 | | |
| | A3 | 5 | 6 | | |
| | A3 | 6 | 19 | | |
| | A3 | 7 | 13 | | |
| Assign each order exactly once and keep every partner's assigned space within their available packing space. | |
| Oh, and when you send the assignment back, just stick to a tiny JSON sketch like this so it's easy to parse: | |
| { | |
| ""solution"": [ | |
| <partner_id_for_first_order>, | |
| <partner_id_for_second_order>, | |
| ..., | |
| <partner_id_for_last_order> | |
| ] | |
| } | |
| Here ""solution"" is just a list that says, in order, which fulfillment partner handles each order — the first entry is the partner for the first order, the second for the second order, and so on. Think of it like filling out a simple sign-up sheet: one partner name per order, in the order the orders were listed. | |
| This JSON is just the expected shape — not the actual assignment. Please use the exact identifiers from the problem input when you fill it in: no renaming, no invented 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”.","{'resource_consumption': [[10, 25, 39, 14, 22, 14, 27], [34, 35, 15, 34, 46, 18, 13], [41, 36, 34, 38, 23, 18, 40]], 'assignment_costs': [[12, 11, 16, 17, 20, 20, 21], [11, 13, 12, 14, 10, 20, 5], [14, 16, 12, 8, 6, 19, 13]], 'capacities': [971, 958, 952], 'objective': 72.0}","[1, 0, 2, 2, 2, 2, 1]",72.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 7, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 971}, {'agent_id': 'A2', 'capacity': 958}, {'agent_id': 'A3', 'capacity': 952}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 10}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 25}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 22}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 35}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 15}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 46}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 18}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 13}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 41}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 36}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 34}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 38}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 23}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 18}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 40}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 12}, {'agent_id': 'A1', 'task_id': 2, 'cost': 11}, {'agent_id': 'A1', 'task_id': 3, 'cost': 16}, {'agent_id': 'A1', 'task_id': 4, 'cost': 17}, {'agent_id': 'A1', 'task_id': 5, 'cost': 20}, {'agent_id': 'A1', 'task_id': 6, 'cost': 20}, {'agent_id': 'A1', 'task_id': 7, 'cost': 21}, {'agent_id': 'A2', 'task_id': 1, 'cost': 11}, {'agent_id': 'A2', 'task_id': 2, 'cost': 13}, {'agent_id': 'A2', 'task_id': 3, 'cost': 12}, {'agent_id': 'A2', 'task_id': 4, 'cost': 14}, {'agent_id': 'A2', 'task_id': 5, 'cost': 10}, {'agent_id': 'A2', 'task_id': 6, 'cost': 20}, {'agent_id': 'A2', 'task_id': 7, 'cost': 5}, {'agent_id': 'A3', 'task_id': 1, 'cost': 14}, {'agent_id': 'A3', 'task_id': 2, 'cost': 16}, {'agent_id': 'A3', 'task_id': 3, 'cost': 12}, {'agent_id': 'A3', 'task_id': 4, 'cost': 8}, {'agent_id': 'A3', 'task_id': 5, 'cost': 6}, {'agent_id': 'A3', 'task_id': 6, 'cost': 19}, {'agent_id': 'A3', 'task_id': 7, 'cost': 13}]}","['A2', 'A1', 'A3', 'A3', 'A3', 'A3', 'A2']",38,markdown_table,1 | |
| GAP,GAP,"I run the fleet’s maintenance planning and have to hand out a stack of repair jobs to the mechanics so that every job gets done and none are duplicated. Each mechanic takes different amounts of shop time on each job and charges different labor rates, and every mechanic only has a certain number of hours available that day. A better plan is simply the one that leads to the smallest total labor bill — add up the charge for each job under whoever is assigned, and pick the assignment with the lowest sum — but never leave a job unassigned or give the same job to two people, and don’t give anyone more hours than they actually have. The exact job times and rates are shown below. | |
| { | |
| ""num_mechanics"": 3, | |
| ""num_jobs"": 7, | |
| ""mechanics"": [ | |
| ""A1"", | |
| ""A2"", | |
| ""A3"" | |
| ], | |
| ""jobs"": [ | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5, | |
| 6, | |
| 7 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""available_hours"": 464 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""available_hours"": 485 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""available_hours"": 495 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 1, | |
| ""hours_required"": 19 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 2, | |
| ""hours_required"": 39 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 3, | |
| ""hours_required"": 31 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 4, | |
| ""hours_required"": 45 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 5, | |
| ""hours_required"": 16 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 6, | |
| ""hours_required"": 22 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 7, | |
| ""hours_required"": 22 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 1, | |
| ""hours_required"": 14 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 2, | |
| ""hours_required"": 24 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 3, | |
| ""hours_required"": 30 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 4, | |
| ""hours_required"": 44 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 5, | |
| ""hours_required"": 36 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 6, | |
| ""hours_required"": 39 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 7, | |
| ""hours_required"": 47 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 1, | |
| ""hours_required"": 30 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 2, | |
| ""hours_required"": 34 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 3, | |
| ""hours_required"": 35 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 4, | |
| ""hours_required"": 30 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 5, | |
| ""hours_required"": 28 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 6, | |
| ""hours_required"": 42 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 7, | |
| ""hours_required"": 13 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 1, | |
| ""labor_cost"": 16 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 2, | |
| ""labor_cost"": 12 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 3, | |
| ""labor_cost"": 16 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 4, | |
| ""labor_cost"": 21 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 5, | |
| ""labor_cost"": 5 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 6, | |
| ""labor_cost"": 12 | |
| }, | |
| { | |
| ""mechanic_id"": ""A1"", | |
| ""job_id"": 7, | |
| ""labor_cost"": 24 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 1, | |
| ""labor_cost"": 18 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 2, | |
| ""labor_cost"": 20 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 3, | |
| ""labor_cost"": 19 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 4, | |
| ""labor_cost"": 5 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 5, | |
| ""labor_cost"": 22 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 6, | |
| ""labor_cost"": 25 | |
| }, | |
| { | |
| ""mechanic_id"": ""A2"", | |
| ""job_id"": 7, | |
| ""labor_cost"": 24 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 1, | |
| ""labor_cost"": 10 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 2, | |
| ""labor_cost"": 18 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 3, | |
| ""labor_cost"": 23 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 4, | |
| ""labor_cost"": 14 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 5, | |
| ""labor_cost"": 15 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 6, | |
| ""labor_cost"": 22 | |
| }, | |
| { | |
| ""mechanic_id"": ""A3"", | |
| ""job_id"": 7, | |
| ""labor_cost"": 19 | |
| } | |
| ] | |
| } | |
| ...and to make it easy for me to consume your answer, just drop the assignment into a tiny JSON snippet like this. | |
| { | |
| ""solution"": [ | |
| <mechanic_id_for_first_job>, | |
| <mechanic_id_for_second_job>, | |
| ..., | |
| <mechanic_id_for_last_job> | |
| ] | |
| } | |
| The ""solution"" array is just the ordered list of who does each job — first element = who takes the first repair job, second = who takes the second, and so on. The angle-bracket items above are placeholders showing the shape; when you fill it in, put the actual mechanic IDs from the instance. | |
| This JSON is only a sketch of the shape I expect, not the actual assignment itself. | |
| Please make sure to use the exact identifiers from 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”.""","{'resource_consumption': [[19, 39, 31, 45, 16, 22, 22], [14, 24, 30, 44, 36, 39, 47], [30, 34, 35, 30, 28, 42, 13]], 'assignment_costs': [[16, 12, 16, 21, 5, 12, 24], [18, 20, 19, 5, 22, 25, 24], [10, 18, 23, 14, 15, 22, 19]], 'capacities': [464, 485, 495], 'objective': 79.0}","[2, 0, 0, 1, 0, 0, 2]",79.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 7, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 464}, {'agent_id': 'A2', 'capacity': 485}, {'agent_id': 'A3', 'capacity': 495}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 19}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 31}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 16}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 22}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 22}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 44}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 36}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 39}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 47}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 30}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 34}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 35}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 30}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 28}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 42}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 13}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 16}, {'agent_id': 'A1', 'task_id': 2, 'cost': 12}, {'agent_id': 'A1', 'task_id': 3, 'cost': 16}, {'agent_id': 'A1', 'task_id': 4, 'cost': 21}, {'agent_id': 'A1', 'task_id': 5, 'cost': 5}, {'agent_id': 'A1', 'task_id': 6, 'cost': 12}, {'agent_id': 'A1', 'task_id': 7, 'cost': 24}, {'agent_id': 'A2', 'task_id': 1, 'cost': 18}, {'agent_id': 'A2', 'task_id': 2, 'cost': 20}, {'agent_id': 'A2', 'task_id': 3, 'cost': 19}, {'agent_id': 'A2', 'task_id': 4, 'cost': 5}, {'agent_id': 'A2', 'task_id': 5, 'cost': 22}, {'agent_id': 'A2', 'task_id': 6, 'cost': 25}, {'agent_id': 'A2', 'task_id': 7, 'cost': 24}, {'agent_id': 'A3', 'task_id': 1, 'cost': 10}, {'agent_id': 'A3', 'task_id': 2, 'cost': 18}, {'agent_id': 'A3', 'task_id': 3, 'cost': 23}, {'agent_id': 'A3', 'task_id': 4, 'cost': 14}, {'agent_id': 'A3', 'task_id': 5, 'cost': 15}, {'agent_id': 'A3', 'task_id': 6, 'cost': 22}, {'agent_id': 'A3', 'task_id': 7, 'cost': 19}]}","['A3', 'A1', 'A1', 'A2', 'A1', 'A1', 'A3']",39,json,1 | |
| GAP,GAP,"Someone on the planning team is trying to fit all the acts into venue slots, making sure each act appears once and only once. Each act–slot pairing uses up some of the slot’s limited resources and has its own rental charge; a single slot can take on several acts but only up to its capacity. The aim is to choose a slot for every act so that when the rental charges for each choice are added up the overall bill is as low as it can be, and no slot’s total resource use goes past its limit. The concrete details are listed below. | |
| { | |
| ""num_venue_slots"": 2, | |
| ""num_performances"": 5, | |
| ""venue_slots"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""performances"": [ | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""slot_id"": ""A1"", | |
| ""slot_resource_capacity"": 243 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""slot_resource_capacity"": 243 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 1, | |
| ""slot_resource_usage"": 41 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 2, | |
| ""slot_resource_usage"": 45 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 3, | |
| ""slot_resource_usage"": 20 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 4, | |
| ""slot_resource_usage"": 32 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 5, | |
| ""slot_resource_usage"": 46 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 1, | |
| ""slot_resource_usage"": 48 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 2, | |
| ""slot_resource_usage"": 30 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 3, | |
| ""slot_resource_usage"": 20 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 4, | |
| ""slot_resource_usage"": 24 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 5, | |
| ""slot_resource_usage"": 18 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 1, | |
| ""rental_cost"": 17 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 2, | |
| ""rental_cost"": 15 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 3, | |
| ""rental_cost"": 5 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 4, | |
| ""rental_cost"": 18 | |
| }, | |
| { | |
| ""slot_id"": ""A1"", | |
| ""performance_id"": 5, | |
| ""rental_cost"": 13 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 1, | |
| ""rental_cost"": 19 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 2, | |
| ""rental_cost"": 23 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 3, | |
| ""rental_cost"": 15 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 4, | |
| ""rental_cost"": 12 | |
| }, | |
| { | |
| ""slot_id"": ""A2"", | |
| ""performance_id"": 5, | |
| ""rental_cost"": 9 | |
| } | |
| ] | |
| } | |
| Also, when you send back the assignment, please use this simple JSON layout so it's easy to parse and check: | |
| { | |
| ""solution"": [ | |
| <slot_id_for_first_act>, | |
| <slot_id_for_second_act>, | |
| ..., | |
| <slot_id_for_last_act> | |
| ] | |
| } | |
| This just lists, in order, which slot each act is assigned to — the first entry is the slot for the first act, the next is the slot for the second act, and so on. Think of it like filling out a little form: one slot identifier per act. This is just a sketch of the shape I need, not the real answer. | |
| Please 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”.""","{'resource_consumption': [[41, 45, 20, 32, 46], [48, 30, 20, 24, 18]], 'assignment_costs': [[17, 15, 5, 18, 13], [19, 23, 15, 12, 9]], 'capacities': [243, 243], 'objective': 58.0}","[0, 0, 0, 1, 1]",58.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 243}, {'agent_id': 'A2', 'capacity': 243}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 41}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 20}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 32}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 46}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 48}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 20}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 18}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 17}, {'agent_id': 'A1', 'task_id': 2, 'cost': 15}, {'agent_id': 'A1', 'task_id': 3, 'cost': 5}, {'agent_id': 'A1', 'task_id': 4, 'cost': 18}, {'agent_id': 'A1', 'task_id': 5, 'cost': 13}, {'agent_id': 'A2', 'task_id': 1, 'cost': 19}, {'agent_id': 'A2', 'task_id': 2, 'cost': 23}, {'agent_id': 'A2', 'task_id': 3, 'cost': 15}, {'agent_id': 'A2', 'task_id': 4, 'cost': 12}, {'agent_id': 'A2', 'task_id': 5, 'cost': 9}]}","['A1', 'A1', 'A1', 'A2', 'A2']",40,json,1 | |
| GAP,GAP,"On a busy day the fulfillment team has to match every product listing to a single warehouse so all listings are stocked but none are stocked twice. For each product-warehouse pairing there's a known storage footprint and a known cost to handle and store that product there; the overall goal is just to lower the total bill — add up every chosen product’s handling and storage fees to get that total — while making sure no warehouse is asked to hold more than its available space. The detailed numbers for capacity, per-item space use, and per-item cost are listed below. | |
| # num_warehouses=2 | |
| # num_listings=7 | |
| # warehouses=A1, A2 | |
| # listings=1, 2, 3, 4, 5, 6, 7 | |
| warehouse_id,storage_capacity | |
| A1,209 | |
| A2,209 | |
| warehouse_id,listing_id,storage_footprint | |
| A1,1,37 | |
| A1,2,45 | |
| A1,3,24 | |
| A1,4,46 | |
| A1,5,38 | |
| A1,6,18 | |
| A1,7,12 | |
| A2,1,30 | |
| A2,2,48 | |
| A2,3,14 | |
| A2,4,29 | |
| A2,5,29 | |
| A2,6,16 | |
| A2,7,43 | |
| warehouse_id,listing_id,handling_and_storage_cost | |
| A1,1,12 | |
| A1,2,21 | |
| A1,3,22 | |
| A1,4,14 | |
| A1,5,22 | |
| A1,6,23 | |
| A1,7,14 | |
| A2,1,6 | |
| A2,2,11 | |
| A2,3,15 | |
| A2,4,11 | |
| A2,5,9 | |
| A2,6,19 | |
| A2,7,15 | |
| If you want to hand the answer back in a tidy, machine-friendly way, you can just use a small JSON sketch like this: | |
| { | |
| ""solution"": [ | |
| <warehouse_id_for_first_task>, | |
| <warehouse_id_for_second_task>, | |
| ..., | |
| <warehouse_id_for_last_task> | |
| ] | |
| } | |
| Think of ""solution"" as a simple list: the first entry is the warehouse chosen for the first product listing, the second entry is the warehouse for the second product listing, and so on down the line. The angle-bracket placeholders are where you would put the actual warehouse identifiers from the instance. | |
| This is only a sketch of the shape I expect, not the final assignment itself. Please make sure to use the exact identifiers from the 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”.","{'resource_consumption': [[37, 45, 24, 46, 38, 18, 12], [30, 48, 14, 29, 29, 16, 43]], 'assignment_costs': [[12, 21, 22, 14, 22, 23, 14], [6, 11, 15, 11, 9, 19, 15]], 'capacities': [209, 209], 'objective': 85.0}","[1, 1, 1, 1, 1, 1, 0]",85.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 7, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5, 6, 7], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 209}, {'agent_id': 'A2', 'capacity': 209}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 37}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 45}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 24}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 46}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 38}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 18}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 12}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 48}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 16}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 43}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 12}, {'agent_id': 'A1', 'task_id': 2, 'cost': 21}, {'agent_id': 'A1', 'task_id': 3, 'cost': 22}, {'agent_id': 'A1', 'task_id': 4, 'cost': 14}, {'agent_id': 'A1', 'task_id': 5, 'cost': 22}, {'agent_id': 'A1', 'task_id': 6, 'cost': 23}, {'agent_id': 'A1', 'task_id': 7, 'cost': 14}, {'agent_id': 'A2', 'task_id': 1, 'cost': 6}, {'agent_id': 'A2', 'task_id': 2, 'cost': 11}, {'agent_id': 'A2', 'task_id': 3, 'cost': 15}, {'agent_id': 'A2', 'task_id': 4, 'cost': 11}, {'agent_id': 'A2', 'task_id': 5, 'cost': 9}, {'agent_id': 'A2', 'task_id': 6, 'cost': 19}, {'agent_id': 'A2', 'task_id': 7, 'cost': 15}]}","['A2', 'A2', 'A2', 'A2', 'A2', 'A2', 'A1']",41,csv,1 | |
| GAP,GAP,"I helped organize a cluster of home repairs around town: there’s a list of jobs and a handful of local contractors. The choice to make is which contractor gets which job — every repair must go to exactly one contractor, no job gets skipped or handed to two people. Each contractor can take on several jobs, but the hours they’ll spend on their assigned jobs can’t add up to more than the time they’ve got available. The aim is to keep the total bill as small as possible — that’s just the sum of the prices for each job under the contractor chosen for it. The exact hours each contractor would need for each job and their prices are shown below. | |
| I listed 3 contractors (A1, A2, A3) and 9 jobs (0, 1, 2, 3, 4, 5, 6, 7, 8). | |
| | contractor_id | available_hours | | |
| |---|---| | |
| | A1 | 243 | | |
| | A2 | 243 | | |
| | A3 | 243 | | |
| | contractor_id | job_id | hours_required | | |
| |---|---|---| | |
| | A1 | 0 | 50 | | |
| | A1 | 1 | 46 | | |
| | A1 | 2 | 26 | | |
| | A1 | 3 | 20 | | |
| | A1 | 4 | 16 | | |
| | A1 | 5 | 24 | | |
| | A1 | 6 | 41 | | |
| | A1 | 7 | 30 | | |
| | A1 | 8 | 47 | | |
| | A2 | 0 | 28 | | |
| | A2 | 1 | 47 | | |
| | A2 | 2 | 21 | | |
| | A2 | 3 | 25 | | |
| | A2 | 4 | 41 | | |
| | A2 | 5 | 36 | | |
| | A2 | 6 | 31 | | |
| | A2 | 7 | 47 | | |
| | A2 | 8 | 46 | | |
| | A3 | 0 | 48 | | |
| | A3 | 1 | 24 | | |
| | A3 | 2 | 45 | | |
| | A3 | 3 | 33 | | |
| | A3 | 4 | 11 | | |
| | A3 | 5 | 42 | | |
| | A3 | 6 | 13 | | |
| | A3 | 7 | 30 | | |
| | A3 | 8 | 19 | | |
| | contractor_id | job_id | price | | |
| |---|---|---| | |
| | A1 | 0 | 15 | | |
| | A1 | 1 | 21 | | |
| | A1 | 2 | 18 | | |
| | A1 | 3 | 25 | | |
| | A1 | 4 | 24 | | |
| | A1 | 5 | 11 | | |
| | A1 | 6 | 20 | | |
| | A1 | 7 | 25 | | |
| | A1 | 8 | 23 | | |
| | A2 | 0 | 21 | | |
| | A2 | 1 | 23 | | |
| | A2 | 2 | 17 | | |
| | A2 | 3 | 15 | | |
| | A2 | 4 | 5 | | |
| | A2 | 5 | 22 | | |
| | A2 | 6 | 15 | | |
| | A2 | 7 | 22 | | |
| | A2 | 8 | 10 | | |
| | A3 | 0 | 22 | | |
| | A3 | 1 | 6 | | |
| | A3 | 2 | 6 | | |
| | A3 | 3 | 9 | | |
| | A3 | 4 | 19 | | |
| | A3 | 5 | 18 | | |
| | A3 | 6 | 18 | | |
| | A3 | 7 | 18 | | |
| | A3 | 8 | 19 | | |
| I want every job assigned to one contractor without exceeding available hours, and the total bill kept as low as possible. | |
| I'll send the final assignment back in a tiny JSON sketch so it's easy to read and paste — something like this: | |
| { | |
| ""solution"": [ | |
| <contractor_id_for_first_task>, | |
| <contractor_id_for_second_task>, | |
| ..., | |
| <contractor_id_for_last_task> | |
| ] | |
| } | |
| This just shows the shape I need: ""solution"" is a list where each entry names which contractor gets the corresponding job (first entry → first job, second → second job, and so on). It's just a sketch of the shape, not the actual assignment. | |
| Please use the exact identifiers from the instance input when you fill this in — 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”.""","{'resource_consumption': [[50, 46, 26, 20, 16, 24, 41, 30, 47], [28, 47, 21, 25, 41, 36, 31, 47, 46], [48, 24, 45, 33, 11, 42, 13, 30, 19]], 'assignment_costs': [[15, 21, 18, 25, 24, 11, 20, 25, 23], [21, 23, 17, 15, 5, 22, 15, 22, 10], [22, 6, 6, 9, 19, 18, 18, 18, 19]], 'capacities': [243, 243, 243], 'objective': 95.0}","[0, 2, 2, 2, 1, 0, 1, 2, 1]",95.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': [0, 1, 2, 3, 4, 5, 6, 7, 8], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 243}, {'agent_id': 'A2', 'capacity': 243}, {'agent_id': 'A3', 'capacity': 243}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 50}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 46}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 26}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 20}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 16}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 24}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 41}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 30}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 47}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 28}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 47}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 21}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 25}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 41}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 36}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 47}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 46}, {'agent_id': 'A3', 'task_id': 0, 'consumption': 48}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 24}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 45}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 33}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 11}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 42}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 13}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 30}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 19}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 15}, {'agent_id': 'A1', 'task_id': 1, 'cost': 21}, {'agent_id': 'A1', 'task_id': 2, 'cost': 18}, {'agent_id': 'A1', 'task_id': 3, 'cost': 25}, {'agent_id': 'A1', 'task_id': 4, 'cost': 24}, {'agent_id': 'A1', 'task_id': 5, 'cost': 11}, {'agent_id': 'A1', 'task_id': 6, 'cost': 20}, {'agent_id': 'A1', 'task_id': 7, 'cost': 25}, {'agent_id': 'A1', 'task_id': 8, 'cost': 23}, {'agent_id': 'A2', 'task_id': 0, 'cost': 21}, {'agent_id': 'A2', 'task_id': 1, 'cost': 23}, {'agent_id': 'A2', 'task_id': 2, 'cost': 17}, {'agent_id': 'A2', 'task_id': 3, 'cost': 15}, {'agent_id': 'A2', 'task_id': 4, 'cost': 5}, {'agent_id': 'A2', 'task_id': 5, 'cost': 22}, {'agent_id': 'A2', 'task_id': 6, 'cost': 15}, {'agent_id': 'A2', 'task_id': 7, 'cost': 22}, {'agent_id': 'A2', 'task_id': 8, 'cost': 10}, {'agent_id': 'A3', 'task_id': 0, 'cost': 22}, {'agent_id': 'A3', 'task_id': 1, 'cost': 6}, {'agent_id': 'A3', 'task_id': 2, 'cost': 6}, {'agent_id': 'A3', 'task_id': 3, 'cost': 9}, {'agent_id': 'A3', 'task_id': 4, 'cost': 19}, {'agent_id': 'A3', 'task_id': 5, 'cost': 18}, {'agent_id': 'A3', 'task_id': 6, 'cost': 18}, {'agent_id': 'A3', 'task_id': 7, 'cost': 18}, {'agent_id': 'A3', 'task_id': 8, 'cost': 19}]}","['A1', 'A3', 'A3', 'A3', 'A2', 'A1', 'A2', 'A3', 'A2']",42,markdown_table,0 | |
| GAP,GAP,"Many households juggle routines and favoritism when deciding chores, but here the plan is clear: every chore gets exactly one person, and no one is given more cumulative work than they can handle. Since each person will take different amounts of time and ask for different rewards for the same chores, the aim is to keep the total payout for all chores as low as possible — just add up each person’s reward for the chores they end up doing and compare totals, with the smallest total being the win. The specific chores, who can do them, time costs, and their reward requests are listed below. | |
| There are 2 family members (A1, A2) and 8 chores (0, 1, 2, 3, 4, 5, 6, 7). | |
| Family member A1 can spend up to 179 time units on chores. | |
| Family member A2 can spend up to 181 time units on chores. | |
| A1 would take 18 time to do 0 and requests 20 reward for it. | |
| A1 would take 18 time to do 1 and requests 16 reward for it. | |
| A1 would take 28 time to do 2 and requests 7 reward for it. | |
| A1 would take 11 time to do 3 and requests 7 reward for it. | |
| A1 would take 28 time to do 4 and requests 14 reward for it. | |
| A1 would take 46 time to do 5 and requests 14 reward for it. | |
| A1 would take 21 time to do 6 and requests 8 reward for it. | |
| A1 would take 16 time to do 7 and requests 20 reward for it. | |
| A2 would take 44 time to do 0 and requests 8 reward for it. | |
| A2 would take 24 time to do 1 and requests 13 reward for it. | |
| A2 would take 22 time to do 2 and requests 24 reward for it. | |
| A2 would take 24 time to do 3 and requests 18 reward for it. | |
| A2 would take 23 time to do 4 and requests 9 reward for it. | |
| A2 would take 17 time to do 5 and requests 22 reward for it. | |
| A2 would take 26 time to do 6 and requests 8 reward for it. | |
| A2 would take 14 time to do 7 and requests 23 reward for it. | |
| Assign all 8 chores among the 2 family members without exceeding anyone's available time, and minimize the sum of requested rewards. | |
| Oh, and just so everything gets handed back in the right shape, please use this little JSON layout for your reply — just a simple list showing who does each chore. | |
| { | |
| ""solution"": [ | |
| <person_id_for_first_task>, | |
| <person_id_for_second_task>, | |
| ..., | |
| <person_id_for_last_task> | |
| ] | |
| } | |
| Think of that as a form: the ""solution"" array has one entry per chore in the exact order the chores were listed, and each placeholder is where you put the identifier of the person doing that chore. The placeholders are just a sketch of the shape I expect; when you fill it in, use the exact identifiers from the instance. | |
| Please don't rename or invent identifiers — use them exactly as they appear in the problem input. | |
| - 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”."" | |
| Remember: that JSON is just the expected format, not the answer itself.","{'resource_consumption': [[18, 18, 28, 11, 28, 46, 21, 16], [44, 24, 22, 24, 23, 17, 26, 14]], 'assignment_costs': [[20, 16, 7, 7, 14, 14, 8, 20], [8, 13, 24, 18, 9, 22, 8, 23]], 'capacities': [179, 181], 'objective': 86.0}","[1, 1, 0, 0, 1, 0, 1, 0]",86.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 8, 'agents': ['A1', 'A2'], 'tasks': [0, 1, 2, 3, 4, 5, 6, 7], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 179}, {'agent_id': 'A2', 'capacity': 181}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 18}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 18}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 28}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 11}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 28}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 46}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 21}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 16}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 44}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 22}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 24}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 17}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 26}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 14}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 20}, {'agent_id': 'A1', 'task_id': 1, 'cost': 16}, {'agent_id': 'A1', 'task_id': 2, 'cost': 7}, {'agent_id': 'A1', 'task_id': 3, 'cost': 7}, {'agent_id': 'A1', 'task_id': 4, 'cost': 14}, {'agent_id': 'A1', 'task_id': 5, 'cost': 14}, {'agent_id': 'A1', 'task_id': 6, 'cost': 8}, {'agent_id': 'A1', 'task_id': 7, 'cost': 20}, {'agent_id': 'A2', 'task_id': 0, 'cost': 8}, {'agent_id': 'A2', 'task_id': 1, 'cost': 13}, {'agent_id': 'A2', 'task_id': 2, 'cost': 24}, {'agent_id': 'A2', 'task_id': 3, 'cost': 18}, {'agent_id': 'A2', 'task_id': 4, 'cost': 9}, {'agent_id': 'A2', 'task_id': 5, 'cost': 22}, {'agent_id': 'A2', 'task_id': 6, 'cost': 8}, {'agent_id': 'A2', 'task_id': 7, 'cost': 23}]}","['A2', 'A2', 'A1', 'A1', 'A2', 'A1', 'A2', 'A1']",43,nl,0 | |
| GAP,GAP,"Someone managing the routes has to decide how to spread out the day’s parcels across the fleet. Each parcel must go on exactly one van; vans may carry multiple parcels but the sum of their space or weight must stay inside that van’s allowance. What makes one decision better than another is the total delivery expense — add up the cost for each parcel’s chosen van to get that total — and the lower that sum, the better. Nothing is allowed to be left behind or duplicated, and no van may exceed its limits. The detailed list is below. | |
| Details for the 2 vans (A1, A2) and the 5 parcels (1, 2, 3, 4, 5): | |
| | van_id | van_capacity | | |
| |---|---| | |
| | A1 | 119 | | |
| | A2 | 120 | | |
| | van_id | parcel_id | parcel_consumption_on_van | | |
| |---|---|---| | |
| | A1 | 1 | 11 | | |
| | A1 | 2 | 12 | | |
| | A1 | 3 | 50 | | |
| | A1 | 4 | 19 | | |
| | A1 | 5 | 16 | | |
| | A2 | 1 | 35 | | |
| | A2 | 2 | 16 | | |
| | A2 | 3 | 22 | | |
| | A2 | 4 | 33 | | |
| | A2 | 5 | 20 | | |
| | van_id | parcel_id | parcel_cost_on_van | | |
| |---|---|---| | |
| | A1 | 1 | 11 | | |
| | A1 | 2 | 13 | | |
| | A1 | 3 | 24 | | |
| | A1 | 4 | 23 | | |
| | A1 | 5 | 23 | | |
| | A2 | 1 | 25 | | |
| | A2 | 2 | 19 | | |
| | A2 | 3 | 12 | | |
| | A2 | 4 | 6 | | |
| | A2 | 5 | 9 | | |
| Assignments must place each parcel exactly once, keep every van within its capacity, and minimize total cost across the 2 vans and 5 parcels. | |
| And one more thing — when you send back the assignment, please use this little JSON shape so I can read it automatically: | |
| { | |
| ""solution"": [ | |
| <van_id_for_first_parcel>, | |
| <van_id_for_second_parcel>, | |
| ..., | |
| <van_id_for_last_parcel> | |
| ] | |
| } | |
| This just means ""solution"" should be a list where each entry names which van takes that parcel (first entry = first parcel, second = second parcel, etc.). Keep it casual: each placeholder stands for the van identifier you choose for that parcel, in order. The block above is just the shape I expect, not the actual answer. | |
| Please also make sure to use the exact identifiers from the instance input — don't rename them or invent new ones. 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”.""","{'resource_consumption': [[11, 12, 50, 19, 16], [35, 16, 22, 33, 20]], 'assignment_costs': [[11, 13, 24, 23, 23], [25, 19, 12, 6, 9]], 'capacities': [119, 120], 'objective': 51.0}","[0, 0, 1, 1, 1]",51.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 5, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 119}, {'agent_id': 'A2', 'capacity': 120}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 11}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 12}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 50}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 19}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 16}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 35}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 16}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 22}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 33}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 20}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 11}, {'agent_id': 'A1', 'task_id': 2, 'cost': 13}, {'agent_id': 'A1', 'task_id': 3, 'cost': 24}, {'agent_id': 'A1', 'task_id': 4, 'cost': 23}, {'agent_id': 'A1', 'task_id': 5, 'cost': 23}, {'agent_id': 'A2', 'task_id': 1, 'cost': 25}, {'agent_id': 'A2', 'task_id': 2, 'cost': 19}, {'agent_id': 'A2', 'task_id': 3, 'cost': 12}, {'agent_id': 'A2', 'task_id': 4, 'cost': 6}, {'agent_id': 'A2', 'task_id': 5, 'cost': 9}]}","['A1', 'A1', 'A2', 'A2', 'A2']",44,markdown_table,1 | |
| GAP,GAP,"I’m picturing a busy term where a pile of student projects needs grading and a handful of teaching assistants are available to do the reviews. Each project has to be handed to one TA — no project gets skipped and no project gets split between people — and each TA can take on several reviews as long as the total time or effort they’d need for those reviews doesn’t exceed what they can realistically handle. For every possible pairing, it’s already known how much work that project would be for that TA and how much the TA would charge. The goal is simple: keep the overall grading bill as small as possible by assigning every project to exactly one TA, adding up the fee for each assigned review to get the total cost, and choosing assignments that make that total as low as possible while making sure no TA is overloaded. The exact project loads, TA capacities, and fees are listed below. | |
| { | |
| ""num_tas"": 2, | |
| ""num_projects"": 6, | |
| ""tas"": [ | |
| ""A1"", | |
| ""A2"" | |
| ], | |
| ""projects"": [ | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5, | |
| 6 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""ta_id"": ""A1"", | |
| ""ta_available_capacity"": 963 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""ta_available_capacity"": 953 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 1, | |
| ""grading_effort"": 17 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 2, | |
| ""grading_effort"": 19 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 3, | |
| ""grading_effort"": 22 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 4, | |
| ""grading_effort"": 35 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 5, | |
| ""grading_effort"": 22 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 6, | |
| ""grading_effort"": 50 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 1, | |
| ""grading_effort"": 14 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 2, | |
| ""grading_effort"": 43 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 3, | |
| ""grading_effort"": 29 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 4, | |
| ""grading_effort"": 40 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 5, | |
| ""grading_effort"": 25 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 6, | |
| ""grading_effort"": 19 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 1, | |
| ""grading_fee"": 20 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 2, | |
| ""grading_fee"": 5 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 3, | |
| ""grading_fee"": 6 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 4, | |
| ""grading_fee"": 23 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 5, | |
| ""grading_fee"": 17 | |
| }, | |
| { | |
| ""ta_id"": ""A1"", | |
| ""project_id"": 6, | |
| ""grading_fee"": 25 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 1, | |
| ""grading_fee"": 7 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 2, | |
| ""grading_fee"": 16 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 3, | |
| ""grading_fee"": 9 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 4, | |
| ""grading_fee"": 13 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 5, | |
| ""grading_fee"": 17 | |
| }, | |
| { | |
| ""ta_id"": ""A2"", | |
| ""project_id"": 6, | |
| ""grading_fee"": 14 | |
| } | |
| ] | |
| } | |
| Also, when you give the final assignment, a small JSON snippet like this is perfect — it just lists which TA handles which project in order. | |
| { | |
| ""solution"": [ | |
| <ta_id_for_first_project>, | |
| <ta_id_for_second_project>, | |
| ..., | |
| <ta_id_for_last_project> | |
| ] | |
| } | |
| Think of that array as a checklist: the first entry is the ID of the TA who will grade the first project, the second entry is the TA for the second project, and so on until the last project. This is just the shape I need — replace each placeholder with the actual TA identifiers from the instance when you submit the final assignment. | |
| Please use the exact identifiers from the input with no renaming and no new labels — otherwise the mapping won't match. | |
| - 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”.""","{'resource_consumption': [[17, 19, 22, 35, 22, 50], [14, 43, 29, 40, 25, 19]], 'assignment_costs': [[20, 5, 6, 23, 17, 25], [7, 16, 9, 13, 17, 14]], 'capacities': [963, 953], 'objective': 62.0}","[1, 0, 0, 1, 1, 1]",62.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': [1, 2, 3, 4, 5, 6], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 963}, {'agent_id': 'A2', 'capacity': 953}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 17}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 19}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 22}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 22}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 50}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 43}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 40}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 25}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 19}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 20}, {'agent_id': 'A1', 'task_id': 2, 'cost': 5}, {'agent_id': 'A1', 'task_id': 3, 'cost': 6}, {'agent_id': 'A1', 'task_id': 4, 'cost': 23}, {'agent_id': 'A1', 'task_id': 5, 'cost': 17}, {'agent_id': 'A1', 'task_id': 6, 'cost': 25}, {'agent_id': 'A2', 'task_id': 1, 'cost': 7}, {'agent_id': 'A2', 'task_id': 2, 'cost': 16}, {'agent_id': 'A2', 'task_id': 3, 'cost': 9}, {'agent_id': 'A2', 'task_id': 4, 'cost': 13}, {'agent_id': 'A2', 'task_id': 5, 'cost': 17}, {'agent_id': 'A2', 'task_id': 6, 'cost': 14}]}","['A2', 'A1', 'A1', 'A2', 'A2', 'A2']",45,json,1 | |
| GAP,GAP,"Recently the floor manager had to put patients onto nurses’ lists: each patient must go to a single nurse, nurses can take on multiple patients until their allotted shift time fills up, and for every nurse–patient combo there’s a stated care duration and cost. What counts as a better plan is one with a smaller total staffing charge — found by adding up each selected pairing’s cost — and the plan must assign every patient once and never push a nurse beyond their available hours. The concrete data are shown below. | |
| { | |
| ""num_nurses"": 3, | |
| ""num_patients"": 8, | |
| ""nurse_ids"": [ | |
| ""A1"", | |
| ""A2"", | |
| ""A3"" | |
| ], | |
| ""patient_ids"": [ | |
| 0, | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5, | |
| 6, | |
| 7 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""available_shift_time"": 493 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""available_shift_time"": 493 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""available_shift_time"": 493 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 0, | |
| ""care_time"": 29 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 1, | |
| ""care_time"": 39 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 2, | |
| ""care_time"": 41 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 3, | |
| ""care_time"": 39 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 4, | |
| ""care_time"": 23 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 5, | |
| ""care_time"": 49 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 6, | |
| ""care_time"": 20 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 7, | |
| ""care_time"": 35 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 0, | |
| ""care_time"": 42 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 1, | |
| ""care_time"": 17 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 2, | |
| ""care_time"": 17 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 3, | |
| ""care_time"": 19 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 4, | |
| ""care_time"": 30 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 5, | |
| ""care_time"": 15 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 6, | |
| ""care_time"": 13 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 7, | |
| ""care_time"": 47 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 0, | |
| ""care_time"": 36 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 1, | |
| ""care_time"": 33 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 2, | |
| ""care_time"": 42 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 3, | |
| ""care_time"": 40 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 4, | |
| ""care_time"": 11 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 5, | |
| ""care_time"": 32 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 6, | |
| ""care_time"": 20 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 7, | |
| ""care_time"": 35 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 0, | |
| ""assignment_cost"": 13 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 1, | |
| ""assignment_cost"": 17 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 2, | |
| ""assignment_cost"": 8 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 3, | |
| ""assignment_cost"": 21 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 4, | |
| ""assignment_cost"": 22 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 5, | |
| ""assignment_cost"": 16 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 6, | |
| ""assignment_cost"": 15 | |
| }, | |
| { | |
| ""nurse_id"": ""A1"", | |
| ""patient_id"": 7, | |
| ""assignment_cost"": 11 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 0, | |
| ""assignment_cost"": 17 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 1, | |
| ""assignment_cost"": 23 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 2, | |
| ""assignment_cost"": 11 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 3, | |
| ""assignment_cost"": 10 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 4, | |
| ""assignment_cost"": 22 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 5, | |
| ""assignment_cost"": 25 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 6, | |
| ""assignment_cost"": 21 | |
| }, | |
| { | |
| ""nurse_id"": ""A2"", | |
| ""patient_id"": 7, | |
| ""assignment_cost"": 23 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 0, | |
| ""assignment_cost"": 8 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 1, | |
| ""assignment_cost"": 7 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 2, | |
| ""assignment_cost"": 21 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 3, | |
| ""assignment_cost"": 25 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 4, | |
| ""assignment_cost"": 5 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 5, | |
| ""assignment_cost"": 7 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 6, | |
| ""assignment_cost"": 22 | |
| }, | |
| { | |
| ""nurse_id"": ""A3"", | |
| ""patient_id"": 7, | |
| ""assignment_cost"": 5 | |
| } | |
| ] | |
| } | |
| If you want the assignment in a machine-friendly form, just send it back in this relaxed little JSON shape so I know which nurse goes with which patient (one entry per patient, in order): | |
| { | |
| ""solution"": [ | |
| <nurse_id_for_first_task>, | |
| <nurse_id_for_second_task>, | |
| ..., | |
| <nurse_id_for_last_task> | |
| ] | |
| } | |
| Pretty simple: ""solution"" is a list where each spot is the nurse assigned to the corresponding patient (first list entry → first patient, second → second patient, and so on). Think of it like filling out a form: one nurse ID per patient, in the patient order from the instance. | |
| This is just a sketch of the shape I need, not the actual answer. Please use the exact nurse identifiers from the instance — 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"".","{'resource_consumption': [[29, 39, 41, 39, 23, 49, 20, 35], [42, 17, 17, 19, 30, 15, 13, 47], [36, 33, 42, 40, 11, 32, 20, 35]], 'assignment_costs': [[13, 17, 8, 21, 22, 16, 15, 11], [17, 23, 11, 10, 22, 25, 21, 23], [8, 7, 21, 25, 5, 7, 22, 5]], 'capacities': [493, 493, 493], 'objective': 65.0}","[2, 2, 0, 1, 2, 2, 0, 2]",65.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 8, 'agents': ['A1', 'A2', 'A3'], 'tasks': [0, 1, 2, 3, 4, 5, 6, 7], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 493}, {'agent_id': 'A2', 'capacity': 493}, {'agent_id': 'A3', 'capacity': 493}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 29}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 41}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 23}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 49}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 20}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 35}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 42}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 17}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 17}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 19}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 15}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 13}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 47}, {'agent_id': 'A3', 'task_id': 0, 'consumption': 36}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 33}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 42}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 40}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 11}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 32}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 20}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 35}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 13}, {'agent_id': 'A1', 'task_id': 1, 'cost': 17}, {'agent_id': 'A1', 'task_id': 2, 'cost': 8}, {'agent_id': 'A1', 'task_id': 3, 'cost': 21}, {'agent_id': 'A1', 'task_id': 4, 'cost': 22}, {'agent_id': 'A1', 'task_id': 5, 'cost': 16}, {'agent_id': 'A1', 'task_id': 6, 'cost': 15}, {'agent_id': 'A1', 'task_id': 7, 'cost': 11}, {'agent_id': 'A2', 'task_id': 0, 'cost': 17}, {'agent_id': 'A2', 'task_id': 1, 'cost': 23}, {'agent_id': 'A2', 'task_id': 2, 'cost': 11}, {'agent_id': 'A2', 'task_id': 3, 'cost': 10}, {'agent_id': 'A2', 'task_id': 4, 'cost': 22}, {'agent_id': 'A2', 'task_id': 5, 'cost': 25}, {'agent_id': 'A2', 'task_id': 6, 'cost': 21}, {'agent_id': 'A2', 'task_id': 7, 'cost': 23}, {'agent_id': 'A3', 'task_id': 0, 'cost': 8}, {'agent_id': 'A3', 'task_id': 1, 'cost': 7}, {'agent_id': 'A3', 'task_id': 2, 'cost': 21}, {'agent_id': 'A3', 'task_id': 3, 'cost': 25}, {'agent_id': 'A3', 'task_id': 4, 'cost': 5}, {'agent_id': 'A3', 'task_id': 5, 'cost': 7}, {'agent_id': 'A3', 'task_id': 6, 'cost': 22}, {'agent_id': 'A3', 'task_id': 7, 'cost': 5}]}","['A3', 'A3', 'A1', 'A2', 'A3', 'A3', 'A1', 'A3']",46,json,0 | |
| GAP,GAP,"Someone in charge of bookings has to match every photoshoot to one studio, given that each shoot has an hour demand and each studio charges a specific amount for that shoot. Studios can host multiple shoots, provided the total time booked there stays within that studio’s available hours. The win is the plan with the lowest total rental and setup bill — calculated by adding up the cost of each shoot at the studio it’s put into. The exact numbers and studio hours are shown below. | |
| { | |
| ""num_studios"": 3, | |
| ""num_shoots"": 9, | |
| ""studios"": [ | |
| ""A1"", | |
| ""A2"", | |
| ""A3"" | |
| ], | |
| ""shoots"": [ | |
| 1, | |
| 2, | |
| 3, | |
| 4, | |
| 5, | |
| 6, | |
| 7, | |
| 8, | |
| 9 | |
| ], | |
| ""capacities"": [ | |
| { | |
| ""studio_id"": ""A1"", | |
| ""available_hours"": 365 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""available_hours"": 365 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""available_hours"": 365 | |
| } | |
| ], | |
| ""resource"": [ | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 1, | |
| ""hours_required"": 13 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 2, | |
| ""hours_required"": 27 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 3, | |
| ""hours_required"": 28 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 4, | |
| ""hours_required"": 38 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 5, | |
| ""hours_required"": 21 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 6, | |
| ""hours_required"": 30 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 7, | |
| ""hours_required"": 15 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 8, | |
| ""hours_required"": 39 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 9, | |
| ""hours_required"": 30 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 1, | |
| ""hours_required"": 31 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 2, | |
| ""hours_required"": 33 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 3, | |
| ""hours_required"": 32 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 4, | |
| ""hours_required"": 33 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 5, | |
| ""hours_required"": 27 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 6, | |
| ""hours_required"": 31 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 7, | |
| ""hours_required"": 28 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 8, | |
| ""hours_required"": 23 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 9, | |
| ""hours_required"": 32 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 1, | |
| ""hours_required"": 17 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 2, | |
| ""hours_required"": 34 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 3, | |
| ""hours_required"": 19 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 4, | |
| ""hours_required"": 19 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 5, | |
| ""hours_required"": 28 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 6, | |
| ""hours_required"": 37 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 7, | |
| ""hours_required"": 10 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 8, | |
| ""hours_required"": 15 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 9, | |
| ""hours_required"": 45 | |
| } | |
| ], | |
| ""cost"": [ | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 1, | |
| ""rental_and_setup_cost"": 5 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 2, | |
| ""rental_and_setup_cost"": 24 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 3, | |
| ""rental_and_setup_cost"": 16 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 4, | |
| ""rental_and_setup_cost"": 10 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 5, | |
| ""rental_and_setup_cost"": 6 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 6, | |
| ""rental_and_setup_cost"": 16 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 7, | |
| ""rental_and_setup_cost"": 8 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 8, | |
| ""rental_and_setup_cost"": 7 | |
| }, | |
| { | |
| ""studio_id"": ""A1"", | |
| ""shoot_id"": 9, | |
| ""rental_and_setup_cost"": 20 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 1, | |
| ""rental_and_setup_cost"": 12 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 2, | |
| ""rental_and_setup_cost"": 21 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 3, | |
| ""rental_and_setup_cost"": 12 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 4, | |
| ""rental_and_setup_cost"": 21 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 5, | |
| ""rental_and_setup_cost"": 10 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 6, | |
| ""rental_and_setup_cost"": 8 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 7, | |
| ""rental_and_setup_cost"": 12 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 8, | |
| ""rental_and_setup_cost"": 17 | |
| }, | |
| { | |
| ""studio_id"": ""A2"", | |
| ""shoot_id"": 9, | |
| ""rental_and_setup_cost"": 9 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 1, | |
| ""rental_and_setup_cost"": 9 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 2, | |
| ""rental_and_setup_cost"": 17 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 3, | |
| ""rental_and_setup_cost"": 5 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 4, | |
| ""rental_and_setup_cost"": 6 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 5, | |
| ""rental_and_setup_cost"": 25 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 6, | |
| ""rental_and_setup_cost"": 8 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 7, | |
| ""rental_and_setup_cost"": 17 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 8, | |
| ""rental_and_setup_cost"": 20 | |
| }, | |
| { | |
| ""studio_id"": ""A3"", | |
| ""shoot_id"": 9, | |
| ""rental_and_setup_cost"": 25 | |
| } | |
| ] | |
| } | |
| If you could send the final plan in a compact JSON snippet, that makes it easy to check automatically — something casual like this will do: | |
| { | |
| ""solution"": [ | |
| <studio_id_for_first_shoot>, | |
| <studio_id_for_second_shoot>, | |
| ..., | |
| <studio_id_for_last_shoot> | |
| ] | |
| } | |
| This just shows the shape: the ""solution"" array should list, in order, which studio each shoot is assigned to (first shoot → first entry, second shoot → second entry, and so on). It's just a sketch of the expected layout, not the actual assignment itself. | |
| Please make sure to use the exact identifiers from the instance input — no renaming and no new labels. Valid identifiers look like: | |
| - plain numbers such as ""1"" or ""23"" | |
| - single capital letters like ""A"" or ""B"" | |
| - a capital letter followed by digits like ""A1"" or ""X7""","{'resource_consumption': [[13, 27, 28, 38, 21, 30, 15, 39, 30], [31, 33, 32, 33, 27, 31, 28, 23, 32], [17, 34, 19, 19, 28, 37, 10, 15, 45]], 'assignment_costs': [[5, 24, 16, 10, 6, 16, 8, 7, 20], [12, 21, 12, 21, 10, 8, 12, 17, 9], [9, 17, 5, 6, 25, 8, 17, 20, 25]], 'capacities': [365, 365, 365], 'objective': 71.0}","[0, 2, 2, 2, 0, 1, 0, 0, 1]",71.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8, 9], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 365}, {'agent_id': 'A2', 'capacity': 365}, {'agent_id': 'A3', 'capacity': 365}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 13}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 27}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 28}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 38}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 21}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 30}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 15}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 39}, {'agent_id': 'A1', 'task_id': 9, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 33}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 32}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 33}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 27}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 28}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 23}, {'agent_id': 'A2', 'task_id': 9, 'consumption': 32}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 17}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 34}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 19}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 19}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 28}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 37}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 10}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 15}, {'agent_id': 'A3', 'task_id': 9, 'consumption': 45}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 5}, {'agent_id': 'A1', 'task_id': 2, 'cost': 24}, {'agent_id': 'A1', 'task_id': 3, 'cost': 16}, {'agent_id': 'A1', 'task_id': 4, 'cost': 10}, {'agent_id': 'A1', 'task_id': 5, 'cost': 6}, {'agent_id': 'A1', 'task_id': 6, 'cost': 16}, {'agent_id': 'A1', 'task_id': 7, 'cost': 8}, {'agent_id': 'A1', 'task_id': 8, 'cost': 7}, {'agent_id': 'A1', 'task_id': 9, 'cost': 20}, {'agent_id': 'A2', 'task_id': 1, 'cost': 12}, {'agent_id': 'A2', 'task_id': 2, 'cost': 21}, {'agent_id': 'A2', 'task_id': 3, 'cost': 12}, {'agent_id': 'A2', 'task_id': 4, 'cost': 21}, {'agent_id': 'A2', 'task_id': 5, 'cost': 10}, {'agent_id': 'A2', 'task_id': 6, 'cost': 8}, {'agent_id': 'A2', 'task_id': 7, 'cost': 12}, {'agent_id': 'A2', 'task_id': 8, 'cost': 17}, {'agent_id': 'A2', 'task_id': 9, 'cost': 9}, {'agent_id': 'A3', 'task_id': 1, 'cost': 9}, {'agent_id': 'A3', 'task_id': 2, 'cost': 17}, {'agent_id': 'A3', 'task_id': 3, 'cost': 5}, {'agent_id': 'A3', 'task_id': 4, 'cost': 6}, {'agent_id': 'A3', 'task_id': 5, 'cost': 25}, {'agent_id': 'A3', 'task_id': 6, 'cost': 8}, {'agent_id': 'A3', 'task_id': 7, 'cost': 17}, {'agent_id': 'A3', 'task_id': 8, 'cost': 20}, {'agent_id': 'A3', 'task_id': 9, 'cost': 25}]}","['A1', 'A3', 'A3', 'A3', 'A1', 'A2', 'A1', 'A1', 'A2']",47,json,1 | |
| GAP,GAP,"There’s a quiet scheduling puzzle in the dev office: a set of features needs owners, and each feature should be owned by a single developer. People can carry several tasks, provided the combined estimated effort for those tasks stays inside their personal time budget. We’ve mapped out, for each developer and each feature, how much effort that match would take and what it would cost; the winner among possible schedules is the one with the lowest overall bill, which you get by summing the individual assignment costs. The concrete estimates and capacities are shown below. | |
| Below we list the 3 developers and the 9 features: A1, A2, A3 and 1, 2, 3, 4, 5, 6, 7, 8, 9. | |
| | developer_id | available_hours | | |
| |---|---| | |
| | A1 | 711 | | |
| | A2 | 712 | | |
| | A3 | 704 | | |
| | developer_id | feature_id | estimated_effort_hours | | |
| |---|---|---| | |
| | A1 | 1 | 10 | | |
| | A1 | 2 | 40 | | |
| | A1 | 3 | 44 | | |
| | A1 | 4 | 10 | | |
| | A1 | 5 | 31 | | |
| | A1 | 6 | 16 | | |
| | A1 | 7 | 41 | | |
| | A1 | 8 | 50 | | |
| | A1 | 9 | 30 | | |
| | A2 | 1 | 31 | | |
| | A2 | 2 | 50 | | |
| | A2 | 3 | 34 | | |
| | A2 | 4 | 14 | | |
| | A2 | 5 | 30 | | |
| | A2 | 6 | 49 | | |
| | A2 | 7 | 48 | | |
| | A2 | 8 | 28 | | |
| | A2 | 9 | 20 | | |
| | A3 | 1 | 32 | | |
| | A3 | 2 | 20 | | |
| | A3 | 3 | 49 | | |
| | A3 | 4 | 44 | | |
| | A3 | 5 | 37 | | |
| | A3 | 6 | 17 | | |
| | A3 | 7 | 46 | | |
| | A3 | 8 | 14 | | |
| | A3 | 9 | 41 | | |
| | developer_id | feature_id | implementation_cost | | |
| |---|---|---| | |
| | A1 | 1 | 5 | | |
| | A1 | 2 | 11 | | |
| | A1 | 3 | 20 | | |
| | A1 | 4 | 20 | | |
| | A1 | 5 | 5 | | |
| | A1 | 6 | 12 | | |
| | A1 | 7 | 16 | | |
| | A1 | 8 | 10 | | |
| | A1 | 9 | 17 | | |
| | A2 | 1 | 7 | | |
| | A2 | 2 | 20 | | |
| | A2 | 3 | 20 | | |
| | A2 | 4 | 13 | | |
| | A2 | 5 | 6 | | |
| | A2 | 6 | 8 | | |
| | A2 | 7 | 6 | | |
| | A2 | 8 | 17 | | |
| | A2 | 9 | 11 | | |
| | A3 | 1 | 20 | | |
| | A3 | 2 | 5 | | |
| | A3 | 3 | 17 | | |
| | A3 | 4 | 15 | | |
| | A3 | 5 | 18 | | |
| | A3 | 6 | 20 | | |
| | A3 | 7 | 12 | | |
| | A3 | 8 | 13 | | |
| | A3 | 9 | 22 | | |
| We’ll pick the schedule with the lowest summed implementation cost. | |
| Oh, and one more thing — when you send the final assignment back, a simple JSON sketch like the one below is all I need: it just lists, in order, who takes each feature. | |
| { | |
| ""solution"": [ | |
| <developer_id_for_first_task>, | |
| <developer_id_for_second_task>, | |
| ..., | |
| <developer_id_for_last_task> | |
| ] | |
| } | |
| Think of that array as a simple form: each slot corresponds to a feature (in the same order as the instance), and the placeholder in each slot is the identifier for the developer who’ll own it. This is just the shape I’m expecting, not the actual assignments. | |
| Please make sure you 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”.""","{'resource_consumption': [[10, 40, 44, 10, 31, 16, 41, 50, 30], [31, 50, 34, 14, 30, 49, 48, 28, 20], [32, 20, 49, 44, 37, 17, 46, 14, 41]], 'assignment_costs': [[5, 11, 20, 20, 5, 12, 16, 10, 17], [7, 20, 20, 13, 6, 8, 6, 17, 11], [20, 5, 17, 15, 18, 20, 12, 13, 22]], 'capacities': [711, 712, 704], 'objective': 80.0}","[0, 2, 2, 1, 0, 1, 1, 0, 1]",80.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': [1, 2, 3, 4, 5, 6, 7, 8, 9], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 711}, {'agent_id': 'A2', 'capacity': 712}, {'agent_id': 'A3', 'capacity': 704}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 1, 'consumption': 10}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 40}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 44}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 10}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 31}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 16}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 41}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 50}, {'agent_id': 'A1', 'task_id': 9, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 31}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 50}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 14}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 30}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 49}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 48}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 28}, {'agent_id': 'A2', 'task_id': 9, 'consumption': 20}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 32}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 20}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 49}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 44}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 37}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 17}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 46}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 14}, {'agent_id': 'A3', 'task_id': 9, 'consumption': 41}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 1, 'cost': 5}, {'agent_id': 'A1', 'task_id': 2, 'cost': 11}, {'agent_id': 'A1', 'task_id': 3, 'cost': 20}, {'agent_id': 'A1', 'task_id': 4, 'cost': 20}, {'agent_id': 'A1', 'task_id': 5, 'cost': 5}, {'agent_id': 'A1', 'task_id': 6, 'cost': 12}, {'agent_id': 'A1', 'task_id': 7, 'cost': 16}, {'agent_id': 'A1', 'task_id': 8, 'cost': 10}, {'agent_id': 'A1', 'task_id': 9, 'cost': 17}, {'agent_id': 'A2', 'task_id': 1, 'cost': 7}, {'agent_id': 'A2', 'task_id': 2, 'cost': 20}, {'agent_id': 'A2', 'task_id': 3, 'cost': 20}, {'agent_id': 'A2', 'task_id': 4, 'cost': 13}, {'agent_id': 'A2', 'task_id': 5, 'cost': 6}, {'agent_id': 'A2', 'task_id': 6, 'cost': 8}, {'agent_id': 'A2', 'task_id': 7, 'cost': 6}, {'agent_id': 'A2', 'task_id': 8, 'cost': 17}, {'agent_id': 'A2', 'task_id': 9, 'cost': 11}, {'agent_id': 'A3', 'task_id': 1, 'cost': 20}, {'agent_id': 'A3', 'task_id': 2, 'cost': 5}, {'agent_id': 'A3', 'task_id': 3, 'cost': 17}, {'agent_id': 'A3', 'task_id': 4, 'cost': 15}, {'agent_id': 'A3', 'task_id': 5, 'cost': 18}, {'agent_id': 'A3', 'task_id': 6, 'cost': 20}, {'agent_id': 'A3', 'task_id': 7, 'cost': 12}, {'agent_id': 'A3', 'task_id': 8, 'cost': 13}, {'agent_id': 'A3', 'task_id': 9, 'cost': 22}]}","['A1', 'A3', 'A3', 'A2', 'A1', 'A2', 'A2', 'A1', 'A2']",48,markdown_table,1 | |
| GAP,GAP,"Many people don’t think about how manuscripts get distributed: the reality is every article needs one editor, editors can handle multiple articles but their pages add up, and for every potential match we already know both the page cost and the money it would take. The objective is straightforward — spend the least possible in total by summing the fees of the chosen editor–manuscript pairs — while ensuring no editor’s pages go over their limit and every manuscript is assigned exactly once. The specific details follow below. | |
| There are 3 editors (A1, A2, A3) and 9 manuscripts (0, 1, 2, 3, 4, 5, 6, 7, 8). | |
| | editor_id | page_capacity | | |
| |---|---| | |
| | A1 | 493 | | |
| | A2 | 493 | | |
| | A3 | 493 | | |
| | editor_id | manuscript_id | pages | | |
| |---|---|---| | |
| | A1 | 0 | 25 | | |
| | A1 | 1 | 14 | | |
| | A1 | 2 | 30 | | |
| | A1 | 3 | 35 | | |
| | A1 | 4 | 17 | | |
| | A1 | 5 | 15 | | |
| | A1 | 6 | 12 | | |
| | A1 | 7 | 46 | | |
| | A1 | 8 | 29 | | |
| | A2 | 0 | 35 | | |
| | A2 | 1 | 10 | | |
| | A2 | 2 | 22 | | |
| | A2 | 3 | 34 | | |
| | A2 | 4 | 21 | | |
| | A2 | 5 | 38 | | |
| | A2 | 6 | 44 | | |
| | A2 | 7 | 10 | | |
| | A2 | 8 | 23 | | |
| | A3 | 0 | 48 | | |
| | A3 | 1 | 31 | | |
| | A3 | 2 | 20 | | |
| | A3 | 3 | 39 | | |
| | A3 | 4 | 14 | | |
| | A3 | 5 | 10 | | |
| | A3 | 6 | 33 | | |
| | A3 | 7 | 38 | | |
| | A3 | 8 | 23 | | |
| | editor_id | manuscript_id | fee | | |
| |---|---|---| | |
| | A1 | 0 | 20 | | |
| | A1 | 1 | 5 | | |
| | A1 | 2 | 22 | | |
| | A1 | 3 | 16 | | |
| | A1 | 4 | 15 | | |
| | A1 | 5 | 9 | | |
| | A1 | 6 | 13 | | |
| | A1 | 7 | 20 | | |
| | A1 | 8 | 25 | | |
| | A2 | 0 | 11 | | |
| | A2 | 1 | 12 | | |
| | A2 | 2 | 23 | | |
| | A2 | 3 | 16 | | |
| | A2 | 4 | 11 | | |
| | A2 | 5 | 17 | | |
| | A2 | 6 | 19 | | |
| | A2 | 7 | 13 | | |
| | A2 | 8 | 19 | | |
| | A3 | 0 | 16 | | |
| | A3 | 1 | 15 | | |
| | A3 | 2 | 17 | | |
| | A3 | 3 | 5 | | |
| | A3 | 4 | 25 | | |
| | A3 | 5 | 18 | | |
| | A3 | 6 | 6 | | |
| | A3 | 7 | 11 | | |
| | A3 | 8 | 15 | | |
| These entries enumerate each editor's page limits and every editor–manuscript pages-and-fees option. | |
| Also, when you send back the assignments, just use this simple JSON layout so it's easy to parse and check: | |
| { | |
| ""solution"": [ | |
| <editor_id_for_first_manuscript>, | |
| <editor_id_for_second_manuscript>, | |
| ..., | |
| <editor_id_for_last_manuscript> | |
| ] | |
| } | |
| Think of that ""solution"" list as a one-line form: the first entry names the editor for the first manuscript, the second entry the editor for the second manuscript, and so on. It's just a sketch of the shape I need — not the final answer itself. | |
| Please make sure to use the exact identifiers from the instance input when you fill it in. No renaming and no invented 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”.""","{'resource_consumption': [[25, 14, 30, 35, 17, 15, 12, 46, 29], [35, 10, 22, 34, 21, 38, 44, 10, 23], [48, 31, 20, 39, 14, 10, 33, 38, 23]], 'assignment_costs': [[20, 5, 22, 16, 15, 9, 13, 20, 25], [11, 12, 23, 16, 11, 17, 19, 13, 19], [16, 15, 17, 5, 25, 18, 6, 11, 15]], 'capacities': [493, 493, 493], 'objective': 90.0}","[1, 0, 2, 2, 1, 0, 2, 2, 2]",90.0,"{'problem_type': 'GAP', 'num_agents': 3, 'num_tasks': 9, 'agents': ['A1', 'A2', 'A3'], 'tasks': [0, 1, 2, 3, 4, 5, 6, 7, 8], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 493}, {'agent_id': 'A2', 'capacity': 493}, {'agent_id': 'A3', 'capacity': 493}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 0, 'consumption': 25}, {'agent_id': 'A1', 'task_id': 1, 'consumption': 14}, {'agent_id': 'A1', 'task_id': 2, 'consumption': 30}, {'agent_id': 'A1', 'task_id': 3, 'consumption': 35}, {'agent_id': 'A1', 'task_id': 4, 'consumption': 17}, {'agent_id': 'A1', 'task_id': 5, 'consumption': 15}, {'agent_id': 'A1', 'task_id': 6, 'consumption': 12}, {'agent_id': 'A1', 'task_id': 7, 'consumption': 46}, {'agent_id': 'A1', 'task_id': 8, 'consumption': 29}, {'agent_id': 'A2', 'task_id': 0, 'consumption': 35}, {'agent_id': 'A2', 'task_id': 1, 'consumption': 10}, {'agent_id': 'A2', 'task_id': 2, 'consumption': 22}, {'agent_id': 'A2', 'task_id': 3, 'consumption': 34}, {'agent_id': 'A2', 'task_id': 4, 'consumption': 21}, {'agent_id': 'A2', 'task_id': 5, 'consumption': 38}, {'agent_id': 'A2', 'task_id': 6, 'consumption': 44}, {'agent_id': 'A2', 'task_id': 7, 'consumption': 10}, {'agent_id': 'A2', 'task_id': 8, 'consumption': 23}, {'agent_id': 'A3', 'task_id': 0, 'consumption': 48}, {'agent_id': 'A3', 'task_id': 1, 'consumption': 31}, {'agent_id': 'A3', 'task_id': 2, 'consumption': 20}, {'agent_id': 'A3', 'task_id': 3, 'consumption': 39}, {'agent_id': 'A3', 'task_id': 4, 'consumption': 14}, {'agent_id': 'A3', 'task_id': 5, 'consumption': 10}, {'agent_id': 'A3', 'task_id': 6, 'consumption': 33}, {'agent_id': 'A3', 'task_id': 7, 'consumption': 38}, {'agent_id': 'A3', 'task_id': 8, 'consumption': 23}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 0, 'cost': 20}, {'agent_id': 'A1', 'task_id': 1, 'cost': 5}, {'agent_id': 'A1', 'task_id': 2, 'cost': 22}, {'agent_id': 'A1', 'task_id': 3, 'cost': 16}, {'agent_id': 'A1', 'task_id': 4, 'cost': 15}, {'agent_id': 'A1', 'task_id': 5, 'cost': 9}, {'agent_id': 'A1', 'task_id': 6, 'cost': 13}, {'agent_id': 'A1', 'task_id': 7, 'cost': 20}, {'agent_id': 'A1', 'task_id': 8, 'cost': 25}, {'agent_id': 'A2', 'task_id': 0, 'cost': 11}, {'agent_id': 'A2', 'task_id': 1, 'cost': 12}, {'agent_id': 'A2', 'task_id': 2, 'cost': 23}, {'agent_id': 'A2', 'task_id': 3, 'cost': 16}, {'agent_id': 'A2', 'task_id': 4, 'cost': 11}, {'agent_id': 'A2', 'task_id': 5, 'cost': 17}, {'agent_id': 'A2', 'task_id': 6, 'cost': 19}, {'agent_id': 'A2', 'task_id': 7, 'cost': 13}, {'agent_id': 'A2', 'task_id': 8, 'cost': 19}, {'agent_id': 'A3', 'task_id': 0, 'cost': 16}, {'agent_id': 'A3', 'task_id': 1, 'cost': 15}, {'agent_id': 'A3', 'task_id': 2, 'cost': 17}, {'agent_id': 'A3', 'task_id': 3, 'cost': 5}, {'agent_id': 'A3', 'task_id': 4, 'cost': 25}, {'agent_id': 'A3', 'task_id': 5, 'cost': 18}, {'agent_id': 'A3', 'task_id': 6, 'cost': 6}, {'agent_id': 'A3', 'task_id': 7, 'cost': 11}, {'agent_id': 'A3', 'task_id': 8, 'cost': 15}]}","['A2', 'A1', 'A3', 'A3', 'A2', 'A1', 'A3', 'A3', 'A3']",49,markdown_table,0 | |
| GAP,GAP,"We’re juggling a pile of film showings and a handful of rooms: each showing needs one room slot, never more than one, and every showing must appear somewhere on the schedule. Rooms can hold multiple showings as long as the combined running time fits inside that room’s available hours. The aim is to arrange all the screenings so the total spent on room rentals is as low as it can be — compute that by summing the rental cost for each screening-room pairing. The detailed times and prices follow below. | |
| We have 2 rooms A1, A2 and 6 screenings A, B, C, D, E, F to place. | |
| | room_id | available_hours | | |
| |---|---| | |
| | A1 | 362 | | |
| | A2 | 359 | | |
| | room_id | screening_id | screening_duration | | |
| |---|---|---| | |
| | A1 | A | 22 | | |
| | A1 | B | 28 | | |
| | A1 | C | 24 | | |
| | A1 | D | 39 | | |
| | A1 | E | 21 | | |
| | A1 | F | 29 | | |
| | A2 | A | 31 | | |
| | A2 | B | 17 | | |
| | A2 | C | 50 | | |
| | A2 | D | 14 | | |
| | A2 | E | 40 | | |
| | A2 | F | 45 | | |
| | room_id | screening_id | rental_cost | | |
| |---|---|---| | |
| | A1 | A | 6 | | |
| | A1 | B | 16 | | |
| | A1 | C | 18 | | |
| | A1 | D | 15 | | |
| | A1 | E | 23 | | |
| | A1 | F | 18 | | |
| | A2 | A | 13 | | |
| | A2 | B | 18 | | |
| | A2 | C | 11 | | |
| | A2 | D | 22 | | |
| | A2 | E | 22 | | |
| | A2 | F | 6 | | |
| We’ll use these details for the 2 rooms and 6 screenings to minimize total rental cost. | |
| Also, one quick thing about the format: when you send the assignment back, keep it in a tiny JSON sketch so it's easy to read and validate. Something along these lines is perfect. | |
| { | |
| ""solution"": [ | |
| <room_id_for_first_showing>, | |
| <room_id_for_second_showing>, | |
| ..., | |
| <room_id_for_last_showing> | |
| ] | |
| } | |
| This just shows that ""solution"" is a list where each entry names the room for a showing, in the same order as the showings were listed above. Think of it like filling out a simple form: position 1 is the room for the first showing, position 2 is the room for the second showing, and so on. It's just a shape sketch — not the real assignment. | |
| Please be sure to use the exact identifiers from the instance input when you fill this in — 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”.""","{'resource_consumption': [[22, 28, 24, 39, 21, 29], [31, 17, 50, 14, 40, 45]], 'assignment_costs': [[6, 16, 18, 15, 23, 18], [13, 18, 11, 22, 22, 6]], 'capacities': [362, 359], 'objective': 76.0}","[0, 0, 1, 0, 1, 1]",76.0,"{'problem_type': 'GAP', 'num_agents': 2, 'num_tasks': 6, 'agents': ['A1', 'A2'], 'tasks': ['A', 'B', 'C', 'D', 'E', 'F'], 'capacity_pairs': [{'agent_id': 'A1', 'capacity': 362}, {'agent_id': 'A2', 'capacity': 359}], 'resource_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'consumption': 22}, {'agent_id': 'A1', 'task_id': 'B', 'consumption': 28}, {'agent_id': 'A1', 'task_id': 'C', 'consumption': 24}, {'agent_id': 'A1', 'task_id': 'D', 'consumption': 39}, {'agent_id': 'A1', 'task_id': 'E', 'consumption': 21}, {'agent_id': 'A1', 'task_id': 'F', 'consumption': 29}, {'agent_id': 'A2', 'task_id': 'A', 'consumption': 31}, {'agent_id': 'A2', 'task_id': 'B', 'consumption': 17}, {'agent_id': 'A2', 'task_id': 'C', 'consumption': 50}, {'agent_id': 'A2', 'task_id': 'D', 'consumption': 14}, {'agent_id': 'A2', 'task_id': 'E', 'consumption': 40}, {'agent_id': 'A2', 'task_id': 'F', 'consumption': 45}], 'cost_pairs': [{'agent_id': 'A1', 'task_id': 'A', 'cost': 6}, {'agent_id': 'A1', 'task_id': 'B', 'cost': 16}, {'agent_id': 'A1', 'task_id': 'C', 'cost': 18}, {'agent_id': 'A1', 'task_id': 'D', 'cost': 15}, {'agent_id': 'A1', 'task_id': 'E', 'cost': 23}, {'agent_id': 'A1', 'task_id': 'F', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'A', 'cost': 13}, {'agent_id': 'A2', 'task_id': 'B', 'cost': 18}, {'agent_id': 'A2', 'task_id': 'C', 'cost': 11}, {'agent_id': 'A2', 'task_id': 'D', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'E', 'cost': 22}, {'agent_id': 'A2', 'task_id': 'F', 'cost': 6}]}","['A1', 'A1', 'A2', 'A1', 'A2', 'A2']",50,markdown_table,names | |