nlco / CFLP /CFLP_S_context.csv
Jing1113's picture
Upload folder using huggingface_hub
aff484f verified
Raw
History Blame Contribute Delete
232 kB
task_name,problem_type,instruction,instance,solution,obj,instance_variant,solution_variant,context_index,input_format,input_index_base
CFLP,CFLP,"Recently the city revisited its pickup plan: decide which transfer stations should be in operation and for every block pick a single active station that will collect its rubbish. No station can be given more than it can deal with, and every block must be assigned to exactly one open station. What counts as a better plan is a lower overall expense β€” add up the startup cost of every station that gets switched on and the hauling cost for every block’s trip to its station; the total should be as small as possible. The exact figures and options are shown underneath.
{
""num_stations"": 2,
""num_blocks"": 5,
""stations"": [
{
""station_id"": ""F1"",
""startup_cost"": 525.0,
""handling_capacity"": 256.0
},
{
""station_id"": ""F2"",
""startup_cost"": 243.0,
""handling_capacity"": 376.0
}
],
""blocks"": [
{
""block_id"": 1,
""waste_amount"": 12.0
},
{
""block_id"": 2,
""waste_amount"": 18.0
},
{
""block_id"": 3,
""waste_amount"": 12.0
},
{
""block_id"": 4,
""waste_amount"": 13.0
},
{
""block_id"": 5,
""waste_amount"": 18.0
}
],
""hauls"": [
{
""station_id"": ""F1"",
""block_id"": 1,
""haul_cost"": 94.0
},
{
""station_id"": ""F1"",
""block_id"": 2,
""haul_cost"": 71.0
},
{
""station_id"": ""F1"",
""block_id"": 3,
""haul_cost"": 391.0
},
{
""station_id"": ""F1"",
""block_id"": 4,
""haul_cost"": 282.0
},
{
""station_id"": ""F1"",
""block_id"": 5,
""haul_cost"": 1361.0
},
{
""station_id"": ""F2"",
""block_id"": 1,
""haul_cost"": 76.0
},
{
""station_id"": ""F2"",
""block_id"": 2,
""haul_cost"": 65.0
},
{
""station_id"": ""F2"",
""block_id"": 3,
""haul_cost"": 78.0
},
{
""station_id"": ""F2"",
""block_id"": 4,
""haul_cost"": 162.0
},
{
""station_id"": ""F2"",
""block_id"": 5,
""haul_cost"": 602.0
}
]
}
One more thing β€” when you send back the plan, please use this simple JSON shape so it's easy to check:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_station>, <chosen_open_station>, ...]
}
}
""selected"" is where you list the transfer stations you decide to turn on. ""assignments"" is a list (in block order) showing which open station each block is assigned to. Think of it like filling out a form: a short list of active sites and then, for every block, the one chosen station.
This is just a sketch of the expected shape β€” not the actual answer.
Please 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”.","{'opening_costs': [525.0, 243.0], 'capacities': [256.0, 376.0], 'connection_costs': [[94.0, 71.0, 391.0, 282.0, 1361.0], [76.0, 65.0, 78.0, 162.0, 602.0]], 'demands': [12.0, 18.0, 12.0, 13.0, 18.0], 'objective': 1226.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",1226.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 525.0, 'capacity': 256.0}, {'id': 'F2', 'opening_cost': 243.0, 'capacity': 376.0}], 'customers': [{'id': 1, 'demand': 12.0}, {'id': 2, 'demand': 18.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 13.0}, {'id': 5, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 94.0}, {'facility': 'F1', 'customer': 2, 'cost': 71.0}, {'facility': 'F1', 'customer': 3, 'cost': 391.0}, {'facility': 'F1', 'customer': 4, 'cost': 282.0}, {'facility': 'F1', 'customer': 5, 'cost': 1361.0}, {'facility': 'F2', 'customer': 1, 'cost': 76.0}, {'facility': 'F2', 'customer': 2, 'cost': 65.0}, {'facility': 'F2', 'customer': 3, 'cost': 78.0}, {'facility': 'F2', 'customer': 4, 'cost': 162.0}, {'facility': 'F2', 'customer': 5, 'cost': 602.0}], 'objective': 1226.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",1,json,1
CFLP,CFLP,"Recently the team sat down with a map of stores and candidate depots and boiled the task down: open some depots, and send each store’s whole order to a single open depot (no partial shipments, all stores covered), while not overloading any depot beyond its capacity. The way to judge plans is by their total cost β€” just add up depot activation fees and the delivery costs to the stores β€” and pick the smallest. The concrete details will be shown below.
Below the team lists 3 candidate depots and 7 stores.
The team notes depot F1 has an activation fee of 296.0 and a handling capacity of 504.0.
The team notes depot F2 has an activation fee of 373.0 and a handling capacity of 415.0.
The team notes depot F3 has an activation fee of 329.0 and a handling capacity of 456.0.
The team notes store A has demand 17.0.
The team notes store B has demand 48.0.
The team notes store C has demand 31.0.
The team notes store D has demand 44.0.
The team notes store E has demand 45.0.
The team notes store F has demand 26.0.
The team notes store G has demand 24.0.
The team notes assigning store A to depot F1 incurs delivery cost 348.0.
The team notes assigning store B to depot F1 incurs delivery cost 33.0.
The team notes assigning store C to depot F1 incurs delivery cost 329.0.
The team notes assigning store D to depot F1 incurs delivery cost 99.0.
The team notes assigning store E to depot F1 incurs delivery cost 310.0.
The team notes assigning store F to depot F1 incurs delivery cost 285.0.
The team notes assigning store G to depot F1 incurs delivery cost 149.0.
The team notes assigning store A to depot F2 incurs delivery cost 598.0.
The team notes assigning store B to depot F2 incurs delivery cost 323.0.
The team notes assigning store C to depot F2 incurs delivery cost 157.0.
The team notes assigning store D to depot F2 incurs delivery cost 410.0.
The team notes assigning store E to depot F2 incurs delivery cost 501.0.
The team notes assigning store F to depot F2 incurs delivery cost 594.0.
The team notes assigning store G to depot F2 incurs delivery cost 184.0.
The team notes assigning store A to depot F3 incurs delivery cost 691.0.
The team notes assigning store B to depot F3 incurs delivery cost 374.0.
The team notes assigning store C to depot F3 incurs delivery cost 387.0.
The team notes assigning store D to depot F3 incurs delivery cost 434.0.
The team notes assigning store E to depot F3 incurs delivery cost 632.0.
The team notes assigning store F to depot F3 incurs delivery cost 610.0.
The team notes assigning store G to depot F3 incurs delivery cost 311.0.
The team will evaluate plans by summing depot activation fees and delivery costs for the 3 depots and 7 stores.
And just so we're on the same page about the output format, please return your plan using this simple JSON layout below β€” it’s just the shape I expect, nothing fancy.
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
Think of ""selected"" as the list of depots you decide to open, and ""assignments"" as, for each store (in the same order they appear in the instance), which open depot will handle that store. Easy, informal β€” like filling out a short form.
This JSON is only a sketch of the expected shape, not the actual answer. Also, please use the exact identifiers from 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”.""","{'opening_costs': [296.0, 373.0, 329.0], 'capacities': [504.0, 415.0, 456.0], 'connection_costs': [[348.0, 33.0, 329.0, 99.0, 310.0, 285.0, 149.0], [598.0, 323.0, 157.0, 410.0, 501.0, 594.0, 184.0], [691.0, 374.0, 387.0, 434.0, 632.0, 610.0, 311.0]], 'demands': [17.0, 48.0, 31.0, 44.0, 45.0, 26.0, 24.0], 'objective': 1849.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0]}",1849.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 296.0, 'capacity': 504.0}, {'id': 'F2', 'opening_cost': 373.0, 'capacity': 415.0}, {'id': 'F3', 'opening_cost': 329.0, 'capacity': 456.0}], 'customers': [{'id': 'A', 'demand': 17.0}, {'id': 'B', 'demand': 48.0}, {'id': 'C', 'demand': 31.0}, {'id': 'D', 'demand': 44.0}, {'id': 'E', 'demand': 45.0}, {'id': 'F', 'demand': 26.0}, {'id': 'G', 'demand': 24.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 348.0}, {'facility': 'F1', 'customer': 'B', 'cost': 33.0}, {'facility': 'F1', 'customer': 'C', 'cost': 329.0}, {'facility': 'F1', 'customer': 'D', 'cost': 99.0}, {'facility': 'F1', 'customer': 'E', 'cost': 310.0}, {'facility': 'F1', 'customer': 'F', 'cost': 285.0}, {'facility': 'F1', 'customer': 'G', 'cost': 149.0}, {'facility': 'F2', 'customer': 'A', 'cost': 598.0}, {'facility': 'F2', 'customer': 'B', 'cost': 323.0}, {'facility': 'F2', 'customer': 'C', 'cost': 157.0}, {'facility': 'F2', 'customer': 'D', 'cost': 410.0}, {'facility': 'F2', 'customer': 'E', 'cost': 501.0}, {'facility': 'F2', 'customer': 'F', 'cost': 594.0}, {'facility': 'F2', 'customer': 'G', 'cost': 184.0}, {'facility': 'F3', 'customer': 'A', 'cost': 691.0}, {'facility': 'F3', 'customer': 'B', 'cost': 374.0}, {'facility': 'F3', 'customer': 'C', 'cost': 387.0}, {'facility': 'F3', 'customer': 'D', 'cost': 434.0}, {'facility': 'F3', 'customer': 'E', 'cost': 632.0}, {'facility': 'F3', 'customer': 'F', 'cost': 610.0}, {'facility': 'F3', 'customer': 'G', 'cost': 311.0}], 'objective': 1849.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",2,nl,names
CFLP,CFLP,"As the person running the lunch operation, the job is to decide which kitchens to staff and which single kitchen will serve each school. No school can be split between kitchens and each kitchen only has so much output it can produce. Plans are compared by their total cost β€” just add the staffing bill for the kitchens that are staffed to the food-transport costs for all school deliveries β€” smaller totals win. No school may be left unserved and no kitchen may go over its production limit; the actual figures are provided below.
# num_kitchens=3
# num_schools=7
# KITCHENS
kitchen_id,staffing_cost,production_capacity
F1,400.0,1382.0
F2,400.0,1335.0
F3,400.0,1331.0
# SCHOOLS
school_id,meal_demand
0,11.0
1,42.0
2,17.0
3,31.0
4,42.0
5,43.0
6,45.0
# DELIVERYS
kitchen_id,school_id,delivery_cost
F1,0,262.0
F1,1,652.0
F1,2,734.0
F1,3,364.0
F1,4,568.0
F1,5,520.0
F1,6,200.0
F2,0,686.0
F2,1,274.0
F2,2,114.0
F2,3,502.0
F2,4,300.0
F2,5,282.0
F2,6,600.0
F3,0,544.0
F3,1,338.0
F3,2,269.0
F3,3,247.0
F3,4,289.0
F3,5,169.0
F3,6,387.0
Also, when you hand me a plan, please use this little JSON layout so it's quick to check and compare plans β€” nothing fancy, just a predictable shape.
{
""solution"": {
""selected"": [<kitchen_to_staff>, <kitchen_to_staff>, ...],
""assignments"": [<kitchen_serving_school>, <kitchen_serving_school>, ...]
}
}
""selected"" is where you list the kitchens you plan to staff (one entry per kitchen). ""assignments"" is where you list, for each school in the order they appear in the instance, the single staffed kitchen that will serve it. Think of the JSON as a simple form: the first array says which kitchens are open, the second array says who serves which school. It's just a sketch of the expected shape β€” not the final plan.
Please be sure to use the exact identifiers from the instance input when you fill this in β€” 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"".","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [1382.0, 1335.0, 1331.0], 'connection_costs': [[262.0, 652.0, 734.0, 364.0, 568.0, 520.0, 200.0], [686.0, 274.0, 114.0, 502.0, 300.0, 282.0, 600.0], [544.0, 338.0, 269.0, 247.0, 289.0, 169.0, 387.0]], 'demands': [11.0, 42.0, 17.0, 31.0, 42.0, 43.0, 45.0], 'objective': 2574.0}","{'open_facilities': [0, 2], 'assignments': [0, 2, 2, 2, 2, 2, 0]}",2574.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1382.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1335.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1331.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 42.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 31.0}, {'id': 4, 'demand': 42.0}, {'id': 5, 'demand': 43.0}, {'id': 6, 'demand': 45.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 262.0}, {'facility': 'F1', 'customer': 1, 'cost': 652.0}, {'facility': 'F1', 'customer': 2, 'cost': 734.0}, {'facility': 'F1', 'customer': 3, 'cost': 364.0}, {'facility': 'F1', 'customer': 4, 'cost': 568.0}, {'facility': 'F1', 'customer': 5, 'cost': 520.0}, {'facility': 'F1', 'customer': 6, 'cost': 200.0}, {'facility': 'F2', 'customer': 0, 'cost': 686.0}, {'facility': 'F2', 'customer': 1, 'cost': 274.0}, {'facility': 'F2', 'customer': 2, 'cost': 114.0}, {'facility': 'F2', 'customer': 3, 'cost': 502.0}, {'facility': 'F2', 'customer': 4, 'cost': 300.0}, {'facility': 'F2', 'customer': 5, 'cost': 282.0}, {'facility': 'F2', 'customer': 6, 'cost': 600.0}, {'facility': 'F3', 'customer': 0, 'cost': 544.0}, {'facility': 'F3', 'customer': 1, 'cost': 338.0}, {'facility': 'F3', 'customer': 2, 'cost': 269.0}, {'facility': 'F3', 'customer': 3, 'cost': 247.0}, {'facility': 'F3', 'customer': 4, 'cost': 289.0}, {'facility': 'F3', 'customer': 5, 'cost': 169.0}, {'facility': 'F3', 'customer': 6, 'cost': 387.0}], 'objective': 2574.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F3', 'F3', 'F3', 'F3', 'F3', 'F1']}",3,csv,0
CFLP,CFLP,"Imagine running the hospital network for a region and having to pick a handful of outpatient clinics to operate while assigning every neighborhood’s patients to one of them. Every clinic you flip on carries a fixed opening cost, each neighborhood has a travel price to each clinic, and every clinic can only accept so many patients. What makes one choice better than another is the total price tag β€” add the opening costs of all chosen clinics to the travel costs for all neighborhoods to calculate it, and the aim is to keep that total as small as possible. No neighborhood can be left unassigned or split between clinics, and no clinic may exceed its capacity. The full list of clinics, capacities and travel costs appears below.
# num_clinics=3
# num_neighborhoods=7
# CLINICS
clinic_id,clinic_opening_cost,clinic_capacity
F1,209.0,259.0
F2,405.0,490.0
F3,462.0,403.0
# NEIGHBORHOODS
neighborhood_id,neighborhood_patient_count
0,28.0
1,20.0
2,19.0
3,22.0
4,18.0
5,24.0
6,19.0
# ASSIGNMENT_TRAVELS
clinic_id,neighborhood_id,assignment_travel_cost
F1,0,498.0
F1,1,938.0
F1,2,96.0
F1,3,1389.0
F1,4,45.0
F1,5,947.0
F1,6,173.0
F2,0,607.0
F2,1,1160.0
F2,2,149.0
F2,3,1609.0
F2,4,63.0
F2,5,931.0
F2,6,385.0
F3,0,70.0
F3,1,735.0
F3,2,96.0
F3,3,1202.0
F3,4,46.0
F3,5,553.0
F3,6,107.0
Also, when you send back the actual choices, please use this little JSON layout so it's easy to read and automatic tools can pick it up:
{
""solution"": {
""selected"": [<clinic_to_open>, <clinic_to_open>, ...],
""assignments"": [<assigned_open_clinic>, <assigned_open_clinic>, ...]
}
}
Think of ""selected"" as the list of clinics you decide to flip on, and ""assignments"" as, for each neighborhood in the same order they were given, the clinic you routed that neighborhood's patients to. Super casual: it's just a formβ€”one list of open clinics and one list saying who goes where.
This is just a sketch of the expected shape, not the actual answer. Please make sure all identifiers you put in there match the instance input exactly β€” no renaming, 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”.""","{'opening_costs': [209.0, 405.0, 462.0], 'capacities': [259.0, 490.0, 403.0], 'connection_costs': [[498.0, 938.0, 96.0, 1389.0, 45.0, 947.0, 173.0], [607.0, 1160.0, 149.0, 1609.0, 63.0, 931.0, 385.0], [70.0, 735.0, 96.0, 1202.0, 46.0, 553.0, 107.0]], 'demands': [28.0, 20.0, 19.0, 22.0, 18.0, 24.0, 19.0], 'objective': 3271.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",3271.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 209.0, 'capacity': 259.0}, {'id': 'F2', 'opening_cost': 405.0, 'capacity': 490.0}, {'id': 'F3', 'opening_cost': 462.0, 'capacity': 403.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 19.0}, {'id': 3, 'demand': 22.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 24.0}, {'id': 6, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 498.0}, {'facility': 'F1', 'customer': 1, 'cost': 938.0}, {'facility': 'F1', 'customer': 2, 'cost': 96.0}, {'facility': 'F1', 'customer': 3, 'cost': 1389.0}, {'facility': 'F1', 'customer': 4, 'cost': 45.0}, {'facility': 'F1', 'customer': 5, 'cost': 947.0}, {'facility': 'F1', 'customer': 6, 'cost': 173.0}, {'facility': 'F2', 'customer': 0, 'cost': 607.0}, {'facility': 'F2', 'customer': 1, 'cost': 1160.0}, {'facility': 'F2', 'customer': 2, 'cost': 149.0}, {'facility': 'F2', 'customer': 3, 'cost': 1609.0}, {'facility': 'F2', 'customer': 4, 'cost': 63.0}, {'facility': 'F2', 'customer': 5, 'cost': 931.0}, {'facility': 'F2', 'customer': 6, 'cost': 385.0}, {'facility': 'F3', 'customer': 0, 'cost': 70.0}, {'facility': 'F3', 'customer': 1, 'cost': 735.0}, {'facility': 'F3', 'customer': 2, 'cost': 96.0}, {'facility': 'F3', 'customer': 3, 'cost': 1202.0}, {'facility': 'F3', 'customer': 4, 'cost': 46.0}, {'facility': 'F3', 'customer': 5, 'cost': 553.0}, {'facility': 'F3', 'customer': 6, 'cost': 107.0}], 'objective': 3271.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",4,csv,0
CFLP,CFLP,"I’m running the food area for a neighborhood festival and need to decide which food stalls to actually set up and which vendor crowds to point to each stall. Each stall costs money to put up and can only serve so many people, and every time a vendor’s customer area is assigned to a stall there’s a serving cost based on distance or effort. The plan has to send each vendor’s customer area to exactly one of the stalls that get set up, make sure no stall serves more people than it can handle, and keep the total bill β€” the sum of all stall setup costs plus all those serving/distance costs β€” as low as possible. The specific stall options, costs, capacities, and vendor customer areas are listed below.
{
""num_stalls"": 2,
""num_vendor_areas"": 6,
""stalls"": [
{
""stall_id"": ""F1"",
""stall_setup_cost"": 400.0,
""stall_capacity"": 1500.0
},
{
""stall_id"": ""F2"",
""stall_setup_cost"": 400.0,
""stall_capacity"": 1500.0
}
],
""vendor_areas"": [
{
""vendor_area_id"": 1,
""vendor_crowd_size"": 33.0
},
{
""vendor_area_id"": 2,
""vendor_crowd_size"": 35.0
},
{
""vendor_area_id"": 3,
""vendor_crowd_size"": 31.0
},
{
""vendor_area_id"": 4,
""vendor_crowd_size"": 42.0
},
{
""vendor_area_id"": 5,
""vendor_crowd_size"": 25.0
},
{
""vendor_area_id"": 6,
""vendor_crowd_size"": 24.0
}
],
""servings"": [
{
""stall_id"": ""F1"",
""vendor_area_id"": 1,
""serving_cost"": 648.0
},
{
""stall_id"": ""F1"",
""vendor_area_id"": 2,
""serving_cost"": 60.0
},
{
""stall_id"": ""F1"",
""vendor_area_id"": 3,
""serving_cost"": 706.0
},
{
""stall_id"": ""F1"",
""vendor_area_id"": 4,
""serving_cost"": 501.0
},
{
""stall_id"": ""F1"",
""vendor_area_id"": 5,
""serving_cost"": 179.0
},
{
""stall_id"": ""F1"",
""vendor_area_id"": 6,
""serving_cost"": 714.0
},
{
""stall_id"": ""F2"",
""vendor_area_id"": 1,
""serving_cost"": 203.0
},
{
""stall_id"": ""F2"",
""vendor_area_id"": 2,
""serving_cost"": 501.0
},
{
""stall_id"": ""F2"",
""vendor_area_id"": 3,
""serving_cost"": 274.0
},
{
""stall_id"": ""F2"",
""vendor_area_id"": 4,
""serving_cost"": 335.0
},
{
""stall_id"": ""F2"",
""vendor_area_id"": 5,
""serving_cost"": 343.0
},
{
""stall_id"": ""F2"",
""vendor_area_id"": 6,
""serving_cost"": 437.0
}
]
}
Oh, and one more thing β€” when you send the plan back, please put it in this little JSON sketch so I can read it programmatically. Just follow the layout below; it's just a simple form that says which stalls to open and which stall each vendor is sent to.
{
""solution"": {
""selected"": [<stall_to_open>, <stall_to_open>, ...],
""assignments"": [<chosen_open_stall>, <chosen_open_stall>, ...]
}
}
Think of ""selected"" as the list of stall locations you decide to set up, and ""assignments"" as, for each vendor/customer area in the order they were given, the stall you point them to. Super casual β€” it's just a template of the shape I need, not the final answer itself.
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”.""","{'opening_costs': [400.0, 400.0], 'capacities': [1500.0, 1500.0], 'connection_costs': [[648.0, 60.0, 706.0, 501.0, 179.0, 714.0], [203.0, 501.0, 274.0, 335.0, 343.0, 437.0]], 'demands': [33.0, 35.0, 31.0, 42.0, 25.0, 24.0], 'objective': 2288.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 1, 1, 0, 1]}",2288.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 1, 'demand': 33.0}, {'id': 2, 'demand': 35.0}, {'id': 3, 'demand': 31.0}, {'id': 4, 'demand': 42.0}, {'id': 5, 'demand': 25.0}, {'id': 6, 'demand': 24.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 648.0}, {'facility': 'F1', 'customer': 2, 'cost': 60.0}, {'facility': 'F1', 'customer': 3, 'cost': 706.0}, {'facility': 'F1', 'customer': 4, 'cost': 501.0}, {'facility': 'F1', 'customer': 5, 'cost': 179.0}, {'facility': 'F1', 'customer': 6, 'cost': 714.0}, {'facility': 'F2', 'customer': 1, 'cost': 203.0}, {'facility': 'F2', 'customer': 2, 'cost': 501.0}, {'facility': 'F2', 'customer': 3, 'cost': 274.0}, {'facility': 'F2', 'customer': 4, 'cost': 335.0}, {'facility': 'F2', 'customer': 5, 'cost': 343.0}, {'facility': 'F2', 'customer': 6, 'cost': 437.0}], 'objective': 2288.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F2', 'F2', 'F1', 'F2']}",5,json,1
CFLP,CFLP,"We’ve got a handful of data centers that can be spun up and a bunch of applications that need service; the job is to pick which centers to activate and then point each app’s traffic to a single active center. Each center costs money to bring online and has a hard bandwidth ceiling, and connecting an app to a center also costs something. A better plan is simply the cheaper one: total expense equals the sum of the centers’ startup charges plus all the routing fees, provided every app is covered by exactly one center and no center’s bandwidth limit is exceeded. The exact numbers and limits follow below.
{
""num_data_centers"": 3,
""num_applications"": 7,
""data_centers"": [
{
""data_center_id"": ""F1"",
""activation_cost"": 600.0,
""bandwidth_capacity"": 300.0
},
{
""data_center_id"": ""F2"",
""activation_cost"": 600.0,
""bandwidth_capacity"": 300.0
},
{
""data_center_id"": ""F3"",
""activation_cost"": 600.0,
""bandwidth_capacity"": 300.0
}
],
""applications"": [
{
""application_id"": 0,
""bandwidth_demand"": 28.0
},
{
""application_id"": 1,
""bandwidth_demand"": 17.0
},
{
""application_id"": 2,
""bandwidth_demand"": 19.0
},
{
""application_id"": 3,
""bandwidth_demand"": 19.0
},
{
""application_id"": 4,
""bandwidth_demand"": 20.0
},
{
""application_id"": 5,
""bandwidth_demand"": 23.0
},
{
""application_id"": 6,
""bandwidth_demand"": 25.0
}
],
""routings"": [
{
""data_center_id"": ""F1"",
""application_id"": 0,
""routing_cost"": 1511.0
},
{
""data_center_id"": ""F1"",
""application_id"": 1,
""routing_cost"": 1733.0
},
{
""data_center_id"": ""F1"",
""application_id"": 2,
""routing_cost"": 1338.0
},
{
""data_center_id"": ""F1"",
""application_id"": 3,
""routing_cost"": 2409.0
},
{
""data_center_id"": ""F1"",
""application_id"": 4,
""routing_cost"": 1048.0
},
{
""data_center_id"": ""F1"",
""application_id"": 5,
""routing_cost"": 1176.0
},
{
""data_center_id"": ""F1"",
""application_id"": 6,
""routing_cost"": 1891.0
},
{
""data_center_id"": ""F2"",
""application_id"": 0,
""routing_cost"": 309.0
},
{
""data_center_id"": ""F2"",
""application_id"": 1,
""routing_cost"": 1253.0
},
{
""data_center_id"": ""F2"",
""application_id"": 2,
""routing_cost"": 579.0
},
{
""data_center_id"": ""F2"",
""application_id"": 3,
""routing_cost"": 1400.0
},
{
""data_center_id"": ""F2"",
""application_id"": 4,
""routing_cost"": 827.0
},
{
""data_center_id"": ""F2"",
""application_id"": 5,
""routing_cost"": 636.0
},
{
""data_center_id"": ""F2"",
""application_id"": 6,
""routing_cost"": 678.0
},
{
""data_center_id"": ""F3"",
""application_id"": 0,
""routing_cost"": 842.0
},
{
""data_center_id"": ""F3"",
""application_id"": 1,
""routing_cost"": 601.0
},
{
""data_center_id"": ""F3"",
""application_id"": 2,
""routing_cost"": 121.0
},
{
""data_center_id"": ""F3"",
""application_id"": 3,
""routing_cost"": 1115.0
},
{
""data_center_id"": ""F3"",
""application_id"": 4,
""routing_cost"": 318.0
},
{
""data_center_id"": ""F3"",
""application_id"": 5,
""routing_cost"": 72.0
},
{
""data_center_id"": ""F3"",
""application_id"": 6,
""routing_cost"": 849.0
}
]
}
Also, when you send the plan back, please use this simple JSON layout so it's easy to parse β€” just a quick sketch of the shape we expect:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
Pretty straightforward: ""selected"" is the list of data centers you decide to spin up, and ""assignments"" lists, in the same order as the applications were given, which spun-up center each app is pointed to. Think of it like filling out a short form β€” which centers are active, and which active center each app uses.
This JSON is just the shape I want to receive, not the actual answer. 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”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [300.0, 300.0, 300.0], 'connection_costs': [[1511.0, 1733.0, 1338.0, 2409.0, 1048.0, 1176.0, 1891.0], [309.0, 1253.0, 579.0, 1400.0, 827.0, 636.0, 678.0], [842.0, 601.0, 121.0, 1115.0, 318.0, 72.0, 849.0]], 'demands': [28.0, 17.0, 19.0, 19.0, 20.0, 23.0, 25.0], 'objective': 4414.0}","{'open_facilities': [1, 2], 'assignments': [1, 2, 2, 2, 2, 2, 1]}",4414.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 19.0}, {'id': 3, 'demand': 19.0}, {'id': 4, 'demand': 20.0}, {'id': 5, 'demand': 23.0}, {'id': 6, 'demand': 25.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 1511.0}, {'facility': 'F1', 'customer': 1, 'cost': 1733.0}, {'facility': 'F1', 'customer': 2, 'cost': 1338.0}, {'facility': 'F1', 'customer': 3, 'cost': 2409.0}, {'facility': 'F1', 'customer': 4, 'cost': 1048.0}, {'facility': 'F1', 'customer': 5, 'cost': 1176.0}, {'facility': 'F1', 'customer': 6, 'cost': 1891.0}, {'facility': 'F2', 'customer': 0, 'cost': 309.0}, {'facility': 'F2', 'customer': 1, 'cost': 1253.0}, {'facility': 'F2', 'customer': 2, 'cost': 579.0}, {'facility': 'F2', 'customer': 3, 'cost': 1400.0}, {'facility': 'F2', 'customer': 4, 'cost': 827.0}, {'facility': 'F2', 'customer': 5, 'cost': 636.0}, {'facility': 'F2', 'customer': 6, 'cost': 678.0}, {'facility': 'F3', 'customer': 0, 'cost': 842.0}, {'facility': 'F3', 'customer': 1, 'cost': 601.0}, {'facility': 'F3', 'customer': 2, 'cost': 121.0}, {'facility': 'F3', 'customer': 3, 'cost': 1115.0}, {'facility': 'F3', 'customer': 4, 'cost': 318.0}, {'facility': 'F3', 'customer': 5, 'cost': 72.0}, {'facility': 'F3', 'customer': 6, 'cost': 849.0}], 'objective': 4414.0}","{'selected': ['F2', 'F3'], 'assignments': ['F2', 'F3', 'F3', 'F3', 'F3', 'F3', 'F2']}",6,json,0
CFLP,CFLP,"Someone in charge of the mobile library has to decide which vans to operate and then assign every neighborhood to one of those active vans. Assignments are exclusive β€” one neighborhood, one van β€” and vans cannot be overloaded beyond their book limits. What makes one choice nicer than another is simple math: total up the van deployment fees plus the delivery effort for serving the neighborhoods, and aim for the smallest total possible. The actual numbers for van costs, capacities and neighborhood demands follow below.
There are 3 vans and 7 neighborhoods in this instance.
**Vans**
| van_id | deployment_cost | book_capacity |
|---|---|---|
| F1 | 400.0 | 300.0 |
| F2 | 400.0 | 300.0 |
| F3 | 400.0 | 300.0 |
**Neighborhoods**
| neighborhood_id | book_demand |
|---|---|
| 1 | 23.0 |
| 2 | 18.0 |
| 3 | 28.0 |
| 4 | 14.0 |
| 5 | 16.0 |
| 6 | 21.0 |
| 7 | 16.0 |
**Delivery Effort**
| van_id | neighborhood_id | delivery_effort |
|---|---|---|
| F1 | 1 | 870.0 |
| F1 | 2 | 987.0 |
| F1 | 3 | 1511.0 |
| F1 | 4 | 1876.0 |
| F1 | 5 | 1416.0 |
| F1 | 6 | 1428.0 |
| F1 | 7 | 2527.0 |
| F2 | 1 | 262.0 |
| F2 | 2 | 626.0 |
| F2 | 3 | 880.0 |
| F2 | 4 | 1412.0 |
| F2 | 5 | 1022.0 |
| F2 | 6 | 1258.0 |
| F2 | 7 | 2157.0 |
| F3 | 1 | 51.0 |
| F3 | 2 | 210.0 |
| F3 | 3 | 309.0 |
| F3 | 4 | 722.0 |
| F3 | 5 | 440.0 |
| F3 | 6 | 827.0 |
| F3 | 7 | 1501.0 |
Oh, and when you give the final pick and assignments, just stick to this simple JSON shape so it's easy to read and check:
{
""solution"": {
""selected"": [<van_to_operate>, <van_to_operate>, ...],
""assignments"": [<operating_van_for_neighborhood>, <operating_van_for_neighborhood>, ...]
}
}
""selected"" is the list of vans you'll run (one identifier per van). ""assignments"" lists, in neighborhood order, which of those running vans is assigned to serve each neighborhood. Think of it like filling out a short form: pick the vans, then write next to each neighborhood which picked van will visit it.
This JSON is just a sketch of the expected shape β€” not the actual answer. Please be 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”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [300.0, 300.0, 300.0], 'connection_costs': [[870.0, 987.0, 1511.0, 1876.0, 1416.0, 1428.0, 2527.0], [262.0, 626.0, 880.0, 1412.0, 1022.0, 1258.0, 2157.0], [51.0, 210.0, 309.0, 722.0, 440.0, 827.0, 1501.0]], 'demands': [23.0, 18.0, 28.0, 14.0, 16.0, 21.0, 16.0], 'objective': 4460.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",4460.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 1, 'demand': 23.0}, {'id': 2, 'demand': 18.0}, {'id': 3, 'demand': 28.0}, {'id': 4, 'demand': 14.0}, {'id': 5, 'demand': 16.0}, {'id': 6, 'demand': 21.0}, {'id': 7, 'demand': 16.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 870.0}, {'facility': 'F1', 'customer': 2, 'cost': 987.0}, {'facility': 'F1', 'customer': 3, 'cost': 1511.0}, {'facility': 'F1', 'customer': 4, 'cost': 1876.0}, {'facility': 'F1', 'customer': 5, 'cost': 1416.0}, {'facility': 'F1', 'customer': 6, 'cost': 1428.0}, {'facility': 'F1', 'customer': 7, 'cost': 2527.0}, {'facility': 'F2', 'customer': 1, 'cost': 262.0}, {'facility': 'F2', 'customer': 2, 'cost': 626.0}, {'facility': 'F2', 'customer': 3, 'cost': 880.0}, {'facility': 'F2', 'customer': 4, 'cost': 1412.0}, {'facility': 'F2', 'customer': 5, 'cost': 1022.0}, {'facility': 'F2', 'customer': 6, 'cost': 1258.0}, {'facility': 'F2', 'customer': 7, 'cost': 2157.0}, {'facility': 'F3', 'customer': 1, 'cost': 51.0}, {'facility': 'F3', 'customer': 2, 'cost': 210.0}, {'facility': 'F3', 'customer': 3, 'cost': 309.0}, {'facility': 'F3', 'customer': 4, 'cost': 722.0}, {'facility': 'F3', 'customer': 5, 'cost': 440.0}, {'facility': 'F3', 'customer': 6, 'cost': 827.0}, {'facility': 'F3', 'customer': 7, 'cost': 1501.0}], 'objective': 4460.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",7,markdown_table,1
CFLP,CFLP,"I’m the emergency planner trying to set up a handful of supply hubs after a disaster, and the job is to pick which hubs to open and then link every relief site to one of those open hubs. Each hub costs money to establish and can only hold so much inventory, and sending supplies from a hub to a site adds shipping costs. The goal is to choose hubs and assignments so the total bill β€” the hubs’ setup costs plus all shipment costs β€” is as small as possible, while making sure every relief site is assigned to exactly one open hub and no hub’s stock limit is exceeded. The specific sites, hub options, capacities, and costs are shown below.
{
""num_candidate_hubs"": 3,
""num_relief_sites"": 8,
""hubs"": [
{
""hub_id"": ""F1"",
""setup_cost"": 300.0,
""hub_capacity"": 500.0
},
{
""hub_id"": ""F2"",
""setup_cost"": 300.0,
""hub_capacity"": 500.0
},
{
""hub_id"": ""F3"",
""setup_cost"": 300.0,
""hub_capacity"": 500.0
}
],
""sites"": [
{
""site_id"": ""A"",
""site_demand"": 24.0
},
{
""site_id"": ""B"",
""site_demand"": 24.0
},
{
""site_id"": ""C"",
""site_demand"": 17.0
},
{
""site_id"": ""D"",
""site_demand"": 13.0
},
{
""site_id"": ""E"",
""site_demand"": 24.0
},
{
""site_id"": ""F"",
""site_demand"": 17.0
},
{
""site_id"": ""G"",
""site_demand"": 23.0
},
{
""site_id"": ""H"",
""site_demand"": 19.0
}
],
""shipments"": [
{
""hub_id"": ""F1"",
""site_id"": ""A"",
""shipment_cost"": 702.0
},
{
""hub_id"": ""F1"",
""site_id"": ""B"",
""shipment_cost"": 436.0
},
{
""hub_id"": ""F1"",
""site_id"": ""C"",
""shipment_cost"": 2185.0
},
{
""hub_id"": ""F1"",
""site_id"": ""D"",
""shipment_cost"": 39.0
},
{
""hub_id"": ""F1"",
""site_id"": ""E"",
""shipment_cost"": 1179.0
},
{
""hub_id"": ""F1"",
""site_id"": ""F"",
""shipment_cost"": 1791.0
},
{
""hub_id"": ""F1"",
""site_id"": ""G"",
""shipment_cost"": 1176.0
},
{
""hub_id"": ""F1"",
""site_id"": ""H"",
""shipment_cost"": 990.0
},
{
""hub_id"": ""F2"",
""site_id"": ""A"",
""shipment_cost"": 102.0
},
{
""hub_id"": ""F2"",
""site_id"": ""B"",
""shipment_cost"": 258.0
},
{
""hub_id"": ""F2"",
""site_id"": ""C"",
""shipment_cost"": 696.0
},
{
""hub_id"": ""F2"",
""site_id"": ""D"",
""shipment_cost"": 86.0
},
{
""hub_id"": ""F2"",
""site_id"": ""E"",
""shipment_cost"": 153.0
},
{
""hub_id"": ""F2"",
""site_id"": ""F"",
""shipment_cost"": 85.0
},
{
""hub_id"": ""F2"",
""site_id"": ""G"",
""shipment_cost"": 382.0
},
{
""hub_id"": ""F2"",
""site_id"": ""H"",
""shipment_cost"": 70.0
},
{
""hub_id"": ""F3"",
""site_id"": ""A"",
""shipment_cost"": 173.0
},
{
""hub_id"": ""F3"",
""site_id"": ""B"",
""shipment_cost"": 210.0
},
{
""hub_id"": ""F3"",
""site_id"": ""C"",
""shipment_cost"": 858.0
},
{
""hub_id"": ""F3"",
""site_id"": ""D"",
""shipment_cost"": 65.0
},
{
""hub_id"": ""F3"",
""site_id"": ""E"",
""shipment_cost"": 97.0
},
{
""hub_id"": ""F3"",
""site_id"": ""F"",
""shipment_cost"": 459.0
},
{
""hub_id"": ""F3"",
""site_id"": ""G"",
""shipment_cost"": 335.0
},
{
""hub_id"": ""F3"",
""site_id"": ""H"",
""shipment_cost"": 164.0
}
]
}
Also, for the answer please use this simple JSON shape so it's easy to plug into my planner:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
""selected"" is the list of hubs you decide to open. ""assignments"" lists, for each relief site (in the same order the instance gives them), which open hub that site is assigned to. Think of it like a short form: which hubs to set up, and which hub each site will get supplies from.
This is just the expected shape of the reply β€” a sketch, not the actual filled-in solution. Please make sure to use the exact identifiers from the instance input; do not rename 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”.","{'opening_costs': [300.0, 300.0, 300.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[702.0, 436.0, 2185.0, 39.0, 1179.0, 1791.0, 1176.0, 990.0], [102.0, 258.0, 696.0, 86.0, 153.0, 85.0, 382.0, 70.0], [173.0, 210.0, 858.0, 65.0, 97.0, 459.0, 335.0, 164.0]], 'demands': [24.0, 24.0, 17.0, 13.0, 24.0, 17.0, 23.0, 19.0], 'objective': 2132.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1, 1, 1]}",2132.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 24.0}, {'id': 'B', 'demand': 24.0}, {'id': 'C', 'demand': 17.0}, {'id': 'D', 'demand': 13.0}, {'id': 'E', 'demand': 24.0}, {'id': 'F', 'demand': 17.0}, {'id': 'G', 'demand': 23.0}, {'id': 'H', 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 702.0}, {'facility': 'F1', 'customer': 'B', 'cost': 436.0}, {'facility': 'F1', 'customer': 'C', 'cost': 2185.0}, {'facility': 'F1', 'customer': 'D', 'cost': 39.0}, {'facility': 'F1', 'customer': 'E', 'cost': 1179.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1791.0}, {'facility': 'F1', 'customer': 'G', 'cost': 1176.0}, {'facility': 'F1', 'customer': 'H', 'cost': 990.0}, {'facility': 'F2', 'customer': 'A', 'cost': 102.0}, {'facility': 'F2', 'customer': 'B', 'cost': 258.0}, {'facility': 'F2', 'customer': 'C', 'cost': 696.0}, {'facility': 'F2', 'customer': 'D', 'cost': 86.0}, {'facility': 'F2', 'customer': 'E', 'cost': 153.0}, {'facility': 'F2', 'customer': 'F', 'cost': 85.0}, {'facility': 'F2', 'customer': 'G', 'cost': 382.0}, {'facility': 'F2', 'customer': 'H', 'cost': 70.0}, {'facility': 'F3', 'customer': 'A', 'cost': 173.0}, {'facility': 'F3', 'customer': 'B', 'cost': 210.0}, {'facility': 'F3', 'customer': 'C', 'cost': 858.0}, {'facility': 'F3', 'customer': 'D', 'cost': 65.0}, {'facility': 'F3', 'customer': 'E', 'cost': 97.0}, {'facility': 'F3', 'customer': 'F', 'cost': 459.0}, {'facility': 'F3', 'customer': 'G', 'cost': 335.0}, {'facility': 'F3', 'customer': 'H', 'cost': 164.0}], 'objective': 2132.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",8,json,names
CFLP,CFLP,"We manage local solar install crews and need to figure out which teams to switch on and which team will do each installation. Each team you turn on charges an activation fee and can only take on a certain amount of work; sending a team to a customer also costs travel and the actual service time. What makes one plan better than another is the final tab: add up the charges for every team we activated plus every travel and service cost for each assigned customer, and choose the assignment that produces the lowest total, while making sure every customer is assigned to one active team and no team’s workload goes over its limit. The exact team fees, capacities, and customer requests are shown below.
We have 3 local install teams and 7 customer installation requests to assign.
Team F1 charges an activation fee of 600.0 and can handle up to 500.0 units of workload.
Team F2 charges an activation fee of 600.0 and can handle up to 500.0 units of workload.
Team F3 charges an activation fee of 600.0 and can handle up to 500.0 units of workload.
Request A requires 14.0 units of installation work and must be assigned to one active team.
Request B requires 20.0 units of installation work and must be assigned to one active team.
Request C requires 26.0 units of installation work and must be assigned to one active team.
Request D requires 10.0 units of installation work and must be assigned to one active team.
Request E requires 14.0 units of installation work and must be assigned to one active team.
Request F requires 17.0 units of installation work and must be assigned to one active team.
Request G requires 29.0 units of installation work and must be assigned to one active team.
Sending team F1 to serve request A incurs 469.0 in travel and service charges.
Sending team F1 to serve request B incurs 640.0 in travel and service charges.
Sending team F1 to serve request C incurs 430.0 in travel and service charges.
Sending team F1 to serve request D incurs 130.0 in travel and service charges.
Sending team F1 to serve request E incurs 29.0 in travel and service charges.
Sending team F1 to serve request F incurs 800.0 in travel and service charges.
Sending team F1 to serve request G incurs 817.0 in travel and service charges.
Sending team F2 to serve request A incurs 100.0 in travel and service charges.
Sending team F2 to serve request B incurs 862.0 in travel and service charges.
Sending team F2 to serve request C incurs 164.0 in travel and service charges.
Sending team F2 to serve request D incurs 600.0 in travel and service charges.
Sending team F2 to serve request E incurs 403.0 in travel and service charges.
Sending team F2 to serve request F incurs 1064.0 in travel and service charges.
Sending team F2 to serve request G incurs 648.0 in travel and service charges.
Sending team F3 to serve request A incurs 312.0 in travel and service charges.
Sending team F3 to serve request B incurs 332.0 in travel and service charges.
Sending team F3 to serve request C incurs 275.0 in travel and service charges.
Sending team F3 to serve request D incurs 177.0 in travel and service charges.
Sending team F3 to serve request E incurs 49.0 in travel and service charges.
Sending team F3 to serve request F incurs 459.0 in travel and service charges.
Sending team F3 to serve request G incurs 573.0 in travel and service charges.
Choose assignments that minimize the total of activation fees plus all travel and service costs while keeping every team's workload within its capacity.
When you send the plan back, please use this simple JSON layout so it's easy to read and plug into our system:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_site>, <chosen_site>, ...]
}
}
Think of ""selected"" as the list of crews/teams you switched on (the ones we'll pay an activation fee for), and ""assignments"" as which switched-on crew will handle each customer in the same order the customers were given. This is just the shape I expect β€” a sketch, not the final numbers.
Please use the exact identifiers 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”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[469.0, 640.0, 430.0, 130.0, 29.0, 800.0, 817.0], [100.0, 862.0, 164.0, 600.0, 403.0, 1064.0, 648.0], [312.0, 332.0, 275.0, 177.0, 49.0, 459.0, 573.0]], 'demands': [14.0, 20.0, 26.0, 10.0, 14.0, 17.0, 29.0], 'objective': 2777.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",2777.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 14.0}, {'id': 'B', 'demand': 20.0}, {'id': 'C', 'demand': 26.0}, {'id': 'D', 'demand': 10.0}, {'id': 'E', 'demand': 14.0}, {'id': 'F', 'demand': 17.0}, {'id': 'G', 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 469.0}, {'facility': 'F1', 'customer': 'B', 'cost': 640.0}, {'facility': 'F1', 'customer': 'C', 'cost': 430.0}, {'facility': 'F1', 'customer': 'D', 'cost': 130.0}, {'facility': 'F1', 'customer': 'E', 'cost': 29.0}, {'facility': 'F1', 'customer': 'F', 'cost': 800.0}, {'facility': 'F1', 'customer': 'G', 'cost': 817.0}, {'facility': 'F2', 'customer': 'A', 'cost': 100.0}, {'facility': 'F2', 'customer': 'B', 'cost': 862.0}, {'facility': 'F2', 'customer': 'C', 'cost': 164.0}, {'facility': 'F2', 'customer': 'D', 'cost': 600.0}, {'facility': 'F2', 'customer': 'E', 'cost': 403.0}, {'facility': 'F2', 'customer': 'F', 'cost': 1064.0}, {'facility': 'F2', 'customer': 'G', 'cost': 648.0}, {'facility': 'F3', 'customer': 'A', 'cost': 312.0}, {'facility': 'F3', 'customer': 'B', 'cost': 332.0}, {'facility': 'F3', 'customer': 'C', 'cost': 275.0}, {'facility': 'F3', 'customer': 'D', 'cost': 177.0}, {'facility': 'F3', 'customer': 'E', 'cost': 49.0}, {'facility': 'F3', 'customer': 'F', 'cost': 459.0}, {'facility': 'F3', 'customer': 'G', 'cost': 573.0}], 'objective': 2777.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",9,nl,names
CFLP,CFLP,"Picture a rollout where each potential tower has a startup cost and a limit on how many users it can serve, and each service area has a certain number of users. The job is to decide which towers to commission and to assign each service area to exactly one of the commissioned towers β€” no area is left unassigned or assigned twice, and no tower is overloaded. The best plan is the one with the smallest overall bill: add together the commissioning costs for all commissioned towers and the connection penalties for each area’s assignment, and keep that sum as low as possible. The actual numbers for costs, capacities, and connection penalties are shown below.
There are 2 candidate towers and 5 service areas.
Tower F1 has commissioning cost 300.0 and user capacity 300.0.
Tower F2 has commissioning cost 300.0 and user capacity 300.0.
Service area A has 26.0 users.
Service area B has 20.0 users.
Service area C has 19.0 users.
Service area D has 20.0 users.
Service area E has 13.0 users.
Assigning service area A to tower F1 incurs a connection penalty of 722.0.
Assigning service area B to tower F1 incurs a connection penalty of 941.0.
Assigning service area C to tower F1 incurs a connection penalty of 1376.0.
Assigning service area D to tower F1 incurs a connection penalty of 540.0.
Assigning service area E to tower F1 incurs a connection penalty of 912.0.
Assigning service area A to tower F2 incurs a connection penalty of 171.0.
Assigning service area B to tower F2 incurs a connection penalty of 132.0.
Assigning service area C to tower F2 incurs a connection penalty of 1052.0.
Assigning service area D to tower F2 incurs a connection penalty of 56.0.
Assigning service area E to tower F2 incurs a connection penalty of 477.0.
Use these numbers to decide which towers to commission and how to assign each area so the total bill (commissioning costs plus connection penalties) is minimized.
When you give the plan, just use a simple JSON layout like this so it's easy to read and parse β€” nothing fancy, just which sites you open and where each area gets assigned:
{
""solution"": {
""selected"": [<tower_to_open>, <tower_to_open>, ...],
""assignments"": [<chosen_open_tower>, <chosen_open_tower>, ...]
}
}
""selected"" is the list of towers you decide to commission, and ""assignments"" says, for each service area in the order given by the instance, which commissioned tower it will use. Think of it like filling out a short form: a list of opened towers, and a list that points each area to one of those towers.
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 IDs).
- 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”.""","{'opening_costs': [300.0, 300.0], 'capacities': [300.0, 300.0], 'connection_costs': [[722.0, 941.0, 1376.0, 540.0, 912.0], [171.0, 132.0, 1052.0, 56.0, 477.0]], 'demands': [26.0, 20.0, 19.0, 20.0, 13.0], 'objective': 2188.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",2188.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 300.0}], 'customers': [{'id': 'A', 'demand': 26.0}, {'id': 'B', 'demand': 20.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 20.0}, {'id': 'E', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 722.0}, {'facility': 'F1', 'customer': 'B', 'cost': 941.0}, {'facility': 'F1', 'customer': 'C', 'cost': 1376.0}, {'facility': 'F1', 'customer': 'D', 'cost': 540.0}, {'facility': 'F1', 'customer': 'E', 'cost': 912.0}, {'facility': 'F2', 'customer': 'A', 'cost': 171.0}, {'facility': 'F2', 'customer': 'B', 'cost': 132.0}, {'facility': 'F2', 'customer': 'C', 'cost': 1052.0}, {'facility': 'F2', 'customer': 'D', 'cost': 56.0}, {'facility': 'F2', 'customer': 'E', 'cost': 477.0}], 'objective': 2188.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",10,nl,names
CFLP,CFLP,"Recently the health team put together a list of possible pop-up clinics and all the neighborhoods that need coverage; the task now is choosing which clinics to run and which single clinic each neighborhood will use. Each clinic has a daily throughput cap and an opening cost, and each neighborhood-to-clinic pairing carries a transport cost. The best setup keeps the combined expense down β€” sum the opening costs for clinics that get opened plus every neighborhood’s travel cost β€” and it must assign every neighborhood to one open clinic without exceeding any clinic’s daily capacity. Full details are shown below.
{
""num_clinics"": 2,
""num_neighborhoods"": 5,
""clinics"": [
{
""clinic_id"": ""F1"",
""clinic_opening_cost"": 400.0,
""clinic_daily_throughput"": 800.0
},
{
""clinic_id"": ""F2"",
""clinic_opening_cost"": 400.0,
""clinic_daily_throughput"": 800.0
}
],
""neighborhoods"": [
{
""neighborhood_id"": 0,
""neighborhood_demand"": 17.0
},
{
""neighborhood_id"": 1,
""neighborhood_demand"": 18.0
},
{
""neighborhood_id"": 2,
""neighborhood_demand"": 32.0
},
{
""neighborhood_id"": 3,
""neighborhood_demand"": 36.0
},
{
""neighborhood_id"": 4,
""neighborhood_demand"": 22.0
}
],
""transports"": [
{
""clinic_id"": ""F1"",
""neighborhood_id"": 0,
""transport_cost"": 535.0
},
{
""clinic_id"": ""F1"",
""neighborhood_id"": 1,
""transport_cost"": 423.0
},
{
""clinic_id"": ""F1"",
""neighborhood_id"": 2,
""transport_cost"": 447.0
},
{
""clinic_id"": ""F1"",
""neighborhood_id"": 3,
""transport_cost"": 406.0
},
{
""clinic_id"": ""F1"",
""neighborhood_id"": 4,
""transport_cost"": 580.0
},
{
""clinic_id"": ""F2"",
""neighborhood_id"": 0,
""transport_cost"": 529.0
},
{
""clinic_id"": ""F2"",
""neighborhood_id"": 1,
""transport_cost"": 323.0
},
{
""clinic_id"": ""F2"",
""neighborhood_id"": 2,
""transport_cost"": 573.0
},
{
""clinic_id"": ""F2"",
""neighborhood_id"": 3,
""transport_cost"": 532.0
},
{
""clinic_id"": ""F2"",
""neighborhood_id"": 4,
""transport_cost"": 450.0
}
]
}
Also, when you’re ready to hand over a proposed setup, just use a tiny JSON snippet like this so it’s easy to parse:
{
""solution"": {
""selected"": [<clinic_to_open>, <clinic_to_open>, ...],
""assignments"": [<neighborhood_chosen_clinic>, <neighborhood_chosen_clinic>, ...]
}
}
Pretty simple: ""selected"" is the list of clinic sites you plan to open, and ""assignments"" lists, in the same order as the neighborhoods in the instance, which open clinic each neighborhood will use. Think of it like filling out a form β€” which clinics are on, and for each neighborhood which clinic they go to.
This JSON is just the expected shape (a sketch), not the final answer.
Please be sure to use the exact identifiers from the input files β€” don’t 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”.""","{'opening_costs': [400.0, 400.0], 'capacities': [800.0, 800.0], 'connection_costs': [[535.0, 423.0, 447.0, 406.0, 580.0], [529.0, 323.0, 573.0, 532.0, 450.0]], 'demands': [17.0, 18.0, 32.0, 36.0, 22.0], 'objective': 2791.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",2791.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 800.0}], 'customers': [{'id': 0, 'demand': 17.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 32.0}, {'id': 3, 'demand': 36.0}, {'id': 4, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 535.0}, {'facility': 'F1', 'customer': 1, 'cost': 423.0}, {'facility': 'F1', 'customer': 2, 'cost': 447.0}, {'facility': 'F1', 'customer': 3, 'cost': 406.0}, {'facility': 'F1', 'customer': 4, 'cost': 580.0}, {'facility': 'F2', 'customer': 0, 'cost': 529.0}, {'facility': 'F2', 'customer': 1, 'cost': 323.0}, {'facility': 'F2', 'customer': 2, 'cost': 573.0}, {'facility': 'F2', 'customer': 3, 'cost': 532.0}, {'facility': 'F2', 'customer': 4, 'cost': 450.0}], 'objective': 2791.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",11,json,0
CFLP,CFLP,"Many event planners know the drill: pick which mobile kitchens to bring and decide which kitchen will handle each event. Every kitchen has a rental price and a maximum number of meals it can do; every event needs all its meals from one kitchen only. The decision that works is the one where all events are assigned (no splits), no kitchen is overloaded, and the total expense β€” the sum of trailer deployment costs plus each event’s delivery fee β€” is kept as low as possible. The full set of trailer capacities, deployment fees, and event meal counts appears below.
# num_trailers=2
# num_events=6
# TRAILERS
trailer_id,deployment_cost,meal_capacity
F1,300.0,700.0
F2,300.0,700.0
# EVENTS
event_id,meals_required
0,15.0
1,19.0
2,10.0
3,26.0
4,18.0
5,17.0
# DELIVERY_FEES
trailer_id,event_id,delivery_fee
F1,0,414.0
F1,1,625.0
F1,2,428.0
F1,3,607.0
F1,4,181.0
F1,5,1040.0
F2,0,40.0
F2,1,467.0
F2,2,65.0
F2,3,1028.0
F2,4,36.0
F2,5,644.0
One more thing β€” to keep things machine-friendly, please lay out the final decision in a tiny JSON sketch like this:
{
""solution"": {
""selected"": [<kitchen_to_rent>, <kitchen_to_rent>, ...],
""assignments"": [<chosen_kitchen_for_event>, <chosen_kitchen_for_event>, ...]
}
}
Think of ""selected"" as the list of mobile kitchens you'll rent, and ""assignments"" as, for each event (in the same order the events were given), which rented kitchen will handle it. Super casual form: which kitchens you bring, and who feeds which event.
This JSON is just the shape I expect β€” a sketch, not the actual values. Also, please use the exact identifiers from the instance input when filling those placeholders: 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”.","{'opening_costs': [300.0, 300.0], 'capacities': [700.0, 700.0], 'connection_costs': [[414.0, 625.0, 428.0, 607.0, 181.0, 1040.0], [40.0, 467.0, 65.0, 1028.0, 36.0, 644.0]], 'demands': [15.0, 19.0, 10.0, 26.0, 18.0, 17.0], 'objective': 2459.0}","{'open_facilities': [0, 1], 'assignments': [1, 1, 1, 0, 1, 1]}",2459.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 15.0}, {'id': 1, 'demand': 19.0}, {'id': 2, 'demand': 10.0}, {'id': 3, 'demand': 26.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 17.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 414.0}, {'facility': 'F1', 'customer': 1, 'cost': 625.0}, {'facility': 'F1', 'customer': 2, 'cost': 428.0}, {'facility': 'F1', 'customer': 3, 'cost': 607.0}, {'facility': 'F1', 'customer': 4, 'cost': 181.0}, {'facility': 'F1', 'customer': 5, 'cost': 1040.0}, {'facility': 'F2', 'customer': 0, 'cost': 40.0}, {'facility': 'F2', 'customer': 1, 'cost': 467.0}, {'facility': 'F2', 'customer': 2, 'cost': 65.0}, {'facility': 'F2', 'customer': 3, 'cost': 1028.0}, {'facility': 'F2', 'customer': 4, 'cost': 36.0}, {'facility': 'F2', 'customer': 5, 'cost': 644.0}], 'objective': 2459.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F2', 'F2', 'F1', 'F2', 'F2']}",12,csv,0
CFLP,CFLP,"The planning team has to decide which candidate docking stations to activate and then assign each commuter zone to exactly one activated station, taking care that stations aren’t asked to serve more riders than their dock counts allow. Activating a station charges a cost, and each assignment carries a redistribution or travel cost; the total cost of any configuration is simply the sum of the activation costs for chosen stations plus all assignment costs, and the aim is to keep that combined total as low as possible. Every commuter zone needs a single assigned station (no omissions or duplicates), and station capacities must not be exceeded. The detailed instance information is provided below.
There are 3 candidate docking hubs and 6 commuter zones described below.
Hub F1 has activation cost 258.0 and dock capacity 366.0.
Hub F2 has activation cost 128.0 and dock capacity 314.0.
Hub F3 has activation cost 225.0 and dock capacity 504.0.
Commuter zone 0 has rider demand 23.0.
Commuter zone 1 has rider demand 18.0.
Commuter zone 2 has rider demand 39.0.
Commuter zone 3 has rider demand 26.0.
Commuter zone 4 has rider demand 14.0.
Commuter zone 5 has rider demand 49.0.
Assigning zone 0 to hub F1 incurs redistribution cost 418.0.
Assigning zone 1 to hub F1 incurs redistribution cost 346.0.
Assigning zone 2 to hub F1 incurs redistribution cost 143.0.
Assigning zone 3 to hub F1 incurs redistribution cost 329.0.
Assigning zone 4 to hub F1 incurs redistribution cost 28.0.
Assigning zone 5 to hub F1 incurs redistribution cost 68.0.
Assigning zone 0 to hub F2 incurs redistribution cost 34.0.
Assigning zone 1 to hub F2 incurs redistribution cost 180.0.
Assigning zone 2 to hub F2 incurs redistribution cost 242.0.
Assigning zone 3 to hub F2 incurs redistribution cost 585.0.
Assigning zone 4 to hub F2 incurs redistribution cost 374.0.
Assigning zone 5 to hub F2 incurs redistribution cost 344.0.
Assigning zone 0 to hub F3 incurs redistribution cost 240.0.
Assigning zone 1 to hub F3 incurs redistribution cost 179.0.
Assigning zone 2 to hub F3 incurs redistribution cost 59.0.
Assigning zone 3 to hub F3 incurs redistribution cost 451.0.
Assigning zone 4 to hub F3 incurs redistribution cost 170.0.
Assigning zone 5 to hub F3 incurs redistribution cost 138.0.
The planning team must use these 3 hubs and 6 zones details to choose activations and assign each zone while respecting dock capacities.
You can just reply with the results in a simple JSON shape β€” nothing fancy. Here's the layout to follow:
{
""solution"": {
""selected"": [<station_to_open>, <station_to_open>, ...],
""assignments"": [<assigned_station>, <assigned_station>, ...]
}
}
""selected"" is where you list the station identifiers you choose to activate, and ""assignments"" is a list that (in the same order as the commuter zones were given in the instance) names the single activated station each zone is assigned to. Think of it like filling out a short form: which stations are turned on, and which station each zone uses.
This JSON is just a sketch of the shape I expect β€” not the actual solution values.
Please use the exact identifiers from 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”.""","{'opening_costs': [258.0, 128.0, 225.0], 'capacities': [366.0, 314.0, 504.0], 'connection_costs': [[418.0, 346.0, 143.0, 329.0, 28.0, 68.0], [34.0, 180.0, 242.0, 585.0, 374.0, 344.0], [240.0, 179.0, 59.0, 451.0, 170.0, 138.0]], 'demands': [23.0, 18.0, 39.0, 26.0, 14.0, 49.0], 'objective': 1168.0}","{'open_facilities': [0, 1], 'assignments': [1, 1, 0, 0, 0, 0]}",1168.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 258.0, 'capacity': 366.0}, {'id': 'F2', 'opening_cost': 128.0, 'capacity': 314.0}, {'id': 'F3', 'opening_cost': 225.0, 'capacity': 504.0}], 'customers': [{'id': 0, 'demand': 23.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 39.0}, {'id': 3, 'demand': 26.0}, {'id': 4, 'demand': 14.0}, {'id': 5, 'demand': 49.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 418.0}, {'facility': 'F1', 'customer': 1, 'cost': 346.0}, {'facility': 'F1', 'customer': 2, 'cost': 143.0}, {'facility': 'F1', 'customer': 3, 'cost': 329.0}, {'facility': 'F1', 'customer': 4, 'cost': 28.0}, {'facility': 'F1', 'customer': 5, 'cost': 68.0}, {'facility': 'F2', 'customer': 0, 'cost': 34.0}, {'facility': 'F2', 'customer': 1, 'cost': 180.0}, {'facility': 'F2', 'customer': 2, 'cost': 242.0}, {'facility': 'F2', 'customer': 3, 'cost': 585.0}, {'facility': 'F2', 'customer': 4, 'cost': 374.0}, {'facility': 'F2', 'customer': 5, 'cost': 344.0}, {'facility': 'F3', 'customer': 0, 'cost': 240.0}, {'facility': 'F3', 'customer': 1, 'cost': 179.0}, {'facility': 'F3', 'customer': 2, 'cost': 59.0}, {'facility': 'F3', 'customer': 3, 'cost': 451.0}, {'facility': 'F3', 'customer': 4, 'cost': 170.0}, {'facility': 'F3', 'customer': 5, 'cost': 138.0}], 'objective': 1168.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F2', 'F1', 'F1', 'F1', 'F1']}",13,nl,0
CFLP,CFLP,"We’ve got a bunch of farms and a shortlist of packing facilities; the job is to pick which facilities to operate and route each farm’s harvest to one of the open ones. Each facility has a running cost and a hard limit on how much it can process, and moving produce from farm to facility incurs transport charges. The winning plan is the one with the smallest overall cost β€” that’s just the sum of all facility opening costs plus all transport charges. Every farm’s output has to go to exactly one operating facility, and no facility can be overloaded beyond its limit. The exact facilities, capacities, and costs are listed below.
# num_packing_facilities=2
# num_farms=6
# PACKING_FACILITYS
packing_facility_id,facility_opening_cost,throughput_capacity
F1,600.0,500.0
F2,600.0,500.0
# FARMS
farm_id,farm_production
0,40.0
1,17.0
2,32.0
3,35.0
4,18.0
5,36.0
# TRANSPORTS
packing_facility_id,farm_id,transport_cost
F1,0,427.0
F1,1,586.0
F1,2,631.0
F1,3,771.0
F1,4,570.0
F1,5,521.0
F2,0,507.0
F2,1,389.0
F2,2,129.0
F2,3,529.0
F2,4,147.0
F2,5,744.0
Oh, and when you send the plan back, keep it in a tiny, predictable JSON shape so it's easy to read. Something like this:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
""selected"" is just the list of packing sites you decide to run, and ""assignments"" is a list (in the same order as the farms were given) saying which open site each farm ships to. Super casual β€” think of it like filling out a short form, not a technical report.
This JSON is only a sketch of the expected shape, not the actual answer. Please use the exact identifiers from the instance input β€” do not rename or invent labels.
Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [600.0, 600.0], 'capacities': [500.0, 500.0], 'connection_costs': [[427.0, 586.0, 631.0, 771.0, 570.0, 521.0], [507.0, 389.0, 129.0, 529.0, 147.0, 744.0]], 'demands': [40.0, 17.0, 32.0, 35.0, 18.0, 36.0], 'objective': 3045.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",3045.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 0, 'demand': 40.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 32.0}, {'id': 3, 'demand': 35.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 36.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 427.0}, {'facility': 'F1', 'customer': 1, 'cost': 586.0}, {'facility': 'F1', 'customer': 2, 'cost': 631.0}, {'facility': 'F1', 'customer': 3, 'cost': 771.0}, {'facility': 'F1', 'customer': 4, 'cost': 570.0}, {'facility': 'F1', 'customer': 5, 'cost': 521.0}, {'facility': 'F2', 'customer': 0, 'cost': 507.0}, {'facility': 'F2', 'customer': 1, 'cost': 389.0}, {'facility': 'F2', 'customer': 2, 'cost': 129.0}, {'facility': 'F2', 'customer': 3, 'cost': 529.0}, {'facility': 'F2', 'customer': 4, 'cost': 147.0}, {'facility': 'F2', 'customer': 5, 'cost': 744.0}], 'objective': 3045.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",14,csv,0
CFLP,CFLP,"Many people organizing artisan fairs face this: deciding which vendor booths to rent and how to assign each maker to a single rented spot. Booths cost money and have limited display space, and assigning a maker to a booth usually incurs a setup/transfer charge. A smarter layout is the one that costs the least overall β€” add together the booth rents and all assignment/setup charges to get the final cost β€” while making sure every maker gets one rented booth and no booth’s space limit is broken. The specific booth fees, capacities, and maker requirements come next below.
There are 4 booths and 8 makers in this instance.
**Booths**
| booth_id | booth_rental_fee | booth_space_capacity |
|---|---|---|
| F1 | 400.0 | 523.0 |
| F2 | 400.0 | 491.0 |
| F3 | 400.0 | 410.0 |
| F4 | 400.0 | 564.0 |
**Makers**
| maker_id | maker_space_requirement |
|---|---|
| 0 | 28.0 |
| 1 | 12.0 |
| 2 | 13.0 |
| 3 | 13.0 |
| 4 | 12.0 |
| 5 | 19.0 |
| 6 | 17.0 |
| 7 | 12.0 |
**Setup Transfer Cost**
| booth_id | maker_id | setup_transfer_cost |
|---|---|---|
| F1 | 0 | 778.0 |
| F1 | 1 | 885.0 |
| F1 | 2 | 1263.0 |
| F1 | 3 | 1031.0 |
| F1 | 4 | 693.0 |
| F1 | 5 | 878.0 |
| F1 | 6 | 1131.0 |
| F1 | 7 | 1184.0 |
| F2 | 0 | 66.0 |
| F2 | 1 | 131.0 |
| F2 | 2 | 712.0 |
| F2 | 3 | 341.0 |
| F2 | 4 | 57.0 |
| F2 | 5 | 273.0 |
| F2 | 6 | 146.0 |
| F2 | 7 | 429.0 |
| F3 | 0 | 924.0 |
| F3 | 1 | 1066.0 |
| F3 | 2 | 1130.0 |
| F3 | 3 | 973.0 |
| F3 | 4 | 864.0 |
| F3 | 5 | 821.0 |
| F3 | 6 | 1176.0 |
| F3 | 7 | 1126.0 |
| F4 | 0 | 474.0 |
| F4 | 1 | 656.0 |
| F4 | 2 | 399.0 |
| F4 | 3 | 26.0 |
| F4 | 4 | 473.0 |
| F4 | 5 | 42.0 |
| F4 | 6 | 421.0 |
| F4 | 7 | 180.0 |
Oh, and when you send the solution back, just use this little JSON layout so it's easy to check:
{
""solution"": {
""selected"": [<booth_to_rent>, <booth_to_rent>, ...],
""assignments"": [<rented_booth_for_maker>, <rented_booth_for_maker>, ...]
}
}
""selected"" is where you list the booths you're renting. ""assignments"" is one entry per maker, saying which rented booth that maker gets (use the same order the instance lists the makers). This is just a sketch of the shape I expect, not the actual answer β€” fill in the real identifiers from the instance.
Please make sure you use each identifier exactly as it appears 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"".""","{'opening_costs': [400.0, 400.0, 400.0, 400.0], 'capacities': [523.0, 491.0, 410.0, 564.0], 'connection_costs': [[778.0, 885.0, 1263.0, 1031.0, 693.0, 878.0, 1131.0, 1184.0], [66.0, 131.0, 712.0, 341.0, 57.0, 273.0, 146.0, 429.0], [924.0, 1066.0, 1130.0, 973.0, 864.0, 821.0, 1176.0, 1126.0], [474.0, 656.0, 399.0, 26.0, 473.0, 42.0, 421.0, 180.0]], 'demands': [28.0, 12.0, 13.0, 13.0, 12.0, 19.0, 17.0, 12.0], 'objective': 1847.0}","{'open_facilities': [1, 3], 'assignments': [1, 1, 3, 3, 1, 3, 1, 3]}",1847.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 523.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 491.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 410.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 564.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 12.0}, {'id': 2, 'demand': 13.0}, {'id': 3, 'demand': 13.0}, {'id': 4, 'demand': 12.0}, {'id': 5, 'demand': 19.0}, {'id': 6, 'demand': 17.0}, {'id': 7, 'demand': 12.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 778.0}, {'facility': 'F1', 'customer': 1, 'cost': 885.0}, {'facility': 'F1', 'customer': 2, 'cost': 1263.0}, {'facility': 'F1', 'customer': 3, 'cost': 1031.0}, {'facility': 'F1', 'customer': 4, 'cost': 693.0}, {'facility': 'F1', 'customer': 5, 'cost': 878.0}, {'facility': 'F1', 'customer': 6, 'cost': 1131.0}, {'facility': 'F1', 'customer': 7, 'cost': 1184.0}, {'facility': 'F2', 'customer': 0, 'cost': 66.0}, {'facility': 'F2', 'customer': 1, 'cost': 131.0}, {'facility': 'F2', 'customer': 2, 'cost': 712.0}, {'facility': 'F2', 'customer': 3, 'cost': 341.0}, {'facility': 'F2', 'customer': 4, 'cost': 57.0}, {'facility': 'F2', 'customer': 5, 'cost': 273.0}, {'facility': 'F2', 'customer': 6, 'cost': 146.0}, {'facility': 'F2', 'customer': 7, 'cost': 429.0}, {'facility': 'F3', 'customer': 0, 'cost': 924.0}, {'facility': 'F3', 'customer': 1, 'cost': 1066.0}, {'facility': 'F3', 'customer': 2, 'cost': 1130.0}, {'facility': 'F3', 'customer': 3, 'cost': 973.0}, {'facility': 'F3', 'customer': 4, 'cost': 864.0}, {'facility': 'F3', 'customer': 5, 'cost': 821.0}, {'facility': 'F3', 'customer': 6, 'cost': 1176.0}, {'facility': 'F3', 'customer': 7, 'cost': 1126.0}, {'facility': 'F4', 'customer': 0, 'cost': 474.0}, {'facility': 'F4', 'customer': 1, 'cost': 656.0}, {'facility': 'F4', 'customer': 2, 'cost': 399.0}, {'facility': 'F4', 'customer': 3, 'cost': 26.0}, {'facility': 'F4', 'customer': 4, 'cost': 473.0}, {'facility': 'F4', 'customer': 5, 'cost': 42.0}, {'facility': 'F4', 'customer': 6, 'cost': 421.0}, {'facility': 'F4', 'customer': 7, 'cost': 180.0}], 'objective': 1847.0}","{'selected': ['F2', 'F4'], 'assignments': ['F2', 'F2', 'F4', 'F4', 'F2', 'F4', 'F2', 'F4']}",15,markdown_table,0
CFLP,CFLP,"At the coordination office the question is straightforward: which staging areas should be staffed, and which staffed area should handle each beneficiary community? Staffing each area costs money and comes with a limit on how many people it can serve; moving aid from a staffed area to a community also costs something. Each community must be assigned to one staffed area only, and no staffed area can be assigned more demand than it can support. The plan that’s β€œbetter” is the one with the lowest total expense β€” add together the staffing costs for all staffed areas used and the distribution costs for every community assignment β€” and choose the arrangement with the smallest sum. The concrete details are given below.
# num_staging_areas=2
# num_communities=5
# STAGING_AREAS
staging_area_id,staffing_cost,staging_capacity
F1,600.0,700.0
F2,600.0,700.0
# COMMUNITYS
community_id,beneficiary_demand
0,18.0
1,20.0
2,22.0
3,23.0
4,11.0
# DISTRIBUTIONS
staging_area_id,community_id,distribution_cost
F1,0,46.0
F1,1,281.0
F1,2,44.0
F1,3,98.0
F1,4,157.0
F2,0,851.0
F2,1,695.0
F2,2,2301.0
F2,3,1290.0
F2,4,661.0
Also, when you send the plan back, please follow this simple JSON layout so it's easy to parse and check:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
Think of ""selected"" as the list of staging areas you'll staff, and ""assignments"" as which staffed area handles each beneficiary community (listed in the same order as the communities in the instance). This JSON is just a sketch of the shape I need β€” not the final answer itself.
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”.""","{'opening_costs': [600.0, 600.0], 'capacities': [700.0, 700.0], 'connection_costs': [[46.0, 281.0, 44.0, 98.0, 157.0], [851.0, 695.0, 2301.0, 1290.0, 661.0]], 'demands': [18.0, 20.0, 22.0, 23.0, 11.0], 'objective': 1226.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1226.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 18.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 22.0}, {'id': 3, 'demand': 23.0}, {'id': 4, 'demand': 11.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 46.0}, {'facility': 'F1', 'customer': 1, 'cost': 281.0}, {'facility': 'F1', 'customer': 2, 'cost': 44.0}, {'facility': 'F1', 'customer': 3, 'cost': 98.0}, {'facility': 'F1', 'customer': 4, 'cost': 157.0}, {'facility': 'F2', 'customer': 0, 'cost': 851.0}, {'facility': 'F2', 'customer': 1, 'cost': 695.0}, {'facility': 'F2', 'customer': 2, 'cost': 2301.0}, {'facility': 'F2', 'customer': 3, 'cost': 1290.0}, {'facility': 'F2', 'customer': 4, 'cost': 661.0}], 'objective': 1226.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",16,csv,0
CFLP,CFLP,"There’s a juggling act in the warehouse world: a bookstore chain has several candidate warehouses, each with a set capacity and a fixed fee to open, and a bunch of shops that all need restocking. The job is to pick which warehouses to open and assign every shop to one of the opened warehouses. Better choices are the ones that save money overall β€” add up the opened warehouses’ fixed fees and all the shipping charges to see the total β€” but a warehouse can’t be given more orders than its capacity, and every shop must be assigned to exactly one opened warehouse. The detailed figures are shown below.
{
""num_candidate_warehouses"": 4,
""num_shops"": 8,
""warehouses"": [
{
""warehouse_id"": ""F1"",
""warehouse_fixed_cost"": 300.0,
""warehouse_capacity"": 700.0
},
{
""warehouse_id"": ""F2"",
""warehouse_fixed_cost"": 300.0,
""warehouse_capacity"": 700.0
},
{
""warehouse_id"": ""F3"",
""warehouse_fixed_cost"": 300.0,
""warehouse_capacity"": 700.0
},
{
""warehouse_id"": ""F4"",
""warehouse_fixed_cost"": 300.0,
""warehouse_capacity"": 700.0
}
],
""shops"": [
{
""shop_id"": 0,
""shop_demand"": 14.0
},
{
""shop_id"": 1,
""shop_demand"": 19.0
},
{
""shop_id"": 2,
""shop_demand"": 27.0
},
{
""shop_id"": 3,
""shop_demand"": 17.0
},
{
""shop_id"": 4,
""shop_demand"": 13.0
},
{
""shop_id"": 5,
""shop_demand"": 16.0
},
{
""shop_id"": 6,
""shop_demand"": 11.0
},
{
""shop_id"": 7,
""shop_demand"": 22.0
}
],
""shippings"": [
{
""warehouse_id"": ""F1"",
""shop_id"": 0,
""shipping_cost"": 479.0
},
{
""warehouse_id"": ""F1"",
""shop_id"": 1,
""shipping_cost"": 1889.0
},
{
""warehouse_id"": ""F1"",
""shop_id"": 2,
""shipping_cost"": 1300.0
},
{
""warehouse_id"": ""F1"",
""shop_id"": 3,
""shipping_cost"": 65.0
},
{
""warehouse_id"": ""F1"",
""shop_id"": 4,
""shipping_cost"": 475.0
},
{
""warehouse_id"": ""F1"",
""shop_id"": 5,
""shipping_cost"": 1354.0
},
{
""warehouse_id"": ""F1"",
""shop_id"": 6,
""shipping_cost"": 148.0
},
{
""warehouse_id"": ""F1"",
""shop_id"": 7,
""shipping_cost"": 922.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 0,
""shipping_cost"": 570.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 1,
""shipping_cost"": 646.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 2,
""shipping_cost"": 429.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 3,
""shipping_cost"": 181.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 4,
""shipping_cost"": 371.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 5,
""shipping_cost"": 123.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 6,
""shipping_cost"": 303.0
},
{
""warehouse_id"": ""F2"",
""shop_id"": 7,
""shipping_cost"": 872.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 0,
""shipping_cost"": 1030.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 1,
""shipping_cost"": 2409.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 2,
""shipping_cost"": 1854.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 3,
""shipping_cost"": 291.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 4,
""shipping_cost"": 1105.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 5,
""shipping_cost"": 1664.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 6,
""shipping_cost"": 669.0
},
{
""warehouse_id"": ""F3"",
""shop_id"": 7,
""shipping_cost"": 1518.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 0,
""shipping_cost"": 158.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 1,
""shipping_cost"": 1400.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 2,
""shipping_cost"": 803.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 3,
""shipping_cost"": 41.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 4,
""shipping_cost"": 34.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 5,
""shipping_cost"": 1126.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 6,
""shipping_cost"": 34.0
},
{
""warehouse_id"": ""F4"",
""shop_id"": 7,
""shipping_cost"": 399.0
}
]
}
Also, when you send back your choice, please use a little JSON sketch like the one below so it's easy to read and plug in:
{
""solution"": {
""selected"": [<warehouse_to_open>, <warehouse_to_open>, ...],
""assignments"": [<chosen_open_warehouse>, <chosen_open_warehouse>, ...]
}
}
Think of ""selected"" as the list of warehouse sites you decide to open, and ""assignments"" as the list (in the same order as the shops were given) of which opened warehouse each shop gets linked to. This is just the shape I want your answer in β€” a template, not the final numbers.
Please make sure to use the exact identifiers from the instance input when you fill this in β€” do not 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”.""","{'opening_costs': [300.0, 300.0, 300.0, 300.0], 'capacities': [700.0, 700.0, 700.0, 700.0], 'connection_costs': [[479.0, 1889.0, 1300.0, 65.0, 475.0, 1354.0, 148.0, 922.0], [570.0, 646.0, 429.0, 181.0, 371.0, 123.0, 303.0, 872.0], [1030.0, 2409.0, 1854.0, 291.0, 1105.0, 1664.0, 669.0, 1518.0], [158.0, 1400.0, 803.0, 41.0, 34.0, 1126.0, 34.0, 399.0]], 'demands': [14.0, 19.0, 27.0, 17.0, 13.0, 16.0, 11.0, 22.0], 'objective': 2464.0}","{'open_facilities': [1, 3], 'assignments': [3, 1, 1, 3, 3, 1, 3, 3]}",2464.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 14.0}, {'id': 1, 'demand': 19.0}, {'id': 2, 'demand': 27.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 13.0}, {'id': 5, 'demand': 16.0}, {'id': 6, 'demand': 11.0}, {'id': 7, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 479.0}, {'facility': 'F1', 'customer': 1, 'cost': 1889.0}, {'facility': 'F1', 'customer': 2, 'cost': 1300.0}, {'facility': 'F1', 'customer': 3, 'cost': 65.0}, {'facility': 'F1', 'customer': 4, 'cost': 475.0}, {'facility': 'F1', 'customer': 5, 'cost': 1354.0}, {'facility': 'F1', 'customer': 6, 'cost': 148.0}, {'facility': 'F1', 'customer': 7, 'cost': 922.0}, {'facility': 'F2', 'customer': 0, 'cost': 570.0}, {'facility': 'F2', 'customer': 1, 'cost': 646.0}, {'facility': 'F2', 'customer': 2, 'cost': 429.0}, {'facility': 'F2', 'customer': 3, 'cost': 181.0}, {'facility': 'F2', 'customer': 4, 'cost': 371.0}, {'facility': 'F2', 'customer': 5, 'cost': 123.0}, {'facility': 'F2', 'customer': 6, 'cost': 303.0}, {'facility': 'F2', 'customer': 7, 'cost': 872.0}, {'facility': 'F3', 'customer': 0, 'cost': 1030.0}, {'facility': 'F3', 'customer': 1, 'cost': 2409.0}, {'facility': 'F3', 'customer': 2, 'cost': 1854.0}, {'facility': 'F3', 'customer': 3, 'cost': 291.0}, {'facility': 'F3', 'customer': 4, 'cost': 1105.0}, {'facility': 'F3', 'customer': 5, 'cost': 1664.0}, {'facility': 'F3', 'customer': 6, 'cost': 669.0}, {'facility': 'F3', 'customer': 7, 'cost': 1518.0}, {'facility': 'F4', 'customer': 0, 'cost': 158.0}, {'facility': 'F4', 'customer': 1, 'cost': 1400.0}, {'facility': 'F4', 'customer': 2, 'cost': 803.0}, {'facility': 'F4', 'customer': 3, 'cost': 41.0}, {'facility': 'F4', 'customer': 4, 'cost': 34.0}, {'facility': 'F4', 'customer': 5, 'cost': 1126.0}, {'facility': 'F4', 'customer': 6, 'cost': 34.0}, {'facility': 'F4', 'customer': 7, 'cost': 399.0}], 'objective': 2464.0}","{'selected': ['F2', 'F4'], 'assignments': ['F4', 'F2', 'F2', 'F4', 'F4', 'F2', 'F4', 'F4']}",17,json,0
CFLP,CFLP,"I run the city's bike repair program and need to pick which repair hubs to keep running, then send every reported fault to exactly one of the hubs that are open. Each hub has a startup price and can only handle a certain number of fixes, and getting a mechanic out to a fault costs something based on distance β€” so a better plan is the one that keeps the total bill as small as possible by adding up the opening fees for the hubs we choose and the travel cost for every repair. Nothing can be left unassigned or sent to two places, and no hub can be asked to do more than its limit. The concrete details β€” locations, opening costs, capacities and reported faults β€” are shown below.
Here are the details for the 2 candidate hubs and the 5 reported faults:
Hub F1 would cost 600.0 to open and can handle up to 700.0 fixes.
Hub F2 would cost 600.0 to open and can handle up to 700.0 fixes.
Fault 0 requires 23.0 repair-units that I must assign to an open hub.
Fault 1 requires 26.0 repair-units that I must assign to an open hub.
Fault 2 requires 23.0 repair-units that I must assign to an open hub.
Fault 3 requires 17.0 repair-units that I must assign to an open hub.
Fault 4 requires 22.0 repair-units that I must assign to an open hub.
Assigning fault 0 to hub F1 would incur a travel service cost of 266.0.
Assigning fault 1 to hub F1 would incur a travel service cost of 311.0.
Assigning fault 2 to hub F1 would incur a travel service cost of 683.0.
Assigning fault 3 to hub F1 would incur a travel service cost of 989.0.
Assigning fault 4 to hub F1 would incur a travel service cost of 1335.0.
Assigning fault 0 to hub F2 would incur a travel service cost of 480.0.
Assigning fault 1 to hub F2 would incur a travel service cost of 330.0.
Assigning fault 2 to hub F2 would incur a travel service cost of 896.0.
Assigning fault 3 to hub F2 would incur a travel service cost of 911.0.
Assigning fault 4 to hub F2 would incur a travel service cost of 1222.0.
I'll pick which hubs to open and assign every fault so all 5 are covered within capacities and the total of opening fees plus travel costs is minimized.
Also, when you send back the plan, please stick to this simple JSON shape so I can read it easily:
{
""solution"": {
""selected"": [<hub_to_open>, <hub_to_open>, ...],
""assignments"": [<assigned_hub>, <assigned_hub>, ...]
}
}
This is just a sketch of the shape I expect, not the real answer β€” fill the arrays with the actual hub identifiers from the instance. ""selected"" is the list of hubs you choose to keep running; ""assignments"" is a list that, for each reported fault in the same order as the input, gives the single open hub that will handle it.
Please don't invent new labels or change the identifiers from the instance β€” use them exactly as given.
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”.""","{'opening_costs': [600.0, 600.0], 'capacities': [700.0, 700.0], 'connection_costs': [[266.0, 311.0, 683.0, 989.0, 1335.0], [480.0, 330.0, 896.0, 911.0, 1222.0]], 'demands': [23.0, 26.0, 23.0, 17.0, 22.0], 'objective': 4184.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",4184.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 23.0}, {'id': 1, 'demand': 26.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 266.0}, {'facility': 'F1', 'customer': 1, 'cost': 311.0}, {'facility': 'F1', 'customer': 2, 'cost': 683.0}, {'facility': 'F1', 'customer': 3, 'cost': 989.0}, {'facility': 'F1', 'customer': 4, 'cost': 1335.0}, {'facility': 'F2', 'customer': 0, 'cost': 480.0}, {'facility': 'F2', 'customer': 1, 'cost': 330.0}, {'facility': 'F2', 'customer': 2, 'cost': 896.0}, {'facility': 'F2', 'customer': 3, 'cost': 911.0}, {'facility': 'F2', 'customer': 4, 'cost': 1222.0}], 'objective': 4184.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",18,nl,0
CFLP,CFLP,"Out in the field, the food bank team must choose a handful of distribution points to staff and then direct every recipient area to exactly one of those staffed points. Each staffed point has a price tag to keep it open and each assignment from a point to an area has a delivery cost, so the best-looking plan is the one with the lowest total cost β€” add the staffing cost of each open point to all the delivery costs for the assignments. Each area must be covered once and only once, and each staffed point has a maximum amount it can serve, so assignments must stay within those limits. The concrete figures are provided below.
{
""num_distribution_points"": 3,
""num_recipient_areas"": 6,
""distribution_points"": [
{
""distribution_point_id"": ""F1"",
""staffing_cost"": 600.0,
""distribution_capacity"": 500.0
},
{
""distribution_point_id"": ""F2"",
""staffing_cost"": 600.0,
""distribution_capacity"": 500.0
},
{
""distribution_point_id"": ""F3"",
""staffing_cost"": 600.0,
""distribution_capacity"": 500.0
}
],
""recipient_areas"": [
{
""recipient_area_id"": ""A"",
""area_demand"": 23.0
},
{
""recipient_area_id"": ""B"",
""area_demand"": 15.0
},
{
""recipient_area_id"": ""C"",
""area_demand"": 22.0
},
{
""recipient_area_id"": ""D"",
""area_demand"": 19.0
},
{
""recipient_area_id"": ""E"",
""area_demand"": 12.0
},
{
""recipient_area_id"": ""F"",
""area_demand"": 13.0
}
],
""deliverys"": [
{
""distribution_point_id"": ""F1"",
""recipient_area_id"": ""A"",
""delivery_cost"": 415.0
},
{
""distribution_point_id"": ""F1"",
""recipient_area_id"": ""B"",
""delivery_cost"": 140.0
},
{
""distribution_point_id"": ""F1"",
""recipient_area_id"": ""C"",
""delivery_cost"": 832.0
},
{
""distribution_point_id"": ""F1"",
""recipient_area_id"": ""D"",
""delivery_cost"": 182.0
},
{
""distribution_point_id"": ""F1"",
""recipient_area_id"": ""E"",
""delivery_cost"": 331.0
},
{
""distribution_point_id"": ""F1"",
""recipient_area_id"": ""F"",
""delivery_cost"": 156.0
},
{
""distribution_point_id"": ""F2"",
""recipient_area_id"": ""A"",
""delivery_cost"": 601.0
},
{
""distribution_point_id"": ""F2"",
""recipient_area_id"": ""B"",
""delivery_cost"": 31.0
},
{
""distribution_point_id"": ""F2"",
""recipient_area_id"": ""C"",
""delivery_cost"": 729.0
},
{
""distribution_point_id"": ""F2"",
""recipient_area_id"": ""D"",
""delivery_cost"": 95.0
},
{
""distribution_point_id"": ""F2"",
""recipient_area_id"": ""E"",
""delivery_cost"": 88.0
},
{
""distribution_point_id"": ""F2"",
""recipient_area_id"": ""F"",
""delivery_cost"": 50.0
},
{
""distribution_point_id"": ""F3"",
""recipient_area_id"": ""A"",
""delivery_cost"": 763.0
},
{
""distribution_point_id"": ""F3"",
""recipient_area_id"": ""B"",
""delivery_cost"": 42.0
},
{
""distribution_point_id"": ""F3"",
""recipient_area_id"": ""C"",
""delivery_cost"": 1051.0
},
{
""distribution_point_id"": ""F3"",
""recipient_area_id"": ""D"",
""delivery_cost"": 42.0
},
{
""distribution_point_id"": ""F3"",
""recipient_area_id"": ""E"",
""delivery_cost"": 180.0
},
{
""distribution_point_id"": ""F3"",
""recipient_area_id"": ""F"",
""delivery_cost"": 27.0
}
]
}
Just to keep things tidy, when you send the plan back please use this simple JSON layout so I can read it reliably:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<site_assigned_to>, <site_assigned_to>, ...]
}
}
""selected"" is where you list the distribution points you'll staff (one placeholder per open point). ""assignments"" is a list showing, for each recipient area (in the same order as the instance), which staffed point it gets assigned to. Think of it like filling out a short form β€” who we open, and who goes where.
This JSON is just the expected shape β€” a sketch, not the actual filled-in answer.
Please use the exact identifiers from the instance input when you fill this in β€” 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”.""","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[415.0, 140.0, 832.0, 182.0, 331.0, 156.0], [601.0, 31.0, 729.0, 95.0, 88.0, 50.0], [763.0, 42.0, 1051.0, 42.0, 180.0, 27.0]], 'demands': [23.0, 15.0, 22.0, 19.0, 12.0, 13.0], 'objective': 2194.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",2194.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 23.0}, {'id': 'B', 'demand': 15.0}, {'id': 'C', 'demand': 22.0}, {'id': 'D', 'demand': 19.0}, {'id': 'E', 'demand': 12.0}, {'id': 'F', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 415.0}, {'facility': 'F1', 'customer': 'B', 'cost': 140.0}, {'facility': 'F1', 'customer': 'C', 'cost': 832.0}, {'facility': 'F1', 'customer': 'D', 'cost': 182.0}, {'facility': 'F1', 'customer': 'E', 'cost': 331.0}, {'facility': 'F1', 'customer': 'F', 'cost': 156.0}, {'facility': 'F2', 'customer': 'A', 'cost': 601.0}, {'facility': 'F2', 'customer': 'B', 'cost': 31.0}, {'facility': 'F2', 'customer': 'C', 'cost': 729.0}, {'facility': 'F2', 'customer': 'D', 'cost': 95.0}, {'facility': 'F2', 'customer': 'E', 'cost': 88.0}, {'facility': 'F2', 'customer': 'F', 'cost': 50.0}, {'facility': 'F3', 'customer': 'A', 'cost': 763.0}, {'facility': 'F3', 'customer': 'B', 'cost': 42.0}, {'facility': 'F3', 'customer': 'C', 'cost': 1051.0}, {'facility': 'F3', 'customer': 'D', 'cost': 42.0}, {'facility': 'F3', 'customer': 'E', 'cost': 180.0}, {'facility': 'F3', 'customer': 'F', 'cost': 27.0}], 'objective': 2194.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",19,json,names
CFLP,CFLP,"There’s a bit of a balancing act at the returns desk: choose a subset of repair hubs to keep running, then route each incoming device to one of those hubs. Each hub charges a fixed amount to stay active and can only process a limited number of devices, and moving a device to a hub adds a per-item cost. The smart plan is the one that keeps the total expense (hub-running fees plus device-movement costs) as small as possible, with every returned device assigned once and no hub given more than it can handle. The exact details β€” what each hub costs and how many devices they can take β€” are shown below.
# num_repair_hubs=2
# num_returned_devices=5
# HUBS
hub_id,hub_running_cost,hub_capacity
F1,400.0,390.0
F2,400.0,259.0
# DEVICES
device_id,device_demand
A,18.0
B,22.0
C,23.0
D,29.0
E,27.0
# DEVICE_TRANSFERS
hub_id,device_id,device_transfer_cost
F1,A,1304.0
F1,B,848.0
F1,C,615.0
F1,D,182.0
F1,E,1125.0
F2,A,1095.0
F2,B,216.0
F2,C,839.0
F2,D,61.0
F2,E,1094.0
Oh, and when you send the plan back, please stick to this simple JSON shape so it's easy to read and check:
{
""solution"": {
""selected"": [<hub_to_open>, <hub_to_open>, ...],
""assignments"": [<assigned_hub>, <assigned_hub>, ...]
}
}
Think of ""selected"" as the list of repair hubs you decide to keep running, and ""assignments"" as, for each returned device in the order they were listed, which hub it gets routed to. It's just a sketch of the form I need, not the actual final 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"".","{'opening_costs': [400.0, 400.0], 'capacities': [390.0, 259.0], 'connection_costs': [[1304.0, 848.0, 615.0, 182.0, 1125.0], [1095.0, 216.0, 839.0, 61.0, 1094.0]], 'demands': [18.0, 22.0, 23.0, 29.0, 27.0], 'objective': 3705.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",3705.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 390.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 259.0}], 'customers': [{'id': 'A', 'demand': 18.0}, {'id': 'B', 'demand': 22.0}, {'id': 'C', 'demand': 23.0}, {'id': 'D', 'demand': 29.0}, {'id': 'E', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1304.0}, {'facility': 'F1', 'customer': 'B', 'cost': 848.0}, {'facility': 'F1', 'customer': 'C', 'cost': 615.0}, {'facility': 'F1', 'customer': 'D', 'cost': 182.0}, {'facility': 'F1', 'customer': 'E', 'cost': 1125.0}, {'facility': 'F2', 'customer': 'A', 'cost': 1095.0}, {'facility': 'F2', 'customer': 'B', 'cost': 216.0}, {'facility': 'F2', 'customer': 'C', 'cost': 839.0}, {'facility': 'F2', 'customer': 'D', 'cost': 61.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1094.0}], 'objective': 3705.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",20,csv,names
CFLP,CFLP,"Recently the team mapped out options for neighborhood meal centers: which ones to bring online and which households each should handle. Bringing a center online requires paying its activation cost, and every center can only cover a fixed amount of demand. Serving a household from a particular center also costs something (distance, time, etc.). Every household must be assigned to exactly one active centerβ€”no splitting across centersβ€”and no active center can exceed its service limit. The best plan keeps the total cost (activation costs plus all delivery costs) as low as possible; that total is just the sum of the centers’ activation fees that are used plus all the household delivery costs. The specific numbers appear below.
There are 3 candidate centers and 7 households in the data below.
Center F1 has activation cost 300.0 and capacity 700.0.
Center F2 has activation cost 300.0 and capacity 700.0.
Center F3 has activation cost 300.0 and capacity 700.0.
Household A has demand 24.0.
Household B has demand 28.0.
Household C has demand 12.0.
Household D has demand 17.0.
Household E has demand 23.0.
Household F has demand 20.0.
Household G has demand 27.0.
Serving household A from center F1 incurs delivery cost 267.0.
Serving household B from center F1 incurs delivery cost 392.0.
Serving household C from center F1 incurs delivery cost 660.0.
Serving household D from center F1 incurs delivery cost 136.0.
Serving household E from center F1 incurs delivery cost 621.0.
Serving household F from center F1 incurs delivery cost 536.0.
Serving household G from center F1 incurs delivery cost 800.0.
Serving household A from center F2 incurs delivery cost 48.0.
Serving household B from center F2 incurs delivery cost 769.0.
Serving household C from center F2 incurs delivery cost 55.0.
Serving household D from center F2 incurs delivery cost 372.0.
Serving household E from center F2 incurs delivery cost 62.0.
Serving household F from center F2 incurs delivery cost 906.0.
Serving household G from center F2 incurs delivery cost 149.0.
Serving household A from center F3 incurs delivery cost 403.0.
Serving household B from center F3 incurs delivery cost 498.0.
Serving household C from center F3 incurs delivery cost 936.0.
Serving household D from center F3 incurs delivery cost 84.0.
Serving household E from center F3 incurs delivery cost 839.0.
Serving household F from center F3 incurs delivery cost 471.0.
Serving household G from center F3 incurs delivery cost 1094.0.
The team will use these figures to identify a plan that minimizes total activation plus delivery cost.
Also, when you send back the actual plan, please use this JSON layout so everything lines up cleanly:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
""selected"" is the list of centers you decide to bring online (use the exact IDs from the instance). ""assignments"" is a list, one entry per household in the same order as the input, giving the open center that will serve that household. Think of it like a simple form β€” this block just shows the shape I need, not the final answers.
Please make sure to 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”.","{'opening_costs': [300.0, 300.0, 300.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[267.0, 392.0, 660.0, 136.0, 621.0, 536.0, 800.0], [48.0, 769.0, 55.0, 372.0, 62.0, 906.0, 149.0], [403.0, 498.0, 936.0, 84.0, 839.0, 471.0, 1094.0]], 'demands': [24.0, 28.0, 12.0, 17.0, 23.0, 20.0, 27.0], 'objective': 1967.0}","{'open_facilities': [1, 2], 'assignments': [1, 2, 1, 2, 1, 2, 1]}",1967.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 24.0}, {'id': 'B', 'demand': 28.0}, {'id': 'C', 'demand': 12.0}, {'id': 'D', 'demand': 17.0}, {'id': 'E', 'demand': 23.0}, {'id': 'F', 'demand': 20.0}, {'id': 'G', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 267.0}, {'facility': 'F1', 'customer': 'B', 'cost': 392.0}, {'facility': 'F1', 'customer': 'C', 'cost': 660.0}, {'facility': 'F1', 'customer': 'D', 'cost': 136.0}, {'facility': 'F1', 'customer': 'E', 'cost': 621.0}, {'facility': 'F1', 'customer': 'F', 'cost': 536.0}, {'facility': 'F1', 'customer': 'G', 'cost': 800.0}, {'facility': 'F2', 'customer': 'A', 'cost': 48.0}, {'facility': 'F2', 'customer': 'B', 'cost': 769.0}, {'facility': 'F2', 'customer': 'C', 'cost': 55.0}, {'facility': 'F2', 'customer': 'D', 'cost': 372.0}, {'facility': 'F2', 'customer': 'E', 'cost': 62.0}, {'facility': 'F2', 'customer': 'F', 'cost': 906.0}, {'facility': 'F2', 'customer': 'G', 'cost': 149.0}, {'facility': 'F3', 'customer': 'A', 'cost': 403.0}, {'facility': 'F3', 'customer': 'B', 'cost': 498.0}, {'facility': 'F3', 'customer': 'C', 'cost': 936.0}, {'facility': 'F3', 'customer': 'D', 'cost': 84.0}, {'facility': 'F3', 'customer': 'E', 'cost': 839.0}, {'facility': 'F3', 'customer': 'F', 'cost': 471.0}, {'facility': 'F3', 'customer': 'G', 'cost': 1094.0}], 'objective': 1967.0}","{'selected': ['F2', 'F3'], 'assignments': ['F2', 'F3', 'F2', 'F3', 'F2', 'F3', 'F2']}",21,nl,names
CFLP,CFLP,"Recently the festival team was working out where to install temporary water stations and how to route attendees, with the rule that each attendee must go to one installed station and stations can’t handle more people than their limit. Each station has a fee to set up and people have different walking distances depending on where they’re sent. The idea is to pick stations and assignments so the combined cost β€” setup fees plus total walking distance β€” is as low as possible. The actual station choices, capacities, fees, and attendee numbers will be shown below.
{
""num_candidate_stations"": 2,
""num_attendee_groups"": 5,
""stations"": [
{
""station_id"": ""F1"",
""setup_fee"": 600.0,
""max_capacity"": 500.0
},
{
""station_id"": ""F2"",
""setup_fee"": 600.0,
""max_capacity"": 500.0
}
],
""attendee_groups"": [
{
""attendee_group_id"": ""A"",
""group_size"": 23.0
},
{
""attendee_group_id"": ""B"",
""group_size"": 22.0
},
{
""attendee_group_id"": ""C"",
""group_size"": 18.0
},
{
""attendee_group_id"": ""D"",
""group_size"": 16.0
},
{
""attendee_group_id"": ""E"",
""group_size"": 22.0
}
],
""walking_distances"": [
{
""station_id"": ""F1"",
""attendee_group_id"": ""A"",
""walking_distance_cost"": 1017.0
},
{
""station_id"": ""F1"",
""attendee_group_id"": ""B"",
""walking_distance_cost"": 1103.0
},
{
""station_id"": ""F1"",
""attendee_group_id"": ""C"",
""walking_distance_cost"": 754.0
},
{
""station_id"": ""F1"",
""attendee_group_id"": ""D"",
""walking_distance_cost"": 199.0
},
{
""station_id"": ""F1"",
""attendee_group_id"": ""E"",
""walking_distance_cost"": 299.0
},
{
""station_id"": ""F2"",
""attendee_group_id"": ""A"",
""walking_distance_cost"": 867.0
},
{
""station_id"": ""F2"",
""attendee_group_id"": ""B"",
""walking_distance_cost"": 360.0
},
{
""station_id"": ""F2"",
""attendee_group_id"": ""C"",
""walking_distance_cost"": 928.0
},
{
""station_id"": ""F2"",
""attendee_group_id"": ""D"",
""walking_distance_cost"": 491.0
},
{
""station_id"": ""F2"",
""attendee_group_id"": ""E"",
""walking_distance_cost"": 418.0
}
]
}
If you want to submit a candidate solution, just stick to this little JSON shape so it's easy to parse β€” here’s the informal template I’ll expect:
{
""solution"": {
""selected"": [<station_to_open>, <station_to_open>, ...],
""assignments"": [<chosen_open_station>, <chosen_open_station>, ...]
}
}
Pretty simple: ""selected"" is where you say which water stations you plan to set up, and ""assignments"" says, for each attendee in the input order, which opened station they should go to. This is just a sketch of the shape I need, not the actual answer.
Please make sure you 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"".","{'opening_costs': [600.0, 600.0], 'capacities': [500.0, 500.0], 'connection_costs': [[1017.0, 1103.0, 754.0, 199.0, 299.0], [867.0, 360.0, 928.0, 491.0, 418.0]], 'demands': [23.0, 22.0, 18.0, 16.0, 22.0], 'objective': 3664.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",3664.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 23.0}, {'id': 'B', 'demand': 22.0}, {'id': 'C', 'demand': 18.0}, {'id': 'D', 'demand': 16.0}, {'id': 'E', 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1017.0}, {'facility': 'F1', 'customer': 'B', 'cost': 1103.0}, {'facility': 'F1', 'customer': 'C', 'cost': 754.0}, {'facility': 'F1', 'customer': 'D', 'cost': 199.0}, {'facility': 'F1', 'customer': 'E', 'cost': 299.0}, {'facility': 'F2', 'customer': 'A', 'cost': 867.0}, {'facility': 'F2', 'customer': 'B', 'cost': 360.0}, {'facility': 'F2', 'customer': 'C', 'cost': 928.0}, {'facility': 'F2', 'customer': 'D', 'cost': 491.0}, {'facility': 'F2', 'customer': 'E', 'cost': 418.0}], 'objective': 3664.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",22,json,names
CFLP,CFLP,"We’re juggling dorm space for the upcoming semester and have to choose which wings to bring online and where each student should live. The task is to open some wings (each has an opening price and a fixed number of beds) and then assign every student to a single opened wing without exceeding those beds. Better choices are the ones that minimize what we pay overall: add up all wing-opening expenses and the distance or hassle cost for every student move β€” that total is what we want as small as possible. Concrete details will be shown below.
There are 3 wings and 6 students in this instance.
**Wings**
| wing_id | wing_opening_cost | wing_bed_capacity |
|---|---|---|
| F1 | 600.0 | 700.0 |
| F2 | 600.0 | 700.0 |
| F3 | 600.0 | 700.0 |
**Students**
| student_id | student_bed_requirement |
|---|---|
| 1 | 24.0 |
| 2 | 12.0 |
| 3 | 24.0 |
| 4 | 17.0 |
| 5 | 17.0 |
| 6 | 19.0 |
**Relocation Distance Cost**
| wing_id | student_id | relocation_distance_cost |
|---|---|---|
| F1 | 1 | 508.0 |
| F1 | 2 | 714.0 |
| F1 | 3 | 1375.0 |
| F1 | 4 | 35.0 |
| F1 | 5 | 1146.0 |
| F1 | 6 | 623.0 |
| F2 | 1 | 173.0 |
| F2 | 2 | 24.0 |
| F2 | 3 | 709.0 |
| F2 | 4 | 176.0 |
| F2 | 5 | 459.0 |
| F2 | 6 | 164.0 |
| F3 | 1 | 555.0 |
| F3 | 2 | 924.0 |
| F3 | 3 | 1527.0 |
| F3 | 4 | 35.0 |
| F3 | 5 | 1332.0 |
| F3 | 6 | 711.0 |
One more small thing: when you send the solution back, please use this little JSON shape so I can read it automatically β€” just a list of the wings you open and a list that says, for each student in the input order, which opened wing they’ll live in.
{
""solution"": {
""selected"": [<wing_to_open>, <wing_to_open>, ...],
""assignments"": [<assigned_wing>, <assigned_wing>, ...]
}
}
""selected"" is where you put the identifiers for the wings you decide to open. ""assignments"" lists, in the same order as the students showed up in the input, which opened wing each student gets assigned to. Super informal: think of ""selected"" as the checkboxes for which wings we flip on, and ""assignments"" like the roommate list showing everyone's wing.
This JSON is just a sketch of the shape I need β€” not the real answer itself. Please make sure to use the exact identifiers from the instance input (don’t rename them or invent new labels). Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[508.0, 714.0, 1375.0, 35.0, 1146.0, 623.0], [173.0, 24.0, 709.0, 176.0, 459.0, 164.0], [555.0, 924.0, 1527.0, 35.0, 1332.0, 711.0]], 'demands': [24.0, 12.0, 24.0, 17.0, 17.0, 19.0], 'objective': 2305.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",2305.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 24.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 24.0}, {'id': 4, 'demand': 17.0}, {'id': 5, 'demand': 17.0}, {'id': 6, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 508.0}, {'facility': 'F1', 'customer': 2, 'cost': 714.0}, {'facility': 'F1', 'customer': 3, 'cost': 1375.0}, {'facility': 'F1', 'customer': 4, 'cost': 35.0}, {'facility': 'F1', 'customer': 5, 'cost': 1146.0}, {'facility': 'F1', 'customer': 6, 'cost': 623.0}, {'facility': 'F2', 'customer': 1, 'cost': 173.0}, {'facility': 'F2', 'customer': 2, 'cost': 24.0}, {'facility': 'F2', 'customer': 3, 'cost': 709.0}, {'facility': 'F2', 'customer': 4, 'cost': 176.0}, {'facility': 'F2', 'customer': 5, 'cost': 459.0}, {'facility': 'F2', 'customer': 6, 'cost': 164.0}, {'facility': 'F3', 'customer': 1, 'cost': 555.0}, {'facility': 'F3', 'customer': 2, 'cost': 924.0}, {'facility': 'F3', 'customer': 3, 'cost': 1527.0}, {'facility': 'F3', 'customer': 4, 'cost': 35.0}, {'facility': 'F3', 'customer': 5, 'cost': 1332.0}, {'facility': 'F3', 'customer': 6, 'cost': 711.0}], 'objective': 2305.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",23,markdown_table,1
CFLP,CFLP,"Recently the team had to map out which neighborhood lockers to activate and how to route customers: activating a locker incurs a fixed charge, each locker has a parcel limit, and customers can’t have their parcels split across multiple lockers β€” each customer goes to one active locker only. To pick the best setup, add up all activation charges for the lockers opened and all customer travel costs to their assigned lockers; the setup with the smallest total cost is preferable. The detailed list of lockers, capacities, costs and customers appears below.
{
""num_lockers"": 2,
""num_customers"": 5,
""lockers"": [
{
""locker_id"": ""F1"",
""activation_cost"": 400.0,
""parcel_capacity"": 300.0
},
{
""locker_id"": ""F2"",
""activation_cost"": 400.0,
""parcel_capacity"": 300.0
}
],
""customers"": [
{
""customer_id"": 0,
""parcels_needed"": 14.0
},
{
""customer_id"": 1,
""parcels_needed"": 12.0
},
{
""customer_id"": 2,
""parcels_needed"": 23.0
},
{
""customer_id"": 3,
""parcels_needed"": 19.0
},
{
""customer_id"": 4,
""parcels_needed"": 18.0
}
],
""travels"": [
{
""locker_id"": ""F1"",
""customer_id"": 0,
""travel_cost"": 89.0
},
{
""locker_id"": ""F1"",
""customer_id"": 1,
""travel_cost"": 27.0
},
{
""locker_id"": ""F1"",
""customer_id"": 2,
""travel_cost"": 595.0
},
{
""locker_id"": ""F1"",
""customer_id"": 3,
""travel_cost"": 1216.0
},
{
""locker_id"": ""F1"",
""customer_id"": 4,
""travel_cost"": 1070.0
},
{
""locker_id"": ""F2"",
""customer_id"": 0,
""travel_cost"": 1024.0
},
{
""locker_id"": ""F2"",
""customer_id"": 1,
""travel_cost"": 840.0
},
{
""locker_id"": ""F2"",
""customer_id"": 2,
""travel_cost"": 1120.0
},
{
""locker_id"": ""F2"",
""customer_id"": 3,
""travel_cost"": 2210.0
},
{
""locker_id"": ""F2"",
""customer_id"": 4,
""travel_cost"": 2217.0
}
]
}
If you could, please return the final choice in this simple JSON shape so it's easy to parse β€” nothing fancy, just the two bits we need.
{
""solution"": {
""selected"": [<locker_to_open>, <locker_to_open>, ...],
""assignments"": [<chosen_open_locker>, <chosen_open_locker>, ...]
}
}
""selected"" is the list of neighborhood lockers you activate (the ones you pay the fixed charge for). ""assignments"" is a customer-by-customer list (in the same order as the customers in the instance) saying which opened locker each customer will use. This is just the skeleton of the answer β€” fill in the actual identifiers from the instance when you submit the solution.
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”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[89.0, 27.0, 595.0, 1216.0, 1070.0], [1024.0, 840.0, 1120.0, 2210.0, 2217.0]], 'demands': [14.0, 12.0, 23.0, 19.0, 18.0], 'objective': 3397.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",3397.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 14.0}, {'id': 1, 'demand': 12.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 19.0}, {'id': 4, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 89.0}, {'facility': 'F1', 'customer': 1, 'cost': 27.0}, {'facility': 'F1', 'customer': 2, 'cost': 595.0}, {'facility': 'F1', 'customer': 3, 'cost': 1216.0}, {'facility': 'F1', 'customer': 4, 'cost': 1070.0}, {'facility': 'F2', 'customer': 0, 'cost': 1024.0}, {'facility': 'F2', 'customer': 1, 'cost': 840.0}, {'facility': 'F2', 'customer': 2, 'cost': 1120.0}, {'facility': 'F2', 'customer': 3, 'cost': 2210.0}, {'facility': 'F2', 'customer': 4, 'cost': 2217.0}], 'objective': 3397.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",24,json,0
CFLP,CFLP,"We’re coordinating post-disaster sheltering and have to decide which temporary shelters to stand up and which families go where, making sure no household gets split and no shelter has more people than it can handle. Each potential shelter has a price to get it running and a limit on how many people it can take, and every family must be assigned to one of the shelters we open. The goal is to keep the overall expense as low as possible β€” just tally the opening costs for the shelters we choose plus the transport cost for each family’s move, and aim for the lowest total. The specific numbers and options are listed below.
There are 3 shelters and 6 familys in this instance.
**Shelters**
| shelter_id | shelter_setup_cost | shelter_capacity_people |
|---|---|---|
| F1 | 400.0 | 1500.0 |
| F2 | 400.0 | 1500.0 |
| F3 | 400.0 | 1500.0 |
**Familys**
| family_id | household_size |
|---|---|
| 1 | 40.0 |
| 2 | 17.0 |
| 3 | 27.0 |
| 4 | 47.0 |
| 5 | 17.0 |
| 6 | 31.0 |
**Transport Cost**
| shelter_id | family_id | transport_cost |
|---|---|---|
| F1 | 1 | 373.0 |
| F1 | 2 | 332.0 |
| F1 | 3 | 538.0 |
| F1 | 4 | 495.0 |
| F1 | 5 | 99.0 |
| F1 | 6 | 289.0 |
| F2 | 1 | 354.0 |
| F2 | 2 | 309.0 |
| F2 | 3 | 330.0 |
| F2 | 4 | 279.0 |
| F2 | 5 | 360.0 |
| F2 | 6 | 184.0 |
| F3 | 1 | 549.0 |
| F3 | 2 | 506.0 |
| F3 | 3 | 658.0 |
| F3 | 4 | 609.0 |
| F3 | 5 | 181.0 |
| F3 | 6 | 437.0 |
Also, when you send back your choice, please follow this simple JSON layout so it's easy to read and check:
{
""solution"": {
""selected"": [<shelter_to_open>, <shelter_to_open>, ...],
""assignments"": [<chosen_shelter>, <chosen_shelter>, ...]
}
}
This just means: ""selected"" is the list of shelters we decide to open, and ""assignments"" is a list (in the same order as the families in the input) saying which opened shelter each family goes to. Think of it like filling out a quick form β€” which sites are active, and which site each family is sent to. The JSON above is only a sketch of the shape I need, not the actual solution.
Please make sure you use the exact identifiers from the instance input β€” do not 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"".","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [1500.0, 1500.0, 1500.0], 'connection_costs': [[373.0, 332.0, 538.0, 495.0, 99.0, 289.0], [354.0, 309.0, 330.0, 279.0, 360.0, 184.0], [549.0, 506.0, 658.0, 609.0, 181.0, 437.0]], 'demands': [40.0, 17.0, 27.0, 47.0, 17.0, 31.0], 'objective': 2216.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",2216.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 1, 'demand': 40.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 27.0}, {'id': 4, 'demand': 47.0}, {'id': 5, 'demand': 17.0}, {'id': 6, 'demand': 31.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 373.0}, {'facility': 'F1', 'customer': 2, 'cost': 332.0}, {'facility': 'F1', 'customer': 3, 'cost': 538.0}, {'facility': 'F1', 'customer': 4, 'cost': 495.0}, {'facility': 'F1', 'customer': 5, 'cost': 99.0}, {'facility': 'F1', 'customer': 6, 'cost': 289.0}, {'facility': 'F2', 'customer': 1, 'cost': 354.0}, {'facility': 'F2', 'customer': 2, 'cost': 309.0}, {'facility': 'F2', 'customer': 3, 'cost': 330.0}, {'facility': 'F2', 'customer': 4, 'cost': 279.0}, {'facility': 'F2', 'customer': 5, 'cost': 360.0}, {'facility': 'F2', 'customer': 6, 'cost': 184.0}, {'facility': 'F3', 'customer': 1, 'cost': 549.0}, {'facility': 'F3', 'customer': 2, 'cost': 506.0}, {'facility': 'F3', 'customer': 3, 'cost': 658.0}, {'facility': 'F3', 'customer': 4, 'cost': 609.0}, {'facility': 'F3', 'customer': 5, 'cost': 181.0}, {'facility': 'F3', 'customer': 6, 'cost': 437.0}], 'objective': 2216.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",25,markdown_table,1
CFLP,CFLP,"Many operators face the same trade-off: turn on enough edge servers to serve everyone but not so many that setup costs blow up, and assign each device to a single server so no traffic is split and every server stays within its capacity. To pick the best arrangement, total up the cost of provisioning the chosen servers and the latency cost for each device’s connection; the arrangement with the lowest total is preferred. The full set of numbers and choices is shown below.
There are 2 edge servers and 6 devices in this instance.
**Edge Servers**
| edge_server_id | provisioning_cost | server_capacity |
|---|---|---|
| F1 | 400.0 | 500.0 |
| F2 | 400.0 | 500.0 |
**Devices**
| device_id | device_demand |
|---|---|
| 1 | 44.0 |
| 2 | 50.0 |
| 3 | 32.0 |
| 4 | 38.0 |
| 5 | 27.0 |
| 6 | 23.0 |
**Latency Cost**
| edge_server_id | device_id | latency_cost |
|---|---|---|
| F1 | 1 | 243.0 |
| F1 | 2 | 433.0 |
| F1 | 3 | 195.0 |
| F1 | 4 | 210.0 |
| F1 | 5 | 270.0 |
| F1 | 6 | 238.0 |
| F2 | 1 | 463.0 |
| F2 | 2 | 206.0 |
| F2 | 3 | 346.0 |
| F2 | 4 | 202.0 |
| F2 | 5 | 317.0 |
| F2 | 6 | 143.0 |
If you want to send the answer back, just use this little JSON shape β€” nothing fancy, just a compact form I can read easily.
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
Think of ""selected"" as the list of servers you're switching on, and ""assignments"" as, in order, which server each device talks to. Super simple: one server per device, and the arrays should line up with the instance ordering.
This is just a sketch of the shape I need β€” not the actual answer yet. Please make sure to use the exact identifiers from the instance input, with 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”.""","{'opening_costs': [400.0, 400.0], 'capacities': [500.0, 500.0], 'connection_costs': [[243.0, 433.0, 195.0, 210.0, 270.0, 238.0], [463.0, 206.0, 346.0, 202.0, 317.0, 143.0]], 'demands': [44.0, 50.0, 32.0, 38.0, 27.0, 23.0], 'objective': 1989.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0]}",1989.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 44.0}, {'id': 2, 'demand': 50.0}, {'id': 3, 'demand': 32.0}, {'id': 4, 'demand': 38.0}, {'id': 5, 'demand': 27.0}, {'id': 6, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 243.0}, {'facility': 'F1', 'customer': 2, 'cost': 433.0}, {'facility': 'F1', 'customer': 3, 'cost': 195.0}, {'facility': 'F1', 'customer': 4, 'cost': 210.0}, {'facility': 'F1', 'customer': 5, 'cost': 270.0}, {'facility': 'F1', 'customer': 6, 'cost': 238.0}, {'facility': 'F2', 'customer': 1, 'cost': 463.0}, {'facility': 'F2', 'customer': 2, 'cost': 206.0}, {'facility': 'F2', 'customer': 3, 'cost': 346.0}, {'facility': 'F2', 'customer': 4, 'cost': 202.0}, {'facility': 'F2', 'customer': 5, 'cost': 317.0}, {'facility': 'F2', 'customer': 6, 'cost': 143.0}], 'objective': 1989.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",26,markdown_table,1
CFLP,CFLP,"There’s a weekend market coming and someone has to choose which vendor stalls to rent and which sellers go into which rented stalls. Each stall has a rental fee and a maximum amount of space, while each seller needs a fixed amount of space and will incur a setup/travel cost to use a particular stall. Sellers can’t be split between stalls and every seller must have exactly one assigned stall; also a stall can’t hold more seller space than it allows. The goal is straightforward: pick stalls and assignments that keep the total bill β€” stall rentals plus sellers’ setup/travel costs β€” as small as possible. The concrete details follow below.
# num_stalls=4
# num_sellers=8
# STALLS
stall_id,stall_rental_fee,stall_space_limit
F1,400.0,800.0
F2,400.0,800.0
F3,400.0,800.0
F4,400.0,800.0
# SELLERS
seller_id,seller_space_requirement
0,44.0
1,43.0
2,26.0
3,31.0
4,42.0
5,45.0
6,24.0
7,36.0
# SETUP_TRAVELS
stall_id,seller_id,setup_travel_cost
F1,0,638.0
F1,1,177.0
F1,2,6.0
F1,3,694.0
F1,4,452.0
F1,5,312.0
F1,6,527.0
F1,7,354.0
F2,0,555.0
F2,1,344.0
F2,2,487.0
F2,3,267.0
F2,4,133.0
F2,5,443.0
F2,6,100.0
F2,7,681.0
F3,0,486.0
F3,1,17.0
F3,2,192.0
F3,3,509.0
F3,4,336.0
F3,5,363.0
F3,6,392.0
F3,7,374.0
F4,0,825.0
F4,1,349.0
F4,2,284.0
F4,3,705.0
F4,4,336.0
F4,5,24.0
F4,6,424.0
F4,7,641.0
Also, when you send back your answer, just use this simple JSON shape so I can read it easily β€” nothing more, nothing less.
{
""solution"": {
""selected"": [<stall_to_rent>, <stall_to_rent>, ...],
""assignments"": [<chosen_rented_stall>, <chosen_rented_stall>, ...]
}
}
""selected"" is where you list the stalls you'll rent. ""assignments"" lists, in the same order as the sellers show up in the instance, which rented stall each seller goes into. Super casual: think of ""selected"" as the list of booths on the lease, and ""assignments"" as the name-tag telling each seller which booth to set up at.
This JSON is just a sketch of the shape I expect, not the actual solution itself.
Please make sure to use the exact identifiers 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”.","{'opening_costs': [400.0, 400.0, 400.0, 400.0], 'capacities': [800.0, 800.0, 800.0, 800.0], 'connection_costs': [[638.0, 177.0, 6.0, 694.0, 452.0, 312.0, 527.0, 354.0], [555.0, 344.0, 487.0, 267.0, 133.0, 443.0, 100.0, 681.0], [486.0, 17.0, 192.0, 509.0, 336.0, 363.0, 392.0, 374.0], [825.0, 349.0, 284.0, 705.0, 336.0, 24.0, 424.0, 641.0]], 'demands': [44.0, 43.0, 26.0, 31.0, 42.0, 45.0, 24.0, 36.0], 'objective': 2704.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 0, 1, 1, 0, 1, 0]}",2704.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 800.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 800.0}], 'customers': [{'id': 0, 'demand': 44.0}, {'id': 1, 'demand': 43.0}, {'id': 2, 'demand': 26.0}, {'id': 3, 'demand': 31.0}, {'id': 4, 'demand': 42.0}, {'id': 5, 'demand': 45.0}, {'id': 6, 'demand': 24.0}, {'id': 7, 'demand': 36.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 638.0}, {'facility': 'F1', 'customer': 1, 'cost': 177.0}, {'facility': 'F1', 'customer': 2, 'cost': 6.0}, {'facility': 'F1', 'customer': 3, 'cost': 694.0}, {'facility': 'F1', 'customer': 4, 'cost': 452.0}, {'facility': 'F1', 'customer': 5, 'cost': 312.0}, {'facility': 'F1', 'customer': 6, 'cost': 527.0}, {'facility': 'F1', 'customer': 7, 'cost': 354.0}, {'facility': 'F2', 'customer': 0, 'cost': 555.0}, {'facility': 'F2', 'customer': 1, 'cost': 344.0}, {'facility': 'F2', 'customer': 2, 'cost': 487.0}, {'facility': 'F2', 'customer': 3, 'cost': 267.0}, {'facility': 'F2', 'customer': 4, 'cost': 133.0}, {'facility': 'F2', 'customer': 5, 'cost': 443.0}, {'facility': 'F2', 'customer': 6, 'cost': 100.0}, {'facility': 'F2', 'customer': 7, 'cost': 681.0}, {'facility': 'F3', 'customer': 0, 'cost': 486.0}, {'facility': 'F3', 'customer': 1, 'cost': 17.0}, {'facility': 'F3', 'customer': 2, 'cost': 192.0}, {'facility': 'F3', 'customer': 3, 'cost': 509.0}, {'facility': 'F3', 'customer': 4, 'cost': 336.0}, {'facility': 'F3', 'customer': 5, 'cost': 363.0}, {'facility': 'F3', 'customer': 6, 'cost': 392.0}, {'facility': 'F3', 'customer': 7, 'cost': 374.0}, {'facility': 'F4', 'customer': 0, 'cost': 825.0}, {'facility': 'F4', 'customer': 1, 'cost': 349.0}, {'facility': 'F4', 'customer': 2, 'cost': 284.0}, {'facility': 'F4', 'customer': 3, 'cost': 705.0}, {'facility': 'F4', 'customer': 4, 'cost': 336.0}, {'facility': 'F4', 'customer': 5, 'cost': 24.0}, {'facility': 'F4', 'customer': 6, 'cost': 424.0}, {'facility': 'F4', 'customer': 7, 'cost': 641.0}], 'objective': 2704.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F1', 'F2', 'F2', 'F1', 'F2', 'F1']}",27,csv,0
CFLP,CFLP,"I run the campus dining operation and have to pick which satellite kitchens to keep cooking and which to close, then decide which whole student groups each open kitchen will feed. No group gets split up, and no kitchen is asked to handle more students than it can actually serve. A good plan is the one that keeps the overall bill low β€” that bill being the sum of the kitchens’ running costs plus whatever it costs to get food from a kitchen to a group β€” and the specific kitchen sizes, opening costs, and group demands are shown below.
# num_kitchens=2
# num_student_groups=5
# KITCHENS
kitchen_id,kitchen_operating_cost,kitchen_capacity_students
F1,534.0,427.0
F2,573.0,434.0
# STUDENT_GROUPS
student_group_id,group_size
A,17.0
B,17.0
C,27.0
D,16.0
E,23.0
# DISTRIBUTIONS
kitchen_id,student_group_id,distribution_cost
F1,A,183.0
F1,B,80.0
F1,C,482.0
F1,D,437.0
F1,E,86.0
F2,A,906.0
F2,B,295.0
F2,C,732.0
F2,D,1360.0
F2,E,703.0
Oh, and when you reply with a plan, please follow this little JSON layout so I can read it easily β€” nothing fancy, just a consistent shape. Here's the sketch I like:
{
""solution"": {
""selected"": [<kitchen_to_open>, <kitchen_to_open>, ...],
""assignments"": [<chosen_open_kitchen>, <chosen_open_kitchen>, ...]
}
}
""selected"" is where you list which kitchens you decide to keep running (use the exact kitchen IDs from the instance). ""assignments"" is a list that, in order, says which open kitchen feeds each student group (again, use the exact IDs). This is just the expected shape β€” a sketch, not the final plan.
Please make sure you 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”.","{'opening_costs': [534.0, 573.0], 'capacities': [427.0, 434.0], 'connection_costs': [[183.0, 80.0, 482.0, 437.0, 86.0], [906.0, 295.0, 732.0, 1360.0, 703.0]], 'demands': [17.0, 17.0, 27.0, 16.0, 23.0], 'objective': 1802.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1802.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 534.0, 'capacity': 427.0}, {'id': 'F2', 'opening_cost': 573.0, 'capacity': 434.0}], 'customers': [{'id': 'A', 'demand': 17.0}, {'id': 'B', 'demand': 17.0}, {'id': 'C', 'demand': 27.0}, {'id': 'D', 'demand': 16.0}, {'id': 'E', 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 183.0}, {'facility': 'F1', 'customer': 'B', 'cost': 80.0}, {'facility': 'F1', 'customer': 'C', 'cost': 482.0}, {'facility': 'F1', 'customer': 'D', 'cost': 437.0}, {'facility': 'F1', 'customer': 'E', 'cost': 86.0}, {'facility': 'F2', 'customer': 'A', 'cost': 906.0}, {'facility': 'F2', 'customer': 'B', 'cost': 295.0}, {'facility': 'F2', 'customer': 'C', 'cost': 732.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1360.0}, {'facility': 'F2', 'customer': 'E', 'cost': 703.0}], 'objective': 1802.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",28,csv,names
CFLP,CFLP,"We manage a cluster of possible driver stations and have to choose which ones to bring people in to staff, then send each rider to exactly one staffed station for pickup. Staffing a station costs money and each station can only cover so many riders, while every rider assigned to a station creates an extra pickup detour cost. A good plan keeps the overall expense as small as possible β€” sum up the staffing charges for the stations opened and the detour costs for all rider pickups β€” while making sure every rider is tied to a single staffed station and no station exceeds its driver limit. The specific numbers and scenarios follow below.
There are 2 hubs and 5 riders in this instance.
**Hubs**
| hub_id | staffing_cost | driver_capacity |
|---|---|---|
| F1 | 400.0 | 300.0 |
| F2 | 400.0 | 300.0 |
**Riders**
| rider_id | rider_demand |
|---|---|
| 0 | 24.0 |
| 1 | 23.0 |
| 2 | 20.0 |
| 3 | 10.0 |
| 4 | 16.0 |
**Pickup Detour Cost**
| hub_id | rider_id | pickup_detour_cost |
|---|---|---|
| F1 | 0 | 102.0 |
| F1 | 1 | 540.0 |
| F1 | 2 | 45.0 |
| F1 | 3 | 96.0 |
| F1 | 4 | 437.0 |
| F2 | 0 | 216.0 |
| F2 | 1 | 896.0 |
| F2 | 2 | 423.0 |
| F2 | 3 | 234.0 |
| F2 | 4 | 2002.0 |
Oh, and one more practical thing β€” when you send back your plan, please put it in a little JSON package so it's easy to read by humans or tools. Something casual like this shape will do:
{
""solution"": {
""selected"": [""<station_to_staff>"", ""<station_to_staff>"", ...],
""assignments"": [""<staffed_station_for_rider>"", ""<staffed_station_for_rider>"", ...]
}
}
Think of ""selected"" as the list of stations you're deciding to staff, and ""assignments"" as which staffed station each rider gets sent to (one entry per rider). This is just the shape we want β€” a sketch, not the final numbers.
Please remember: use the exact identifiers from the instance input when you fill those placeholders β€” 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”.""","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[102.0, 540.0, 45.0, 96.0, 437.0], [216.0, 896.0, 423.0, 234.0, 2002.0]], 'demands': [24.0, 23.0, 20.0, 10.0, 16.0], 'objective': 1620.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1620.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 24.0}, {'id': 1, 'demand': 23.0}, {'id': 2, 'demand': 20.0}, {'id': 3, 'demand': 10.0}, {'id': 4, 'demand': 16.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 102.0}, {'facility': 'F1', 'customer': 1, 'cost': 540.0}, {'facility': 'F1', 'customer': 2, 'cost': 45.0}, {'facility': 'F1', 'customer': 3, 'cost': 96.0}, {'facility': 'F1', 'customer': 4, 'cost': 437.0}, {'facility': 'F2', 'customer': 0, 'cost': 216.0}, {'facility': 'F2', 'customer': 1, 'cost': 896.0}, {'facility': 'F2', 'customer': 2, 'cost': 423.0}, {'facility': 'F2', 'customer': 3, 'cost': 234.0}, {'facility': 'F2', 'customer': 4, 'cost': 2002.0}], 'objective': 1620.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",29,markdown_table,0
CFLP,CFLP,"There’s a neighborhood project where a few bookmobile stops can be set up, but not all of them at once. The team needs to decide which stops to operate, send each reader to exactly one of the active stops (no splitting visits), and watch that no stop handles more visitors or checkouts than it can manage. Better choices are the ones that keep total spending down β€” add the cost to run the chosen stops and the travel time for every reader, and aim for the smallest total. The concrete details about stops, costs, and reader counts appear below.
{
""num_candidate_stops"": 2,
""num_reader_groups"": 5,
""stops"": [
{
""stop_id"": ""F1"",
""stop_operation_cost"": 547.0,
""circulation_capacity"": 500.0
},
{
""stop_id"": ""F2"",
""stop_operation_cost"": 291.0,
""circulation_capacity"": 500.0
}
],
""reader_groups"": [
{
""reader_group_id"": 0,
""visitor_count"": 26.0
},
{
""reader_group_id"": 1,
""visitor_count"": 18.0
},
{
""reader_group_id"": 2,
""visitor_count"": 12.0
},
{
""reader_group_id"": 3,
""visitor_count"": 23.0
},
{
""reader_group_id"": 4,
""visitor_count"": 19.0
}
],
""travel_times"": [
{
""stop_id"": ""F1"",
""reader_group_id"": 0,
""travel_time"": 804.0
},
{
""stop_id"": ""F1"",
""reader_group_id"": 1,
""travel_time"": 1533.0
},
{
""stop_id"": ""F1"",
""reader_group_id"": 2,
""travel_time"": 567.0
},
{
""stop_id"": ""F1"",
""reader_group_id"": 3,
""travel_time"": 696.0
},
{
""stop_id"": ""F1"",
""reader_group_id"": 4,
""travel_time"": 623.0
},
{
""stop_id"": ""F2"",
""reader_group_id"": 0,
""travel_time"": 422.0
},
{
""stop_id"": ""F2"",
""reader_group_id"": 1,
""travel_time"": 1976.0
},
{
""stop_id"": ""F2"",
""reader_group_id"": 2,
""travel_time"": 1230.0
},
{
""stop_id"": ""F2"",
""reader_group_id"": 3,
""travel_time"": 812.0
},
{
""stop_id"": ""F2"",
""reader_group_id"": 4,
""travel_time"": 181.0
}
]
}
Oh, and just so we're on the same page, please send the solution in this simple JSON layout (just a little form I like to use):
{
""solution"": {
""selected"": [<stop_to_open>, <stop_to_open>, ...],
""assignments"": [<assigned_open_stop>, <assigned_open_stop>, ...]
}
}
This little sketch means: ""selected"" lists the stops you'll run, and ""assignments"" gives, for each reader in the same order as the input, which open stop they should go to. It's just the shape I need β€” not the final numbers or choices.
Please remember 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”.","{'opening_costs': [547.0, 291.0], 'capacities': [500.0, 500.0], 'connection_costs': [[804.0, 1533.0, 567.0, 696.0, 623.0], [422.0, 1976.0, 1230.0, 812.0, 181.0]], 'demands': [26.0, 18.0, 12.0, 23.0, 19.0], 'objective': 4237.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 0, 0, 1]}",4237.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 547.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 291.0, 'capacity': 500.0}], 'customers': [{'id': 0, 'demand': 26.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 23.0}, {'id': 4, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 804.0}, {'facility': 'F1', 'customer': 1, 'cost': 1533.0}, {'facility': 'F1', 'customer': 2, 'cost': 567.0}, {'facility': 'F1', 'customer': 3, 'cost': 696.0}, {'facility': 'F1', 'customer': 4, 'cost': 623.0}, {'facility': 'F2', 'customer': 0, 'cost': 422.0}, {'facility': 'F2', 'customer': 1, 'cost': 1976.0}, {'facility': 'F2', 'customer': 2, 'cost': 1230.0}, {'facility': 'F2', 'customer': 3, 'cost': 812.0}, {'facility': 'F2', 'customer': 4, 'cost': 181.0}], 'objective': 4237.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F1', 'F1', 'F2']}",30,json,0
CFLP,CFLP,"Someone running a local cloud-kitchen brand needs to decide which ghost kitchens to pay to activate and which active kitchen will handle each incoming order. Orders can’t be split across kitchens β€” each goes to one kitchen β€” and no kitchen should be overloaded beyond its capacity. What makes one setup preferable is simple money math: the total bill is the sum of every kitchen’s activation fee that’s paid plus the fulfillment cost for every order, and the goal is to keep that total as small as possible. The detailed instance β€” kitchens, costs, capacities and orders β€” follows below.
# num_ghost_kitchens=2
# num_orders=6
# KITCHENS
kitchen_id,activation_fee,kitchen_capacity
F1,295.0,500.0
F2,201.0,500.0
# ORDERS
order_id,order_size
A,14.0
B,15.0
C,27.0
D,10.0
E,23.0
F,27.0
# FULFILLMENTS
kitchen_id,order_id,fulfillment_cost
F1,A,1030.0
F1,B,1977.0
F1,C,1854.0
F1,D,1760.0
F1,E,2054.0
F1,F,1738.0
F2,A,300.0
F2,B,340.0
F2,C,56.0
F2,D,475.0
F2,E,228.0
F2,F,79.0
Also, to keep things machine-friendly, please return the result in this simple JSON shape so I can pick out which kitchens you turned on and which kitchen handles each order:
{
""solution"": {
""selected"": [<kitchen_to_open>, <kitchen_to_open>, ...],
""assignments"": [<assigned_kitchen>, <assigned_kitchen>, ...]
}
}
The idea is straightforward: ""selected"" is the list of ghost kitchens you decide to activate, and ""assignments"" is a list (in the same order as the orders in the instance) naming which active kitchen handles each order. Think of it like a short form: which kitchens are paid for, and who cooks each order.
This JSON is just a sketch of the expected shape β€” not the final plan. One important rule: use the exact identifiers from the instance input when you fill this in β€” 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"".","{'opening_costs': [295.0, 201.0], 'capacities': [500.0, 500.0], 'connection_costs': [[1030.0, 1977.0, 1854.0, 1760.0, 2054.0, 1738.0], [300.0, 340.0, 56.0, 475.0, 228.0, 79.0]], 'demands': [14.0, 15.0, 27.0, 10.0, 23.0, 27.0], 'objective': 1679.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",1679.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 295.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 201.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 14.0}, {'id': 'B', 'demand': 15.0}, {'id': 'C', 'demand': 27.0}, {'id': 'D', 'demand': 10.0}, {'id': 'E', 'demand': 23.0}, {'id': 'F', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1030.0}, {'facility': 'F1', 'customer': 'B', 'cost': 1977.0}, {'facility': 'F1', 'customer': 'C', 'cost': 1854.0}, {'facility': 'F1', 'customer': 'D', 'cost': 1760.0}, {'facility': 'F1', 'customer': 'E', 'cost': 2054.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1738.0}, {'facility': 'F2', 'customer': 'A', 'cost': 300.0}, {'facility': 'F2', 'customer': 'B', 'cost': 340.0}, {'facility': 'F2', 'customer': 'C', 'cost': 56.0}, {'facility': 'F2', 'customer': 'D', 'cost': 475.0}, {'facility': 'F2', 'customer': 'E', 'cost': 228.0}, {'facility': 'F2', 'customer': 'F', 'cost': 79.0}], 'objective': 1679.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",31,csv,names
CFLP,CFLP,"Someone has to map out which recycling points should be up and running and which households will use each one. Every household must be assigned to one open point only, and each point has a maximum intake it can’t exceed. The β€œbetter” solution is the one with the lowest total cost: tally the costs to open the selected points plus all residents’ hauling effort to their assigned spots, and choose the assignment with the smallest total. The exact data and choices are shown below.
# num_collection_points=3
# num_households=7
# COLLECTION_POINTS
collection_point_id,point_opening_cost,point_intake_capacity
F1,400.0,500.0
F2,400.0,500.0
F3,400.0,500.0
# HOUSEHOLDS
household_id,household_recycling_amount
A,12.0
B,18.0
C,19.0
D,18.0
E,18.0
F,19.0
G,14.0
# HAULINGS
collection_point_id,household_id,hauling_cost
F1,A,626.0
F1,B,607.0
F1,C,53.0
F1,D,1525.0
F1,E,1864.0
F1,F,105.0
F1,G,695.0
F2,A,517.0
F2,B,499.0
F2,C,40.0
F2,D,1421.0
F2,E,1792.0
F2,F,44.0
F2,G,587.0
F3,A,138.0
F3,B,273.0
F3,C,96.0
F3,D,936.0
F3,E,1550.0
F3,F,302.0
F3,G,98.0
When you send your solution, please follow this simple JSON layout so I can read it easily:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
""selected"" is where you list the recycling points you want to open. ""assignments"" is a list that, for each household in the instance (in the same order as the input), says which open point that household will use. Think of it like filling out a short form: which sites are active, and then which active site each household goes to.
This JSON is just a sketch of the shape I expect, not the actual answer β€” replace the placeholders with the real identifiers from the instance.
Please make sure all identifiers are used 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”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0], 'connection_costs': [[626.0, 607.0, 53.0, 1525.0, 1864.0, 105.0, 695.0], [517.0, 499.0, 40.0, 1421.0, 1792.0, 44.0, 587.0], [138.0, 273.0, 96.0, 936.0, 1550.0, 302.0, 98.0]], 'demands': [12.0, 18.0, 19.0, 18.0, 18.0, 19.0, 14.0], 'objective': 3793.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2]}",3793.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 12.0}, {'id': 'B', 'demand': 18.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 18.0}, {'id': 'E', 'demand': 18.0}, {'id': 'F', 'demand': 19.0}, {'id': 'G', 'demand': 14.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 626.0}, {'facility': 'F1', 'customer': 'B', 'cost': 607.0}, {'facility': 'F1', 'customer': 'C', 'cost': 53.0}, {'facility': 'F1', 'customer': 'D', 'cost': 1525.0}, {'facility': 'F1', 'customer': 'E', 'cost': 1864.0}, {'facility': 'F1', 'customer': 'F', 'cost': 105.0}, {'facility': 'F1', 'customer': 'G', 'cost': 695.0}, {'facility': 'F2', 'customer': 'A', 'cost': 517.0}, {'facility': 'F2', 'customer': 'B', 'cost': 499.0}, {'facility': 'F2', 'customer': 'C', 'cost': 40.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1421.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1792.0}, {'facility': 'F2', 'customer': 'F', 'cost': 44.0}, {'facility': 'F2', 'customer': 'G', 'cost': 587.0}, {'facility': 'F3', 'customer': 'A', 'cost': 138.0}, {'facility': 'F3', 'customer': 'B', 'cost': 273.0}, {'facility': 'F3', 'customer': 'C', 'cost': 96.0}, {'facility': 'F3', 'customer': 'D', 'cost': 936.0}, {'facility': 'F3', 'customer': 'E', 'cost': 1550.0}, {'facility': 'F3', 'customer': 'F', 'cost': 302.0}, {'facility': 'F3', 'customer': 'G', 'cost': 98.0}], 'objective': 3793.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",32,csv,names
CFLP,CFLP,"We’ve got a list of possible charging locations around town and a fleet of electric vehicles that need to be sent to stations for service. The decision is which of those locations to open (each one costs money to commission) and which station each vehicle should visit; every vehicle must go to one open station only, and every station can only take so many vehicles. A good choice is the one that keeps the overall expense down β€” tally the commissioning fees for the opened stations plus all the extra driving each vehicle does, and make that total as small as possible. Full specifics about sites, their limits, and the cost numbers appear below.
There are 2 stations and 6 vehicles in this instance.
**Stations**
| station_id | commissioning_cost | charging_capacity |
|---|---|---|
| F1 | 372.0 | 436.0 |
| F2 | 127.0 | 313.0 |
**Vehicles**
| vehicle_id | charging_demand |
|---|---|
| A | 10.0 |
| B | 9.0 |
| C | 16.0 |
| D | 21.0 |
| E | 13.0 |
| F | 13.0 |
**Detour Cost**
| station_id | vehicle_id | detour_cost |
|---|---|---|
| F1 | A | 233.0 |
| F1 | B | 241.0 |
| F1 | C | 128.0 |
| F1 | D | 220.0 |
| F1 | E | 170.0 |
| F1 | F | 152.0 |
| F2 | A | 128.0 |
| F2 | B | 89.0 |
| F2 | C | 120.0 |
| F2 | D | 102.0 |
| F2 | E | 79.0 |
| F2 | F | 82.0 |
You can just return the answer in this little JSON layout so it's easy to read and machine-friendly:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
""selected"" is the list of charging sites you decide to open (those cost money to commission). ""assignments"" is a list with one entry per vehicle saying which open site that vehicle will go to. Think of it like filling out a form β€” which stations are active, and where each vehicle is assigned. This is only a sketch of the shape I need, not the actual answer.
Please make sure to use the exact identifiers from 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”.""","{'opening_costs': [372.0, 127.0], 'capacities': [436.0, 313.0], 'connection_costs': [[233.0, 241.0, 128.0, 220.0, 170.0, 152.0], [128.0, 89.0, 120.0, 102.0, 79.0, 82.0]], 'demands': [10.0, 9.0, 16.0, 21.0, 13.0, 13.0], 'objective': 727.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",727.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 372.0, 'capacity': 436.0}, {'id': 'F2', 'opening_cost': 127.0, 'capacity': 313.0}], 'customers': [{'id': 'A', 'demand': 10.0}, {'id': 'B', 'demand': 9.0}, {'id': 'C', 'demand': 16.0}, {'id': 'D', 'demand': 21.0}, {'id': 'E', 'demand': 13.0}, {'id': 'F', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 233.0}, {'facility': 'F1', 'customer': 'B', 'cost': 241.0}, {'facility': 'F1', 'customer': 'C', 'cost': 128.0}, {'facility': 'F1', 'customer': 'D', 'cost': 220.0}, {'facility': 'F1', 'customer': 'E', 'cost': 170.0}, {'facility': 'F1', 'customer': 'F', 'cost': 152.0}, {'facility': 'F2', 'customer': 'A', 'cost': 128.0}, {'facility': 'F2', 'customer': 'B', 'cost': 89.0}, {'facility': 'F2', 'customer': 'C', 'cost': 120.0}, {'facility': 'F2', 'customer': 'D', 'cost': 102.0}, {'facility': 'F2', 'customer': 'E', 'cost': 79.0}, {'facility': 'F2', 'customer': 'F', 'cost': 82.0}], 'objective': 727.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",33,markdown_table,names
CFLP,CFLP,"Recently the campus IT group had to map out which shared printers to install and how to route staff print jobs to those printers. The goal was to minimize the overall cost, which is just the sum of the installation costs for the printers that are put in plus the transfer or delay cost for each document sent to its chosen printer. Every print job must be sent as a whole to a single installed printer, no printer can exceed its duty capacity, and no job can be left unassigned. The full list of printer options, costs, capacities and the print jobs is provided below.
There are 2 candidate shared printers under consideration and 5 individual staff print jobs to assign.
Printer F1: installation cost 400.0, duty capacity 500.0 pages.
Printer F2: installation cost 400.0, duty capacity 500.0 pages.
Print job A: size 18.0 pages.
Print job B: size 41.0 pages.
Print job C: size 21.0 pages.
Print job D: size 27.0 pages.
Print job E: size 16.0 pages.
Printer F1 to job A: transfer/delay cost 193.0.
Printer F1 to job B: transfer/delay cost 140.0.
Printer F1 to job C: transfer/delay cost 374.0.
Printer F1 to job D: transfer/delay cost 214.0.
Printer F1 to job E: transfer/delay cost 300.0.
Printer F2 to job A: transfer/delay cost 231.0.
Printer F2 to job B: transfer/delay cost 540.0.
Printer F2 to job C: transfer/delay cost 503.0.
Printer F2 to job D: transfer/delay cost 307.0.
Printer F2 to job E: transfer/delay cost 672.0.
These entries enumerate all 2 candidate printers and 5 print jobs with their parameters.
If you could return the plan in a simple machine-friendly way, that would be great β€” something like this JSON layout so it's easy to check and parse.
{
""solution"": {
""selected"": [<printer_to_install>, <printer_to_install>, ...],
""assignments"": [<assigned_printer>, <assigned_printer>, ...]
}
}
Think of ""selected"" as the list of printers you'll actually install, and ""assignments"" as, for each print job in the same order they were listed in the instance, which installed printer that job gets sent to. Super casual: selected = which printers we put in, assignments = where each job goes.
This JSON is just a sketch of the shape I want your answer to follow β€” not the final plan itself.
Please be careful to use the exact identifiers from the instance input when filling in those placeholders β€” 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”.""","{'opening_costs': [400.0, 400.0], 'capacities': [500.0, 500.0], 'connection_costs': [[193.0, 140.0, 374.0, 214.0, 300.0], [231.0, 540.0, 503.0, 307.0, 672.0]], 'demands': [18.0, 41.0, 21.0, 27.0, 16.0], 'objective': 1621.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1621.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 18.0}, {'id': 'B', 'demand': 41.0}, {'id': 'C', 'demand': 21.0}, {'id': 'D', 'demand': 27.0}, {'id': 'E', 'demand': 16.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 193.0}, {'facility': 'F1', 'customer': 'B', 'cost': 140.0}, {'facility': 'F1', 'customer': 'C', 'cost': 374.0}, {'facility': 'F1', 'customer': 'D', 'cost': 214.0}, {'facility': 'F1', 'customer': 'E', 'cost': 300.0}, {'facility': 'F2', 'customer': 'A', 'cost': 231.0}, {'facility': 'F2', 'customer': 'B', 'cost': 540.0}, {'facility': 'F2', 'customer': 'C', 'cost': 503.0}, {'facility': 'F2', 'customer': 'D', 'cost': 307.0}, {'facility': 'F2', 'customer': 'E', 'cost': 672.0}], 'objective': 1621.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",34,nl,names
CFLP,CFLP,"There’s a simple trade-off in town: keep more drop-off centers so neighborhoods travel less, or keep fewer centers to save on upkeep β€” but whichever plan is chosen, each neighborhood’s trash must go to one place and no center can take more than its limit. Each open center has a maintenance cost, each neighborhood-to-center route adds hauling distance, and the aim is the plan that makes the combined upkeep plus hauling as small as possible while respecting site capacities and keeping every neighborhood’s trash intact and unsplit. The actual list of centers, capacities, costs, and neighborhood demands appears below.
# num_dropoff_centers=2
# num_neighborhoods=6
# CENTERS
center_id,maintenance_cost,processing_capacity
F1,291.0,404.0
F2,544.0,338.0
# NEIGHBORHOODS
neighborhood_id,waste_demand
1,28.0
2,19.0
3,30.0
4,27.0
5,26.0
6,11.0
# HAULINGS
center_id,neighborhood_id,hauling_cost
F1,1,1671.0
F1,2,1382.0
F1,3,75.0
F1,4,1279.0
F1,5,1195.0
F1,6,22.0
F2,1,684.0
F2,2,103.0
F2,3,566.0
F2,4,759.0
F2,5,825.0
F2,6,416.0
When you send the plan back, do it in this little JSON shape so it's easy to check automatically and still human-readable:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<assigned_site>, <assigned_site>, ...]
}
}
Here, ""selected"" is where you list the drop-off centers you decide to keep open, and ""assignments"" is, in order, which open center each neighborhood sends its trash to. Think of it like a simple form: selected = open centers, assignments = each neighborhood's chosen center. This JSON is just a sketch of the shape I need β€” not the final plan itself.
Please use the exact identifiers from the instance input when you fill this in β€” 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”.""","{'opening_costs': [291.0, 544.0], 'capacities': [404.0, 338.0], 'connection_costs': [[1671.0, 1382.0, 75.0, 1279.0, 1195.0, 22.0], [684.0, 103.0, 566.0, 759.0, 825.0, 416.0]], 'demands': [28.0, 19.0, 30.0, 27.0, 26.0, 11.0], 'objective': 3303.0}","{'open_facilities': [0, 1], 'assignments': [1, 1, 0, 1, 1, 0]}",3303.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 291.0, 'capacity': 404.0}, {'id': 'F2', 'opening_cost': 544.0, 'capacity': 338.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 19.0}, {'id': 3, 'demand': 30.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 26.0}, {'id': 6, 'demand': 11.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 1671.0}, {'facility': 'F1', 'customer': 2, 'cost': 1382.0}, {'facility': 'F1', 'customer': 3, 'cost': 75.0}, {'facility': 'F1', 'customer': 4, 'cost': 1279.0}, {'facility': 'F1', 'customer': 5, 'cost': 1195.0}, {'facility': 'F1', 'customer': 6, 'cost': 22.0}, {'facility': 'F2', 'customer': 1, 'cost': 684.0}, {'facility': 'F2', 'customer': 2, 'cost': 103.0}, {'facility': 'F2', 'customer': 3, 'cost': 566.0}, {'facility': 'F2', 'customer': 4, 'cost': 759.0}, {'facility': 'F2', 'customer': 5, 'cost': 825.0}, {'facility': 'F2', 'customer': 6, 'cost': 416.0}], 'objective': 3303.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F2', 'F1', 'F2', 'F2', 'F1']}",35,csv,1
CFLP,CFLP,"Recently the team had to map out where to put service stations and how to assign arriving guest groups so nobody ends up split between stations and no station gets swamped. Each potential station comes with a setup charge and a cap on how many people it can serve, while each guest group has a cost to be served from each station. The idea is to open some stations and send every group to exactly one of the opened stations, keeping assignments within capacity, and then total up the cost: station setup charges for those opened plus the service/travel costs for all group assignments β€” the lower that total, the better. The specific station choices, capacities, costs, and guest group list are below.
There are 3 candidate stations and 6 guest groups listed below.
Station F1 has a setup cost of 221.0 and a capacity of 700.0 guests.
Station F2 has a setup cost of 201.0 and a capacity of 700.0 guests.
Station F3 has a setup cost of 450.0 and a capacity of 700.0 guests.
Guest group A has 28.0 people.
Guest group B has 26.0 people.
Guest group C has 19.0 people.
Guest group D has 29.0 people.
Guest group E has 17.0 people.
Guest group F has 20.0 people.
Assigning group A to station F1 incurs a cost of 378.0.
Assigning group B to station F1 incurs a cost of 76.0.
Assigning group C to station F1 incurs a cost of 131.0.
Assigning group D to station F1 incurs a cost of 231.0.
Assigning group E to station F1 incurs a cost of 450.0.
Assigning group F to station F1 incurs a cost of 150.0.
Assigning group A to station F2 incurs a cost of 388.0.
Assigning group B to station F2 incurs a cost of 56.0.
Assigning group C to station F2 incurs a cost of 132.0.
Assigning group D to station F2 incurs a cost of 264.0.
Assigning group E to station F2 incurs a cost of 352.0.
Assigning group F to station F2 incurs a cost of 79.0.
Assigning group A to station F3 incurs a cost of 309.0.
Assigning group B to station F3 incurs a cost of 189.0.
Assigning group C to station F3 incurs a cost of 590.0.
Assigning group D to station F3 incurs a cost of 133.0.
Assigning group E to station F3 incurs a cost of 750.0.
Assigning group F to station F3 incurs a cost of 399.0.
These entries list the stations, guest groups, and assignment costs used to decide which stations to open and how to assign each group.
Oh, and when you send the actual picks and assignments back, please follow this little JSON layout so it's easy to parse and check β€” just a simple sketch of the shape I expect:
{
""solution"": {
""selected"": [<station_to_open>, <station_to_open>, ...],
""assignments"": [<station_for_group>, <station_for_group>, ...]
}
}
Pretty straightforward: ""selected"" is the list of stations you decide to set up, and ""assignments"" is the list (in the same order as the guest groups were given) of which opened station each group goes to. Think of it like filling out a form: pick the stations you open, then for each guest group write the station you assigned them to.
This JSON is just a sketch of the expected shape, not the actual solution β€” fill in the real station identifiers from the instance when you reply.
Please make sure you 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”.","{'opening_costs': [221.0, 201.0, 450.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[378.0, 76.0, 131.0, 231.0, 450.0, 150.0], [388.0, 56.0, 132.0, 264.0, 352.0, 79.0], [309.0, 189.0, 590.0, 133.0, 750.0, 399.0]], 'demands': [28.0, 26.0, 19.0, 29.0, 17.0, 20.0], 'objective': 1472.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",1472.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 221.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 201.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 450.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 28.0}, {'id': 'B', 'demand': 26.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 29.0}, {'id': 'E', 'demand': 17.0}, {'id': 'F', 'demand': 20.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 378.0}, {'facility': 'F1', 'customer': 'B', 'cost': 76.0}, {'facility': 'F1', 'customer': 'C', 'cost': 131.0}, {'facility': 'F1', 'customer': 'D', 'cost': 231.0}, {'facility': 'F1', 'customer': 'E', 'cost': 450.0}, {'facility': 'F1', 'customer': 'F', 'cost': 150.0}, {'facility': 'F2', 'customer': 'A', 'cost': 388.0}, {'facility': 'F2', 'customer': 'B', 'cost': 56.0}, {'facility': 'F2', 'customer': 'C', 'cost': 132.0}, {'facility': 'F2', 'customer': 'D', 'cost': 264.0}, {'facility': 'F2', 'customer': 'E', 'cost': 352.0}, {'facility': 'F2', 'customer': 'F', 'cost': 79.0}, {'facility': 'F3', 'customer': 'A', 'cost': 309.0}, {'facility': 'F3', 'customer': 'B', 'cost': 189.0}, {'facility': 'F3', 'customer': 'C', 'cost': 590.0}, {'facility': 'F3', 'customer': 'D', 'cost': 133.0}, {'facility': 'F3', 'customer': 'E', 'cost': 750.0}, {'facility': 'F3', 'customer': 'F', 'cost': 399.0}], 'objective': 1472.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",36,nl,names
CFLP,CFLP,"Out in the district planners are choosing which pantry locations to operate and routing every family to a single open pantry, taking care not to overload any pantry’s storage. A good plan is judged by total cost β€” the sum of the running charges for the open sites plus the cost to serve all the families β€” so the plan with the lowest combined cost wins. The concrete inputs and figures come after this.
There are 2 pantrys and 5 familys in this instance.
**Pantrys**
| pantry_id | operating_charge | storage_limit |
|---|---|---|
| F1 | 300.0 | 491.0 |
| F2 | 300.0 | 378.0 |
**Familys**
| family_id | family_demand |
|---|---|
| 1 | 28.0 |
| 2 | 18.0 |
| 3 | 17.0 |
| 4 | 19.0 |
| 5 | 18.0 |
**Service Cost**
| pantry_id | family_id | service_cost |
|---|---|---|
| F1 | 1 | 66.0 |
| F1 | 2 | 37.0 |
| F1 | 3 | 52.0 |
| F1 | 4 | 120.0 |
| F1 | 5 | 341.0 |
| F2 | 1 | 175.0 |
| F2 | 2 | 182.0 |
| F2 | 3 | 91.0 |
| F2 | 4 | 38.0 |
| F2 | 5 | 73.0 |
Oh, and when you send the plan back, please follow this simple JSON layout so I can read it easily:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_site>, <chosen_site>, ...]
}
}
Think of ""selected"" as the list of pantry sites you'll keep running, and ""assignments"" as which open pantry each family goes to (one entry per family, in the same order as the family list). This is just a sketch of the shape I expect β€” not the final plan itself.
Please be sure to use the exact identifiers from the instance input when filling this out β€” don't rename sites 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”.""","{'opening_costs': [300.0, 300.0], 'capacities': [491.0, 378.0], 'connection_costs': [[66.0, 37.0, 52.0, 120.0, 341.0], [175.0, 182.0, 91.0, 38.0, 73.0]], 'demands': [28.0, 18.0, 17.0, 19.0, 18.0], 'objective': 859.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",859.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 491.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 378.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 18.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 19.0}, {'id': 5, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 66.0}, {'facility': 'F1', 'customer': 2, 'cost': 37.0}, {'facility': 'F1', 'customer': 3, 'cost': 52.0}, {'facility': 'F1', 'customer': 4, 'cost': 120.0}, {'facility': 'F1', 'customer': 5, 'cost': 341.0}, {'facility': 'F2', 'customer': 1, 'cost': 175.0}, {'facility': 'F2', 'customer': 2, 'cost': 182.0}, {'facility': 'F2', 'customer': 3, 'cost': 91.0}, {'facility': 'F2', 'customer': 4, 'cost': 38.0}, {'facility': 'F2', 'customer': 5, 'cost': 73.0}], 'objective': 859.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",37,markdown_table,1
CFLP,CFLP,"One day the ops team had to trim costs: there are several data centers that can be kept on for a fee and each has finite server capacity, and every application must be assigned to a single active center. The task is to pick which centers to keep running and assign every app to exactly one of them, without exceeding any center’s capacity or duplicating assignments. The goal is to minimize the overall outlay β€” total cost equals the sum of running fees for the centers that are on plus the latency/connection cost for each app’s assignment β€” so choose the setup with the smallest total. The detailed instance information follows below.
{
""num_data_centers"": 3,
""num_applications"": 7,
""data_centers"": [
{
""data_center_id"": ""F1"",
""running_fee"": 400.0,
""server_capacity"": 751.0
},
{
""data_center_id"": ""F2"",
""running_fee"": 400.0,
""server_capacity"": 1103.0
},
{
""data_center_id"": ""F3"",
""running_fee"": 400.0,
""server_capacity"": 506.0
}
],
""applications"": [
{
""application_id"": 1,
""app_demand"": 43.0
},
{
""application_id"": 2,
""app_demand"": 15.0
},
{
""application_id"": 3,
""app_demand"": 32.0
},
{
""application_id"": 4,
""app_demand"": 27.0
},
{
""application_id"": 5,
""app_demand"": 22.0
},
{
""application_id"": 6,
""app_demand"": 23.0
},
{
""application_id"": 7,
""app_demand"": 15.0
}
],
""latencys"": [
{
""data_center_id"": ""F1"",
""application_id"": 1,
""latency_cost"": 583.0
},
{
""data_center_id"": ""F1"",
""application_id"": 2,
""latency_cost"": 321.0
},
{
""data_center_id"": ""F1"",
""application_id"": 3,
""latency_cost"": 82.0
},
{
""data_center_id"": ""F1"",
""application_id"": 4,
""latency_cost"": 177.0
},
{
""data_center_id"": ""F1"",
""application_id"": 5,
""latency_cost"": 93.0
},
{
""data_center_id"": ""F1"",
""application_id"": 6,
""latency_cost"": 354.0
},
{
""data_center_id"": ""F1"",
""application_id"": 7,
""latency_cost"": 430.0
},
{
""data_center_id"": ""F2"",
""application_id"": 1,
""latency_cost"": 462.0
},
{
""data_center_id"": ""F2"",
""application_id"": 2,
""latency_cost"": 26.0
},
{
""data_center_id"": ""F2"",
""application_id"": 3,
""latency_cost"": 358.0
},
{
""data_center_id"": ""F2"",
""application_id"": 4,
""latency_cost"": 246.0
},
{
""data_center_id"": ""F2"",
""application_id"": 5,
""latency_cost"": 273.0
},
{
""data_center_id"": ""F2"",
""application_id"": 6,
""latency_cost"": 390.0
},
{
""data_center_id"": ""F2"",
""application_id"": 7,
""latency_cost"": 603.0
},
{
""data_center_id"": ""F3"",
""application_id"": 1,
""latency_cost"": 193.0
},
{
""data_center_id"": ""F3"",
""application_id"": 2,
""latency_cost"": 312.0
},
{
""data_center_id"": ""F3"",
""application_id"": 3,
""latency_cost"": 464.0
},
{
""data_center_id"": ""F3"",
""application_id"": 4,
""latency_cost"": 218.0
},
{
""data_center_id"": ""F3"",
""application_id"": 5,
""latency_cost"": 401.0
},
{
""data_center_id"": ""F3"",
""application_id"": 6,
""latency_cost"": 143.0
},
{
""data_center_id"": ""F3"",
""application_id"": 7,
""latency_cost"": 385.0
}
]
}
Also, just so we're on the same page, please give the solution using this simple JSON shape when you answer β€” nothing fancy, just that structure so it's easy to parse:
{
""solution"": {
""selected"": [<center_to_keep_on>, <center_to_keep_on>, ...],
""assignments"": [<chosen_open_center>, <chosen_open_center>, ...]
}
}
Think of ""selected"" as the list of data centers you decide to keep running (one placeholder per center), and ""assignments"" as, in order, which running center each application gets assigned to. Super informal: ""selected"" = which centers are on, ""assignments"" = where each app goes.
This JSON is only a sketch of the expected shape, not the actual answer.
Please make sure to use the exact identifiers from the instance 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”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [751.0, 1103.0, 506.0], 'connection_costs': [[583.0, 321.0, 82.0, 177.0, 93.0, 354.0, 430.0], [462.0, 26.0, 358.0, 246.0, 273.0, 390.0, 603.0], [193.0, 312.0, 464.0, 218.0, 401.0, 143.0, 385.0]], 'demands': [43.0, 15.0, 32.0, 27.0, 22.0, 23.0, 15.0], 'objective': 2185.0}","{'open_facilities': [0, 2], 'assignments': [2, 2, 0, 0, 0, 2, 2]}",2185.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 751.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1103.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 506.0}], 'customers': [{'id': 1, 'demand': 43.0}, {'id': 2, 'demand': 15.0}, {'id': 3, 'demand': 32.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 22.0}, {'id': 6, 'demand': 23.0}, {'id': 7, 'demand': 15.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 583.0}, {'facility': 'F1', 'customer': 2, 'cost': 321.0}, {'facility': 'F1', 'customer': 3, 'cost': 82.0}, {'facility': 'F1', 'customer': 4, 'cost': 177.0}, {'facility': 'F1', 'customer': 5, 'cost': 93.0}, {'facility': 'F1', 'customer': 6, 'cost': 354.0}, {'facility': 'F1', 'customer': 7, 'cost': 430.0}, {'facility': 'F2', 'customer': 1, 'cost': 462.0}, {'facility': 'F2', 'customer': 2, 'cost': 26.0}, {'facility': 'F2', 'customer': 3, 'cost': 358.0}, {'facility': 'F2', 'customer': 4, 'cost': 246.0}, {'facility': 'F2', 'customer': 5, 'cost': 273.0}, {'facility': 'F2', 'customer': 6, 'cost': 390.0}, {'facility': 'F2', 'customer': 7, 'cost': 603.0}, {'facility': 'F3', 'customer': 1, 'cost': 193.0}, {'facility': 'F3', 'customer': 2, 'cost': 312.0}, {'facility': 'F3', 'customer': 3, 'cost': 464.0}, {'facility': 'F3', 'customer': 4, 'cost': 218.0}, {'facility': 'F3', 'customer': 5, 'cost': 401.0}, {'facility': 'F3', 'customer': 6, 'cost': 143.0}, {'facility': 'F3', 'customer': 7, 'cost': 385.0}], 'objective': 2185.0}","{'selected': ['F1', 'F3'], 'assignments': ['F3', 'F3', 'F1', 'F1', 'F1', 'F3', 'F3']}",38,json,1
CFLP,CFLP,"Someone in operations has to map orders to active micro-fulfillment centers and decide which centers to open. Opening a center carries a fixed fee and each center can only process a limited number of parcels; each order must go to exactly one open center and centers can’t take on more than their throughput allows. The quality of any decision is judged by the total expense: add the activation fees for the centers that are opened plus the routing cost for all orders β€” the plan with the lowest total is preferred. The exact center fees, capacities, and order list are shown below.
# num_micro_centers=3
# num_orders=6
# CONNECTION_CENTERS
connection_center_id,activation_fee,center_throughput
F1,600.0,300.0
F2,600.0,300.0
F3,600.0,300.0
# CONNECTION_ORDERS
connection_order_id,order_parcel_count
0,28.0
1,30.0
2,20.0
3,12.0
4,27.0
5,19.0
# ROUTINGS
connection_center_id,connection_order_id,routing_cost
F1,0,81.0
F1,1,168.0
F1,2,281.0
F1,3,57.0
F1,4,278.0
F1,5,40.0
F2,0,995.0
F2,1,317.0
F2,2,1279.0
F2,3,1869.0
F2,4,1878.0
F2,5,1087.0
F3,0,838.0
F3,1,377.0
F3,2,995.0
F3,3,1637.0
F3,4,1611.0
F3,5,889.0
Also, when you send back the plan, please use this little JSON layout so I can read it automatically β€” just a casual shape for the answer:
{
""solution"": {
""selected"": [<center_to_open>, <center_to_open>, ...],
""assignments"": [<chosen_open_center>, <chosen_open_center>, ...]
}
}
""selected"" is where you list the centers you decide to open (one identifier per opened center). ""assignments"" is a list that, for each order in the same order as the input, gives the identifier of the open center that will handle that order. Super informal: think of ""selected"" as the checkboxes you tick and ""assignments"" as the column where you write which box each order goes into.
This JSON is just a sketch of the expected shape β€” not the actual answer. Make sure every identifier you put in here matches the instance input exactly β€” 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”.","{'opening_costs': [600.0, 600.0, 600.0], 'capacities': [300.0, 300.0, 300.0], 'connection_costs': [[81.0, 168.0, 281.0, 57.0, 278.0, 40.0], [995.0, 317.0, 1279.0, 1869.0, 1878.0, 1087.0], [838.0, 377.0, 995.0, 1637.0, 1611.0, 889.0]], 'demands': [28.0, 30.0, 20.0, 12.0, 27.0, 19.0], 'objective': 1505.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0]}",1505.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 600.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 30.0}, {'id': 2, 'demand': 20.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 81.0}, {'facility': 'F1', 'customer': 1, 'cost': 168.0}, {'facility': 'F1', 'customer': 2, 'cost': 281.0}, {'facility': 'F1', 'customer': 3, 'cost': 57.0}, {'facility': 'F1', 'customer': 4, 'cost': 278.0}, {'facility': 'F1', 'customer': 5, 'cost': 40.0}, {'facility': 'F2', 'customer': 0, 'cost': 995.0}, {'facility': 'F2', 'customer': 1, 'cost': 317.0}, {'facility': 'F2', 'customer': 2, 'cost': 1279.0}, {'facility': 'F2', 'customer': 3, 'cost': 1869.0}, {'facility': 'F2', 'customer': 4, 'cost': 1878.0}, {'facility': 'F2', 'customer': 5, 'cost': 1087.0}, {'facility': 'F3', 'customer': 0, 'cost': 838.0}, {'facility': 'F3', 'customer': 1, 'cost': 377.0}, {'facility': 'F3', 'customer': 2, 'cost': 995.0}, {'facility': 'F3', 'customer': 3, 'cost': 1637.0}, {'facility': 'F3', 'customer': 4, 'cost': 1611.0}, {'facility': 'F3', 'customer': 5, 'cost': 889.0}], 'objective': 1505.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",39,csv,0
CFLP,CFLP,"Across the county the goal is to set up a handful of mobile clinic locations and then send each patient to exactly one of the opened locations, making sure no location is overloaded. Each possible location has a cost to deploy and a capacity limit, and routing a patient to a location brings a travel or treatment cost. One rollout is better than another if its overall cost β€” the sum of the deployment costs for the chosen locations plus the travel/treatment costs for everyone scheduled there β€” is lower, with every patient assigned to a single open location and each location kept within its capacity. The concrete details are shown below.
The scenario lists 2 candidate mobile clinic sites and 5 patients; item details follow.
Site F1 has a deployment cost of 400.0 and a capacity of 300.0.
Site F2 has a deployment cost of 400.0 and a capacity of 300.0.
Patient 0 has demand 23.0.
Patient 1 has demand 29.0.
Patient 2 has demand 22.0.
Patient 3 has demand 18.0.
Patient 4 has demand 24.0.
Scheduling patient 0 at site F1 incurs cost 260.0.
Scheduling patient 1 at site F1 incurs cost 58.0.
Scheduling patient 2 at site F1 incurs cost 286.0.
Scheduling patient 3 at site F1 incurs cost 38.0.
Scheduling patient 4 at site F1 incurs cost 883.0.
Scheduling patient 0 at site F2 incurs cost 305.0.
Scheduling patient 1 at site F2 incurs cost 64.0.
Scheduling patient 2 at site F2 incurs cost 145.0.
Scheduling patient 3 at site F2 incurs cost 42.0.
Scheduling patient 4 at site F2 incurs cost 538.0.
These item entries together determine the total deployment plus routing costs and the feasibility under the capacity and single-assignment requirements.
Also, when you send the rollout back, please follow this little JSON layout so it's easy to check automatically. Here's the shape I expect:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
Think of ""selected"" as the list of clinic sites you decide to deploy, and ""assignments"" as who goes to which opened site (one entry per patient, in the same order the patients appear in the instance). This is just the format sketch β€” not the actual numbers or choices.
Please make sure all identifiers you use match the instance input exactly β€” 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”. ""","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[260.0, 58.0, 286.0, 38.0, 883.0], [305.0, 64.0, 145.0, 42.0, 538.0]], 'demands': [23.0, 29.0, 22.0, 18.0, 24.0], 'objective': 1494.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1]}",1494.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 23.0}, {'id': 1, 'demand': 29.0}, {'id': 2, 'demand': 22.0}, {'id': 3, 'demand': 18.0}, {'id': 4, 'demand': 24.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 260.0}, {'facility': 'F1', 'customer': 1, 'cost': 58.0}, {'facility': 'F1', 'customer': 2, 'cost': 286.0}, {'facility': 'F1', 'customer': 3, 'cost': 38.0}, {'facility': 'F1', 'customer': 4, 'cost': 883.0}, {'facility': 'F2', 'customer': 0, 'cost': 305.0}, {'facility': 'F2', 'customer': 1, 'cost': 64.0}, {'facility': 'F2', 'customer': 2, 'cost': 145.0}, {'facility': 'F2', 'customer': 3, 'cost': 42.0}, {'facility': 'F2', 'customer': 4, 'cost': 538.0}], 'objective': 1494.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2']}",40,nl,0
CFLP,CFLP,"Recently the planners talked about which docking stations to activate and how to group riders around them. Every station that’s turned on comes with a fixed cost, and each rider’s distance or inconvenience to their dock adds a small extra cost, so the plan that’s preferred is the one with the lowest combined cost β€” station start-up fees plus all riders’ access costs. It’s required that each rider be matched to a single open station and that no station be asked to handle more riders than its capacity. The detailed numbers are provided below.
# num_docking_stations=3
# num_riders=7
# DOCKING_STATIONS
docking_station_id,station_activation_cost,station_capacity
F1,468.0,700.0
F2,544.0,700.0
F3,450.0,700.0
# RIDERS
rider_id,rider_demand
0,11.0
1,20.0
2,17.0
3,24.0
4,18.0
5,18.0
6,15.0
# RIDER_ACCESSS
docking_station_id,rider_id,rider_access_cost
F1,0,690.0
F1,1,1197.0
F1,2,2407.0
F1,3,986.0
F1,4,45.0
F1,5,1784.0
F1,6,2235.0
F2,0,445.0
F2,1,421.0
F2,2,810.0
F2,3,691.0
F2,4,62.0
F2,5,384.0
F2,6,503.0
F3,0,48.0
F3,1,132.0
F3,2,1260.0
F3,3,155.0
F3,4,40.0
F3,5,730.0
F3,6,1217.0
Also, when you reply with the plan, please stick to this simple JSON layout so it's easy to parse:
{
""solution"": {
""selected"": [<station_to_open>, <station_to_open>, ...],
""assignments"": [<chosen_open_station>, <chosen_open_station>, ...]
}
}
This just sketches the shape we expectβ€”nothing more. In plain terms: ""selected"" is the list of docking stations you decide to turn on, and ""assignments"" gives, for each rider (in the same order as the input), the identifier of the open station they're assigned to. Keep it casual and concise.
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”.","{'opening_costs': [468.0, 544.0, 450.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[690.0, 1197.0, 2407.0, 986.0, 45.0, 1784.0, 2235.0], [445.0, 421.0, 810.0, 691.0, 62.0, 384.0, 503.0], [48.0, 132.0, 1260.0, 155.0, 40.0, 730.0, 1217.0]], 'demands': [11.0, 20.0, 17.0, 24.0, 18.0, 18.0, 15.0], 'objective': 3066.0}","{'open_facilities': [1, 2], 'assignments': [2, 2, 1, 2, 2, 1, 1]}",3066.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 468.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 544.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 450.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 24.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 18.0}, {'id': 6, 'demand': 15.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 690.0}, {'facility': 'F1', 'customer': 1, 'cost': 1197.0}, {'facility': 'F1', 'customer': 2, 'cost': 2407.0}, {'facility': 'F1', 'customer': 3, 'cost': 986.0}, {'facility': 'F1', 'customer': 4, 'cost': 45.0}, {'facility': 'F1', 'customer': 5, 'cost': 1784.0}, {'facility': 'F1', 'customer': 6, 'cost': 2235.0}, {'facility': 'F2', 'customer': 0, 'cost': 445.0}, {'facility': 'F2', 'customer': 1, 'cost': 421.0}, {'facility': 'F2', 'customer': 2, 'cost': 810.0}, {'facility': 'F2', 'customer': 3, 'cost': 691.0}, {'facility': 'F2', 'customer': 4, 'cost': 62.0}, {'facility': 'F2', 'customer': 5, 'cost': 384.0}, {'facility': 'F2', 'customer': 6, 'cost': 503.0}, {'facility': 'F3', 'customer': 0, 'cost': 48.0}, {'facility': 'F3', 'customer': 1, 'cost': 132.0}, {'facility': 'F3', 'customer': 2, 'cost': 1260.0}, {'facility': 'F3', 'customer': 3, 'cost': 155.0}, {'facility': 'F3', 'customer': 4, 'cost': 40.0}, {'facility': 'F3', 'customer': 5, 'cost': 730.0}, {'facility': 'F3', 'customer': 6, 'cost': 1217.0}], 'objective': 3066.0}","{'selected': ['F2', 'F3'], 'assignments': ['F3', 'F3', 'F2', 'F3', 'F3', 'F2', 'F2']}",41,csv,0
CFLP,CFLP,"Out in the district the challenge is picking which vending spots to fill and then assigning every customer zone to just one of the stocked spots. Filling a spot comes with a stocking fee, and each zone picks up an inconvenience cost depending on how far its assigned spot is; to judge any arrangement, total up all the stocking fees plus all the inconvenience costs β€” that combined total determines how good the choice is. It’s also essential that no stocked spot serves beyond its capacity and that every zone is linked to one and only one stocked spot. The instance details follow below.
There are 2 vending sites and 6 customer zones in this instance.
**Vending Sites**
| vending_site_id | stocking_fee | stocking_capacity |
|---|---|---|
| F1 | 474.0 | 487.0 |
| F2 | 432.0 | 466.0 |
**Customer Zones**
| customer_zone_id | zone_demand |
|---|---|
| 1 | 20.0 |
| 2 | 40.0 |
| 3 | 10.0 |
| 4 | 16.0 |
| 5 | 31.0 |
| 6 | 6.0 |
**Inconvenience Cost**
| vending_site_id | customer_zone_id | inconvenience_cost |
|---|---|---|
| F1 | 1 | 357.0 |
| F1 | 2 | 201.0 |
| F1 | 3 | 23.0 |
| F1 | 4 | 347.0 |
| F1 | 5 | 133.0 |
| F1 | 6 | 215.0 |
| F2 | 1 | 117.0 |
| F2 | 2 | 105.0 |
| F2 | 3 | 241.0 |
| F2 | 4 | 128.0 |
| F2 | 5 | 157.0 |
| F2 | 6 | 83.0 |
Also, when you send your pick, please follow this little JSON layout so it's easy to read and check:
{
""solution"": {
""selected"": [<vending_spot_to_open>, <vending_spot_to_open>, ...],
""assignments"": [<chosen_vending_spot>, <chosen_vending_spot>, ...]
}
}
Think of ""selected"" as the list of vending spots you decide to stock, and ""assignments"" as a parallel list saying which stocked spot each customer zone uses (one entry per zone). This is just a sketch of the shape I need β€” not the final answer itself.
Please use the exact identifiers from the instance input when you fill this in; 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”.""","{'opening_costs': [474.0, 432.0], 'capacities': [487.0, 466.0], 'connection_costs': [[357.0, 201.0, 23.0, 347.0, 133.0, 215.0], [117.0, 105.0, 241.0, 128.0, 157.0, 83.0]], 'demands': [20.0, 40.0, 10.0, 16.0, 31.0, 6.0], 'objective': 1263.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1]}",1263.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 6, 'facilities': [{'id': 'F1', 'opening_cost': 474.0, 'capacity': 487.0}, {'id': 'F2', 'opening_cost': 432.0, 'capacity': 466.0}], 'customers': [{'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 40.0}, {'id': 3, 'demand': 10.0}, {'id': 4, 'demand': 16.0}, {'id': 5, 'demand': 31.0}, {'id': 6, 'demand': 6.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 357.0}, {'facility': 'F1', 'customer': 2, 'cost': 201.0}, {'facility': 'F1', 'customer': 3, 'cost': 23.0}, {'facility': 'F1', 'customer': 4, 'cost': 347.0}, {'facility': 'F1', 'customer': 5, 'cost': 133.0}, {'facility': 'F1', 'customer': 6, 'cost': 215.0}, {'facility': 'F2', 'customer': 1, 'cost': 117.0}, {'facility': 'F2', 'customer': 2, 'cost': 105.0}, {'facility': 'F2', 'customer': 3, 'cost': 241.0}, {'facility': 'F2', 'customer': 4, 'cost': 128.0}, {'facility': 'F2', 'customer': 5, 'cost': 157.0}, {'facility': 'F2', 'customer': 6, 'cost': 83.0}], 'objective': 1263.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",42,markdown_table,1
CFLP,CFLP,"Picture this: a map dotted with possible sorting hubs, each one you can turn on for a fee and each one only able to handle so many deliveries. Every address on the map needs to be sent to one running hub, and if a hub is farther away the trip costs more. The job is to decide which hubs to power up and which hub each address uses so the total spending β€” the sum of hub running costs and all the per-address routing costs β€” ends up minimal, and no hub is asked to do more than it can. The exact figures and setup are shown below.
{
""num_hubs"": 2,
""num_addresses"": 5,
""hub_id_refs"": [
{
""hub_id_ref"": ""F1"",
""hub_running_cost"": 400.0,
""hub_capacity"": 300.0
},
{
""hub_id_ref"": ""F2"",
""hub_running_cost"": 400.0,
""hub_capacity"": 300.0
}
],
""address_id_refs"": [
{
""address_id_ref"": 1,
""address_demand"": 28.0
},
{
""address_id_ref"": 2,
""address_demand"": 23.0
},
{
""address_id_ref"": 3,
""address_demand"": 24.0
},
{
""address_id_ref"": 4,
""address_demand"": 18.0
},
{
""address_id_ref"": 5,
""address_demand"": 27.0
}
],
""routings"": [
{
""hub_id_ref"": ""F1"",
""address_id_ref"": 1,
""routing_cost"": 282.0
},
{
""hub_id_ref"": ""F1"",
""address_id_ref"": 2,
""routing_cost"": 288.0
},
{
""hub_id_ref"": ""F1"",
""address_id_ref"": 3,
""routing_cost"": 63.0
},
{
""hub_id_ref"": ""F1"",
""address_id_ref"": 4,
""routing_cost"": 36.0
},
{
""hub_id_ref"": ""F1"",
""address_id_ref"": 5,
""routing_cost"": 56.0
},
{
""hub_id_ref"": ""F2"",
""address_id_ref"": 1,
""routing_cost"": 952.0
},
{
""hub_id_ref"": ""F2"",
""address_id_ref"": 2,
""routing_cost"": 1310.0
},
{
""hub_id_ref"": ""F2"",
""address_id_ref"": 3,
""routing_cost"": 365.0
},
{
""hub_id_ref"": ""F2"",
""address_id_ref"": 4,
""routing_cost"": 690.0
},
{
""hub_id_ref"": ""F2"",
""address_id_ref"": 5,
""routing_cost"": 54.0
}
]
}
Oh, and one more practical thing β€” please give the final plan in this little JSON shape so it's easy to read and check:
{
""solution"": {
""selected"": [<hub_to_open>, <hub_to_open>, ...],
""assignments"": [<assigned_hub>, <assigned_hub>, ...]
}
}
Here ""selected"" is where you list the hubs you decide to power up (use the exact hub IDs from the instance), and ""assignments"" is a list, in customer order, saying which opened hub each address will use. Think of it like filling out a short form: which hubs are on, and for each address which hub handles it. This is just the expected shape β€” not the final choices.
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”, or a capital letter followed by digits like β€œA1” or β€œX7”.""","{'opening_costs': [400.0, 400.0], 'capacities': [300.0, 300.0], 'connection_costs': [[282.0, 288.0, 63.0, 36.0, 56.0], [952.0, 1310.0, 365.0, 690.0, 54.0]], 'demands': [28.0, 23.0, 24.0, 18.0, 27.0], 'objective': 1125.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",1125.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 24.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 282.0}, {'facility': 'F1', 'customer': 2, 'cost': 288.0}, {'facility': 'F1', 'customer': 3, 'cost': 63.0}, {'facility': 'F1', 'customer': 4, 'cost': 36.0}, {'facility': 'F1', 'customer': 5, 'cost': 56.0}, {'facility': 'F2', 'customer': 1, 'cost': 952.0}, {'facility': 'F2', 'customer': 2, 'cost': 1310.0}, {'facility': 'F2', 'customer': 3, 'cost': 365.0}, {'facility': 'F2', 'customer': 4, 'cost': 690.0}, {'facility': 'F2', 'customer': 5, 'cost': 54.0}], 'objective': 1125.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",43,json,1
CFLP,CFLP,"There’s a small town council trying to set up shared garden plots: each plot has an entry fee and can only hold so many people, and each gardener has a different effort cost for working different plots. The decision is which plots to unlock and which single unlocked plot every gardener should be assigned to, while respecting each plot’s capacity limits and making sure everyone is assigned exactly once. The winning layout is the one with the lowest total bill β€” just add the fees for all unlocked plots plus the effort costs for every gardener’s assignment to get the final total. The specific numbers for fees, capacities, and effort are given below.
{
""num_plots"": 4,
""num_gardeners"": 8,
""plots"": [
{
""plot_id"": ""F1"",
""unlock_fee"": 300.0,
""plot_capacity"": 300.0
},
{
""plot_id"": ""F2"",
""unlock_fee"": 300.0,
""plot_capacity"": 300.0
},
{
""plot_id"": ""F3"",
""unlock_fee"": 300.0,
""plot_capacity"": 300.0
},
{
""plot_id"": ""F4"",
""unlock_fee"": 300.0,
""plot_capacity"": 300.0
}
],
""gardeners"": [
{
""gardener_id"": ""A"",
""gardener_demand"": 19.0
},
{
""gardener_id"": ""B"",
""gardener_demand"": 25.0
},
{
""gardener_id"": ""C"",
""gardener_demand"": 23.0
},
{
""gardener_id"": ""D"",
""gardener_demand"": 10.0
},
{
""gardener_id"": ""E"",
""gardener_demand"": 27.0
},
{
""gardener_id"": ""F"",
""gardener_demand"": 11.0
},
{
""gardener_id"": ""G"",
""gardener_demand"": 29.0
},
{
""gardener_id"": ""H"",
""gardener_demand"": 23.0
}
],
""efforts"": [
{
""plot_id"": ""F1"",
""gardener_id"": ""A"",
""effort_cost"": 50.0
},
{
""plot_id"": ""F1"",
""gardener_id"": ""B"",
""effort_cost"": 50.0
},
{
""plot_id"": ""F1"",
""gardener_id"": ""C"",
""effort_cost"": 198.0
},
{
""plot_id"": ""F1"",
""gardener_id"": ""D"",
""effort_cost"": 20.0
},
{
""plot_id"": ""F1"",
""gardener_id"": ""E"",
""effort_cost"": 712.0
},
{
""plot_id"": ""F1"",
""gardener_id"": ""F"",
""effort_cost"": 191.0
},
{
""plot_id"": ""F1"",
""gardener_id"": ""G"",
""effort_cost"": 110.0
},
{
""plot_id"": ""F1"",
""gardener_id"": ""H"",
""effort_cost"": 382.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""A"",
""effort_cost"": 464.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""B"",
""effort_cost"": 564.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""C"",
""effort_cost"": 349.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""D"",
""effort_cost"": 90.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""E"",
""effort_cost"": 1101.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""F"",
""effort_cost"": 23.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""G"",
""effort_cost"": 177.0
},
{
""plot_id"": ""F2"",
""gardener_id"": ""H"",
""effort_cost"": 703.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""A"",
""effort_cost"": 1663.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""B"",
""effort_cost"": 1904.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""C"",
""effort_cost"": 114.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""D"",
""effort_cost"": 595.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""E"",
""effort_cost"": 1343.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""F"",
""effort_cost"": 1367.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""G"",
""effort_cost"": 68.0
},
{
""plot_id"": ""F3"",
""gardener_id"": ""H"",
""effort_cost"": 933.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""A"",
""effort_cost"": 590.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""B"",
""effort_cost"": 790.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""C"",
""effort_cost"": 279.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""D"",
""effort_cost"": 36.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""E"",
""effort_cost"": 1055.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""F"",
""effort_cost"": 247.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""G"",
""effort_cost"": 137.0
},
{
""plot_id"": ""F4"",
""gardener_id"": ""H"",
""effort_cost"": 636.0
}
]
}
Also, when you reply, please follow this little JSON layout so I can read your choices easily β€” nothing fancy, just a tiny form I can parse:
{
""solution"": {
""selected"": [<plot_to_open>, <plot_to_open>, ...],
""assignments"": [<chosen_plot>, <chosen_plot>, ...]
}
}
Think of ""selected"" as the list of garden plots you decide to unlock (one entry per unlocked plot), and ""assignments"" as the single unlocked plot each gardener will be sent to (the i-th entry in that list matches the i-th gardener in the instance). This block is just a sketch of the shape I need, not the actual final answer.
Please be careful to use the exact identifiers from the instance input β€” do not 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”.""","{'opening_costs': [300.0, 300.0, 300.0, 300.0], 'capacities': [300.0, 300.0, 300.0, 300.0], 'connection_costs': [[50.0, 50.0, 198.0, 20.0, 712.0, 191.0, 110.0, 382.0], [464.0, 564.0, 349.0, 90.0, 1101.0, 23.0, 177.0, 703.0], [1663.0, 1904.0, 114.0, 595.0, 1343.0, 1367.0, 68.0, 933.0], [590.0, 790.0, 279.0, 36.0, 1055.0, 247.0, 137.0, 636.0]], 'demands': [19.0, 25.0, 23.0, 10.0, 27.0, 11.0, 29.0, 23.0], 'objective': 2013.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0]}",2013.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 300.0}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 300.0}], 'customers': [{'id': 'A', 'demand': 19.0}, {'id': 'B', 'demand': 25.0}, {'id': 'C', 'demand': 23.0}, {'id': 'D', 'demand': 10.0}, {'id': 'E', 'demand': 27.0}, {'id': 'F', 'demand': 11.0}, {'id': 'G', 'demand': 29.0}, {'id': 'H', 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 50.0}, {'facility': 'F1', 'customer': 'B', 'cost': 50.0}, {'facility': 'F1', 'customer': 'C', 'cost': 198.0}, {'facility': 'F1', 'customer': 'D', 'cost': 20.0}, {'facility': 'F1', 'customer': 'E', 'cost': 712.0}, {'facility': 'F1', 'customer': 'F', 'cost': 191.0}, {'facility': 'F1', 'customer': 'G', 'cost': 110.0}, {'facility': 'F1', 'customer': 'H', 'cost': 382.0}, {'facility': 'F2', 'customer': 'A', 'cost': 464.0}, {'facility': 'F2', 'customer': 'B', 'cost': 564.0}, {'facility': 'F2', 'customer': 'C', 'cost': 349.0}, {'facility': 'F2', 'customer': 'D', 'cost': 90.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1101.0}, {'facility': 'F2', 'customer': 'F', 'cost': 23.0}, {'facility': 'F2', 'customer': 'G', 'cost': 177.0}, {'facility': 'F2', 'customer': 'H', 'cost': 703.0}, {'facility': 'F3', 'customer': 'A', 'cost': 1663.0}, {'facility': 'F3', 'customer': 'B', 'cost': 1904.0}, {'facility': 'F3', 'customer': 'C', 'cost': 114.0}, {'facility': 'F3', 'customer': 'D', 'cost': 595.0}, {'facility': 'F3', 'customer': 'E', 'cost': 1343.0}, {'facility': 'F3', 'customer': 'F', 'cost': 1367.0}, {'facility': 'F3', 'customer': 'G', 'cost': 68.0}, {'facility': 'F3', 'customer': 'H', 'cost': 933.0}, {'facility': 'F4', 'customer': 'A', 'cost': 590.0}, {'facility': 'F4', 'customer': 'B', 'cost': 790.0}, {'facility': 'F4', 'customer': 'C', 'cost': 279.0}, {'facility': 'F4', 'customer': 'D', 'cost': 36.0}, {'facility': 'F4', 'customer': 'E', 'cost': 1055.0}, {'facility': 'F4', 'customer': 'F', 'cost': 247.0}, {'facility': 'F4', 'customer': 'G', 'cost': 137.0}, {'facility': 'F4', 'customer': 'H', 'cost': 636.0}], 'objective': 2013.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",44,json,names
CFLP,CFLP,"Many people don’t see how much thought goes into placing service vans: pick which vans to put into service, then give each service visit to exactly one of those vans, making sure no van is asked to do more than it can. Each van has a cost to deploy and a cap on workload, and every client visit costs travel money. The goal is the plan with the lowest total expense β€” simply add up the deployment costs for the vans used and the travel costs for all visits β€” while covering every request once and not overloading any van. The specific instance information is listed below.
# num_vans=2
# num_requests=5
# VANS
van_id,deployment_cost,van_capacity
F1,400.0,500.0
F2,400.0,500.0
# REQUESTS
request_id,service_demand
A,17.0
B,17.0
C,18.0
D,24.0
E,13.0
# TRAVELS
van_id,request_id,travel_cost
F1,A,301.0
F1,B,102.0
F1,C,38.0
F1,D,506.0
F1,E,58.0
F2,A,34.0
F2,B,697.0
F2,C,62.0
F2,D,143.0
F2,E,162.0
You can just hand the plan back to me in a small JSON snippet like this β€” I find it the easiest way to keep things straight.
{
""solution"": {
""selected"": [<van_to_deploy>, <van_to_deploy>, ...],
""assignments"": [<assigned_van>, <assigned_van>, ...]
}
}
""selected"" is the list of vans you decide to put into service (one entry per van). ""assignments"" is the list of which van handles each client visit (one entry per client, in the same order as the client list). Think of it like a simple form: pick the vans you open, then for each visit say which opened van covers it.
This JSON is just a sketch of the shape I expect, not the final plan itself. Please use the exact identifiers from the instance input when you fill it in β€” 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”.","{'opening_costs': [400.0, 400.0], 'capacities': [500.0, 500.0], 'connection_costs': [[301.0, 102.0, 38.0, 506.0, 58.0], [34.0, 697.0, 62.0, 143.0, 162.0]], 'demands': [17.0, 17.0, 18.0, 24.0, 13.0], 'objective': 1175.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 0, 1, 0]}",1175.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 17.0}, {'id': 'B', 'demand': 17.0}, {'id': 'C', 'demand': 18.0}, {'id': 'D', 'demand': 24.0}, {'id': 'E', 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 301.0}, {'facility': 'F1', 'customer': 'B', 'cost': 102.0}, {'facility': 'F1', 'customer': 'C', 'cost': 38.0}, {'facility': 'F1', 'customer': 'D', 'cost': 506.0}, {'facility': 'F1', 'customer': 'E', 'cost': 58.0}, {'facility': 'F2', 'customer': 'A', 'cost': 34.0}, {'facility': 'F2', 'customer': 'B', 'cost': 697.0}, {'facility': 'F2', 'customer': 'C', 'cost': 62.0}, {'facility': 'F2', 'customer': 'D', 'cost': 143.0}, {'facility': 'F2', 'customer': 'E', 'cost': 162.0}], 'objective': 1175.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F1', 'F2', 'F1']}",45,csv,names
CFLP,CFLP,"At the planning meeting the task was explained plainly: decide which local switching offices to switch on and make sure every subscriber is assigned to one and only one of the switched-on offices, with no office taking more subscribers than its capacity allows. Turning on an office costs money, and linking each subscriber to a particular office has its own cost, so the total cost for any plan is just the sum of the activation charges for opened offices plus all subscriber connection costs β€” the plan should minimize that total. The specific numbers for this instance are provided below.
# num_switching_offices=4
# num_subscribers=8
# OFFICES
office_id,activation_cost,office_capacity
F1,400.0,500.0
F2,400.0,500.0
F3,400.0,500.0
F4,400.0,500.0
# SUBSCRIBERS
subscriber_id,subscriber_demand
A,11.0
B,10.0
C,17.0
D,50.0
E,44.0
F,33.0
G,34.0
H,34.0
# CONNECTIONS
office_id,subscriber_id,connection_cost
F1,A,485.0
F1,B,601.0
F1,C,291.0
F1,D,380.0
F1,E,719.0
F1,F,562.0
F1,G,444.0
F1,H,152.0
F2,A,321.0
F2,B,437.0
F2,C,248.0
F2,D,221.0
F2,E,594.0
F2,F,480.0
F2,G,366.0
F2,H,29.0
F3,A,464.0
F3,B,525.0
F3,C,30.0
F3,D,314.0
F3,E,470.0
F3,F,270.0
F3,G,158.0
F3,H,247.0
F4,A,345.0
F4,B,382.0
F4,C,135.0
F4,D,201.0
F4,E,340.0
F4,F,204.0
F4,G,100.0
F4,H,263.0
Oh, and just so you know how I’d like the answer returned, a handy little JSON sketch is what I’m expecting β€” nothing fancy, just the shape of the response so it’s easy to check and parse.
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<subscriber_chosen_site>, <subscriber_chosen_site>, ...]
}
}
Pretty simple: ""selected"" lists the offices you decide to switch on (their IDs), and ""assignments"" lists, in order, which switched-on office each subscriber is assigned to (by that office’s ID). Think of it like filling out a form: one line for which offices are active, another line saying who connects to which active office.
This JSON is just a sketch of the expected shape β€” not the actual final plan.
Please 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”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [400.0, 400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0, 500.0], 'connection_costs': [[485.0, 601.0, 291.0, 380.0, 719.0, 562.0, 444.0, 152.0], [321.0, 437.0, 248.0, 221.0, 594.0, 480.0, 366.0, 29.0], [464.0, 525.0, 30.0, 314.0, 470.0, 270.0, 158.0, 247.0], [345.0, 382.0, 135.0, 201.0, 340.0, 204.0, 100.0, 263.0]], 'demands': [11.0, 10.0, 17.0, 50.0, 44.0, 33.0, 34.0, 34.0], 'objective': 2370.0}","{'open_facilities': [3], 'assignments': [3, 3, 3, 3, 3, 3, 3, 3]}",2370.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 500.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 11.0}, {'id': 'B', 'demand': 10.0}, {'id': 'C', 'demand': 17.0}, {'id': 'D', 'demand': 50.0}, {'id': 'E', 'demand': 44.0}, {'id': 'F', 'demand': 33.0}, {'id': 'G', 'demand': 34.0}, {'id': 'H', 'demand': 34.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 485.0}, {'facility': 'F1', 'customer': 'B', 'cost': 601.0}, {'facility': 'F1', 'customer': 'C', 'cost': 291.0}, {'facility': 'F1', 'customer': 'D', 'cost': 380.0}, {'facility': 'F1', 'customer': 'E', 'cost': 719.0}, {'facility': 'F1', 'customer': 'F', 'cost': 562.0}, {'facility': 'F1', 'customer': 'G', 'cost': 444.0}, {'facility': 'F1', 'customer': 'H', 'cost': 152.0}, {'facility': 'F2', 'customer': 'A', 'cost': 321.0}, {'facility': 'F2', 'customer': 'B', 'cost': 437.0}, {'facility': 'F2', 'customer': 'C', 'cost': 248.0}, {'facility': 'F2', 'customer': 'D', 'cost': 221.0}, {'facility': 'F2', 'customer': 'E', 'cost': 594.0}, {'facility': 'F2', 'customer': 'F', 'cost': 480.0}, {'facility': 'F2', 'customer': 'G', 'cost': 366.0}, {'facility': 'F2', 'customer': 'H', 'cost': 29.0}, {'facility': 'F3', 'customer': 'A', 'cost': 464.0}, {'facility': 'F3', 'customer': 'B', 'cost': 525.0}, {'facility': 'F3', 'customer': 'C', 'cost': 30.0}, {'facility': 'F3', 'customer': 'D', 'cost': 314.0}, {'facility': 'F3', 'customer': 'E', 'cost': 470.0}, {'facility': 'F3', 'customer': 'F', 'cost': 270.0}, {'facility': 'F3', 'customer': 'G', 'cost': 158.0}, {'facility': 'F3', 'customer': 'H', 'cost': 247.0}, {'facility': 'F4', 'customer': 'A', 'cost': 345.0}, {'facility': 'F4', 'customer': 'B', 'cost': 382.0}, {'facility': 'F4', 'customer': 'C', 'cost': 135.0}, {'facility': 'F4', 'customer': 'D', 'cost': 201.0}, {'facility': 'F4', 'customer': 'E', 'cost': 340.0}, {'facility': 'F4', 'customer': 'F', 'cost': 204.0}, {'facility': 'F4', 'customer': 'G', 'cost': 100.0}, {'facility': 'F4', 'customer': 'H', 'cost': 263.0}], 'objective': 2370.0}","{'selected': ['F4'], 'assignments': ['F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4']}",46,csv,names
CFLP,CFLP,"Many people are coordinating a distribution effort, and the basic question is which service centers to activate and how to assign each beneficiary to one active center without exceeding any center’s capacity. The sensible outcome is the one with the lowest combined expense β€” the total you get when you add the opening fees for the centers in use to all the individual serving costs. Numbers and specifics come right below.
# num_centers=2
# num_beneficiaries=5
# CENTERS
center_id,center_opening_cost,center_capacity
F1,300.0,700.0
F2,300.0,700.0
# BENEFICIARYS
beneficiary_id,beneficiary_need
A,20.0
B,22.0
C,19.0
D,19.0
E,27.0
# SERVICES
center_id,beneficiary_id,service_cost
F1,A,74.0
F1,B,49.0
F1,C,142.0
F1,D,217.0
F1,E,156.0
F2,A,347.0
F2,B,815.0
F2,C,455.0
F2,D,711.0
F2,E,1153.0
When you're ready to send back the decisions, just stick to this simple JSON shape so it's easy to read and check:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
""selected"" is the list of centers you'll activate. ""assignments"" is the chosen active center for each beneficiary (one entry per beneficiary, in the same order as the input). Think of it like filling out a short form: which sites are on, and for each person, which open site they're assigned to.
This is just a sketch of the expected shape, not the actual answer.
Please use the exact identifiers from the instance input β€” don't rename them and don't invent new labels. Valid identifiers look like plain numbers such as β€œ1” or β€œ23”, single capital letters like β€œA” or β€œB”, or a capital letter followed by digits like β€œA1” or β€œX7”.","{'opening_costs': [300.0, 300.0], 'capacities': [700.0, 700.0], 'connection_costs': [[74.0, 49.0, 142.0, 217.0, 156.0], [347.0, 815.0, 455.0, 711.0, 1153.0]], 'demands': [20.0, 22.0, 19.0, 19.0, 27.0], 'objective': 938.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0]}",938.0,"{'problem_type': 'CFLP', 'num_facilities': 2, 'num_customers': 5, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 20.0}, {'id': 'B', 'demand': 22.0}, {'id': 'C', 'demand': 19.0}, {'id': 'D', 'demand': 19.0}, {'id': 'E', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 74.0}, {'facility': 'F1', 'customer': 'B', 'cost': 49.0}, {'facility': 'F1', 'customer': 'C', 'cost': 142.0}, {'facility': 'F1', 'customer': 'D', 'cost': 217.0}, {'facility': 'F1', 'customer': 'E', 'cost': 156.0}, {'facility': 'F2', 'customer': 'A', 'cost': 347.0}, {'facility': 'F2', 'customer': 'B', 'cost': 815.0}, {'facility': 'F2', 'customer': 'C', 'cost': 455.0}, {'facility': 'F2', 'customer': 'D', 'cost': 711.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1153.0}], 'objective': 938.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1']}",47,csv,names
CFLP,CFLP,"At the dorm office the decision is to keep some laundry rooms open and close others, then assign each dormitory to exactly one of the rooms that remain open. Each machine room has a finite capacity, so assignments must fit within those limits. The way to judge plans is straightforward: total cost β€” tally up the operating costs for the chosen laundry rooms plus the travel or usage cost for every dorm’s assignment, and prefer the arrangement with the lowest combined total. No dorm can be left out or sent to more than one place. The particular figures are shown below.
# num_laundry_rooms=3
# num_dormitories=7
# LAUNDRY_ROOMS
laundry_room_id,operating_cost,laundry_capacity
F1,400.0,700.0
F2,400.0,700.0
F3,400.0,700.0
# DORMS
dorm_id,dorm_demand
1,15.0
2,16.0
3,12.0
4,27.0
5,23.0
6,11.0
7,23.0
# ASSIGNMENTS
laundry_room_id,dorm_id,assignment_cost
F1,1,72.0
F1,2,408.0
F1,3,266.0
F1,4,551.0
F1,5,474.0
F1,6,459.0
F1,7,156.0
F2,1,339.0
F2,2,80.0
F2,3,31.0
F2,4,176.0
F2,5,136.0
F2,6,86.0
F2,7,611.0
F3,1,69.0
F3,2,901.0
F3,3,817.0
F3,4,1064.0
F3,5,946.0
F3,6,1002.0
F3,7,147.0
If you want to send back a plan, just stick to this simple JSON shape so I can read it easily.
{
""solution"": {
""selected"": [<room_to_open>, <room_to_open>, ...],
""assignments"": [<chosen_open_room>, <chosen_open_room>, ...]
}
}
Think of ""selected"" as the list of laundry rooms you decide to keep running, and ""assignments"" as, for each dorm in the same order they were given, which open room that dorm will use. This is just a sketch of the expected shape β€” not the actual answer.
Please make sure to use the exact identifiers from the instance input (do not 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”"".","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [700.0, 700.0, 700.0], 'connection_costs': [[72.0, 408.0, 266.0, 551.0, 474.0, 459.0, 156.0], [339.0, 80.0, 31.0, 176.0, 136.0, 86.0, 611.0], [69.0, 901.0, 817.0, 1064.0, 946.0, 1002.0, 147.0]], 'demands': [15.0, 16.0, 12.0, 27.0, 23.0, 11.0, 23.0], 'objective': 1525.0}","{'open_facilities': [1, 2], 'assignments': [2, 1, 1, 1, 1, 1, 2]}",1525.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 15.0}, {'id': 2, 'demand': 16.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 23.0}, {'id': 6, 'demand': 11.0}, {'id': 7, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 72.0}, {'facility': 'F1', 'customer': 2, 'cost': 408.0}, {'facility': 'F1', 'customer': 3, 'cost': 266.0}, {'facility': 'F1', 'customer': 4, 'cost': 551.0}, {'facility': 'F1', 'customer': 5, 'cost': 474.0}, {'facility': 'F1', 'customer': 6, 'cost': 459.0}, {'facility': 'F1', 'customer': 7, 'cost': 156.0}, {'facility': 'F2', 'customer': 1, 'cost': 339.0}, {'facility': 'F2', 'customer': 2, 'cost': 80.0}, {'facility': 'F2', 'customer': 3, 'cost': 31.0}, {'facility': 'F2', 'customer': 4, 'cost': 176.0}, {'facility': 'F2', 'customer': 5, 'cost': 136.0}, {'facility': 'F2', 'customer': 6, 'cost': 86.0}, {'facility': 'F2', 'customer': 7, 'cost': 611.0}, {'facility': 'F3', 'customer': 1, 'cost': 69.0}, {'facility': 'F3', 'customer': 2, 'cost': 901.0}, {'facility': 'F3', 'customer': 3, 'cost': 817.0}, {'facility': 'F3', 'customer': 4, 'cost': 1064.0}, {'facility': 'F3', 'customer': 5, 'cost': 946.0}, {'facility': 'F3', 'customer': 6, 'cost': 1002.0}, {'facility': 'F3', 'customer': 7, 'cost': 147.0}], 'objective': 1525.0}","{'selected': ['F2', 'F3'], 'assignments': ['F3', 'F2', 'F2', 'F2', 'F2', 'F2', 'F3']}",48,csv,1
CFLP,CFLP,"We’re playing the role of a planning team deciding which local library sites to activate and how to send each neighborhood to a single branch. Opening a site costs money and each one can only handle so many people; sending a neighborhood to a branch adds a travel cost. The score for any arrangement is simply the sum of the opening costs and all the travel costs, and the aim is to keep that sum as small as we can while making sure every neighborhood is served by exactly one open branch and no branch is overloaded. The specific numbers will be listed below.
There are 3 branchs and 7 neighborhoods in this instance.
**Branchs**
| branch_id | branch_opening_cost | branch_capacity |
|---|---|---|
| F1 | 400.0 | 1500.0 |
| F2 | 400.0 | 1500.0 |
| F3 | 400.0 | 1500.0 |
**Neighborhoods**
| neighborhood_id | neighborhood_patrons |
|---|---|
| 0 | 11.0 |
| 1 | 17.0 |
| 2 | 50.0 |
| 3 | 44.0 |
| 4 | 25.0 |
| 5 | 32.0 |
| 6 | 26.0 |
**Travel Cost**
| branch_id | neighborhood_id | travel_cost |
|---|---|---|
| F1 | 0 | 417.0 |
| F1 | 1 | 149.0 |
| F1 | 2 | 128.0 |
| F1 | 3 | 400.0 |
| F1 | 4 | 273.0 |
| F1 | 5 | 645.0 |
| F1 | 6 | 596.0 |
| F2 | 0 | 285.0 |
| F2 | 1 | 511.0 |
| F2 | 2 | 473.0 |
| F2 | 3 | 555.0 |
| F2 | 4 | 88.0 |
| F2 | 5 | 877.0 |
| F2 | 6 | 561.0 |
| F3 | 0 | 593.0 |
| F3 | 1 | 229.0 |
| F3 | 2 | 213.0 |
| F3 | 3 | 326.0 |
| F3 | 4 | 585.0 |
| F3 | 5 | 372.0 |
| F3 | 6 | 623.0 |
Also, when you send back a plan, use this simple JSON layout so everything’s easy to read and check:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
""selected"" is just the list of library sites we choose to open. ""assignments"" lists, in the same order as the neighborhoods appear in the instance, which open site each neighborhood goes to. Think of it like a short form: which branches we flip on, and for each neighborhood which branch it uses.
This JSON is only a sketch of the shape I need β€” not the filled-in answer yet. Please make sure to 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”.""","{'opening_costs': [400.0, 400.0, 400.0], 'capacities': [1500.0, 1500.0, 1500.0], 'connection_costs': [[417.0, 149.0, 128.0, 400.0, 273.0, 645.0, 596.0], [285.0, 511.0, 473.0, 555.0, 88.0, 877.0, 561.0], [593.0, 229.0, 213.0, 326.0, 585.0, 372.0, 623.0]], 'demands': [11.0, 17.0, 50.0, 44.0, 25.0, 32.0, 26.0], 'objective': 2874.0}","{'open_facilities': [1, 2], 'assignments': [1, 2, 2, 2, 1, 2, 1]}",2874.0,"{'problem_type': 'CFLP', 'num_facilities': 3, 'num_customers': 7, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1500.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 50.0}, {'id': 3, 'demand': 44.0}, {'id': 4, 'demand': 25.0}, {'id': 5, 'demand': 32.0}, {'id': 6, 'demand': 26.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 417.0}, {'facility': 'F1', 'customer': 1, 'cost': 149.0}, {'facility': 'F1', 'customer': 2, 'cost': 128.0}, {'facility': 'F1', 'customer': 3, 'cost': 400.0}, {'facility': 'F1', 'customer': 4, 'cost': 273.0}, {'facility': 'F1', 'customer': 5, 'cost': 645.0}, {'facility': 'F1', 'customer': 6, 'cost': 596.0}, {'facility': 'F2', 'customer': 0, 'cost': 285.0}, {'facility': 'F2', 'customer': 1, 'cost': 511.0}, {'facility': 'F2', 'customer': 2, 'cost': 473.0}, {'facility': 'F2', 'customer': 3, 'cost': 555.0}, {'facility': 'F2', 'customer': 4, 'cost': 88.0}, {'facility': 'F2', 'customer': 5, 'cost': 877.0}, {'facility': 'F2', 'customer': 6, 'cost': 561.0}, {'facility': 'F3', 'customer': 0, 'cost': 593.0}, {'facility': 'F3', 'customer': 1, 'cost': 229.0}, {'facility': 'F3', 'customer': 2, 'cost': 213.0}, {'facility': 'F3', 'customer': 3, 'cost': 326.0}, {'facility': 'F3', 'customer': 4, 'cost': 585.0}, {'facility': 'F3', 'customer': 5, 'cost': 372.0}, {'facility': 'F3', 'customer': 6, 'cost': 623.0}], 'objective': 2874.0}","{'selected': ['F2', 'F3'], 'assignments': ['F2', 'F3', 'F3', 'F3', 'F2', 'F3', 'F2']}",49,markdown_table,0
CFLP,CFLP,"Picture this: a grocery chain choosing which branches to run for the season and then lining up every household to a single running branch. Each branch that’s kept open comes with an opening expense, and serving each household from a branch adds a travel or delivery cost β€” so the sensible thing is to pick stores and assignments that make the total bill (opening fees plus all travel costs) as small as possible. At the same time, every household must be assigned to one branch only, and no branch can exceed its stocking capacity. The exact store choices and household details appear below.
There are 4 stores and 8 households in this instance.
**Stores**
| store_id | store_opening_cost | stocking_capacity |
|---|---|---|
| F1 | 225.0 | 504.0 |
| F2 | 310.0 | 580.0 |
| F3 | 179.0 | 549.0 |
| F4 | 321.0 | 316.0 |
**Households**
| household_id | household_demand |
|---|---|
| A | 40.0 |
| B | 18.0 |
| C | 13.0 |
| D | 31.0 |
| E | 33.0 |
| F | 26.0 |
| G | 20.0 |
| H | 27.0 |
**Travel Cost**
| store_id | household_id | travel_cost |
|---|---|---|
| F1 | A | 474.0 |
| F1 | B | 179.0 |
| F1 | C | 603.0 |
| F1 | D | 451.0 |
| F1 | E | 428.0 |
| F1 | F | 451.0 |
| F1 | G | 241.0 |
| F1 | H | 414.0 |
| F2 | A | 349.0 |
| F2 | B | 694.0 |
| F2 | C | 73.0 |
| F2 | D | 576.0 |
| F2 | E | 108.0 |
| F2 | F | 256.0 |
| F2 | G | 432.0 |
| F2 | H | 235.0 |
| F3 | A | 540.0 |
| F3 | B | 850.0 |
| F3 | C | 186.0 |
| F3 | D | 587.0 |
| F3 | E | 274.0 |
| F3 | F | 276.0 |
| F3 | G | 518.0 |
| F3 | H | 428.0 |
| F4 | A | 240.0 |
| F4 | B | 746.0 |
| F4 | C | 183.0 |
| F4 | D | 774.0 |
| F4 | E | 268.0 |
| F4 | F | 467.0 |
| F4 | G | 595.0 |
| F4 | H | 213.0 |
Also, when you send back your pick and the household line-up, please follow this simple JSON layout so it's easy to read and check:
{
""solution"": {
""selected"": [<site_to_open>, <site_to_open>, ...],
""assignments"": [<chosen_open_site>, <chosen_open_site>, ...]
}
}
Think of ""selected"" as the list of branches you decide to keep open, and ""assignments"" as the list that, in order, tells which open branch each household is assigned to (one entry per household). Super informal sketch β€” it's just the shape I need, not the real answer itself.
Please use the exact identifiers from the instance input β€” no renaming, no made-up 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”.""","{'opening_costs': [225.0, 310.0, 179.0, 321.0], 'capacities': [504.0, 580.0, 549.0, 316.0], 'connection_costs': [[474.0, 179.0, 603.0, 451.0, 428.0, 451.0, 241.0, 414.0], [349.0, 694.0, 73.0, 576.0, 108.0, 256.0, 432.0, 235.0], [540.0, 850.0, 186.0, 587.0, 274.0, 276.0, 518.0, 428.0], [240.0, 746.0, 183.0, 774.0, 268.0, 467.0, 595.0, 213.0]], 'demands': [40.0, 18.0, 13.0, 31.0, 33.0, 26.0, 20.0, 27.0], 'objective': 2427.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 1, 0, 1, 1, 0, 1]}",2427.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 8, 'facilities': [{'id': 'F1', 'opening_cost': 225.0, 'capacity': 504.0}, {'id': 'F2', 'opening_cost': 310.0, 'capacity': 580.0}, {'id': 'F3', 'opening_cost': 179.0, 'capacity': 549.0}, {'id': 'F4', 'opening_cost': 321.0, 'capacity': 316.0}], 'customers': [{'id': 'A', 'demand': 40.0}, {'id': 'B', 'demand': 18.0}, {'id': 'C', 'demand': 13.0}, {'id': 'D', 'demand': 31.0}, {'id': 'E', 'demand': 33.0}, {'id': 'F', 'demand': 26.0}, {'id': 'G', 'demand': 20.0}, {'id': 'H', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 474.0}, {'facility': 'F1', 'customer': 'B', 'cost': 179.0}, {'facility': 'F1', 'customer': 'C', 'cost': 603.0}, {'facility': 'F1', 'customer': 'D', 'cost': 451.0}, {'facility': 'F1', 'customer': 'E', 'cost': 428.0}, {'facility': 'F1', 'customer': 'F', 'cost': 451.0}, {'facility': 'F1', 'customer': 'G', 'cost': 241.0}, {'facility': 'F1', 'customer': 'H', 'cost': 414.0}, {'facility': 'F2', 'customer': 'A', 'cost': 349.0}, {'facility': 'F2', 'customer': 'B', 'cost': 694.0}, {'facility': 'F2', 'customer': 'C', 'cost': 73.0}, {'facility': 'F2', 'customer': 'D', 'cost': 576.0}, {'facility': 'F2', 'customer': 'E', 'cost': 108.0}, {'facility': 'F2', 'customer': 'F', 'cost': 256.0}, {'facility': 'F2', 'customer': 'G', 'cost': 432.0}, {'facility': 'F2', 'customer': 'H', 'cost': 235.0}, {'facility': 'F3', 'customer': 'A', 'cost': 540.0}, {'facility': 'F3', 'customer': 'B', 'cost': 850.0}, {'facility': 'F3', 'customer': 'C', 'cost': 186.0}, {'facility': 'F3', 'customer': 'D', 'cost': 587.0}, {'facility': 'F3', 'customer': 'E', 'cost': 274.0}, {'facility': 'F3', 'customer': 'F', 'cost': 276.0}, {'facility': 'F3', 'customer': 'G', 'cost': 518.0}, {'facility': 'F3', 'customer': 'H', 'cost': 428.0}, {'facility': 'F4', 'customer': 'A', 'cost': 240.0}, {'facility': 'F4', 'customer': 'B', 'cost': 746.0}, {'facility': 'F4', 'customer': 'C', 'cost': 183.0}, {'facility': 'F4', 'customer': 'D', 'cost': 774.0}, {'facility': 'F4', 'customer': 'E', 'cost': 268.0}, {'facility': 'F4', 'customer': 'F', 'cost': 467.0}, {'facility': 'F4', 'customer': 'G', 'cost': 595.0}, {'facility': 'F4', 'customer': 'H', 'cost': 213.0}], 'objective': 2427.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F2', 'F1', 'F2', 'F2', 'F1', 'F2']}",50,markdown_table,names