| task_name,problem_type,instruction,instance,solution,obj,instance_variant,solution_variant,context_index,input_format,input_index_base |
| CFLP,CFLP, |
|
|
| { |
| ""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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| { |
| ""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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| { |
| ""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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| { |
| ""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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| { |
| ""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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| # 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
| CFLP,CFLP, |
|
|
| 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']} |
|
|