| task_name,problem_type,instruction,instance,solution,obj,instance_variant,solution_variant,context_index,input_format,input_index_base | |
| CFLP,CFLP,"Recently the city revisited its pickup plan: decide which transfer stations should be in operation and for every block pick a single active station that will collect its rubbish. No station can be given more than it can deal with, and every block must be assigned to exactly one open station. What counts as a better plan is a lower overall expense β add up the startup cost of every station that gets switched on and the hauling cost for every blockβs trip to its station; the total should be as small as possible. The exact figures and options are shown underneath. | |
| There are 6 candidate transfer stations and 13 city blocks; the following lines list their parameters and pairwise haul costs. | |
| Transfer station F1 has startup cost 400.0 and handling capacity 300.0. | |
| Transfer station F2 has startup cost 400.0 and handling capacity 300.0. | |
| Transfer station F3 has startup cost 400.0 and handling capacity 300.0. | |
| Transfer station F4 has startup cost 400.0 and handling capacity 300.0. | |
| Transfer station F5 has startup cost 400.0 and handling capacity 300.0. | |
| Transfer station F6 has startup cost 400.0 and handling capacity 300.0. | |
| Block 0 generates 25.0 units of waste. | |
| Block 1 generates 28.0 units of waste. | |
| Block 2 generates 19.0 units of waste. | |
| Block 3 generates 11.0 units of waste. | |
| Block 4 generates 12.0 units of waste. | |
| Block 5 generates 14.0 units of waste. | |
| Block 6 generates 24.0 units of waste. | |
| Block 7 generates 24.0 units of waste. | |
| Block 8 generates 18.0 units of waste. | |
| Block 9 generates 13.0 units of waste. | |
| Block 10 generates 16.0 units of waste. | |
| Block 11 generates 18.0 units of waste. | |
| Block 12 generates 25.0 units of waste. | |
| Haul cost from station F1 to block 0 is 71.0. | |
| Haul cost from station F1 to block 1 is 81.0. | |
| Haul cost from station F1 to block 2 is 197.0. | |
| Haul cost from station F1 to block 3 is 22.0. | |
| Haul cost from station F1 to block 4 is 43.0. | |
| Haul cost from station F1 to block 5 is 145.0. | |
| Haul cost from station F1 to block 6 is 339.0. | |
| Haul cost from station F1 to block 7 is 49.0. | |
| Haul cost from station F1 to block 8 is 46.0. | |
| Haul cost from station F1 to block 9 is 151.0. | |
| Haul cost from station F1 to block 10 is 81.0. | |
| Haul cost from station F1 to block 11 is 146.0. | |
| Haul cost from station F1 to block 12 is 239.0. | |
| Haul cost from station F2 to block 0 is 1087.0. | |
| Haul cost from station F2 to block 1 is 260.0. | |
| Haul cost from station F2 to block 2 is 1185.0. | |
| Haul cost from station F2 to block 3 is 1542.0. | |
| Haul cost from station F2 to block 4 is 269.0. | |
| Haul cost from station F2 to block 5 is 1287.0. | |
| Haul cost from station F2 to block 6 is 438.0. | |
| Haul cost from station F2 to block 7 is 671.0. | |
| Haul cost from station F2 to block 8 is 1086.0. | |
| Haul cost from station F2 to block 9 is 475.0. | |
| Haul cost from station F2 to block 10 is 1305.0. | |
| Haul cost from station F2 to block 11 is 1944.0. | |
| Haul cost from station F2 to block 12 is 1284.0. | |
| Haul cost from station F3 to block 0 is 285.0. | |
| Haul cost from station F3 to block 1 is 56.0. | |
| Haul cost from station F3 to block 2 is 131.0. | |
| Haul cost from station F3 to block 3 is 448.0. | |
| Haul cost from station F3 to block 4 is 99.0. | |
| Haul cost from station F3 to block 5 is 112.0. | |
| Haul cost from station F3 to block 6 is 261.0. | |
| Haul cost from station F3 to block 7 is 87.0. | |
| Haul cost from station F3 to block 8 is 242.0. | |
| Haul cost from station F3 to block 9 is 79.0. | |
| Haul cost from station F3 to block 10 is 415.0. | |
| Haul cost from station F3 to block 11 is 769.0. | |
| Haul cost from station F3 to block 12 is 203.0. | |
| Haul cost from station F4 to block 0 is 1241.0. | |
| Haul cost from station F4 to block 1 is 439.0. | |
| Haul cost from station F4 to block 2 is 1167.0. | |
| Haul cost from station F4 to block 3 is 1631.0. | |
| Haul cost from station F4 to block 4 is 472.0. | |
| Haul cost from station F4 to block 5 is 1297.0. | |
| Haul cost from station F4 to block 6 is 48.0. | |
| Haul cost from station F4 to block 7 is 825.0. | |
| Haul cost from station F4 to block 8 is 1229.0. | |
| Haul cost from station F4 to block 9 is 458.0. | |
| Haul cost from station F4 to block 10 is 1453.0. | |
| Haul cost from station F4 to block 11 is 1986.0. | |
| Haul cost from station F4 to block 12 is 1255.0. | |
| Haul cost from station F5 to block 0 is 110.0. | |
| Haul cost from station F5 to block 1 is 78.0. | |
| Haul cost from station F5 to block 2 is 269.0. | |
| Haul cost from station F5 to block 3 is 180.0. | |
| Haul cost from station F5 to block 4 is 51.0. | |
| Haul cost from station F5 to block 5 is 228.0. | |
| Haul cost from station F5 to block 6 is 353.0. | |
| Haul cost from station F5 to block 7 is 48.0. | |
| Haul cost from station F5 to block 8 is 72.0. | |
| Haul cost from station F5 to block 9 is 162.0. | |
| Haul cost from station F5 to block 10 is 178.0. | |
| Haul cost from station F5 to block 11 is 602.0. | |
| Haul cost from station F5 to block 12 is 334.0. | |
| Haul cost from station F6 to block 0 is 1136.0. | |
| Haul cost from station F6 to block 1 is 330.0. | |
| Haul cost from station F6 to block 2 is 1105.0. | |
| Haul cost from station F6 to block 3 is 1541.0. | |
| Haul cost from station F6 to block 4 is 380.0. | |
| Haul cost from station F6 to block 5 is 1228.0. | |
| Haul cost from station F6 to block 6 is 192.0. | |
| Haul cost from station F6 to block 7 is 718.0. | |
| Haul cost from station F6 to block 8 is 1126.0. | |
| Haul cost from station F6 to block 9 is 374.0. | |
| Haul cost from station F6 to block 10 is 1350.0. | |
| Haul cost from station F6 to block 11 is 1911.0. | |
| Haul cost from station F6 to block 12 is 1198.0. | |
| Use these figures to pick the set of stations to open and assign each block so the total startup plus hauling cost is minimized. | |
| 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': [400.0, 400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [300.0, 300.0, 300.0, 300.0, 300.0, 300.0], 'connection_costs': [[71.0, 81.0, 197.0, 22.0, 43.0, 145.0, 339.0, 49.0, 46.0, 151.0, 81.0, 146.0, 239.0], [1087.0, 260.0, 1185.0, 1542.0, 269.0, 1287.0, 438.0, 671.0, 1086.0, 475.0, 1305.0, 1944.0, 1284.0], [285.0, 56.0, 131.0, 448.0, 99.0, 112.0, 261.0, 87.0, 242.0, 79.0, 415.0, 769.0, 203.0], [1241.0, 439.0, 1167.0, 1631.0, 472.0, 1297.0, 48.0, 825.0, 1229.0, 458.0, 1453.0, 1986.0, 1255.0], [110.0, 78.0, 269.0, 180.0, 51.0, 228.0, 353.0, 48.0, 72.0, 162.0, 178.0, 602.0, 334.0], [1136.0, 330.0, 1105.0, 1541.0, 380.0, 1228.0, 192.0, 718.0, 1126.0, 374.0, 1350.0, 1911.0, 1198.0]], 'demands': [25.0, 28.0, 19.0, 11.0, 12.0, 14.0, 24.0, 24.0, 18.0, 13.0, 16.0, 18.0, 25.0], 'objective': 2010.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}",2010.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 13, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F6', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 25.0}, {'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 19.0}, {'id': 3, 'demand': 11.0}, {'id': 4, 'demand': 12.0}, {'id': 5, 'demand': 14.0}, {'id': 6, 'demand': 24.0}, {'id': 7, 'demand': 24.0}, {'id': 8, 'demand': 18.0}, {'id': 9, 'demand': 13.0}, {'id': 10, 'demand': 16.0}, {'id': 11, 'demand': 18.0}, {'id': 12, 'demand': 25.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 71.0}, {'facility': 'F1', 'customer': 1, 'cost': 81.0}, {'facility': 'F1', 'customer': 2, 'cost': 197.0}, {'facility': 'F1', 'customer': 3, 'cost': 22.0}, {'facility': 'F1', 'customer': 4, 'cost': 43.0}, {'facility': 'F1', 'customer': 5, 'cost': 145.0}, {'facility': 'F1', 'customer': 6, 'cost': 339.0}, {'facility': 'F1', 'customer': 7, 'cost': 49.0}, {'facility': 'F1', 'customer': 8, 'cost': 46.0}, {'facility': 'F1', 'customer': 9, 'cost': 151.0}, {'facility': 'F1', 'customer': 10, 'cost': 81.0}, {'facility': 'F1', 'customer': 11, 'cost': 146.0}, {'facility': 'F1', 'customer': 12, 'cost': 239.0}, {'facility': 'F2', 'customer': 0, 'cost': 1087.0}, {'facility': 'F2', 'customer': 1, 'cost': 260.0}, {'facility': 'F2', 'customer': 2, 'cost': 1185.0}, {'facility': 'F2', 'customer': 3, 'cost': 1542.0}, {'facility': 'F2', 'customer': 4, 'cost': 269.0}, {'facility': 'F2', 'customer': 5, 'cost': 1287.0}, {'facility': 'F2', 'customer': 6, 'cost': 438.0}, {'facility': 'F2', 'customer': 7, 'cost': 671.0}, {'facility': 'F2', 'customer': 8, 'cost': 1086.0}, {'facility': 'F2', 'customer': 9, 'cost': 475.0}, {'facility': 'F2', 'customer': 10, 'cost': 1305.0}, {'facility': 'F2', 'customer': 11, 'cost': 1944.0}, {'facility': 'F2', 'customer': 12, 'cost': 1284.0}, {'facility': 'F3', 'customer': 0, 'cost': 285.0}, {'facility': 'F3', 'customer': 1, 'cost': 56.0}, {'facility': 'F3', 'customer': 2, 'cost': 131.0}, {'facility': 'F3', 'customer': 3, 'cost': 448.0}, {'facility': 'F3', 'customer': 4, 'cost': 99.0}, {'facility': 'F3', 'customer': 5, 'cost': 112.0}, {'facility': 'F3', 'customer': 6, 'cost': 261.0}, {'facility': 'F3', 'customer': 7, 'cost': 87.0}, {'facility': 'F3', 'customer': 8, 'cost': 242.0}, {'facility': 'F3', 'customer': 9, 'cost': 79.0}, {'facility': 'F3', 'customer': 10, 'cost': 415.0}, {'facility': 'F3', 'customer': 11, 'cost': 769.0}, {'facility': 'F3', 'customer': 12, 'cost': 203.0}, {'facility': 'F4', 'customer': 0, 'cost': 1241.0}, {'facility': 'F4', 'customer': 1, 'cost': 439.0}, {'facility': 'F4', 'customer': 2, 'cost': 1167.0}, {'facility': 'F4', 'customer': 3, 'cost': 1631.0}, {'facility': 'F4', 'customer': 4, 'cost': 472.0}, {'facility': 'F4', 'customer': 5, 'cost': 1297.0}, {'facility': 'F4', 'customer': 6, 'cost': 48.0}, {'facility': 'F4', 'customer': 7, 'cost': 825.0}, {'facility': 'F4', 'customer': 8, 'cost': 1229.0}, {'facility': 'F4', 'customer': 9, 'cost': 458.0}, {'facility': 'F4', 'customer': 10, 'cost': 1453.0}, {'facility': 'F4', 'customer': 11, 'cost': 1986.0}, {'facility': 'F4', 'customer': 12, 'cost': 1255.0}, {'facility': 'F5', 'customer': 0, 'cost': 110.0}, {'facility': 'F5', 'customer': 1, 'cost': 78.0}, {'facility': 'F5', 'customer': 2, 'cost': 269.0}, {'facility': 'F5', 'customer': 3, 'cost': 180.0}, {'facility': 'F5', 'customer': 4, 'cost': 51.0}, {'facility': 'F5', 'customer': 5, 'cost': 228.0}, {'facility': 'F5', 'customer': 6, 'cost': 353.0}, {'facility': 'F5', 'customer': 7, 'cost': 48.0}, {'facility': 'F5', 'customer': 8, 'cost': 72.0}, {'facility': 'F5', 'customer': 9, 'cost': 162.0}, {'facility': 'F5', 'customer': 10, 'cost': 178.0}, {'facility': 'F5', 'customer': 11, 'cost': 602.0}, {'facility': 'F5', 'customer': 12, 'cost': 334.0}, {'facility': 'F6', 'customer': 0, 'cost': 1136.0}, {'facility': 'F6', 'customer': 1, 'cost': 330.0}, {'facility': 'F6', 'customer': 2, 'cost': 1105.0}, {'facility': 'F6', 'customer': 3, 'cost': 1541.0}, {'facility': 'F6', 'customer': 4, 'cost': 380.0}, {'facility': 'F6', 'customer': 5, 'cost': 1228.0}, {'facility': 'F6', 'customer': 6, 'cost': 192.0}, {'facility': 'F6', 'customer': 7, 'cost': 718.0}, {'facility': 'F6', 'customer': 8, 'cost': 1126.0}, {'facility': 'F6', 'customer': 9, 'cost': 374.0}, {'facility': 'F6', 'customer': 10, 'cost': 1350.0}, {'facility': 'F6', 'customer': 11, 'cost': 1911.0}, {'facility': 'F6', 'customer': 12, 'cost': 1198.0}], 'objective': 2010.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",1,nl,0 | |
| 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. | |
| There are 4 depots and 10 stores in this instance. | |
| **Depots** | |
| | depot_id | activation_fee | handling_capacity | | |
| |---|---|---| | |
| | F1 | 300.0 | 384.0 | | |
| | F2 | 300.0 | 494.0 | | |
| | F3 | 300.0 | 427.0 | | |
| | F4 | 300.0 | 430.0 | | |
| **Stores** | |
| | store_id | store_demand | | |
| |---|---| | |
| | A | 12.0 | | |
| | B | 20.0 | | |
| | C | 18.0 | | |
| | D | 19.0 | | |
| | E | 26.0 | | |
| | F | 13.0 | | |
| | G | 28.0 | | |
| | H | 20.0 | | |
| | I | 23.0 | | |
| | J | 19.0 | | |
| **Delivery Cost** | |
| | depot_id | store_id | delivery_cost | | |
| |---|---|---| | |
| | F1 | A | 127.0 | | |
| | F1 | B | 43.0 | | |
| | F1 | C | 390.0 | | |
| | F1 | D | 755.0 | | |
| | F1 | E | 201.0 | | |
| | F1 | F | 574.0 | | |
| | F1 | G | 67.0 | | |
| | F1 | H | 546.0 | | |
| | F1 | I | 293.0 | | |
| | F1 | J | 133.0 | | |
| | F2 | A | 261.0 | | |
| | F2 | B | 159.0 | | |
| | F2 | C | 822.0 | | |
| | F2 | D | 1486.0 | | |
| | F2 | E | 475.0 | | |
| | F2 | F | 1086.0 | | |
| | F2 | G | 666.0 | | |
| | F2 | H | 653.0 | | |
| | F2 | I | 474.0 | | |
| | F2 | J | 302.0 | | |
| | F3 | A | 257.0 | | |
| | F3 | B | 132.0 | | |
| | F3 | C | 56.0 | | |
| | F3 | D | 323.0 | | |
| | F3 | E | 372.0 | | |
| | F3 | F | 778.0 | | |
| | F3 | G | 243.0 | | |
| | F3 | H | 299.0 | | |
| | F3 | I | 86.0 | | |
| | F3 | J | 274.0 | | |
| | F4 | A | 865.0 | | |
| | F4 | B | 1048.0 | | |
| | F4 | C | 1665.0 | | |
| | F4 | D | 2409.0 | | |
| | F4 | E | 1236.0 | | |
| | F4 | F | 1896.0 | | |
| | F4 | G | 1612.0 | | |
| | F4 | H | 1048.0 | | |
| | F4 | I | 1176.0 | | |
| | F4 | J | 990.0 | | |
| 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': [300.0, 300.0, 300.0, 300.0], 'capacities': [384.0, 494.0, 427.0, 430.0], 'connection_costs': [[127.0, 43.0, 390.0, 755.0, 201.0, 574.0, 67.0, 546.0, 293.0, 133.0], [261.0, 159.0, 822.0, 1486.0, 475.0, 1086.0, 666.0, 653.0, 474.0, 302.0], [257.0, 132.0, 56.0, 323.0, 372.0, 778.0, 243.0, 299.0, 86.0, 274.0], [865.0, 1048.0, 1665.0, 2409.0, 1236.0, 1896.0, 1612.0, 1048.0, 1176.0, 990.0]], 'demands': [12.0, 20.0, 18.0, 19.0, 26.0, 13.0, 28.0, 20.0, 23.0, 19.0], 'objective': 2509.0}","{'open_facilities': [0, 2], 'assignments': [0, 0, 2, 2, 0, 0, 0, 2, 2, 0]}",2509.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 10, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 384.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 494.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 427.0}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 430.0}], 'customers': [{'id': 'A', 'demand': 12.0}, {'id': 'B', 'demand': 20.0}, {'id': 'C', 'demand': 18.0}, {'id': 'D', 'demand': 19.0}, {'id': 'E', 'demand': 26.0}, {'id': 'F', 'demand': 13.0}, {'id': 'G', 'demand': 28.0}, {'id': 'H', 'demand': 20.0}, {'id': 'I', 'demand': 23.0}, {'id': 'J', 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 127.0}, {'facility': 'F1', 'customer': 'B', 'cost': 43.0}, {'facility': 'F1', 'customer': 'C', 'cost': 390.0}, {'facility': 'F1', 'customer': 'D', 'cost': 755.0}, {'facility': 'F1', 'customer': 'E', 'cost': 201.0}, {'facility': 'F1', 'customer': 'F', 'cost': 574.0}, {'facility': 'F1', 'customer': 'G', 'cost': 67.0}, {'facility': 'F1', 'customer': 'H', 'cost': 546.0}, {'facility': 'F1', 'customer': 'I', 'cost': 293.0}, {'facility': 'F1', 'customer': 'J', 'cost': 133.0}, {'facility': 'F2', 'customer': 'A', 'cost': 261.0}, {'facility': 'F2', 'customer': 'B', 'cost': 159.0}, {'facility': 'F2', 'customer': 'C', 'cost': 822.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1486.0}, {'facility': 'F2', 'customer': 'E', 'cost': 475.0}, {'facility': 'F2', 'customer': 'F', 'cost': 1086.0}, {'facility': 'F2', 'customer': 'G', 'cost': 666.0}, {'facility': 'F2', 'customer': 'H', 'cost': 653.0}, {'facility': 'F2', 'customer': 'I', 'cost': 474.0}, {'facility': 'F2', 'customer': 'J', 'cost': 302.0}, {'facility': 'F3', 'customer': 'A', 'cost': 257.0}, {'facility': 'F3', 'customer': 'B', 'cost': 132.0}, {'facility': 'F3', 'customer': 'C', 'cost': 56.0}, {'facility': 'F3', 'customer': 'D', 'cost': 323.0}, {'facility': 'F3', 'customer': 'E', 'cost': 372.0}, {'facility': 'F3', 'customer': 'F', 'cost': 778.0}, {'facility': 'F3', 'customer': 'G', 'cost': 243.0}, {'facility': 'F3', 'customer': 'H', 'cost': 299.0}, {'facility': 'F3', 'customer': 'I', 'cost': 86.0}, {'facility': 'F3', 'customer': 'J', 'cost': 274.0}, {'facility': 'F4', 'customer': 'A', 'cost': 865.0}, {'facility': 'F4', 'customer': 'B', 'cost': 1048.0}, {'facility': 'F4', 'customer': 'C', 'cost': 1665.0}, {'facility': 'F4', 'customer': 'D', 'cost': 2409.0}, {'facility': 'F4', 'customer': 'E', 'cost': 1236.0}, {'facility': 'F4', 'customer': 'F', 'cost': 1896.0}, {'facility': 'F4', 'customer': 'G', 'cost': 1612.0}, {'facility': 'F4', 'customer': 'H', 'cost': 1048.0}, {'facility': 'F4', 'customer': 'I', 'cost': 1176.0}, {'facility': 'F4', 'customer': 'J', 'cost': 990.0}], 'objective': 2509.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F1', 'F3', 'F3', 'F1', 'F1', 'F1', 'F3', 'F3', 'F1']}",2,markdown_table,names | |
| CFLP,CFLP,"As the person running the lunch operation, the job is to decide which kitchens to staff and which single kitchen will serve each school. No school can be split between kitchens and each kitchen only has so much output it can produce. Plans are compared by their total cost β just add the staffing bill for the kitchens that are staffed to the food-transport costs for all school deliveries β smaller totals win. No school may be left unserved and no kitchen may go over its production limit; the actual figures are provided below. | |
| # num_kitchens=4 | |
| # num_schools=11 | |
| # KITCHENS | |
| kitchen_id,staffing_cost,production_capacity | |
| F1,400.0,1382.0 | |
| F2,400.0,1335.0 | |
| F3,400.0,1105.0 | |
| F4,400.0,1331.0 | |
| # SCHOOLS | |
| school_id,meal_demand | |
| 0,11.0 | |
| 1,36.0 | |
| 2,42.0 | |
| 3,42.0 | |
| 4,38.0 | |
| 5,17.0 | |
| 6,31.0 | |
| 7,43.0 | |
| 8,45.0 | |
| 9,27.0 | |
| 10,34.0 | |
| # DELIVERYS | |
| kitchen_id,school_id,delivery_cost | |
| F1,0,262.0 | |
| F1,1,569.0 | |
| F1,2,487.0 | |
| F1,3,652.0 | |
| F1,4,501.0 | |
| F1,5,734.0 | |
| F1,6,364.0 | |
| F1,7,520.0 | |
| F1,8,200.0 | |
| F1,9,190.0 | |
| F1,10,224.0 | |
| F2,0,686.0 | |
| F2,1,501.0 | |
| F2,2,342.0 | |
| F2,3,274.0 | |
| F2,4,299.0 | |
| F2,5,114.0 | |
| F2,6,502.0 | |
| F2,7,282.0 | |
| F2,8,600.0 | |
| F2,9,635.0 | |
| F2,10,577.0 | |
| F3,0,474.0 | |
| F3,1,566.0 | |
| F3,2,163.0 | |
| F3,3,23.0 | |
| F3,4,205.0 | |
| F3,5,144.0 | |
| F3,6,456.0 | |
| F3,7,182.0 | |
| F3,8,466.0 | |
| F3,9,461.0 | |
| F3,10,429.0 | |
| F4,0,544.0 | |
| F4,1,258.0 | |
| F4,2,256.0 | |
| F4,3,338.0 | |
| F4,4,161.0 | |
| F4,5,269.0 | |
| F4,6,247.0 | |
| F4,7,169.0 | |
| F4,8,387.0 | |
| F4,9,452.0 | |
| F4,10,378.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, 400.0], 'capacities': [1382.0, 1335.0, 1105.0, 1331.0], 'connection_costs': [[262.0, 569.0, 487.0, 652.0, 501.0, 734.0, 364.0, 520.0, 200.0, 190.0, 224.0], [686.0, 501.0, 342.0, 274.0, 299.0, 114.0, 502.0, 282.0, 600.0, 635.0, 577.0], [474.0, 566.0, 163.0, 23.0, 205.0, 144.0, 456.0, 182.0, 466.0, 461.0, 429.0], [544.0, 258.0, 256.0, 338.0, 161.0, 269.0, 247.0, 169.0, 387.0, 452.0, 378.0]], 'demands': [11.0, 36.0, 42.0, 42.0, 38.0, 17.0, 31.0, 43.0, 45.0, 27.0, 34.0], 'objective': 3241.0}","{'open_facilities': [0, 2, 3], 'assignments': [0, 3, 2, 2, 3, 2, 3, 3, 0, 0, 0]}",3241.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 11, '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': 1105.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 1331.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 36.0}, {'id': 2, 'demand': 42.0}, {'id': 3, 'demand': 42.0}, {'id': 4, 'demand': 38.0}, {'id': 5, 'demand': 17.0}, {'id': 6, 'demand': 31.0}, {'id': 7, 'demand': 43.0}, {'id': 8, 'demand': 45.0}, {'id': 9, 'demand': 27.0}, {'id': 10, 'demand': 34.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 262.0}, {'facility': 'F1', 'customer': 1, 'cost': 569.0}, {'facility': 'F1', 'customer': 2, 'cost': 487.0}, {'facility': 'F1', 'customer': 3, 'cost': 652.0}, {'facility': 'F1', 'customer': 4, 'cost': 501.0}, {'facility': 'F1', 'customer': 5, 'cost': 734.0}, {'facility': 'F1', 'customer': 6, 'cost': 364.0}, {'facility': 'F1', 'customer': 7, 'cost': 520.0}, {'facility': 'F1', 'customer': 8, 'cost': 200.0}, {'facility': 'F1', 'customer': 9, 'cost': 190.0}, {'facility': 'F1', 'customer': 10, 'cost': 224.0}, {'facility': 'F2', 'customer': 0, 'cost': 686.0}, {'facility': 'F2', 'customer': 1, 'cost': 501.0}, {'facility': 'F2', 'customer': 2, 'cost': 342.0}, {'facility': 'F2', 'customer': 3, 'cost': 274.0}, {'facility': 'F2', 'customer': 4, 'cost': 299.0}, {'facility': 'F2', 'customer': 5, 'cost': 114.0}, {'facility': 'F2', 'customer': 6, 'cost': 502.0}, {'facility': 'F2', 'customer': 7, 'cost': 282.0}, {'facility': 'F2', 'customer': 8, 'cost': 600.0}, {'facility': 'F2', 'customer': 9, 'cost': 635.0}, {'facility': 'F2', 'customer': 10, 'cost': 577.0}, {'facility': 'F3', 'customer': 0, 'cost': 474.0}, {'facility': 'F3', 'customer': 1, 'cost': 566.0}, {'facility': 'F3', 'customer': 2, 'cost': 163.0}, {'facility': 'F3', 'customer': 3, 'cost': 23.0}, {'facility': 'F3', 'customer': 4, 'cost': 205.0}, {'facility': 'F3', 'customer': 5, 'cost': 144.0}, {'facility': 'F3', 'customer': 6, 'cost': 456.0}, {'facility': 'F3', 'customer': 7, 'cost': 182.0}, {'facility': 'F3', 'customer': 8, 'cost': 466.0}, {'facility': 'F3', 'customer': 9, 'cost': 461.0}, {'facility': 'F3', 'customer': 10, 'cost': 429.0}, {'facility': 'F4', 'customer': 0, 'cost': 544.0}, {'facility': 'F4', 'customer': 1, 'cost': 258.0}, {'facility': 'F4', 'customer': 2, 'cost': 256.0}, {'facility': 'F4', 'customer': 3, 'cost': 338.0}, {'facility': 'F4', 'customer': 4, 'cost': 161.0}, {'facility': 'F4', 'customer': 5, 'cost': 269.0}, {'facility': 'F4', 'customer': 6, 'cost': 247.0}, {'facility': 'F4', 'customer': 7, 'cost': 169.0}, {'facility': 'F4', 'customer': 8, 'cost': 387.0}, {'facility': 'F4', 'customer': 9, 'cost': 452.0}, {'facility': 'F4', 'customer': 10, 'cost': 378.0}], 'objective': 3241.0}","{'selected': ['F1', 'F3', 'F4'], 'assignments': ['F1', 'F4', 'F3', 'F3', 'F4', 'F3', 'F4', 'F4', 'F1', 'F1', 'F1']}",3,csv,0 | |
| CFLP,CFLP,"Imagine running the hospital network for a region and having to pick a handful of outpatient clinics to operate while assigning every neighborhoodβs patients to one of them. Every clinic you flip on carries a fixed opening cost, each neighborhood has a travel price to each clinic, and every clinic can only accept so many patients. What makes one choice better than another is the total price tag β add the opening costs of all chosen clinics to the travel costs for all neighborhoods to calculate it, and the aim is to keep that total as small as possible. No neighborhood can be left unassigned or split between clinics, and no clinic may exceed its capacity. The full list of clinics, capacities and travel costs appears below. | |
| { | |
| ""num_clinics"": 5, | |
| ""num_neighborhoods"": 10, | |
| ""clinics"": [ | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""clinic_opening_cost"": 300.0, | |
| ""clinic_capacity"": 500.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""clinic_opening_cost"": 300.0, | |
| ""clinic_capacity"": 500.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""clinic_opening_cost"": 300.0, | |
| ""clinic_capacity"": 500.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""clinic_opening_cost"": 300.0, | |
| ""clinic_capacity"": 500.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""clinic_opening_cost"": 300.0, | |
| ""clinic_capacity"": 500.0 | |
| } | |
| ], | |
| ""neighborhoods"": [ | |
| { | |
| ""neighborhood_id"": 1, | |
| ""neighborhood_patient_count"": 12.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 2, | |
| ""neighborhood_patient_count"": 26.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 3, | |
| ""neighborhood_patient_count"": 25.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 4, | |
| ""neighborhood_patient_count"": 29.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 5, | |
| ""neighborhood_patient_count"": 14.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 6, | |
| ""neighborhood_patient_count"": 14.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 7, | |
| ""neighborhood_patient_count"": 13.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 8, | |
| ""neighborhood_patient_count"": 23.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 9, | |
| ""neighborhood_patient_count"": 18.0 | |
| }, | |
| { | |
| ""neighborhood_id"": 10, | |
| ""neighborhood_patient_count"": 27.0 | |
| } | |
| ], | |
| ""assignment_travels"": [ | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 1, | |
| ""assignment_travel_cost"": 34.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 2, | |
| ""assignment_travel_cost"": 180.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 3, | |
| ""assignment_travel_cost"": 558.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 4, | |
| ""assignment_travel_cost"": 91.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 5, | |
| ""assignment_travel_cost"": 525.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 6, | |
| ""assignment_travel_cost"": 368.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 7, | |
| ""assignment_travel_cost"": 125.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 8, | |
| ""assignment_travel_cost"": 136.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 9, | |
| ""assignment_travel_cost"": 1262.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F1"", | |
| ""neighborhood_id"": 10, | |
| ""assignment_travel_cost"": 691.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 1, | |
| ""assignment_travel_cost"": 60.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 2, | |
| ""assignment_travel_cost"": 54.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 3, | |
| ""assignment_travel_cost"": 147.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 4, | |
| ""assignment_travel_cost"": 264.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 5, | |
| ""assignment_travel_cost"": 84.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 6, | |
| ""assignment_travel_cost"": 41.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 7, | |
| ""assignment_travel_cost"": 50.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 8, | |
| ""assignment_travel_cost"": 385.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 9, | |
| ""assignment_travel_cost"": 101.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F2"", | |
| ""neighborhood_id"": 10, | |
| ""assignment_travel_cost"": 189.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 1, | |
| ""assignment_travel_cost"": 60.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 2, | |
| ""assignment_travel_cost"": 250.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 3, | |
| ""assignment_travel_cost"": 619.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 4, | |
| ""assignment_travel_cost"": 61.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 5, | |
| ""assignment_travel_cost"": 598.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 6, | |
| ""assignment_travel_cost"": 458.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 7, | |
| ""assignment_travel_cost"": 153.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 8, | |
| ""assignment_travel_cost"": 62.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 9, | |
| ""assignment_travel_cost"": 1306.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F3"", | |
| ""neighborhood_id"": 10, | |
| ""assignment_travel_cost"": 732.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 1, | |
| ""assignment_travel_cost"": 341.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 2, | |
| ""assignment_travel_cost"": 410.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 3, | |
| ""assignment_travel_cost"": 1407.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 4, | |
| ""assignment_travel_cost"": 727.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 5, | |
| ""assignment_travel_cost"": 1295.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 6, | |
| ""assignment_travel_cost"": 464.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 7, | |
| ""assignment_travel_cost"": 27.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 8, | |
| ""assignment_travel_cost"": 1033.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 9, | |
| ""assignment_travel_cost"": 1860.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F4"", | |
| ""neighborhood_id"": 10, | |
| ""assignment_travel_cost"": 1566.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 1, | |
| ""assignment_travel_cost"": 172.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 2, | |
| ""assignment_travel_cost"": 150.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 3, | |
| ""assignment_travel_cost"": 885.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 4, | |
| ""assignment_travel_cost"": 500.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 5, | |
| ""assignment_travel_cost"": 770.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 6, | |
| ""assignment_travel_cost"": 79.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 7, | |
| ""assignment_travel_cost"": 30.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 8, | |
| ""assignment_travel_cost"": 741.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 9, | |
| ""assignment_travel_cost"": 1287.0 | |
| }, | |
| { | |
| ""clinic_id"": ""F5"", | |
| ""neighborhood_id"": 10, | |
| ""assignment_travel_cost"": 1034.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': [300.0, 300.0, 300.0, 300.0, 300.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[34.0, 180.0, 558.0, 91.0, 525.0, 368.0, 125.0, 136.0, 1262.0, 691.0], [60.0, 54.0, 147.0, 264.0, 84.0, 41.0, 50.0, 385.0, 101.0, 189.0], [60.0, 250.0, 619.0, 61.0, 598.0, 458.0, 153.0, 62.0, 1306.0, 732.0], [341.0, 410.0, 1407.0, 727.0, 1295.0, 464.0, 27.0, 1033.0, 1860.0, 1566.0], [172.0, 150.0, 885.0, 500.0, 770.0, 79.0, 30.0, 741.0, 1287.0, 1034.0]], 'demands': [12.0, 26.0, 25.0, 29.0, 14.0, 14.0, 13.0, 23.0, 18.0, 27.0], 'objective': 1449.0}","{'open_facilities': [1, 2], 'assignments': [1, 1, 1, 2, 1, 1, 1, 2, 1, 1]}",1449.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 10, '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}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 300.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 12.0}, {'id': 2, 'demand': 26.0}, {'id': 3, 'demand': 25.0}, {'id': 4, 'demand': 29.0}, {'id': 5, 'demand': 14.0}, {'id': 6, 'demand': 14.0}, {'id': 7, 'demand': 13.0}, {'id': 8, 'demand': 23.0}, {'id': 9, 'demand': 18.0}, {'id': 10, 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 34.0}, {'facility': 'F1', 'customer': 2, 'cost': 180.0}, {'facility': 'F1', 'customer': 3, 'cost': 558.0}, {'facility': 'F1', 'customer': 4, 'cost': 91.0}, {'facility': 'F1', 'customer': 5, 'cost': 525.0}, {'facility': 'F1', 'customer': 6, 'cost': 368.0}, {'facility': 'F1', 'customer': 7, 'cost': 125.0}, {'facility': 'F1', 'customer': 8, 'cost': 136.0}, {'facility': 'F1', 'customer': 9, 'cost': 1262.0}, {'facility': 'F1', 'customer': 10, 'cost': 691.0}, {'facility': 'F2', 'customer': 1, 'cost': 60.0}, {'facility': 'F2', 'customer': 2, 'cost': 54.0}, {'facility': 'F2', 'customer': 3, 'cost': 147.0}, {'facility': 'F2', 'customer': 4, 'cost': 264.0}, {'facility': 'F2', 'customer': 5, 'cost': 84.0}, {'facility': 'F2', 'customer': 6, 'cost': 41.0}, {'facility': 'F2', 'customer': 7, 'cost': 50.0}, {'facility': 'F2', 'customer': 8, 'cost': 385.0}, {'facility': 'F2', 'customer': 9, 'cost': 101.0}, {'facility': 'F2', 'customer': 10, 'cost': 189.0}, {'facility': 'F3', 'customer': 1, 'cost': 60.0}, {'facility': 'F3', 'customer': 2, 'cost': 250.0}, {'facility': 'F3', 'customer': 3, 'cost': 619.0}, {'facility': 'F3', 'customer': 4, 'cost': 61.0}, {'facility': 'F3', 'customer': 5, 'cost': 598.0}, {'facility': 'F3', 'customer': 6, 'cost': 458.0}, {'facility': 'F3', 'customer': 7, 'cost': 153.0}, {'facility': 'F3', 'customer': 8, 'cost': 62.0}, {'facility': 'F3', 'customer': 9, 'cost': 1306.0}, {'facility': 'F3', 'customer': 10, 'cost': 732.0}, {'facility': 'F4', 'customer': 1, 'cost': 341.0}, {'facility': 'F4', 'customer': 2, 'cost': 410.0}, {'facility': 'F4', 'customer': 3, 'cost': 1407.0}, {'facility': 'F4', 'customer': 4, 'cost': 727.0}, {'facility': 'F4', 'customer': 5, 'cost': 1295.0}, {'facility': 'F4', 'customer': 6, 'cost': 464.0}, {'facility': 'F4', 'customer': 7, 'cost': 27.0}, {'facility': 'F4', 'customer': 8, 'cost': 1033.0}, {'facility': 'F4', 'customer': 9, 'cost': 1860.0}, {'facility': 'F4', 'customer': 10, 'cost': 1566.0}, {'facility': 'F5', 'customer': 1, 'cost': 172.0}, {'facility': 'F5', 'customer': 2, 'cost': 150.0}, {'facility': 'F5', 'customer': 3, 'cost': 885.0}, {'facility': 'F5', 'customer': 4, 'cost': 500.0}, {'facility': 'F5', 'customer': 5, 'cost': 770.0}, {'facility': 'F5', 'customer': 6, 'cost': 79.0}, {'facility': 'F5', 'customer': 7, 'cost': 30.0}, {'facility': 'F5', 'customer': 8, 'cost': 741.0}, {'facility': 'F5', 'customer': 9, 'cost': 1287.0}, {'facility': 'F5', 'customer': 10, 'cost': 1034.0}], 'objective': 1449.0}","{'selected': ['F2', 'F3'], 'assignments': ['F2', 'F2', 'F2', 'F3', 'F2', 'F2', 'F2', 'F3', 'F2', 'F2']}",4,json,1 | |
| 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"": 5, | |
| ""num_vendor_areas"": 13, | |
| ""stalls"": [ | |
| { | |
| ""stall_id"": ""F1"", | |
| ""stall_setup_cost"": 213.0, | |
| ""stall_capacity"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""stall_setup_cost"": 295.0, | |
| ""stall_capacity"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""stall_setup_cost"": 289.0, | |
| ""stall_capacity"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""stall_setup_cost"": 573.0, | |
| ""stall_capacity"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""stall_setup_cost"": 450.0, | |
| ""stall_capacity"": 700.0 | |
| } | |
| ], | |
| ""vendor_areas"": [ | |
| { | |
| ""vendor_area_id"": 0, | |
| ""vendor_crowd_size"": 28.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 1, | |
| ""vendor_crowd_size"": 17.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 2, | |
| ""vendor_crowd_size"": 14.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 3, | |
| ""vendor_crowd_size"": 19.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 4, | |
| ""vendor_crowd_size"": 19.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 5, | |
| ""vendor_crowd_size"": 16.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 6, | |
| ""vendor_crowd_size"": 27.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 7, | |
| ""vendor_crowd_size"": 25.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 8, | |
| ""vendor_crowd_size"": 20.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 9, | |
| ""vendor_crowd_size"": 16.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 10, | |
| ""vendor_crowd_size"": 23.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 11, | |
| ""vendor_crowd_size"": 25.0 | |
| }, | |
| { | |
| ""vendor_area_id"": 12, | |
| ""vendor_crowd_size"": 22.0 | |
| } | |
| ], | |
| ""servings"": [ | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 0, | |
| ""serving_cost"": 647.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 1, | |
| ""serving_cost"": 1664.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 2, | |
| ""serving_cost"": 1297.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 3, | |
| ""serving_cost"": 1042.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 4, | |
| ""serving_cost"": 1964.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 5, | |
| ""serving_cost"": 960.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 6, | |
| ""serving_cost"": 1518.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 7, | |
| ""serving_cost"": 627.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 8, | |
| ""serving_cost"": 1120.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 9, | |
| ""serving_cost"": 2069.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 10, | |
| ""serving_cost"": 1030.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 11, | |
| ""serving_cost"": 1255.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""vendor_area_id"": 12, | |
| ""serving_cost"": 1523.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 0, | |
| ""serving_cost"": 1511.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 1, | |
| ""serving_cost"": 1733.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 2, | |
| ""serving_cost"": 1876.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 3, | |
| ""serving_cost"": 1338.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 4, | |
| ""serving_cost"": 2409.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 5, | |
| ""serving_cost"": 1416.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 6, | |
| ""serving_cost"": 2142.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 7, | |
| ""serving_cost"": 1345.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 8, | |
| ""serving_cost"": 1048.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 9, | |
| ""serving_cost"": 2527.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 10, | |
| ""serving_cost"": 1176.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 11, | |
| ""serving_cost"": 1891.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""vendor_area_id"": 12, | |
| ""serving_cost"": 1689.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 0, | |
| ""serving_cost"": 1307.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 1, | |
| ""serving_cost"": 811.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 2, | |
| ""serving_cost"": 1389.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 3, | |
| ""serving_cost"": 727.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 4, | |
| ""serving_cost"": 1740.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 5, | |
| ""serving_cost"": 926.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 6, | |
| ""serving_cost"": 1659.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 7, | |
| ""serving_cost"": 1069.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 8, | |
| ""serving_cost"": 113.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 9, | |
| ""serving_cost"": 1857.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 10, | |
| ""serving_cost"": 463.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 11, | |
| ""serving_cost"": 1452.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""vendor_area_id"": 12, | |
| ""serving_cost"": 857.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 0, | |
| ""serving_cost"": 56.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 1, | |
| ""serving_cost"": 1302.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 2, | |
| ""serving_cost"": 598.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 3, | |
| ""serving_cost"": 625.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 4, | |
| ""serving_cost"": 1278.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 5, | |
| ""serving_cost"": 463.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 6, | |
| ""serving_cost"": 732.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 7, | |
| ""serving_cost"": 130.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 8, | |
| ""serving_cost"": 906.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 9, | |
| ""serving_cost"": 1360.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 10, | |
| ""serving_cost"": 703.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 11, | |
| ""serving_cost"": 516.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""vendor_area_id"": 12, | |
| ""serving_cost"": 1108.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 0, | |
| ""serving_cost"": 309.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 1, | |
| ""serving_cost"": 1253.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 2, | |
| ""serving_cost"": 722.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 3, | |
| ""serving_cost"": 579.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 4, | |
| ""serving_cost"": 1400.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 5, | |
| ""serving_cost"": 440.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 6, | |
| ""serving_cost"": 942.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 7, | |
| ""serving_cost"": 50.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 8, | |
| ""serving_cost"": 827.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 9, | |
| ""serving_cost"": 1501.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 10, | |
| ""serving_cost"": 636.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 11, | |
| ""serving_cost"": 678.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""vendor_area_id"": 12, | |
| ""serving_cost"": 1073.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': [213.0, 295.0, 289.0, 573.0, 450.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[647.0, 1664.0, 1297.0, 1042.0, 1964.0, 960.0, 1518.0, 627.0, 1120.0, 2069.0, 1030.0, 1255.0, 1523.0], [1511.0, 1733.0, 1876.0, 1338.0, 2409.0, 1416.0, 2142.0, 1345.0, 1048.0, 2527.0, 1176.0, 1891.0, 1689.0], [1307.0, 811.0, 1389.0, 727.0, 1740.0, 926.0, 1659.0, 1069.0, 113.0, 1857.0, 463.0, 1452.0, 857.0], [56.0, 1302.0, 598.0, 625.0, 1278.0, 463.0, 732.0, 130.0, 906.0, 1360.0, 703.0, 516.0, 1108.0], [309.0, 1253.0, 722.0, 579.0, 1400.0, 440.0, 942.0, 50.0, 827.0, 1501.0, 636.0, 678.0, 1073.0]], 'demands': [28.0, 17.0, 14.0, 19.0, 19.0, 16.0, 27.0, 25.0, 20.0, 16.0, 23.0, 25.0, 22.0], 'objective': 8864.0}","{'open_facilities': [2, 3], 'assignments': [3, 2, 3, 3, 3, 3, 3, 3, 2, 3, 2, 3, 2]}",8864.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 13, 'facilities': [{'id': 'F1', 'opening_cost': 213.0, 'capacity': 700.0}, {'id': 'F2', 'opening_cost': 295.0, 'capacity': 700.0}, {'id': 'F3', 'opening_cost': 289.0, 'capacity': 700.0}, {'id': 'F4', 'opening_cost': 573.0, 'capacity': 700.0}, {'id': 'F5', 'opening_cost': 450.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 14.0}, {'id': 3, 'demand': 19.0}, {'id': 4, 'demand': 19.0}, {'id': 5, 'demand': 16.0}, {'id': 6, 'demand': 27.0}, {'id': 7, 'demand': 25.0}, {'id': 8, 'demand': 20.0}, {'id': 9, 'demand': 16.0}, {'id': 10, 'demand': 23.0}, {'id': 11, 'demand': 25.0}, {'id': 12, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 647.0}, {'facility': 'F1', 'customer': 1, 'cost': 1664.0}, {'facility': 'F1', 'customer': 2, 'cost': 1297.0}, {'facility': 'F1', 'customer': 3, 'cost': 1042.0}, {'facility': 'F1', 'customer': 4, 'cost': 1964.0}, {'facility': 'F1', 'customer': 5, 'cost': 960.0}, {'facility': 'F1', 'customer': 6, 'cost': 1518.0}, {'facility': 'F1', 'customer': 7, 'cost': 627.0}, {'facility': 'F1', 'customer': 8, 'cost': 1120.0}, {'facility': 'F1', 'customer': 9, 'cost': 2069.0}, {'facility': 'F1', 'customer': 10, 'cost': 1030.0}, {'facility': 'F1', 'customer': 11, 'cost': 1255.0}, {'facility': 'F1', 'customer': 12, 'cost': 1523.0}, {'facility': 'F2', 'customer': 0, 'cost': 1511.0}, {'facility': 'F2', 'customer': 1, 'cost': 1733.0}, {'facility': 'F2', 'customer': 2, 'cost': 1876.0}, {'facility': 'F2', 'customer': 3, 'cost': 1338.0}, {'facility': 'F2', 'customer': 4, 'cost': 2409.0}, {'facility': 'F2', 'customer': 5, 'cost': 1416.0}, {'facility': 'F2', 'customer': 6, 'cost': 2142.0}, {'facility': 'F2', 'customer': 7, 'cost': 1345.0}, {'facility': 'F2', 'customer': 8, 'cost': 1048.0}, {'facility': 'F2', 'customer': 9, 'cost': 2527.0}, {'facility': 'F2', 'customer': 10, 'cost': 1176.0}, {'facility': 'F2', 'customer': 11, 'cost': 1891.0}, {'facility': 'F2', 'customer': 12, 'cost': 1689.0}, {'facility': 'F3', 'customer': 0, 'cost': 1307.0}, {'facility': 'F3', 'customer': 1, 'cost': 811.0}, {'facility': 'F3', 'customer': 2, 'cost': 1389.0}, {'facility': 'F3', 'customer': 3, 'cost': 727.0}, {'facility': 'F3', 'customer': 4, 'cost': 1740.0}, {'facility': 'F3', 'customer': 5, 'cost': 926.0}, {'facility': 'F3', 'customer': 6, 'cost': 1659.0}, {'facility': 'F3', 'customer': 7, 'cost': 1069.0}, {'facility': 'F3', 'customer': 8, 'cost': 113.0}, {'facility': 'F3', 'customer': 9, 'cost': 1857.0}, {'facility': 'F3', 'customer': 10, 'cost': 463.0}, {'facility': 'F3', 'customer': 11, 'cost': 1452.0}, {'facility': 'F3', 'customer': 12, 'cost': 857.0}, {'facility': 'F4', 'customer': 0, 'cost': 56.0}, {'facility': 'F4', 'customer': 1, 'cost': 1302.0}, {'facility': 'F4', 'customer': 2, 'cost': 598.0}, {'facility': 'F4', 'customer': 3, 'cost': 625.0}, {'facility': 'F4', 'customer': 4, 'cost': 1278.0}, {'facility': 'F4', 'customer': 5, 'cost': 463.0}, {'facility': 'F4', 'customer': 6, 'cost': 732.0}, {'facility': 'F4', 'customer': 7, 'cost': 130.0}, {'facility': 'F4', 'customer': 8, 'cost': 906.0}, {'facility': 'F4', 'customer': 9, 'cost': 1360.0}, {'facility': 'F4', 'customer': 10, 'cost': 703.0}, {'facility': 'F4', 'customer': 11, 'cost': 516.0}, {'facility': 'F4', 'customer': 12, 'cost': 1108.0}, {'facility': 'F5', 'customer': 0, 'cost': 309.0}, {'facility': 'F5', 'customer': 1, 'cost': 1253.0}, {'facility': 'F5', 'customer': 2, 'cost': 722.0}, {'facility': 'F5', 'customer': 3, 'cost': 579.0}, {'facility': 'F5', 'customer': 4, 'cost': 1400.0}, {'facility': 'F5', 'customer': 5, 'cost': 440.0}, {'facility': 'F5', 'customer': 6, 'cost': 942.0}, {'facility': 'F5', 'customer': 7, 'cost': 50.0}, {'facility': 'F5', 'customer': 8, 'cost': 827.0}, {'facility': 'F5', 'customer': 9, 'cost': 1501.0}, {'facility': 'F5', 'customer': 10, 'cost': 636.0}, {'facility': 'F5', 'customer': 11, 'cost': 678.0}, {'facility': 'F5', 'customer': 12, 'cost': 1073.0}], 'objective': 8864.0}","{'selected': ['F3', 'F4'], 'assignments': ['F4', 'F3', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F3', 'F4', 'F3', 'F4', 'F3']}",5,json,0 | |
| 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"": 5, | |
| ""num_applications"": 12, | |
| ""data_centers"": [ | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""activation_cost"": 400.0, | |
| ""bandwidth_capacity"": 700.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""activation_cost"": 400.0, | |
| ""bandwidth_capacity"": 700.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""activation_cost"": 400.0, | |
| ""bandwidth_capacity"": 700.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""activation_cost"": 400.0, | |
| ""bandwidth_capacity"": 700.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""activation_cost"": 400.0, | |
| ""bandwidth_capacity"": 700.0 | |
| } | |
| ], | |
| ""applications"": [ | |
| { | |
| ""application_id"": 0, | |
| ""bandwidth_demand"": 14.0 | |
| }, | |
| { | |
| ""application_id"": 1, | |
| ""bandwidth_demand"": 20.0 | |
| }, | |
| { | |
| ""application_id"": 2, | |
| ""bandwidth_demand"": 24.0 | |
| }, | |
| { | |
| ""application_id"": 3, | |
| ""bandwidth_demand"": 11.0 | |
| }, | |
| { | |
| ""application_id"": 4, | |
| ""bandwidth_demand"": 19.0 | |
| }, | |
| { | |
| ""application_id"": 5, | |
| ""bandwidth_demand"": 13.0 | |
| }, | |
| { | |
| ""application_id"": 6, | |
| ""bandwidth_demand"": 26.0 | |
| }, | |
| { | |
| ""application_id"": 7, | |
| ""bandwidth_demand"": 24.0 | |
| }, | |
| { | |
| ""application_id"": 8, | |
| ""bandwidth_demand"": 10.0 | |
| }, | |
| { | |
| ""application_id"": 9, | |
| ""bandwidth_demand"": 16.0 | |
| }, | |
| { | |
| ""application_id"": 10, | |
| ""bandwidth_demand"": 18.0 | |
| }, | |
| { | |
| ""application_id"": 11, | |
| ""bandwidth_demand"": 23.0 | |
| } | |
| ], | |
| ""routings"": [ | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 0, | |
| ""routing_cost"": 349.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 1, | |
| ""routing_cost"": 165.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 2, | |
| ""routing_cost"": 122.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 3, | |
| ""routing_cost"": 22.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 4, | |
| ""routing_cost"": 39.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 5, | |
| ""routing_cost"": 42.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 6, | |
| ""routing_cost"": 283.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 7, | |
| ""routing_cost"": 49.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 8, | |
| ""routing_cost"": 65.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 9, | |
| ""routing_cost"": 316.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 10, | |
| ""routing_cost"": 36.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F1"", | |
| ""application_id"": 11, | |
| ""routing_cost"": 114.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 0, | |
| ""routing_cost"": 89.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 1, | |
| ""routing_cost"": 728.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 2, | |
| ""routing_cost"": 366.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 3, | |
| ""routing_cost"": 923.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 4, | |
| ""routing_cost"": 1216.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 5, | |
| ""routing_cost"": 125.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 6, | |
| ""routing_cost"": 53.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 7, | |
| ""routing_cost"": 349.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 8, | |
| ""routing_cost"": 48.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 9, | |
| ""routing_cost"": 1076.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 10, | |
| ""routing_cost"": 417.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F2"", | |
| ""application_id"": 11, | |
| ""routing_cost"": 611.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 0, | |
| ""routing_cost"": 226.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 1, | |
| ""routing_cost"": 1039.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 2, | |
| ""routing_cost"": 473.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 3, | |
| ""routing_cost"": 1541.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 4, | |
| ""routing_cost"": 1880.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 5, | |
| ""routing_cost"": 151.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 6, | |
| ""routing_cost"": 422.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 7, | |
| ""routing_cost"": 718.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 8, | |
| ""routing_cost"": 133.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 9, | |
| ""routing_cost"": 1443.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 10, | |
| ""routing_cost"": 808.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F3"", | |
| ""application_id"": 11, | |
| ""routing_cost"": 921.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 0, | |
| ""routing_cost"": 300.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 1, | |
| ""routing_cost"": 217.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 2, | |
| ""routing_cost"": 146.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 3, | |
| ""routing_cost"": 51.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 4, | |
| ""routing_cost"": 128.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 5, | |
| ""routing_cost"": 50.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 6, | |
| ""routing_cost"": 232.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 7, | |
| ""routing_cost"": 50.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 8, | |
| ""routing_cost"": 46.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 9, | |
| ""routing_cost"": 394.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 10, | |
| ""routing_cost"": 45.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F4"", | |
| ""application_id"": 11, | |
| ""routing_cost"": 154.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 0, | |
| ""routing_cost"": 511.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 1, | |
| ""routing_cost"": 182.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 2, | |
| ""routing_cost"": 104.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 3, | |
| ""routing_cost"": 617.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 4, | |
| ""routing_cost"": 960.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 5, | |
| ""routing_cost"": 35.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 6, | |
| ""routing_cost"": 489.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 7, | |
| ""routing_cost"": 94.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 8, | |
| ""routing_cost"": 127.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 9, | |
| ""routing_cost"": 469.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 10, | |
| ""routing_cost"": 64.0 | |
| }, | |
| { | |
| ""data_center_id"": ""F5"", | |
| ""application_id"": 11, | |
| ""routing_cost"": 105.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': [400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[349.0, 165.0, 122.0, 22.0, 39.0, 42.0, 283.0, 49.0, 65.0, 316.0, 36.0, 114.0], [89.0, 728.0, 366.0, 923.0, 1216.0, 125.0, 53.0, 349.0, 48.0, 1076.0, 417.0, 611.0], [226.0, 1039.0, 473.0, 1541.0, 1880.0, 151.0, 422.0, 718.0, 133.0, 1443.0, 808.0, 921.0], [300.0, 217.0, 146.0, 51.0, 128.0, 50.0, 232.0, 50.0, 46.0, 394.0, 45.0, 154.0], [511.0, 182.0, 104.0, 617.0, 960.0, 35.0, 489.0, 94.0, 127.0, 469.0, 64.0, 105.0]], 'demands': [14.0, 20.0, 24.0, 11.0, 19.0, 13.0, 26.0, 24.0, 10.0, 16.0, 18.0, 23.0], 'objective': 1895.0}","{'open_facilities': [0, 1], 'assignments': [1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0]}",1895.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 700.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 14.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 24.0}, {'id': 3, 'demand': 11.0}, {'id': 4, 'demand': 19.0}, {'id': 5, 'demand': 13.0}, {'id': 6, 'demand': 26.0}, {'id': 7, 'demand': 24.0}, {'id': 8, 'demand': 10.0}, {'id': 9, 'demand': 16.0}, {'id': 10, 'demand': 18.0}, {'id': 11, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 349.0}, {'facility': 'F1', 'customer': 1, 'cost': 165.0}, {'facility': 'F1', 'customer': 2, 'cost': 122.0}, {'facility': 'F1', 'customer': 3, 'cost': 22.0}, {'facility': 'F1', 'customer': 4, 'cost': 39.0}, {'facility': 'F1', 'customer': 5, 'cost': 42.0}, {'facility': 'F1', 'customer': 6, 'cost': 283.0}, {'facility': 'F1', 'customer': 7, 'cost': 49.0}, {'facility': 'F1', 'customer': 8, 'cost': 65.0}, {'facility': 'F1', 'customer': 9, 'cost': 316.0}, {'facility': 'F1', 'customer': 10, 'cost': 36.0}, {'facility': 'F1', 'customer': 11, 'cost': 114.0}, {'facility': 'F2', 'customer': 0, 'cost': 89.0}, {'facility': 'F2', 'customer': 1, 'cost': 728.0}, {'facility': 'F2', 'customer': 2, 'cost': 366.0}, {'facility': 'F2', 'customer': 3, 'cost': 923.0}, {'facility': 'F2', 'customer': 4, 'cost': 1216.0}, {'facility': 'F2', 'customer': 5, 'cost': 125.0}, {'facility': 'F2', 'customer': 6, 'cost': 53.0}, {'facility': 'F2', 'customer': 7, 'cost': 349.0}, {'facility': 'F2', 'customer': 8, 'cost': 48.0}, {'facility': 'F2', 'customer': 9, 'cost': 1076.0}, {'facility': 'F2', 'customer': 10, 'cost': 417.0}, {'facility': 'F2', 'customer': 11, 'cost': 611.0}, {'facility': 'F3', 'customer': 0, 'cost': 226.0}, {'facility': 'F3', 'customer': 1, 'cost': 1039.0}, {'facility': 'F3', 'customer': 2, 'cost': 473.0}, {'facility': 'F3', 'customer': 3, 'cost': 1541.0}, {'facility': 'F3', 'customer': 4, 'cost': 1880.0}, {'facility': 'F3', 'customer': 5, 'cost': 151.0}, {'facility': 'F3', 'customer': 6, 'cost': 422.0}, {'facility': 'F3', 'customer': 7, 'cost': 718.0}, {'facility': 'F3', 'customer': 8, 'cost': 133.0}, {'facility': 'F3', 'customer': 9, 'cost': 1443.0}, {'facility': 'F3', 'customer': 10, 'cost': 808.0}, {'facility': 'F3', 'customer': 11, 'cost': 921.0}, {'facility': 'F4', 'customer': 0, 'cost': 300.0}, {'facility': 'F4', 'customer': 1, 'cost': 217.0}, {'facility': 'F4', 'customer': 2, 'cost': 146.0}, {'facility': 'F4', 'customer': 3, 'cost': 51.0}, {'facility': 'F4', 'customer': 4, 'cost': 128.0}, {'facility': 'F4', 'customer': 5, 'cost': 50.0}, {'facility': 'F4', 'customer': 6, 'cost': 232.0}, {'facility': 'F4', 'customer': 7, 'cost': 50.0}, {'facility': 'F4', 'customer': 8, 'cost': 46.0}, {'facility': 'F4', 'customer': 9, 'cost': 394.0}, {'facility': 'F4', 'customer': 10, 'cost': 45.0}, {'facility': 'F4', 'customer': 11, 'cost': 154.0}, {'facility': 'F5', 'customer': 0, 'cost': 511.0}, {'facility': 'F5', 'customer': 1, 'cost': 182.0}, {'facility': 'F5', 'customer': 2, 'cost': 104.0}, {'facility': 'F5', 'customer': 3, 'cost': 617.0}, {'facility': 'F5', 'customer': 4, 'cost': 960.0}, {'facility': 'F5', 'customer': 5, 'cost': 35.0}, {'facility': 'F5', 'customer': 6, 'cost': 489.0}, {'facility': 'F5', 'customer': 7, 'cost': 94.0}, {'facility': 'F5', 'customer': 8, 'cost': 127.0}, {'facility': 'F5', 'customer': 9, 'cost': 469.0}, {'facility': 'F5', 'customer': 10, 'cost': 64.0}, {'facility': 'F5', 'customer': 11, 'cost': 105.0}], 'objective': 1895.0}","{'selected': ['F1', 'F2'], 'assignments': ['F2', 'F1', 'F1', 'F1', 'F1', 'F1', 'F2', 'F1', 'F2', 'F1', 'F1', 'F1']}",6,json,0 | |
| CFLP,CFLP,"Someone in charge of the mobile library has to decide which vans to operate and then assign every neighborhood to one of those active vans. Assignments are exclusive β one neighborhood, one van β and vans cannot be overloaded beyond their book limits. What makes one choice nicer than another is simple math: total up the van deployment fees plus the delivery effort for serving the neighborhoods, and aim for the smallest total possible. The actual numbers for van costs, capacities and neighborhood demands follow below. | |
| There are 4 candidate vans and 11 neighborhoods to consider. | |
| Van F1 has deployment cost 600.0 and book capacity 700.0. | |
| Van F2 has deployment cost 600.0 and book capacity 700.0. | |
| Van F3 has deployment cost 600.0 and book capacity 700.0. | |
| Van F4 has deployment cost 600.0 and book capacity 700.0. | |
| Neighborhood 0 requires 11.0 books. | |
| Neighborhood 1 requires 26.0 books. | |
| Neighborhood 2 requires 20.0 books. | |
| Neighborhood 3 requires 12.0 books. | |
| Neighborhood 4 requires 20.0 books. | |
| Neighborhood 5 requires 19.0 books. | |
| Neighborhood 6 requires 20.0 books. | |
| Neighborhood 7 requires 26.0 books. | |
| Neighborhood 8 requires 16.0 books. | |
| Neighborhood 9 requires 14.0 books. | |
| Neighborhood 10 requires 13.0 books. | |
| Assigning neighborhood 0 to van F1 incurs delivery effort 183.0. | |
| Assigning neighborhood 1 to van F1 incurs delivery effort 62.0. | |
| Assigning neighborhood 2 to van F1 incurs delivery effort 87.0. | |
| Assigning neighborhood 3 to van F1 incurs delivery effort 24.0. | |
| Assigning neighborhood 4 to van F1 incurs delivery effort 165.0. | |
| Assigning neighborhood 5 to van F1 incurs delivery effort 248.0. | |
| Assigning neighborhood 6 to van F1 incurs delivery effort 77.0. | |
| Assigning neighborhood 7 to van F1 incurs delivery effort 313.0. | |
| Assigning neighborhood 8 to van F1 incurs delivery effort 49.0. | |
| Assigning neighborhood 9 to van F1 incurs delivery effort 28.0. | |
| Assigning neighborhood 10 to van F1 incurs delivery effort 42.0. | |
| Assigning neighborhood 0 to van F2 incurs delivery effort 30.0. | |
| Assigning neighborhood 1 to van F2 incurs delivery effort 391.0. | |
| Assigning neighborhood 2 to van F2 incurs delivery effort 447.0. | |
| Assigning neighborhood 3 to van F2 incurs delivery effort 517.0. | |
| Assigning neighborhood 4 to van F2 incurs delivery effort 1039.0. | |
| Assigning neighborhood 5 to van F2 incurs delivery effort 1382.0. | |
| Assigning neighborhood 6 to van F2 incurs delivery effort 132.0. | |
| Assigning neighborhood 7 to van F2 incurs delivery effort 201.0. | |
| Assigning neighborhood 8 to van F2 incurs delivery effort 864.0. | |
| Assigning neighborhood 9 to van F2 incurs delivery effort 305.0. | |
| Assigning neighborhood 10 to van F2 incurs delivery effort 780.0. | |
| Assigning neighborhood 0 to van F3 incurs delivery effort 445.0. | |
| Assigning neighborhood 1 to van F3 incurs delivery effort 275.0. | |
| Assigning neighborhood 2 to van F3 incurs delivery effort 421.0. | |
| Assigning neighborhood 3 to van F3 incurs delivery effort 194.0. | |
| Assigning neighborhood 4 to van F3 incurs delivery effort 57.0. | |
| Assigning neighborhood 5 to van F3 incurs delivery effort 103.0. | |
| Assigning neighborhood 6 to van F3 incurs delivery effort 272.0. | |
| Assigning neighborhood 7 to van F3 incurs delivery effort 687.0. | |
| Assigning neighborhood 8 to van F3 incurs delivery effort 489.0. | |
| Assigning neighborhood 9 to van F3 incurs delivery effort 124.0. | |
| Assigning neighborhood 10 to van F3 incurs delivery effort 162.0. | |
| Assigning neighborhood 0 to van F4 incurs delivery effort 329.0. | |
| Assigning neighborhood 1 to van F4 incurs delivery effort 150.0. | |
| Assigning neighborhood 2 to van F4 incurs delivery effort 274.0. | |
| Assigning neighborhood 3 to van F4 incurs delivery effort 73.0. | |
| Assigning neighborhood 4 to van F4 incurs delivery effort 148.0. | |
| Assigning neighborhood 5 to van F4 incurs delivery effort 398.0. | |
| Assigning neighborhood 6 to van F4 incurs delivery effort 166.0. | |
| Assigning neighborhood 7 to van F4 incurs delivery effort 547.0. | |
| Assigning neighborhood 8 to van F4 incurs delivery effort 342.0. | |
| Assigning neighborhood 9 to van F4 incurs delivery effort 49.0. | |
| Assigning neighborhood 10 to van F4 incurs delivery effort 37.0. | |
| Use these 4 vans and 11 neighborhood figures to find the assignment that minimizes total deployment fees plus delivery effort. | |
| 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': [600.0, 600.0, 600.0, 600.0], 'capacities': [700.0, 700.0, 700.0, 700.0], 'connection_costs': [[183.0, 62.0, 87.0, 24.0, 165.0, 248.0, 77.0, 313.0, 49.0, 28.0, 42.0], [30.0, 391.0, 447.0, 517.0, 1039.0, 1382.0, 132.0, 201.0, 864.0, 305.0, 780.0], [445.0, 275.0, 421.0, 194.0, 57.0, 103.0, 272.0, 687.0, 489.0, 124.0, 162.0], [329.0, 150.0, 274.0, 73.0, 148.0, 398.0, 166.0, 547.0, 342.0, 49.0, 37.0]], 'demands': [11.0, 26.0, 20.0, 12.0, 20.0, 19.0, 20.0, 26.0, 16.0, 14.0, 13.0], 'objective': 1878.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}",1878.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 11, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 11.0}, {'id': 1, 'demand': 26.0}, {'id': 2, 'demand': 20.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 20.0}, {'id': 5, 'demand': 19.0}, {'id': 6, 'demand': 20.0}, {'id': 7, 'demand': 26.0}, {'id': 8, 'demand': 16.0}, {'id': 9, 'demand': 14.0}, {'id': 10, 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 183.0}, {'facility': 'F1', 'customer': 1, 'cost': 62.0}, {'facility': 'F1', 'customer': 2, 'cost': 87.0}, {'facility': 'F1', 'customer': 3, 'cost': 24.0}, {'facility': 'F1', 'customer': 4, 'cost': 165.0}, {'facility': 'F1', 'customer': 5, 'cost': 248.0}, {'facility': 'F1', 'customer': 6, 'cost': 77.0}, {'facility': 'F1', 'customer': 7, 'cost': 313.0}, {'facility': 'F1', 'customer': 8, 'cost': 49.0}, {'facility': 'F1', 'customer': 9, 'cost': 28.0}, {'facility': 'F1', 'customer': 10, 'cost': 42.0}, {'facility': 'F2', 'customer': 0, 'cost': 30.0}, {'facility': 'F2', 'customer': 1, 'cost': 391.0}, {'facility': 'F2', 'customer': 2, 'cost': 447.0}, {'facility': 'F2', 'customer': 3, 'cost': 517.0}, {'facility': 'F2', 'customer': 4, 'cost': 1039.0}, {'facility': 'F2', 'customer': 5, 'cost': 1382.0}, {'facility': 'F2', 'customer': 6, 'cost': 132.0}, {'facility': 'F2', 'customer': 7, 'cost': 201.0}, {'facility': 'F2', 'customer': 8, 'cost': 864.0}, {'facility': 'F2', 'customer': 9, 'cost': 305.0}, {'facility': 'F2', 'customer': 10, 'cost': 780.0}, {'facility': 'F3', 'customer': 0, 'cost': 445.0}, {'facility': 'F3', 'customer': 1, 'cost': 275.0}, {'facility': 'F3', 'customer': 2, 'cost': 421.0}, {'facility': 'F3', 'customer': 3, 'cost': 194.0}, {'facility': 'F3', 'customer': 4, 'cost': 57.0}, {'facility': 'F3', 'customer': 5, 'cost': 103.0}, {'facility': 'F3', 'customer': 6, 'cost': 272.0}, {'facility': 'F3', 'customer': 7, 'cost': 687.0}, {'facility': 'F3', 'customer': 8, 'cost': 489.0}, {'facility': 'F3', 'customer': 9, 'cost': 124.0}, {'facility': 'F3', 'customer': 10, 'cost': 162.0}, {'facility': 'F4', 'customer': 0, 'cost': 329.0}, {'facility': 'F4', 'customer': 1, 'cost': 150.0}, {'facility': 'F4', 'customer': 2, 'cost': 274.0}, {'facility': 'F4', 'customer': 3, 'cost': 73.0}, {'facility': 'F4', 'customer': 4, 'cost': 148.0}, {'facility': 'F4', 'customer': 5, 'cost': 398.0}, {'facility': 'F4', 'customer': 6, 'cost': 166.0}, {'facility': 'F4', 'customer': 7, 'cost': 547.0}, {'facility': 'F4', 'customer': 8, 'cost': 342.0}, {'facility': 'F4', 'customer': 9, 'cost': 49.0}, {'facility': 'F4', 'customer': 10, 'cost': 37.0}], 'objective': 1878.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",7,nl,0 | |
| 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. | |
| There are 4 hubs and 10 sites in this instance. | |
| **Hubs** | |
| | hub_id | setup_cost | hub_capacity | | |
| |---|---|---| | |
| | F1 | 300.0 | 700.0 | | |
| | F2 | 300.0 | 700.0 | | |
| | F3 | 300.0 | 700.0 | | |
| | F4 | 300.0 | 700.0 | | |
| **Sites** | |
| | site_id | site_demand | | |
| |---|---| | |
| | 1 | 24.0 | | |
| | 2 | 25.0 | | |
| | 3 | 15.0 | | |
| | 4 | 13.0 | | |
| | 5 | 14.0 | | |
| | 6 | 19.0 | | |
| | 7 | 17.0 | | |
| | 8 | 18.0 | | |
| | 9 | 17.0 | | |
| | 10 | 19.0 | | |
| **Shipment Cost** | |
| | hub_id | site_id | shipment_cost | | |
| |---|---|---| | |
| | F1 | 1 | 228.0 | | |
| | F1 | 2 | 389.0 | | |
| | F1 | 3 | 43.0 | | |
| | F1 | 4 | 26.0 | | |
| | F1 | 5 | 30.0 | | |
| | F1 | 6 | 38.0 | | |
| | F1 | 7 | 171.0 | | |
| | F1 | 8 | 37.0 | | |
| | F1 | 9 | 266.0 | | |
| | F1 | 10 | 274.0 | | |
| | F2 | 1 | 818.0 | | |
| | F2 | 2 | 120.0 | | |
| | F2 | 3 | 200.0 | | |
| | F2 | 4 | 99.0 | | |
| | F2 | 5 | 172.0 | | |
| | F2 | 6 | 273.0 | | |
| | F2 | 7 | 146.0 | | |
| | F2 | 8 | 87.0 | | |
| | F2 | 9 | 691.0 | | |
| | F2 | 10 | 70.0 | | |
| | F3 | 1 | 1276.0 | | |
| | F3 | 2 | 619.0 | | |
| | F3 | 3 | 414.0 | | |
| | F3 | 4 | 242.0 | | |
| | F3 | 5 | 458.0 | | |
| | F3 | 6 | 625.0 | | |
| | F3 | 7 | 573.0 | | |
| | F3 | 8 | 181.0 | | |
| | F3 | 9 | 1040.0 | | |
| | F3 | 10 | 56.0 | | |
| | F4 | 1 | 1148.0 | | |
| | F4 | 2 | 1197.0 | | |
| | F4 | 3 | 40.0 | | |
| | F4 | 4 | 29.0 | | |
| | F4 | 5 | 249.0 | | |
| | F4 | 6 | 467.0 | | |
| | F4 | 7 | 894.0 | | |
| | F4 | 8 | 36.0 | | |
| | F4 | 9 | 644.0 | | |
| | F4 | 10 | 516.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, 300.0], 'capacities': [700.0, 700.0, 700.0, 700.0], 'connection_costs': [[228.0, 389.0, 43.0, 26.0, 30.0, 38.0, 171.0, 37.0, 266.0, 274.0], [818.0, 120.0, 200.0, 99.0, 172.0, 273.0, 146.0, 87.0, 691.0, 70.0], [1276.0, 619.0, 414.0, 242.0, 458.0, 625.0, 573.0, 181.0, 1040.0, 56.0], [1148.0, 1197.0, 40.0, 29.0, 249.0, 467.0, 894.0, 36.0, 644.0, 516.0]], 'demands': [24.0, 25.0, 15.0, 13.0, 14.0, 19.0, 17.0, 18.0, 17.0, 19.0], 'objective': 1604.0}","{'open_facilities': [0, 1], 'assignments': [0, 1, 0, 0, 0, 0, 1, 0, 0, 1]}",1604.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 10, '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': 1, 'demand': 24.0}, {'id': 2, 'demand': 25.0}, {'id': 3, 'demand': 15.0}, {'id': 4, 'demand': 13.0}, {'id': 5, 'demand': 14.0}, {'id': 6, 'demand': 19.0}, {'id': 7, 'demand': 17.0}, {'id': 8, 'demand': 18.0}, {'id': 9, 'demand': 17.0}, {'id': 10, 'demand': 19.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 228.0}, {'facility': 'F1', 'customer': 2, 'cost': 389.0}, {'facility': 'F1', 'customer': 3, 'cost': 43.0}, {'facility': 'F1', 'customer': 4, 'cost': 26.0}, {'facility': 'F1', 'customer': 5, 'cost': 30.0}, {'facility': 'F1', 'customer': 6, 'cost': 38.0}, {'facility': 'F1', 'customer': 7, 'cost': 171.0}, {'facility': 'F1', 'customer': 8, 'cost': 37.0}, {'facility': 'F1', 'customer': 9, 'cost': 266.0}, {'facility': 'F1', 'customer': 10, 'cost': 274.0}, {'facility': 'F2', 'customer': 1, 'cost': 818.0}, {'facility': 'F2', 'customer': 2, 'cost': 120.0}, {'facility': 'F2', 'customer': 3, 'cost': 200.0}, {'facility': 'F2', 'customer': 4, 'cost': 99.0}, {'facility': 'F2', 'customer': 5, 'cost': 172.0}, {'facility': 'F2', 'customer': 6, 'cost': 273.0}, {'facility': 'F2', 'customer': 7, 'cost': 146.0}, {'facility': 'F2', 'customer': 8, 'cost': 87.0}, {'facility': 'F2', 'customer': 9, 'cost': 691.0}, {'facility': 'F2', 'customer': 10, 'cost': 70.0}, {'facility': 'F3', 'customer': 1, 'cost': 1276.0}, {'facility': 'F3', 'customer': 2, 'cost': 619.0}, {'facility': 'F3', 'customer': 3, 'cost': 414.0}, {'facility': 'F3', 'customer': 4, 'cost': 242.0}, {'facility': 'F3', 'customer': 5, 'cost': 458.0}, {'facility': 'F3', 'customer': 6, 'cost': 625.0}, {'facility': 'F3', 'customer': 7, 'cost': 573.0}, {'facility': 'F3', 'customer': 8, 'cost': 181.0}, {'facility': 'F3', 'customer': 9, 'cost': 1040.0}, {'facility': 'F3', 'customer': 10, 'cost': 56.0}, {'facility': 'F4', 'customer': 1, 'cost': 1148.0}, {'facility': 'F4', 'customer': 2, 'cost': 1197.0}, {'facility': 'F4', 'customer': 3, 'cost': 40.0}, {'facility': 'F4', 'customer': 4, 'cost': 29.0}, {'facility': 'F4', 'customer': 5, 'cost': 249.0}, {'facility': 'F4', 'customer': 6, 'cost': 467.0}, {'facility': 'F4', 'customer': 7, 'cost': 894.0}, {'facility': 'F4', 'customer': 8, 'cost': 36.0}, {'facility': 'F4', 'customer': 9, 'cost': 644.0}, {'facility': 'F4', 'customer': 10, 'cost': 516.0}], 'objective': 1604.0}","{'selected': ['F1', 'F2'], 'assignments': ['F1', 'F2', 'F1', 'F1', 'F1', 'F1', 'F2', 'F1', 'F1', 'F2']}",8,markdown_table,1 | |
| CFLP,CFLP,"We manage local solar install crews and need to figure out which teams to switch on and which team will do each installation. Each team you turn on charges an activation fee and can only take on a certain amount of work; sending a team to a customer also costs travel and the actual service time. What makes one plan better than another is the final tab: add up the charges for every team we activated plus every travel and service cost for each assigned customer, and choose the assignment that produces the lowest total, while making sure every customer is assigned to one active team and no teamβs workload goes over its limit. The exact team fees, capacities, and customer requests are shown below. | |
| { | |
| ""num_teams"": 4, | |
| ""num_customers"": 9, | |
| ""teams"": [ | |
| { | |
| ""team_id"": ""F1"", | |
| ""activation_fee"": 400.0, | |
| ""workload_capacity"": 300.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""activation_fee"": 400.0, | |
| ""workload_capacity"": 300.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""activation_fee"": 400.0, | |
| ""workload_capacity"": 300.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""activation_fee"": 400.0, | |
| ""workload_capacity"": 300.0 | |
| } | |
| ], | |
| ""requests"": [ | |
| { | |
| ""request_id"": 1, | |
| ""installation_demand"": 21.0 | |
| }, | |
| { | |
| ""request_id"": 2, | |
| ""installation_demand"": 28.0 | |
| }, | |
| { | |
| ""request_id"": 3, | |
| ""installation_demand"": 12.0 | |
| }, | |
| { | |
| ""request_id"": 4, | |
| ""installation_demand"": 13.0 | |
| }, | |
| { | |
| ""request_id"": 5, | |
| ""installation_demand"": 13.0 | |
| }, | |
| { | |
| ""request_id"": 6, | |
| ""installation_demand"": 12.0 | |
| }, | |
| { | |
| ""request_id"": 7, | |
| ""installation_demand"": 19.0 | |
| }, | |
| { | |
| ""request_id"": 8, | |
| ""installation_demand"": 17.0 | |
| }, | |
| { | |
| ""request_id"": 9, | |
| ""installation_demand"": 12.0 | |
| } | |
| ], | |
| ""travel_and_services"": [ | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 1, | |
| ""travel_and_service_cost"": 647.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 2, | |
| ""travel_and_service_cost"": 324.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 3, | |
| ""travel_and_service_cost"": 481.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 4, | |
| ""travel_and_service_cost"": 242.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 5, | |
| ""travel_and_service_cost"": 27.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 6, | |
| ""travel_and_service_cost"": 333.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 7, | |
| ""travel_and_service_cost"": 38.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 8, | |
| ""travel_and_service_cost"": 171.0 | |
| }, | |
| { | |
| ""team_id"": ""F1"", | |
| ""request_id"": 9, | |
| ""travel_and_service_cost"": 31.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 1, | |
| ""travel_and_service_cost"": 217.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 2, | |
| ""travel_and_service_cost"": 341.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 3, | |
| ""travel_and_service_cost"": 232.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 4, | |
| ""travel_and_service_cost"": 1237.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 5, | |
| ""travel_and_service_cost"": 904.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 6, | |
| ""travel_and_service_cost"": 203.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 7, | |
| ""travel_and_service_cost"": 776.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 8, | |
| ""travel_and_service_cost"": 813.0 | |
| }, | |
| { | |
| ""team_id"": ""F2"", | |
| ""request_id"": 9, | |
| ""travel_and_service_cost"": 1039.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 1, | |
| ""travel_and_service_cost"": 273.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 2, | |
| ""travel_and_service_cost"": 66.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 3, | |
| ""travel_and_service_cost"": 131.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 4, | |
| ""travel_and_service_cost"": 712.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 5, | |
| ""travel_and_service_cost"": 341.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 6, | |
| ""travel_and_service_cost"": 57.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 7, | |
| ""travel_and_service_cost"": 273.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 8, | |
| ""travel_and_service_cost"": 146.0 | |
| }, | |
| { | |
| ""team_id"": ""F3"", | |
| ""request_id"": 9, | |
| ""travel_and_service_cost"": 429.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 1, | |
| ""travel_and_service_cost"": 820.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 2, | |
| ""travel_and_service_cost"": 474.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 3, | |
| ""travel_and_service_cost"": 656.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 4, | |
| ""travel_and_service_cost"": 399.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 5, | |
| ""travel_and_service_cost"": 26.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 6, | |
| ""travel_and_service_cost"": 473.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 7, | |
| ""travel_and_service_cost"": 42.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 8, | |
| ""travel_and_service_cost"": 421.0 | |
| }, | |
| { | |
| ""team_id"": ""F4"", | |
| ""request_id"": 9, | |
| ""travel_and_service_cost"": 180.0 | |
| } | |
| ] | |
| } | |
| 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': [400.0, 400.0, 400.0, 400.0], 'capacities': [300.0, 300.0, 300.0, 300.0], 'connection_costs': [[647.0, 324.0, 481.0, 242.0, 27.0, 333.0, 38.0, 171.0, 31.0], [217.0, 341.0, 232.0, 1237.0, 904.0, 203.0, 776.0, 813.0, 1039.0], [273.0, 66.0, 131.0, 712.0, 341.0, 57.0, 273.0, 146.0, 429.0], [820.0, 474.0, 656.0, 399.0, 26.0, 473.0, 42.0, 421.0, 180.0]], 'demands': [21.0, 28.0, 12.0, 13.0, 13.0, 12.0, 19.0, 17.0, 12.0], 'objective': 1811.0}","{'open_facilities': [0, 2], 'assignments': [2, 2, 2, 0, 0, 2, 0, 2, 0]}",1811.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 9, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 1, 'demand': 21.0}, {'id': 2, 'demand': 28.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 13.0}, {'id': 5, 'demand': 13.0}, {'id': 6, 'demand': 12.0}, {'id': 7, 'demand': 19.0}, {'id': 8, 'demand': 17.0}, {'id': 9, 'demand': 12.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 647.0}, {'facility': 'F1', 'customer': 2, 'cost': 324.0}, {'facility': 'F1', 'customer': 3, 'cost': 481.0}, {'facility': 'F1', 'customer': 4, 'cost': 242.0}, {'facility': 'F1', 'customer': 5, 'cost': 27.0}, {'facility': 'F1', 'customer': 6, 'cost': 333.0}, {'facility': 'F1', 'customer': 7, 'cost': 38.0}, {'facility': 'F1', 'customer': 8, 'cost': 171.0}, {'facility': 'F1', 'customer': 9, 'cost': 31.0}, {'facility': 'F2', 'customer': 1, 'cost': 217.0}, {'facility': 'F2', 'customer': 2, 'cost': 341.0}, {'facility': 'F2', 'customer': 3, 'cost': 232.0}, {'facility': 'F2', 'customer': 4, 'cost': 1237.0}, {'facility': 'F2', 'customer': 5, 'cost': 904.0}, {'facility': 'F2', 'customer': 6, 'cost': 203.0}, {'facility': 'F2', 'customer': 7, 'cost': 776.0}, {'facility': 'F2', 'customer': 8, 'cost': 813.0}, {'facility': 'F2', 'customer': 9, 'cost': 1039.0}, {'facility': 'F3', 'customer': 1, 'cost': 273.0}, {'facility': 'F3', 'customer': 2, 'cost': 66.0}, {'facility': 'F3', 'customer': 3, 'cost': 131.0}, {'facility': 'F3', 'customer': 4, 'cost': 712.0}, {'facility': 'F3', 'customer': 5, 'cost': 341.0}, {'facility': 'F3', 'customer': 6, 'cost': 57.0}, {'facility': 'F3', 'customer': 7, 'cost': 273.0}, {'facility': 'F3', 'customer': 8, 'cost': 146.0}, {'facility': 'F3', 'customer': 9, 'cost': 429.0}, {'facility': 'F4', 'customer': 1, 'cost': 820.0}, {'facility': 'F4', 'customer': 2, 'cost': 474.0}, {'facility': 'F4', 'customer': 3, 'cost': 656.0}, {'facility': 'F4', 'customer': 4, 'cost': 399.0}, {'facility': 'F4', 'customer': 5, 'cost': 26.0}, {'facility': 'F4', 'customer': 6, 'cost': 473.0}, {'facility': 'F4', 'customer': 7, 'cost': 42.0}, {'facility': 'F4', 'customer': 8, 'cost': 421.0}, {'facility': 'F4', 'customer': 9, 'cost': 180.0}], 'objective': 1811.0}","{'selected': ['F1', 'F3'], 'assignments': ['F3', 'F3', 'F3', 'F1', 'F1', 'F3', 'F1', 'F3', 'F1']}",9,json,1 | |
| 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 6 candidate towers and 13 service areas. | |
| Tower F1 has commissioning cost 400.0 and user capacity 300.0. | |
| Tower F2 has commissioning cost 400.0 and user capacity 300.0. | |
| Tower F3 has commissioning cost 400.0 and user capacity 300.0. | |
| Tower F4 has commissioning cost 400.0 and user capacity 300.0. | |
| Tower F5 has commissioning cost 400.0 and user capacity 300.0. | |
| Tower F6 has commissioning cost 400.0 and user capacity 300.0. | |
| Service area 1 has 28.0 users. | |
| Service area 2 has 23.0 users. | |
| Service area 3 has 18.0 users. | |
| Service area 4 has 12.0 users. | |
| Service area 5 has 20.0 users. | |
| Service area 6 has 29.0 users. | |
| Service area 7 has 22.0 users. | |
| Service area 8 has 27.0 users. | |
| Service area 9 has 23.0 users. | |
| Service area 10 has 11.0 users. | |
| Service area 11 has 11.0 users. | |
| Service area 12 has 29.0 users. | |
| Service area 13 has 11.0 users. | |
| Assigning service area 1 to tower F1 incurs a connection penalty of 83.0. | |
| Assigning service area 2 to tower F1 incurs a connection penalty of 120.0. | |
| Assigning service area 3 to tower F1 incurs a connection penalty of 42.0. | |
| Assigning service area 4 to tower F1 incurs a connection penalty of 282.0. | |
| Assigning service area 5 to tower F1 incurs a connection penalty of 477.0. | |
| Assigning service area 6 to tower F1 incurs a connection penalty of 231.0. | |
| Assigning service area 7 to tower F1 incurs a connection penalty of 832.0. | |
| Assigning service area 8 to tower F1 incurs a connection penalty of 383.0. | |
| Assigning service area 9 to tower F1 incurs a connection penalty of 46.0. | |
| Assigning service area 10 to tower F1 incurs a connection penalty of 335.0. | |
| Assigning service area 11 to tower F1 incurs a connection penalty of 97.0. | |
| Assigning service area 12 to tower F1 incurs a connection penalty of 475.0. | |
| Assigning service area 13 to tower F1 incurs a connection penalty of 606.0. | |
| Assigning service area 1 to tower F2 incurs a connection penalty of 517.0. | |
| Assigning service area 2 to tower F2 incurs a connection penalty of 364.0. | |
| Assigning service area 3 to tower F2 incurs a connection penalty of 161.0. | |
| Assigning service area 4 to tower F2 incurs a connection penalty of 691.0. | |
| Assigning service area 5 to tower F2 incurs a connection penalty of 142.0. | |
| Assigning service area 6 to tower F2 incurs a connection penalty of 495.0. | |
| Assigning service area 7 to tower F2 incurs a connection penalty of 729.0. | |
| Assigning service area 8 to tower F2 incurs a connection penalty of 781.0. | |
| Assigning service area 9 to tower F2 incurs a connection penalty of 342.0. | |
| Assigning service area 10 to tower F2 incurs a connection penalty of 720.0. | |
| Assigning service area 11 to tower F2 incurs a connection penalty of 303.0. | |
| Assigning service area 12 to tower F2 incurs a connection penalty of 875.0. | |
| Assigning service area 13 to tower F2 incurs a connection penalty of 501.0. | |
| Assigning service area 1 to tower F3 incurs a connection penalty of 213.0. | |
| Assigning service area 2 to tower F3 incurs a connection penalty of 193.0. | |
| Assigning service area 3 to tower F3 incurs a connection penalty of 44.0. | |
| Assigning service area 4 to tower F3 incurs a connection penalty of 412.0. | |
| Assigning service area 5 to tower F3 incurs a connection penalty of 340.0. | |
| Assigning service area 6 to tower F3 incurs a connection penalty of 315.0. | |
| Assigning service area 7 to tower F3 incurs a connection penalty of 611.0. | |
| Assigning service area 8 to tower F3 incurs a connection penalty of 447.0. | |
| Assigning service area 9 to tower F3 incurs a connection penalty of 105.0. | |
| Assigning service area 10 to tower F3 incurs a connection penalty of 459.0. | |
| Assigning service area 11 to tower F3 incurs a connection penalty of 158.0. | |
| Assigning service area 12 to tower F3 incurs a connection penalty of 604.0. | |
| Assigning service area 13 to tower F3 incurs a connection penalty of 356.0. | |
| Assigning service area 1 to tower F4 incurs a connection penalty of 389.0. | |
| Assigning service area 2 to tower F4 incurs a connection penalty of 46.0. | |
| Assigning service area 3 to tower F4 incurs a connection penalty of 208.0. | |
| Assigning service area 4 to tower F4 incurs a connection penalty of 33.0. | |
| Assigning service area 5 to tower F4 incurs a connection penalty of 750.0. | |
| Assigning service area 6 to tower F4 incurs a connection penalty of 91.0. | |
| Assigning service area 7 to tower F4 incurs a connection penalty of 1286.0. | |
| Assigning service area 8 to tower F4 incurs a connection penalty of 691.0. | |
| Assigning service area 9 to tower F4 incurs a connection penalty of 288.0. | |
| Assigning service area 10 to tower F4 incurs a connection penalty of 86.0. | |
| Assigning service area 11 to tower F4 incurs a connection penalty of 24.0. | |
| Assigning service area 12 to tower F4 incurs a connection penalty of 200.0. | |
| Assigning service area 13 to tower F4 incurs a connection penalty of 1077.0. | |
| Assigning service area 1 to tower F5 incurs a connection penalty of 84.0. | |
| Assigning service area 2 to tower F5 incurs a connection penalty of 70.0. | |
| Assigning service area 3 to tower F5 incurs a connection penalty of 78.0. | |
| Assigning service area 4 to tower F5 incurs a connection penalty of 131.0. | |
| Assigning service area 5 to tower F5 incurs a connection penalty of 561.0. | |
| Assigning service area 6 to tower F5 incurs a connection penalty of 155.0. | |
| Assigning service area 7 to tower F5 incurs a connection penalty of 829.0. | |
| Assigning service area 8 to tower F5 incurs a connection penalty of 220.0. | |
| Assigning service area 9 to tower F5 incurs a connection penalty of 79.0. | |
| Assigning service area 10 to tower F5 incurs a connection penalty of 191.0. | |
| Assigning service area 11 to tower F5 incurs a connection penalty of 53.0. | |
| Assigning service area 12 to tower F5 incurs a connection penalty of 311.0. | |
| Assigning service area 13 to tower F5 incurs a connection penalty of 640.0. | |
| Assigning service area 1 to tower F6 incurs a connection penalty of 526.0. | |
| Assigning service area 2 to tower F6 incurs a connection penalty of 305.0. | |
| Assigning service area 3 to tower F6 incurs a connection penalty of 104.0. | |
| Assigning service area 4 to tower F6 incurs a connection penalty of 656.0. | |
| Assigning service area 5 to tower F6 incurs a connection penalty of 289.0. | |
| Assigning service area 6 to tower F6 incurs a connection penalty of 436.0. | |
| Assigning service area 7 to tower F6 incurs a connection penalty of 1051.0. | |
| Assigning service area 8 to tower F6 incurs a connection penalty of 873.0. | |
| Assigning service area 9 to tower F6 incurs a connection penalty of 305.0. | |
| Assigning service area 10 to tower F6 incurs a connection penalty of 673.0. | |
| Assigning service area 11 to tower F6 incurs a connection penalty of 247.0. | |
| Assigning service area 12 to tower F6 incurs a connection penalty of 831.0. | |
| Assigning service area 13 to tower F6 incurs a connection penalty of 787.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': [400.0, 400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [300.0, 300.0, 300.0, 300.0, 300.0, 300.0], 'connection_costs': [[83.0, 120.0, 42.0, 282.0, 477.0, 231.0, 832.0, 383.0, 46.0, 335.0, 97.0, 475.0, 606.0], [517.0, 364.0, 161.0, 691.0, 142.0, 495.0, 729.0, 781.0, 342.0, 720.0, 303.0, 875.0, 501.0], [213.0, 193.0, 44.0, 412.0, 340.0, 315.0, 611.0, 447.0, 105.0, 459.0, 158.0, 604.0, 356.0], [389.0, 46.0, 208.0, 33.0, 750.0, 91.0, 1286.0, 691.0, 288.0, 86.0, 24.0, 200.0, 1077.0], [84.0, 70.0, 78.0, 131.0, 561.0, 155.0, 829.0, 220.0, 79.0, 191.0, 53.0, 311.0, 640.0], [526.0, 305.0, 104.0, 656.0, 289.0, 436.0, 1051.0, 873.0, 305.0, 673.0, 247.0, 831.0, 787.0]], 'demands': [28.0, 23.0, 18.0, 12.0, 20.0, 29.0, 22.0, 27.0, 23.0, 11.0, 11.0, 29.0, 11.0], 'objective': 3396.0}","{'open_facilities': [2, 3], 'assignments': [2, 3, 2, 3, 2, 3, 2, 2, 2, 3, 3, 3, 2]}",3396.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 13, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F6', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 18.0}, {'id': 4, 'demand': 12.0}, {'id': 5, 'demand': 20.0}, {'id': 6, 'demand': 29.0}, {'id': 7, 'demand': 22.0}, {'id': 8, 'demand': 27.0}, {'id': 9, 'demand': 23.0}, {'id': 10, 'demand': 11.0}, {'id': 11, 'demand': 11.0}, {'id': 12, 'demand': 29.0}, {'id': 13, 'demand': 11.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 83.0}, {'facility': 'F1', 'customer': 2, 'cost': 120.0}, {'facility': 'F1', 'customer': 3, 'cost': 42.0}, {'facility': 'F1', 'customer': 4, 'cost': 282.0}, {'facility': 'F1', 'customer': 5, 'cost': 477.0}, {'facility': 'F1', 'customer': 6, 'cost': 231.0}, {'facility': 'F1', 'customer': 7, 'cost': 832.0}, {'facility': 'F1', 'customer': 8, 'cost': 383.0}, {'facility': 'F1', 'customer': 9, 'cost': 46.0}, {'facility': 'F1', 'customer': 10, 'cost': 335.0}, {'facility': 'F1', 'customer': 11, 'cost': 97.0}, {'facility': 'F1', 'customer': 12, 'cost': 475.0}, {'facility': 'F1', 'customer': 13, 'cost': 606.0}, {'facility': 'F2', 'customer': 1, 'cost': 517.0}, {'facility': 'F2', 'customer': 2, 'cost': 364.0}, {'facility': 'F2', 'customer': 3, 'cost': 161.0}, {'facility': 'F2', 'customer': 4, 'cost': 691.0}, {'facility': 'F2', 'customer': 5, 'cost': 142.0}, {'facility': 'F2', 'customer': 6, 'cost': 495.0}, {'facility': 'F2', 'customer': 7, 'cost': 729.0}, {'facility': 'F2', 'customer': 8, 'cost': 781.0}, {'facility': 'F2', 'customer': 9, 'cost': 342.0}, {'facility': 'F2', 'customer': 10, 'cost': 720.0}, {'facility': 'F2', 'customer': 11, 'cost': 303.0}, {'facility': 'F2', 'customer': 12, 'cost': 875.0}, {'facility': 'F2', 'customer': 13, 'cost': 501.0}, {'facility': 'F3', 'customer': 1, 'cost': 213.0}, {'facility': 'F3', 'customer': 2, 'cost': 193.0}, {'facility': 'F3', 'customer': 3, 'cost': 44.0}, {'facility': 'F3', 'customer': 4, 'cost': 412.0}, {'facility': 'F3', 'customer': 5, 'cost': 340.0}, {'facility': 'F3', 'customer': 6, 'cost': 315.0}, {'facility': 'F3', 'customer': 7, 'cost': 611.0}, {'facility': 'F3', 'customer': 8, 'cost': 447.0}, {'facility': 'F3', 'customer': 9, 'cost': 105.0}, {'facility': 'F3', 'customer': 10, 'cost': 459.0}, {'facility': 'F3', 'customer': 11, 'cost': 158.0}, {'facility': 'F3', 'customer': 12, 'cost': 604.0}, {'facility': 'F3', 'customer': 13, 'cost': 356.0}, {'facility': 'F4', 'customer': 1, 'cost': 389.0}, {'facility': 'F4', 'customer': 2, 'cost': 46.0}, {'facility': 'F4', 'customer': 3, 'cost': 208.0}, {'facility': 'F4', 'customer': 4, 'cost': 33.0}, {'facility': 'F4', 'customer': 5, 'cost': 750.0}, {'facility': 'F4', 'customer': 6, 'cost': 91.0}, {'facility': 'F4', 'customer': 7, 'cost': 1286.0}, {'facility': 'F4', 'customer': 8, 'cost': 691.0}, {'facility': 'F4', 'customer': 9, 'cost': 288.0}, {'facility': 'F4', 'customer': 10, 'cost': 86.0}, {'facility': 'F4', 'customer': 11, 'cost': 24.0}, {'facility': 'F4', 'customer': 12, 'cost': 200.0}, {'facility': 'F4', 'customer': 13, 'cost': 1077.0}, {'facility': 'F5', 'customer': 1, 'cost': 84.0}, {'facility': 'F5', 'customer': 2, 'cost': 70.0}, {'facility': 'F5', 'customer': 3, 'cost': 78.0}, {'facility': 'F5', 'customer': 4, 'cost': 131.0}, {'facility': 'F5', 'customer': 5, 'cost': 561.0}, {'facility': 'F5', 'customer': 6, 'cost': 155.0}, {'facility': 'F5', 'customer': 7, 'cost': 829.0}, {'facility': 'F5', 'customer': 8, 'cost': 220.0}, {'facility': 'F5', 'customer': 9, 'cost': 79.0}, {'facility': 'F5', 'customer': 10, 'cost': 191.0}, {'facility': 'F5', 'customer': 11, 'cost': 53.0}, {'facility': 'F5', 'customer': 12, 'cost': 311.0}, {'facility': 'F5', 'customer': 13, 'cost': 640.0}, {'facility': 'F6', 'customer': 1, 'cost': 526.0}, {'facility': 'F6', 'customer': 2, 'cost': 305.0}, {'facility': 'F6', 'customer': 3, 'cost': 104.0}, {'facility': 'F6', 'customer': 4, 'cost': 656.0}, {'facility': 'F6', 'customer': 5, 'cost': 289.0}, {'facility': 'F6', 'customer': 6, 'cost': 436.0}, {'facility': 'F6', 'customer': 7, 'cost': 1051.0}, {'facility': 'F6', 'customer': 8, 'cost': 873.0}, {'facility': 'F6', 'customer': 9, 'cost': 305.0}, {'facility': 'F6', 'customer': 10, 'cost': 673.0}, {'facility': 'F6', 'customer': 11, 'cost': 247.0}, {'facility': 'F6', 'customer': 12, 'cost': 831.0}, {'facility': 'F6', 'customer': 13, 'cost': 787.0}], 'objective': 3396.0}","{'selected': ['F3', 'F4'], 'assignments': ['F3', 'F4', 'F3', 'F4', 'F3', 'F4', 'F3', 'F3', 'F3', 'F4', 'F4', 'F4', 'F3']}",10,nl,1 | |
| CFLP,CFLP,"Recently the health team put together a list of possible pop-up clinics and all the neighborhoods that need coverage; the task now is choosing which clinics to run and which single clinic each neighborhood will use. Each clinic has a daily throughput cap and an opening cost, and each neighborhood-to-clinic pairing carries a transport cost. The best setup keeps the combined expense down β sum the opening costs for clinics that get opened plus every neighborhoodβs travel cost β and it must assign every neighborhood to one open clinic without exceeding any clinicβs daily capacity. Full details are shown below. | |
| There are 4 clinics and 9 neighborhoods in this instance. | |
| **Clinics** | |
| | clinic_id | clinic_opening_cost | clinic_daily_throughput | | |
| |---|---|---| | |
| | F1 | 296.0 | 504.0 | | |
| | F2 | 310.0 | 580.0 | | |
| | F3 | 329.0 | 456.0 | | |
| | F4 | 179.0 | 549.0 | | |
| **Neighborhoods** | |
| | neighborhood_id | neighborhood_demand | | |
| |---|---| | |
| | 0 | 31.0 | | |
| | 1 | 14.0 | | |
| | 2 | 40.0 | | |
| | 3 | 26.0 | | |
| | 4 | 22.0 | | |
| | 5 | 37.0 | | |
| | 6 | 19.0 | | |
| | 7 | 10.0 | | |
| | 8 | 37.0 | | |
| **Transport Cost** | |
| | clinic_id | neighborhood_id | transport_cost | | |
| |---|---|---| | |
| | F1 | 0 | 329.0 | | |
| | F1 | 1 | 376.0 | | |
| | F1 | 2 | 335.0 | | |
| | F1 | 3 | 337.0 | | |
| | F1 | 4 | 467.0 | | |
| | F1 | 5 | 243.0 | | |
| | F1 | 6 | 411.0 | | |
| | F1 | 7 | 364.0 | | |
| | F1 | 8 | 156.0 | | |
| | F2 | 0 | 564.0 | | |
| | F2 | 1 | 582.0 | | |
| | F2 | 2 | 294.0 | | |
| | F2 | 3 | 532.0 | | |
| | F2 | 4 | 524.0 | | |
| | F2 | 5 | 9.0 | | |
| | F2 | 6 | 651.0 | | |
| | F2 | 7 | 200.0 | | |
| | F2 | 8 | 141.0 | | |
| | F3 | 0 | 387.0 | | |
| | F3 | 1 | 643.0 | | |
| | F3 | 2 | 200.0 | | |
| | F3 | 3 | 237.0 | | |
| | F3 | 4 | 124.0 | | |
| | F3 | 5 | 425.0 | | |
| | F3 | 6 | 519.0 | | |
| | F3 | 7 | 626.0 | | |
| | F3 | 8 | 297.0 | | |
| | F4 | 0 | 742.0 | | |
| | F4 | 1 | 700.0 | | |
| | F4 | 2 | 458.0 | | |
| | F4 | 3 | 724.0 | | |
| | F4 | 4 | 702.0 | | |
| | F4 | 5 | 197.0 | | |
| | F4 | 6 | 817.0 | | |
| | F4 | 7 | 113.0 | | |
| | F4 | 8 | 334.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': [296.0, 310.0, 329.0, 179.0], 'capacities': [504.0, 580.0, 456.0, 549.0], 'connection_costs': [[329.0, 376.0, 335.0, 337.0, 467.0, 243.0, 411.0, 364.0, 156.0], [564.0, 582.0, 294.0, 532.0, 524.0, 9.0, 651.0, 200.0, 141.0], [387.0, 643.0, 200.0, 237.0, 124.0, 425.0, 519.0, 626.0, 297.0], [742.0, 700.0, 458.0, 724.0, 702.0, 197.0, 817.0, 113.0, 334.0]], 'demands': [31.0, 14.0, 40.0, 26.0, 22.0, 37.0, 19.0, 10.0, 37.0], 'objective': 2947.0}","{'open_facilities': [0, 2, 3], 'assignments': [0, 0, 2, 2, 2, 3, 0, 3, 0]}",2947.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 9, 'facilities': [{'id': 'F1', 'opening_cost': 296.0, 'capacity': 504.0}, {'id': 'F2', 'opening_cost': 310.0, 'capacity': 580.0}, {'id': 'F3', 'opening_cost': 329.0, 'capacity': 456.0}, {'id': 'F4', 'opening_cost': 179.0, 'capacity': 549.0}], 'customers': [{'id': 0, 'demand': 31.0}, {'id': 1, 'demand': 14.0}, {'id': 2, 'demand': 40.0}, {'id': 3, 'demand': 26.0}, {'id': 4, 'demand': 22.0}, {'id': 5, 'demand': 37.0}, {'id': 6, 'demand': 19.0}, {'id': 7, 'demand': 10.0}, {'id': 8, 'demand': 37.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 329.0}, {'facility': 'F1', 'customer': 1, 'cost': 376.0}, {'facility': 'F1', 'customer': 2, 'cost': 335.0}, {'facility': 'F1', 'customer': 3, 'cost': 337.0}, {'facility': 'F1', 'customer': 4, 'cost': 467.0}, {'facility': 'F1', 'customer': 5, 'cost': 243.0}, {'facility': 'F1', 'customer': 6, 'cost': 411.0}, {'facility': 'F1', 'customer': 7, 'cost': 364.0}, {'facility': 'F1', 'customer': 8, 'cost': 156.0}, {'facility': 'F2', 'customer': 0, 'cost': 564.0}, {'facility': 'F2', 'customer': 1, 'cost': 582.0}, {'facility': 'F2', 'customer': 2, 'cost': 294.0}, {'facility': 'F2', 'customer': 3, 'cost': 532.0}, {'facility': 'F2', 'customer': 4, 'cost': 524.0}, {'facility': 'F2', 'customer': 5, 'cost': 9.0}, {'facility': 'F2', 'customer': 6, 'cost': 651.0}, {'facility': 'F2', 'customer': 7, 'cost': 200.0}, {'facility': 'F2', 'customer': 8, 'cost': 141.0}, {'facility': 'F3', 'customer': 0, 'cost': 387.0}, {'facility': 'F3', 'customer': 1, 'cost': 643.0}, {'facility': 'F3', 'customer': 2, 'cost': 200.0}, {'facility': 'F3', 'customer': 3, 'cost': 237.0}, {'facility': 'F3', 'customer': 4, 'cost': 124.0}, {'facility': 'F3', 'customer': 5, 'cost': 425.0}, {'facility': 'F3', 'customer': 6, 'cost': 519.0}, {'facility': 'F3', 'customer': 7, 'cost': 626.0}, {'facility': 'F3', 'customer': 8, 'cost': 297.0}, {'facility': 'F4', 'customer': 0, 'cost': 742.0}, {'facility': 'F4', 'customer': 1, 'cost': 700.0}, {'facility': 'F4', 'customer': 2, 'cost': 458.0}, {'facility': 'F4', 'customer': 3, 'cost': 724.0}, {'facility': 'F4', 'customer': 4, 'cost': 702.0}, {'facility': 'F4', 'customer': 5, 'cost': 197.0}, {'facility': 'F4', 'customer': 6, 'cost': 817.0}, {'facility': 'F4', 'customer': 7, 'cost': 113.0}, {'facility': 'F4', 'customer': 8, 'cost': 334.0}], 'objective': 2947.0}","{'selected': ['F1', 'F3', 'F4'], 'assignments': ['F1', 'F1', 'F3', 'F3', 'F3', 'F4', 'F1', 'F4', 'F1']}",11,markdown_table,0 | |
| CFLP,CFLP,"Many event planners know the drill: pick which mobile kitchens to bring and decide which kitchen will handle each event. Every kitchen has a rental price and a maximum number of meals it can do; every event needs all its meals from one kitchen only. The decision that works is the one where all events are assigned (no splits), no kitchen is overloaded, and the total expense β the sum of trailer deployment costs plus each eventβs delivery fee β is kept as low as possible. The full set of trailer capacities, deployment fees, and event meal counts appears below. | |
| Below are the 5 candidate trailers and the 12 events to consider. | |
| Trailer F1 has a deployment cost of 400.0 and a meal capacity of 1183.0. | |
| Trailer F2 has a deployment cost of 400.0 and a meal capacity of 907.0. | |
| Trailer F3 has a deployment cost of 400.0 and a meal capacity of 1362.0. | |
| Trailer F4 has a deployment cost of 400.0 and a meal capacity of 975.0. | |
| Trailer F5 has a deployment cost of 400.0 and a meal capacity of 1331.0. | |
| Event 0 requires 40.0 meals and must be served entirely by a single deployed trailer. | |
| Event 1 requires 22.0 meals and must be served entirely by a single deployed trailer. | |
| Event 2 requires 28.0 meals and must be served entirely by a single deployed trailer. | |
| Event 3 requires 33.0 meals and must be served entirely by a single deployed trailer. | |
| Event 4 requires 25.0 meals and must be served entirely by a single deployed trailer. | |
| Event 5 requires 11.0 meals and must be served entirely by a single deployed trailer. | |
| Event 6 requires 39.0 meals and must be served entirely by a single deployed trailer. | |
| Event 7 requires 12.0 meals and must be served entirely by a single deployed trailer. | |
| Event 8 requires 42.0 meals and must be served entirely by a single deployed trailer. | |
| Event 9 requires 27.0 meals and must be served entirely by a single deployed trailer. | |
| Event 10 requires 13.0 meals and must be served entirely by a single deployed trailer. | |
| Event 11 requires 13.0 meals and must be served entirely by a single deployed trailer. | |
| If trailer F1 serves event 0, the delivery fee incurred is 580.0. | |
| If trailer F1 serves event 1, the delivery fee incurred is 232.0. | |
| If trailer F1 serves event 2, the delivery fee incurred is 524.0. | |
| If trailer F1 serves event 3, the delivery fee incurred is 400.0. | |
| If trailer F1 serves event 4, the delivery fee incurred is 584.0. | |
| If trailer F1 serves event 5, the delivery fee incurred is 286.0. | |
| If trailer F1 serves event 6, the delivery fee incurred is 719.0. | |
| If trailer F1 serves event 7, the delivery fee incurred is 231.0. | |
| If trailer F1 serves event 8, the delivery fee incurred is 579.0. | |
| If trailer F1 serves event 9, the delivery fee incurred is 156.0. | |
| If trailer F1 serves event 10, the delivery fee incurred is 175.0. | |
| If trailer F1 serves event 11, the delivery fee incurred is 451.0. | |
| If trailer F2 serves event 0, the delivery fee incurred is 579.0. | |
| If trailer F2 serves event 1, the delivery fee incurred is 320.0. | |
| If trailer F2 serves event 2, the delivery fee incurred is 458.0. | |
| If trailer F2 serves event 3, the delivery fee incurred is 99.0. | |
| If trailer F2 serves event 4, the delivery fee incurred is 620.0. | |
| If trailer F2 serves event 5, the delivery fee incurred is 409.0. | |
| If trailer F2 serves event 6, the delivery fee incurred is 453.0. | |
| If trailer F2 serves event 7, the delivery fee incurred is 100.0. | |
| If trailer F2 serves event 8, the delivery fee incurred is 294.0. | |
| If trailer F2 serves event 9, the delivery fee incurred is 208.0. | |
| If trailer F2 serves event 10, the delivery fee incurred is 420.0. | |
| If trailer F2 serves event 11, the delivery fee incurred is 362.0. | |
| If trailer F3 serves event 0, the delivery fee incurred is 544.0. | |
| If trailer F3 serves event 1, the delivery fee incurred is 230.0. | |
| If trailer F3 serves event 2, the delivery fee incurred is 447.0. | |
| If trailer F3 serves event 3, the delivery fee incurred is 220.0. | |
| If trailer F3 serves event 4, the delivery fee incurred is 572.0. | |
| If trailer F3 serves event 5, the delivery fee incurred is 318.0. | |
| If trailer F3 serves event 6, the delivery fee incurred is 547.0. | |
| If trailer F3 serves event 7, the delivery fee incurred is 50.0. | |
| If trailer F3 serves event 8, the delivery fee incurred is 399.0. | |
| If trailer F3 serves event 9, the delivery fee incurred is 97.0. | |
| If trailer F3 serves event 10, the delivery fee incurred is 298.0. | |
| If trailer F3 serves event 11, the delivery fee incurred is 356.0. | |
| If trailer F4 serves event 0, the delivery fee incurred is 708.0. | |
| If trailer F4 serves event 1, the delivery fee incurred is 506.0. | |
| If trailer F4 serves event 2, the delivery fee incurred is 572.0. | |
| If trailer F4 serves event 3, the delivery fee incurred is 106.0. | |
| If trailer F4 serves event 4, the delivery fee incurred is 761.0. | |
| If trailer F4 serves event 5, the delivery fee incurred is 593.0. | |
| If trailer F4 serves event 6, the delivery fee incurred is 396.0. | |
| If trailer F4 serves event 7, the delivery fee incurred is 296.0. | |
| If trailer F4 serves event 8, the delivery fee incurred is 244.0. | |
| If trailer F4 serves event 9, the delivery fee incurred is 404.0. | |
| If trailer F4 serves event 10, the delivery fee incurred is 616.0. | |
| If trailer F4 serves event 11, the delivery fee incurred is 480.0. | |
| If trailer F5 serves event 0, the delivery fee incurred is 510.0. | |
| If trailer F5 serves event 1, the delivery fee incurred is 423.0. | |
| If trailer F5 serves event 2, the delivery fee incurred is 367.0. | |
| If trailer F5 serves event 3, the delivery fee incurred is 260.0. | |
| If trailer F5 serves event 4, the delivery fee incurred is 573.0. | |
| If trailer F5 serves event 5, the delivery fee incurred is 491.0. | |
| If trailer F5 serves event 6, the delivery fee incurred is 195.0. | |
| If trailer F5 serves event 7, the delivery fee incurred is 306.0. | |
| If trailer F5 serves event 8, the delivery fee incurred is 51.0. | |
| If trailer F5 serves event 9, the delivery fee incurred is 384.0. | |
| If trailer F5 serves event 10, the delivery fee incurred is 575.0. | |
| If trailer F5 serves event 11, the delivery fee incurred is 291.0. | |
| Use these entries to choose which trailers to deploy and which trailer will serve each event so all demands are met without exceeding capacities at minimum total cost. | |
| 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': [400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [1183.0, 907.0, 1362.0, 975.0, 1331.0], 'connection_costs': [[580.0, 232.0, 524.0, 400.0, 584.0, 286.0, 719.0, 231.0, 579.0, 156.0, 175.0, 451.0], [579.0, 320.0, 458.0, 99.0, 620.0, 409.0, 453.0, 100.0, 294.0, 208.0, 420.0, 362.0], [544.0, 230.0, 447.0, 220.0, 572.0, 318.0, 547.0, 50.0, 399.0, 97.0, 298.0, 356.0], [708.0, 506.0, 572.0, 106.0, 761.0, 593.0, 396.0, 296.0, 244.0, 404.0, 616.0, 480.0], [510.0, 423.0, 367.0, 260.0, 573.0, 491.0, 195.0, 306.0, 51.0, 384.0, 575.0, 291.0]], 'demands': [40.0, 22.0, 28.0, 33.0, 25.0, 11.0, 39.0, 12.0, 42.0, 27.0, 13.0, 13.0], 'objective': 3999.0}","{'open_facilities': [2, 4], 'assignments': [4, 2, 4, 2, 2, 2, 4, 2, 4, 2, 2, 4]}",3999.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1183.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 907.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1362.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 975.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 1331.0}], 'customers': [{'id': 0, 'demand': 40.0}, {'id': 1, 'demand': 22.0}, {'id': 2, 'demand': 28.0}, {'id': 3, 'demand': 33.0}, {'id': 4, 'demand': 25.0}, {'id': 5, 'demand': 11.0}, {'id': 6, 'demand': 39.0}, {'id': 7, 'demand': 12.0}, {'id': 8, 'demand': 42.0}, {'id': 9, 'demand': 27.0}, {'id': 10, 'demand': 13.0}, {'id': 11, 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 580.0}, {'facility': 'F1', 'customer': 1, 'cost': 232.0}, {'facility': 'F1', 'customer': 2, 'cost': 524.0}, {'facility': 'F1', 'customer': 3, 'cost': 400.0}, {'facility': 'F1', 'customer': 4, 'cost': 584.0}, {'facility': 'F1', 'customer': 5, 'cost': 286.0}, {'facility': 'F1', 'customer': 6, 'cost': 719.0}, {'facility': 'F1', 'customer': 7, 'cost': 231.0}, {'facility': 'F1', 'customer': 8, 'cost': 579.0}, {'facility': 'F1', 'customer': 9, 'cost': 156.0}, {'facility': 'F1', 'customer': 10, 'cost': 175.0}, {'facility': 'F1', 'customer': 11, 'cost': 451.0}, {'facility': 'F2', 'customer': 0, 'cost': 579.0}, {'facility': 'F2', 'customer': 1, 'cost': 320.0}, {'facility': 'F2', 'customer': 2, 'cost': 458.0}, {'facility': 'F2', 'customer': 3, 'cost': 99.0}, {'facility': 'F2', 'customer': 4, 'cost': 620.0}, {'facility': 'F2', 'customer': 5, 'cost': 409.0}, {'facility': 'F2', 'customer': 6, 'cost': 453.0}, {'facility': 'F2', 'customer': 7, 'cost': 100.0}, {'facility': 'F2', 'customer': 8, 'cost': 294.0}, {'facility': 'F2', 'customer': 9, 'cost': 208.0}, {'facility': 'F2', 'customer': 10, 'cost': 420.0}, {'facility': 'F2', 'customer': 11, 'cost': 362.0}, {'facility': 'F3', 'customer': 0, 'cost': 544.0}, {'facility': 'F3', 'customer': 1, 'cost': 230.0}, {'facility': 'F3', 'customer': 2, 'cost': 447.0}, {'facility': 'F3', 'customer': 3, 'cost': 220.0}, {'facility': 'F3', 'customer': 4, 'cost': 572.0}, {'facility': 'F3', 'customer': 5, 'cost': 318.0}, {'facility': 'F3', 'customer': 6, 'cost': 547.0}, {'facility': 'F3', 'customer': 7, 'cost': 50.0}, {'facility': 'F3', 'customer': 8, 'cost': 399.0}, {'facility': 'F3', 'customer': 9, 'cost': 97.0}, {'facility': 'F3', 'customer': 10, 'cost': 298.0}, {'facility': 'F3', 'customer': 11, 'cost': 356.0}, {'facility': 'F4', 'customer': 0, 'cost': 708.0}, {'facility': 'F4', 'customer': 1, 'cost': 506.0}, {'facility': 'F4', 'customer': 2, 'cost': 572.0}, {'facility': 'F4', 'customer': 3, 'cost': 106.0}, {'facility': 'F4', 'customer': 4, 'cost': 761.0}, {'facility': 'F4', 'customer': 5, 'cost': 593.0}, {'facility': 'F4', 'customer': 6, 'cost': 396.0}, {'facility': 'F4', 'customer': 7, 'cost': 296.0}, {'facility': 'F4', 'customer': 8, 'cost': 244.0}, {'facility': 'F4', 'customer': 9, 'cost': 404.0}, {'facility': 'F4', 'customer': 10, 'cost': 616.0}, {'facility': 'F4', 'customer': 11, 'cost': 480.0}, {'facility': 'F5', 'customer': 0, 'cost': 510.0}, {'facility': 'F5', 'customer': 1, 'cost': 423.0}, {'facility': 'F5', 'customer': 2, 'cost': 367.0}, {'facility': 'F5', 'customer': 3, 'cost': 260.0}, {'facility': 'F5', 'customer': 4, 'cost': 573.0}, {'facility': 'F5', 'customer': 5, 'cost': 491.0}, {'facility': 'F5', 'customer': 6, 'cost': 195.0}, {'facility': 'F5', 'customer': 7, 'cost': 306.0}, {'facility': 'F5', 'customer': 8, 'cost': 51.0}, {'facility': 'F5', 'customer': 9, 'cost': 384.0}, {'facility': 'F5', 'customer': 10, 'cost': 575.0}, {'facility': 'F5', 'customer': 11, 'cost': 291.0}], 'objective': 3999.0}","{'selected': ['F3', 'F5'], 'assignments': ['F5', 'F3', 'F5', 'F3', 'F3', 'F3', 'F5', 'F3', 'F5', 'F3', 'F3', 'F5']}",12,nl,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. | |
| # num_candidate_hubs=5 | |
| # num_commuter_zones=11 | |
| # HUBS | |
| hub_id,activation_cost,dock_capacity | |
| F1,300.0,700.0 | |
| F2,300.0,700.0 | |
| F3,300.0,700.0 | |
| F4,300.0,700.0 | |
| F5,300.0,700.0 | |
| # ZONES | |
| zone_id,rider_demand | |
| 1,24.0 | |
| 2,28.0 | |
| 3,12.0 | |
| 4,23.0 | |
| 5,29.0 | |
| 6,19.0 | |
| 7,23.0 | |
| 8,20.0 | |
| 9,27.0 | |
| 10,23.0 | |
| 11,27.0 | |
| # REDISTRIBUTIONS | |
| hub_id,zone_id,redistribution_cost | |
| F1,1,267.0 | |
| F1,2,392.0 | |
| F1,3,660.0 | |
| F1,4,315.0 | |
| F1,5,391.0 | |
| F1,6,1285.0 | |
| F1,7,621.0 | |
| F1,8,536.0 | |
| F1,9,64.0 | |
| F1,10,310.0 | |
| F1,11,800.0 | |
| F2,1,508.0 | |
| F2,2,312.0 | |
| F2,3,1016.0 | |
| F2,4,339.0 | |
| F2,5,667.0 | |
| F2,6,1349.0 | |
| F2,7,946.0 | |
| F2,8,150.0 | |
| F2,9,70.0 | |
| F2,10,147.0 | |
| F2,11,1157.0 | |
| F3,1,102.0 | |
| F3,2,409.0 | |
| F3,3,131.0 | |
| F3,4,336.0 | |
| F3,5,155.0 | |
| F3,6,765.0 | |
| F3,7,236.0 | |
| F3,8,631.0 | |
| F3,9,104.0 | |
| F3,10,382.0 | |
| F3,11,166.0 | |
| F4,1,48.0 | |
| F4,2,769.0 | |
| F4,3,55.0 | |
| F4,4,689.0 | |
| F4,5,61.0 | |
| F4,6,1278.0 | |
| F4,7,62.0 | |
| F4,8,906.0 | |
| F4,9,186.0 | |
| F4,10,703.0 | |
| F4,11,149.0 | |
| F5,1,403.0 | |
| F5,2,498.0 | |
| F5,3,936.0 | |
| F5,4,459.0 | |
| F5,5,558.0 | |
| F5,6,1542.0 | |
| F5,7,839.0 | |
| F5,8,471.0 | |
| F5,9,54.0 | |
| F5,10,323.0 | |
| F5,11,1094.0 | |
| 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': [300.0, 300.0, 300.0, 300.0, 300.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[267.0, 392.0, 660.0, 315.0, 391.0, 1285.0, 621.0, 536.0, 64.0, 310.0, 800.0], [508.0, 312.0, 1016.0, 339.0, 667.0, 1349.0, 946.0, 150.0, 70.0, 147.0, 1157.0], [102.0, 409.0, 131.0, 336.0, 155.0, 765.0, 236.0, 631.0, 104.0, 382.0, 166.0], [48.0, 769.0, 55.0, 689.0, 61.0, 1278.0, 62.0, 906.0, 186.0, 703.0, 149.0], [403.0, 498.0, 936.0, 459.0, 558.0, 1542.0, 839.0, 471.0, 54.0, 323.0, 1094.0]], 'demands': [24.0, 28.0, 12.0, 23.0, 29.0, 19.0, 23.0, 20.0, 27.0, 23.0, 27.0], 'objective': 3055.0}","{'open_facilities': [1, 2, 3], 'assignments': [3, 1, 3, 2, 3, 2, 3, 1, 1, 1, 3]}",3055.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 11, '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}, {'id': 'F5', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 24.0}, {'id': 2, 'demand': 28.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 23.0}, {'id': 5, 'demand': 29.0}, {'id': 6, 'demand': 19.0}, {'id': 7, 'demand': 23.0}, {'id': 8, 'demand': 20.0}, {'id': 9, 'demand': 27.0}, {'id': 10, 'demand': 23.0}, {'id': 11, 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 267.0}, {'facility': 'F1', 'customer': 2, 'cost': 392.0}, {'facility': 'F1', 'customer': 3, 'cost': 660.0}, {'facility': 'F1', 'customer': 4, 'cost': 315.0}, {'facility': 'F1', 'customer': 5, 'cost': 391.0}, {'facility': 'F1', 'customer': 6, 'cost': 1285.0}, {'facility': 'F1', 'customer': 7, 'cost': 621.0}, {'facility': 'F1', 'customer': 8, 'cost': 536.0}, {'facility': 'F1', 'customer': 9, 'cost': 64.0}, {'facility': 'F1', 'customer': 10, 'cost': 310.0}, {'facility': 'F1', 'customer': 11, 'cost': 800.0}, {'facility': 'F2', 'customer': 1, 'cost': 508.0}, {'facility': 'F2', 'customer': 2, 'cost': 312.0}, {'facility': 'F2', 'customer': 3, 'cost': 1016.0}, {'facility': 'F2', 'customer': 4, 'cost': 339.0}, {'facility': 'F2', 'customer': 5, 'cost': 667.0}, {'facility': 'F2', 'customer': 6, 'cost': 1349.0}, {'facility': 'F2', 'customer': 7, 'cost': 946.0}, {'facility': 'F2', 'customer': 8, 'cost': 150.0}, {'facility': 'F2', 'customer': 9, 'cost': 70.0}, {'facility': 'F2', 'customer': 10, 'cost': 147.0}, {'facility': 'F2', 'customer': 11, 'cost': 1157.0}, {'facility': 'F3', 'customer': 1, 'cost': 102.0}, {'facility': 'F3', 'customer': 2, 'cost': 409.0}, {'facility': 'F3', 'customer': 3, 'cost': 131.0}, {'facility': 'F3', 'customer': 4, 'cost': 336.0}, {'facility': 'F3', 'customer': 5, 'cost': 155.0}, {'facility': 'F3', 'customer': 6, 'cost': 765.0}, {'facility': 'F3', 'customer': 7, 'cost': 236.0}, {'facility': 'F3', 'customer': 8, 'cost': 631.0}, {'facility': 'F3', 'customer': 9, 'cost': 104.0}, {'facility': 'F3', 'customer': 10, 'cost': 382.0}, {'facility': 'F3', 'customer': 11, 'cost': 166.0}, {'facility': 'F4', 'customer': 1, 'cost': 48.0}, {'facility': 'F4', 'customer': 2, 'cost': 769.0}, {'facility': 'F4', 'customer': 3, 'cost': 55.0}, {'facility': 'F4', 'customer': 4, 'cost': 689.0}, {'facility': 'F4', 'customer': 5, 'cost': 61.0}, {'facility': 'F4', 'customer': 6, 'cost': 1278.0}, {'facility': 'F4', 'customer': 7, 'cost': 62.0}, {'facility': 'F4', 'customer': 8, 'cost': 906.0}, {'facility': 'F4', 'customer': 9, 'cost': 186.0}, {'facility': 'F4', 'customer': 10, 'cost': 703.0}, {'facility': 'F4', 'customer': 11, 'cost': 149.0}, {'facility': 'F5', 'customer': 1, 'cost': 403.0}, {'facility': 'F5', 'customer': 2, 'cost': 498.0}, {'facility': 'F5', 'customer': 3, 'cost': 936.0}, {'facility': 'F5', 'customer': 4, 'cost': 459.0}, {'facility': 'F5', 'customer': 5, 'cost': 558.0}, {'facility': 'F5', 'customer': 6, 'cost': 1542.0}, {'facility': 'F5', 'customer': 7, 'cost': 839.0}, {'facility': 'F5', 'customer': 8, 'cost': 471.0}, {'facility': 'F5', 'customer': 9, 'cost': 54.0}, {'facility': 'F5', 'customer': 10, 'cost': 323.0}, {'facility': 'F5', 'customer': 11, 'cost': 1094.0}], 'objective': 3055.0}","{'selected': ['F2', 'F3', 'F4'], 'assignments': ['F4', 'F2', 'F4', 'F3', 'F4', 'F3', 'F4', 'F2', 'F2', 'F2', 'F4']}",13,csv,1 | |
| CFLP,CFLP,"Weβve got a bunch of farms and a shortlist of packing facilities; the job is to pick which facilities to operate and route each farmβs harvest to one of the open ones. Each facility has a running cost and a hard limit on how much it can process, and moving produce from farm to facility incurs transport charges. The winning plan is the one with the smallest overall cost β thatβs just the sum of all facility opening costs plus all transport charges. Every farmβs output has to go to exactly one operating facility, and no facility can be overloaded beyond its limit. The exact facilities, capacities, and costs are listed below. | |
| { | |
| ""num_packing_facilities"": 4, | |
| ""num_farms"": 11, | |
| ""packing_facilitys"": [ | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""facility_opening_cost"": 600.0, | |
| ""throughput_capacity"": 500.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""facility_opening_cost"": 600.0, | |
| ""throughput_capacity"": 500.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""facility_opening_cost"": 600.0, | |
| ""throughput_capacity"": 500.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""facility_opening_cost"": 600.0, | |
| ""throughput_capacity"": 500.0 | |
| } | |
| ], | |
| ""farms"": [ | |
| { | |
| ""farm_id"": 1, | |
| ""farm_production"": 11.0 | |
| }, | |
| { | |
| ""farm_id"": 2, | |
| ""farm_production"": 28.0 | |
| }, | |
| { | |
| ""farm_id"": 3, | |
| ""farm_production"": 44.0 | |
| }, | |
| { | |
| ""farm_id"": 4, | |
| ""farm_production"": 45.0 | |
| }, | |
| { | |
| ""farm_id"": 5, | |
| ""farm_production"": 41.0 | |
| }, | |
| { | |
| ""farm_id"": 6, | |
| ""farm_production"": 27.0 | |
| }, | |
| { | |
| ""farm_id"": 7, | |
| ""farm_production"": 33.0 | |
| }, | |
| { | |
| ""farm_id"": 8, | |
| ""farm_production"": 14.0 | |
| }, | |
| { | |
| ""farm_id"": 9, | |
| ""farm_production"": 49.0 | |
| }, | |
| { | |
| ""farm_id"": 10, | |
| ""farm_production"": 45.0 | |
| }, | |
| { | |
| ""farm_id"": 11, | |
| ""farm_production"": 18.0 | |
| } | |
| ], | |
| ""transports"": [ | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 1, | |
| ""transport_cost"": 182.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 2, | |
| ""transport_cost"": 245.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 3, | |
| ""transport_cost"": 94.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 4, | |
| ""transport_cost"": 387.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 5, | |
| ""transport_cost"": 365.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 6, | |
| ""transport_cost"": 208.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 7, | |
| ""transport_cost"": 413.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 8, | |
| ""transport_cost"": 88.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 9, | |
| ""transport_cost"": 567.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 10, | |
| ""transport_cost"": 116.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F1"", | |
| ""farm_id"": 11, | |
| ""transport_cost"": 63.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 1, | |
| ""transport_cost"": 514.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 2, | |
| ""transport_cost"": 627.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 3, | |
| ""transport_cost"": 555.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 4, | |
| ""transport_cost"": 231.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 5, | |
| ""transport_cost"": 628.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 6, | |
| ""transport_cost"": 532.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 7, | |
| ""transport_cost"": 281.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 8, | |
| ""transport_cost"": 568.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 9, | |
| ""transport_cost"": 560.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 10, | |
| ""transport_cost"": 722.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F2"", | |
| ""farm_id"": 11, | |
| ""transport_cost"": 615.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 1, | |
| ""transport_cost"": 542.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 2, | |
| ""transport_cost"": 161.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 3, | |
| ""transport_cost"": 326.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 4, | |
| ""transport_cost"": 549.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 5, | |
| ""transport_cost"": 49.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 6, | |
| ""transport_cost"": 224.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 7, | |
| ""transport_cost"": 641.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 8, | |
| ""transport_cost"": 475.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 9, | |
| ""transport_cost"": 251.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 10, | |
| ""transport_cost"": 417.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F3"", | |
| ""farm_id"": 11, | |
| ""transport_cost"": 468.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 1, | |
| ""transport_cost"": 442.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 2, | |
| ""transport_cost"": 456.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 3, | |
| ""transport_cost"": 413.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 4, | |
| ""transport_cost"": 194.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 5, | |
| ""transport_cost"": 445.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 6, | |
| ""transport_cost"": 366.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 7, | |
| ""transport_cost"": 298.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 8, | |
| ""transport_cost"": 467.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 9, | |
| ""transport_cost"": 387.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 10, | |
| ""transport_cost"": 591.0 | |
| }, | |
| { | |
| ""packing_facility_id"": ""F4"", | |
| ""farm_id"": 11, | |
| ""transport_cost"": 508.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, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0, 500.0], 'connection_costs': [[182.0, 245.0, 94.0, 387.0, 365.0, 208.0, 413.0, 88.0, 567.0, 116.0, 63.0], [514.0, 627.0, 555.0, 231.0, 628.0, 532.0, 281.0, 568.0, 560.0, 722.0, 615.0], [542.0, 161.0, 326.0, 549.0, 49.0, 224.0, 641.0, 475.0, 251.0, 417.0, 468.0], [442.0, 456.0, 413.0, 194.0, 445.0, 366.0, 298.0, 467.0, 387.0, 591.0, 508.0]], 'demands': [11.0, 28.0, 44.0, 45.0, 41.0, 27.0, 33.0, 14.0, 49.0, 45.0, 18.0], 'objective': 3212.0}","{'open_facilities': [0, 2], 'assignments': [0, 2, 0, 0, 2, 0, 0, 0, 2, 0, 0]}",3212.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 11, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 11.0}, {'id': 2, 'demand': 28.0}, {'id': 3, 'demand': 44.0}, {'id': 4, 'demand': 45.0}, {'id': 5, 'demand': 41.0}, {'id': 6, 'demand': 27.0}, {'id': 7, 'demand': 33.0}, {'id': 8, 'demand': 14.0}, {'id': 9, 'demand': 49.0}, {'id': 10, 'demand': 45.0}, {'id': 11, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 182.0}, {'facility': 'F1', 'customer': 2, 'cost': 245.0}, {'facility': 'F1', 'customer': 3, 'cost': 94.0}, {'facility': 'F1', 'customer': 4, 'cost': 387.0}, {'facility': 'F1', 'customer': 5, 'cost': 365.0}, {'facility': 'F1', 'customer': 6, 'cost': 208.0}, {'facility': 'F1', 'customer': 7, 'cost': 413.0}, {'facility': 'F1', 'customer': 8, 'cost': 88.0}, {'facility': 'F1', 'customer': 9, 'cost': 567.0}, {'facility': 'F1', 'customer': 10, 'cost': 116.0}, {'facility': 'F1', 'customer': 11, 'cost': 63.0}, {'facility': 'F2', 'customer': 1, 'cost': 514.0}, {'facility': 'F2', 'customer': 2, 'cost': 627.0}, {'facility': 'F2', 'customer': 3, 'cost': 555.0}, {'facility': 'F2', 'customer': 4, 'cost': 231.0}, {'facility': 'F2', 'customer': 5, 'cost': 628.0}, {'facility': 'F2', 'customer': 6, 'cost': 532.0}, {'facility': 'F2', 'customer': 7, 'cost': 281.0}, {'facility': 'F2', 'customer': 8, 'cost': 568.0}, {'facility': 'F2', 'customer': 9, 'cost': 560.0}, {'facility': 'F2', 'customer': 10, 'cost': 722.0}, {'facility': 'F2', 'customer': 11, 'cost': 615.0}, {'facility': 'F3', 'customer': 1, 'cost': 542.0}, {'facility': 'F3', 'customer': 2, 'cost': 161.0}, {'facility': 'F3', 'customer': 3, 'cost': 326.0}, {'facility': 'F3', 'customer': 4, 'cost': 549.0}, {'facility': 'F3', 'customer': 5, 'cost': 49.0}, {'facility': 'F3', 'customer': 6, 'cost': 224.0}, {'facility': 'F3', 'customer': 7, 'cost': 641.0}, {'facility': 'F3', 'customer': 8, 'cost': 475.0}, {'facility': 'F3', 'customer': 9, 'cost': 251.0}, {'facility': 'F3', 'customer': 10, 'cost': 417.0}, {'facility': 'F3', 'customer': 11, 'cost': 468.0}, {'facility': 'F4', 'customer': 1, 'cost': 442.0}, {'facility': 'F4', 'customer': 2, 'cost': 456.0}, {'facility': 'F4', 'customer': 3, 'cost': 413.0}, {'facility': 'F4', 'customer': 4, 'cost': 194.0}, {'facility': 'F4', 'customer': 5, 'cost': 445.0}, {'facility': 'F4', 'customer': 6, 'cost': 366.0}, {'facility': 'F4', 'customer': 7, 'cost': 298.0}, {'facility': 'F4', 'customer': 8, 'cost': 467.0}, {'facility': 'F4', 'customer': 9, 'cost': 387.0}, {'facility': 'F4', 'customer': 10, 'cost': 591.0}, {'facility': 'F4', 'customer': 11, 'cost': 508.0}], 'objective': 3212.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F3', 'F1', 'F1', 'F3', 'F1', 'F1', 'F1', 'F3', 'F1', 'F1']}",14,json,1 | |
| 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 7 booths and 14 makers in this instance. | |
| **Booths** | |
| | booth_id | booth_rental_fee | booth_space_capacity | | |
| |---|---|---| | |
| | F1 | 600.0 | 500.0 | | |
| | F2 | 600.0 | 500.0 | | |
| | F3 | 600.0 | 500.0 | | |
| | F4 | 600.0 | 500.0 | | |
| | F5 | 600.0 | 500.0 | | |
| | F6 | 600.0 | 500.0 | | |
| | F7 | 600.0 | 500.0 | | |
| **Makers** | |
| | maker_id | maker_space_requirement | | |
| |---|---| | |
| | 0 | 30.0 | | |
| | 1 | 49.0 | | |
| | 2 | 36.0 | | |
| | 3 | 39.0 | | |
| | 4 | 34.0 | | |
| | 5 | 48.0 | | |
| | 6 | 37.0 | | |
| | 7 | 45.0 | | |
| | 8 | 20.0 | | |
| | 9 | 35.0 | | |
| | 10 | 22.0 | | |
| | 11 | 45.0 | | |
| | 12 | 42.0 | | |
| | 13 | 13.0 | | |
| **Setup Transfer Cost** | |
| | booth_id | maker_id | setup_transfer_cost | | |
| |---|---|---| | |
| | F1 | 0 | 128.0 | | |
| | F1 | 1 | 480.0 | | |
| | F1 | 2 | 569.0 | | |
| | F1 | 3 | 93.0 | | |
| | F1 | 4 | 359.0 | | |
| | F1 | 5 | 735.0 | | |
| | F1 | 6 | 502.0 | | |
| | F1 | 7 | 341.0 | | |
| | F1 | 8 | 653.0 | | |
| | F1 | 9 | 373.0 | | |
| | F1 | 10 | 117.0 | | |
| | F1 | 11 | 200.0 | | |
| | F1 | 12 | 404.0 | | |
| | F1 | 13 | 500.0 | | |
| | F2 | 0 | 581.0 | | |
| | F2 | 1 | 586.0 | | |
| | F2 | 2 | 696.0 | | |
| | F2 | 3 | 432.0 | | |
| | F2 | 4 | 255.0 | | |
| | F2 | 5 | 377.0 | | |
| | F2 | 6 | 142.0 | | |
| | F2 | 7 | 555.0 | | |
| | F2 | 8 | 751.0 | | |
| | F2 | 9 | 393.0 | | |
| | F2 | 10 | 400.0 | | |
| | F2 | 11 | 403.0 | | |
| | F2 | 12 | 564.0 | | |
| | F2 | 13 | 224.0 | | |
| | F3 | 0 | 263.0 | | |
| | F3 | 1 | 479.0 | | |
| | F3 | 2 | 586.0 | | |
| | F3 | 3 | 104.0 | | |
| | F3 | 4 | 239.0 | | |
| | F3 | 5 | 605.0 | | |
| | F3 | 6 | 351.0 | | |
| | F3 | 7 | 369.0 | | |
| | F3 | 8 | 665.0 | | |
| | F3 | 9 | 314.0 | | |
| | F3 | 10 | 57.0 | | |
| | F3 | 11 | 168.0 | | |
| | F3 | 12 | 416.0 | | |
| | F3 | 13 | 368.0 | | |
| | F4 | 0 | 364.0 | | |
| | F4 | 1 | 235.0 | | |
| | F4 | 2 | 347.0 | | |
| | F4 | 3 | 297.0 | | |
| | F4 | 4 | 106.0 | | |
| | F4 | 5 | 375.0 | | |
| | F4 | 6 | 236.0 | | |
| | F4 | 7 | 220.0 | | |
| | F4 | 8 | 410.0 | | |
| | F4 | 9 | 43.0 | | |
| | F4 | 10 | 312.0 | | |
| | F4 | 11 | 184.0 | | |
| | F4 | 12 | 215.0 | | |
| | F4 | 13 | 178.0 | | |
| | F5 | 0 | 153.0 | | |
| | F5 | 1 | 281.0 | | |
| | F5 | 2 | 377.0 | | |
| | F5 | 3 | 145.0 | | |
| | F5 | 4 | 236.0 | | |
| | F5 | 5 | 585.0 | | |
| | F5 | 6 | 400.0 | | |
| | F5 | 7 | 151.0 | | |
| | F5 | 8 | 460.0 | | |
| | F5 | 9 | 187.0 | | |
| | F5 | 10 | 189.0 | | |
| | F5 | 11 | 68.0 | | |
| | F5 | 12 | 208.0 | | |
| | F5 | 13 | 369.0 | | |
| | F6 | 0 | 533.0 | | |
| | F6 | 1 | 196.0 | | |
| | F6 | 2 | 258.0 | | |
| | F6 | 3 | 505.0 | | |
| | F6 | 4 | 308.0 | | |
| | F6 | 5 | 321.0 | | |
| | F6 | 6 | 360.0 | | |
| | F6 | 7 | 305.0 | | |
| | F6 | 8 | 278.0 | | |
| | F6 | 9 | 214.0 | | |
| | F6 | 10 | 526.0 | | |
| | F6 | 11 | 387.0 | | |
| | F6 | 12 | 250.0 | | |
| | F6 | 13 | 278.0 | | |
| | F7 | 0 | 643.0 | | |
| | F7 | 1 | 676.0 | | |
| | F7 | 2 | 787.0 | | |
| | F7 | 3 | 487.0 | | |
| | F7 | 4 | 342.0 | | |
| | F7 | 5 | 445.0 | | |
| | F7 | 6 | 233.0 | | |
| | F7 | 7 | 639.0 | | |
| | F7 | 8 | 843.0 | | |
| | F7 | 9 | 482.0 | | |
| | F7 | 10 | 448.0 | | |
| | F7 | 11 | 475.0 | | |
| | F7 | 12 | 652.0 | | |
| | F7 | 13 | 315.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': [600.0, 600.0, 600.0, 600.0, 600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[128.0, 480.0, 569.0, 93.0, 359.0, 735.0, 502.0, 341.0, 653.0, 373.0, 117.0, 200.0, 404.0, 500.0], [581.0, 586.0, 696.0, 432.0, 255.0, 377.0, 142.0, 555.0, 751.0, 393.0, 400.0, 403.0, 564.0, 224.0], [263.0, 479.0, 586.0, 104.0, 239.0, 605.0, 351.0, 369.0, 665.0, 314.0, 57.0, 168.0, 416.0, 368.0], [364.0, 235.0, 347.0, 297.0, 106.0, 375.0, 236.0, 220.0, 410.0, 43.0, 312.0, 184.0, 215.0, 178.0], [153.0, 281.0, 377.0, 145.0, 236.0, 585.0, 400.0, 151.0, 460.0, 187.0, 189.0, 68.0, 208.0, 369.0], [533.0, 196.0, 258.0, 505.0, 308.0, 321.0, 360.0, 305.0, 278.0, 214.0, 526.0, 387.0, 250.0, 278.0], [643.0, 676.0, 787.0, 487.0, 342.0, 445.0, 233.0, 639.0, 843.0, 482.0, 448.0, 475.0, 652.0, 315.0]], 'demands': [30.0, 49.0, 36.0, 39.0, 34.0, 48.0, 37.0, 45.0, 20.0, 35.0, 22.0, 45.0, 42.0, 13.0], 'objective': 4044.0}","{'open_facilities': [3, 4], 'assignments': [4, 3, 3, 4, 3, 3, 3, 4, 3, 3, 4, 4, 4, 3]}",4044.0,"{'problem_type': 'CFLP', 'num_facilities': 7, 'num_customers': 14, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F6', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F7', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 0, 'demand': 30.0}, {'id': 1, 'demand': 49.0}, {'id': 2, 'demand': 36.0}, {'id': 3, 'demand': 39.0}, {'id': 4, 'demand': 34.0}, {'id': 5, 'demand': 48.0}, {'id': 6, 'demand': 37.0}, {'id': 7, 'demand': 45.0}, {'id': 8, 'demand': 20.0}, {'id': 9, 'demand': 35.0}, {'id': 10, 'demand': 22.0}, {'id': 11, 'demand': 45.0}, {'id': 12, 'demand': 42.0}, {'id': 13, 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 128.0}, {'facility': 'F1', 'customer': 1, 'cost': 480.0}, {'facility': 'F1', 'customer': 2, 'cost': 569.0}, {'facility': 'F1', 'customer': 3, 'cost': 93.0}, {'facility': 'F1', 'customer': 4, 'cost': 359.0}, {'facility': 'F1', 'customer': 5, 'cost': 735.0}, {'facility': 'F1', 'customer': 6, 'cost': 502.0}, {'facility': 'F1', 'customer': 7, 'cost': 341.0}, {'facility': 'F1', 'customer': 8, 'cost': 653.0}, {'facility': 'F1', 'customer': 9, 'cost': 373.0}, {'facility': 'F1', 'customer': 10, 'cost': 117.0}, {'facility': 'F1', 'customer': 11, 'cost': 200.0}, {'facility': 'F1', 'customer': 12, 'cost': 404.0}, {'facility': 'F1', 'customer': 13, 'cost': 500.0}, {'facility': 'F2', 'customer': 0, 'cost': 581.0}, {'facility': 'F2', 'customer': 1, 'cost': 586.0}, {'facility': 'F2', 'customer': 2, 'cost': 696.0}, {'facility': 'F2', 'customer': 3, 'cost': 432.0}, {'facility': 'F2', 'customer': 4, 'cost': 255.0}, {'facility': 'F2', 'customer': 5, 'cost': 377.0}, {'facility': 'F2', 'customer': 6, 'cost': 142.0}, {'facility': 'F2', 'customer': 7, 'cost': 555.0}, {'facility': 'F2', 'customer': 8, 'cost': 751.0}, {'facility': 'F2', 'customer': 9, 'cost': 393.0}, {'facility': 'F2', 'customer': 10, 'cost': 400.0}, {'facility': 'F2', 'customer': 11, 'cost': 403.0}, {'facility': 'F2', 'customer': 12, 'cost': 564.0}, {'facility': 'F2', 'customer': 13, 'cost': 224.0}, {'facility': 'F3', 'customer': 0, 'cost': 263.0}, {'facility': 'F3', 'customer': 1, 'cost': 479.0}, {'facility': 'F3', 'customer': 2, 'cost': 586.0}, {'facility': 'F3', 'customer': 3, 'cost': 104.0}, {'facility': 'F3', 'customer': 4, 'cost': 239.0}, {'facility': 'F3', 'customer': 5, 'cost': 605.0}, {'facility': 'F3', 'customer': 6, 'cost': 351.0}, {'facility': 'F3', 'customer': 7, 'cost': 369.0}, {'facility': 'F3', 'customer': 8, 'cost': 665.0}, {'facility': 'F3', 'customer': 9, 'cost': 314.0}, {'facility': 'F3', 'customer': 10, 'cost': 57.0}, {'facility': 'F3', 'customer': 11, 'cost': 168.0}, {'facility': 'F3', 'customer': 12, 'cost': 416.0}, {'facility': 'F3', 'customer': 13, 'cost': 368.0}, {'facility': 'F4', 'customer': 0, 'cost': 364.0}, {'facility': 'F4', 'customer': 1, 'cost': 235.0}, {'facility': 'F4', 'customer': 2, 'cost': 347.0}, {'facility': 'F4', 'customer': 3, 'cost': 297.0}, {'facility': 'F4', 'customer': 4, 'cost': 106.0}, {'facility': 'F4', 'customer': 5, 'cost': 375.0}, {'facility': 'F4', 'customer': 6, 'cost': 236.0}, {'facility': 'F4', 'customer': 7, 'cost': 220.0}, {'facility': 'F4', 'customer': 8, 'cost': 410.0}, {'facility': 'F4', 'customer': 9, 'cost': 43.0}, {'facility': 'F4', 'customer': 10, 'cost': 312.0}, {'facility': 'F4', 'customer': 11, 'cost': 184.0}, {'facility': 'F4', 'customer': 12, 'cost': 215.0}, {'facility': 'F4', 'customer': 13, 'cost': 178.0}, {'facility': 'F5', 'customer': 0, 'cost': 153.0}, {'facility': 'F5', 'customer': 1, 'cost': 281.0}, {'facility': 'F5', 'customer': 2, 'cost': 377.0}, {'facility': 'F5', 'customer': 3, 'cost': 145.0}, {'facility': 'F5', 'customer': 4, 'cost': 236.0}, {'facility': 'F5', 'customer': 5, 'cost': 585.0}, {'facility': 'F5', 'customer': 6, 'cost': 400.0}, {'facility': 'F5', 'customer': 7, 'cost': 151.0}, {'facility': 'F5', 'customer': 8, 'cost': 460.0}, {'facility': 'F5', 'customer': 9, 'cost': 187.0}, {'facility': 'F5', 'customer': 10, 'cost': 189.0}, {'facility': 'F5', 'customer': 11, 'cost': 68.0}, {'facility': 'F5', 'customer': 12, 'cost': 208.0}, {'facility': 'F5', 'customer': 13, 'cost': 369.0}, {'facility': 'F6', 'customer': 0, 'cost': 533.0}, {'facility': 'F6', 'customer': 1, 'cost': 196.0}, {'facility': 'F6', 'customer': 2, 'cost': 258.0}, {'facility': 'F6', 'customer': 3, 'cost': 505.0}, {'facility': 'F6', 'customer': 4, 'cost': 308.0}, {'facility': 'F6', 'customer': 5, 'cost': 321.0}, {'facility': 'F6', 'customer': 6, 'cost': 360.0}, {'facility': 'F6', 'customer': 7, 'cost': 305.0}, {'facility': 'F6', 'customer': 8, 'cost': 278.0}, {'facility': 'F6', 'customer': 9, 'cost': 214.0}, {'facility': 'F6', 'customer': 10, 'cost': 526.0}, {'facility': 'F6', 'customer': 11, 'cost': 387.0}, {'facility': 'F6', 'customer': 12, 'cost': 250.0}, {'facility': 'F6', 'customer': 13, 'cost': 278.0}, {'facility': 'F7', 'customer': 0, 'cost': 643.0}, {'facility': 'F7', 'customer': 1, 'cost': 676.0}, {'facility': 'F7', 'customer': 2, 'cost': 787.0}, {'facility': 'F7', 'customer': 3, 'cost': 487.0}, {'facility': 'F7', 'customer': 4, 'cost': 342.0}, {'facility': 'F7', 'customer': 5, 'cost': 445.0}, {'facility': 'F7', 'customer': 6, 'cost': 233.0}, {'facility': 'F7', 'customer': 7, 'cost': 639.0}, {'facility': 'F7', 'customer': 8, 'cost': 843.0}, {'facility': 'F7', 'customer': 9, 'cost': 482.0}, {'facility': 'F7', 'customer': 10, 'cost': 448.0}, {'facility': 'F7', 'customer': 11, 'cost': 475.0}, {'facility': 'F7', 'customer': 12, 'cost': 652.0}, {'facility': 'F7', 'customer': 13, 'cost': 315.0}], 'objective': 4044.0}","{'selected': ['F4', 'F5'], 'assignments': ['F5', 'F4', 'F4', 'F5', 'F4', 'F4', 'F4', 'F5', 'F4', 'F4', 'F5', 'F5', 'F5', '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"": 4, | |
| ""num_communities"": 9, | |
| ""staging_areas"": [ | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""staffing_cost"": 400.0, | |
| ""staging_capacity"": 1500.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""staffing_cost"": 400.0, | |
| ""staging_capacity"": 1500.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""staffing_cost"": 400.0, | |
| ""staging_capacity"": 1500.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""staffing_cost"": 400.0, | |
| ""staging_capacity"": 1500.0 | |
| } | |
| ], | |
| ""communitys"": [ | |
| { | |
| ""community_id"": 1, | |
| ""beneficiary_demand"": 14.0 | |
| }, | |
| { | |
| ""community_id"": 2, | |
| ""beneficiary_demand"": 11.0 | |
| }, | |
| { | |
| ""community_id"": 3, | |
| ""beneficiary_demand"": 34.0 | |
| }, | |
| { | |
| ""community_id"": 4, | |
| ""beneficiary_demand"": 26.0 | |
| }, | |
| { | |
| ""community_id"": 5, | |
| ""beneficiary_demand"": 33.0 | |
| }, | |
| { | |
| ""community_id"": 6, | |
| ""beneficiary_demand"": 49.0 | |
| }, | |
| { | |
| ""community_id"": 7, | |
| ""beneficiary_demand"": 18.0 | |
| }, | |
| { | |
| ""community_id"": 8, | |
| ""beneficiary_demand"": 42.0 | |
| }, | |
| { | |
| ""community_id"": 9, | |
| ""beneficiary_demand"": 17.0 | |
| } | |
| ], | |
| ""distributions"": [ | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 1, | |
| ""distribution_cost"": 265.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 2, | |
| ""distribution_cost"": 413.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 3, | |
| ""distribution_cost"": 206.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 4, | |
| ""distribution_cost"": 364.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 5, | |
| ""distribution_cost"": 258.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 6, | |
| ""distribution_cost"": 106.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 7, | |
| ""distribution_cost"": 207.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 8, | |
| ""distribution_cost"": 178.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F1"", | |
| ""community_id"": 9, | |
| ""distribution_cost"": 257.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 1, | |
| ""distribution_cost"": 504.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 2, | |
| ""distribution_cost"": 367.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 3, | |
| ""distribution_cost"": 382.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 4, | |
| ""distribution_cost"": 644.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 5, | |
| ""distribution_cost"": 599.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 6, | |
| ""distribution_cost"": 389.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 7, | |
| ""distribution_cost"": 225.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 8, | |
| ""distribution_cost"": 405.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F2"", | |
| ""community_id"": 9, | |
| ""distribution_cost"": 336.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 1, | |
| ""distribution_cost"": 617.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 2, | |
| ""distribution_cost"": 94.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 3, | |
| ""distribution_cost"": 239.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 4, | |
| ""distribution_cost"": 482.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 5, | |
| ""distribution_cost"": 625.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 6, | |
| ""distribution_cost"": 460.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 7, | |
| ""distribution_cost"": 391.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 8, | |
| ""distribution_cost"": 514.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F3"", | |
| ""community_id"": 9, | |
| ""distribution_cost"": 512.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 1, | |
| ""distribution_cost"": 453.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 2, | |
| ""distribution_cost"": 229.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 3, | |
| ""distribution_cost"": 166.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 4, | |
| ""distribution_cost"": 429.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 5, | |
| ""distribution_cost"": 473.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 6, | |
| ""distribution_cost"": 297.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 7, | |
| ""distribution_cost"": 241.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 8, | |
| ""distribution_cost"": 350.0 | |
| }, | |
| { | |
| ""staging_area_id"": ""F4"", | |
| ""community_id"": 9, | |
| ""distribution_cost"": 356.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': [400.0, 400.0, 400.0, 400.0], 'capacities': [1500.0, 1500.0, 1500.0, 1500.0], 'connection_costs': [[265.0, 413.0, 206.0, 364.0, 258.0, 106.0, 207.0, 178.0, 257.0], [504.0, 367.0, 382.0, 644.0, 599.0, 389.0, 225.0, 405.0, 336.0], [617.0, 94.0, 239.0, 482.0, 625.0, 460.0, 391.0, 514.0, 512.0], [453.0, 229.0, 166.0, 429.0, 473.0, 297.0, 241.0, 350.0, 356.0]], 'demands': [14.0, 11.0, 34.0, 26.0, 33.0, 49.0, 18.0, 42.0, 17.0], 'objective': 2654.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0, 0]}",2654.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 9, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 1, 'demand': 14.0}, {'id': 2, 'demand': 11.0}, {'id': 3, 'demand': 34.0}, {'id': 4, 'demand': 26.0}, {'id': 5, 'demand': 33.0}, {'id': 6, 'demand': 49.0}, {'id': 7, 'demand': 18.0}, {'id': 8, 'demand': 42.0}, {'id': 9, 'demand': 17.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 265.0}, {'facility': 'F1', 'customer': 2, 'cost': 413.0}, {'facility': 'F1', 'customer': 3, 'cost': 206.0}, {'facility': 'F1', 'customer': 4, 'cost': 364.0}, {'facility': 'F1', 'customer': 5, 'cost': 258.0}, {'facility': 'F1', 'customer': 6, 'cost': 106.0}, {'facility': 'F1', 'customer': 7, 'cost': 207.0}, {'facility': 'F1', 'customer': 8, 'cost': 178.0}, {'facility': 'F1', 'customer': 9, 'cost': 257.0}, {'facility': 'F2', 'customer': 1, 'cost': 504.0}, {'facility': 'F2', 'customer': 2, 'cost': 367.0}, {'facility': 'F2', 'customer': 3, 'cost': 382.0}, {'facility': 'F2', 'customer': 4, 'cost': 644.0}, {'facility': 'F2', 'customer': 5, 'cost': 599.0}, {'facility': 'F2', 'customer': 6, 'cost': 389.0}, {'facility': 'F2', 'customer': 7, 'cost': 225.0}, {'facility': 'F2', 'customer': 8, 'cost': 405.0}, {'facility': 'F2', 'customer': 9, 'cost': 336.0}, {'facility': 'F3', 'customer': 1, 'cost': 617.0}, {'facility': 'F3', 'customer': 2, 'cost': 94.0}, {'facility': 'F3', 'customer': 3, 'cost': 239.0}, {'facility': 'F3', 'customer': 4, 'cost': 482.0}, {'facility': 'F3', 'customer': 5, 'cost': 625.0}, {'facility': 'F3', 'customer': 6, 'cost': 460.0}, {'facility': 'F3', 'customer': 7, 'cost': 391.0}, {'facility': 'F3', 'customer': 8, 'cost': 514.0}, {'facility': 'F3', 'customer': 9, 'cost': 512.0}, {'facility': 'F4', 'customer': 1, 'cost': 453.0}, {'facility': 'F4', 'customer': 2, 'cost': 229.0}, {'facility': 'F4', 'customer': 3, 'cost': 166.0}, {'facility': 'F4', 'customer': 4, 'cost': 429.0}, {'facility': 'F4', 'customer': 5, 'cost': 473.0}, {'facility': 'F4', 'customer': 6, 'cost': 297.0}, {'facility': 'F4', 'customer': 7, 'cost': 241.0}, {'facility': 'F4', 'customer': 8, 'cost': 350.0}, {'facility': 'F4', 'customer': 9, 'cost': 356.0}], 'objective': 2654.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",16,json,1 | |
| 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. | |
| There are 4 warehouses and 10 shops in this instance. | |
| **Warehouses** | |
| | warehouse_id | warehouse_fixed_cost | warehouse_capacity | | |
| |---|---|---| | |
| | F1 | 400.0 | 1500.0 | | |
| | F2 | 400.0 | 1500.0 | | |
| | F3 | 400.0 | 1500.0 | | |
| | F4 | 400.0 | 1500.0 | | |
| **Shops** | |
| | shop_id | shop_demand | | |
| |---|---| | |
| | 0 | 40.0 | | |
| | 1 | 17.0 | | |
| | 2 | 36.0 | | |
| | 3 | 11.0 | | |
| | 4 | 47.0 | | |
| | 5 | 25.0 | | |
| | 6 | 17.0 | | |
| | 7 | 31.0 | | |
| | 8 | 45.0 | | |
| | 9 | 40.0 | | |
| **Shipping Cost** | |
| | warehouse_id | shop_id | shipping_cost | | |
| |---|---|---| | |
| | F1 | 0 | 20.0 | | |
| | F1 | 1 | 43.0 | | |
| | F1 | 2 | 696.0 | | |
| | F1 | 3 | 319.0 | | |
| | F1 | 4 | 335.0 | | |
| | F1 | 5 | 148.0 | | |
| | F1 | 6 | 422.0 | | |
| | F1 | 7 | 172.0 | | |
| | F1 | 8 | 604.0 | | |
| | F1 | 9 | 104.0 | | |
| | F2 | 0 | 373.0 | | |
| | F2 | 1 | 332.0 | | |
| | F2 | 2 | 467.0 | | |
| | F2 | 3 | 483.0 | | |
| | F2 | 4 | 495.0 | | |
| | F2 | 5 | 212.0 | | |
| | F2 | 6 | 99.0 | | |
| | F2 | 7 | 289.0 | | |
| | F2 | 8 | 591.0 | | |
| | F2 | 9 | 400.0 | | |
| | F3 | 0 | 354.0 | | |
| | F3 | 1 | 309.0 | | |
| | F3 | 2 | 347.0 | | |
| | F3 | 3 | 272.0 | | |
| | F3 | 4 | 279.0 | | |
| | F3 | 5 | 251.0 | | |
| | F3 | 6 | 360.0 | | |
| | F3 | 7 | 184.0 | | |
| | F3 | 8 | 333.0 | | |
| | F3 | 9 | 318.0 | | |
| | F4 | 0 | 549.0 | | |
| | F4 | 1 | 506.0 | | |
| | F4 | 2 | 373.0 | | |
| | F4 | 3 | 600.0 | | |
| | F4 | 4 | 609.0 | | |
| | F4 | 5 | 388.0 | | |
| | F4 | 6 | 181.0 | | |
| | F4 | 7 | 437.0 | | |
| | F4 | 8 | 614.0 | | |
| | F4 | 9 | 564.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': [400.0, 400.0, 400.0, 400.0], 'capacities': [1500.0, 1500.0, 1500.0, 1500.0], 'connection_costs': [[20.0, 43.0, 696.0, 319.0, 335.0, 148.0, 422.0, 172.0, 604.0, 104.0], [373.0, 332.0, 467.0, 483.0, 495.0, 212.0, 99.0, 289.0, 591.0, 400.0], [354.0, 309.0, 347.0, 272.0, 279.0, 251.0, 360.0, 184.0, 333.0, 318.0], [549.0, 506.0, 373.0, 600.0, 609.0, 388.0, 181.0, 437.0, 614.0, 564.0]], 'demands': [40.0, 17.0, 36.0, 11.0, 47.0, 25.0, 17.0, 31.0, 45.0, 40.0], 'objective': 2878.0}","{'open_facilities': [0, 2], 'assignments': [0, 0, 2, 2, 2, 0, 2, 0, 2, 0]}",2878.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 10, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 1500.0}], 'customers': [{'id': 0, 'demand': 40.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 36.0}, {'id': 3, 'demand': 11.0}, {'id': 4, 'demand': 47.0}, {'id': 5, 'demand': 25.0}, {'id': 6, 'demand': 17.0}, {'id': 7, 'demand': 31.0}, {'id': 8, 'demand': 45.0}, {'id': 9, 'demand': 40.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 20.0}, {'facility': 'F1', 'customer': 1, 'cost': 43.0}, {'facility': 'F1', 'customer': 2, 'cost': 696.0}, {'facility': 'F1', 'customer': 3, 'cost': 319.0}, {'facility': 'F1', 'customer': 4, 'cost': 335.0}, {'facility': 'F1', 'customer': 5, 'cost': 148.0}, {'facility': 'F1', 'customer': 6, 'cost': 422.0}, {'facility': 'F1', 'customer': 7, 'cost': 172.0}, {'facility': 'F1', 'customer': 8, 'cost': 604.0}, {'facility': 'F1', 'customer': 9, 'cost': 104.0}, {'facility': 'F2', 'customer': 0, 'cost': 373.0}, {'facility': 'F2', 'customer': 1, 'cost': 332.0}, {'facility': 'F2', 'customer': 2, 'cost': 467.0}, {'facility': 'F2', 'customer': 3, 'cost': 483.0}, {'facility': 'F2', 'customer': 4, 'cost': 495.0}, {'facility': 'F2', 'customer': 5, 'cost': 212.0}, {'facility': 'F2', 'customer': 6, 'cost': 99.0}, {'facility': 'F2', 'customer': 7, 'cost': 289.0}, {'facility': 'F2', 'customer': 8, 'cost': 591.0}, {'facility': 'F2', 'customer': 9, 'cost': 400.0}, {'facility': 'F3', 'customer': 0, 'cost': 354.0}, {'facility': 'F3', 'customer': 1, 'cost': 309.0}, {'facility': 'F3', 'customer': 2, 'cost': 347.0}, {'facility': 'F3', 'customer': 3, 'cost': 272.0}, {'facility': 'F3', 'customer': 4, 'cost': 279.0}, {'facility': 'F3', 'customer': 5, 'cost': 251.0}, {'facility': 'F3', 'customer': 6, 'cost': 360.0}, {'facility': 'F3', 'customer': 7, 'cost': 184.0}, {'facility': 'F3', 'customer': 8, 'cost': 333.0}, {'facility': 'F3', 'customer': 9, 'cost': 318.0}, {'facility': 'F4', 'customer': 0, 'cost': 549.0}, {'facility': 'F4', 'customer': 1, 'cost': 506.0}, {'facility': 'F4', 'customer': 2, 'cost': 373.0}, {'facility': 'F4', 'customer': 3, 'cost': 600.0}, {'facility': 'F4', 'customer': 4, 'cost': 609.0}, {'facility': 'F4', 'customer': 5, 'cost': 388.0}, {'facility': 'F4', 'customer': 6, 'cost': 181.0}, {'facility': 'F4', 'customer': 7, 'cost': 437.0}, {'facility': 'F4', 'customer': 8, 'cost': 614.0}, {'facility': 'F4', 'customer': 9, 'cost': 564.0}], 'objective': 2878.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F1', 'F3', 'F3', 'F3', 'F1', 'F3', 'F1', 'F3', 'F1']}",17,markdown_table,0 | |
| CFLP,CFLP,"I run the city's bike repair program and need to pick which repair hubs to keep running, then send every reported fault to exactly one of the hubs that are open. Each hub has a startup price and can only handle a certain number of fixes, and getting a mechanic out to a fault costs something based on distance β so a better plan is the one that keeps the total bill as small as possible by adding up the opening fees for the hubs we choose and the travel cost for every repair. Nothing can be left unassigned or sent to two places, and no hub can be asked to do more than its limit. The concrete details β locations, opening costs, capacities and reported faults β are shown below. | |
| There are 4 hub id for connections and 10 fault id for connections in this instance. | |
| **Hub Id For Connections** | |
| | hub_id_for_connection | hub_startup_cost | hub_capacity_fixes | | |
| |---|---|---| | |
| | F1 | 400.0 | 500.0 | | |
| | F2 | 400.0 | 500.0 | | |
| | F3 | 400.0 | 500.0 | | |
| | F4 | 400.0 | 500.0 | | |
| **Fault Id For Connections** | |
| | fault_id_for_connection | fault_demand | | |
| |---|---| | |
| | 1 | 45.0 | | |
| | 2 | 24.0 | | |
| | 3 | 50.0 | | |
| | 4 | 11.0 | | |
| | 5 | 42.0 | | |
| | 6 | 32.0 | | |
| | 7 | 38.0 | | |
| | 8 | 27.0 | | |
| | 9 | 34.0 | | |
| | 10 | 23.0 | | |
| **Travel Service Cost** | |
| | hub_id_for_connection | fault_id_for_connection | travel_service_cost | | |
| |---|---|---| | |
| | F1 | 1 | 207.0 | | |
| | F1 | 2 | 349.0 | | |
| | F1 | 3 | 334.0 | | |
| | F1 | 4 | 345.0 | | |
| | F1 | 5 | 237.0 | | |
| | F1 | 6 | 277.0 | | |
| | F1 | 7 | 49.0 | | |
| | F1 | 8 | 300.0 | | |
| | F1 | 9 | 220.0 | | |
| | F1 | 10 | 48.0 | | |
| | F2 | 1 | 328.0 | | |
| | F2 | 2 | 535.0 | | |
| | F2 | 3 | 433.0 | | |
| | F2 | 4 | 318.0 | | |
| | F2 | 5 | 388.0 | | |
| | F2 | 6 | 195.0 | | |
| | F2 | 7 | 210.0 | | |
| | F2 | 8 | 270.0 | | |
| | F2 | 9 | 204.0 | | |
| | F2 | 10 | 238.0 | | |
| | F3 | 1 | 321.0 | | |
| | F3 | 2 | 649.0 | | |
| | F3 | 3 | 369.0 | | |
| | F3 | 4 | 153.0 | | |
| | F3 | 5 | 400.0 | | |
| | F3 | 6 | 49.0 | | |
| | F3 | 7 | 359.0 | | |
| | F3 | 8 | 124.0 | | |
| | F3 | 9 | 133.0 | | |
| | F3 | 10 | 354.0 | | |
| | F4 | 1 | 102.0 | | |
| | F4 | 2 | 278.0 | | |
| | F4 | 3 | 206.0 | | |
| | F4 | 4 | 345.0 | | |
| | F4 | 5 | 68.0 | | |
| | F4 | 6 | 346.0 | | |
| | F4 | 7 | 202.0 | | |
| | F4 | 8 | 317.0 | | |
| | F4 | 9 | 263.0 | | |
| | F4 | 10 | 143.0 | | |
| 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': [400.0, 400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0, 500.0], 'connection_costs': [[207.0, 349.0, 334.0, 345.0, 237.0, 277.0, 49.0, 300.0, 220.0, 48.0], [328.0, 535.0, 433.0, 318.0, 388.0, 195.0, 210.0, 270.0, 204.0, 238.0], [321.0, 649.0, 369.0, 153.0, 400.0, 49.0, 359.0, 124.0, 133.0, 354.0], [102.0, 278.0, 206.0, 345.0, 68.0, 346.0, 202.0, 317.0, 263.0, 143.0]], 'demands': [45.0, 24.0, 50.0, 11.0, 42.0, 32.0, 38.0, 27.0, 34.0, 23.0], 'objective': 2258.0}","{'open_facilities': [2, 3], 'assignments': [3, 3, 3, 2, 3, 2, 3, 2, 2, 3]}",2258.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 10, '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': 1, 'demand': 45.0}, {'id': 2, 'demand': 24.0}, {'id': 3, 'demand': 50.0}, {'id': 4, 'demand': 11.0}, {'id': 5, 'demand': 42.0}, {'id': 6, 'demand': 32.0}, {'id': 7, 'demand': 38.0}, {'id': 8, 'demand': 27.0}, {'id': 9, 'demand': 34.0}, {'id': 10, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 207.0}, {'facility': 'F1', 'customer': 2, 'cost': 349.0}, {'facility': 'F1', 'customer': 3, 'cost': 334.0}, {'facility': 'F1', 'customer': 4, 'cost': 345.0}, {'facility': 'F1', 'customer': 5, 'cost': 237.0}, {'facility': 'F1', 'customer': 6, 'cost': 277.0}, {'facility': 'F1', 'customer': 7, 'cost': 49.0}, {'facility': 'F1', 'customer': 8, 'cost': 300.0}, {'facility': 'F1', 'customer': 9, 'cost': 220.0}, {'facility': 'F1', 'customer': 10, 'cost': 48.0}, {'facility': 'F2', 'customer': 1, 'cost': 328.0}, {'facility': 'F2', 'customer': 2, 'cost': 535.0}, {'facility': 'F2', 'customer': 3, 'cost': 433.0}, {'facility': 'F2', 'customer': 4, 'cost': 318.0}, {'facility': 'F2', 'customer': 5, 'cost': 388.0}, {'facility': 'F2', 'customer': 6, 'cost': 195.0}, {'facility': 'F2', 'customer': 7, 'cost': 210.0}, {'facility': 'F2', 'customer': 8, 'cost': 270.0}, {'facility': 'F2', 'customer': 9, 'cost': 204.0}, {'facility': 'F2', 'customer': 10, 'cost': 238.0}, {'facility': 'F3', 'customer': 1, 'cost': 321.0}, {'facility': 'F3', 'customer': 2, 'cost': 649.0}, {'facility': 'F3', 'customer': 3, 'cost': 369.0}, {'facility': 'F3', 'customer': 4, 'cost': 153.0}, {'facility': 'F3', 'customer': 5, 'cost': 400.0}, {'facility': 'F3', 'customer': 6, 'cost': 49.0}, {'facility': 'F3', 'customer': 7, 'cost': 359.0}, {'facility': 'F3', 'customer': 8, 'cost': 124.0}, {'facility': 'F3', 'customer': 9, 'cost': 133.0}, {'facility': 'F3', 'customer': 10, 'cost': 354.0}, {'facility': 'F4', 'customer': 1, 'cost': 102.0}, {'facility': 'F4', 'customer': 2, 'cost': 278.0}, {'facility': 'F4', 'customer': 3, 'cost': 206.0}, {'facility': 'F4', 'customer': 4, 'cost': 345.0}, {'facility': 'F4', 'customer': 5, 'cost': 68.0}, {'facility': 'F4', 'customer': 6, 'cost': 346.0}, {'facility': 'F4', 'customer': 7, 'cost': 202.0}, {'facility': 'F4', 'customer': 8, 'cost': 317.0}, {'facility': 'F4', 'customer': 9, 'cost': 263.0}, {'facility': 'F4', 'customer': 10, 'cost': 143.0}], 'objective': 2258.0}","{'selected': ['F3', 'F4'], 'assignments': ['F4', 'F4', 'F4', 'F3', 'F4', 'F3', 'F4', 'F3', 'F3', 'F4']}",18,markdown_table,1 | |
| CFLP,CFLP,"Out in the field, the food bank team must choose a handful of distribution points to staff and then direct every recipient area to exactly one of those staffed points. Each staffed point has a price tag to keep it open and each assignment from a point to an area has a delivery cost, so the best-looking plan is the one with the lowest total cost β add the staffing cost of each open point to all the delivery costs for the assignments. Each area must be covered once and only once, and each staffed point has a maximum amount it can serve, so assignments must stay within those limits. The concrete figures are provided below. | |
| There are 5 distribution points and 12 recipient areas in this instance. | |
| **Distribution Points** | |
| | distribution_point_id | staffing_cost | distribution_capacity | | |
| |---|---|---| | |
| | F1 | 400.0 | 614.0 | | |
| | F2 | 400.0 | 1335.0 | | |
| | F3 | 400.0 | 1067.0 | | |
| | F4 | 400.0 | 1103.0 | | |
| | F5 | 400.0 | 620.0 | | |
| **Recipient Areas** | |
| | recipient_area_id | area_demand | | |
| |---|---| | |
| | 0 | 44.0 | | |
| | 1 | 22.0 | | |
| | 2 | 43.0 | | |
| | 3 | 26.0 | | |
| | 4 | 31.0 | | |
| | 5 | 42.0 | | |
| | 6 | 47.0 | | |
| | 7 | 45.0 | | |
| | 8 | 45.0 | | |
| | 9 | 24.0 | | |
| | 10 | 15.0 | | |
| | 11 | 36.0 | | |
| **Delivery Cost** | |
| | distribution_point_id | recipient_area_id | delivery_cost | | |
| |---|---|---| | |
| | F1 | 0 | 633.0 | | |
| | F1 | 1 | 365.0 | | |
| | F1 | 2 | 254.0 | | |
| | F1 | 3 | 341.0 | | |
| | F1 | 4 | 448.0 | | |
| | F1 | 5 | 111.0 | | |
| | F1 | 6 | 383.0 | | |
| | F1 | 7 | 261.0 | | |
| | F1 | 8 | 329.0 | | |
| | F1 | 9 | 192.0 | | |
| | F1 | 10 | 301.0 | | |
| | F1 | 11 | 613.0 | | |
| | F2 | 0 | 610.0 | | |
| | F2 | 1 | 617.0 | | |
| | F2 | 2 | 521.0 | | |
| | F2 | 3 | 671.0 | | |
| | F2 | 4 | 178.0 | | |
| | F2 | 5 | 274.0 | | |
| | F2 | 6 | 673.0 | | |
| | F2 | 7 | 607.0 | | |
| | F2 | 8 | 32.0 | | |
| | F2 | 9 | 189.0 | | |
| | F2 | 10 | 61.0 | | |
| | F2 | 11 | 837.0 | | |
| | F3 | 0 | 37.0 | | |
| | F3 | 1 | 502.0 | | |
| | F3 | 2 | 524.0 | | |
| | F3 | 3 | 680.0 | | |
| | F3 | 4 | 481.0 | | |
| | F3 | 5 | 697.0 | | |
| | F3 | 6 | 587.0 | | |
| | F3 | 7 | 877.0 | | |
| | F3 | 8 | 625.0 | | |
| | F3 | 9 | 683.0 | | |
| | F3 | 10 | 620.0 | | |
| | F3 | 11 | 521.0 | | |
| | F4 | 0 | 662.0 | | |
| | F4 | 1 | 242.0 | | |
| | F4 | 2 | 176.0 | | |
| | F4 | 3 | 126.0 | | |
| | F4 | 4 | 628.0 | | |
| | F4 | 5 | 338.0 | | |
| | F4 | 6 | 209.0 | | |
| | F4 | 7 | 205.0 | | |
| | F4 | 8 | 545.0 | | |
| | F4 | 9 | 419.0 | | |
| | F4 | 10 | 517.0 | | |
| | F4 | 11 | 464.0 | | |
| | F5 | 0 | 825.0 | | |
| | F5 | 1 | 424.0 | | |
| | F5 | 2 | 349.0 | | |
| | F5 | 3 | 284.0 | | |
| | F5 | 4 | 705.0 | | |
| | F5 | 5 | 336.0 | | |
| | F5 | 6 | 385.0 | | |
| | F5 | 7 | 24.0 | | |
| | F5 | 8 | 577.0 | | |
| | F5 | 9 | 424.0 | | |
| | F5 | 10 | 550.0 | | |
| | F5 | 11 | 641.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': [400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [614.0, 1335.0, 1067.0, 1103.0, 620.0], 'connection_costs': [[633.0, 365.0, 254.0, 341.0, 448.0, 111.0, 383.0, 261.0, 329.0, 192.0, 301.0, 613.0], [610.0, 617.0, 521.0, 671.0, 178.0, 274.0, 673.0, 607.0, 32.0, 189.0, 61.0, 837.0], [37.0, 502.0, 524.0, 680.0, 481.0, 697.0, 587.0, 877.0, 625.0, 683.0, 620.0, 521.0], [662.0, 242.0, 176.0, 126.0, 628.0, 338.0, 209.0, 205.0, 545.0, 419.0, 517.0, 464.0], [825.0, 424.0, 349.0, 284.0, 705.0, 336.0, 385.0, 24.0, 577.0, 424.0, 550.0, 641.0]], 'demands': [44.0, 22.0, 43.0, 26.0, 31.0, 42.0, 47.0, 45.0, 45.0, 24.0, 15.0, 36.0], 'objective': 3393.0}","{'open_facilities': [1, 2, 3], 'assignments': [2, 3, 3, 3, 1, 1, 3, 3, 1, 1, 1, 3]}",3393.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 614.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1335.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1067.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 1103.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 620.0}], 'customers': [{'id': 0, 'demand': 44.0}, {'id': 1, 'demand': 22.0}, {'id': 2, 'demand': 43.0}, {'id': 3, 'demand': 26.0}, {'id': 4, 'demand': 31.0}, {'id': 5, 'demand': 42.0}, {'id': 6, 'demand': 47.0}, {'id': 7, 'demand': 45.0}, {'id': 8, 'demand': 45.0}, {'id': 9, 'demand': 24.0}, {'id': 10, 'demand': 15.0}, {'id': 11, 'demand': 36.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 633.0}, {'facility': 'F1', 'customer': 1, 'cost': 365.0}, {'facility': 'F1', 'customer': 2, 'cost': 254.0}, {'facility': 'F1', 'customer': 3, 'cost': 341.0}, {'facility': 'F1', 'customer': 4, 'cost': 448.0}, {'facility': 'F1', 'customer': 5, 'cost': 111.0}, {'facility': 'F1', 'customer': 6, 'cost': 383.0}, {'facility': 'F1', 'customer': 7, 'cost': 261.0}, {'facility': 'F1', 'customer': 8, 'cost': 329.0}, {'facility': 'F1', 'customer': 9, 'cost': 192.0}, {'facility': 'F1', 'customer': 10, 'cost': 301.0}, {'facility': 'F1', 'customer': 11, 'cost': 613.0}, {'facility': 'F2', 'customer': 0, 'cost': 610.0}, {'facility': 'F2', 'customer': 1, 'cost': 617.0}, {'facility': 'F2', 'customer': 2, 'cost': 521.0}, {'facility': 'F2', 'customer': 3, 'cost': 671.0}, {'facility': 'F2', 'customer': 4, 'cost': 178.0}, {'facility': 'F2', 'customer': 5, 'cost': 274.0}, {'facility': 'F2', 'customer': 6, 'cost': 673.0}, {'facility': 'F2', 'customer': 7, 'cost': 607.0}, {'facility': 'F2', 'customer': 8, 'cost': 32.0}, {'facility': 'F2', 'customer': 9, 'cost': 189.0}, {'facility': 'F2', 'customer': 10, 'cost': 61.0}, {'facility': 'F2', 'customer': 11, 'cost': 837.0}, {'facility': 'F3', 'customer': 0, 'cost': 37.0}, {'facility': 'F3', 'customer': 1, 'cost': 502.0}, {'facility': 'F3', 'customer': 2, 'cost': 524.0}, {'facility': 'F3', 'customer': 3, 'cost': 680.0}, {'facility': 'F3', 'customer': 4, 'cost': 481.0}, {'facility': 'F3', 'customer': 5, 'cost': 697.0}, {'facility': 'F3', 'customer': 6, 'cost': 587.0}, {'facility': 'F3', 'customer': 7, 'cost': 877.0}, {'facility': 'F3', 'customer': 8, 'cost': 625.0}, {'facility': 'F3', 'customer': 9, 'cost': 683.0}, {'facility': 'F3', 'customer': 10, 'cost': 620.0}, {'facility': 'F3', 'customer': 11, 'cost': 521.0}, {'facility': 'F4', 'customer': 0, 'cost': 662.0}, {'facility': 'F4', 'customer': 1, 'cost': 242.0}, {'facility': 'F4', 'customer': 2, 'cost': 176.0}, {'facility': 'F4', 'customer': 3, 'cost': 126.0}, {'facility': 'F4', 'customer': 4, 'cost': 628.0}, {'facility': 'F4', 'customer': 5, 'cost': 338.0}, {'facility': 'F4', 'customer': 6, 'cost': 209.0}, {'facility': 'F4', 'customer': 7, 'cost': 205.0}, {'facility': 'F4', 'customer': 8, 'cost': 545.0}, {'facility': 'F4', 'customer': 9, 'cost': 419.0}, {'facility': 'F4', 'customer': 10, 'cost': 517.0}, {'facility': 'F4', 'customer': 11, 'cost': 464.0}, {'facility': 'F5', 'customer': 0, 'cost': 825.0}, {'facility': 'F5', 'customer': 1, 'cost': 424.0}, {'facility': 'F5', 'customer': 2, 'cost': 349.0}, {'facility': 'F5', 'customer': 3, 'cost': 284.0}, {'facility': 'F5', 'customer': 4, 'cost': 705.0}, {'facility': 'F5', 'customer': 5, 'cost': 336.0}, {'facility': 'F5', 'customer': 6, 'cost': 385.0}, {'facility': 'F5', 'customer': 7, 'cost': 24.0}, {'facility': 'F5', 'customer': 8, 'cost': 577.0}, {'facility': 'F5', 'customer': 9, 'cost': 424.0}, {'facility': 'F5', 'customer': 10, 'cost': 550.0}, {'facility': 'F5', 'customer': 11, 'cost': 641.0}], 'objective': 3393.0}","{'selected': ['F2', 'F3', 'F4'], 'assignments': ['F3', 'F4', 'F4', 'F4', 'F2', 'F2', 'F4', 'F4', 'F2', 'F2', 'F2', 'F4']}",19,markdown_table,0 | |
| 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=5 | |
| # num_returned_devices=11 | |
| # HUBS | |
| hub_id,hub_running_cost,hub_capacity | |
| F1,600.0,500.0 | |
| F2,600.0,500.0 | |
| F3,600.0,500.0 | |
| F4,600.0,500.0 | |
| F5,600.0,500.0 | |
| # DEVICES | |
| device_id,device_demand | |
| A,17.0 | |
| B,13.0 | |
| C,13.0 | |
| D,24.0 | |
| E,25.0 | |
| F,22.0 | |
| G,19.0 | |
| H,23.0 | |
| I,13.0 | |
| J,10.0 | |
| K,27.0 | |
| # DEVICE_TRANSFERS | |
| hub_id,device_id,device_transfer_cost | |
| F1,A,1566.0 | |
| F1,B,2821.0 | |
| F1,C,1840.0 | |
| F1,D,721.0 | |
| F1,E,2163.0 | |
| F1,F,1166.0 | |
| F1,G,2617.0 | |
| F1,H,1280.0 | |
| F1,I,1953.0 | |
| F1,J,771.0 | |
| F1,K,1906.0 | |
| F2,A,1292.0 | |
| F2,B,2629.0 | |
| F2,C,1569.0 | |
| F2,D,436.0 | |
| F2,E,2026.0 | |
| F2,F,889.0 | |
| F2,G,2409.0 | |
| F2,H,1262.0 | |
| F2,I,1896.0 | |
| F2,J,651.0 | |
| F2,K,1738.0 | |
| F3,A,280.0 | |
| F3,B,173.0 | |
| F3,C,353.0 | |
| F3,D,146.0 | |
| F3,E,227.0 | |
| F3,F,196.0 | |
| F3,G,128.0 | |
| F3,H,385.0 | |
| F3,I,527.0 | |
| F3,J,46.0 | |
| F3,K,79.0 | |
| F4,A,507.0 | |
| F4,B,1775.0 | |
| F4,C,756.0 | |
| F4,D,108.0 | |
| F4,E,1278.0 | |
| F4,F,216.0 | |
| F4,G,1542.0 | |
| F4,H,839.0 | |
| F4,I,1322.0 | |
| F4,J,211.0 | |
| F4,K,944.0 | |
| F5,A,1017.0 | |
| F5,B,2444.0 | |
| F5,C,1295.0 | |
| F5,D,141.0 | |
| F5,E,1904.0 | |
| F5,F,613.0 | |
| F5,G,2210.0 | |
| F5,H,1246.0 | |
| F5,I,1842.0 | |
| F5,J,595.0 | |
| F5,K,1590.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': [600.0, 600.0, 600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[1566.0, 2821.0, 1840.0, 721.0, 2163.0, 1166.0, 2617.0, 1280.0, 1953.0, 771.0, 1906.0], [1292.0, 2629.0, 1569.0, 436.0, 2026.0, 889.0, 2409.0, 1262.0, 1896.0, 651.0, 1738.0], [280.0, 173.0, 353.0, 146.0, 227.0, 196.0, 128.0, 385.0, 527.0, 46.0, 79.0], [507.0, 1775.0, 756.0, 108.0, 1278.0, 216.0, 1542.0, 839.0, 1322.0, 211.0, 944.0], [1017.0, 2444.0, 1295.0, 141.0, 1904.0, 613.0, 2210.0, 1246.0, 1842.0, 595.0, 1590.0]], 'demands': [17.0, 13.0, 13.0, 24.0, 25.0, 22.0, 19.0, 23.0, 13.0, 10.0, 27.0], 'objective': 3140.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]}",3140.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 11, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 17.0}, {'id': 'B', 'demand': 13.0}, {'id': 'C', 'demand': 13.0}, {'id': 'D', 'demand': 24.0}, {'id': 'E', 'demand': 25.0}, {'id': 'F', 'demand': 22.0}, {'id': 'G', 'demand': 19.0}, {'id': 'H', 'demand': 23.0}, {'id': 'I', 'demand': 13.0}, {'id': 'J', 'demand': 10.0}, {'id': 'K', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1566.0}, {'facility': 'F1', 'customer': 'B', 'cost': 2821.0}, {'facility': 'F1', 'customer': 'C', 'cost': 1840.0}, {'facility': 'F1', 'customer': 'D', 'cost': 721.0}, {'facility': 'F1', 'customer': 'E', 'cost': 2163.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1166.0}, {'facility': 'F1', 'customer': 'G', 'cost': 2617.0}, {'facility': 'F1', 'customer': 'H', 'cost': 1280.0}, {'facility': 'F1', 'customer': 'I', 'cost': 1953.0}, {'facility': 'F1', 'customer': 'J', 'cost': 771.0}, {'facility': 'F1', 'customer': 'K', 'cost': 1906.0}, {'facility': 'F2', 'customer': 'A', 'cost': 1292.0}, {'facility': 'F2', 'customer': 'B', 'cost': 2629.0}, {'facility': 'F2', 'customer': 'C', 'cost': 1569.0}, {'facility': 'F2', 'customer': 'D', 'cost': 436.0}, {'facility': 'F2', 'customer': 'E', 'cost': 2026.0}, {'facility': 'F2', 'customer': 'F', 'cost': 889.0}, {'facility': 'F2', 'customer': 'G', 'cost': 2409.0}, {'facility': 'F2', 'customer': 'H', 'cost': 1262.0}, {'facility': 'F2', 'customer': 'I', 'cost': 1896.0}, {'facility': 'F2', 'customer': 'J', 'cost': 651.0}, {'facility': 'F2', 'customer': 'K', 'cost': 1738.0}, {'facility': 'F3', 'customer': 'A', 'cost': 280.0}, {'facility': 'F3', 'customer': 'B', 'cost': 173.0}, {'facility': 'F3', 'customer': 'C', 'cost': 353.0}, {'facility': 'F3', 'customer': 'D', 'cost': 146.0}, {'facility': 'F3', 'customer': 'E', 'cost': 227.0}, {'facility': 'F3', 'customer': 'F', 'cost': 196.0}, {'facility': 'F3', 'customer': 'G', 'cost': 128.0}, {'facility': 'F3', 'customer': 'H', 'cost': 385.0}, {'facility': 'F3', 'customer': 'I', 'cost': 527.0}, {'facility': 'F3', 'customer': 'J', 'cost': 46.0}, {'facility': 'F3', 'customer': 'K', 'cost': 79.0}, {'facility': 'F4', 'customer': 'A', 'cost': 507.0}, {'facility': 'F4', 'customer': 'B', 'cost': 1775.0}, {'facility': 'F4', 'customer': 'C', 'cost': 756.0}, {'facility': 'F4', 'customer': 'D', 'cost': 108.0}, {'facility': 'F4', 'customer': 'E', 'cost': 1278.0}, {'facility': 'F4', 'customer': 'F', 'cost': 216.0}, {'facility': 'F4', 'customer': 'G', 'cost': 1542.0}, {'facility': 'F4', 'customer': 'H', 'cost': 839.0}, {'facility': 'F4', 'customer': 'I', 'cost': 1322.0}, {'facility': 'F4', 'customer': 'J', 'cost': 211.0}, {'facility': 'F4', 'customer': 'K', 'cost': 944.0}, {'facility': 'F5', 'customer': 'A', 'cost': 1017.0}, {'facility': 'F5', 'customer': 'B', 'cost': 2444.0}, {'facility': 'F5', 'customer': 'C', 'cost': 1295.0}, {'facility': 'F5', 'customer': 'D', 'cost': 141.0}, {'facility': 'F5', 'customer': 'E', 'cost': 1904.0}, {'facility': 'F5', 'customer': 'F', 'cost': 613.0}, {'facility': 'F5', 'customer': 'G', 'cost': 2210.0}, {'facility': 'F5', 'customer': 'H', 'cost': 1246.0}, {'facility': 'F5', 'customer': 'I', 'cost': 1842.0}, {'facility': 'F5', 'customer': 'J', 'cost': 595.0}, {'facility': 'F5', 'customer': 'K', 'cost': 1590.0}], 'objective': 3140.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",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 5 candidate centers and 12 households in the data below. | |
| Center F1 has activation cost 600.0 and capacity 500.0. | |
| Center F2 has activation cost 600.0 and capacity 500.0. | |
| Center F3 has activation cost 600.0 and capacity 500.0. | |
| Center F4 has activation cost 600.0 and capacity 500.0. | |
| Center F5 has activation cost 600.0 and capacity 500.0. | |
| Household 1 has demand 14.0. | |
| Household 2 has demand 12.0. | |
| Household 3 has demand 23.0. | |
| Household 4 has demand 12.0. | |
| Household 5 has demand 18.0. | |
| Household 6 has demand 23.0. | |
| Household 7 has demand 17.0. | |
| Household 8 has demand 13.0. | |
| Household 9 has demand 23.0. | |
| Household 10 has demand 10.0. | |
| Household 11 has demand 29.0. | |
| Household 12 has demand 23.0. | |
| Serving household 1 from center F1 incurs delivery cost 457.0. | |
| Serving household 2 from center F1 incurs delivery cost 261.0. | |
| Serving household 3 from center F1 incurs delivery cost 1201.0. | |
| Serving household 4 from center F1 incurs delivery cost 105.0. | |
| Serving household 5 from center F1 incurs delivery cost 898.0. | |
| Serving household 6 from center F1 incurs delivery cost 620.0. | |
| Serving household 7 from center F1 incurs delivery cost 114.0. | |
| Serving household 8 from center F1 incurs delivery cost 547.0. | |
| Serving household 9 from center F1 incurs delivery cost 1116.0. | |
| Serving household 10 from center F1 incurs delivery cost 63.0. | |
| Serving household 11 from center F1 incurs delivery cost 85.0. | |
| Serving household 12 from center F1 incurs delivery cost 474.0. | |
| Serving household 1 from center F2 incurs delivery cost 100.0. | |
| Serving household 2 from center F2 incurs delivery cost 133.0. | |
| Serving household 3 from center F2 incurs delivery cost 1633.0. | |
| Serving household 4 from center F2 incurs delivery cost 472.0. | |
| Serving household 5 from center F2 incurs delivery cost 1451.0. | |
| Serving household 6 from center F2 incurs delivery cost 342.0. | |
| Serving household 7 from center F2 incurs delivery cost 648.0. | |
| Serving household 8 from center F2 incurs delivery cost 1109.0. | |
| Serving household 9 from center F2 incurs delivery cost 1391.0. | |
| Serving household 10 from center F2 incurs delivery cost 233.0. | |
| Serving household 11 from center F2 incurs delivery cost 217.0. | |
| Serving household 12 from center F2 incurs delivery cost 1030.0. | |
| Serving household 1 from center F3 incurs delivery cost 1030.0. | |
| Serving household 2 from center F3 incurs delivery cost 865.0. | |
| Serving household 3 from center F3 incurs delivery cost 2147.0. | |
| Serving household 4 from center F3 incurs delivery cost 478.0. | |
| Serving household 5 from center F3 incurs delivery cost 1765.0. | |
| Serving household 6 from center F3 incurs delivery cost 1262.0. | |
| Serving household 7 from center F3 incurs delivery cost 1064.0. | |
| Serving household 8 from center F3 incurs delivery cost 1422.0. | |
| Serving household 9 from center F3 incurs delivery cost 2054.0. | |
| Serving household 10 from center F3 incurs delivery cost 651.0. | |
| Serving household 11 from center F3 incurs delivery cost 64.0. | |
| Serving household 12 from center F3 incurs delivery cost 1176.0. | |
| Serving household 1 from center F4 incurs delivery cost 385.0. | |
| Serving household 2 from center F4 incurs delivery cost 232.0. | |
| Serving household 3 from center F4 incurs delivery cost 1732.0. | |
| Serving household 4 from center F4 incurs delivery cost 430.0. | |
| Serving household 5 from center F4 incurs delivery cost 1488.0. | |
| Serving household 6 from center F4 incurs delivery cost 615.0. | |
| Serving household 7 from center F4 incurs delivery cost 680.0. | |
| Serving household 8 from center F4 incurs delivery cost 1138.0. | |
| Serving household 9 from center F4 incurs delivery cost 1540.0. | |
| Serving household 10 from center F4 incurs delivery cost 212.0. | |
| Serving household 11 from center F4 incurs delivery cost 182.0. | |
| Serving household 12 from center F4 incurs delivery cost 1020.0. | |
| Serving household 1 from center F5 incurs delivery cost 158.0. | |
| Serving household 2 from center F5 incurs delivery cost 43.0. | |
| Serving household 3 from center F5 incurs delivery cost 1061.0. | |
| Serving household 4 from center F5 incurs delivery cost 241.0. | |
| Serving household 5 from center F5 incurs delivery cost 943.0. | |
| Serving household 6 from center F5 incurs delivery cost 251.0. | |
| Serving household 7 from center F5 incurs delivery cost 220.0. | |
| Serving household 8 from center F5 incurs delivery cost 630.0. | |
| Serving household 9 from center F5 incurs delivery cost 820.0. | |
| Serving household 10 from center F5 incurs delivery cost 36.0. | |
| Serving household 11 from center F5 incurs delivery cost 137.0. | |
| Serving household 12 from center F5 incurs delivery cost 636.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': [600.0, 600.0, 600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[457.0, 261.0, 1201.0, 105.0, 898.0, 620.0, 114.0, 547.0, 1116.0, 63.0, 85.0, 474.0], [100.0, 133.0, 1633.0, 472.0, 1451.0, 342.0, 648.0, 1109.0, 1391.0, 233.0, 217.0, 1030.0], [1030.0, 865.0, 2147.0, 478.0, 1765.0, 1262.0, 1064.0, 1422.0, 2054.0, 651.0, 64.0, 1176.0], [385.0, 232.0, 1732.0, 430.0, 1488.0, 615.0, 680.0, 1138.0, 1540.0, 212.0, 182.0, 1020.0], [158.0, 43.0, 1061.0, 241.0, 943.0, 251.0, 220.0, 630.0, 820.0, 36.0, 137.0, 636.0]], 'demands': [14.0, 12.0, 23.0, 12.0, 18.0, 23.0, 17.0, 13.0, 23.0, 10.0, 29.0, 23.0], 'objective': 5776.0}","{'open_facilities': [4], 'assignments': [4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4]}",5776.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 14.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 23.0}, {'id': 4, 'demand': 12.0}, {'id': 5, 'demand': 18.0}, {'id': 6, 'demand': 23.0}, {'id': 7, 'demand': 17.0}, {'id': 8, 'demand': 13.0}, {'id': 9, 'demand': 23.0}, {'id': 10, 'demand': 10.0}, {'id': 11, 'demand': 29.0}, {'id': 12, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 457.0}, {'facility': 'F1', 'customer': 2, 'cost': 261.0}, {'facility': 'F1', 'customer': 3, 'cost': 1201.0}, {'facility': 'F1', 'customer': 4, 'cost': 105.0}, {'facility': 'F1', 'customer': 5, 'cost': 898.0}, {'facility': 'F1', 'customer': 6, 'cost': 620.0}, {'facility': 'F1', 'customer': 7, 'cost': 114.0}, {'facility': 'F1', 'customer': 8, 'cost': 547.0}, {'facility': 'F1', 'customer': 9, 'cost': 1116.0}, {'facility': 'F1', 'customer': 10, 'cost': 63.0}, {'facility': 'F1', 'customer': 11, 'cost': 85.0}, {'facility': 'F1', 'customer': 12, 'cost': 474.0}, {'facility': 'F2', 'customer': 1, 'cost': 100.0}, {'facility': 'F2', 'customer': 2, 'cost': 133.0}, {'facility': 'F2', 'customer': 3, 'cost': 1633.0}, {'facility': 'F2', 'customer': 4, 'cost': 472.0}, {'facility': 'F2', 'customer': 5, 'cost': 1451.0}, {'facility': 'F2', 'customer': 6, 'cost': 342.0}, {'facility': 'F2', 'customer': 7, 'cost': 648.0}, {'facility': 'F2', 'customer': 8, 'cost': 1109.0}, {'facility': 'F2', 'customer': 9, 'cost': 1391.0}, {'facility': 'F2', 'customer': 10, 'cost': 233.0}, {'facility': 'F2', 'customer': 11, 'cost': 217.0}, {'facility': 'F2', 'customer': 12, 'cost': 1030.0}, {'facility': 'F3', 'customer': 1, 'cost': 1030.0}, {'facility': 'F3', 'customer': 2, 'cost': 865.0}, {'facility': 'F3', 'customer': 3, 'cost': 2147.0}, {'facility': 'F3', 'customer': 4, 'cost': 478.0}, {'facility': 'F3', 'customer': 5, 'cost': 1765.0}, {'facility': 'F3', 'customer': 6, 'cost': 1262.0}, {'facility': 'F3', 'customer': 7, 'cost': 1064.0}, {'facility': 'F3', 'customer': 8, 'cost': 1422.0}, {'facility': 'F3', 'customer': 9, 'cost': 2054.0}, {'facility': 'F3', 'customer': 10, 'cost': 651.0}, {'facility': 'F3', 'customer': 11, 'cost': 64.0}, {'facility': 'F3', 'customer': 12, 'cost': 1176.0}, {'facility': 'F4', 'customer': 1, 'cost': 385.0}, {'facility': 'F4', 'customer': 2, 'cost': 232.0}, {'facility': 'F4', 'customer': 3, 'cost': 1732.0}, {'facility': 'F4', 'customer': 4, 'cost': 430.0}, {'facility': 'F4', 'customer': 5, 'cost': 1488.0}, {'facility': 'F4', 'customer': 6, 'cost': 615.0}, {'facility': 'F4', 'customer': 7, 'cost': 680.0}, {'facility': 'F4', 'customer': 8, 'cost': 1138.0}, {'facility': 'F4', 'customer': 9, 'cost': 1540.0}, {'facility': 'F4', 'customer': 10, 'cost': 212.0}, {'facility': 'F4', 'customer': 11, 'cost': 182.0}, {'facility': 'F4', 'customer': 12, 'cost': 1020.0}, {'facility': 'F5', 'customer': 1, 'cost': 158.0}, {'facility': 'F5', 'customer': 2, 'cost': 43.0}, {'facility': 'F5', 'customer': 3, 'cost': 1061.0}, {'facility': 'F5', 'customer': 4, 'cost': 241.0}, {'facility': 'F5', 'customer': 5, 'cost': 943.0}, {'facility': 'F5', 'customer': 6, 'cost': 251.0}, {'facility': 'F5', 'customer': 7, 'cost': 220.0}, {'facility': 'F5', 'customer': 8, 'cost': 630.0}, {'facility': 'F5', 'customer': 9, 'cost': 820.0}, {'facility': 'F5', 'customer': 10, 'cost': 36.0}, {'facility': 'F5', 'customer': 11, 'cost': 137.0}, {'facility': 'F5', 'customer': 12, 'cost': 636.0}], 'objective': 5776.0}","{'selected': ['F5'], 'assignments': ['F5', 'F5', 'F5', 'F5', 'F5', 'F5', 'F5', 'F5', 'F5', 'F5', 'F5', 'F5']}",21,nl,1 | |
| 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"": 5, | |
| ""num_attendee_groups"": 12, | |
| ""stations"": [ | |
| { | |
| ""station_id"": ""F1"", | |
| ""setup_fee"": 300.0, | |
| ""max_capacity"": 500.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""setup_fee"": 300.0, | |
| ""max_capacity"": 500.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""setup_fee"": 300.0, | |
| ""max_capacity"": 500.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""setup_fee"": 300.0, | |
| ""max_capacity"": 500.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""setup_fee"": 300.0, | |
| ""max_capacity"": 500.0 | |
| } | |
| ], | |
| ""attendee_groups"": [ | |
| { | |
| ""attendee_group_id"": ""A"", | |
| ""group_size"": 14.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""B"", | |
| ""group_size"": 15.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""C"", | |
| ""group_size"": 27.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""D"", | |
| ""group_size"": 10.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""E"", | |
| ""group_size"": 26.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""F"", | |
| ""group_size"": 12.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""G"", | |
| ""group_size"": 23.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""H"", | |
| ""group_size"": 21.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""I"", | |
| ""group_size"": 27.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""J"", | |
| ""group_size"": 11.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""K"", | |
| ""group_size"": 13.0 | |
| }, | |
| { | |
| ""attendee_group_id"": ""L"", | |
| ""group_size"": 27.0 | |
| } | |
| ], | |
| ""walking_distances"": [ | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""A"", | |
| ""walking_distance_cost"": 570.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""B"", | |
| ""walking_distance_cost"": 46.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""C"", | |
| ""walking_distance_cost"": 429.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""D"", | |
| ""walking_distance_cost"": 938.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""E"", | |
| ""walking_distance_cost"": 531.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""F"", | |
| ""walking_distance_cost"": 88.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""G"", | |
| ""walking_distance_cost"": 791.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""H"", | |
| ""walking_distance_cost"": 374.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""I"", | |
| ""walking_distance_cost"": 101.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""J"", | |
| ""walking_distance_cost"": 501.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""K"", | |
| ""walking_distance_cost"": 50.0 | |
| }, | |
| { | |
| ""station_id"": ""F1"", | |
| ""attendee_group_id"": ""L"", | |
| ""walking_distance_cost"": 461.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""A"", | |
| ""walking_distance_cost"": 312.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""B"", | |
| ""walking_distance_cost"": 864.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""C"", | |
| ""walking_distance_cost"": 416.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""D"", | |
| ""walking_distance_cost"": 637.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""E"", | |
| ""walking_distance_cost"": 275.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""F"", | |
| ""walking_distance_cost"": 447.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""G"", | |
| ""walking_distance_cost"": 618.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""H"", | |
| ""walking_distance_cost"": 839.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""I"", | |
| ""walking_distance_cost"": 701.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""J"", | |
| ""walking_distance_cost"": 854.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""K"", | |
| ""walking_distance_cost"": 185.0 | |
| }, | |
| { | |
| ""station_id"": ""F2"", | |
| ""attendee_group_id"": ""L"", | |
| ""walking_distance_cost"": 273.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""A"", | |
| ""walking_distance_cost"": 658.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""B"", | |
| ""walking_distance_cost"": 1110.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""C"", | |
| ""walking_distance_cost"": 1023.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""D"", | |
| ""walking_distance_cost"": 1206.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""E"", | |
| ""walking_distance_cost"": 626.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""F"", | |
| ""walking_distance_cost"": 759.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""G"", | |
| ""walking_distance_cost"": 1302.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""H"", | |
| ""walking_distance_cost"": 1289.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""I"", | |
| ""walking_distance_cost"": 783.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""J"", | |
| ""walking_distance_cost"": 1368.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""K"", | |
| ""walking_distance_cost"": 244.0 | |
| }, | |
| { | |
| ""station_id"": ""F3"", | |
| ""attendee_group_id"": ""L"", | |
| ""walking_distance_cost"": 944.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""A"", | |
| ""walking_distance_cost"": 692.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""B"", | |
| ""walking_distance_cost"": 1492.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""C"", | |
| ""walking_distance_cost"": 1328.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""D"", | |
| ""walking_distance_cost"": 1329.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""E"", | |
| ""walking_distance_cost"": 670.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""F"", | |
| ""walking_distance_cost"": 1126.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""G"", | |
| ""walking_distance_cost"": 1544.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""H"", | |
| ""walking_distance_cost"": 1646.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""I"", | |
| ""walking_distance_cost"": 1160.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""J"", | |
| ""walking_distance_cost"": 1712.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""K"", | |
| ""walking_distance_cost"": 611.0 | |
| }, | |
| { | |
| ""station_id"": ""F4"", | |
| ""attendee_group_id"": ""L"", | |
| ""walking_distance_cost"": 1216.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""A"", | |
| ""walking_distance_cost"": 158.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""B"", | |
| ""walking_distance_cost"": 1259.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""C"", | |
| ""walking_distance_cost"": 803.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""D"", | |
| ""walking_distance_cost"": 515.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""E"", | |
| ""walking_distance_cost"": 127.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""F"", | |
| ""walking_distance_cost"": 838.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""G"", | |
| ""walking_distance_cost"": 820.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""H"", | |
| ""walking_distance_cost"": 1242.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""I"", | |
| ""walking_distance_cost"": 1055.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""J"", | |
| ""walking_distance_cost"": 1245.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""K"", | |
| ""walking_distance_cost"": 477.0 | |
| }, | |
| { | |
| ""station_id"": ""F5"", | |
| ""attendee_group_id"": ""L"", | |
| ""walking_distance_cost"": 630.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': [300.0, 300.0, 300.0, 300.0, 300.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[570.0, 46.0, 429.0, 938.0, 531.0, 88.0, 791.0, 374.0, 101.0, 501.0, 50.0, 461.0], [312.0, 864.0, 416.0, 637.0, 275.0, 447.0, 618.0, 839.0, 701.0, 854.0, 185.0, 273.0], [658.0, 1110.0, 1023.0, 1206.0, 626.0, 759.0, 1302.0, 1289.0, 783.0, 1368.0, 244.0, 944.0], [692.0, 1492.0, 1328.0, 1329.0, 670.0, 1126.0, 1544.0, 1646.0, 1160.0, 1712.0, 611.0, 1216.0], [158.0, 1259.0, 803.0, 515.0, 127.0, 838.0, 820.0, 1242.0, 1055.0, 1245.0, 477.0, 630.0]], 'demands': [14.0, 15.0, 27.0, 10.0, 26.0, 12.0, 23.0, 21.0, 27.0, 11.0, 13.0, 27.0], 'objective': 4167.0}","{'open_facilities': [0, 1, 4], 'assignments': [4, 0, 1, 4, 4, 0, 1, 0, 0, 0, 0, 1]}",4167.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, '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}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 300.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': 26.0}, {'id': 'F', 'demand': 12.0}, {'id': 'G', 'demand': 23.0}, {'id': 'H', 'demand': 21.0}, {'id': 'I', 'demand': 27.0}, {'id': 'J', 'demand': 11.0}, {'id': 'K', 'demand': 13.0}, {'id': 'L', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 570.0}, {'facility': 'F1', 'customer': 'B', 'cost': 46.0}, {'facility': 'F1', 'customer': 'C', 'cost': 429.0}, {'facility': 'F1', 'customer': 'D', 'cost': 938.0}, {'facility': 'F1', 'customer': 'E', 'cost': 531.0}, {'facility': 'F1', 'customer': 'F', 'cost': 88.0}, {'facility': 'F1', 'customer': 'G', 'cost': 791.0}, {'facility': 'F1', 'customer': 'H', 'cost': 374.0}, {'facility': 'F1', 'customer': 'I', 'cost': 101.0}, {'facility': 'F1', 'customer': 'J', 'cost': 501.0}, {'facility': 'F1', 'customer': 'K', 'cost': 50.0}, {'facility': 'F1', 'customer': 'L', 'cost': 461.0}, {'facility': 'F2', 'customer': 'A', 'cost': 312.0}, {'facility': 'F2', 'customer': 'B', 'cost': 864.0}, {'facility': 'F2', 'customer': 'C', 'cost': 416.0}, {'facility': 'F2', 'customer': 'D', 'cost': 637.0}, {'facility': 'F2', 'customer': 'E', 'cost': 275.0}, {'facility': 'F2', 'customer': 'F', 'cost': 447.0}, {'facility': 'F2', 'customer': 'G', 'cost': 618.0}, {'facility': 'F2', 'customer': 'H', 'cost': 839.0}, {'facility': 'F2', 'customer': 'I', 'cost': 701.0}, {'facility': 'F2', 'customer': 'J', 'cost': 854.0}, {'facility': 'F2', 'customer': 'K', 'cost': 185.0}, {'facility': 'F2', 'customer': 'L', 'cost': 273.0}, {'facility': 'F3', 'customer': 'A', 'cost': 658.0}, {'facility': 'F3', 'customer': 'B', 'cost': 1110.0}, {'facility': 'F3', 'customer': 'C', 'cost': 1023.0}, {'facility': 'F3', 'customer': 'D', 'cost': 1206.0}, {'facility': 'F3', 'customer': 'E', 'cost': 626.0}, {'facility': 'F3', 'customer': 'F', 'cost': 759.0}, {'facility': 'F3', 'customer': 'G', 'cost': 1302.0}, {'facility': 'F3', 'customer': 'H', 'cost': 1289.0}, {'facility': 'F3', 'customer': 'I', 'cost': 783.0}, {'facility': 'F3', 'customer': 'J', 'cost': 1368.0}, {'facility': 'F3', 'customer': 'K', 'cost': 244.0}, {'facility': 'F3', 'customer': 'L', 'cost': 944.0}, {'facility': 'F4', 'customer': 'A', 'cost': 692.0}, {'facility': 'F4', 'customer': 'B', 'cost': 1492.0}, {'facility': 'F4', 'customer': 'C', 'cost': 1328.0}, {'facility': 'F4', 'customer': 'D', 'cost': 1329.0}, {'facility': 'F4', 'customer': 'E', 'cost': 670.0}, {'facility': 'F4', 'customer': 'F', 'cost': 1126.0}, {'facility': 'F4', 'customer': 'G', 'cost': 1544.0}, {'facility': 'F4', 'customer': 'H', 'cost': 1646.0}, {'facility': 'F4', 'customer': 'I', 'cost': 1160.0}, {'facility': 'F4', 'customer': 'J', 'cost': 1712.0}, {'facility': 'F4', 'customer': 'K', 'cost': 611.0}, {'facility': 'F4', 'customer': 'L', 'cost': 1216.0}, {'facility': 'F5', 'customer': 'A', 'cost': 158.0}, {'facility': 'F5', 'customer': 'B', 'cost': 1259.0}, {'facility': 'F5', 'customer': 'C', 'cost': 803.0}, {'facility': 'F5', 'customer': 'D', 'cost': 515.0}, {'facility': 'F5', 'customer': 'E', 'cost': 127.0}, {'facility': 'F5', 'customer': 'F', 'cost': 838.0}, {'facility': 'F5', 'customer': 'G', 'cost': 820.0}, {'facility': 'F5', 'customer': 'H', 'cost': 1242.0}, {'facility': 'F5', 'customer': 'I', 'cost': 1055.0}, {'facility': 'F5', 'customer': 'J', 'cost': 1245.0}, {'facility': 'F5', 'customer': 'K', 'cost': 477.0}, {'facility': 'F5', 'customer': 'L', 'cost': 630.0}], 'objective': 4167.0}","{'selected': ['F1', 'F2', 'F5'], 'assignments': ['F5', 'F1', 'F2', 'F5', 'F5', 'F1', 'F2', 'F1', 'F1', 'F1', 'F1', 'F2']}",22,json,names | |
| CFLP,CFLP,"Weβre juggling dorm space for the upcoming semester and have to choose which wings to bring online and where each student should live. The task is to open some wings (each has an opening price and a fixed number of beds) and then assign every student to a single opened wing without exceeding those beds. Better choices are the ones that minimize what we pay overall: add up all wing-opening expenses and the distance or hassle cost for every student move β that total is what we want as small as possible. Concrete details will be shown below. | |
| # num_wings=5 | |
| # num_students=12 | |
| # WINGS | |
| wing_id,wing_opening_cost,wing_bed_capacity | |
| F1,600.0,500.0 | |
| F2,600.0,500.0 | |
| F3,600.0,500.0 | |
| F4,600.0,500.0 | |
| F5,600.0,500.0 | |
| # STUDENTS | |
| student_id,student_bed_requirement | |
| 1,28.0 | |
| 2,12.0 | |
| 3,12.0 | |
| 4,18.0 | |
| 5,27.0 | |
| 6,12.0 | |
| 7,13.0 | |
| 8,22.0 | |
| 9,18.0 | |
| 10,23.0 | |
| 11,18.0 | |
| 12,14.0 | |
| # RELOCATION_DISTANCES | |
| wing_id,student_id,relocation_distance_cost | |
| F1,1,196.0 | |
| F1,2,382.0 | |
| F1,3,83.0 | |
| F1,4,161.0 | |
| F1,5,132.0 | |
| F1,6,25.0 | |
| F1,7,38.0 | |
| F1,8,729.0 | |
| F1,9,92.0 | |
| F1,10,65.0 | |
| F1,11,772.0 | |
| F1,12,61.0 | |
| F2,1,558.0 | |
| F2,2,736.0 | |
| F2,3,466.0 | |
| F2,4,602.0 | |
| F2,5,66.0 | |
| F2,6,141.0 | |
| F2,7,182.0 | |
| F2,8,1830.0 | |
| F2,9,1079.0 | |
| F2,10,179.0 | |
| F2,11,1796.0 | |
| F2,12,430.0 | |
| F3,1,346.0 | |
| F3,2,493.0 | |
| F3,3,374.0 | |
| F3,4,466.0 | |
| F3,5,622.0 | |
| F3,6,105.0 | |
| F3,7,40.0 | |
| F3,8,1975.0 | |
| F3,9,1309.0 | |
| F3,10,531.0 | |
| F3,11,1865.0 | |
| F3,12,404.0 | |
| F4,1,145.0 | |
| F4,2,323.0 | |
| F4,3,45.0 | |
| F4,4,107.0 | |
| F4,5,214.0 | |
| F4,6,26.0 | |
| F4,7,27.0 | |
| F4,8,840.0 | |
| F4,9,128.0 | |
| F4,10,116.0 | |
| F4,11,817.0 | |
| F4,12,33.0 | |
| F5,1,128.0 | |
| F5,2,43.0 | |
| F5,3,260.0 | |
| F5,4,210.0 | |
| F5,5,709.0 | |
| F5,6,241.0 | |
| F5,7,171.0 | |
| F5,8,1478.0 | |
| F5,9,1022.0 | |
| F5,10,588.0 | |
| F5,11,1289.0 | |
| F5,12,329.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, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[196.0, 382.0, 83.0, 161.0, 132.0, 25.0, 38.0, 729.0, 92.0, 65.0, 772.0, 61.0], [558.0, 736.0, 466.0, 602.0, 66.0, 141.0, 182.0, 1830.0, 1079.0, 179.0, 1796.0, 430.0], [346.0, 493.0, 374.0, 466.0, 622.0, 105.0, 40.0, 1975.0, 1309.0, 531.0, 1865.0, 404.0], [145.0, 323.0, 45.0, 107.0, 214.0, 26.0, 27.0, 840.0, 128.0, 116.0, 817.0, 33.0], [128.0, 43.0, 260.0, 210.0, 709.0, 241.0, 171.0, 1478.0, 1022.0, 588.0, 1289.0, 329.0]], 'demands': [28.0, 12.0, 12.0, 18.0, 27.0, 12.0, 13.0, 22.0, 18.0, 23.0, 18.0, 14.0], 'objective': 3336.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}",3336.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 12.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 27.0}, {'id': 6, 'demand': 12.0}, {'id': 7, 'demand': 13.0}, {'id': 8, 'demand': 22.0}, {'id': 9, 'demand': 18.0}, {'id': 10, 'demand': 23.0}, {'id': 11, 'demand': 18.0}, {'id': 12, 'demand': 14.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 196.0}, {'facility': 'F1', 'customer': 2, 'cost': 382.0}, {'facility': 'F1', 'customer': 3, 'cost': 83.0}, {'facility': 'F1', 'customer': 4, 'cost': 161.0}, {'facility': 'F1', 'customer': 5, 'cost': 132.0}, {'facility': 'F1', 'customer': 6, 'cost': 25.0}, {'facility': 'F1', 'customer': 7, 'cost': 38.0}, {'facility': 'F1', 'customer': 8, 'cost': 729.0}, {'facility': 'F1', 'customer': 9, 'cost': 92.0}, {'facility': 'F1', 'customer': 10, 'cost': 65.0}, {'facility': 'F1', 'customer': 11, 'cost': 772.0}, {'facility': 'F1', 'customer': 12, 'cost': 61.0}, {'facility': 'F2', 'customer': 1, 'cost': 558.0}, {'facility': 'F2', 'customer': 2, 'cost': 736.0}, {'facility': 'F2', 'customer': 3, 'cost': 466.0}, {'facility': 'F2', 'customer': 4, 'cost': 602.0}, {'facility': 'F2', 'customer': 5, 'cost': 66.0}, {'facility': 'F2', 'customer': 6, 'cost': 141.0}, {'facility': 'F2', 'customer': 7, 'cost': 182.0}, {'facility': 'F2', 'customer': 8, 'cost': 1830.0}, {'facility': 'F2', 'customer': 9, 'cost': 1079.0}, {'facility': 'F2', 'customer': 10, 'cost': 179.0}, {'facility': 'F2', 'customer': 11, 'cost': 1796.0}, {'facility': 'F2', 'customer': 12, 'cost': 430.0}, {'facility': 'F3', 'customer': 1, 'cost': 346.0}, {'facility': 'F3', 'customer': 2, 'cost': 493.0}, {'facility': 'F3', 'customer': 3, 'cost': 374.0}, {'facility': 'F3', 'customer': 4, 'cost': 466.0}, {'facility': 'F3', 'customer': 5, 'cost': 622.0}, {'facility': 'F3', 'customer': 6, 'cost': 105.0}, {'facility': 'F3', 'customer': 7, 'cost': 40.0}, {'facility': 'F3', 'customer': 8, 'cost': 1975.0}, {'facility': 'F3', 'customer': 9, 'cost': 1309.0}, {'facility': 'F3', 'customer': 10, 'cost': 531.0}, {'facility': 'F3', 'customer': 11, 'cost': 1865.0}, {'facility': 'F3', 'customer': 12, 'cost': 404.0}, {'facility': 'F4', 'customer': 1, 'cost': 145.0}, {'facility': 'F4', 'customer': 2, 'cost': 323.0}, {'facility': 'F4', 'customer': 3, 'cost': 45.0}, {'facility': 'F4', 'customer': 4, 'cost': 107.0}, {'facility': 'F4', 'customer': 5, 'cost': 214.0}, {'facility': 'F4', 'customer': 6, 'cost': 26.0}, {'facility': 'F4', 'customer': 7, 'cost': 27.0}, {'facility': 'F4', 'customer': 8, 'cost': 840.0}, {'facility': 'F4', 'customer': 9, 'cost': 128.0}, {'facility': 'F4', 'customer': 10, 'cost': 116.0}, {'facility': 'F4', 'customer': 11, 'cost': 817.0}, {'facility': 'F4', 'customer': 12, 'cost': 33.0}, {'facility': 'F5', 'customer': 1, 'cost': 128.0}, {'facility': 'F5', 'customer': 2, 'cost': 43.0}, {'facility': 'F5', 'customer': 3, 'cost': 260.0}, {'facility': 'F5', 'customer': 4, 'cost': 210.0}, {'facility': 'F5', 'customer': 5, 'cost': 709.0}, {'facility': 'F5', 'customer': 6, 'cost': 241.0}, {'facility': 'F5', 'customer': 7, 'cost': 171.0}, {'facility': 'F5', 'customer': 8, 'cost': 1478.0}, {'facility': 'F5', 'customer': 9, 'cost': 1022.0}, {'facility': 'F5', 'customer': 10, 'cost': 588.0}, {'facility': 'F5', 'customer': 11, 'cost': 1289.0}, {'facility': 'F5', 'customer': 12, 'cost': 329.0}], 'objective': 3336.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",23,csv,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=4 | |
| # num_customers=10 | |
| # LOCKERS | |
| locker_id,activation_cost,parcel_capacity | |
| F1,372.0,436.0 | |
| F2,308.0,404.0 | |
| F3,253.0,377.0 | |
| F4,127.0,313.0 | |
| # CUSTOMERS | |
| customer_id,parcels_needed | |
| 1,20.0 | |
| 2,20.0 | |
| 3,30.0 | |
| 4,20.0 | |
| 5,30.0 | |
| 6,10.0 | |
| 7,9.0 | |
| 8,16.0 | |
| 9,27.0 | |
| 10,13.0 | |
| # TRAVELS | |
| locker_id,customer_id,travel_cost | |
| F1,1,326.0 | |
| F1,2,213.0 | |
| F1,3,8.0 | |
| F1,4,251.0 | |
| F1,5,216.0 | |
| F1,6,324.0 | |
| F1,7,241.0 | |
| F1,8,128.0 | |
| F1,9,191.0 | |
| F1,10,170.0 | |
| F2,1,185.0 | |
| F2,2,22.0 | |
| F2,3,215.0 | |
| F2,4,374.0 | |
| F2,5,334.0 | |
| F2,6,292.0 | |
| F2,7,190.0 | |
| F2,8,159.0 | |
| F2,9,119.0 | |
| F2,10,180.0 | |
| F3,1,184.0 | |
| F3,2,140.0 | |
| F3,3,141.0 | |
| F3,4,241.0 | |
| F3,5,201.0 | |
| F3,6,206.0 | |
| F3,7,108.0 | |
| F3,8,27.0 | |
| F3,9,51.0 | |
| F3,10,56.0 | |
| F4,1,200.0 | |
| F4,2,267.0 | |
| F4,3,227.0 | |
| F4,4,144.0 | |
| F4,5,113.0 | |
| F4,6,108.0 | |
| F4,7,89.0 | |
| F4,8,120.0 | |
| F4,9,137.0 | |
| F4,10,79.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': [372.0, 308.0, 253.0, 127.0], 'capacities': [436.0, 404.0, 377.0, 313.0], 'connection_costs': [[326.0, 213.0, 8.0, 251.0, 216.0, 324.0, 241.0, 128.0, 191.0, 170.0], [185.0, 22.0, 215.0, 374.0, 334.0, 292.0, 190.0, 159.0, 119.0, 180.0], [184.0, 140.0, 141.0, 241.0, 201.0, 206.0, 108.0, 27.0, 51.0, 56.0], [200.0, 267.0, 227.0, 144.0, 113.0, 108.0, 89.0, 120.0, 137.0, 79.0]], 'demands': [20.0, 20.0, 30.0, 20.0, 30.0, 10.0, 9.0, 16.0, 27.0, 13.0], 'objective': 1433.0}","{'open_facilities': [2, 3], 'assignments': [2, 2, 2, 3, 3, 3, 3, 2, 2, 2]}",1433.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 10, 'facilities': [{'id': 'F1', 'opening_cost': 372.0, 'capacity': 436.0}, {'id': 'F2', 'opening_cost': 308.0, 'capacity': 404.0}, {'id': 'F3', 'opening_cost': 253.0, 'capacity': 377.0}, {'id': 'F4', 'opening_cost': 127.0, 'capacity': 313.0}], 'customers': [{'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 20.0}, {'id': 3, 'demand': 30.0}, {'id': 4, 'demand': 20.0}, {'id': 5, 'demand': 30.0}, {'id': 6, 'demand': 10.0}, {'id': 7, 'demand': 9.0}, {'id': 8, 'demand': 16.0}, {'id': 9, 'demand': 27.0}, {'id': 10, 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 326.0}, {'facility': 'F1', 'customer': 2, 'cost': 213.0}, {'facility': 'F1', 'customer': 3, 'cost': 8.0}, {'facility': 'F1', 'customer': 4, 'cost': 251.0}, {'facility': 'F1', 'customer': 5, 'cost': 216.0}, {'facility': 'F1', 'customer': 6, 'cost': 324.0}, {'facility': 'F1', 'customer': 7, 'cost': 241.0}, {'facility': 'F1', 'customer': 8, 'cost': 128.0}, {'facility': 'F1', 'customer': 9, 'cost': 191.0}, {'facility': 'F1', 'customer': 10, 'cost': 170.0}, {'facility': 'F2', 'customer': 1, 'cost': 185.0}, {'facility': 'F2', 'customer': 2, 'cost': 22.0}, {'facility': 'F2', 'customer': 3, 'cost': 215.0}, {'facility': 'F2', 'customer': 4, 'cost': 374.0}, {'facility': 'F2', 'customer': 5, 'cost': 334.0}, {'facility': 'F2', 'customer': 6, 'cost': 292.0}, {'facility': 'F2', 'customer': 7, 'cost': 190.0}, {'facility': 'F2', 'customer': 8, 'cost': 159.0}, {'facility': 'F2', 'customer': 9, 'cost': 119.0}, {'facility': 'F2', 'customer': 10, 'cost': 180.0}, {'facility': 'F3', 'customer': 1, 'cost': 184.0}, {'facility': 'F3', 'customer': 2, 'cost': 140.0}, {'facility': 'F3', 'customer': 3, 'cost': 141.0}, {'facility': 'F3', 'customer': 4, 'cost': 241.0}, {'facility': 'F3', 'customer': 5, 'cost': 201.0}, {'facility': 'F3', 'customer': 6, 'cost': 206.0}, {'facility': 'F3', 'customer': 7, 'cost': 108.0}, {'facility': 'F3', 'customer': 8, 'cost': 27.0}, {'facility': 'F3', 'customer': 9, 'cost': 51.0}, {'facility': 'F3', 'customer': 10, 'cost': 56.0}, {'facility': 'F4', 'customer': 1, 'cost': 200.0}, {'facility': 'F4', 'customer': 2, 'cost': 267.0}, {'facility': 'F4', 'customer': 3, 'cost': 227.0}, {'facility': 'F4', 'customer': 4, 'cost': 144.0}, {'facility': 'F4', 'customer': 5, 'cost': 113.0}, {'facility': 'F4', 'customer': 6, 'cost': 108.0}, {'facility': 'F4', 'customer': 7, 'cost': 89.0}, {'facility': 'F4', 'customer': 8, 'cost': 120.0}, {'facility': 'F4', 'customer': 9, 'cost': 137.0}, {'facility': 'F4', 'customer': 10, 'cost': 79.0}], 'objective': 1433.0}","{'selected': ['F3', 'F4'], 'assignments': ['F3', 'F3', 'F3', 'F4', 'F4', 'F4', 'F4', 'F3', 'F3', 'F3']}",24,csv,1 | |
| CFLP,CFLP,"Weβre coordinating post-disaster sheltering and have to decide which temporary shelters to stand up and which families go where, making sure no household gets split and no shelter has more people than it can handle. Each potential shelter has a price to get it running and a limit on how many people it can take, and every family must be assigned to one of the shelters we open. The goal is to keep the overall expense as low as possible β just tally the opening costs for the shelters we choose plus the transport cost for each familyβs move, and aim for the lowest total. The specific numbers and options are listed below. | |
| There are 6 shelters and 13 familys in this instance. | |
| **Shelters** | |
| | shelter_id | shelter_setup_cost | shelter_capacity_people | | |
| |---|---|---| | |
| | F1 | 400.0 | 1382.0 | | |
| | F2 | 400.0 | 567.0 | | |
| | F3 | 400.0 | 898.0 | | |
| | F4 | 400.0 | 1388.0 | | |
| | F5 | 400.0 | 782.0 | | |
| | F6 | 400.0 | 506.0 | | |
| **Familys** | |
| | family_id | household_size | | |
| |---|---| | |
| | 0 | 24.0 | | |
| | 1 | 18.0 | | |
| | 2 | 12.0 | | |
| | 3 | 26.0 | | |
| | 4 | 27.0 | | |
| | 5 | 35.0 | | |
| | 6 | 41.0 | | |
| | 7 | 36.0 | | |
| | 8 | 21.0 | | |
| | 9 | 27.0 | | |
| | 10 | 14.0 | | |
| | 11 | 44.0 | | |
| | 12 | 16.0 | | |
| **Transport Cost** | |
| | shelter_id | family_id | transport_cost | | |
| |---|---|---| | |
| | F1 | 0 | 744.0 | | |
| | F1 | 1 | 342.0 | | |
| | F1 | 2 | 14.0 | | |
| | F1 | 3 | 622.0 | | |
| | F1 | 4 | 623.0 | | |
| | F1 | 5 | 373.0 | | |
| | F1 | 6 | 269.0 | | |
| | F1 | 7 | 635.0 | | |
| | F1 | 8 | 683.0 | | |
| | F1 | 9 | 208.0 | | |
| | F1 | 10 | 372.0 | | |
| | F1 | 11 | 626.0 | | |
| | F1 | 12 | 577.0 | | |
| | F2 | 0 | 537.0 | | |
| | F2 | 1 | 445.0 | | |
| | F2 | 2 | 526.0 | | |
| | F2 | 3 | 249.0 | | |
| | F2 | 4 | 292.0 | | |
| | F2 | 5 | 393.0 | | |
| | F2 | 6 | 247.0 | | |
| | F2 | 7 | 284.0 | | |
| | F2 | 8 | 384.0 | | |
| | F2 | 9 | 475.0 | | |
| | F2 | 10 | 589.0 | | |
| | F2 | 11 | 292.0 | | |
| | F2 | 12 | 74.0 | | |
| | F3 | 0 | 465.0 | | |
| | F3 | 1 | 193.0 | | |
| | F3 | 2 | 330.0 | | |
| | F3 | 3 | 306.0 | | |
| | F3 | 4 | 307.0 | | |
| | F3 | 5 | 158.0 | | |
| | F3 | 6 | 140.0 | | |
| | F3 | 7 | 319.0 | | |
| | F3 | 8 | 374.0 | | |
| | F3 | 9 | 214.0 | | |
| | F3 | 10 | 330.0 | | |
| | F3 | 11 | 310.0 | | |
| | F3 | 12 | 300.0 | | |
| | F4 | 0 | 439.0 | | |
| | F4 | 1 | 231.0 | | |
| | F4 | 2 | 516.0 | | |
| | F4 | 3 | 557.0 | | |
| | F4 | 4 | 516.0 | | |
| | F4 | 5 | 272.0 | | |
| | F4 | 6 | 540.0 | | |
| | F4 | 7 | 538.0 | | |
| | F4 | 8 | 503.0 | | |
| | F4 | 9 | 307.0 | | |
| | F4 | 10 | 132.0 | | |
| | F4 | 11 | 520.0 | | |
| | F4 | 12 | 672.0 | | |
| | F5 | 0 | 173.0 | | |
| | F5 | 1 | 456.0 | | |
| | F5 | 2 | 754.0 | | |
| | F5 | 3 | 166.0 | | |
| | F5 | 4 | 132.0 | | |
| | F5 | 5 | 397.0 | | |
| | F5 | 6 | 540.0 | | |
| | F5 | 7 | 133.0 | | |
| | F5 | 8 | 59.0 | | |
| | F5 | 9 | 580.0 | | |
| | F5 | 10 | 566.0 | | |
| | F5 | 11 | 131.0 | | |
| | F5 | 12 | 360.0 | | |
| | F6 | 0 | 278.0 | | |
| | F6 | 1 | 213.0 | | |
| | F6 | 2 | 501.0 | | |
| | F6 | 3 | 185.0 | | |
| | F6 | 4 | 158.0 | | |
| | F6 | 5 | 150.0 | | |
| | F6 | 6 | 319.0 | | |
| | F6 | 7 | 177.0 | | |
| | F6 | 8 | 198.0 | | |
| | F6 | 9 | 326.0 | | |
| | F6 | 10 | 346.0 | | |
| | F6 | 11 | 162.0 | | |
| | F6 | 12 | 303.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, 400.0, 400.0, 400.0], 'capacities': [1382.0, 567.0, 898.0, 1388.0, 782.0, 506.0], 'connection_costs': [[744.0, 342.0, 14.0, 622.0, 623.0, 373.0, 269.0, 635.0, 683.0, 208.0, 372.0, 626.0, 577.0], [537.0, 445.0, 526.0, 249.0, 292.0, 393.0, 247.0, 284.0, 384.0, 475.0, 589.0, 292.0, 74.0], [465.0, 193.0, 330.0, 306.0, 307.0, 158.0, 140.0, 319.0, 374.0, 214.0, 330.0, 310.0, 300.0], [439.0, 231.0, 516.0, 557.0, 516.0, 272.0, 540.0, 538.0, 503.0, 307.0, 132.0, 520.0, 672.0], [173.0, 456.0, 754.0, 166.0, 132.0, 397.0, 540.0, 133.0, 59.0, 580.0, 566.0, 131.0, 360.0], [278.0, 213.0, 501.0, 185.0, 158.0, 150.0, 319.0, 177.0, 198.0, 326.0, 346.0, 162.0, 303.0]], 'demands': [24.0, 18.0, 12.0, 26.0, 27.0, 35.0, 41.0, 36.0, 21.0, 27.0, 14.0, 44.0, 16.0], 'objective': 3259.0}","{'open_facilities': [2, 4], 'assignments': [4, 2, 2, 4, 4, 2, 2, 4, 4, 2, 2, 4, 2]}",3259.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 13, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1382.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 567.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 898.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 1388.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 782.0}, {'id': 'F6', 'opening_cost': 400.0, 'capacity': 506.0}], 'customers': [{'id': 0, 'demand': 24.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 26.0}, {'id': 4, 'demand': 27.0}, {'id': 5, 'demand': 35.0}, {'id': 6, 'demand': 41.0}, {'id': 7, 'demand': 36.0}, {'id': 8, 'demand': 21.0}, {'id': 9, 'demand': 27.0}, {'id': 10, 'demand': 14.0}, {'id': 11, 'demand': 44.0}, {'id': 12, 'demand': 16.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 744.0}, {'facility': 'F1', 'customer': 1, 'cost': 342.0}, {'facility': 'F1', 'customer': 2, 'cost': 14.0}, {'facility': 'F1', 'customer': 3, 'cost': 622.0}, {'facility': 'F1', 'customer': 4, 'cost': 623.0}, {'facility': 'F1', 'customer': 5, 'cost': 373.0}, {'facility': 'F1', 'customer': 6, 'cost': 269.0}, {'facility': 'F1', 'customer': 7, 'cost': 635.0}, {'facility': 'F1', 'customer': 8, 'cost': 683.0}, {'facility': 'F1', 'customer': 9, 'cost': 208.0}, {'facility': 'F1', 'customer': 10, 'cost': 372.0}, {'facility': 'F1', 'customer': 11, 'cost': 626.0}, {'facility': 'F1', 'customer': 12, 'cost': 577.0}, {'facility': 'F2', 'customer': 0, 'cost': 537.0}, {'facility': 'F2', 'customer': 1, 'cost': 445.0}, {'facility': 'F2', 'customer': 2, 'cost': 526.0}, {'facility': 'F2', 'customer': 3, 'cost': 249.0}, {'facility': 'F2', 'customer': 4, 'cost': 292.0}, {'facility': 'F2', 'customer': 5, 'cost': 393.0}, {'facility': 'F2', 'customer': 6, 'cost': 247.0}, {'facility': 'F2', 'customer': 7, 'cost': 284.0}, {'facility': 'F2', 'customer': 8, 'cost': 384.0}, {'facility': 'F2', 'customer': 9, 'cost': 475.0}, {'facility': 'F2', 'customer': 10, 'cost': 589.0}, {'facility': 'F2', 'customer': 11, 'cost': 292.0}, {'facility': 'F2', 'customer': 12, 'cost': 74.0}, {'facility': 'F3', 'customer': 0, 'cost': 465.0}, {'facility': 'F3', 'customer': 1, 'cost': 193.0}, {'facility': 'F3', 'customer': 2, 'cost': 330.0}, {'facility': 'F3', 'customer': 3, 'cost': 306.0}, {'facility': 'F3', 'customer': 4, 'cost': 307.0}, {'facility': 'F3', 'customer': 5, 'cost': 158.0}, {'facility': 'F3', 'customer': 6, 'cost': 140.0}, {'facility': 'F3', 'customer': 7, 'cost': 319.0}, {'facility': 'F3', 'customer': 8, 'cost': 374.0}, {'facility': 'F3', 'customer': 9, 'cost': 214.0}, {'facility': 'F3', 'customer': 10, 'cost': 330.0}, {'facility': 'F3', 'customer': 11, 'cost': 310.0}, {'facility': 'F3', 'customer': 12, 'cost': 300.0}, {'facility': 'F4', 'customer': 0, 'cost': 439.0}, {'facility': 'F4', 'customer': 1, 'cost': 231.0}, {'facility': 'F4', 'customer': 2, 'cost': 516.0}, {'facility': 'F4', 'customer': 3, 'cost': 557.0}, {'facility': 'F4', 'customer': 4, 'cost': 516.0}, {'facility': 'F4', 'customer': 5, 'cost': 272.0}, {'facility': 'F4', 'customer': 6, 'cost': 540.0}, {'facility': 'F4', 'customer': 7, 'cost': 538.0}, {'facility': 'F4', 'customer': 8, 'cost': 503.0}, {'facility': 'F4', 'customer': 9, 'cost': 307.0}, {'facility': 'F4', 'customer': 10, 'cost': 132.0}, {'facility': 'F4', 'customer': 11, 'cost': 520.0}, {'facility': 'F4', 'customer': 12, 'cost': 672.0}, {'facility': 'F5', 'customer': 0, 'cost': 173.0}, {'facility': 'F5', 'customer': 1, 'cost': 456.0}, {'facility': 'F5', 'customer': 2, 'cost': 754.0}, {'facility': 'F5', 'customer': 3, 'cost': 166.0}, {'facility': 'F5', 'customer': 4, 'cost': 132.0}, {'facility': 'F5', 'customer': 5, 'cost': 397.0}, {'facility': 'F5', 'customer': 6, 'cost': 540.0}, {'facility': 'F5', 'customer': 7, 'cost': 133.0}, {'facility': 'F5', 'customer': 8, 'cost': 59.0}, {'facility': 'F5', 'customer': 9, 'cost': 580.0}, {'facility': 'F5', 'customer': 10, 'cost': 566.0}, {'facility': 'F5', 'customer': 11, 'cost': 131.0}, {'facility': 'F5', 'customer': 12, 'cost': 360.0}, {'facility': 'F6', 'customer': 0, 'cost': 278.0}, {'facility': 'F6', 'customer': 1, 'cost': 213.0}, {'facility': 'F6', 'customer': 2, 'cost': 501.0}, {'facility': 'F6', 'customer': 3, 'cost': 185.0}, {'facility': 'F6', 'customer': 4, 'cost': 158.0}, {'facility': 'F6', 'customer': 5, 'cost': 150.0}, {'facility': 'F6', 'customer': 6, 'cost': 319.0}, {'facility': 'F6', 'customer': 7, 'cost': 177.0}, {'facility': 'F6', 'customer': 8, 'cost': 198.0}, {'facility': 'F6', 'customer': 9, 'cost': 326.0}, {'facility': 'F6', 'customer': 10, 'cost': 346.0}, {'facility': 'F6', 'customer': 11, 'cost': 162.0}, {'facility': 'F6', 'customer': 12, 'cost': 303.0}], 'objective': 3259.0}","{'selected': ['F3', 'F5'], 'assignments': ['F5', 'F3', 'F3', 'F5', 'F5', 'F3', 'F3', 'F5', 'F5', 'F3', 'F3', 'F5', 'F3']}",25,markdown_table,0 | |
| 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 5 candidate edge servers and 14 user devices in the scenario. | |
| Edge server F1 can be provisioned at cost 400.0 and offers capacity 500.0. | |
| Edge server F2 can be provisioned at cost 400.0 and offers capacity 500.0. | |
| Edge server F3 can be provisioned at cost 400.0 and offers capacity 500.0. | |
| Edge server F4 can be provisioned at cost 400.0 and offers capacity 500.0. | |
| Edge server F5 can be provisioned at cost 400.0 and offers capacity 500.0. | |
| Device 0 has demand 28.0. | |
| Device 1 has demand 20.0. | |
| Device 2 has demand 28.0. | |
| Device 3 has demand 22.0. | |
| Device 4 has demand 19.0. | |
| Device 5 has demand 23.0. | |
| Device 6 has demand 30.0. | |
| Device 7 has demand 27.0. | |
| Device 8 has demand 23.0. | |
| Device 9 has demand 18.0. | |
| Device 10 has demand 26.0. | |
| Device 11 has demand 11.0. | |
| Device 12 has demand 29.0. | |
| Device 13 has demand 29.0. | |
| Assigning device 0 to edge server F1 incurs latency cost 371.0. | |
| Assigning device 1 to edge server F1 incurs latency cost 87.0. | |
| Assigning device 2 to edge server F1 incurs latency cost 506.0. | |
| Assigning device 3 to edge server F1 incurs latency cost 611.0. | |
| Assigning device 4 to edge server F1 incurs latency cost 376.0. | |
| Assigning device 5 to edge server F1 incurs latency cost 100.0. | |
| Assigning device 6 to edge server F1 incurs latency cost 255.0. | |
| Assigning device 7 to edge server F1 incurs latency cost 107.0. | |
| Assigning device 8 to edge server F1 incurs latency cost 46.0. | |
| Assigning device 9 to edge server F1 incurs latency cost 516.0. | |
| Assigning device 10 to edge server F1 incurs latency cost 190.0. | |
| Assigning device 11 to edge server F1 incurs latency cost 158.0. | |
| Assigning device 12 to edge server F1 incurs latency cost 72.0. | |
| Assigning device 13 to edge server F1 incurs latency cost 604.0. | |
| Assigning device 0 to edge server F2 incurs latency cost 1118.0. | |
| Assigning device 1 to edge server F2 incurs latency cost 136.0. | |
| Assigning device 2 to edge server F2 incurs latency cost 116.0. | |
| Assigning device 3 to edge server F2 incurs latency cost 1286.0. | |
| Assigning device 4 to edge server F2 incurs latency cost 997.0. | |
| Assigning device 5 to edge server F2 incurs latency cost 293.0. | |
| Assigning device 6 to edge server F2 incurs latency cost 68.0. | |
| Assigning device 7 to edge server F2 incurs latency cost 651.0. | |
| Assigning device 8 to edge server F2 incurs latency cost 798.0. | |
| Assigning device 9 to edge server F2 incurs latency cost 1070.0. | |
| Assigning device 10 to edge server F2 incurs latency cost 527.0. | |
| Assigning device 11 to edge server F2 incurs latency cost 24.0. | |
| Assigning device 12 to edge server F2 incurs latency cost 148.0. | |
| Assigning device 13 to edge server F2 incurs latency cost 200.0. | |
| Assigning device 0 to edge server F3 incurs latency cost 1203.0. | |
| Assigning device 1 to edge server F3 incurs latency cost 212.0. | |
| Assigning device 2 to edge server F3 incurs latency cost 56.0. | |
| Assigning device 3 to edge server F3 incurs latency cost 1343.0. | |
| Assigning device 4 to edge server F3 incurs latency cost 1092.0. | |
| Assigning device 5 to edge server F3 incurs latency cost 349.0. | |
| Assigning device 6 to edge server F3 incurs latency cost 61.0. | |
| Assigning device 7 to edge server F3 incurs latency cost 734.0. | |
| Assigning device 8 to edge server F3 incurs latency cost 879.0. | |
| Assigning device 9 to edge server F3 incurs latency cost 1116.0. | |
| Assigning device 10 to edge server F3 incurs latency cost 607.0. | |
| Assigning device 11 to edge server F3 incurs latency cost 26.0. | |
| Assigning device 12 to edge server F3 incurs latency cost 177.0. | |
| Assigning device 13 to edge server F3 incurs latency cost 77.0. | |
| Assigning device 0 to edge server F4 incurs latency cost 684.0. | |
| Assigning device 1 to edge server F4 incurs latency cost 421.0. | |
| Assigning device 2 to edge server F4 incurs latency cost 996.0. | |
| Assigning device 3 to edge server F4 incurs latency cost 1160.0. | |
| Assigning device 4 to edge server F4 incurs latency cost 103.0. | |
| Assigning device 5 to edge server F4 incurs latency cost 48.0. | |
| Assigning device 6 to edge server F4 incurs latency cost 566.0. | |
| Assigning device 7 to edge server F4 incurs latency cost 759.0. | |
| Assigning device 8 to edge server F4 incurs latency cost 739.0. | |
| Assigning device 9 to edge server F4 incurs latency cost 1178.0. | |
| Assigning device 10 to edge server F4 incurs latency cost 825.0. | |
| Assigning device 11 to edge server F4 incurs latency cost 416.0. | |
| Assigning device 12 to edge server F4 incurs latency cost 62.0. | |
| Assigning device 13 to edge server F4 incurs latency cost 1088.0. | |
| Assigning device 0 to edge server F5 incurs latency cost 1877.0. | |
| Assigning device 1 to edge server F5 incurs latency cost 941.0. | |
| Assigning device 2 to edge server F5 incurs latency cost 1467.0. | |
| Assigning device 3 to edge server F5 incurs latency cost 2301.0. | |
| Assigning device 4 to edge server F5 incurs latency cost 1376.0. | |
| Assigning device 5 to edge server F5 incurs latency cost 114.0. | |
| Assigning device 6 to edge server F5 incurs latency cost 861.0. | |
| Assigning device 7 to edge server F5 incurs latency cost 1686.0. | |
| Assigning device 8 to edge server F5 incurs latency cost 1753.0. | |
| Assigning device 9 to edge server F5 incurs latency cost 2217.0. | |
| Assigning device 10 to edge server F5 incurs latency cost 1676.0. | |
| Assigning device 11 to edge server F5 incurs latency cost 661.0. | |
| Assigning device 12 to edge server F5 incurs latency cost 68.0. | |
| Assigning device 13 to edge server F5 incurs latency cost 1522.0. | |
| The preferred arrangement minimizes the combined provisioning and latency costs. | |
| 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, 400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[371.0, 87.0, 506.0, 611.0, 376.0, 100.0, 255.0, 107.0, 46.0, 516.0, 190.0, 158.0, 72.0, 604.0], [1118.0, 136.0, 116.0, 1286.0, 997.0, 293.0, 68.0, 651.0, 798.0, 1070.0, 527.0, 24.0, 148.0, 200.0], [1203.0, 212.0, 56.0, 1343.0, 1092.0, 349.0, 61.0, 734.0, 879.0, 1116.0, 607.0, 26.0, 177.0, 77.0], [684.0, 421.0, 996.0, 1160.0, 103.0, 48.0, 566.0, 759.0, 739.0, 1178.0, 825.0, 416.0, 62.0, 1088.0], [1877.0, 941.0, 1467.0, 2301.0, 1376.0, 114.0, 861.0, 1686.0, 1753.0, 2217.0, 1676.0, 661.0, 68.0, 1522.0]], 'demands': [28.0, 20.0, 28.0, 22.0, 19.0, 23.0, 30.0, 27.0, 23.0, 18.0, 26.0, 11.0, 29.0, 29.0], 'objective': 3496.0}","{'open_facilities': [0, 2], 'assignments': [0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 2]}",3496.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 14, '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}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 0, 'demand': 28.0}, {'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 28.0}, {'id': 3, 'demand': 22.0}, {'id': 4, 'demand': 19.0}, {'id': 5, 'demand': 23.0}, {'id': 6, 'demand': 30.0}, {'id': 7, 'demand': 27.0}, {'id': 8, 'demand': 23.0}, {'id': 9, 'demand': 18.0}, {'id': 10, 'demand': 26.0}, {'id': 11, 'demand': 11.0}, {'id': 12, 'demand': 29.0}, {'id': 13, 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 371.0}, {'facility': 'F1', 'customer': 1, 'cost': 87.0}, {'facility': 'F1', 'customer': 2, 'cost': 506.0}, {'facility': 'F1', 'customer': 3, 'cost': 611.0}, {'facility': 'F1', 'customer': 4, 'cost': 376.0}, {'facility': 'F1', 'customer': 5, 'cost': 100.0}, {'facility': 'F1', 'customer': 6, 'cost': 255.0}, {'facility': 'F1', 'customer': 7, 'cost': 107.0}, {'facility': 'F1', 'customer': 8, 'cost': 46.0}, {'facility': 'F1', 'customer': 9, 'cost': 516.0}, {'facility': 'F1', 'customer': 10, 'cost': 190.0}, {'facility': 'F1', 'customer': 11, 'cost': 158.0}, {'facility': 'F1', 'customer': 12, 'cost': 72.0}, {'facility': 'F1', 'customer': 13, 'cost': 604.0}, {'facility': 'F2', 'customer': 0, 'cost': 1118.0}, {'facility': 'F2', 'customer': 1, 'cost': 136.0}, {'facility': 'F2', 'customer': 2, 'cost': 116.0}, {'facility': 'F2', 'customer': 3, 'cost': 1286.0}, {'facility': 'F2', 'customer': 4, 'cost': 997.0}, {'facility': 'F2', 'customer': 5, 'cost': 293.0}, {'facility': 'F2', 'customer': 6, 'cost': 68.0}, {'facility': 'F2', 'customer': 7, 'cost': 651.0}, {'facility': 'F2', 'customer': 8, 'cost': 798.0}, {'facility': 'F2', 'customer': 9, 'cost': 1070.0}, {'facility': 'F2', 'customer': 10, 'cost': 527.0}, {'facility': 'F2', 'customer': 11, 'cost': 24.0}, {'facility': 'F2', 'customer': 12, 'cost': 148.0}, {'facility': 'F2', 'customer': 13, 'cost': 200.0}, {'facility': 'F3', 'customer': 0, 'cost': 1203.0}, {'facility': 'F3', 'customer': 1, 'cost': 212.0}, {'facility': 'F3', 'customer': 2, 'cost': 56.0}, {'facility': 'F3', 'customer': 3, 'cost': 1343.0}, {'facility': 'F3', 'customer': 4, 'cost': 1092.0}, {'facility': 'F3', 'customer': 5, 'cost': 349.0}, {'facility': 'F3', 'customer': 6, 'cost': 61.0}, {'facility': 'F3', 'customer': 7, 'cost': 734.0}, {'facility': 'F3', 'customer': 8, 'cost': 879.0}, {'facility': 'F3', 'customer': 9, 'cost': 1116.0}, {'facility': 'F3', 'customer': 10, 'cost': 607.0}, {'facility': 'F3', 'customer': 11, 'cost': 26.0}, {'facility': 'F3', 'customer': 12, 'cost': 177.0}, {'facility': 'F3', 'customer': 13, 'cost': 77.0}, {'facility': 'F4', 'customer': 0, 'cost': 684.0}, {'facility': 'F4', 'customer': 1, 'cost': 421.0}, {'facility': 'F4', 'customer': 2, 'cost': 996.0}, {'facility': 'F4', 'customer': 3, 'cost': 1160.0}, {'facility': 'F4', 'customer': 4, 'cost': 103.0}, {'facility': 'F4', 'customer': 5, 'cost': 48.0}, {'facility': 'F4', 'customer': 6, 'cost': 566.0}, {'facility': 'F4', 'customer': 7, 'cost': 759.0}, {'facility': 'F4', 'customer': 8, 'cost': 739.0}, {'facility': 'F4', 'customer': 9, 'cost': 1178.0}, {'facility': 'F4', 'customer': 10, 'cost': 825.0}, {'facility': 'F4', 'customer': 11, 'cost': 416.0}, {'facility': 'F4', 'customer': 12, 'cost': 62.0}, {'facility': 'F4', 'customer': 13, 'cost': 1088.0}, {'facility': 'F5', 'customer': 0, 'cost': 1877.0}, {'facility': 'F5', 'customer': 1, 'cost': 941.0}, {'facility': 'F5', 'customer': 2, 'cost': 1467.0}, {'facility': 'F5', 'customer': 3, 'cost': 2301.0}, {'facility': 'F5', 'customer': 4, 'cost': 1376.0}, {'facility': 'F5', 'customer': 5, 'cost': 114.0}, {'facility': 'F5', 'customer': 6, 'cost': 861.0}, {'facility': 'F5', 'customer': 7, 'cost': 1686.0}, {'facility': 'F5', 'customer': 8, 'cost': 1753.0}, {'facility': 'F5', 'customer': 9, 'cost': 2217.0}, {'facility': 'F5', 'customer': 10, 'cost': 1676.0}, {'facility': 'F5', 'customer': 11, 'cost': 661.0}, {'facility': 'F5', 'customer': 12, 'cost': 68.0}, {'facility': 'F5', 'customer': 13, 'cost': 1522.0}], 'objective': 3496.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F1', 'F3', 'F1', 'F1', 'F1', 'F3', 'F1', 'F1', 'F1', 'F1', 'F3', 'F1', 'F3']}",26,nl,0 | |
| CFLP,CFLP,"Thereβs a weekend market coming and someone has to choose which vendor stalls to rent and which sellers go into which rented stalls. Each stall has a rental fee and a maximum amount of space, while each seller needs a fixed amount of space and will incur a setup/travel cost to use a particular stall. Sellers canβt be split between stalls and every seller must have exactly one assigned stall; also a stall canβt hold more seller space than it allows. The goal is straightforward: pick stalls and assignments that keep the total bill β stall rentals plus sellersβ setup/travel costs β as small as possible. The concrete details follow below. | |
| { | |
| ""num_stalls"": 5, | |
| ""num_sellers"": 12, | |
| ""stalls"": [ | |
| { | |
| ""stall_id"": ""F1"", | |
| ""stall_rental_fee"": 600.0, | |
| ""stall_space_limit"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""stall_rental_fee"": 600.0, | |
| ""stall_space_limit"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""stall_rental_fee"": 600.0, | |
| ""stall_space_limit"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""stall_rental_fee"": 600.0, | |
| ""stall_space_limit"": 700.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""stall_rental_fee"": 600.0, | |
| ""stall_space_limit"": 700.0 | |
| } | |
| ], | |
| ""sellers"": [ | |
| { | |
| ""seller_id"": 1, | |
| ""seller_space_requirement"": 25.0 | |
| }, | |
| { | |
| ""seller_id"": 2, | |
| ""seller_space_requirement"": 24.0 | |
| }, | |
| { | |
| ""seller_id"": 3, | |
| ""seller_space_requirement"": 17.0 | |
| }, | |
| { | |
| ""seller_id"": 4, | |
| ""seller_space_requirement"": 23.0 | |
| }, | |
| { | |
| ""seller_id"": 5, | |
| ""seller_space_requirement"": 18.0 | |
| }, | |
| { | |
| ""seller_id"": 6, | |
| ""seller_space_requirement"": 17.0 | |
| }, | |
| { | |
| ""seller_id"": 7, | |
| ""seller_space_requirement"": 18.0 | |
| }, | |
| { | |
| ""seller_id"": 8, | |
| ""seller_space_requirement"": 17.0 | |
| }, | |
| { | |
| ""seller_id"": 9, | |
| ""seller_space_requirement"": 23.0 | |
| }, | |
| { | |
| ""seller_id"": 10, | |
| ""seller_space_requirement"": 18.0 | |
| }, | |
| { | |
| ""seller_id"": 11, | |
| ""seller_space_requirement"": 23.0 | |
| }, | |
| { | |
| ""seller_id"": 12, | |
| ""seller_space_requirement"": 22.0 | |
| } | |
| ], | |
| ""setup_travels"": [ | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 1, | |
| ""setup_travel_cost"": 1087.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 2, | |
| ""setup_travel_cost"": 1613.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 3, | |
| ""setup_travel_cost"": 306.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 4, | |
| ""setup_travel_cost"": 993.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 5, | |
| ""setup_travel_cost"": 37.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 6, | |
| ""setup_travel_cost"": 65.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 7, | |
| ""setup_travel_cost"": 1086.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 8, | |
| ""setup_travel_cost"": 989.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 9, | |
| ""setup_travel_cost"": 828.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 10, | |
| ""setup_travel_cost"": 1944.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 11, | |
| ""setup_travel_cost"": 1509.0 | |
| }, | |
| { | |
| ""stall_id"": ""F1"", | |
| ""seller_id"": 12, | |
| ""setup_travel_cost"": 1335.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 1, | |
| ""setup_travel_cost"": 1241.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 2, | |
| ""setup_travel_cost"": 1776.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 3, | |
| ""setup_travel_cost"": 482.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 4, | |
| ""setup_travel_cost"": 1040.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 5, | |
| ""setup_travel_cost"": 59.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 6, | |
| ""setup_travel_cost"": 41.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 7, | |
| ""setup_travel_cost"": 1229.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 8, | |
| ""setup_travel_cost"": 1160.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 9, | |
| ""setup_travel_cost"": 1030.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 10, | |
| ""setup_travel_cost"": 1986.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 11, | |
| ""setup_travel_cost"": 1681.0 | |
| }, | |
| { | |
| ""stall_id"": ""F2"", | |
| ""seller_id"": 12, | |
| ""setup_travel_cost"": 1523.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 1, | |
| ""setup_travel_cost"": 956.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 2, | |
| ""setup_travel_cost"": 1480.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 3, | |
| ""setup_travel_cost"": 404.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 4, | |
| ""setup_travel_cost"": 677.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 5, | |
| ""setup_travel_cost"": 52.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 6, | |
| ""setup_travel_cost"": 35.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 7, | |
| ""setup_travel_cost"": 930.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 8, | |
| ""setup_travel_cost"": 897.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 9, | |
| ""setup_travel_cost"": 819.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 10, | |
| ""setup_travel_cost"": 1574.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 11, | |
| ""setup_travel_cost"": 1400.0 | |
| }, | |
| { | |
| ""stall_id"": ""F3"", | |
| ""seller_id"": 12, | |
| ""setup_travel_cost"": 1270.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 1, | |
| ""setup_travel_cost"": 384.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 2, | |
| ""setup_travel_cost"": 818.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 3, | |
| ""setup_travel_cost"": 221.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 4, | |
| ""setup_travel_cost"": 97.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 5, | |
| ""setup_travel_cost"": 37.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 6, | |
| ""setup_travel_cost"": 52.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 7, | |
| ""setup_travel_cost"": 341.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 8, | |
| ""setup_travel_cost"": 368.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 9, | |
| ""setup_travel_cost"": 382.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 10, | |
| ""setup_travel_cost"": 731.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 11, | |
| ""setup_travel_cost"": 771.0 | |
| }, | |
| { | |
| ""stall_id"": ""F4"", | |
| ""seller_id"": 12, | |
| ""setup_travel_cost"": 701.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 1, | |
| ""setup_travel_cost"": 1329.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 2, | |
| ""setup_travel_cost"": 1771.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 3, | |
| ""setup_travel_cost"": 34.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 4, | |
| ""setup_travel_cost"": 1433.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 5, | |
| ""setup_travel_cost"": 71.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 6, | |
| ""setup_travel_cost"": 328.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 7, | |
| ""setup_travel_cost"": 1358.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 8, | |
| ""setup_travel_cost"": 1195.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 9, | |
| ""setup_travel_cost"": 933.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 10, | |
| ""setup_travel_cost"": 2309.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 11, | |
| ""setup_travel_cost"": 1645.0 | |
| }, | |
| { | |
| ""stall_id"": ""F5"", | |
| ""seller_id"": 12, | |
| ""setup_travel_cost"": 1430.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': [600.0, 600.0, 600.0, 600.0, 600.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[1087.0, 1613.0, 306.0, 993.0, 37.0, 65.0, 1086.0, 989.0, 828.0, 1944.0, 1509.0, 1335.0], [1241.0, 1776.0, 482.0, 1040.0, 59.0, 41.0, 1229.0, 1160.0, 1030.0, 1986.0, 1681.0, 1523.0], [956.0, 1480.0, 404.0, 677.0, 52.0, 35.0, 930.0, 897.0, 819.0, 1574.0, 1400.0, 1270.0], [384.0, 818.0, 221.0, 97.0, 37.0, 52.0, 341.0, 368.0, 382.0, 731.0, 771.0, 701.0], [1329.0, 1771.0, 34.0, 1433.0, 71.0, 328.0, 1358.0, 1195.0, 933.0, 2309.0, 1645.0, 1430.0]], 'demands': [25.0, 24.0, 17.0, 23.0, 18.0, 17.0, 18.0, 17.0, 23.0, 18.0, 23.0, 22.0], 'objective': 5503.0}","{'open_facilities': [3], 'assignments': [3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3]}",5503.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 700.0}, {'id': 'F5', 'opening_cost': 600.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 25.0}, {'id': 2, 'demand': 24.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 23.0}, {'id': 5, 'demand': 18.0}, {'id': 6, 'demand': 17.0}, {'id': 7, 'demand': 18.0}, {'id': 8, 'demand': 17.0}, {'id': 9, 'demand': 23.0}, {'id': 10, 'demand': 18.0}, {'id': 11, 'demand': 23.0}, {'id': 12, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 1087.0}, {'facility': 'F1', 'customer': 2, 'cost': 1613.0}, {'facility': 'F1', 'customer': 3, 'cost': 306.0}, {'facility': 'F1', 'customer': 4, 'cost': 993.0}, {'facility': 'F1', 'customer': 5, 'cost': 37.0}, {'facility': 'F1', 'customer': 6, 'cost': 65.0}, {'facility': 'F1', 'customer': 7, 'cost': 1086.0}, {'facility': 'F1', 'customer': 8, 'cost': 989.0}, {'facility': 'F1', 'customer': 9, 'cost': 828.0}, {'facility': 'F1', 'customer': 10, 'cost': 1944.0}, {'facility': 'F1', 'customer': 11, 'cost': 1509.0}, {'facility': 'F1', 'customer': 12, 'cost': 1335.0}, {'facility': 'F2', 'customer': 1, 'cost': 1241.0}, {'facility': 'F2', 'customer': 2, 'cost': 1776.0}, {'facility': 'F2', 'customer': 3, 'cost': 482.0}, {'facility': 'F2', 'customer': 4, 'cost': 1040.0}, {'facility': 'F2', 'customer': 5, 'cost': 59.0}, {'facility': 'F2', 'customer': 6, 'cost': 41.0}, {'facility': 'F2', 'customer': 7, 'cost': 1229.0}, {'facility': 'F2', 'customer': 8, 'cost': 1160.0}, {'facility': 'F2', 'customer': 9, 'cost': 1030.0}, {'facility': 'F2', 'customer': 10, 'cost': 1986.0}, {'facility': 'F2', 'customer': 11, 'cost': 1681.0}, {'facility': 'F2', 'customer': 12, 'cost': 1523.0}, {'facility': 'F3', 'customer': 1, 'cost': 956.0}, {'facility': 'F3', 'customer': 2, 'cost': 1480.0}, {'facility': 'F3', 'customer': 3, 'cost': 404.0}, {'facility': 'F3', 'customer': 4, 'cost': 677.0}, {'facility': 'F3', 'customer': 5, 'cost': 52.0}, {'facility': 'F3', 'customer': 6, 'cost': 35.0}, {'facility': 'F3', 'customer': 7, 'cost': 930.0}, {'facility': 'F3', 'customer': 8, 'cost': 897.0}, {'facility': 'F3', 'customer': 9, 'cost': 819.0}, {'facility': 'F3', 'customer': 10, 'cost': 1574.0}, {'facility': 'F3', 'customer': 11, 'cost': 1400.0}, {'facility': 'F3', 'customer': 12, 'cost': 1270.0}, {'facility': 'F4', 'customer': 1, 'cost': 384.0}, {'facility': 'F4', 'customer': 2, 'cost': 818.0}, {'facility': 'F4', 'customer': 3, 'cost': 221.0}, {'facility': 'F4', 'customer': 4, 'cost': 97.0}, {'facility': 'F4', 'customer': 5, 'cost': 37.0}, {'facility': 'F4', 'customer': 6, 'cost': 52.0}, {'facility': 'F4', 'customer': 7, 'cost': 341.0}, {'facility': 'F4', 'customer': 8, 'cost': 368.0}, {'facility': 'F4', 'customer': 9, 'cost': 382.0}, {'facility': 'F4', 'customer': 10, 'cost': 731.0}, {'facility': 'F4', 'customer': 11, 'cost': 771.0}, {'facility': 'F4', 'customer': 12, 'cost': 701.0}, {'facility': 'F5', 'customer': 1, 'cost': 1329.0}, {'facility': 'F5', 'customer': 2, 'cost': 1771.0}, {'facility': 'F5', 'customer': 3, 'cost': 34.0}, {'facility': 'F5', 'customer': 4, 'cost': 1433.0}, {'facility': 'F5', 'customer': 5, 'cost': 71.0}, {'facility': 'F5', 'customer': 6, 'cost': 328.0}, {'facility': 'F5', 'customer': 7, 'cost': 1358.0}, {'facility': 'F5', 'customer': 8, 'cost': 1195.0}, {'facility': 'F5', 'customer': 9, 'cost': 933.0}, {'facility': 'F5', 'customer': 10, 'cost': 2309.0}, {'facility': 'F5', 'customer': 11, 'cost': 1645.0}, {'facility': 'F5', 'customer': 12, 'cost': 1430.0}], 'objective': 5503.0}","{'selected': ['F4'], 'assignments': ['F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4']}",27,json,1 | |
| 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=5 | |
| # num_student_groups=13 | |
| # KITCHENS | |
| kitchen_id,kitchen_operating_cost,kitchen_capacity_students | |
| F1,600.0,300.0 | |
| F2,600.0,300.0 | |
| F3,600.0,300.0 | |
| F4,600.0,300.0 | |
| F5,600.0,300.0 | |
| # STUDENT_GROUPS | |
| student_group_id,group_size | |
| A,28.0 | |
| B,12.0 | |
| C,30.0 | |
| D,24.0 | |
| E,20.0 | |
| F,17.0 | |
| G,17.0 | |
| H,15.0 | |
| I,12.0 | |
| J,25.0 | |
| K,27.0 | |
| L,19.0 | |
| M,27.0 | |
| # DISTRIBUTIONS | |
| kitchen_id,student_group_id,distribution_cost | |
| F1,A,81.0 | |
| F1,B,24.0 | |
| F1,C,168.0 | |
| F1,D,595.0 | |
| F1,E,281.0 | |
| F1,F,80.0 | |
| F1,G,107.0 | |
| F1,H,126.0 | |
| F1,I,57.0 | |
| F1,J,245.0 | |
| F1,K,278.0 | |
| F1,L,40.0 | |
| F1,M,412.0 | |
| F2,A,78.0 | |
| F2,B,25.0 | |
| F2,C,165.0 | |
| F2,D,692.0 | |
| F2,E,340.0 | |
| F2,F,102.0 | |
| F2,G,104.0 | |
| F2,H,125.0 | |
| F2,I,120.0 | |
| F2,J,273.0 | |
| F2,K,401.0 | |
| F2,L,38.0 | |
| F2,M,486.0 | |
| F3,A,140.0 | |
| F3,B,258.0 | |
| F3,C,71.0 | |
| F3,D,274.0 | |
| F3,E,750.0 | |
| F3,F,485.0 | |
| F3,G,36.0 | |
| F3,H,30.0 | |
| F3,I,756.0 | |
| F3,J,64.0 | |
| F3,K,1006.0 | |
| F3,L,229.0 | |
| F3,M,54.0 | |
| F4,A,262.0 | |
| F4,B,427.0 | |
| F4,C,61.0 | |
| F4,D,535.0 | |
| F4,E,909.0 | |
| F4,F,813.0 | |
| F4,G,35.0 | |
| F4,H,43.0 | |
| F4,I,1039.0 | |
| F4,J,250.0 | |
| F4,K,1248.0 | |
| F4,L,389.0 | |
| F4,M,450.0 | |
| F5,A,558.0 | |
| F5,B,466.0 | |
| F5,C,405.0 | |
| F5,D,1637.0 | |
| F5,E,40.0 | |
| F5,F,1193.0 | |
| F5,G,320.0 | |
| F5,H,487.0 | |
| F5,I,946.0 | |
| F5,J,1069.0 | |
| F5,K,754.0 | |
| F5,L,495.0 | |
| F5,M,1426.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': [600.0, 600.0, 600.0, 600.0, 600.0], 'capacities': [300.0, 300.0, 300.0, 300.0, 300.0], 'connection_costs': [[81.0, 24.0, 168.0, 595.0, 281.0, 80.0, 107.0, 126.0, 57.0, 245.0, 278.0, 40.0, 412.0], [78.0, 25.0, 165.0, 692.0, 340.0, 102.0, 104.0, 125.0, 120.0, 273.0, 401.0, 38.0, 486.0], [140.0, 258.0, 71.0, 274.0, 750.0, 485.0, 36.0, 30.0, 756.0, 64.0, 1006.0, 229.0, 54.0], [262.0, 427.0, 61.0, 535.0, 909.0, 813.0, 35.0, 43.0, 1039.0, 250.0, 1248.0, 389.0, 450.0], [558.0, 466.0, 405.0, 1637.0, 40.0, 1193.0, 320.0, 487.0, 946.0, 1069.0, 754.0, 495.0, 1426.0]], 'demands': [28.0, 12.0, 30.0, 24.0, 20.0, 17.0, 17.0, 15.0, 12.0, 25.0, 27.0, 19.0, 27.0], 'objective': 2570.0}","{'open_facilities': [0, 2], 'assignments': [0, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2]}",2570.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 13, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 300.0}, {'id': 'F5', 'opening_cost': 600.0, 'capacity': 300.0}], 'customers': [{'id': 'A', 'demand': 28.0}, {'id': 'B', 'demand': 12.0}, {'id': 'C', 'demand': 30.0}, {'id': 'D', 'demand': 24.0}, {'id': 'E', 'demand': 20.0}, {'id': 'F', 'demand': 17.0}, {'id': 'G', 'demand': 17.0}, {'id': 'H', 'demand': 15.0}, {'id': 'I', 'demand': 12.0}, {'id': 'J', 'demand': 25.0}, {'id': 'K', 'demand': 27.0}, {'id': 'L', 'demand': 19.0}, {'id': 'M', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 81.0}, {'facility': 'F1', 'customer': 'B', 'cost': 24.0}, {'facility': 'F1', 'customer': 'C', 'cost': 168.0}, {'facility': 'F1', 'customer': 'D', 'cost': 595.0}, {'facility': 'F1', 'customer': 'E', 'cost': 281.0}, {'facility': 'F1', 'customer': 'F', 'cost': 80.0}, {'facility': 'F1', 'customer': 'G', 'cost': 107.0}, {'facility': 'F1', 'customer': 'H', 'cost': 126.0}, {'facility': 'F1', 'customer': 'I', 'cost': 57.0}, {'facility': 'F1', 'customer': 'J', 'cost': 245.0}, {'facility': 'F1', 'customer': 'K', 'cost': 278.0}, {'facility': 'F1', 'customer': 'L', 'cost': 40.0}, {'facility': 'F1', 'customer': 'M', 'cost': 412.0}, {'facility': 'F2', 'customer': 'A', 'cost': 78.0}, {'facility': 'F2', 'customer': 'B', 'cost': 25.0}, {'facility': 'F2', 'customer': 'C', 'cost': 165.0}, {'facility': 'F2', 'customer': 'D', 'cost': 692.0}, {'facility': 'F2', 'customer': 'E', 'cost': 340.0}, {'facility': 'F2', 'customer': 'F', 'cost': 102.0}, {'facility': 'F2', 'customer': 'G', 'cost': 104.0}, {'facility': 'F2', 'customer': 'H', 'cost': 125.0}, {'facility': 'F2', 'customer': 'I', 'cost': 120.0}, {'facility': 'F2', 'customer': 'J', 'cost': 273.0}, {'facility': 'F2', 'customer': 'K', 'cost': 401.0}, {'facility': 'F2', 'customer': 'L', 'cost': 38.0}, {'facility': 'F2', 'customer': 'M', 'cost': 486.0}, {'facility': 'F3', 'customer': 'A', 'cost': 140.0}, {'facility': 'F3', 'customer': 'B', 'cost': 258.0}, {'facility': 'F3', 'customer': 'C', 'cost': 71.0}, {'facility': 'F3', 'customer': 'D', 'cost': 274.0}, {'facility': 'F3', 'customer': 'E', 'cost': 750.0}, {'facility': 'F3', 'customer': 'F', 'cost': 485.0}, {'facility': 'F3', 'customer': 'G', 'cost': 36.0}, {'facility': 'F3', 'customer': 'H', 'cost': 30.0}, {'facility': 'F3', 'customer': 'I', 'cost': 756.0}, {'facility': 'F3', 'customer': 'J', 'cost': 64.0}, {'facility': 'F3', 'customer': 'K', 'cost': 1006.0}, {'facility': 'F3', 'customer': 'L', 'cost': 229.0}, {'facility': 'F3', 'customer': 'M', 'cost': 54.0}, {'facility': 'F4', 'customer': 'A', 'cost': 262.0}, {'facility': 'F4', 'customer': 'B', 'cost': 427.0}, {'facility': 'F4', 'customer': 'C', 'cost': 61.0}, {'facility': 'F4', 'customer': 'D', 'cost': 535.0}, {'facility': 'F4', 'customer': 'E', 'cost': 909.0}, {'facility': 'F4', 'customer': 'F', 'cost': 813.0}, {'facility': 'F4', 'customer': 'G', 'cost': 35.0}, {'facility': 'F4', 'customer': 'H', 'cost': 43.0}, {'facility': 'F4', 'customer': 'I', 'cost': 1039.0}, {'facility': 'F4', 'customer': 'J', 'cost': 250.0}, {'facility': 'F4', 'customer': 'K', 'cost': 1248.0}, {'facility': 'F4', 'customer': 'L', 'cost': 389.0}, {'facility': 'F4', 'customer': 'M', 'cost': 450.0}, {'facility': 'F5', 'customer': 'A', 'cost': 558.0}, {'facility': 'F5', 'customer': 'B', 'cost': 466.0}, {'facility': 'F5', 'customer': 'C', 'cost': 405.0}, {'facility': 'F5', 'customer': 'D', 'cost': 1637.0}, {'facility': 'F5', 'customer': 'E', 'cost': 40.0}, {'facility': 'F5', 'customer': 'F', 'cost': 1193.0}, {'facility': 'F5', 'customer': 'G', 'cost': 320.0}, {'facility': 'F5', 'customer': 'H', 'cost': 487.0}, {'facility': 'F5', 'customer': 'I', 'cost': 946.0}, {'facility': 'F5', 'customer': 'J', 'cost': 1069.0}, {'facility': 'F5', 'customer': 'K', 'cost': 754.0}, {'facility': 'F5', 'customer': 'L', 'cost': 495.0}, {'facility': 'F5', 'customer': 'M', 'cost': 1426.0}], 'objective': 2570.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F1', 'F3', 'F3', 'F1', 'F1', 'F3', 'F3', 'F1', 'F3', 'F1', 'F1', 'F3']}",28,csv,names | |
| CFLP,CFLP,"We manage a cluster of possible driver stations and have to choose which ones to bring people in to staff, then send each rider to exactly one staffed station for pickup. Staffing a station costs money and each station can only cover so many riders, while every rider assigned to a station creates an extra pickup detour cost. A good plan keeps the overall expense as small as possible β sum up the staffing charges for the stations opened and the detour costs for all rider pickups β while making sure every rider is tied to a single staffed station and no station exceeds its driver limit. The specific numbers and scenarios follow below. | |
| # num_hubs=5 | |
| # num_riders=12 | |
| # HUBS | |
| hub_id,staffing_cost,driver_capacity | |
| F1,400.0,700.0 | |
| F2,400.0,700.0 | |
| F3,400.0,700.0 | |
| F4,400.0,700.0 | |
| F5,400.0,700.0 | |
| # RIDERS | |
| rider_id,rider_demand | |
| A,11.0 | |
| B,17.0 | |
| C,18.0 | |
| D,21.0 | |
| E,23.0 | |
| F,20.0 | |
| G,13.0 | |
| H,17.0 | |
| I,16.0 | |
| J,18.0 | |
| K,15.0 | |
| L,29.0 | |
| # PICKUP_DETOURS | |
| hub_id,rider_id,pickup_detour_cost | |
| F1,A,31.0 | |
| F1,B,813.0 | |
| F1,C,213.0 | |
| F1,D,162.0 | |
| F1,E,867.0 | |
| F1,F,136.0 | |
| F1,G,185.0 | |
| F1,H,1114.0 | |
| F1,I,491.0 | |
| F1,J,651.0 | |
| F1,K,1116.0 | |
| F1,L,200.0 | |
| F2,A,690.0 | |
| F2,B,1566.0 | |
| F2,C,425.0 | |
| F2,D,1642.0 | |
| F2,E,2332.0 | |
| F2,F,1197.0 | |
| F2,G,665.0 | |
| F2,H,2407.0 | |
| F2,I,1227.0 | |
| F2,J,1784.0 | |
| F2,K,2235.0 | |
| F2,L,1583.0 | |
| F3,A,673.0 | |
| F3,B,1292.0 | |
| F3,C,147.0 | |
| F3,D,1597.0 | |
| F3,E,2147.0 | |
| F3,F,1048.0 | |
| F3,G,426.0 | |
| F3,H,2185.0 | |
| F3,I,969.0 | |
| F3,J,1562.0 | |
| F3,K,1990.0 | |
| F3,L,1552.0 | |
| F4,A,445.0 | |
| F4,B,34.0 | |
| F4,C,37.0 | |
| F4,D,1084.0 | |
| F4,E,979.0 | |
| F4,F,421.0 | |
| F4,G,77.0 | |
| F4,H,810.0 | |
| F4,I,68.0 | |
| F4,J,384.0 | |
| F4,K,503.0 | |
| F4,L,1088.0 | |
| F5,A,48.0 | |
| F5,B,840.0 | |
| F5,C,199.0 | |
| F5,D,397.0 | |
| F5,E,1061.0 | |
| F5,F,132.0 | |
| F5,G,171.0 | |
| F5,H,1260.0 | |
| F5,I,501.0 | |
| F5,J,730.0 | |
| F5,K,1217.0 | |
| F5,L,404.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, 400.0, 400.0, 400.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[31.0, 813.0, 213.0, 162.0, 867.0, 136.0, 185.0, 1114.0, 491.0, 651.0, 1116.0, 200.0], [690.0, 1566.0, 425.0, 1642.0, 2332.0, 1197.0, 665.0, 2407.0, 1227.0, 1784.0, 2235.0, 1583.0], [673.0, 1292.0, 147.0, 1597.0, 2147.0, 1048.0, 426.0, 2185.0, 969.0, 1562.0, 1990.0, 1552.0], [445.0, 34.0, 37.0, 1084.0, 979.0, 421.0, 77.0, 810.0, 68.0, 384.0, 503.0, 1088.0], [48.0, 840.0, 199.0, 397.0, 1061.0, 132.0, 171.0, 1260.0, 501.0, 730.0, 1217.0, 404.0]], 'demands': [11.0, 17.0, 18.0, 21.0, 23.0, 20.0, 13.0, 17.0, 16.0, 18.0, 15.0, 29.0], 'objective': 4109.0}","{'open_facilities': [0, 3], 'assignments': [0, 3, 3, 0, 0, 0, 3, 3, 3, 3, 3, 0]}",4109.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 700.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 11.0}, {'id': 'B', 'demand': 17.0}, {'id': 'C', 'demand': 18.0}, {'id': 'D', 'demand': 21.0}, {'id': 'E', 'demand': 23.0}, {'id': 'F', 'demand': 20.0}, {'id': 'G', 'demand': 13.0}, {'id': 'H', 'demand': 17.0}, {'id': 'I', 'demand': 16.0}, {'id': 'J', 'demand': 18.0}, {'id': 'K', 'demand': 15.0}, {'id': 'L', 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 31.0}, {'facility': 'F1', 'customer': 'B', 'cost': 813.0}, {'facility': 'F1', 'customer': 'C', 'cost': 213.0}, {'facility': 'F1', 'customer': 'D', 'cost': 162.0}, {'facility': 'F1', 'customer': 'E', 'cost': 867.0}, {'facility': 'F1', 'customer': 'F', 'cost': 136.0}, {'facility': 'F1', 'customer': 'G', 'cost': 185.0}, {'facility': 'F1', 'customer': 'H', 'cost': 1114.0}, {'facility': 'F1', 'customer': 'I', 'cost': 491.0}, {'facility': 'F1', 'customer': 'J', 'cost': 651.0}, {'facility': 'F1', 'customer': 'K', 'cost': 1116.0}, {'facility': 'F1', 'customer': 'L', 'cost': 200.0}, {'facility': 'F2', 'customer': 'A', 'cost': 690.0}, {'facility': 'F2', 'customer': 'B', 'cost': 1566.0}, {'facility': 'F2', 'customer': 'C', 'cost': 425.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1642.0}, {'facility': 'F2', 'customer': 'E', 'cost': 2332.0}, {'facility': 'F2', 'customer': 'F', 'cost': 1197.0}, {'facility': 'F2', 'customer': 'G', 'cost': 665.0}, {'facility': 'F2', 'customer': 'H', 'cost': 2407.0}, {'facility': 'F2', 'customer': 'I', 'cost': 1227.0}, {'facility': 'F2', 'customer': 'J', 'cost': 1784.0}, {'facility': 'F2', 'customer': 'K', 'cost': 2235.0}, {'facility': 'F2', 'customer': 'L', 'cost': 1583.0}, {'facility': 'F3', 'customer': 'A', 'cost': 673.0}, {'facility': 'F3', 'customer': 'B', 'cost': 1292.0}, {'facility': 'F3', 'customer': 'C', 'cost': 147.0}, {'facility': 'F3', 'customer': 'D', 'cost': 1597.0}, {'facility': 'F3', 'customer': 'E', 'cost': 2147.0}, {'facility': 'F3', 'customer': 'F', 'cost': 1048.0}, {'facility': 'F3', 'customer': 'G', 'cost': 426.0}, {'facility': 'F3', 'customer': 'H', 'cost': 2185.0}, {'facility': 'F3', 'customer': 'I', 'cost': 969.0}, {'facility': 'F3', 'customer': 'J', 'cost': 1562.0}, {'facility': 'F3', 'customer': 'K', 'cost': 1990.0}, {'facility': 'F3', 'customer': 'L', 'cost': 1552.0}, {'facility': 'F4', 'customer': 'A', 'cost': 445.0}, {'facility': 'F4', 'customer': 'B', 'cost': 34.0}, {'facility': 'F4', 'customer': 'C', 'cost': 37.0}, {'facility': 'F4', 'customer': 'D', 'cost': 1084.0}, {'facility': 'F4', 'customer': 'E', 'cost': 979.0}, {'facility': 'F4', 'customer': 'F', 'cost': 421.0}, {'facility': 'F4', 'customer': 'G', 'cost': 77.0}, {'facility': 'F4', 'customer': 'H', 'cost': 810.0}, {'facility': 'F4', 'customer': 'I', 'cost': 68.0}, {'facility': 'F4', 'customer': 'J', 'cost': 384.0}, {'facility': 'F4', 'customer': 'K', 'cost': 503.0}, {'facility': 'F4', 'customer': 'L', 'cost': 1088.0}, {'facility': 'F5', 'customer': 'A', 'cost': 48.0}, {'facility': 'F5', 'customer': 'B', 'cost': 840.0}, {'facility': 'F5', 'customer': 'C', 'cost': 199.0}, {'facility': 'F5', 'customer': 'D', 'cost': 397.0}, {'facility': 'F5', 'customer': 'E', 'cost': 1061.0}, {'facility': 'F5', 'customer': 'F', 'cost': 132.0}, {'facility': 'F5', 'customer': 'G', 'cost': 171.0}, {'facility': 'F5', 'customer': 'H', 'cost': 1260.0}, {'facility': 'F5', 'customer': 'I', 'cost': 501.0}, {'facility': 'F5', 'customer': 'J', 'cost': 730.0}, {'facility': 'F5', 'customer': 'K', 'cost': 1217.0}, {'facility': 'F5', 'customer': 'L', 'cost': 404.0}], 'objective': 4109.0}","{'selected': ['F1', 'F4'], 'assignments': ['F1', 'F4', 'F4', 'F1', 'F1', 'F1', 'F4', 'F4', 'F4', 'F4', 'F4', 'F1']}",29,csv,names | |
| 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"": 6, | |
| ""num_reader_groups"": 13, | |
| ""stops"": [ | |
| { | |
| ""stop_id"": ""F1"", | |
| ""stop_operation_cost"": 213.0, | |
| ""circulation_capacity"": 500.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""stop_operation_cost"": 295.0, | |
| ""circulation_capacity"": 500.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""stop_operation_cost"": 379.0, | |
| ""circulation_capacity"": 500.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""stop_operation_cost"": 209.0, | |
| ""circulation_capacity"": 500.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""stop_operation_cost"": 405.0, | |
| ""circulation_capacity"": 500.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""stop_operation_cost"": 333.0, | |
| ""circulation_capacity"": 500.0 | |
| } | |
| ], | |
| ""reader_groups"": [ | |
| { | |
| ""reader_group_id"": ""A"", | |
| ""visitor_count"": 18.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""B"", | |
| ""visitor_count"": 23.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""C"", | |
| ""visitor_count"": 28.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""D"", | |
| ""visitor_count"": 12.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""E"", | |
| ""visitor_count"": 15.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""F"", | |
| ""visitor_count"": 22.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""G"", | |
| ""visitor_count"": 10.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""H"", | |
| ""visitor_count"": 13.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""I"", | |
| ""visitor_count"": 22.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""J"", | |
| ""visitor_count"": 25.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""K"", | |
| ""visitor_count"": 27.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""L"", | |
| ""visitor_count"": 19.0 | |
| }, | |
| { | |
| ""reader_group_id"": ""M"", | |
| ""visitor_count"": 27.0 | |
| } | |
| ], | |
| ""travel_times"": [ | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""A"", | |
| ""travel_time"": 331.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""B"", | |
| ""travel_time"": 1633.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""C"", | |
| ""travel_time"": 1770.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""D"", | |
| ""travel_time"": 974.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""E"", | |
| ""travel_time"": 621.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""F"", | |
| ""travel_time"": 1089.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""G"", | |
| ""travel_time"": 891.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""H"", | |
| ""travel_time"": 1032.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""I"", | |
| ""travel_time"": 1000.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""J"", | |
| ""travel_time"": 627.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""K"", | |
| ""travel_time"": 246.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""L"", | |
| ""travel_time"": 586.0 | |
| }, | |
| { | |
| ""stop_id"": ""F1"", | |
| ""reader_group_id"": ""M"", | |
| ""travel_time"": 930.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""A"", | |
| ""travel_time"": 147.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""B"", | |
| ""travel_time"": 2147.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""C"", | |
| ""travel_time"": 2102.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""D"", | |
| ""travel_time"": 1489.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""E"", | |
| ""travel_time"": 684.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""F"", | |
| ""travel_time"": 1959.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""G"", | |
| ""travel_time"": 1760.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""H"", | |
| ""travel_time"": 1896.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""I"", | |
| ""travel_time"": 1427.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""J"", | |
| ""travel_time"": 1345.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""K"", | |
| ""travel_time"": 54.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""L"", | |
| ""travel_time"": 889.0 | |
| }, | |
| { | |
| ""stop_id"": ""F2"", | |
| ""reader_group_id"": ""M"", | |
| ""travel_time"": 1717.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""A"", | |
| ""travel_time"": 287.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""B"", | |
| ""travel_time"": 1732.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""C"", | |
| ""travel_time"": 1817.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""D"", | |
| ""travel_time"": 1057.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""E"", | |
| ""travel_time"": 588.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""F"", | |
| ""travel_time"": 1331.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""G"", | |
| ""travel_time"": 1131.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""H"", | |
| ""travel_time"": 1271.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""I"", | |
| ""travel_time"": 1055.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""J"", | |
| ""travel_time"": 775.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""K"", | |
| ""travel_time"": 204.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""L"", | |
| ""travel_time"": 586.0 | |
| }, | |
| { | |
| ""stop_id"": ""F3"", | |
| ""reader_group_id"": ""M"", | |
| ""travel_time"": 1125.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""A"", | |
| ""travel_time"": 53.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""B"", | |
| ""travel_time"": 1310.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""C"", | |
| ""travel_time"": 1223.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""D"", | |
| ""travel_time"": 708.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""E"", | |
| ""travel_time"": 40.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""F"", | |
| ""travel_time"": 1389.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""G"", | |
| ""travel_time"": 1206.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""H"", | |
| ""travel_time"": 1322.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""I"", | |
| ""travel_time"": 607.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""J"", | |
| ""travel_time"": 741.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""K"", | |
| ""travel_time"": 54.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""L"", | |
| ""travel_time"": 173.0 | |
| }, | |
| { | |
| ""stop_id"": ""F4"", | |
| ""reader_group_id"": ""M"", | |
| ""travel_time"": 1094.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""A"", | |
| ""travel_time"": 36.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""B"", | |
| ""travel_time"": 1492.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""C"", | |
| ""travel_time"": 1334.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""D"", | |
| ""travel_time"": 924.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""E"", | |
| ""travel_time"": 101.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""F"", | |
| ""travel_time"": 1609.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""G"", | |
| ""travel_time"": 1423.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""H"", | |
| ""travel_time"": 1542.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""I"", | |
| ""travel_time"": 815.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""J"", | |
| ""travel_time"": 959.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""K"", | |
| ""travel_time"": 72.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""L"", | |
| ""travel_time"": 385.0 | |
| }, | |
| { | |
| ""stop_id"": ""F5"", | |
| ""reader_group_id"": ""M"", | |
| ""travel_time"": 1316.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""A"", | |
| ""travel_time"": 56.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""B"", | |
| ""travel_time"": 763.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""C"", | |
| ""travel_time"": 644.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""D"", | |
| ""travel_time"": 304.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""E"", | |
| ""travel_time"": 42.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""F"", | |
| ""travel_time"": 1075.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""G"", | |
| ""travel_time"": 913.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""H"", | |
| ""travel_time"": 1009.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""I"", | |
| ""travel_time"": 190.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""J"", | |
| ""travel_time"": 477.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""K"", | |
| ""travel_time"": 55.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""L"", | |
| ""travel_time"": 67.0 | |
| }, | |
| { | |
| ""stop_id"": ""F6"", | |
| ""reader_group_id"": ""M"", | |
| ""travel_time"": 770.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': [213.0, 295.0, 379.0, 209.0, 405.0, 333.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[331.0, 1633.0, 1770.0, 974.0, 621.0, 1089.0, 891.0, 1032.0, 1000.0, 627.0, 246.0, 586.0, 930.0], [147.0, 2147.0, 2102.0, 1489.0, 684.0, 1959.0, 1760.0, 1896.0, 1427.0, 1345.0, 54.0, 889.0, 1717.0], [287.0, 1732.0, 1817.0, 1057.0, 588.0, 1331.0, 1131.0, 1271.0, 1055.0, 775.0, 204.0, 586.0, 1125.0], [53.0, 1310.0, 1223.0, 708.0, 40.0, 1389.0, 1206.0, 1322.0, 607.0, 741.0, 54.0, 173.0, 1094.0], [36.0, 1492.0, 1334.0, 924.0, 101.0, 1609.0, 1423.0, 1542.0, 815.0, 959.0, 72.0, 385.0, 1316.0], [56.0, 763.0, 644.0, 304.0, 42.0, 1075.0, 913.0, 1009.0, 190.0, 477.0, 55.0, 67.0, 770.0]], 'demands': [18.0, 23.0, 28.0, 12.0, 15.0, 22.0, 10.0, 13.0, 22.0, 25.0, 27.0, 19.0, 27.0], 'objective': 6698.0}","{'open_facilities': [5], 'assignments': [5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]}",6698.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 13, 'facilities': [{'id': 'F1', 'opening_cost': 213.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 295.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 379.0, 'capacity': 500.0}, {'id': 'F4', 'opening_cost': 209.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 405.0, 'capacity': 500.0}, {'id': 'F6', 'opening_cost': 333.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 18.0}, {'id': 'B', 'demand': 23.0}, {'id': 'C', 'demand': 28.0}, {'id': 'D', 'demand': 12.0}, {'id': 'E', 'demand': 15.0}, {'id': 'F', 'demand': 22.0}, {'id': 'G', 'demand': 10.0}, {'id': 'H', 'demand': 13.0}, {'id': 'I', 'demand': 22.0}, {'id': 'J', 'demand': 25.0}, {'id': 'K', 'demand': 27.0}, {'id': 'L', 'demand': 19.0}, {'id': 'M', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 331.0}, {'facility': 'F1', 'customer': 'B', 'cost': 1633.0}, {'facility': 'F1', 'customer': 'C', 'cost': 1770.0}, {'facility': 'F1', 'customer': 'D', 'cost': 974.0}, {'facility': 'F1', 'customer': 'E', 'cost': 621.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1089.0}, {'facility': 'F1', 'customer': 'G', 'cost': 891.0}, {'facility': 'F1', 'customer': 'H', 'cost': 1032.0}, {'facility': 'F1', 'customer': 'I', 'cost': 1000.0}, {'facility': 'F1', 'customer': 'J', 'cost': 627.0}, {'facility': 'F1', 'customer': 'K', 'cost': 246.0}, {'facility': 'F1', 'customer': 'L', 'cost': 586.0}, {'facility': 'F1', 'customer': 'M', 'cost': 930.0}, {'facility': 'F2', 'customer': 'A', 'cost': 147.0}, {'facility': 'F2', 'customer': 'B', 'cost': 2147.0}, {'facility': 'F2', 'customer': 'C', 'cost': 2102.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1489.0}, {'facility': 'F2', 'customer': 'E', 'cost': 684.0}, {'facility': 'F2', 'customer': 'F', 'cost': 1959.0}, {'facility': 'F2', 'customer': 'G', 'cost': 1760.0}, {'facility': 'F2', 'customer': 'H', 'cost': 1896.0}, {'facility': 'F2', 'customer': 'I', 'cost': 1427.0}, {'facility': 'F2', 'customer': 'J', 'cost': 1345.0}, {'facility': 'F2', 'customer': 'K', 'cost': 54.0}, {'facility': 'F2', 'customer': 'L', 'cost': 889.0}, {'facility': 'F2', 'customer': 'M', 'cost': 1717.0}, {'facility': 'F3', 'customer': 'A', 'cost': 287.0}, {'facility': 'F3', 'customer': 'B', 'cost': 1732.0}, {'facility': 'F3', 'customer': 'C', 'cost': 1817.0}, {'facility': 'F3', 'customer': 'D', 'cost': 1057.0}, {'facility': 'F3', 'customer': 'E', 'cost': 588.0}, {'facility': 'F3', 'customer': 'F', 'cost': 1331.0}, {'facility': 'F3', 'customer': 'G', 'cost': 1131.0}, {'facility': 'F3', 'customer': 'H', 'cost': 1271.0}, {'facility': 'F3', 'customer': 'I', 'cost': 1055.0}, {'facility': 'F3', 'customer': 'J', 'cost': 775.0}, {'facility': 'F3', 'customer': 'K', 'cost': 204.0}, {'facility': 'F3', 'customer': 'L', 'cost': 586.0}, {'facility': 'F3', 'customer': 'M', 'cost': 1125.0}, {'facility': 'F4', 'customer': 'A', 'cost': 53.0}, {'facility': 'F4', 'customer': 'B', 'cost': 1310.0}, {'facility': 'F4', 'customer': 'C', 'cost': 1223.0}, {'facility': 'F4', 'customer': 'D', 'cost': 708.0}, {'facility': 'F4', 'customer': 'E', 'cost': 40.0}, {'facility': 'F4', 'customer': 'F', 'cost': 1389.0}, {'facility': 'F4', 'customer': 'G', 'cost': 1206.0}, {'facility': 'F4', 'customer': 'H', 'cost': 1322.0}, {'facility': 'F4', 'customer': 'I', 'cost': 607.0}, {'facility': 'F4', 'customer': 'J', 'cost': 741.0}, {'facility': 'F4', 'customer': 'K', 'cost': 54.0}, {'facility': 'F4', 'customer': 'L', 'cost': 173.0}, {'facility': 'F4', 'customer': 'M', 'cost': 1094.0}, {'facility': 'F5', 'customer': 'A', 'cost': 36.0}, {'facility': 'F5', 'customer': 'B', 'cost': 1492.0}, {'facility': 'F5', 'customer': 'C', 'cost': 1334.0}, {'facility': 'F5', 'customer': 'D', 'cost': 924.0}, {'facility': 'F5', 'customer': 'E', 'cost': 101.0}, {'facility': 'F5', 'customer': 'F', 'cost': 1609.0}, {'facility': 'F5', 'customer': 'G', 'cost': 1423.0}, {'facility': 'F5', 'customer': 'H', 'cost': 1542.0}, {'facility': 'F5', 'customer': 'I', 'cost': 815.0}, {'facility': 'F5', 'customer': 'J', 'cost': 959.0}, {'facility': 'F5', 'customer': 'K', 'cost': 72.0}, {'facility': 'F5', 'customer': 'L', 'cost': 385.0}, {'facility': 'F5', 'customer': 'M', 'cost': 1316.0}, {'facility': 'F6', 'customer': 'A', 'cost': 56.0}, {'facility': 'F6', 'customer': 'B', 'cost': 763.0}, {'facility': 'F6', 'customer': 'C', 'cost': 644.0}, {'facility': 'F6', 'customer': 'D', 'cost': 304.0}, {'facility': 'F6', 'customer': 'E', 'cost': 42.0}, {'facility': 'F6', 'customer': 'F', 'cost': 1075.0}, {'facility': 'F6', 'customer': 'G', 'cost': 913.0}, {'facility': 'F6', 'customer': 'H', 'cost': 1009.0}, {'facility': 'F6', 'customer': 'I', 'cost': 190.0}, {'facility': 'F6', 'customer': 'J', 'cost': 477.0}, {'facility': 'F6', 'customer': 'K', 'cost': 55.0}, {'facility': 'F6', 'customer': 'L', 'cost': 67.0}, {'facility': 'F6', 'customer': 'M', 'cost': 770.0}], 'objective': 6698.0}","{'selected': ['F6'], 'assignments': ['F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6']}",30,json,names | |
| CFLP,CFLP,"Someone running a local cloud-kitchen brand needs to decide which ghost kitchens to pay to activate and which active kitchen will handle each incoming order. Orders canβt be split across kitchens β each goes to one kitchen β and no kitchen should be overloaded beyond its capacity. What makes one setup preferable is simple money math: the total bill is the sum of every kitchenβs activation fee thatβs paid plus the fulfillment cost for every order, and the goal is to keep that total as small as possible. The detailed instance β kitchens, costs, capacities and orders β follows below. | |
| # num_ghost_kitchens=6 | |
| # num_orders=14 | |
| # KITCHENS | |
| kitchen_id,activation_fee,kitchen_capacity | |
| F1,400.0,1382.0 | |
| F2,400.0,1416.0 | |
| F3,400.0,751.0 | |
| F4,400.0,1067.0 | |
| F5,400.0,1103.0 | |
| F6,400.0,620.0 | |
| # ORDERS | |
| order_id,order_size | |
| 0,31.0 | |
| 1,50.0 | |
| 2,48.0 | |
| 3,27.0 | |
| 4,15.0 | |
| 5,46.0 | |
| 6,35.0 | |
| 7,32.0 | |
| 8,23.0 | |
| 9,45.0 | |
| 10,31.0 | |
| 11,26.0 | |
| 12,14.0 | |
| 13,49.0 | |
| # FULFILLMENTS | |
| kitchen_id,order_id,fulfillment_cost | |
| F1,0,609.0 | |
| F1,1,439.0 | |
| F1,2,735.0 | |
| F1,3,567.0 | |
| F1,4,750.0 | |
| F1,5,457.0 | |
| F1,6,201.0 | |
| F1,7,32.0 | |
| F1,8,631.0 | |
| F1,9,200.0 | |
| F1,10,266.0 | |
| F1,11,525.0 | |
| F1,12,185.0 | |
| F1,13,227.0 | |
| F2,0,540.0 | |
| F2,1,289.0 | |
| F2,2,121.0 | |
| F2,3,375.0 | |
| F2,4,126.0 | |
| F2,5,268.0 | |
| F2,6,436.0 | |
| F2,7,611.0 | |
| F2,8,598.0 | |
| F2,9,440.0 | |
| F2,10,533.0 | |
| F2,11,510.0 | |
| F2,12,476.0 | |
| F2,13,410.0 | |
| F3,0,535.0 | |
| F3,1,369.0 | |
| F3,2,647.0 | |
| F3,3,512.0 | |
| F3,4,656.0 | |
| F3,5,384.0 | |
| F3,6,118.0 | |
| F3,7,82.0 | |
| F3,8,563.0 | |
| F3,9,105.0 | |
| F3,10,204.0 | |
| F3,11,451.0 | |
| F3,12,93.0 | |
| F3,13,133.0 | |
| F4,0,93.0 | |
| F4,1,653.0 | |
| F4,2,700.0 | |
| F4,3,819.0 | |
| F4,4,620.0 | |
| F4,5,651.0 | |
| F4,6,499.0 | |
| F4,7,556.0 | |
| F4,8,84.0 | |
| F4,9,439.0 | |
| F4,10,283.0 | |
| F4,11,74.0 | |
| F4,12,405.0 | |
| F4,13,444.0 | |
| F5,0,709.0 | |
| F5,1,104.0 | |
| F5,2,445.0 | |
| F5,3,177.0 | |
| F5,4,517.0 | |
| F5,5,126.0 | |
| F5,6,237.0 | |
| F5,7,358.0 | |
| F5,8,756.0 | |
| F5,9,294.0 | |
| F5,10,480.0 | |
| F5,11,638.0 | |
| F5,12,346.0 | |
| F5,13,274.0 | |
| F6,0,860.0 | |
| F6,1,209.0 | |
| F6,2,445.0 | |
| F6,3,68.0 | |
| F6,4,550.0 | |
| F6,5,216.0 | |
| F6,6,419.0 | |
| F6,7,532.0 | |
| F6,8,911.0 | |
| F6,9,475.0 | |
| F6,10,659.0 | |
| F6,11,796.0 | |
| F6,12,528.0 | |
| F6,13,453.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': [400.0, 400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [1382.0, 1416.0, 751.0, 1067.0, 1103.0, 620.0], 'connection_costs': [[609.0, 439.0, 735.0, 567.0, 750.0, 457.0, 201.0, 32.0, 631.0, 200.0, 266.0, 525.0, 185.0, 227.0], [540.0, 289.0, 121.0, 375.0, 126.0, 268.0, 436.0, 611.0, 598.0, 440.0, 533.0, 510.0, 476.0, 410.0], [535.0, 369.0, 647.0, 512.0, 656.0, 384.0, 118.0, 82.0, 563.0, 105.0, 204.0, 451.0, 93.0, 133.0], [93.0, 653.0, 700.0, 819.0, 620.0, 651.0, 499.0, 556.0, 84.0, 439.0, 283.0, 74.0, 405.0, 444.0], [709.0, 104.0, 445.0, 177.0, 517.0, 126.0, 237.0, 358.0, 756.0, 294.0, 480.0, 638.0, 346.0, 274.0], [860.0, 209.0, 445.0, 68.0, 550.0, 216.0, 419.0, 532.0, 911.0, 475.0, 659.0, 796.0, 528.0, 453.0]], 'demands': [31.0, 50.0, 48.0, 27.0, 15.0, 46.0, 35.0, 32.0, 23.0, 45.0, 31.0, 26.0, 14.0, 49.0], 'objective': 3240.0}","{'open_facilities': [1, 2, 3, 4], 'assignments': [3, 4, 1, 4, 1, 4, 2, 2, 3, 2, 2, 3, 2, 2]}",3240.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 14, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 1382.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1416.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 751.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 1067.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 1103.0}, {'id': 'F6', 'opening_cost': 400.0, 'capacity': 620.0}], 'customers': [{'id': 0, 'demand': 31.0}, {'id': 1, 'demand': 50.0}, {'id': 2, 'demand': 48.0}, {'id': 3, 'demand': 27.0}, {'id': 4, 'demand': 15.0}, {'id': 5, 'demand': 46.0}, {'id': 6, 'demand': 35.0}, {'id': 7, 'demand': 32.0}, {'id': 8, 'demand': 23.0}, {'id': 9, 'demand': 45.0}, {'id': 10, 'demand': 31.0}, {'id': 11, 'demand': 26.0}, {'id': 12, 'demand': 14.0}, {'id': 13, 'demand': 49.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 609.0}, {'facility': 'F1', 'customer': 1, 'cost': 439.0}, {'facility': 'F1', 'customer': 2, 'cost': 735.0}, {'facility': 'F1', 'customer': 3, 'cost': 567.0}, {'facility': 'F1', 'customer': 4, 'cost': 750.0}, {'facility': 'F1', 'customer': 5, 'cost': 457.0}, {'facility': 'F1', 'customer': 6, 'cost': 201.0}, {'facility': 'F1', 'customer': 7, 'cost': 32.0}, {'facility': 'F1', 'customer': 8, 'cost': 631.0}, {'facility': 'F1', 'customer': 9, 'cost': 200.0}, {'facility': 'F1', 'customer': 10, 'cost': 266.0}, {'facility': 'F1', 'customer': 11, 'cost': 525.0}, {'facility': 'F1', 'customer': 12, 'cost': 185.0}, {'facility': 'F1', 'customer': 13, 'cost': 227.0}, {'facility': 'F2', 'customer': 0, 'cost': 540.0}, {'facility': 'F2', 'customer': 1, 'cost': 289.0}, {'facility': 'F2', 'customer': 2, 'cost': 121.0}, {'facility': 'F2', 'customer': 3, 'cost': 375.0}, {'facility': 'F2', 'customer': 4, 'cost': 126.0}, {'facility': 'F2', 'customer': 5, 'cost': 268.0}, {'facility': 'F2', 'customer': 6, 'cost': 436.0}, {'facility': 'F2', 'customer': 7, 'cost': 611.0}, {'facility': 'F2', 'customer': 8, 'cost': 598.0}, {'facility': 'F2', 'customer': 9, 'cost': 440.0}, {'facility': 'F2', 'customer': 10, 'cost': 533.0}, {'facility': 'F2', 'customer': 11, 'cost': 510.0}, {'facility': 'F2', 'customer': 12, 'cost': 476.0}, {'facility': 'F2', 'customer': 13, 'cost': 410.0}, {'facility': 'F3', 'customer': 0, 'cost': 535.0}, {'facility': 'F3', 'customer': 1, 'cost': 369.0}, {'facility': 'F3', 'customer': 2, 'cost': 647.0}, {'facility': 'F3', 'customer': 3, 'cost': 512.0}, {'facility': 'F3', 'customer': 4, 'cost': 656.0}, {'facility': 'F3', 'customer': 5, 'cost': 384.0}, {'facility': 'F3', 'customer': 6, 'cost': 118.0}, {'facility': 'F3', 'customer': 7, 'cost': 82.0}, {'facility': 'F3', 'customer': 8, 'cost': 563.0}, {'facility': 'F3', 'customer': 9, 'cost': 105.0}, {'facility': 'F3', 'customer': 10, 'cost': 204.0}, {'facility': 'F3', 'customer': 11, 'cost': 451.0}, {'facility': 'F3', 'customer': 12, 'cost': 93.0}, {'facility': 'F3', 'customer': 13, 'cost': 133.0}, {'facility': 'F4', 'customer': 0, 'cost': 93.0}, {'facility': 'F4', 'customer': 1, 'cost': 653.0}, {'facility': 'F4', 'customer': 2, 'cost': 700.0}, {'facility': 'F4', 'customer': 3, 'cost': 819.0}, {'facility': 'F4', 'customer': 4, 'cost': 620.0}, {'facility': 'F4', 'customer': 5, 'cost': 651.0}, {'facility': 'F4', 'customer': 6, 'cost': 499.0}, {'facility': 'F4', 'customer': 7, 'cost': 556.0}, {'facility': 'F4', 'customer': 8, 'cost': 84.0}, {'facility': 'F4', 'customer': 9, 'cost': 439.0}, {'facility': 'F4', 'customer': 10, 'cost': 283.0}, {'facility': 'F4', 'customer': 11, 'cost': 74.0}, {'facility': 'F4', 'customer': 12, 'cost': 405.0}, {'facility': 'F4', 'customer': 13, 'cost': 444.0}, {'facility': 'F5', 'customer': 0, 'cost': 709.0}, {'facility': 'F5', 'customer': 1, 'cost': 104.0}, {'facility': 'F5', 'customer': 2, 'cost': 445.0}, {'facility': 'F5', 'customer': 3, 'cost': 177.0}, {'facility': 'F5', 'customer': 4, 'cost': 517.0}, {'facility': 'F5', 'customer': 5, 'cost': 126.0}, {'facility': 'F5', 'customer': 6, 'cost': 237.0}, {'facility': 'F5', 'customer': 7, 'cost': 358.0}, {'facility': 'F5', 'customer': 8, 'cost': 756.0}, {'facility': 'F5', 'customer': 9, 'cost': 294.0}, {'facility': 'F5', 'customer': 10, 'cost': 480.0}, {'facility': 'F5', 'customer': 11, 'cost': 638.0}, {'facility': 'F5', 'customer': 12, 'cost': 346.0}, {'facility': 'F5', 'customer': 13, 'cost': 274.0}, {'facility': 'F6', 'customer': 0, 'cost': 860.0}, {'facility': 'F6', 'customer': 1, 'cost': 209.0}, {'facility': 'F6', 'customer': 2, 'cost': 445.0}, {'facility': 'F6', 'customer': 3, 'cost': 68.0}, {'facility': 'F6', 'customer': 4, 'cost': 550.0}, {'facility': 'F6', 'customer': 5, 'cost': 216.0}, {'facility': 'F6', 'customer': 6, 'cost': 419.0}, {'facility': 'F6', 'customer': 7, 'cost': 532.0}, {'facility': 'F6', 'customer': 8, 'cost': 911.0}, {'facility': 'F6', 'customer': 9, 'cost': 475.0}, {'facility': 'F6', 'customer': 10, 'cost': 659.0}, {'facility': 'F6', 'customer': 11, 'cost': 796.0}, {'facility': 'F6', 'customer': 12, 'cost': 528.0}, {'facility': 'F6', 'customer': 13, 'cost': 453.0}], 'objective': 3240.0}","{'selected': ['F2', 'F3', 'F4', 'F5'], 'assignments': ['F4', 'F5', 'F2', 'F5', 'F2', 'F5', 'F3', 'F3', 'F4', 'F3', 'F3', 'F4', 'F3', 'F3']}",31,csv,0 | |
| CFLP,CFLP,"Someone has to map out which recycling points should be up and running and which households will use each one. Every household must be assigned to one open point only, and each point has a maximum intake it canβt exceed. The βbetterβ solution is the one with the lowest total cost: tally the costs to open the selected points plus all residentsβ hauling effort to their assigned spots, and choose the assignment with the smallest total. The exact data and choices are shown below. | |
| The data lists 6 candidate collection points and 13 households. | |
| Collection point F1 has opening cost 400.0 and intake capacity 907.0. | |
| Collection point F2 has opening cost 400.0 and intake capacity 1335.0. | |
| Collection point F3 has opening cost 400.0 and intake capacity 1400.0. | |
| Collection point F4 has opening cost 400.0 and intake capacity 898.0. | |
| Collection point F5 has opening cost 400.0 and intake capacity 1103.0. | |
| Collection point F6 has opening cost 400.0 and intake capacity 620.0. | |
| Household A produces 28.0 recyclables and must be assigned to a single open point. | |
| Household B produces 14.0 recyclables and must be assigned to a single open point. | |
| Household C produces 24.0 recyclables and must be assigned to a single open point. | |
| Household D produces 39.0 recyclables and must be assigned to a single open point. | |
| Household E produces 10.0 recyclables and must be assigned to a single open point. | |
| Household F produces 42.0 recyclables and must be assigned to a single open point. | |
| Household G produces 24.0 recyclables and must be assigned to a single open point. | |
| Household H produces 15.0 recyclables and must be assigned to a single open point. | |
| Household I produces 49.0 recyclables and must be assigned to a single open point. | |
| Household J produces 12.0 recyclables and must be assigned to a single open point. | |
| Household K produces 14.0 recyclables and must be assigned to a single open point. | |
| Household L produces 27.0 recyclables and must be assigned to a single open point. | |
| Household M produces 29.0 recyclables and must be assigned to a single open point. | |
| If household A uses collection point F1, the hauling cost is 273.0. | |
| If household B uses collection point F1, the hauling cost is 376.0. | |
| If household C uses collection point F1, the hauling cost is 414.0. | |
| If household D uses collection point F1, the hauling cost is 574.0. | |
| If household E uses collection point F1, the hauling cost is 511.0. | |
| If household F uses collection point F1, the hauling cost is 448.0. | |
| If household G uses collection point F1, the hauling cost is 246.0. | |
| If household H uses collection point F1, the hauling cost is 502.0. | |
| If household I uses collection point F1, the hauling cost is 29.0. | |
| If household J uses collection point F1, the hauling cost is 100.0. | |
| If household K uses collection point F1, the hauling cost is 51.0. | |
| If household L uses collection point F1, the hauling cost is 361.0. | |
| If household M uses collection point F1, the hauling cost is 498.0. | |
| If household A uses collection point F2, the hauling cost is 268.0. | |
| If household B uses collection point F2, the hauling cost is 736.0. | |
| If household C uses collection point F2, the hauling cost is 682.0. | |
| If household D uses collection point F2, the hauling cost is 102.0. | |
| If household E uses collection point F2, the hauling cost is 446.0. | |
| If household F uses collection point F2, the hauling cost is 300.0. | |
| If household G uses collection point F2, the hauling cost is 446.0. | |
| If household H uses collection point F2, the hauling cost is 598.0. | |
| If household I uses collection point F2, the hauling cost is 527.0. | |
| If household J uses collection point F2, the hauling cost is 558.0. | |
| If household K uses collection point F2, the hauling cost is 568.0. | |
| If household L uses collection point F2, the hauling cost is 635.0. | |
| If household M uses collection point F2, the hauling cost is 385.0. | |
| If household A uses collection point F3, the hauling cost is 459.0. | |
| If household B uses collection point F3, the hauling cost is 116.0. | |
| If household C uses collection point F3, the hauling cost is 16.0. | |
| If household D uses collection point F3, the hauling cost is 685.0. | |
| If household E uses collection point F3, the hauling cost is 352.0. | |
| If household F uses collection point F3, the hauling cost is 433.0. | |
| If household G uses collection point F3, the hauling cost is 269.0. | |
| If household H uses collection point F3, the hauling cost is 197.0. | |
| If household I uses collection point F3, the hauling cost is 455.0. | |
| If household J uses collection point F3, the hauling cost is 331.0. | |
| If household K uses collection point F3, the hauling cost is 407.0. | |
| If household L uses collection point F3, the hauling cost is 72.0. | |
| If household M uses collection point F3, the hauling cost is 396.0. | |
| If household A uses collection point F4, the hauling cost is 272.0. | |
| If household B uses collection point F4, the hauling cost is 249.0. | |
| If household C uses collection point F4, the hauling cost is 178.0. | |
| If household D uses collection point F4, the hauling cost is 495.0. | |
| If household E uses collection point F4, the hauling cost is 220.0. | |
| If household F uses collection point F4, the hauling cost is 252.0. | |
| If household G uses collection point F4, the hauling cost is 96.0. | |
| If household H uses collection point F4, the hauling cost is 175.0. | |
| If household I uses collection point F4, the hauling cost is 357.0. | |
| If household J uses collection point F4, the hauling cost is 257.0. | |
| If household K uses collection point F4, the hauling cost is 330.0. | |
| If household L uses collection point F4, the hauling cost is 133.0. | |
| If household M uses collection point F4, the hauling cost is 241.0. | |
| If household A uses collection point F5, the hauling cost is 402.0. | |
| If household B uses collection point F5, the hauling cost is 328.0. | |
| If household C uses collection point F5, the hauling cost is 213.0. | |
| If household D uses collection point F5, the hauling cost is 537.0. | |
| If household E uses collection point F5, the hauling cost is 153.0. | |
| If household F uses collection point F5, the hauling cost is 280.0. | |
| If household G uses collection point F5, the hauling cost is 265.0. | |
| If household H uses collection point F5, the hauling cost is 26.0. | |
| If household I uses collection point F5, the hauling cost is 532.0. | |
| If household J uses collection point F5, the hauling cost is 430.0. | |
| If household K uses collection point F5, the hauling cost is 505.0. | |
| If household L uses collection point F5, the hauling cost is 214.0. | |
| If household M uses collection point F5, the hauling cost is 211.0. | |
| If household A uses collection point F6, the hauling cost is 509.0. | |
| If household B uses collection point F6, the hauling cost is 506.0. | |
| If household C uses collection point F6, the hauling cost is 389.0. | |
| If household D uses collection point F6, the hauling cost is 541.0. | |
| If household E uses collection point F6, the hauling cost is 181.0. | |
| If household F uses collection point F6, the hauling cost is 323.0. | |
| If household G uses collection point F6, the hauling cost is 420.0. | |
| If household H uses collection point F6, the hauling cost is 199.0. | |
| If household I uses collection point F6, the hauling cost is 693.0. | |
| If household J uses collection point F6, the hauling cost is 602.0. | |
| If household K uses collection point F6, the hauling cost is 673.0. | |
| If household L uses collection point F6, the hauling cost is 396.0. | |
| If household M uses collection point F6, the hauling cost is 232.0. | |
| These entries are provided so someone can choose which points to open and assign every household while minimizing total cost. | |
| 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, 400.0, 400.0, 400.0], 'capacities': [907.0, 1335.0, 1400.0, 898.0, 1103.0, 620.0], 'connection_costs': [[273.0, 376.0, 414.0, 574.0, 511.0, 448.0, 246.0, 502.0, 29.0, 100.0, 51.0, 361.0, 498.0], [268.0, 736.0, 682.0, 102.0, 446.0, 300.0, 446.0, 598.0, 527.0, 558.0, 568.0, 635.0, 385.0], [459.0, 116.0, 16.0, 685.0, 352.0, 433.0, 269.0, 197.0, 455.0, 331.0, 407.0, 72.0, 396.0], [272.0, 249.0, 178.0, 495.0, 220.0, 252.0, 96.0, 175.0, 357.0, 257.0, 330.0, 133.0, 241.0], [402.0, 328.0, 213.0, 537.0, 153.0, 280.0, 265.0, 26.0, 532.0, 430.0, 505.0, 214.0, 211.0], [509.0, 506.0, 389.0, 541.0, 181.0, 323.0, 420.0, 199.0, 693.0, 602.0, 673.0, 396.0, 232.0]], 'demands': [28.0, 14.0, 24.0, 39.0, 10.0, 42.0, 24.0, 15.0, 49.0, 12.0, 14.0, 27.0, 29.0], 'objective': 3270.0}","{'open_facilities': [0, 1, 2, 4], 'assignments': [1, 2, 2, 1, 4, 4, 0, 4, 0, 0, 0, 2, 4]}",3270.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 13, 'facilities': [{'id': 'F1', 'opening_cost': 400.0, 'capacity': 907.0}, {'id': 'F2', 'opening_cost': 400.0, 'capacity': 1335.0}, {'id': 'F3', 'opening_cost': 400.0, 'capacity': 1400.0}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 898.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 1103.0}, {'id': 'F6', 'opening_cost': 400.0, 'capacity': 620.0}], 'customers': [{'id': 'A', 'demand': 28.0}, {'id': 'B', 'demand': 14.0}, {'id': 'C', 'demand': 24.0}, {'id': 'D', 'demand': 39.0}, {'id': 'E', 'demand': 10.0}, {'id': 'F', 'demand': 42.0}, {'id': 'G', 'demand': 24.0}, {'id': 'H', 'demand': 15.0}, {'id': 'I', 'demand': 49.0}, {'id': 'J', 'demand': 12.0}, {'id': 'K', 'demand': 14.0}, {'id': 'L', 'demand': 27.0}, {'id': 'M', 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 273.0}, {'facility': 'F1', 'customer': 'B', 'cost': 376.0}, {'facility': 'F1', 'customer': 'C', 'cost': 414.0}, {'facility': 'F1', 'customer': 'D', 'cost': 574.0}, {'facility': 'F1', 'customer': 'E', 'cost': 511.0}, {'facility': 'F1', 'customer': 'F', 'cost': 448.0}, {'facility': 'F1', 'customer': 'G', 'cost': 246.0}, {'facility': 'F1', 'customer': 'H', 'cost': 502.0}, {'facility': 'F1', 'customer': 'I', 'cost': 29.0}, {'facility': 'F1', 'customer': 'J', 'cost': 100.0}, {'facility': 'F1', 'customer': 'K', 'cost': 51.0}, {'facility': 'F1', 'customer': 'L', 'cost': 361.0}, {'facility': 'F1', 'customer': 'M', 'cost': 498.0}, {'facility': 'F2', 'customer': 'A', 'cost': 268.0}, {'facility': 'F2', 'customer': 'B', 'cost': 736.0}, {'facility': 'F2', 'customer': 'C', 'cost': 682.0}, {'facility': 'F2', 'customer': 'D', 'cost': 102.0}, {'facility': 'F2', 'customer': 'E', 'cost': 446.0}, {'facility': 'F2', 'customer': 'F', 'cost': 300.0}, {'facility': 'F2', 'customer': 'G', 'cost': 446.0}, {'facility': 'F2', 'customer': 'H', 'cost': 598.0}, {'facility': 'F2', 'customer': 'I', 'cost': 527.0}, {'facility': 'F2', 'customer': 'J', 'cost': 558.0}, {'facility': 'F2', 'customer': 'K', 'cost': 568.0}, {'facility': 'F2', 'customer': 'L', 'cost': 635.0}, {'facility': 'F2', 'customer': 'M', 'cost': 385.0}, {'facility': 'F3', 'customer': 'A', 'cost': 459.0}, {'facility': 'F3', 'customer': 'B', 'cost': 116.0}, {'facility': 'F3', 'customer': 'C', 'cost': 16.0}, {'facility': 'F3', 'customer': 'D', 'cost': 685.0}, {'facility': 'F3', 'customer': 'E', 'cost': 352.0}, {'facility': 'F3', 'customer': 'F', 'cost': 433.0}, {'facility': 'F3', 'customer': 'G', 'cost': 269.0}, {'facility': 'F3', 'customer': 'H', 'cost': 197.0}, {'facility': 'F3', 'customer': 'I', 'cost': 455.0}, {'facility': 'F3', 'customer': 'J', 'cost': 331.0}, {'facility': 'F3', 'customer': 'K', 'cost': 407.0}, {'facility': 'F3', 'customer': 'L', 'cost': 72.0}, {'facility': 'F3', 'customer': 'M', 'cost': 396.0}, {'facility': 'F4', 'customer': 'A', 'cost': 272.0}, {'facility': 'F4', 'customer': 'B', 'cost': 249.0}, {'facility': 'F4', 'customer': 'C', 'cost': 178.0}, {'facility': 'F4', 'customer': 'D', 'cost': 495.0}, {'facility': 'F4', 'customer': 'E', 'cost': 220.0}, {'facility': 'F4', 'customer': 'F', 'cost': 252.0}, {'facility': 'F4', 'customer': 'G', 'cost': 96.0}, {'facility': 'F4', 'customer': 'H', 'cost': 175.0}, {'facility': 'F4', 'customer': 'I', 'cost': 357.0}, {'facility': 'F4', 'customer': 'J', 'cost': 257.0}, {'facility': 'F4', 'customer': 'K', 'cost': 330.0}, {'facility': 'F4', 'customer': 'L', 'cost': 133.0}, {'facility': 'F4', 'customer': 'M', 'cost': 241.0}, {'facility': 'F5', 'customer': 'A', 'cost': 402.0}, {'facility': 'F5', 'customer': 'B', 'cost': 328.0}, {'facility': 'F5', 'customer': 'C', 'cost': 213.0}, {'facility': 'F5', 'customer': 'D', 'cost': 537.0}, {'facility': 'F5', 'customer': 'E', 'cost': 153.0}, {'facility': 'F5', 'customer': 'F', 'cost': 280.0}, {'facility': 'F5', 'customer': 'G', 'cost': 265.0}, {'facility': 'F5', 'customer': 'H', 'cost': 26.0}, {'facility': 'F5', 'customer': 'I', 'cost': 532.0}, {'facility': 'F5', 'customer': 'J', 'cost': 430.0}, {'facility': 'F5', 'customer': 'K', 'cost': 505.0}, {'facility': 'F5', 'customer': 'L', 'cost': 214.0}, {'facility': 'F5', 'customer': 'M', 'cost': 211.0}, {'facility': 'F6', 'customer': 'A', 'cost': 509.0}, {'facility': 'F6', 'customer': 'B', 'cost': 506.0}, {'facility': 'F6', 'customer': 'C', 'cost': 389.0}, {'facility': 'F6', 'customer': 'D', 'cost': 541.0}, {'facility': 'F6', 'customer': 'E', 'cost': 181.0}, {'facility': 'F6', 'customer': 'F', 'cost': 323.0}, {'facility': 'F6', 'customer': 'G', 'cost': 420.0}, {'facility': 'F6', 'customer': 'H', 'cost': 199.0}, {'facility': 'F6', 'customer': 'I', 'cost': 693.0}, {'facility': 'F6', 'customer': 'J', 'cost': 602.0}, {'facility': 'F6', 'customer': 'K', 'cost': 673.0}, {'facility': 'F6', 'customer': 'L', 'cost': 396.0}, {'facility': 'F6', 'customer': 'M', 'cost': 232.0}], 'objective': 3270.0}","{'selected': ['F1', 'F2', 'F3', 'F5'], 'assignments': ['F2', 'F3', 'F3', 'F2', 'F5', 'F5', 'F1', 'F5', 'F1', 'F1', 'F1', 'F3', 'F5']}",32,nl,names | |
| CFLP,CFLP,"Weβve got a list of possible charging locations around town and a fleet of electric vehicles that need to be sent to stations for service. The decision is which of those locations to open (each one costs money to commission) and which station each vehicle should visit; every vehicle must go to one open station only, and every station can only take so many vehicles. A good choice is the one that keeps the overall expense down β tally the commissioning fees for the opened stations plus all the extra driving each vehicle does, and make that total as small as possible. Full specifics about sites, their limits, and the cost numbers appear below. | |
| # num_candidate_stations=4 | |
| # num_vehicles=11 | |
| # STATIONS | |
| station_id,commissioning_cost,charging_capacity | |
| F1,300.0,522.0 | |
| F2,300.0,418.0 | |
| F3,300.0,490.0 | |
| F4,300.0,503.0 | |
| # VEHICLES | |
| vehicle_id,charging_demand | |
| A,24.0 | |
| B,12.0 | |
| C,13.0 | |
| D,19.0 | |
| E,30.0 | |
| F,23.0 | |
| G,16.0 | |
| H,19.0 | |
| I,14.0 | |
| J,17.0 | |
| K,22.0 | |
| # DETOURS | |
| station_id,vehicle_id,detour_cost | |
| F1,A,60.0 | |
| F1,B,258.0 | |
| F1,C,637.0 | |
| F1,D,997.0 | |
| F1,E,68.0 | |
| F1,F,288.0 | |
| F1,G,857.0 | |
| F1,H,38.0 | |
| F1,I,173.0 | |
| F1,J,947.0 | |
| F1,K,205.0 | |
| F2,A,173.0 | |
| F2,B,62.0 | |
| F2,C,328.0 | |
| F2,D,690.0 | |
| F2,E,203.0 | |
| F2,F,53.0 | |
| F2,G,552.0 | |
| F2,H,100.0 | |
| F2,I,49.0 | |
| F2,J,657.0 | |
| F2,K,571.0 | |
| F3,A,555.0 | |
| F3,B,356.0 | |
| F3,C,761.0 | |
| F3,D,807.0 | |
| F3,E,670.0 | |
| F3,F,887.0 | |
| F3,G,996.0 | |
| F3,H,455.0 | |
| F3,I,182.0 | |
| F3,J,562.0 | |
| F3,K,1257.0 | |
| F4,A,80.0 | |
| F4,B,260.0 | |
| F4,C,704.0 | |
| F4,D,1052.0 | |
| F4,E,90.0 | |
| F4,F,362.0 | |
| F4,G,949.0 | |
| F4,H,41.0 | |
| F4,I,160.0 | |
| F4,J,976.0 | |
| F4,K,399.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': [300.0, 300.0, 300.0, 300.0], 'capacities': [522.0, 418.0, 490.0, 503.0], 'connection_costs': [[60.0, 258.0, 637.0, 997.0, 68.0, 288.0, 857.0, 38.0, 173.0, 947.0, 205.0], [173.0, 62.0, 328.0, 690.0, 203.0, 53.0, 552.0, 100.0, 49.0, 657.0, 571.0], [555.0, 356.0, 761.0, 807.0, 670.0, 887.0, 996.0, 455.0, 182.0, 562.0, 1257.0], [80.0, 260.0, 704.0, 1052.0, 90.0, 362.0, 949.0, 41.0, 160.0, 976.0, 399.0]], 'demands': [24.0, 12.0, 13.0, 19.0, 30.0, 23.0, 16.0, 19.0, 14.0, 17.0, 22.0], 'objective': 3362.0}","{'open_facilities': [0, 1], 'assignments': [0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0]}",3362.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 11, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 522.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 418.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 490.0}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 503.0}], 'customers': [{'id': 'A', 'demand': 24.0}, {'id': 'B', 'demand': 12.0}, {'id': 'C', 'demand': 13.0}, {'id': 'D', 'demand': 19.0}, {'id': 'E', 'demand': 30.0}, {'id': 'F', 'demand': 23.0}, {'id': 'G', 'demand': 16.0}, {'id': 'H', 'demand': 19.0}, {'id': 'I', 'demand': 14.0}, {'id': 'J', 'demand': 17.0}, {'id': 'K', 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 60.0}, {'facility': 'F1', 'customer': 'B', 'cost': 258.0}, {'facility': 'F1', 'customer': 'C', 'cost': 637.0}, {'facility': 'F1', 'customer': 'D', 'cost': 997.0}, {'facility': 'F1', 'customer': 'E', 'cost': 68.0}, {'facility': 'F1', 'customer': 'F', 'cost': 288.0}, {'facility': 'F1', 'customer': 'G', 'cost': 857.0}, {'facility': 'F1', 'customer': 'H', 'cost': 38.0}, {'facility': 'F1', 'customer': 'I', 'cost': 173.0}, {'facility': 'F1', 'customer': 'J', 'cost': 947.0}, {'facility': 'F1', 'customer': 'K', 'cost': 205.0}, {'facility': 'F2', 'customer': 'A', 'cost': 173.0}, {'facility': 'F2', 'customer': 'B', 'cost': 62.0}, {'facility': 'F2', 'customer': 'C', 'cost': 328.0}, {'facility': 'F2', 'customer': 'D', 'cost': 690.0}, {'facility': 'F2', 'customer': 'E', 'cost': 203.0}, {'facility': 'F2', 'customer': 'F', 'cost': 53.0}, {'facility': 'F2', 'customer': 'G', 'cost': 552.0}, {'facility': 'F2', 'customer': 'H', 'cost': 100.0}, {'facility': 'F2', 'customer': 'I', 'cost': 49.0}, {'facility': 'F2', 'customer': 'J', 'cost': 657.0}, {'facility': 'F2', 'customer': 'K', 'cost': 571.0}, {'facility': 'F3', 'customer': 'A', 'cost': 555.0}, {'facility': 'F3', 'customer': 'B', 'cost': 356.0}, {'facility': 'F3', 'customer': 'C', 'cost': 761.0}, {'facility': 'F3', 'customer': 'D', 'cost': 807.0}, {'facility': 'F3', 'customer': 'E', 'cost': 670.0}, {'facility': 'F3', 'customer': 'F', 'cost': 887.0}, {'facility': 'F3', 'customer': 'G', 'cost': 996.0}, {'facility': 'F3', 'customer': 'H', 'cost': 455.0}, {'facility': 'F3', 'customer': 'I', 'cost': 182.0}, {'facility': 'F3', 'customer': 'J', 'cost': 562.0}, {'facility': 'F3', 'customer': 'K', 'cost': 1257.0}, {'facility': 'F4', 'customer': 'A', 'cost': 80.0}, {'facility': 'F4', 'customer': 'B', 'cost': 260.0}, {'facility': 'F4', 'customer': 'C', 'cost': 704.0}, {'facility': 'F4', 'customer': 'D', 'cost': 1052.0}, {'facility': 'F4', 'customer': 'E', 'cost': 90.0}, {'facility': 'F4', 'customer': 'F', 'cost': 362.0}, {'facility': 'F4', 'customer': 'G', 'cost': 949.0}, {'facility': 'F4', 'customer': 'H', 'cost': 41.0}, {'facility': 'F4', 'customer': 'I', 'cost': 160.0}, {'facility': 'F4', 'customer': 'J', 'cost': 976.0}, {'facility': 'F4', 'customer': 'K', 'cost': 399.0}], 'objective': 3362.0}","{'selected': ['F1', 'F2'], 'assignments': ['F1', 'F2', 'F2', 'F2', 'F1', 'F2', 'F2', 'F1', 'F2', 'F2', 'F1']}",33,csv,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 5 candidate shared printers under consideration and 12 individual staff print jobs to assign. | |
| Printer F1: installation cost 534.0, duty capacity 500.0 pages. | |
| Printer F2: installation cost 289.0, duty capacity 500.0 pages. | |
| Printer F3: installation cost 201.0, duty capacity 500.0 pages. | |
| Printer F4: installation cost 379.0, duty capacity 500.0 pages. | |
| Printer F5: installation cost 209.0, duty capacity 500.0 pages. | |
| Print job 0: size 15.0 pages. | |
| Print job 1: size 17.0 pages. | |
| Print job 2: size 17.0 pages. | |
| Print job 3: size 23.0 pages. | |
| Print job 4: size 20.0 pages. | |
| Print job 5: size 17.0 pages. | |
| Print job 6: size 13.0 pages. | |
| Print job 7: size 23.0 pages. | |
| Print job 8: size 13.0 pages. | |
| Print job 9: size 16.0 pages. | |
| Print job 10: size 17.0 pages. | |
| Print job 11: size 11.0 pages. | |
| Printer F1 to job 0: transfer/delay cost 43.0. | |
| Printer F1 to job 1: transfer/delay cost 632.0. | |
| Printer F1 to job 2: transfer/delay cost 63.0. | |
| Printer F1 to job 3: transfer/delay cost 73.0. | |
| Printer F1 to job 4: transfer/delay cost 103.0. | |
| Printer F1 to job 5: transfer/delay cost 80.0. | |
| Printer F1 to job 6: transfer/delay cost 778.0. | |
| Printer F1 to job 7: transfer/delay cost 188.0. | |
| Printer F1 to job 8: transfer/delay cost 220.0. | |
| Printer F1 to job 9: transfer/delay cost 281.0. | |
| Printer F1 to job 10: transfer/delay cost 485.0. | |
| Printer F1 to job 11: transfer/delay cost 169.0. | |
| Printer F2 to job 0: transfer/delay cost 201.0. | |
| Printer F2 to job 1: transfer/delay cost 1668.0. | |
| Printer F2 to job 2: transfer/delay cost 1482.0. | |
| Printer F2 to job 3: transfer/delay cost 80.0. | |
| Printer F2 to job 4: transfer/delay cost 441.0. | |
| Printer F2 to job 5: transfer/delay cost 669.0. | |
| Printer F2 to job 6: transfer/delay cost 1652.0. | |
| Printer F2 to job 7: transfer/delay cost 1113.0. | |
| Printer F2 to job 8: transfer/delay cost 846.0. | |
| Printer F2 to job 9: transfer/delay cost 782.0. | |
| Printer F2 to job 10: transfer/delay cost 1439.0. | |
| Printer F2 to job 11: transfer/delay cost 1570.0. | |
| Printer F3 to job 0: transfer/delay cost 79.0. | |
| Printer F3 to job 1: transfer/delay cost 352.0. | |
| Printer F3 to job 2: transfer/delay cost 158.0. | |
| Printer F3 to job 3: transfer/delay cost 107.0. | |
| Printer F3 to job 4: transfer/delay cost 61.0. | |
| Printer F3 to job 5: transfer/delay cost 37.0. | |
| Printer F3 to job 6: transfer/delay cost 527.0. | |
| Printer F3 to job 7: transfer/delay cost 69.0. | |
| Printer F3 to job 8: transfer/delay cost 112.0. | |
| Printer F3 to job 9: transfer/delay cost 394.0. | |
| Printer F3 to job 10: transfer/delay cost 256.0. | |
| Printer F3 to job 11: transfer/delay cost 80.0. | |
| Printer F4 to job 0: transfer/delay cost 588.0. | |
| Printer F4 to job 1: transfer/delay cost 1472.0. | |
| Printer F4 to job 2: transfer/delay cost 1866.0. | |
| Printer F4 to job 3: transfer/delay cost 421.0. | |
| Printer F4 to job 4: transfer/delay cost 188.0. | |
| Printer F4 to job 5: transfer/delay cost 680.0. | |
| Printer F4 to job 6: transfer/delay cost 1271.0. | |
| Printer F4 to job 7: transfer/delay cost 1131.0. | |
| Printer F4 to job 8: transfer/delay cost 559.0. | |
| Printer F4 to job 9: transfer/delay cost 1546.0. | |
| Printer F4 to job 10: transfer/delay cost 1234.0. | |
| Printer F4 to job 11: transfer/delay cost 1881.0. | |
| Printer F5 to job 0: transfer/delay cost 40.0. | |
| Printer F5 to job 1: transfer/delay cost 1342.0. | |
| Printer F5 to job 2: transfer/delay cost 1310.0. | |
| Printer F5 to job 3: transfer/delay cost 71.0. | |
| Printer F5 to job 4: transfer/delay cost 194.0. | |
| Printer F5 to job 5: transfer/delay cost 337.0. | |
| Printer F5 to job 6: transfer/delay cost 1322.0. | |
| Printer F5 to job 7: transfer/delay cost 797.0. | |
| Printer F5 to job 8: transfer/delay cost 525.0. | |
| Printer F5 to job 9: transfer/delay cost 848.0. | |
| Printer F5 to job 10: transfer/delay cost 1109.0. | |
| Printer F5 to job 11: transfer/delay cost 1368.0. | |
| These entries enumerate all 5 candidate printers and 12 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': [534.0, 289.0, 201.0, 379.0, 209.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[43.0, 632.0, 63.0, 73.0, 103.0, 80.0, 778.0, 188.0, 220.0, 281.0, 485.0, 169.0], [201.0, 1668.0, 1482.0, 80.0, 441.0, 669.0, 1652.0, 1113.0, 846.0, 782.0, 1439.0, 1570.0], [79.0, 352.0, 158.0, 107.0, 61.0, 37.0, 527.0, 69.0, 112.0, 394.0, 256.0, 80.0], [588.0, 1472.0, 1866.0, 421.0, 188.0, 680.0, 1271.0, 1131.0, 559.0, 1546.0, 1234.0, 1881.0], [40.0, 1342.0, 1310.0, 71.0, 194.0, 337.0, 1322.0, 797.0, 525.0, 848.0, 1109.0, 1368.0]], 'demands': [15.0, 17.0, 17.0, 23.0, 20.0, 17.0, 13.0, 23.0, 13.0, 16.0, 17.0, 11.0], 'objective': 2433.0}","{'open_facilities': [2], 'assignments': [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]}",2433.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, 'facilities': [{'id': 'F1', 'opening_cost': 534.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 289.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 201.0, 'capacity': 500.0}, {'id': 'F4', 'opening_cost': 379.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 209.0, 'capacity': 500.0}], 'customers': [{'id': 0, 'demand': 15.0}, {'id': 1, 'demand': 17.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 23.0}, {'id': 4, 'demand': 20.0}, {'id': 5, 'demand': 17.0}, {'id': 6, 'demand': 13.0}, {'id': 7, 'demand': 23.0}, {'id': 8, 'demand': 13.0}, {'id': 9, 'demand': 16.0}, {'id': 10, 'demand': 17.0}, {'id': 11, 'demand': 11.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 43.0}, {'facility': 'F1', 'customer': 1, 'cost': 632.0}, {'facility': 'F1', 'customer': 2, 'cost': 63.0}, {'facility': 'F1', 'customer': 3, 'cost': 73.0}, {'facility': 'F1', 'customer': 4, 'cost': 103.0}, {'facility': 'F1', 'customer': 5, 'cost': 80.0}, {'facility': 'F1', 'customer': 6, 'cost': 778.0}, {'facility': 'F1', 'customer': 7, 'cost': 188.0}, {'facility': 'F1', 'customer': 8, 'cost': 220.0}, {'facility': 'F1', 'customer': 9, 'cost': 281.0}, {'facility': 'F1', 'customer': 10, 'cost': 485.0}, {'facility': 'F1', 'customer': 11, 'cost': 169.0}, {'facility': 'F2', 'customer': 0, 'cost': 201.0}, {'facility': 'F2', 'customer': 1, 'cost': 1668.0}, {'facility': 'F2', 'customer': 2, 'cost': 1482.0}, {'facility': 'F2', 'customer': 3, 'cost': 80.0}, {'facility': 'F2', 'customer': 4, 'cost': 441.0}, {'facility': 'F2', 'customer': 5, 'cost': 669.0}, {'facility': 'F2', 'customer': 6, 'cost': 1652.0}, {'facility': 'F2', 'customer': 7, 'cost': 1113.0}, {'facility': 'F2', 'customer': 8, 'cost': 846.0}, {'facility': 'F2', 'customer': 9, 'cost': 782.0}, {'facility': 'F2', 'customer': 10, 'cost': 1439.0}, {'facility': 'F2', 'customer': 11, 'cost': 1570.0}, {'facility': 'F3', 'customer': 0, 'cost': 79.0}, {'facility': 'F3', 'customer': 1, 'cost': 352.0}, {'facility': 'F3', 'customer': 2, 'cost': 158.0}, {'facility': 'F3', 'customer': 3, 'cost': 107.0}, {'facility': 'F3', 'customer': 4, 'cost': 61.0}, {'facility': 'F3', 'customer': 5, 'cost': 37.0}, {'facility': 'F3', 'customer': 6, 'cost': 527.0}, {'facility': 'F3', 'customer': 7, 'cost': 69.0}, {'facility': 'F3', 'customer': 8, 'cost': 112.0}, {'facility': 'F3', 'customer': 9, 'cost': 394.0}, {'facility': 'F3', 'customer': 10, 'cost': 256.0}, {'facility': 'F3', 'customer': 11, 'cost': 80.0}, {'facility': 'F4', 'customer': 0, 'cost': 588.0}, {'facility': 'F4', 'customer': 1, 'cost': 1472.0}, {'facility': 'F4', 'customer': 2, 'cost': 1866.0}, {'facility': 'F4', 'customer': 3, 'cost': 421.0}, {'facility': 'F4', 'customer': 4, 'cost': 188.0}, {'facility': 'F4', 'customer': 5, 'cost': 680.0}, {'facility': 'F4', 'customer': 6, 'cost': 1271.0}, {'facility': 'F4', 'customer': 7, 'cost': 1131.0}, {'facility': 'F4', 'customer': 8, 'cost': 559.0}, {'facility': 'F4', 'customer': 9, 'cost': 1546.0}, {'facility': 'F4', 'customer': 10, 'cost': 1234.0}, {'facility': 'F4', 'customer': 11, 'cost': 1881.0}, {'facility': 'F5', 'customer': 0, 'cost': 40.0}, {'facility': 'F5', 'customer': 1, 'cost': 1342.0}, {'facility': 'F5', 'customer': 2, 'cost': 1310.0}, {'facility': 'F5', 'customer': 3, 'cost': 71.0}, {'facility': 'F5', 'customer': 4, 'cost': 194.0}, {'facility': 'F5', 'customer': 5, 'cost': 337.0}, {'facility': 'F5', 'customer': 6, 'cost': 1322.0}, {'facility': 'F5', 'customer': 7, 'cost': 797.0}, {'facility': 'F5', 'customer': 8, 'cost': 525.0}, {'facility': 'F5', 'customer': 9, 'cost': 848.0}, {'facility': 'F5', 'customer': 10, 'cost': 1109.0}, {'facility': 'F5', 'customer': 11, 'cost': 1368.0}], 'objective': 2433.0}","{'selected': ['F3'], 'assignments': ['F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3', 'F3']}",34,nl,0 | |
| 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. | |
| Below are the 5 candidate drop-off centers and the 10 neighborhoods to consider. | |
| Center F1 has maintenance cost 300.0 and processing capacity 300.0. | |
| Center F2 has maintenance cost 300.0 and processing capacity 300.0. | |
| Center F3 has maintenance cost 300.0 and processing capacity 300.0. | |
| Center F4 has maintenance cost 300.0 and processing capacity 300.0. | |
| Center F5 has maintenance cost 300.0 and processing capacity 300.0. | |
| Neighborhood A produces 28.0 waste that must be sent intact to one center. | |
| Neighborhood B produces 12.0 waste that must be sent intact to one center. | |
| Neighborhood C produces 21.0 waste that must be sent intact to one center. | |
| Neighborhood D produces 12.0 waste that must be sent intact to one center. | |
| Neighborhood E produces 30.0 waste that must be sent intact to one center. | |
| Neighborhood F produces 30.0 waste that must be sent intact to one center. | |
| Neighborhood G produces 26.0 waste that must be sent intact to one center. | |
| Neighborhood H produces 14.0 waste that must be sent intact to one center. | |
| Neighborhood I produces 19.0 waste that must be sent intact to one center. | |
| Neighborhood J produces 12.0 waste that must be sent intact to one center. | |
| Assigning neighborhood A to center F1 incurs hauling cost 166.0. | |
| Assigning neighborhood B to center F1 incurs hauling cost 197.0. | |
| Assigning neighborhood C to center F1 incurs hauling cost 517.0. | |
| Assigning neighborhood D to center F1 incurs hauling cost 69.0. | |
| Assigning neighborhood E to center F1 incurs hauling cost 168.0. | |
| Assigning neighborhood F to center F1 incurs hauling cost 248.0. | |
| Assigning neighborhood G to center F1 incurs hauling cost 365.0. | |
| Assigning neighborhood H to center F1 incurs hauling cost 28.0. | |
| Assigning neighborhood I to center F1 incurs hauling cost 207.0. | |
| Assigning neighborhood J to center F1 incurs hauling cost 69.0. | |
| Assigning neighborhood A to center F2 incurs hauling cost 517.0. | |
| Assigning neighborhood B to center F2 incurs hauling cost 382.0. | |
| Assigning neighborhood C to center F2 incurs hauling cost 858.0. | |
| Assigning neighborhood D to center F2 incurs hauling cost 328.0. | |
| Assigning neighborhood E to center F2 incurs hauling cost 254.0. | |
| Assigning neighborhood F to center F2 incurs hauling cost 430.0. | |
| Assigning neighborhood G to center F2 incurs hauling cost 204.0. | |
| Assigning neighborhood H to center F2 incurs hauling cost 61.0. | |
| Assigning neighborhood I to center F2 incurs hauling cost 412.0. | |
| Assigning neighborhood J to center F2 incurs hauling cost 92.0. | |
| Assigning neighborhood A to center F3 incurs hauling cost 951.0. | |
| Assigning neighborhood B to center F3 incurs hauling cost 566.0. | |
| Assigning neighborhood C to center F3 incurs hauling cost 1168.0. | |
| Assigning neighborhood D to center F3 incurs hauling cost 714.0. | |
| Assigning neighborhood E to center F3 incurs hauling cost 327.0. | |
| Assigning neighborhood F to center F3 incurs hauling cost 605.0. | |
| Assigning neighborhood G to center F3 incurs hauling cost 179.0. | |
| Assigning neighborhood H to center F3 incurs hauling cost 141.0. | |
| Assigning neighborhood I to center F3 incurs hauling cost 623.0. | |
| Assigning neighborhood J to center F3 incurs hauling cost 628.0. | |
| Assigning neighborhood A to center F4 incurs hauling cost 114.0. | |
| Assigning neighborhood B to center F4 incurs hauling cost 160.0. | |
| Assigning neighborhood C to center F4 incurs hauling cost 444.0. | |
| Assigning neighborhood D to center F4 incurs hauling cost 39.0. | |
| Assigning neighborhood E to center F4 incurs hauling cost 148.0. | |
| Assigning neighborhood F to center F4 incurs hauling cost 210.0. | |
| Assigning neighborhood G to center F4 incurs hauling cost 424.0. | |
| Assigning neighborhood H to center F4 incurs hauling cost 31.0. | |
| Assigning neighborhood I to center F4 incurs hauling cost 167.0. | |
| Assigning neighborhood J to center F4 incurs hauling cost 122.0. | |
| Assigning neighborhood A to center F5 incurs hauling cost 1168.0. | |
| Assigning neighborhood B to center F5 incurs hauling cost 636.0. | |
| Assigning neighborhood C to center F5 incurs hauling cost 1291.0. | |
| Assigning neighborhood D to center F5 incurs hauling cost 924.0. | |
| Assigning neighborhood E to center F5 incurs hauling cost 344.0. | |
| Assigning neighborhood F to center F5 incurs hauling cost 670.0. | |
| Assigning neighborhood G to center F5 incurs hauling cost 383.0. | |
| Assigning neighborhood H to center F5 incurs hauling cost 182.0. | |
| Assigning neighborhood I to center F5 incurs hauling cost 711.0. | |
| Assigning neighborhood J to center F5 incurs hauling cost 966.0. | |
| Use these entries to choose centers and assignments that minimize total maintenance plus hauling while respecting capacities and keeping each neighborhood's waste intact. | |
| 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': [300.0, 300.0, 300.0, 300.0, 300.0], 'capacities': [300.0, 300.0, 300.0, 300.0, 300.0], 'connection_costs': [[166.0, 197.0, 517.0, 69.0, 168.0, 248.0, 365.0, 28.0, 207.0, 69.0], [517.0, 382.0, 858.0, 328.0, 254.0, 430.0, 204.0, 61.0, 412.0, 92.0], [951.0, 566.0, 1168.0, 714.0, 327.0, 605.0, 179.0, 141.0, 623.0, 628.0], [114.0, 160.0, 444.0, 39.0, 148.0, 210.0, 424.0, 31.0, 167.0, 122.0], [1168.0, 636.0, 1291.0, 924.0, 344.0, 670.0, 383.0, 182.0, 711.0, 966.0]], 'demands': [28.0, 12.0, 21.0, 12.0, 30.0, 30.0, 26.0, 14.0, 19.0, 12.0], 'objective': 2159.0}","{'open_facilities': [3], 'assignments': [3, 3, 3, 3, 3, 3, 3, 3, 3, 3]}",2159.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 10, '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}, {'id': 'F5', 'opening_cost': 300.0, 'capacity': 300.0}], 'customers': [{'id': 'A', 'demand': 28.0}, {'id': 'B', 'demand': 12.0}, {'id': 'C', 'demand': 21.0}, {'id': 'D', 'demand': 12.0}, {'id': 'E', 'demand': 30.0}, {'id': 'F', 'demand': 30.0}, {'id': 'G', 'demand': 26.0}, {'id': 'H', 'demand': 14.0}, {'id': 'I', 'demand': 19.0}, {'id': 'J', 'demand': 12.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 166.0}, {'facility': 'F1', 'customer': 'B', 'cost': 197.0}, {'facility': 'F1', 'customer': 'C', 'cost': 517.0}, {'facility': 'F1', 'customer': 'D', 'cost': 69.0}, {'facility': 'F1', 'customer': 'E', 'cost': 168.0}, {'facility': 'F1', 'customer': 'F', 'cost': 248.0}, {'facility': 'F1', 'customer': 'G', 'cost': 365.0}, {'facility': 'F1', 'customer': 'H', 'cost': 28.0}, {'facility': 'F1', 'customer': 'I', 'cost': 207.0}, {'facility': 'F1', 'customer': 'J', 'cost': 69.0}, {'facility': 'F2', 'customer': 'A', 'cost': 517.0}, {'facility': 'F2', 'customer': 'B', 'cost': 382.0}, {'facility': 'F2', 'customer': 'C', 'cost': 858.0}, {'facility': 'F2', 'customer': 'D', 'cost': 328.0}, {'facility': 'F2', 'customer': 'E', 'cost': 254.0}, {'facility': 'F2', 'customer': 'F', 'cost': 430.0}, {'facility': 'F2', 'customer': 'G', 'cost': 204.0}, {'facility': 'F2', 'customer': 'H', 'cost': 61.0}, {'facility': 'F2', 'customer': 'I', 'cost': 412.0}, {'facility': 'F2', 'customer': 'J', 'cost': 92.0}, {'facility': 'F3', 'customer': 'A', 'cost': 951.0}, {'facility': 'F3', 'customer': 'B', 'cost': 566.0}, {'facility': 'F3', 'customer': 'C', 'cost': 1168.0}, {'facility': 'F3', 'customer': 'D', 'cost': 714.0}, {'facility': 'F3', 'customer': 'E', 'cost': 327.0}, {'facility': 'F3', 'customer': 'F', 'cost': 605.0}, {'facility': 'F3', 'customer': 'G', 'cost': 179.0}, {'facility': 'F3', 'customer': 'H', 'cost': 141.0}, {'facility': 'F3', 'customer': 'I', 'cost': 623.0}, {'facility': 'F3', 'customer': 'J', 'cost': 628.0}, {'facility': 'F4', 'customer': 'A', 'cost': 114.0}, {'facility': 'F4', 'customer': 'B', 'cost': 160.0}, {'facility': 'F4', 'customer': 'C', 'cost': 444.0}, {'facility': 'F4', 'customer': 'D', 'cost': 39.0}, {'facility': 'F4', 'customer': 'E', 'cost': 148.0}, {'facility': 'F4', 'customer': 'F', 'cost': 210.0}, {'facility': 'F4', 'customer': 'G', 'cost': 424.0}, {'facility': 'F4', 'customer': 'H', 'cost': 31.0}, {'facility': 'F4', 'customer': 'I', 'cost': 167.0}, {'facility': 'F4', 'customer': 'J', 'cost': 122.0}, {'facility': 'F5', 'customer': 'A', 'cost': 1168.0}, {'facility': 'F5', 'customer': 'B', 'cost': 636.0}, {'facility': 'F5', 'customer': 'C', 'cost': 1291.0}, {'facility': 'F5', 'customer': 'D', 'cost': 924.0}, {'facility': 'F5', 'customer': 'E', 'cost': 344.0}, {'facility': 'F5', 'customer': 'F', 'cost': 670.0}, {'facility': 'F5', 'customer': 'G', 'cost': 383.0}, {'facility': 'F5', 'customer': 'H', 'cost': 182.0}, {'facility': 'F5', 'customer': 'I', 'cost': 711.0}, {'facility': 'F5', 'customer': 'J', 'cost': 966.0}], 'objective': 2159.0}","{'selected': ['F4'], 'assignments': ['F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4', 'F4']}",35,nl,names | |
| 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. | |
| # num_stations=5 | |
| # num_guest_groups=11 | |
| # STATIONS | |
| station_id,setup_cost,station_capacity | |
| F1,400.0,500.0 | |
| F2,400.0,500.0 | |
| F3,400.0,500.0 | |
| F4,400.0,500.0 | |
| F5,400.0,500.0 | |
| # GROUPS | |
| group_id,group_size | |
| 1,21.0 | |
| 2,25.0 | |
| 3,28.0 | |
| 4,24.0 | |
| 5,26.0 | |
| 6,10.0 | |
| 7,27.0 | |
| 8,17.0 | |
| 9,14.0 | |
| 10,27.0 | |
| 11,23.0 | |
| # SERVICES | |
| station_id,group_id,service_cost | |
| F1,1,982.0 | |
| F1,2,1375.0 | |
| F1,3,974.0 | |
| F1,4,368.0 | |
| F1,5,222.0 | |
| F1,6,1138.0 | |
| F1,7,1543.0 | |
| F1,8,989.0 | |
| F1,9,192.0 | |
| F1,10,1086.0 | |
| F1,11,1509.0 | |
| F2,1,858.0 | |
| F2,2,668.0 | |
| F2,3,63.0 | |
| F2,4,63.0 | |
| F2,5,83.0 | |
| F2,6,938.0 | |
| F2,7,781.0 | |
| F2,8,59.0 | |
| F2,9,61.0 | |
| F2,10,788.0 | |
| F2,11,54.0 | |
| F3,1,162.0 | |
| F3,2,558.0 | |
| F3,3,674.0 | |
| F3,4,366.0 | |
| F3,5,202.0 | |
| F3,6,206.0 | |
| F3,7,691.0 | |
| F3,8,647.0 | |
| F3,9,173.0 | |
| F3,10,54.0 | |
| F3,11,1118.0 | |
| F4,1,1642.0 | |
| F4,2,2126.0 | |
| F4,3,1619.0 | |
| F4,4,721.0 | |
| F4,5,795.0 | |
| F4,6,1813.0 | |
| F4,7,2293.0 | |
| F4,8,1654.0 | |
| F4,9,769.0 | |
| F4,10,1804.0 | |
| F4,11,2151.0 | |
| F5,1,820.0 | |
| F5,2,728.0 | |
| F5,3,105.0 | |
| F5,4,104.0 | |
| F5,5,57.0 | |
| F5,6,913.0 | |
| F5,7,873.0 | |
| F5,8,59.0 | |
| F5,9,34.0 | |
| F5,10,770.0 | |
| F5,11,524.0 | |
| 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': [400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[982.0, 1375.0, 974.0, 368.0, 222.0, 1138.0, 1543.0, 989.0, 192.0, 1086.0, 1509.0], [858.0, 668.0, 63.0, 63.0, 83.0, 938.0, 781.0, 59.0, 61.0, 788.0, 54.0], [162.0, 558.0, 674.0, 366.0, 202.0, 206.0, 691.0, 647.0, 173.0, 54.0, 1118.0], [1642.0, 2126.0, 1619.0, 721.0, 795.0, 1813.0, 2293.0, 1654.0, 769.0, 1804.0, 2151.0], [820.0, 728.0, 105.0, 104.0, 57.0, 913.0, 873.0, 59.0, 34.0, 770.0, 524.0]], 'demands': [21.0, 25.0, 28.0, 24.0, 26.0, 10.0, 27.0, 17.0, 14.0, 27.0, 23.0], 'objective': 2854.0}","{'open_facilities': [1, 2], 'assignments': [2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 1]}",2854.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 11, '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}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 21.0}, {'id': 2, 'demand': 25.0}, {'id': 3, 'demand': 28.0}, {'id': 4, 'demand': 24.0}, {'id': 5, 'demand': 26.0}, {'id': 6, 'demand': 10.0}, {'id': 7, 'demand': 27.0}, {'id': 8, 'demand': 17.0}, {'id': 9, 'demand': 14.0}, {'id': 10, 'demand': 27.0}, {'id': 11, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 982.0}, {'facility': 'F1', 'customer': 2, 'cost': 1375.0}, {'facility': 'F1', 'customer': 3, 'cost': 974.0}, {'facility': 'F1', 'customer': 4, 'cost': 368.0}, {'facility': 'F1', 'customer': 5, 'cost': 222.0}, {'facility': 'F1', 'customer': 6, 'cost': 1138.0}, {'facility': 'F1', 'customer': 7, 'cost': 1543.0}, {'facility': 'F1', 'customer': 8, 'cost': 989.0}, {'facility': 'F1', 'customer': 9, 'cost': 192.0}, {'facility': 'F1', 'customer': 10, 'cost': 1086.0}, {'facility': 'F1', 'customer': 11, 'cost': 1509.0}, {'facility': 'F2', 'customer': 1, 'cost': 858.0}, {'facility': 'F2', 'customer': 2, 'cost': 668.0}, {'facility': 'F2', 'customer': 3, 'cost': 63.0}, {'facility': 'F2', 'customer': 4, 'cost': 63.0}, {'facility': 'F2', 'customer': 5, 'cost': 83.0}, {'facility': 'F2', 'customer': 6, 'cost': 938.0}, {'facility': 'F2', 'customer': 7, 'cost': 781.0}, {'facility': 'F2', 'customer': 8, 'cost': 59.0}, {'facility': 'F2', 'customer': 9, 'cost': 61.0}, {'facility': 'F2', 'customer': 10, 'cost': 788.0}, {'facility': 'F2', 'customer': 11, 'cost': 54.0}, {'facility': 'F3', 'customer': 1, 'cost': 162.0}, {'facility': 'F3', 'customer': 2, 'cost': 558.0}, {'facility': 'F3', 'customer': 3, 'cost': 674.0}, {'facility': 'F3', 'customer': 4, 'cost': 366.0}, {'facility': 'F3', 'customer': 5, 'cost': 202.0}, {'facility': 'F3', 'customer': 6, 'cost': 206.0}, {'facility': 'F3', 'customer': 7, 'cost': 691.0}, {'facility': 'F3', 'customer': 8, 'cost': 647.0}, {'facility': 'F3', 'customer': 9, 'cost': 173.0}, {'facility': 'F3', 'customer': 10, 'cost': 54.0}, {'facility': 'F3', 'customer': 11, 'cost': 1118.0}, {'facility': 'F4', 'customer': 1, 'cost': 1642.0}, {'facility': 'F4', 'customer': 2, 'cost': 2126.0}, {'facility': 'F4', 'customer': 3, 'cost': 1619.0}, {'facility': 'F4', 'customer': 4, 'cost': 721.0}, {'facility': 'F4', 'customer': 5, 'cost': 795.0}, {'facility': 'F4', 'customer': 6, 'cost': 1813.0}, {'facility': 'F4', 'customer': 7, 'cost': 2293.0}, {'facility': 'F4', 'customer': 8, 'cost': 1654.0}, {'facility': 'F4', 'customer': 9, 'cost': 769.0}, {'facility': 'F4', 'customer': 10, 'cost': 1804.0}, {'facility': 'F4', 'customer': 11, 'cost': 2151.0}, {'facility': 'F5', 'customer': 1, 'cost': 820.0}, {'facility': 'F5', 'customer': 2, 'cost': 728.0}, {'facility': 'F5', 'customer': 3, 'cost': 105.0}, {'facility': 'F5', 'customer': 4, 'cost': 104.0}, {'facility': 'F5', 'customer': 5, 'cost': 57.0}, {'facility': 'F5', 'customer': 6, 'cost': 913.0}, {'facility': 'F5', 'customer': 7, 'cost': 873.0}, {'facility': 'F5', 'customer': 8, 'cost': 59.0}, {'facility': 'F5', 'customer': 9, 'cost': 34.0}, {'facility': 'F5', 'customer': 10, 'cost': 770.0}, {'facility': 'F5', 'customer': 11, 'cost': 524.0}], 'objective': 2854.0}","{'selected': ['F2', 'F3'], 'assignments': ['F3', 'F3', 'F2', 'F2', 'F2', 'F3', 'F3', 'F2', 'F2', 'F3', 'F2']}",36,csv,1 | |
| CFLP,CFLP,"Out in the district planners are choosing which pantry locations to operate and routing every family to a single open pantry, taking care not to overload any pantryβs storage. A good plan is judged by total cost β the sum of the running charges for the open sites plus the cost to serve all the families β so the plan with the lowest combined cost wins. The concrete inputs and figures come after this. | |
| There are 5 candidate pantry locations and 12 families to assign. | |
| Pantry F1 has an operating charge of 119.0 and a storage limit of 309.0. | |
| Pantry F2 has an operating charge of 372.0 and a storage limit of 436.0. | |
| Pantry F3 has an operating charge of 308.0 and a storage limit of 404.0. | |
| Pantry F4 has an operating charge of 114.0 and a storage limit of 307.0. | |
| Pantry F5 has an operating charge of 336.0 and a storage limit of 418.0. | |
| Family 1 requires 20.0 units of pantry capacity. | |
| Family 2 requires 20.0 units of pantry capacity. | |
| Family 3 requires 10.0 units of pantry capacity. | |
| Family 4 requires 20.0 units of pantry capacity. | |
| Family 5 requires 20.0 units of pantry capacity. | |
| Family 6 requires 40.0 units of pantry capacity. | |
| Family 7 requires 10.0 units of pantry capacity. | |
| Family 8 requires 9.0 units of pantry capacity. | |
| Family 9 requires 5.0 units of pantry capacity. | |
| Family 10 requires 31.0 units of pantry capacity. | |
| Family 11 requires 19.0 units of pantry capacity. | |
| Family 12 requires 35.0 units of pantry capacity. | |
| Assigning family 1 to pantry F1 incurs a service cost of 192.0. | |
| Assigning family 2 to pantry F1 incurs a service cost of 20.0. | |
| Assigning family 3 to pantry F1 incurs a service cost of 23.0. | |
| Assigning family 4 to pantry F1 incurs a service cost of 177.0. | |
| Assigning family 5 to pantry F1 incurs a service cost of 349.0. | |
| Assigning family 6 to pantry F1 incurs a service cost of 290.0. | |
| Assigning family 7 to pantry F1 incurs a service cost of 252.0. | |
| Assigning family 8 to pantry F1 incurs a service cost of 224.0. | |
| Assigning family 9 to pantry F1 incurs a service cost of 84.0. | |
| Assigning family 10 to pantry F1 incurs a service cost of 236.0. | |
| Assigning family 11 to pantry F1 incurs a service cost of 96.0. | |
| Assigning family 12 to pantry F1 incurs a service cost of 89.0. | |
| Assigning family 1 to pantry F2 incurs a service cost of 286.0. | |
| Assigning family 2 to pantry F2 incurs a service cost of 175.0. | |
| Assigning family 3 to pantry F2 incurs a service cost of 161.0. | |
| Assigning family 4 to pantry F2 incurs a service cost of 45.0. | |
| Assigning family 5 to pantry F2 incurs a service cost of 234.0. | |
| Assigning family 6 to pantry F2 incurs a service cost of 297.0. | |
| Assigning family 7 to pantry F2 incurs a service cost of 275.0. | |
| Assigning family 8 to pantry F2 incurs a service cost of 144.0. | |
| Assigning family 9 to pantry F2 incurs a service cost of 236.0. | |
| Assigning family 10 to pantry F2 incurs a service cost of 81.0. | |
| Assigning family 11 to pantry F2 incurs a service cost of 184.0. | |
| Assigning family 12 to pantry F2 incurs a service cost of 144.0. | |
| Assigning family 1 to pantry F3 incurs a service cost of 185.0. | |
| Assigning family 2 to pantry F3 incurs a service cost of 24.0. | |
| Assigning family 3 to pantry F3 incurs a service cost of 42.0. | |
| Assigning family 4 to pantry F3 incurs a service cost of 207.0. | |
| Assigning family 5 to pantry F3 incurs a service cost of 374.0. | |
| Assigning family 6 to pantry F3 incurs a service cost of 299.0. | |
| Assigning family 7 to pantry F3 incurs a service cost of 259.0. | |
| Assigning family 8 to pantry F3 incurs a service cost of 248.0. | |
| Assigning family 9 to pantry F3 incurs a service cost of 60.0. | |
| Assigning family 10 to pantry F3 incurs a service cost of 267.0. | |
| Assigning family 11 to pantry F3 incurs a service cost of 102.0. | |
| Assigning family 12 to pantry F3 incurs a service cost of 108.0. | |
| Assigning family 1 to pantry F4 incurs a service cost of 224.0. | |
| Assigning family 2 to pantry F4 incurs a service cost of 173.0. | |
| Assigning family 3 to pantry F4 incurs a service cost of 180.0. | |
| Assigning family 4 to pantry F4 incurs a service cost of 134.0. | |
| Assigning family 5 to pantry F4 incurs a service cost of 180.0. | |
| Assigning family 6 to pantry F4 incurs a service cost of 209.0. | |
| Assigning family 7 to pantry F4 incurs a service cost of 189.0. | |
| Assigning family 8 to pantry F4 incurs a service cost of 63.0. | |
| Assigning family 9 to pantry F4 incurs a service cost of 216.0. | |
| Assigning family 10 to pantry F4 incurs a service cost of 100.0. | |
| Assigning family 11 to pantry F4 incurs a service cost of 139.0. | |
| Assigning family 12 to pantry F4 incurs a service cost of 196.0. | |
| Assigning family 1 to pantry F5 incurs a service cost of 202.0. | |
| Assigning family 2 to pantry F5 incurs a service cost of 180.0. | |
| Assigning family 3 to pantry F5 incurs a service cost of 195.0. | |
| Assigning family 4 to pantry F5 incurs a service cost of 168.0. | |
| Assigning family 5 to pantry F5 incurs a service cost of 171.0. | |
| Assigning family 6 to pantry F5 incurs a service cost of 175.0. | |
| Assigning family 7 to pantry F5 incurs a service cost of 156.0. | |
| Assigning family 8 to pantry F5 incurs a service cost of 44.0. | |
| Assigning family 9 to pantry F5 incurs a service cost of 215.0. | |
| Assigning family 10 to pantry F5 incurs a service cost of 127.0. | |
| Assigning family 11 to pantry F5 incurs a service cost of 131.0. | |
| Assigning family 12 to pantry F5 incurs a service cost of 220.0. | |
| The lists below specify each pantry's operating charge and storage limit, each family's demand, and each pantryβfamily service cost for evaluation. | |
| 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': [119.0, 372.0, 308.0, 114.0, 336.0], 'capacities': [309.0, 436.0, 404.0, 307.0, 418.0], 'connection_costs': [[192.0, 20.0, 23.0, 177.0, 349.0, 290.0, 252.0, 224.0, 84.0, 236.0, 96.0, 89.0], [286.0, 175.0, 161.0, 45.0, 234.0, 297.0, 275.0, 144.0, 236.0, 81.0, 184.0, 144.0], [185.0, 24.0, 42.0, 207.0, 374.0, 299.0, 259.0, 248.0, 60.0, 267.0, 102.0, 108.0], [224.0, 173.0, 180.0, 134.0, 180.0, 209.0, 189.0, 63.0, 216.0, 100.0, 139.0, 196.0], [202.0, 180.0, 195.0, 168.0, 171.0, 175.0, 156.0, 44.0, 215.0, 127.0, 131.0, 220.0]], 'demands': [20.0, 20.0, 10.0, 20.0, 20.0, 40.0, 10.0, 9.0, 5.0, 31.0, 19.0, 35.0], 'objective': 1612.0}","{'open_facilities': [0, 3], 'assignments': [0, 0, 0, 3, 3, 3, 3, 3, 0, 3, 0, 0]}",1612.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, 'facilities': [{'id': 'F1', 'opening_cost': 119.0, 'capacity': 309.0}, {'id': 'F2', 'opening_cost': 372.0, 'capacity': 436.0}, {'id': 'F3', 'opening_cost': 308.0, 'capacity': 404.0}, {'id': 'F4', 'opening_cost': 114.0, 'capacity': 307.0}, {'id': 'F5', 'opening_cost': 336.0, 'capacity': 418.0}], 'customers': [{'id': 1, 'demand': 20.0}, {'id': 2, 'demand': 20.0}, {'id': 3, 'demand': 10.0}, {'id': 4, 'demand': 20.0}, {'id': 5, 'demand': 20.0}, {'id': 6, 'demand': 40.0}, {'id': 7, 'demand': 10.0}, {'id': 8, 'demand': 9.0}, {'id': 9, 'demand': 5.0}, {'id': 10, 'demand': 31.0}, {'id': 11, 'demand': 19.0}, {'id': 12, 'demand': 35.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 192.0}, {'facility': 'F1', 'customer': 2, 'cost': 20.0}, {'facility': 'F1', 'customer': 3, 'cost': 23.0}, {'facility': 'F1', 'customer': 4, 'cost': 177.0}, {'facility': 'F1', 'customer': 5, 'cost': 349.0}, {'facility': 'F1', 'customer': 6, 'cost': 290.0}, {'facility': 'F1', 'customer': 7, 'cost': 252.0}, {'facility': 'F1', 'customer': 8, 'cost': 224.0}, {'facility': 'F1', 'customer': 9, 'cost': 84.0}, {'facility': 'F1', 'customer': 10, 'cost': 236.0}, {'facility': 'F1', 'customer': 11, 'cost': 96.0}, {'facility': 'F1', 'customer': 12, 'cost': 89.0}, {'facility': 'F2', 'customer': 1, 'cost': 286.0}, {'facility': 'F2', 'customer': 2, 'cost': 175.0}, {'facility': 'F2', 'customer': 3, 'cost': 161.0}, {'facility': 'F2', 'customer': 4, 'cost': 45.0}, {'facility': 'F2', 'customer': 5, 'cost': 234.0}, {'facility': 'F2', 'customer': 6, 'cost': 297.0}, {'facility': 'F2', 'customer': 7, 'cost': 275.0}, {'facility': 'F2', 'customer': 8, 'cost': 144.0}, {'facility': 'F2', 'customer': 9, 'cost': 236.0}, {'facility': 'F2', 'customer': 10, 'cost': 81.0}, {'facility': 'F2', 'customer': 11, 'cost': 184.0}, {'facility': 'F2', 'customer': 12, 'cost': 144.0}, {'facility': 'F3', 'customer': 1, 'cost': 185.0}, {'facility': 'F3', 'customer': 2, 'cost': 24.0}, {'facility': 'F3', 'customer': 3, 'cost': 42.0}, {'facility': 'F3', 'customer': 4, 'cost': 207.0}, {'facility': 'F3', 'customer': 5, 'cost': 374.0}, {'facility': 'F3', 'customer': 6, 'cost': 299.0}, {'facility': 'F3', 'customer': 7, 'cost': 259.0}, {'facility': 'F3', 'customer': 8, 'cost': 248.0}, {'facility': 'F3', 'customer': 9, 'cost': 60.0}, {'facility': 'F3', 'customer': 10, 'cost': 267.0}, {'facility': 'F3', 'customer': 11, 'cost': 102.0}, {'facility': 'F3', 'customer': 12, 'cost': 108.0}, {'facility': 'F4', 'customer': 1, 'cost': 224.0}, {'facility': 'F4', 'customer': 2, 'cost': 173.0}, {'facility': 'F4', 'customer': 3, 'cost': 180.0}, {'facility': 'F4', 'customer': 4, 'cost': 134.0}, {'facility': 'F4', 'customer': 5, 'cost': 180.0}, {'facility': 'F4', 'customer': 6, 'cost': 209.0}, {'facility': 'F4', 'customer': 7, 'cost': 189.0}, {'facility': 'F4', 'customer': 8, 'cost': 63.0}, {'facility': 'F4', 'customer': 9, 'cost': 216.0}, {'facility': 'F4', 'customer': 10, 'cost': 100.0}, {'facility': 'F4', 'customer': 11, 'cost': 139.0}, {'facility': 'F4', 'customer': 12, 'cost': 196.0}, {'facility': 'F5', 'customer': 1, 'cost': 202.0}, {'facility': 'F5', 'customer': 2, 'cost': 180.0}, {'facility': 'F5', 'customer': 3, 'cost': 195.0}, {'facility': 'F5', 'customer': 4, 'cost': 168.0}, {'facility': 'F5', 'customer': 5, 'cost': 171.0}, {'facility': 'F5', 'customer': 6, 'cost': 175.0}, {'facility': 'F5', 'customer': 7, 'cost': 156.0}, {'facility': 'F5', 'customer': 8, 'cost': 44.0}, {'facility': 'F5', 'customer': 9, 'cost': 215.0}, {'facility': 'F5', 'customer': 10, 'cost': 127.0}, {'facility': 'F5', 'customer': 11, 'cost': 131.0}, {'facility': 'F5', 'customer': 12, 'cost': 220.0}], 'objective': 1612.0}","{'selected': ['F1', 'F4'], 'assignments': ['F1', 'F1', 'F1', 'F4', 'F4', 'F4', 'F4', 'F4', 'F1', 'F4', 'F1', 'F1']}",37,nl,1 | |
| CFLP,CFLP,"One day the ops team had to trim costs: there are several data centers that can be kept on for a fee and each has finite server capacity, and every application must be assigned to a single active center. The task is to pick which centers to keep running and assign every app to exactly one of them, without exceeding any centerβs capacity or duplicating assignments. The goal is to minimize the overall outlay β total cost equals the sum of running fees for the centers that are on plus the latency/connection cost for each appβs assignment β so choose the setup with the smallest total. The detailed instance information follows below. | |
| # num_data_centers=4 | |
| # num_applications=11 | |
| # DATA_CENTERS | |
| data_center_id,running_fee,server_capacity | |
| F1,400.0,700.0 | |
| F2,400.0,700.0 | |
| F3,400.0,700.0 | |
| F4,400.0,700.0 | |
| # APPLICATIONS | |
| application_id,app_demand | |
| 1,28.0 | |
| 2,28.0 | |
| 3,24.0 | |
| 4,17.0 | |
| 5,26.0 | |
| 6,12.0 | |
| 7,13.0 | |
| 8,19.0 | |
| 9,13.0 | |
| 10,13.0 | |
| 11,18.0 | |
| # LATENCYS | |
| data_center_id,application_id,latency_cost | |
| F1,1,145.0 | |
| F1,2,314.0 | |
| F1,3,205.0 | |
| F1,4,813.0 | |
| F1,5,76.0 | |
| F1,6,99.0 | |
| F1,7,63.0 | |
| F1,8,755.0 | |
| F1,9,66.0 | |
| F1,10,79.0 | |
| F1,11,769.0 | |
| F2,1,257.0 | |
| F2,2,155.0 | |
| F2,3,139.0 | |
| F2,4,590.0 | |
| F2,5,53.0 | |
| F2,6,51.0 | |
| F2,7,33.0 | |
| F2,8,524.0 | |
| F2,9,46.0 | |
| F2,10,162.0 | |
| F2,11,602.0 | |
| F3,1,764.0 | |
| F3,2,498.0 | |
| F3,3,108.0 | |
| F3,4,952.0 | |
| F3,5,74.0 | |
| F3,6,27.0 | |
| F3,7,29.0 | |
| F3,8,1542.0 | |
| F3,9,32.0 | |
| F3,10,525.0 | |
| F3,11,1640.0 | |
| F4,1,586.0 | |
| F4,2,70.0 | |
| F4,3,85.0 | |
| F4,4,601.0 | |
| F4,5,71.0 | |
| F4,6,24.0 | |
| F4,7,30.0 | |
| F4,8,1115.0 | |
| F4,9,30.0 | |
| F4,10,402.0 | |
| F4,11,1232.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, 400.0], 'capacities': [700.0, 700.0, 700.0, 700.0], 'connection_costs': [[145.0, 314.0, 205.0, 813.0, 76.0, 99.0, 63.0, 755.0, 66.0, 79.0, 769.0], [257.0, 155.0, 139.0, 590.0, 53.0, 51.0, 33.0, 524.0, 46.0, 162.0, 602.0], [764.0, 498.0, 108.0, 952.0, 74.0, 27.0, 29.0, 1542.0, 32.0, 525.0, 1640.0], [586.0, 70.0, 85.0, 601.0, 71.0, 24.0, 30.0, 1115.0, 30.0, 402.0, 1232.0]], 'demands': [28.0, 28.0, 24.0, 17.0, 26.0, 12.0, 13.0, 19.0, 13.0, 13.0, 18.0], 'objective': 3012.0}","{'open_facilities': [1], 'assignments': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}",3012.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 11, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 28.0}, {'id': 2, 'demand': 28.0}, {'id': 3, 'demand': 24.0}, {'id': 4, 'demand': 17.0}, {'id': 5, 'demand': 26.0}, {'id': 6, 'demand': 12.0}, {'id': 7, 'demand': 13.0}, {'id': 8, 'demand': 19.0}, {'id': 9, 'demand': 13.0}, {'id': 10, 'demand': 13.0}, {'id': 11, 'demand': 18.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 145.0}, {'facility': 'F1', 'customer': 2, 'cost': 314.0}, {'facility': 'F1', 'customer': 3, 'cost': 205.0}, {'facility': 'F1', 'customer': 4, 'cost': 813.0}, {'facility': 'F1', 'customer': 5, 'cost': 76.0}, {'facility': 'F1', 'customer': 6, 'cost': 99.0}, {'facility': 'F1', 'customer': 7, 'cost': 63.0}, {'facility': 'F1', 'customer': 8, 'cost': 755.0}, {'facility': 'F1', 'customer': 9, 'cost': 66.0}, {'facility': 'F1', 'customer': 10, 'cost': 79.0}, {'facility': 'F1', 'customer': 11, 'cost': 769.0}, {'facility': 'F2', 'customer': 1, 'cost': 257.0}, {'facility': 'F2', 'customer': 2, 'cost': 155.0}, {'facility': 'F2', 'customer': 3, 'cost': 139.0}, {'facility': 'F2', 'customer': 4, 'cost': 590.0}, {'facility': 'F2', 'customer': 5, 'cost': 53.0}, {'facility': 'F2', 'customer': 6, 'cost': 51.0}, {'facility': 'F2', 'customer': 7, 'cost': 33.0}, {'facility': 'F2', 'customer': 8, 'cost': 524.0}, {'facility': 'F2', 'customer': 9, 'cost': 46.0}, {'facility': 'F2', 'customer': 10, 'cost': 162.0}, {'facility': 'F2', 'customer': 11, 'cost': 602.0}, {'facility': 'F3', 'customer': 1, 'cost': 764.0}, {'facility': 'F3', 'customer': 2, 'cost': 498.0}, {'facility': 'F3', 'customer': 3, 'cost': 108.0}, {'facility': 'F3', 'customer': 4, 'cost': 952.0}, {'facility': 'F3', 'customer': 5, 'cost': 74.0}, {'facility': 'F3', 'customer': 6, 'cost': 27.0}, {'facility': 'F3', 'customer': 7, 'cost': 29.0}, {'facility': 'F3', 'customer': 8, 'cost': 1542.0}, {'facility': 'F3', 'customer': 9, 'cost': 32.0}, {'facility': 'F3', 'customer': 10, 'cost': 525.0}, {'facility': 'F3', 'customer': 11, 'cost': 1640.0}, {'facility': 'F4', 'customer': 1, 'cost': 586.0}, {'facility': 'F4', 'customer': 2, 'cost': 70.0}, {'facility': 'F4', 'customer': 3, 'cost': 85.0}, {'facility': 'F4', 'customer': 4, 'cost': 601.0}, {'facility': 'F4', 'customer': 5, 'cost': 71.0}, {'facility': 'F4', 'customer': 6, 'cost': 24.0}, {'facility': 'F4', 'customer': 7, 'cost': 30.0}, {'facility': 'F4', 'customer': 8, 'cost': 1115.0}, {'facility': 'F4', 'customer': 9, 'cost': 30.0}, {'facility': 'F4', 'customer': 10, 'cost': 402.0}, {'facility': 'F4', 'customer': 11, 'cost': 1232.0}], 'objective': 3012.0}","{'selected': ['F2'], 'assignments': ['F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2', 'F2']}",38,csv,1 | |
| CFLP,CFLP,"Someone in operations has to map orders to active micro-fulfillment centers and decide which centers to open. Opening a center carries a fixed fee and each center can only process a limited number of parcels; each order must go to exactly one open center and centers canβt take on more than their throughput allows. The quality of any decision is judged by the total expense: add the activation fees for the centers that are opened plus the routing cost for all orders β the plan with the lowest total is preferred. The exact center fees, capacities, and order list are shown below. | |
| # num_micro_centers=5 | |
| # num_orders=11 | |
| # CONNECTION_CENTERS | |
| connection_center_id,activation_fee,center_throughput | |
| F1,400.0,700.0 | |
| F2,400.0,700.0 | |
| F3,400.0,700.0 | |
| F4,400.0,700.0 | |
| F5,400.0,700.0 | |
| # CONNECTION_ORDERS | |
| connection_order_id,order_parcel_count | |
| A,28.0 | |
| B,18.0 | |
| C,20.0 | |
| D,18.0 | |
| E,14.0 | |
| F,17.0 | |
| G,26.0 | |
| H,23.0 | |
| I,26.0 | |
| J,21.0 | |
| K,29.0 | |
| # ROUTINGS | |
| connection_center_id,connection_order_id,routing_cost | |
| F1,A,140.0 | |
| F1,B,213.0 | |
| F1,C,136.0 | |
| F1,D,208.0 | |
| F1,E,368.0 | |
| F1,F,1114.0 | |
| F1,G,78.0 | |
| F1,H,549.0 | |
| F1,I,527.0 | |
| F1,J,783.0 | |
| F1,K,200.0 | |
| F2,A,364.0 | |
| F2,B,37.0 | |
| F2,C,488.0 | |
| F2,D,366.0 | |
| F2,E,291.0 | |
| F2,F,1088.0 | |
| F2,G,735.0 | |
| F2,H,1288.0 | |
| F2,I,993.0 | |
| F2,J,265.0 | |
| F2,K,1164.0 | |
| F3,A,838.0 | |
| F3,B,147.0 | |
| F3,C,1048.0 | |
| F3,D,987.0 | |
| F3,E,1093.0 | |
| F3,F,2185.0 | |
| F3,G,1034.0 | |
| F3,H,2054.0 | |
| F3,I,1825.0 | |
| F3,J,1428.0 | |
| F3,K,1552.0 | |
| F4,A,330.0 | |
| F4,B,269.0 | |
| F4,C,447.0 | |
| F4,D,499.0 | |
| F4,E,699.0 | |
| F4,F,1711.0 | |
| F4,G,201.0 | |
| F4,H,1344.0 | |
| F4,I,1195.0 | |
| F4,J,1149.0 | |
| F4,K,711.0 | |
| F5,A,451.0 | |
| F5,B,36.0 | |
| F5,C,612.0 | |
| F5,D,492.0 | |
| F5,E,464.0 | |
| F5,F,1439.0 | |
| F5,G,811.0 | |
| F5,H,1517.0 | |
| F5,I,1235.0 | |
| F5,J,619.0 | |
| F5,K,1275.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': [400.0, 400.0, 400.0, 400.0, 400.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[140.0, 213.0, 136.0, 208.0, 368.0, 1114.0, 78.0, 549.0, 527.0, 783.0, 200.0], [364.0, 37.0, 488.0, 366.0, 291.0, 1088.0, 735.0, 1288.0, 993.0, 265.0, 1164.0], [838.0, 147.0, 1048.0, 987.0, 1093.0, 2185.0, 1034.0, 2054.0, 1825.0, 1428.0, 1552.0], [330.0, 269.0, 447.0, 499.0, 699.0, 1711.0, 201.0, 1344.0, 1195.0, 1149.0, 711.0], [451.0, 36.0, 612.0, 492.0, 464.0, 1439.0, 811.0, 1517.0, 1235.0, 619.0, 1275.0]], 'demands': [28.0, 18.0, 20.0, 18.0, 14.0, 17.0, 26.0, 23.0, 26.0, 21.0, 29.0], 'objective': 4319.0}","{'open_facilities': [0, 1], 'assignments': [0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0]}",4319.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 11, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 700.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 700.0}], 'customers': [{'id': 'A', 'demand': 28.0}, {'id': 'B', 'demand': 18.0}, {'id': 'C', 'demand': 20.0}, {'id': 'D', 'demand': 18.0}, {'id': 'E', 'demand': 14.0}, {'id': 'F', 'demand': 17.0}, {'id': 'G', 'demand': 26.0}, {'id': 'H', 'demand': 23.0}, {'id': 'I', 'demand': 26.0}, {'id': 'J', 'demand': 21.0}, {'id': 'K', 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 140.0}, {'facility': 'F1', 'customer': 'B', 'cost': 213.0}, {'facility': 'F1', 'customer': 'C', 'cost': 136.0}, {'facility': 'F1', 'customer': 'D', 'cost': 208.0}, {'facility': 'F1', 'customer': 'E', 'cost': 368.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1114.0}, {'facility': 'F1', 'customer': 'G', 'cost': 78.0}, {'facility': 'F1', 'customer': 'H', 'cost': 549.0}, {'facility': 'F1', 'customer': 'I', 'cost': 527.0}, {'facility': 'F1', 'customer': 'J', 'cost': 783.0}, {'facility': 'F1', 'customer': 'K', 'cost': 200.0}, {'facility': 'F2', 'customer': 'A', 'cost': 364.0}, {'facility': 'F2', 'customer': 'B', 'cost': 37.0}, {'facility': 'F2', 'customer': 'C', 'cost': 488.0}, {'facility': 'F2', 'customer': 'D', 'cost': 366.0}, {'facility': 'F2', 'customer': 'E', 'cost': 291.0}, {'facility': 'F2', 'customer': 'F', 'cost': 1088.0}, {'facility': 'F2', 'customer': 'G', 'cost': 735.0}, {'facility': 'F2', 'customer': 'H', 'cost': 1288.0}, {'facility': 'F2', 'customer': 'I', 'cost': 993.0}, {'facility': 'F2', 'customer': 'J', 'cost': 265.0}, {'facility': 'F2', 'customer': 'K', 'cost': 1164.0}, {'facility': 'F3', 'customer': 'A', 'cost': 838.0}, {'facility': 'F3', 'customer': 'B', 'cost': 147.0}, {'facility': 'F3', 'customer': 'C', 'cost': 1048.0}, {'facility': 'F3', 'customer': 'D', 'cost': 987.0}, {'facility': 'F3', 'customer': 'E', 'cost': 1093.0}, {'facility': 'F3', 'customer': 'F', 'cost': 2185.0}, {'facility': 'F3', 'customer': 'G', 'cost': 1034.0}, {'facility': 'F3', 'customer': 'H', 'cost': 2054.0}, {'facility': 'F3', 'customer': 'I', 'cost': 1825.0}, {'facility': 'F3', 'customer': 'J', 'cost': 1428.0}, {'facility': 'F3', 'customer': 'K', 'cost': 1552.0}, {'facility': 'F4', 'customer': 'A', 'cost': 330.0}, {'facility': 'F4', 'customer': 'B', 'cost': 269.0}, {'facility': 'F4', 'customer': 'C', 'cost': 447.0}, {'facility': 'F4', 'customer': 'D', 'cost': 499.0}, {'facility': 'F4', 'customer': 'E', 'cost': 699.0}, {'facility': 'F4', 'customer': 'F', 'cost': 1711.0}, {'facility': 'F4', 'customer': 'G', 'cost': 201.0}, {'facility': 'F4', 'customer': 'H', 'cost': 1344.0}, {'facility': 'F4', 'customer': 'I', 'cost': 1195.0}, {'facility': 'F4', 'customer': 'J', 'cost': 1149.0}, {'facility': 'F4', 'customer': 'K', 'cost': 711.0}, {'facility': 'F5', 'customer': 'A', 'cost': 451.0}, {'facility': 'F5', 'customer': 'B', 'cost': 36.0}, {'facility': 'F5', 'customer': 'C', 'cost': 612.0}, {'facility': 'F5', 'customer': 'D', 'cost': 492.0}, {'facility': 'F5', 'customer': 'E', 'cost': 464.0}, {'facility': 'F5', 'customer': 'F', 'cost': 1439.0}, {'facility': 'F5', 'customer': 'G', 'cost': 811.0}, {'facility': 'F5', 'customer': 'H', 'cost': 1517.0}, {'facility': 'F5', 'customer': 'I', 'cost': 1235.0}, {'facility': 'F5', 'customer': 'J', 'cost': 619.0}, {'facility': 'F5', 'customer': 'K', 'cost': 1275.0}], 'objective': 4319.0}","{'selected': ['F1', 'F2'], 'assignments': ['F1', 'F2', 'F1', 'F1', 'F2', 'F2', 'F1', 'F1', 'F1', 'F2', 'F1']}",39,csv,names | |
| CFLP,CFLP,"Across the county the goal is to set up a handful of mobile clinic locations and then send each patient to exactly one of the opened locations, making sure no location is overloaded. Each possible location has a cost to deploy and a capacity limit, and routing a patient to a location brings a travel or treatment cost. One rollout is better than another if its overall cost β the sum of the deployment costs for the chosen locations plus the travel/treatment costs for everyone scheduled there β is lower, with every patient assigned to a single open location and each location kept within its capacity. The concrete details are shown below. | |
| # total_mobile_clinic_sites=5 | |
| # total_patients=12 | |
| # SITES | |
| site_id,deployment_cost,site_capacity | |
| F1,400.0,500.0 | |
| F2,400.0,500.0 | |
| F3,400.0,500.0 | |
| F4,400.0,500.0 | |
| F5,400.0,500.0 | |
| # PATIENTS | |
| patient_id,patient_demand | |
| 1,18.0 | |
| 2,12.0 | |
| 3,20.0 | |
| 4,26.0 | |
| 5,17.0 | |
| 6,18.0 | |
| 7,16.0 | |
| 8,23.0 | |
| 9,11.0 | |
| 10,15.0 | |
| 11,14.0 | |
| 12,21.0 | |
| # TRAVEL_OR_TREATMENTS | |
| site_id,patient_id,travel_or_treatment_cost | |
| F1,1,161.0 | |
| F1,2,328.0 | |
| F1,3,634.0 | |
| F1,4,531.0 | |
| F1,5,186.0 | |
| F1,6,772.0 | |
| F1,7,32.0 | |
| F1,8,342.0 | |
| F1,9,35.0 | |
| F1,10,78.0 | |
| F1,11,61.0 | |
| F1,12,43.0 | |
| F2,1,208.0 | |
| F2,2,333.0 | |
| F2,3,92.0 | |
| F2,4,78.0 | |
| F2,5,211.0 | |
| F2,6,1070.0 | |
| F2,7,491.0 | |
| F2,8,288.0 | |
| F2,9,629.0 | |
| F2,10,1116.0 | |
| F2,11,173.0 | |
| F2,12,783.0 | |
| F3,1,382.0 | |
| F3,2,627.0 | |
| F3,3,422.0 | |
| F3,4,52.0 | |
| F3,5,401.0 | |
| F3,6,1448.0 | |
| F3,7,671.0 | |
| F3,8,562.0 | |
| F3,9,871.0 | |
| F3,10,1418.0 | |
| F3,11,280.0 | |
| F3,12,1020.0 | |
| F4,1,626.0 | |
| F4,2,1057.0 | |
| F4,3,1025.0 | |
| F4,4,388.0 | |
| F4,5,680.0 | |
| F4,6,1972.0 | |
| F4,7,837.0 | |
| F4,8,982.0 | |
| F4,9,1132.0 | |
| F4,10,1752.0 | |
| F4,11,368.0 | |
| F4,12,1258.0 | |
| F5,1,165.0 | |
| F5,2,440.0 | |
| F5,3,735.0 | |
| F5,4,547.0 | |
| F5,5,201.0 | |
| F5,6,1157.0 | |
| F5,7,43.0 | |
| F5,8,429.0 | |
| F5,9,22.0 | |
| F5,10,662.0 | |
| F5,11,49.0 | |
| F5,12,175.0 | |
| 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, 400.0, 400.0, 400.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[161.0, 328.0, 634.0, 531.0, 186.0, 772.0, 32.0, 342.0, 35.0, 78.0, 61.0, 43.0], [208.0, 333.0, 92.0, 78.0, 211.0, 1070.0, 491.0, 288.0, 629.0, 1116.0, 173.0, 783.0], [382.0, 627.0, 422.0, 52.0, 401.0, 1448.0, 671.0, 562.0, 871.0, 1418.0, 280.0, 1020.0], [626.0, 1057.0, 1025.0, 388.0, 680.0, 1972.0, 837.0, 982.0, 1132.0, 1752.0, 368.0, 1258.0], [165.0, 440.0, 735.0, 547.0, 201.0, 1157.0, 43.0, 429.0, 22.0, 662.0, 49.0, 175.0]], 'demands': [18.0, 12.0, 20.0, 26.0, 17.0, 18.0, 16.0, 23.0, 11.0, 15.0, 14.0, 21.0], 'objective': 2954.0}","{'open_facilities': [0, 1], 'assignments': [0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0]}",2954.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 12, '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}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 20.0}, {'id': 4, 'demand': 26.0}, {'id': 5, 'demand': 17.0}, {'id': 6, 'demand': 18.0}, {'id': 7, 'demand': 16.0}, {'id': 8, 'demand': 23.0}, {'id': 9, 'demand': 11.0}, {'id': 10, 'demand': 15.0}, {'id': 11, 'demand': 14.0}, {'id': 12, 'demand': 21.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 161.0}, {'facility': 'F1', 'customer': 2, 'cost': 328.0}, {'facility': 'F1', 'customer': 3, 'cost': 634.0}, {'facility': 'F1', 'customer': 4, 'cost': 531.0}, {'facility': 'F1', 'customer': 5, 'cost': 186.0}, {'facility': 'F1', 'customer': 6, 'cost': 772.0}, {'facility': 'F1', 'customer': 7, 'cost': 32.0}, {'facility': 'F1', 'customer': 8, 'cost': 342.0}, {'facility': 'F1', 'customer': 9, 'cost': 35.0}, {'facility': 'F1', 'customer': 10, 'cost': 78.0}, {'facility': 'F1', 'customer': 11, 'cost': 61.0}, {'facility': 'F1', 'customer': 12, 'cost': 43.0}, {'facility': 'F2', 'customer': 1, 'cost': 208.0}, {'facility': 'F2', 'customer': 2, 'cost': 333.0}, {'facility': 'F2', 'customer': 3, 'cost': 92.0}, {'facility': 'F2', 'customer': 4, 'cost': 78.0}, {'facility': 'F2', 'customer': 5, 'cost': 211.0}, {'facility': 'F2', 'customer': 6, 'cost': 1070.0}, {'facility': 'F2', 'customer': 7, 'cost': 491.0}, {'facility': 'F2', 'customer': 8, 'cost': 288.0}, {'facility': 'F2', 'customer': 9, 'cost': 629.0}, {'facility': 'F2', 'customer': 10, 'cost': 1116.0}, {'facility': 'F2', 'customer': 11, 'cost': 173.0}, {'facility': 'F2', 'customer': 12, 'cost': 783.0}, {'facility': 'F3', 'customer': 1, 'cost': 382.0}, {'facility': 'F3', 'customer': 2, 'cost': 627.0}, {'facility': 'F3', 'customer': 3, 'cost': 422.0}, {'facility': 'F3', 'customer': 4, 'cost': 52.0}, {'facility': 'F3', 'customer': 5, 'cost': 401.0}, {'facility': 'F3', 'customer': 6, 'cost': 1448.0}, {'facility': 'F3', 'customer': 7, 'cost': 671.0}, {'facility': 'F3', 'customer': 8, 'cost': 562.0}, {'facility': 'F3', 'customer': 9, 'cost': 871.0}, {'facility': 'F3', 'customer': 10, 'cost': 1418.0}, {'facility': 'F3', 'customer': 11, 'cost': 280.0}, {'facility': 'F3', 'customer': 12, 'cost': 1020.0}, {'facility': 'F4', 'customer': 1, 'cost': 626.0}, {'facility': 'F4', 'customer': 2, 'cost': 1057.0}, {'facility': 'F4', 'customer': 3, 'cost': 1025.0}, {'facility': 'F4', 'customer': 4, 'cost': 388.0}, {'facility': 'F4', 'customer': 5, 'cost': 680.0}, {'facility': 'F4', 'customer': 6, 'cost': 1972.0}, {'facility': 'F4', 'customer': 7, 'cost': 837.0}, {'facility': 'F4', 'customer': 8, 'cost': 982.0}, {'facility': 'F4', 'customer': 9, 'cost': 1132.0}, {'facility': 'F4', 'customer': 10, 'cost': 1752.0}, {'facility': 'F4', 'customer': 11, 'cost': 368.0}, {'facility': 'F4', 'customer': 12, 'cost': 1258.0}, {'facility': 'F5', 'customer': 1, 'cost': 165.0}, {'facility': 'F5', 'customer': 2, 'cost': 440.0}, {'facility': 'F5', 'customer': 3, 'cost': 735.0}, {'facility': 'F5', 'customer': 4, 'cost': 547.0}, {'facility': 'F5', 'customer': 5, 'cost': 201.0}, {'facility': 'F5', 'customer': 6, 'cost': 1157.0}, {'facility': 'F5', 'customer': 7, 'cost': 43.0}, {'facility': 'F5', 'customer': 8, 'cost': 429.0}, {'facility': 'F5', 'customer': 9, 'cost': 22.0}, {'facility': 'F5', 'customer': 10, 'cost': 662.0}, {'facility': 'F5', 'customer': 11, 'cost': 49.0}, {'facility': 'F5', 'customer': 12, 'cost': 175.0}], 'objective': 2954.0}","{'selected': ['F1', 'F2'], 'assignments': ['F1', 'F1', 'F2', 'F2', 'F1', 'F1', 'F1', 'F2', 'F1', 'F1', 'F1', 'F1']}",40,csv,1 | |
| CFLP,CFLP,"Recently the planners talked about which docking stations to activate and how to group riders around them. Every station thatβs turned on comes with a fixed cost, and each riderβs distance or inconvenience to their dock adds a small extra cost, so the plan thatβs preferred is the one with the lowest combined cost β station start-up fees plus all ridersβ access costs. Itβs required that each rider be matched to a single open station and that no station be asked to handle more riders than its capacity. The detailed numbers are provided below. | |
| There are 5 candidate docking stations and 11 riders to assign. | |
| Docking station F1 would cost 300.0 to activate and can serve up to 700.0 riders. | |
| Docking station F2 would cost 300.0 to activate and can serve up to 700.0 riders. | |
| Docking station F3 would cost 300.0 to activate and can serve up to 700.0 riders. | |
| Docking station F4 would cost 300.0 to activate and can serve up to 700.0 riders. | |
| Docking station F5 would cost 300.0 to activate and can serve up to 700.0 riders. | |
| Rider 0 requires 14.0 capacity units. | |
| Rider 1 requires 18.0 capacity units. | |
| Rider 2 requires 24.0 capacity units. | |
| Rider 3 requires 17.0 capacity units. | |
| Rider 4 requires 23.0 capacity units. | |
| Rider 5 requires 26.0 capacity units. | |
| Rider 6 requires 12.0 capacity units. | |
| Rider 7 requires 11.0 capacity units. | |
| Rider 8 requires 24.0 capacity units. | |
| Rider 9 requires 14.0 capacity units. | |
| Rider 10 requires 29.0 capacity units. | |
| Assigning rider 0 to docking station F1 incurs access cost 479.0. | |
| Assigning rider 1 to docking station F1 incurs access cost 161.0. | |
| Assigning rider 2 to docking station F1 incurs access cost 368.0. | |
| Assigning rider 3 to docking station F1 incurs access cost 1697.0. | |
| Assigning rider 4 to docking station F1 incurs access cost 683.0. | |
| Assigning rider 5 to docking station F1 incurs access cost 456.0. | |
| Assigning rider 6 to docking station F1 incurs access cost 1184.0. | |
| Assigning rider 7 to docking station F1 incurs access cost 942.0. | |
| Assigning rider 8 to docking station F1 incurs access cost 1449.0. | |
| Assigning rider 9 to docking station F1 incurs access cost 496.0. | |
| Assigning rider 10 to docking station F1 incurs access cost 948.0. | |
| Assigning rider 0 to docking station F2 incurs access cost 171.0. | |
| Assigning rider 1 to docking station F2 incurs access cost 127.0. | |
| Assigning rider 2 to docking station F2 incurs access cost 258.0. | |
| Assigning rider 3 to docking station F2 incurs access cost 696.0. | |
| Assigning rider 4 to docking station F2 incurs access cost 236.0. | |
| Assigning rider 5 to docking station F2 incurs access cost 147.0. | |
| Assigning rider 6 to docking station F2 incurs access cost 429.0. | |
| Assigning rider 7 to docking station F2 incurs access cost 362.0. | |
| Assigning rider 8 to docking station F2 incurs access cost 835.0. | |
| Assigning rider 9 to docking station F2 incurs access cost 159.0. | |
| Assigning rider 10 to docking station F2 incurs access cost 311.0. | |
| Assigning rider 0 to docking station F3 incurs access cost 300.0. | |
| Assigning rider 1 to docking station F3 incurs access cost 70.0. | |
| Assigning rider 2 to docking station F3 incurs access cost 146.0. | |
| Assigning rider 3 to docking station F3 incurs access cost 158.0. | |
| Assigning rider 4 to docking station F3 incurs access cost 385.0. | |
| Assigning rider 5 to docking station F3 incurs access cost 266.0. | |
| Assigning rider 6 to docking station F3 incurs access cost 102.0. | |
| Assigning rider 7 to docking station F3 incurs access cost 105.0. | |
| Assigning rider 8 to docking station F3 incurs access cost 430.0. | |
| Assigning rider 9 to docking station F3 incurs access cost 44.0. | |
| Assigning rider 10 to docking station F3 incurs access cost 481.0. | |
| Assigning rider 0 to docking station F4 incurs access cost 723.0. | |
| Assigning rider 1 to docking station F4 incurs access cost 39.0. | |
| Assigning rider 2 to docking station F4 incurs access cost 48.0. | |
| Assigning rider 3 to docking station F4 incurs access cost 810.0. | |
| Assigning rider 4 to docking station F4 incurs access cost 888.0. | |
| Assigning rider 5 to docking station F4 incurs access cost 687.0. | |
| Assigning rider 6 to docking station F4 incurs access cost 360.0. | |
| Assigning rider 7 to docking station F4 incurs access cost 176.0. | |
| Assigning rider 8 to docking station F4 incurs access cost 143.0. | |
| Assigning rider 9 to docking station F4 incurs access cost 156.0. | |
| Assigning rider 10 to docking station F4 incurs access cost 1088.0. | |
| Assigning rider 0 to docking station F5 incurs access cost 1024.0. | |
| Assigning rider 1 to docking station F5 incurs access cost 50.0. | |
| Assigning rider 2 to docking station F5 incurs access cost 141.0. | |
| Assigning rider 3 to docking station F5 incurs access cost 1972.0. | |
| Assigning rider 4 to docking station F5 incurs access cost 1246.0. | |
| Assigning rider 5 to docking station F5 incurs access cost 1016.0. | |
| Assigning rider 6 to docking station F5 incurs access cost 1419.0. | |
| Assigning rider 7 to docking station F5 incurs access cost 1126.0. | |
| Assigning rider 8 to docking station F5 incurs access cost 1499.0. | |
| Assigning rider 9 to docking station F5 incurs access cost 735.0. | |
| Assigning rider 10 to docking station F5 incurs access cost 1522.0. | |
| The planners will prefer the assignment with the lowest combined station activation and riders' access costs. | |
| 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': [300.0, 300.0, 300.0, 300.0, 300.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[479.0, 161.0, 368.0, 1697.0, 683.0, 456.0, 1184.0, 942.0, 1449.0, 496.0, 948.0], [171.0, 127.0, 258.0, 696.0, 236.0, 147.0, 429.0, 362.0, 835.0, 159.0, 311.0], [300.0, 70.0, 146.0, 158.0, 385.0, 266.0, 102.0, 105.0, 430.0, 44.0, 481.0], [723.0, 39.0, 48.0, 810.0, 888.0, 687.0, 360.0, 176.0, 143.0, 156.0, 1088.0], [1024.0, 50.0, 141.0, 1972.0, 1246.0, 1016.0, 1419.0, 1126.0, 1499.0, 735.0, 1522.0]], 'demands': [14.0, 18.0, 24.0, 17.0, 23.0, 26.0, 12.0, 11.0, 24.0, 14.0, 29.0], 'objective': 2404.0}","{'open_facilities': [1, 2, 3], 'assignments': [1, 3, 3, 2, 1, 1, 2, 2, 3, 2, 1]}",2404.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 11, '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}, {'id': 'F5', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 0, 'demand': 14.0}, {'id': 1, 'demand': 18.0}, {'id': 2, 'demand': 24.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 23.0}, {'id': 5, 'demand': 26.0}, {'id': 6, 'demand': 12.0}, {'id': 7, 'demand': 11.0}, {'id': 8, 'demand': 24.0}, {'id': 9, 'demand': 14.0}, {'id': 10, 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 479.0}, {'facility': 'F1', 'customer': 1, 'cost': 161.0}, {'facility': 'F1', 'customer': 2, 'cost': 368.0}, {'facility': 'F1', 'customer': 3, 'cost': 1697.0}, {'facility': 'F1', 'customer': 4, 'cost': 683.0}, {'facility': 'F1', 'customer': 5, 'cost': 456.0}, {'facility': 'F1', 'customer': 6, 'cost': 1184.0}, {'facility': 'F1', 'customer': 7, 'cost': 942.0}, {'facility': 'F1', 'customer': 8, 'cost': 1449.0}, {'facility': 'F1', 'customer': 9, 'cost': 496.0}, {'facility': 'F1', 'customer': 10, 'cost': 948.0}, {'facility': 'F2', 'customer': 0, 'cost': 171.0}, {'facility': 'F2', 'customer': 1, 'cost': 127.0}, {'facility': 'F2', 'customer': 2, 'cost': 258.0}, {'facility': 'F2', 'customer': 3, 'cost': 696.0}, {'facility': 'F2', 'customer': 4, 'cost': 236.0}, {'facility': 'F2', 'customer': 5, 'cost': 147.0}, {'facility': 'F2', 'customer': 6, 'cost': 429.0}, {'facility': 'F2', 'customer': 7, 'cost': 362.0}, {'facility': 'F2', 'customer': 8, 'cost': 835.0}, {'facility': 'F2', 'customer': 9, 'cost': 159.0}, {'facility': 'F2', 'customer': 10, 'cost': 311.0}, {'facility': 'F3', 'customer': 0, 'cost': 300.0}, {'facility': 'F3', 'customer': 1, 'cost': 70.0}, {'facility': 'F3', 'customer': 2, 'cost': 146.0}, {'facility': 'F3', 'customer': 3, 'cost': 158.0}, {'facility': 'F3', 'customer': 4, 'cost': 385.0}, {'facility': 'F3', 'customer': 5, 'cost': 266.0}, {'facility': 'F3', 'customer': 6, 'cost': 102.0}, {'facility': 'F3', 'customer': 7, 'cost': 105.0}, {'facility': 'F3', 'customer': 8, 'cost': 430.0}, {'facility': 'F3', 'customer': 9, 'cost': 44.0}, {'facility': 'F3', 'customer': 10, 'cost': 481.0}, {'facility': 'F4', 'customer': 0, 'cost': 723.0}, {'facility': 'F4', 'customer': 1, 'cost': 39.0}, {'facility': 'F4', 'customer': 2, 'cost': 48.0}, {'facility': 'F4', 'customer': 3, 'cost': 810.0}, {'facility': 'F4', 'customer': 4, 'cost': 888.0}, {'facility': 'F4', 'customer': 5, 'cost': 687.0}, {'facility': 'F4', 'customer': 6, 'cost': 360.0}, {'facility': 'F4', 'customer': 7, 'cost': 176.0}, {'facility': 'F4', 'customer': 8, 'cost': 143.0}, {'facility': 'F4', 'customer': 9, 'cost': 156.0}, {'facility': 'F4', 'customer': 10, 'cost': 1088.0}, {'facility': 'F5', 'customer': 0, 'cost': 1024.0}, {'facility': 'F5', 'customer': 1, 'cost': 50.0}, {'facility': 'F5', 'customer': 2, 'cost': 141.0}, {'facility': 'F5', 'customer': 3, 'cost': 1972.0}, {'facility': 'F5', 'customer': 4, 'cost': 1246.0}, {'facility': 'F5', 'customer': 5, 'cost': 1016.0}, {'facility': 'F5', 'customer': 6, 'cost': 1419.0}, {'facility': 'F5', 'customer': 7, 'cost': 1126.0}, {'facility': 'F5', 'customer': 8, 'cost': 1499.0}, {'facility': 'F5', 'customer': 9, 'cost': 735.0}, {'facility': 'F5', 'customer': 10, 'cost': 1522.0}], 'objective': 2404.0}","{'selected': ['F2', 'F3', 'F4'], 'assignments': ['F2', 'F4', 'F4', 'F3', 'F2', 'F2', 'F3', 'F3', 'F4', 'F3', 'F2']}",41,nl,0 | |
| CFLP,CFLP,"Out in the district the challenge is picking which vending spots to fill and then assigning every customer zone to just one of the stocked spots. Filling a spot comes with a stocking fee, and each zone picks up an inconvenience cost depending on how far its assigned spot is; to judge any arrangement, total up all the stocking fees plus all the inconvenience costs β that combined total determines how good the choice is. Itβs also essential that no stocked spot serves beyond its capacity and that every zone is linked to one and only one stocked spot. The instance details follow below. | |
| # num_vending_sites=4 | |
| # num_customer_zones=9 | |
| # VENDING_SITES | |
| vending_site_id,stocking_fee,stocking_capacity | |
| F1,300.0,300.0 | |
| F2,300.0,300.0 | |
| F3,300.0,300.0 | |
| F4,300.0,300.0 | |
| # CUSTOMER_ZONES | |
| customer_zone_id,zone_demand | |
| A,21.0 | |
| B,23.0 | |
| C,18.0 | |
| D,13.0 | |
| E,27.0 | |
| F,26.0 | |
| G,21.0 | |
| H,11.0 | |
| I,11.0 | |
| # INCONVENIENCES | |
| vending_site_id,customer_zone_id,inconvenience_cost | |
| F1,A,1400.0 | |
| F1,B,681.0 | |
| F1,C,1418.0 | |
| F1,D,37.0 | |
| F1,E,1300.0 | |
| F1,F,1329.0 | |
| F1,G,1463.0 | |
| F1,H,587.0 | |
| F1,I,1570.0 | |
| F2,A,554.0 | |
| F2,B,298.0 | |
| F2,C,418.0 | |
| F2,D,65.0 | |
| F2,E,416.0 | |
| F2,F,360.0 | |
| F2,G,839.0 | |
| F2,H,113.0 | |
| F2,I,854.0 | |
| F3,A,46.0 | |
| F3,B,689.0 | |
| F3,C,414.0 | |
| F3,D,153.0 | |
| F3,E,734.0 | |
| F3,F,607.0 | |
| F3,G,1177.0 | |
| F3,H,26.0 | |
| F3,I,1147.0 | |
| F4,A,1084.0 | |
| F4,B,221.0 | |
| F4,C,962.0 | |
| F4,D,27.0 | |
| F4,E,759.0 | |
| F4,F,825.0 | |
| F4,G,794.0 | |
| F4,H,416.0 | |
| F4,I,918.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': [300.0, 300.0, 300.0, 300.0], 'capacities': [300.0, 300.0, 300.0, 300.0], 'connection_costs': [[1400.0, 681.0, 1418.0, 37.0, 1300.0, 1329.0, 1463.0, 587.0, 1570.0], [554.0, 298.0, 418.0, 65.0, 416.0, 360.0, 839.0, 113.0, 854.0], [46.0, 689.0, 414.0, 153.0, 734.0, 607.0, 1177.0, 26.0, 1147.0], [1084.0, 221.0, 962.0, 27.0, 759.0, 825.0, 794.0, 416.0, 918.0]], 'demands': [21.0, 23.0, 18.0, 13.0, 27.0, 26.0, 21.0, 11.0, 11.0], 'objective': 3918.0}","{'open_facilities': [1, 2], 'assignments': [2, 1, 2, 1, 1, 1, 1, 2, 1]}",3918.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 9, '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': 21.0}, {'id': 'B', 'demand': 23.0}, {'id': 'C', 'demand': 18.0}, {'id': 'D', 'demand': 13.0}, {'id': 'E', 'demand': 27.0}, {'id': 'F', 'demand': 26.0}, {'id': 'G', 'demand': 21.0}, {'id': 'H', 'demand': 11.0}, {'id': 'I', 'demand': 11.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 1400.0}, {'facility': 'F1', 'customer': 'B', 'cost': 681.0}, {'facility': 'F1', 'customer': 'C', 'cost': 1418.0}, {'facility': 'F1', 'customer': 'D', 'cost': 37.0}, {'facility': 'F1', 'customer': 'E', 'cost': 1300.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1329.0}, {'facility': 'F1', 'customer': 'G', 'cost': 1463.0}, {'facility': 'F1', 'customer': 'H', 'cost': 587.0}, {'facility': 'F1', 'customer': 'I', 'cost': 1570.0}, {'facility': 'F2', 'customer': 'A', 'cost': 554.0}, {'facility': 'F2', 'customer': 'B', 'cost': 298.0}, {'facility': 'F2', 'customer': 'C', 'cost': 418.0}, {'facility': 'F2', 'customer': 'D', 'cost': 65.0}, {'facility': 'F2', 'customer': 'E', 'cost': 416.0}, {'facility': 'F2', 'customer': 'F', 'cost': 360.0}, {'facility': 'F2', 'customer': 'G', 'cost': 839.0}, {'facility': 'F2', 'customer': 'H', 'cost': 113.0}, {'facility': 'F2', 'customer': 'I', 'cost': 854.0}, {'facility': 'F3', 'customer': 'A', 'cost': 46.0}, {'facility': 'F3', 'customer': 'B', 'cost': 689.0}, {'facility': 'F3', 'customer': 'C', 'cost': 414.0}, {'facility': 'F3', 'customer': 'D', 'cost': 153.0}, {'facility': 'F3', 'customer': 'E', 'cost': 734.0}, {'facility': 'F3', 'customer': 'F', 'cost': 607.0}, {'facility': 'F3', 'customer': 'G', 'cost': 1177.0}, {'facility': 'F3', 'customer': 'H', 'cost': 26.0}, {'facility': 'F3', 'customer': 'I', 'cost': 1147.0}, {'facility': 'F4', 'customer': 'A', 'cost': 1084.0}, {'facility': 'F4', 'customer': 'B', 'cost': 221.0}, {'facility': 'F4', 'customer': 'C', 'cost': 962.0}, {'facility': 'F4', 'customer': 'D', 'cost': 27.0}, {'facility': 'F4', 'customer': 'E', 'cost': 759.0}, {'facility': 'F4', 'customer': 'F', 'cost': 825.0}, {'facility': 'F4', 'customer': 'G', 'cost': 794.0}, {'facility': 'F4', 'customer': 'H', 'cost': 416.0}, {'facility': 'F4', 'customer': 'I', 'cost': 918.0}], 'objective': 3918.0}","{'selected': ['F2', 'F3'], 'assignments': ['F3', 'F2', 'F3', 'F2', 'F2', 'F2', 'F2', 'F3', 'F2']}",42,csv,names | |
| 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"": 5, | |
| ""num_addresses"": 10, | |
| ""hub_id_refs"": [ | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""hub_running_cost"": 258.0, | |
| ""hub_capacity"": 366.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""hub_running_cost"": 128.0, | |
| ""hub_capacity"": 314.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""hub_running_cost"": 329.0, | |
| ""hub_capacity"": 456.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""hub_running_cost"": 179.0, | |
| ""hub_capacity"": 549.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""hub_running_cost"": 114.0, | |
| ""hub_capacity"": 310.0 | |
| } | |
| ], | |
| ""address_id_refs"": [ | |
| { | |
| ""address_id_ref"": 0, | |
| ""address_demand"": 13.0 | |
| }, | |
| { | |
| ""address_id_ref"": 1, | |
| ""address_demand"": 31.0 | |
| }, | |
| { | |
| ""address_id_ref"": 2, | |
| ""address_demand"": 45.0 | |
| }, | |
| { | |
| ""address_id_ref"": 3, | |
| ""address_demand"": 40.0 | |
| }, | |
| { | |
| ""address_id_ref"": 4, | |
| ""address_demand"": 28.0 | |
| }, | |
| { | |
| ""address_id_ref"": 5, | |
| ""address_demand"": 13.0 | |
| }, | |
| { | |
| ""address_id_ref"": 6, | |
| ""address_demand"": 27.0 | |
| }, | |
| { | |
| ""address_id_ref"": 7, | |
| ""address_demand"": 22.0 | |
| }, | |
| { | |
| ""address_id_ref"": 8, | |
| ""address_demand"": 14.0 | |
| }, | |
| { | |
| ""address_id_ref"": 9, | |
| ""address_demand"": 13.0 | |
| } | |
| ], | |
| ""routings"": [ | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 0, | |
| ""routing_cost"": 568.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 1, | |
| ""routing_cost"": 392.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 2, | |
| ""routing_cost"": 29.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 3, | |
| ""routing_cost"": 656.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 4, | |
| ""routing_cost"": 318.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 5, | |
| ""routing_cost"": 414.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 6, | |
| ""routing_cost"": 458.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 7, | |
| ""routing_cost"": 758.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 8, | |
| ""routing_cost"": 28.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F1"", | |
| ""address_id_ref"": 9, | |
| ""routing_cost"": 139.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 0, | |
| ""routing_cost"": 636.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 1, | |
| ""routing_cost"": 28.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 2, | |
| ""routing_cost"": 401.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 3, | |
| ""routing_cost"": 551.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 4, | |
| ""routing_cost"": 80.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 5, | |
| ""routing_cost"": 107.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 6, | |
| ""routing_cost"": 387.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 7, | |
| ""routing_cost"": 516.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 8, | |
| ""routing_cost"": 374.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F2"", | |
| ""address_id_ref"": 9, | |
| ""routing_cost"": 459.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 0, | |
| ""routing_cost"": 436.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 1, | |
| ""routing_cost"": 387.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 2, | |
| ""routing_cost"": 632.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 3, | |
| ""routing_cost"": 200.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 4, | |
| ""routing_cost"": 476.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 5, | |
| ""routing_cost"": 309.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 6, | |
| ""routing_cost"": 222.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 7, | |
| ""routing_cost"": 124.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 8, | |
| ""routing_cost"": 642.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F3"", | |
| ""address_id_ref"": 9, | |
| ""routing_cost"": 612.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 0, | |
| ""routing_cost"": 186.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 1, | |
| ""routing_cost"": 742.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 2, | |
| ""routing_cost"": 567.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 3, | |
| ""routing_cost"": 458.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 4, | |
| ""routing_cost"": 751.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 5, | |
| ""routing_cost"": 693.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 6, | |
| ""routing_cost"": 428.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 7, | |
| ""routing_cost"": 702.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 8, | |
| ""routing_cost"": 620.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F4"", | |
| ""address_id_ref"": 9, | |
| ""routing_cost"": 460.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 0, | |
| ""routing_cost"": 505.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 1, | |
| ""routing_cost"": 535.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 2, | |
| ""routing_cost"": 148.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 3, | |
| ""routing_cost"": 664.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 4, | |
| ""routing_cost"": 477.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 5, | |
| ""routing_cost"": 539.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 6, | |
| ""routing_cost"": 485.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 7, | |
| ""routing_cost"": 816.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 8, | |
| ""routing_cost"": 200.0 | |
| }, | |
| { | |
| ""hub_id_ref"": ""F5"", | |
| ""address_id_ref"": 9, | |
| ""routing_cost"": 83.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': [258.0, 128.0, 329.0, 179.0, 114.0], 'capacities': [366.0, 314.0, 456.0, 549.0, 310.0], 'connection_costs': [[568.0, 392.0, 29.0, 656.0, 318.0, 414.0, 458.0, 758.0, 28.0, 139.0], [636.0, 28.0, 401.0, 551.0, 80.0, 107.0, 387.0, 516.0, 374.0, 459.0], [436.0, 387.0, 632.0, 200.0, 476.0, 309.0, 222.0, 124.0, 642.0, 612.0], [186.0, 742.0, 567.0, 458.0, 751.0, 693.0, 428.0, 702.0, 620.0, 460.0], [505.0, 535.0, 148.0, 664.0, 477.0, 539.0, 485.0, 816.0, 200.0, 83.0]], 'demands': [13.0, 31.0, 45.0, 40.0, 28.0, 13.0, 27.0, 22.0, 14.0, 13.0], 'objective': 2037.0}","{'open_facilities': [0, 1, 2, 3], 'assignments': [3, 1, 0, 2, 1, 1, 2, 2, 0, 0]}",2037.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 10, 'facilities': [{'id': 'F1', 'opening_cost': 258.0, 'capacity': 366.0}, {'id': 'F2', 'opening_cost': 128.0, 'capacity': 314.0}, {'id': 'F3', 'opening_cost': 329.0, 'capacity': 456.0}, {'id': 'F4', 'opening_cost': 179.0, 'capacity': 549.0}, {'id': 'F5', 'opening_cost': 114.0, 'capacity': 310.0}], 'customers': [{'id': 0, 'demand': 13.0}, {'id': 1, 'demand': 31.0}, {'id': 2, 'demand': 45.0}, {'id': 3, 'demand': 40.0}, {'id': 4, 'demand': 28.0}, {'id': 5, 'demand': 13.0}, {'id': 6, 'demand': 27.0}, {'id': 7, 'demand': 22.0}, {'id': 8, 'demand': 14.0}, {'id': 9, 'demand': 13.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 568.0}, {'facility': 'F1', 'customer': 1, 'cost': 392.0}, {'facility': 'F1', 'customer': 2, 'cost': 29.0}, {'facility': 'F1', 'customer': 3, 'cost': 656.0}, {'facility': 'F1', 'customer': 4, 'cost': 318.0}, {'facility': 'F1', 'customer': 5, 'cost': 414.0}, {'facility': 'F1', 'customer': 6, 'cost': 458.0}, {'facility': 'F1', 'customer': 7, 'cost': 758.0}, {'facility': 'F1', 'customer': 8, 'cost': 28.0}, {'facility': 'F1', 'customer': 9, 'cost': 139.0}, {'facility': 'F2', 'customer': 0, 'cost': 636.0}, {'facility': 'F2', 'customer': 1, 'cost': 28.0}, {'facility': 'F2', 'customer': 2, 'cost': 401.0}, {'facility': 'F2', 'customer': 3, 'cost': 551.0}, {'facility': 'F2', 'customer': 4, 'cost': 80.0}, {'facility': 'F2', 'customer': 5, 'cost': 107.0}, {'facility': 'F2', 'customer': 6, 'cost': 387.0}, {'facility': 'F2', 'customer': 7, 'cost': 516.0}, {'facility': 'F2', 'customer': 8, 'cost': 374.0}, {'facility': 'F2', 'customer': 9, 'cost': 459.0}, {'facility': 'F3', 'customer': 0, 'cost': 436.0}, {'facility': 'F3', 'customer': 1, 'cost': 387.0}, {'facility': 'F3', 'customer': 2, 'cost': 632.0}, {'facility': 'F3', 'customer': 3, 'cost': 200.0}, {'facility': 'F3', 'customer': 4, 'cost': 476.0}, {'facility': 'F3', 'customer': 5, 'cost': 309.0}, {'facility': 'F3', 'customer': 6, 'cost': 222.0}, {'facility': 'F3', 'customer': 7, 'cost': 124.0}, {'facility': 'F3', 'customer': 8, 'cost': 642.0}, {'facility': 'F3', 'customer': 9, 'cost': 612.0}, {'facility': 'F4', 'customer': 0, 'cost': 186.0}, {'facility': 'F4', 'customer': 1, 'cost': 742.0}, {'facility': 'F4', 'customer': 2, 'cost': 567.0}, {'facility': 'F4', 'customer': 3, 'cost': 458.0}, {'facility': 'F4', 'customer': 4, 'cost': 751.0}, {'facility': 'F4', 'customer': 5, 'cost': 693.0}, {'facility': 'F4', 'customer': 6, 'cost': 428.0}, {'facility': 'F4', 'customer': 7, 'cost': 702.0}, {'facility': 'F4', 'customer': 8, 'cost': 620.0}, {'facility': 'F4', 'customer': 9, 'cost': 460.0}, {'facility': 'F5', 'customer': 0, 'cost': 505.0}, {'facility': 'F5', 'customer': 1, 'cost': 535.0}, {'facility': 'F5', 'customer': 2, 'cost': 148.0}, {'facility': 'F5', 'customer': 3, 'cost': 664.0}, {'facility': 'F5', 'customer': 4, 'cost': 477.0}, {'facility': 'F5', 'customer': 5, 'cost': 539.0}, {'facility': 'F5', 'customer': 6, 'cost': 485.0}, {'facility': 'F5', 'customer': 7, 'cost': 816.0}, {'facility': 'F5', 'customer': 8, 'cost': 200.0}, {'facility': 'F5', 'customer': 9, 'cost': 83.0}], 'objective': 2037.0}","{'selected': ['F1', 'F2', 'F3', 'F4'], 'assignments': ['F4', 'F2', 'F1', 'F3', 'F2', 'F2', 'F3', 'F3', 'F1', 'F1']}",43,json,0 | |
| CFLP,CFLP,"Thereβs a small town council trying to set up shared garden plots: each plot has an entry fee and can only hold so many people, and each gardener has a different effort cost for working different plots. The decision is which plots to unlock and which single unlocked plot every gardener should be assigned to, while respecting each plotβs capacity limits and making sure everyone is assigned exactly once. The winning layout is the one with the lowest total bill β just add the fees for all unlocked plots plus the effort costs for every gardenerβs assignment to get the final total. The specific numbers for fees, capacities, and effort are given below. | |
| There are 6 candidate shared garden plots and 13 gardeners. | |
| Plot F1: unlock fee 600.0, capacity 500.0. | |
| Plot F2: unlock fee 600.0, capacity 500.0. | |
| Plot F3: unlock fee 600.0, capacity 500.0. | |
| Plot F4: unlock fee 600.0, capacity 500.0. | |
| Plot F5: unlock fee 600.0, capacity 500.0. | |
| Plot F6: unlock fee 600.0, capacity 500.0. | |
| Gardener 1: demand 38.0. | |
| Gardener 2: demand 44.0. | |
| Gardener 3: demand 42.0. | |
| Gardener 4: demand 37.0. | |
| Gardener 5: demand 28.0. | |
| Gardener 6: demand 45.0. | |
| Gardener 7: demand 27.0. | |
| Gardener 8: demand 20.0. | |
| Gardener 9: demand 35.0. | |
| Gardener 10: demand 42.0. | |
| Gardener 11: demand 48.0. | |
| Gardener 12: demand 36.0. | |
| Gardener 13: demand 25.0. | |
| Effort cost for gardener 1 on plot F1: 428.0. | |
| Effort cost for gardener 2 on plot F1: 161.0. | |
| Effort cost for gardener 3 on plot F1: 373.0. | |
| Effort cost for gardener 4 on plot F1: 465.0. | |
| Effort cost for gardener 5 on plot F1: 337.0. | |
| Effort cost for gardener 6 on plot F1: 70.0. | |
| Effort cost for gardener 7 on plot F1: 466.0. | |
| Effort cost for gardener 8 on plot F1: 244.0. | |
| Effort cost for gardener 9 on plot F1: 187.0. | |
| Effort cost for gardener 10 on plot F1: 294.0. | |
| Effort cost for gardener 11 on plot F1: 146.0. | |
| Effort cost for gardener 12 on plot F1: 406.0. | |
| Effort cost for gardener 13 on plot F1: 476.0. | |
| Effort cost for gardener 1 on plot F2: 560.0. | |
| Effort cost for gardener 2 on plot F2: 584.0. | |
| Effort cost for gardener 3 on plot F2: 245.0. | |
| Effort cost for gardener 4 on plot F2: 142.0. | |
| Effort cost for gardener 5 on plot F2: 353.0. | |
| Effort cost for gardener 6 on plot F2: 555.0. | |
| Effort cost for gardener 7 on plot F2: 292.0. | |
| Effort cost for gardener 8 on plot F2: 751.0. | |
| Effort cost for gardener 9 on plot F2: 393.0. | |
| Effort cost for gardener 10 on plot F2: 537.0. | |
| Effort cost for gardener 11 on plot F2: 549.0. | |
| Effort cost for gardener 12 on plot F2: 590.0. | |
| Effort cost for gardener 13 on plot F2: 326.0. | |
| Effort cost for gardener 1 on plot F3: 666.0. | |
| Effort cost for gardener 2 on plot F3: 528.0. | |
| Effort cost for gardener 3 on plot F3: 362.0. | |
| Effort cost for gardener 4 on plot F3: 351.0. | |
| Effort cost for gardener 5 on plot F3: 93.0. | |
| Effort cost for gardener 6 on plot F3: 369.0. | |
| Effort cost for gardener 7 on plot F3: 492.0. | |
| Effort cost for gardener 8 on plot F3: 665.0. | |
| Effort cost for gardener 9 on plot F3: 314.0. | |
| Effort cost for gardener 10 on plot F3: 574.0. | |
| Effort cost for gardener 11 on plot F3: 492.0. | |
| Effort cost for gardener 12 on plot F3: 249.0. | |
| Effort cost for gardener 13 on plot F3: 51.0. | |
| Effort cost for gardener 1 on plot F4: 651.0. | |
| Effort cost for gardener 2 on plot F4: 459.0. | |
| Effort cost for gardener 3 on plot F4: 400.0. | |
| Effort cost for gardener 4 on plot F4: 425.0. | |
| Effort cost for gardener 5 on plot F4: 109.0. | |
| Effort cost for gardener 6 on plot F4: 261.0. | |
| Effort cost for gardener 7 on plot F4: 535.0. | |
| Effort cost for gardener 8 on plot F4: 572.0. | |
| Effort cost for gardener 9 on plot F4: 277.0. | |
| Effort cost for gardener 10 on plot F4: 538.0. | |
| Effort cost for gardener 11 on plot F4: 427.0. | |
| Effort cost for gardener 12 on plot F4: 141.0. | |
| Effort cost for gardener 13 on plot F4: 194.0. | |
| Effort cost for gardener 1 on plot F5: 296.0. | |
| Effort cost for gardener 2 on plot F5: 25.0. | |
| Effort cost for gardener 3 on plot F5: 335.0. | |
| Effort cost for gardener 4 on plot F5: 438.0. | |
| Effort cost for gardener 5 on plot F5: 412.0. | |
| Effort cost for gardener 6 on plot F5: 201.0. | |
| Effort cost for gardener 7 on plot F5: 391.0. | |
| Effort cost for gardener 8 on plot F5: 181.0. | |
| Effort cost for gardener 9 on plot F5: 201.0. | |
| Effort cost for gardener 10 on plot F5: 162.0. | |
| Effort cost for gardener 11 on plot F5: 23.0. | |
| Effort cost for gardener 12 on plot F5: 532.0. | |
| Effort cost for gardener 13 on plot F5: 547.0. | |
| Effort cost for gardener 1 on plot F6: 174.0. | |
| Effort cost for gardener 2 on plot F6: 129.0. | |
| Effort cost for gardener 3 on plot F6: 256.0. | |
| Effort cost for gardener 4 on plot F6: 360.0. | |
| Effort cost for gardener 5 on plot F6: 437.0. | |
| Effort cost for gardener 6 on plot F6: 305.0. | |
| Effort cost for gardener 7 on plot F6: 274.0. | |
| Effort cost for gardener 8 on plot F6: 278.0. | |
| Effort cost for gardener 9 on plot F6: 214.0. | |
| Effort cost for gardener 10 on plot F6: 51.0. | |
| Effort cost for gardener 11 on plot F6: 118.0. | |
| Effort cost for gardener 12 on plot F6: 607.0. | |
| Effort cost for gardener 13 on plot F6: 557.0. | |
| The council will add unlocked plot fees and gardenersβ effort costs to find the lowest total bill. | |
| 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': [600.0, 600.0, 600.0, 600.0, 600.0, 600.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[428.0, 161.0, 373.0, 465.0, 337.0, 70.0, 466.0, 244.0, 187.0, 294.0, 146.0, 406.0, 476.0], [560.0, 584.0, 245.0, 142.0, 353.0, 555.0, 292.0, 751.0, 393.0, 537.0, 549.0, 590.0, 326.0], [666.0, 528.0, 362.0, 351.0, 93.0, 369.0, 492.0, 665.0, 314.0, 574.0, 492.0, 249.0, 51.0], [651.0, 459.0, 400.0, 425.0, 109.0, 261.0, 535.0, 572.0, 277.0, 538.0, 427.0, 141.0, 194.0], [296.0, 25.0, 335.0, 438.0, 412.0, 201.0, 391.0, 181.0, 201.0, 162.0, 23.0, 532.0, 547.0], [174.0, 129.0, 256.0, 360.0, 437.0, 305.0, 274.0, 278.0, 214.0, 51.0, 118.0, 607.0, 557.0]], 'demands': [38.0, 44.0, 42.0, 37.0, 28.0, 45.0, 27.0, 20.0, 35.0, 42.0, 48.0, 36.0, 25.0], 'objective': 3743.0}","{'open_facilities': [2, 5], 'assignments': [5, 5, 5, 2, 2, 5, 5, 5, 5, 5, 5, 2, 2]}",3743.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 13, '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}, {'id': 'F4', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 600.0, 'capacity': 500.0}, {'id': 'F6', 'opening_cost': 600.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 38.0}, {'id': 2, 'demand': 44.0}, {'id': 3, 'demand': 42.0}, {'id': 4, 'demand': 37.0}, {'id': 5, 'demand': 28.0}, {'id': 6, 'demand': 45.0}, {'id': 7, 'demand': 27.0}, {'id': 8, 'demand': 20.0}, {'id': 9, 'demand': 35.0}, {'id': 10, 'demand': 42.0}, {'id': 11, 'demand': 48.0}, {'id': 12, 'demand': 36.0}, {'id': 13, 'demand': 25.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 428.0}, {'facility': 'F1', 'customer': 2, 'cost': 161.0}, {'facility': 'F1', 'customer': 3, 'cost': 373.0}, {'facility': 'F1', 'customer': 4, 'cost': 465.0}, {'facility': 'F1', 'customer': 5, 'cost': 337.0}, {'facility': 'F1', 'customer': 6, 'cost': 70.0}, {'facility': 'F1', 'customer': 7, 'cost': 466.0}, {'facility': 'F1', 'customer': 8, 'cost': 244.0}, {'facility': 'F1', 'customer': 9, 'cost': 187.0}, {'facility': 'F1', 'customer': 10, 'cost': 294.0}, {'facility': 'F1', 'customer': 11, 'cost': 146.0}, {'facility': 'F1', 'customer': 12, 'cost': 406.0}, {'facility': 'F1', 'customer': 13, 'cost': 476.0}, {'facility': 'F2', 'customer': 1, 'cost': 560.0}, {'facility': 'F2', 'customer': 2, 'cost': 584.0}, {'facility': 'F2', 'customer': 3, 'cost': 245.0}, {'facility': 'F2', 'customer': 4, 'cost': 142.0}, {'facility': 'F2', 'customer': 5, 'cost': 353.0}, {'facility': 'F2', 'customer': 6, 'cost': 555.0}, {'facility': 'F2', 'customer': 7, 'cost': 292.0}, {'facility': 'F2', 'customer': 8, 'cost': 751.0}, {'facility': 'F2', 'customer': 9, 'cost': 393.0}, {'facility': 'F2', 'customer': 10, 'cost': 537.0}, {'facility': 'F2', 'customer': 11, 'cost': 549.0}, {'facility': 'F2', 'customer': 12, 'cost': 590.0}, {'facility': 'F2', 'customer': 13, 'cost': 326.0}, {'facility': 'F3', 'customer': 1, 'cost': 666.0}, {'facility': 'F3', 'customer': 2, 'cost': 528.0}, {'facility': 'F3', 'customer': 3, 'cost': 362.0}, {'facility': 'F3', 'customer': 4, 'cost': 351.0}, {'facility': 'F3', 'customer': 5, 'cost': 93.0}, {'facility': 'F3', 'customer': 6, 'cost': 369.0}, {'facility': 'F3', 'customer': 7, 'cost': 492.0}, {'facility': 'F3', 'customer': 8, 'cost': 665.0}, {'facility': 'F3', 'customer': 9, 'cost': 314.0}, {'facility': 'F3', 'customer': 10, 'cost': 574.0}, {'facility': 'F3', 'customer': 11, 'cost': 492.0}, {'facility': 'F3', 'customer': 12, 'cost': 249.0}, {'facility': 'F3', 'customer': 13, 'cost': 51.0}, {'facility': 'F4', 'customer': 1, 'cost': 651.0}, {'facility': 'F4', 'customer': 2, 'cost': 459.0}, {'facility': 'F4', 'customer': 3, 'cost': 400.0}, {'facility': 'F4', 'customer': 4, 'cost': 425.0}, {'facility': 'F4', 'customer': 5, 'cost': 109.0}, {'facility': 'F4', 'customer': 6, 'cost': 261.0}, {'facility': 'F4', 'customer': 7, 'cost': 535.0}, {'facility': 'F4', 'customer': 8, 'cost': 572.0}, {'facility': 'F4', 'customer': 9, 'cost': 277.0}, {'facility': 'F4', 'customer': 10, 'cost': 538.0}, {'facility': 'F4', 'customer': 11, 'cost': 427.0}, {'facility': 'F4', 'customer': 12, 'cost': 141.0}, {'facility': 'F4', 'customer': 13, 'cost': 194.0}, {'facility': 'F5', 'customer': 1, 'cost': 296.0}, {'facility': 'F5', 'customer': 2, 'cost': 25.0}, {'facility': 'F5', 'customer': 3, 'cost': 335.0}, {'facility': 'F5', 'customer': 4, 'cost': 438.0}, {'facility': 'F5', 'customer': 5, 'cost': 412.0}, {'facility': 'F5', 'customer': 6, 'cost': 201.0}, {'facility': 'F5', 'customer': 7, 'cost': 391.0}, {'facility': 'F5', 'customer': 8, 'cost': 181.0}, {'facility': 'F5', 'customer': 9, 'cost': 201.0}, {'facility': 'F5', 'customer': 10, 'cost': 162.0}, {'facility': 'F5', 'customer': 11, 'cost': 23.0}, {'facility': 'F5', 'customer': 12, 'cost': 532.0}, {'facility': 'F5', 'customer': 13, 'cost': 547.0}, {'facility': 'F6', 'customer': 1, 'cost': 174.0}, {'facility': 'F6', 'customer': 2, 'cost': 129.0}, {'facility': 'F6', 'customer': 3, 'cost': 256.0}, {'facility': 'F6', 'customer': 4, 'cost': 360.0}, {'facility': 'F6', 'customer': 5, 'cost': 437.0}, {'facility': 'F6', 'customer': 6, 'cost': 305.0}, {'facility': 'F6', 'customer': 7, 'cost': 274.0}, {'facility': 'F6', 'customer': 8, 'cost': 278.0}, {'facility': 'F6', 'customer': 9, 'cost': 214.0}, {'facility': 'F6', 'customer': 10, 'cost': 51.0}, {'facility': 'F6', 'customer': 11, 'cost': 118.0}, {'facility': 'F6', 'customer': 12, 'cost': 607.0}, {'facility': 'F6', 'customer': 13, 'cost': 557.0}], 'objective': 3743.0}","{'selected': ['F3', 'F6'], 'assignments': ['F6', 'F6', 'F6', 'F3', 'F3', 'F6', 'F6', 'F6', 'F6', 'F6', 'F6', 'F3', 'F3']}",44,nl,1 | |
| CFLP,CFLP,"Many people donβt see how much thought goes into placing service vans: pick which vans to put into service, then give each service visit to exactly one of those vans, making sure no van is asked to do more than it can. Each van has a cost to deploy and a cap on workload, and every client visit costs travel money. The goal is the plan with the lowest total expense β simply add up the deployment costs for the vans used and the travel costs for all visits β while covering every request once and not overloading any van. The specific instance information is listed below. | |
| { | |
| ""num_vans"": 6, | |
| ""num_requests"": 13, | |
| ""vans"": [ | |
| { | |
| ""van_id"": ""F1"", | |
| ""deployment_cost"": 300.0, | |
| ""van_capacity"": 425.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""deployment_cost"": 300.0, | |
| ""van_capacity"": 430.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""deployment_cost"": 300.0, | |
| ""van_capacity"": 491.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""deployment_cost"": 300.0, | |
| ""van_capacity"": 378.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""deployment_cost"": 300.0, | |
| ""van_capacity"": 338.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""deployment_cost"": 300.0, | |
| ""van_capacity"": 403.0 | |
| } | |
| ], | |
| ""requests"": [ | |
| { | |
| ""request_id"": ""A"", | |
| ""service_demand"": 13.0 | |
| }, | |
| { | |
| ""request_id"": ""B"", | |
| ""service_demand"": 12.0 | |
| }, | |
| { | |
| ""request_id"": ""C"", | |
| ""service_demand"": 26.0 | |
| }, | |
| { | |
| ""request_id"": ""D"", | |
| ""service_demand"": 13.0 | |
| }, | |
| { | |
| ""request_id"": ""E"", | |
| ""service_demand"": 17.0 | |
| }, | |
| { | |
| ""request_id"": ""F"", | |
| ""service_demand"": 19.0 | |
| }, | |
| { | |
| ""request_id"": ""G"", | |
| ""service_demand"": 23.0 | |
| }, | |
| { | |
| ""request_id"": ""H"", | |
| ""service_demand"": 18.0 | |
| }, | |
| { | |
| ""request_id"": ""I"", | |
| ""service_demand"": 20.0 | |
| }, | |
| { | |
| ""request_id"": ""J"", | |
| ""service_demand"": 11.0 | |
| }, | |
| { | |
| ""request_id"": ""K"", | |
| ""service_demand"": 19.0 | |
| }, | |
| { | |
| ""request_id"": ""L"", | |
| ""service_demand"": 21.0 | |
| }, | |
| { | |
| ""request_id"": ""M"", | |
| ""service_demand"": 12.0 | |
| } | |
| ], | |
| ""travels"": [ | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""A"", | |
| ""travel_cost"": 2821.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""B"", | |
| ""travel_cost"": 915.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""C"", | |
| ""travel_cost"": 795.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""D"", | |
| ""travel_cost"": 1716.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""E"", | |
| ""travel_cost"": 2144.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""F"", | |
| ""travel_cost"": 1904.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""G"", | |
| ""travel_cost"": 2141.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""H"", | |
| ""travel_cost"": 45.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""I"", | |
| ""travel_cost"": 1161.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""J"", | |
| ""travel_cost"": 1595.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""K"", | |
| ""travel_cost"": 683.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""L"", | |
| ""travel_cost"": 1685.0 | |
| }, | |
| { | |
| ""van_id"": ""F1"", | |
| ""request_id"": ""M"", | |
| ""travel_cost"": 1957.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""A"", | |
| ""travel_cost"": 2629.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""B"", | |
| ""travel_cost"": 865.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""C"", | |
| ""travel_cost"": 579.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""D"", | |
| ""travel_cost"": 1488.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""E"", | |
| ""travel_cost"": 2035.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""F"", | |
| ""travel_cost"": 1639.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""G"", | |
| ""travel_cost"": 1940.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""H"", | |
| ""travel_cost"": 49.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""I"", | |
| ""travel_cost"": 919.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""J"", | |
| ""travel_cost"": 1353.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""K"", | |
| ""travel_cost"": 632.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""L"", | |
| ""travel_cost"": 1428.0 | |
| }, | |
| { | |
| ""van_id"": ""F2"", | |
| ""request_id"": ""M"", | |
| ""travel_cost"": 1723.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""A"", | |
| ""travel_cost"": 848.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""B"", | |
| ""travel_cost"": 66.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""C"", | |
| ""travel_cost"": 111.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""D"", | |
| ""travel_cost"": 341.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""E"", | |
| ""travel_cost"": 186.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""F"", | |
| ""travel_cost"": 693.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""G"", | |
| ""travel_cost"": 399.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""H"", | |
| ""travel_cost"": 37.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""I"", | |
| ""travel_cost"": 220.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""J"", | |
| ""travel_cost"": 362.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""K"", | |
| ""travel_cost"": 55.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""L"", | |
| ""travel_cost"": 507.0 | |
| }, | |
| { | |
| ""van_id"": ""F3"", | |
| ""request_id"": ""M"", | |
| ""travel_cost"": 487.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""A"", | |
| ""travel_cost"": 173.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""B"", | |
| ""travel_cost"": 160.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""C"", | |
| ""travel_cost"": 56.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""D"", | |
| ""travel_cost"": 77.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""E"", | |
| ""travel_cost"": 352.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""F"", | |
| ""travel_cost"": 321.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""G"", | |
| ""travel_cost"": 53.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""H"", | |
| ""travel_cost"": 37.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""I"", | |
| ""travel_cost"": 79.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""J"", | |
| ""travel_cost"": 105.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""K"", | |
| ""travel_cost"": 116.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""L"", | |
| ""travel_cost"": 206.0 | |
| }, | |
| { | |
| ""van_id"": ""F4"", | |
| ""request_id"": ""M"", | |
| ""travel_cost"": 122.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""A"", | |
| ""travel_cost"": 1342.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""B"", | |
| ""travel_cost"": 523.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""C"", | |
| ""travel_cost"": 145.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""D"", | |
| ""travel_cost"": 306.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""E"", | |
| ""travel_cost"": 1217.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""F"", | |
| ""travel_cost"": 103.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""G"", | |
| ""travel_cost"": 739.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""H"", | |
| ""travel_cost"": 62.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""I"", | |
| ""travel_cost"": 118.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""J"", | |
| ""travel_cost"": 176.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""K"", | |
| ""travel_cost"": 380.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""L"", | |
| ""travel_cost"": 117.0 | |
| }, | |
| { | |
| ""van_id"": ""F5"", | |
| ""request_id"": ""M"", | |
| ""travel_cost"": 398.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""A"", | |
| ""travel_cost"": 1364.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""B"", | |
| ""travel_cost"": 389.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""C"", | |
| ""travel_cost"": 71.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""D"", | |
| ""travel_cost"": 192.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""E"", | |
| ""travel_cost"": 1085.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""F"", | |
| ""travel_cost"": 398.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""G"", | |
| ""travel_cost"": 687.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""H"", | |
| ""travel_cost"": 46.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""I"", | |
| ""travel_cost"": 41.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""J"", | |
| ""travel_cost"": 22.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""K"", | |
| ""travel_cost"": 267.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""L"", | |
| ""travel_cost"": 175.0 | |
| }, | |
| { | |
| ""van_id"": ""F6"", | |
| ""request_id"": ""M"", | |
| ""travel_cost"": 398.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': [300.0, 300.0, 300.0, 300.0, 300.0, 300.0], 'capacities': [425.0, 430.0, 491.0, 378.0, 338.0, 403.0], 'connection_costs': [[2821.0, 915.0, 795.0, 1716.0, 2144.0, 1904.0, 2141.0, 45.0, 1161.0, 1595.0, 683.0, 1685.0, 1957.0], [2629.0, 865.0, 579.0, 1488.0, 2035.0, 1639.0, 1940.0, 49.0, 919.0, 1353.0, 632.0, 1428.0, 1723.0], [848.0, 66.0, 111.0, 341.0, 186.0, 693.0, 399.0, 37.0, 220.0, 362.0, 55.0, 507.0, 487.0], [173.0, 160.0, 56.0, 77.0, 352.0, 321.0, 53.0, 37.0, 79.0, 105.0, 116.0, 206.0, 122.0], [1342.0, 523.0, 145.0, 306.0, 1217.0, 103.0, 739.0, 62.0, 118.0, 176.0, 380.0, 117.0, 398.0], [1364.0, 389.0, 71.0, 192.0, 1085.0, 398.0, 687.0, 46.0, 41.0, 22.0, 267.0, 175.0, 398.0]], 'demands': [13.0, 12.0, 26.0, 13.0, 17.0, 19.0, 23.0, 18.0, 20.0, 11.0, 19.0, 21.0, 12.0], 'objective': 2129.0}","{'open_facilities': [2, 3, 4], 'assignments': [3, 2, 3, 3, 2, 4, 3, 2, 3, 3, 2, 4, 3]}",2129.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 13, 'facilities': [{'id': 'F1', 'opening_cost': 300.0, 'capacity': 425.0}, {'id': 'F2', 'opening_cost': 300.0, 'capacity': 430.0}, {'id': 'F3', 'opening_cost': 300.0, 'capacity': 491.0}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 378.0}, {'id': 'F5', 'opening_cost': 300.0, 'capacity': 338.0}, {'id': 'F6', 'opening_cost': 300.0, 'capacity': 403.0}], 'customers': [{'id': 'A', 'demand': 13.0}, {'id': 'B', 'demand': 12.0}, {'id': 'C', 'demand': 26.0}, {'id': 'D', 'demand': 13.0}, {'id': 'E', 'demand': 17.0}, {'id': 'F', 'demand': 19.0}, {'id': 'G', 'demand': 23.0}, {'id': 'H', 'demand': 18.0}, {'id': 'I', 'demand': 20.0}, {'id': 'J', 'demand': 11.0}, {'id': 'K', 'demand': 19.0}, {'id': 'L', 'demand': 21.0}, {'id': 'M', 'demand': 12.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 2821.0}, {'facility': 'F1', 'customer': 'B', 'cost': 915.0}, {'facility': 'F1', 'customer': 'C', 'cost': 795.0}, {'facility': 'F1', 'customer': 'D', 'cost': 1716.0}, {'facility': 'F1', 'customer': 'E', 'cost': 2144.0}, {'facility': 'F1', 'customer': 'F', 'cost': 1904.0}, {'facility': 'F1', 'customer': 'G', 'cost': 2141.0}, {'facility': 'F1', 'customer': 'H', 'cost': 45.0}, {'facility': 'F1', 'customer': 'I', 'cost': 1161.0}, {'facility': 'F1', 'customer': 'J', 'cost': 1595.0}, {'facility': 'F1', 'customer': 'K', 'cost': 683.0}, {'facility': 'F1', 'customer': 'L', 'cost': 1685.0}, {'facility': 'F1', 'customer': 'M', 'cost': 1957.0}, {'facility': 'F2', 'customer': 'A', 'cost': 2629.0}, {'facility': 'F2', 'customer': 'B', 'cost': 865.0}, {'facility': 'F2', 'customer': 'C', 'cost': 579.0}, {'facility': 'F2', 'customer': 'D', 'cost': 1488.0}, {'facility': 'F2', 'customer': 'E', 'cost': 2035.0}, {'facility': 'F2', 'customer': 'F', 'cost': 1639.0}, {'facility': 'F2', 'customer': 'G', 'cost': 1940.0}, {'facility': 'F2', 'customer': 'H', 'cost': 49.0}, {'facility': 'F2', 'customer': 'I', 'cost': 919.0}, {'facility': 'F2', 'customer': 'J', 'cost': 1353.0}, {'facility': 'F2', 'customer': 'K', 'cost': 632.0}, {'facility': 'F2', 'customer': 'L', 'cost': 1428.0}, {'facility': 'F2', 'customer': 'M', 'cost': 1723.0}, {'facility': 'F3', 'customer': 'A', 'cost': 848.0}, {'facility': 'F3', 'customer': 'B', 'cost': 66.0}, {'facility': 'F3', 'customer': 'C', 'cost': 111.0}, {'facility': 'F3', 'customer': 'D', 'cost': 341.0}, {'facility': 'F3', 'customer': 'E', 'cost': 186.0}, {'facility': 'F3', 'customer': 'F', 'cost': 693.0}, {'facility': 'F3', 'customer': 'G', 'cost': 399.0}, {'facility': 'F3', 'customer': 'H', 'cost': 37.0}, {'facility': 'F3', 'customer': 'I', 'cost': 220.0}, {'facility': 'F3', 'customer': 'J', 'cost': 362.0}, {'facility': 'F3', 'customer': 'K', 'cost': 55.0}, {'facility': 'F3', 'customer': 'L', 'cost': 507.0}, {'facility': 'F3', 'customer': 'M', 'cost': 487.0}, {'facility': 'F4', 'customer': 'A', 'cost': 173.0}, {'facility': 'F4', 'customer': 'B', 'cost': 160.0}, {'facility': 'F4', 'customer': 'C', 'cost': 56.0}, {'facility': 'F4', 'customer': 'D', 'cost': 77.0}, {'facility': 'F4', 'customer': 'E', 'cost': 352.0}, {'facility': 'F4', 'customer': 'F', 'cost': 321.0}, {'facility': 'F4', 'customer': 'G', 'cost': 53.0}, {'facility': 'F4', 'customer': 'H', 'cost': 37.0}, {'facility': 'F4', 'customer': 'I', 'cost': 79.0}, {'facility': 'F4', 'customer': 'J', 'cost': 105.0}, {'facility': 'F4', 'customer': 'K', 'cost': 116.0}, {'facility': 'F4', 'customer': 'L', 'cost': 206.0}, {'facility': 'F4', 'customer': 'M', 'cost': 122.0}, {'facility': 'F5', 'customer': 'A', 'cost': 1342.0}, {'facility': 'F5', 'customer': 'B', 'cost': 523.0}, {'facility': 'F5', 'customer': 'C', 'cost': 145.0}, {'facility': 'F5', 'customer': 'D', 'cost': 306.0}, {'facility': 'F5', 'customer': 'E', 'cost': 1217.0}, {'facility': 'F5', 'customer': 'F', 'cost': 103.0}, {'facility': 'F5', 'customer': 'G', 'cost': 739.0}, {'facility': 'F5', 'customer': 'H', 'cost': 62.0}, {'facility': 'F5', 'customer': 'I', 'cost': 118.0}, {'facility': 'F5', 'customer': 'J', 'cost': 176.0}, {'facility': 'F5', 'customer': 'K', 'cost': 380.0}, {'facility': 'F5', 'customer': 'L', 'cost': 117.0}, {'facility': 'F5', 'customer': 'M', 'cost': 398.0}, {'facility': 'F6', 'customer': 'A', 'cost': 1364.0}, {'facility': 'F6', 'customer': 'B', 'cost': 389.0}, {'facility': 'F6', 'customer': 'C', 'cost': 71.0}, {'facility': 'F6', 'customer': 'D', 'cost': 192.0}, {'facility': 'F6', 'customer': 'E', 'cost': 1085.0}, {'facility': 'F6', 'customer': 'F', 'cost': 398.0}, {'facility': 'F6', 'customer': 'G', 'cost': 687.0}, {'facility': 'F6', 'customer': 'H', 'cost': 46.0}, {'facility': 'F6', 'customer': 'I', 'cost': 41.0}, {'facility': 'F6', 'customer': 'J', 'cost': 22.0}, {'facility': 'F6', 'customer': 'K', 'cost': 267.0}, {'facility': 'F6', 'customer': 'L', 'cost': 175.0}, {'facility': 'F6', 'customer': 'M', 'cost': 398.0}], 'objective': 2129.0}","{'selected': ['F3', 'F4', 'F5'], 'assignments': ['F4', 'F3', 'F4', 'F4', 'F3', 'F5', 'F4', 'F3', 'F4', 'F4', 'F3', 'F5', 'F4']}",45,json,names | |
| CFLP,CFLP,"At the planning meeting the task was explained plainly: decide which local switching offices to switch on and make sure every subscriber is assigned to one and only one of the switched-on offices, with no office taking more subscribers than its capacity allows. Turning on an office costs money, and linking each subscriber to a particular office has its own cost, so the total cost for any plan is just the sum of the activation charges for opened offices plus all subscriber connection costs β the plan should minimize that total. The specific numbers for this instance are provided below. | |
| There are 5 offices and 11 subscribers in this instance. | |
| **Offices** | |
| | office_id | activation_cost | office_capacity | | |
| |---|---|---| | |
| | F1 | 300.0 | 700.0 | | |
| | F2 | 300.0 | 700.0 | | |
| | F3 | 300.0 | 700.0 | | |
| | F4 | 300.0 | 700.0 | | |
| | F5 | 300.0 | 700.0 | | |
| **Subscribers** | |
| | subscriber_id | subscriber_demand | | |
| |---|---| | |
| | 1 | 13.0 | | |
| | 2 | 23.0 | | |
| | 3 | 18.0 | | |
| | 4 | 14.0 | | |
| | 5 | 22.0 | | |
| | 6 | 27.0 | | |
| | 7 | 23.0 | | |
| | 8 | 18.0 | | |
| | 9 | 11.0 | | |
| | 10 | 19.0 | | |
| | 11 | 29.0 | | |
| **Connection Cost** | |
| | office_id | subscriber_id | connection_cost | | |
| |---|---|---| | |
| | F1 | 1 | 902.0 | | |
| | F1 | 2 | 415.0 | | |
| | F1 | 3 | 42.0 | | |
| | F1 | 4 | 100.0 | | |
| | F1 | 5 | 832.0 | | |
| | F1 | 6 | 179.0 | | |
| | F1 | 7 | 324.0 | | |
| | F1 | 8 | 36.0 | | |
| | F1 | 9 | 97.0 | | |
| | F1 | 10 | 57.0 | | |
| | F1 | 11 | 475.0 | | |
| | F2 | 1 | 2821.0 | | |
| | F2 | 2 | 2332.0 | | |
| | F2 | 3 | 1169.0 | | |
| | F2 | 4 | 1311.0 | | |
| | F2 | 5 | 2706.0 | | |
| | F2 | 6 | 2040.0 | | |
| | F2 | 7 | 2141.0 | | |
| | F2 | 8 | 45.0 | | |
| | F2 | 9 | 705.0 | | |
| | F2 | 10 | 1087.0 | | |
| | F2 | 11 | 1583.0 | | |
| | F3 | 1 | 1357.0 | | |
| | F3 | 2 | 930.0 | | |
| | F3 | 3 | 289.0 | | |
| | F3 | 4 | 458.0 | | |
| | F3 | 5 | 1343.0 | | |
| | F3 | 6 | 734.0 | | |
| | F3 | 7 | 879.0 | | |
| | F3 | 8 | 50.0 | | |
| | F3 | 9 | 26.0 | | |
| | F3 | 10 | 307.0 | | |
| | F3 | 11 | 77.0 | | |
| | F4 | 1 | 1775.0 | | |
| | F4 | 2 | 1310.0 | | |
| | F4 | 3 | 273.0 | | |
| | F4 | 4 | 249.0 | | |
| | F4 | 5 | 1633.0 | | |
| | F4 | 6 | 1023.0 | | |
| | F4 | 7 | 1084.0 | | |
| | F4 | 8 | 45.0 | | |
| | F4 | 9 | 339.0 | | |
| | F4 | 10 | 173.0 | | |
| | F4 | 11 | 1067.0 | | |
| | F5 | 1 | 1203.0 | | |
| | F5 | 2 | 763.0 | | |
| | F5 | 3 | 104.0 | | |
| | F5 | 4 | 37.0 | | |
| | F5 | 5 | 1051.0 | | |
| | F5 | 6 | 502.0 | | |
| | F5 | 7 | 522.0 | | |
| | F5 | 8 | 42.0 | | |
| | F5 | 9 | 247.0 | | |
| | F5 | 10 | 67.0 | | |
| | F5 | 11 | 831.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': [300.0, 300.0, 300.0, 300.0, 300.0], 'capacities': [700.0, 700.0, 700.0, 700.0, 700.0], 'connection_costs': [[902.0, 415.0, 42.0, 100.0, 832.0, 179.0, 324.0, 36.0, 97.0, 57.0, 475.0], [2821.0, 2332.0, 1169.0, 1311.0, 2706.0, 2040.0, 2141.0, 45.0, 705.0, 1087.0, 1583.0], [1357.0, 930.0, 289.0, 458.0, 1343.0, 734.0, 879.0, 50.0, 26.0, 307.0, 77.0], [1775.0, 1310.0, 273.0, 249.0, 1633.0, 1023.0, 1084.0, 45.0, 339.0, 173.0, 1067.0], [1203.0, 763.0, 104.0, 37.0, 1051.0, 502.0, 522.0, 42.0, 247.0, 67.0, 831.0]], 'demands': [13.0, 23.0, 18.0, 14.0, 22.0, 27.0, 23.0, 18.0, 11.0, 19.0, 29.0], 'objective': 3590.0}","{'open_facilities': [0, 2], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2]}",3590.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 11, '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}, {'id': 'F5', 'opening_cost': 300.0, 'capacity': 700.0}], 'customers': [{'id': 1, 'demand': 13.0}, {'id': 2, 'demand': 23.0}, {'id': 3, 'demand': 18.0}, {'id': 4, 'demand': 14.0}, {'id': 5, 'demand': 22.0}, {'id': 6, 'demand': 27.0}, {'id': 7, 'demand': 23.0}, {'id': 8, 'demand': 18.0}, {'id': 9, 'demand': 11.0}, {'id': 10, 'demand': 19.0}, {'id': 11, 'demand': 29.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 902.0}, {'facility': 'F1', 'customer': 2, 'cost': 415.0}, {'facility': 'F1', 'customer': 3, 'cost': 42.0}, {'facility': 'F1', 'customer': 4, 'cost': 100.0}, {'facility': 'F1', 'customer': 5, 'cost': 832.0}, {'facility': 'F1', 'customer': 6, 'cost': 179.0}, {'facility': 'F1', 'customer': 7, 'cost': 324.0}, {'facility': 'F1', 'customer': 8, 'cost': 36.0}, {'facility': 'F1', 'customer': 9, 'cost': 97.0}, {'facility': 'F1', 'customer': 10, 'cost': 57.0}, {'facility': 'F1', 'customer': 11, 'cost': 475.0}, {'facility': 'F2', 'customer': 1, 'cost': 2821.0}, {'facility': 'F2', 'customer': 2, 'cost': 2332.0}, {'facility': 'F2', 'customer': 3, 'cost': 1169.0}, {'facility': 'F2', 'customer': 4, 'cost': 1311.0}, {'facility': 'F2', 'customer': 5, 'cost': 2706.0}, {'facility': 'F2', 'customer': 6, 'cost': 2040.0}, {'facility': 'F2', 'customer': 7, 'cost': 2141.0}, {'facility': 'F2', 'customer': 8, 'cost': 45.0}, {'facility': 'F2', 'customer': 9, 'cost': 705.0}, {'facility': 'F2', 'customer': 10, 'cost': 1087.0}, {'facility': 'F2', 'customer': 11, 'cost': 1583.0}, {'facility': 'F3', 'customer': 1, 'cost': 1357.0}, {'facility': 'F3', 'customer': 2, 'cost': 930.0}, {'facility': 'F3', 'customer': 3, 'cost': 289.0}, {'facility': 'F3', 'customer': 4, 'cost': 458.0}, {'facility': 'F3', 'customer': 5, 'cost': 1343.0}, {'facility': 'F3', 'customer': 6, 'cost': 734.0}, {'facility': 'F3', 'customer': 7, 'cost': 879.0}, {'facility': 'F3', 'customer': 8, 'cost': 50.0}, {'facility': 'F3', 'customer': 9, 'cost': 26.0}, {'facility': 'F3', 'customer': 10, 'cost': 307.0}, {'facility': 'F3', 'customer': 11, 'cost': 77.0}, {'facility': 'F4', 'customer': 1, 'cost': 1775.0}, {'facility': 'F4', 'customer': 2, 'cost': 1310.0}, {'facility': 'F4', 'customer': 3, 'cost': 273.0}, {'facility': 'F4', 'customer': 4, 'cost': 249.0}, {'facility': 'F4', 'customer': 5, 'cost': 1633.0}, {'facility': 'F4', 'customer': 6, 'cost': 1023.0}, {'facility': 'F4', 'customer': 7, 'cost': 1084.0}, {'facility': 'F4', 'customer': 8, 'cost': 45.0}, {'facility': 'F4', 'customer': 9, 'cost': 339.0}, {'facility': 'F4', 'customer': 10, 'cost': 173.0}, {'facility': 'F4', 'customer': 11, 'cost': 1067.0}, {'facility': 'F5', 'customer': 1, 'cost': 1203.0}, {'facility': 'F5', 'customer': 2, 'cost': 763.0}, {'facility': 'F5', 'customer': 3, 'cost': 104.0}, {'facility': 'F5', 'customer': 4, 'cost': 37.0}, {'facility': 'F5', 'customer': 5, 'cost': 1051.0}, {'facility': 'F5', 'customer': 6, 'cost': 502.0}, {'facility': 'F5', 'customer': 7, 'cost': 522.0}, {'facility': 'F5', 'customer': 8, 'cost': 42.0}, {'facility': 'F5', 'customer': 9, 'cost': 247.0}, {'facility': 'F5', 'customer': 10, 'cost': 67.0}, {'facility': 'F5', 'customer': 11, 'cost': 831.0}], 'objective': 3590.0}","{'selected': ['F1', 'F3'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F3', 'F1', 'F3']}",46,markdown_table,1 | |
| CFLP,CFLP,"Many people are coordinating a distribution effort, and the basic question is which service centers to activate and how to assign each beneficiary to one active center without exceeding any centerβs capacity. The sensible outcome is the one with the lowest combined expense β the total you get when you add the opening fees for the centers in use to all the individual serving costs. Numbers and specifics come right below. | |
| { | |
| ""num_centers"": 6, | |
| ""num_beneficiaries"": 12, | |
| ""centers"": [ | |
| { | |
| ""center_id"": ""F1"", | |
| ""center_opening_cost"": 440.0, | |
| ""center_capacity"": 500.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""center_opening_cost"": 462.0, | |
| ""center_capacity"": 500.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""center_opening_cost"": 468.0, | |
| ""center_capacity"": 500.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""center_opening_cost"": 518.0, | |
| ""center_capacity"": 500.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""center_opening_cost"": 333.0, | |
| ""center_capacity"": 500.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""center_opening_cost"": 450.0, | |
| ""center_capacity"": 500.0 | |
| } | |
| ], | |
| ""beneficiarys"": [ | |
| { | |
| ""beneficiary_id"": ""A"", | |
| ""beneficiary_need"": 27.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""B"", | |
| ""beneficiary_need"": 19.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""C"", | |
| ""beneficiary_need"": 20.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""D"", | |
| ""beneficiary_need"": 29.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""E"", | |
| ""beneficiary_need"": 22.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""F"", | |
| ""beneficiary_need"": 26.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""G"", | |
| ""beneficiary_need"": 27.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""H"", | |
| ""beneficiary_need"": 10.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""I"", | |
| ""beneficiary_need"": 11.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""J"", | |
| ""beneficiary_need"": 23.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""K"", | |
| ""beneficiary_need"": 17.0 | |
| }, | |
| { | |
| ""beneficiary_id"": ""L"", | |
| ""beneficiary_need"": 27.0 | |
| } | |
| ], | |
| ""services"": [ | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""A"", | |
| ""service_cost"": 259.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""B"", | |
| ""service_cost"": 66.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""C"", | |
| ""service_cost"": 370.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""D"", | |
| ""service_cost"": 58.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""E"", | |
| ""service_cost"": 671.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""F"", | |
| ""service_cost"": 283.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""G"", | |
| ""service_cost"": 273.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""H"", | |
| ""service_cost"": 77.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""I"", | |
| ""service_cost"": 66.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""J"", | |
| ""service_cost"": 315.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""K"", | |
| ""service_cost"": 332.0 | |
| }, | |
| { | |
| ""center_id"": ""F1"", | |
| ""beneficiary_id"": ""L"", | |
| ""service_cost"": 412.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""A"", | |
| ""service_cost"": 792.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""B"", | |
| ""service_cost"": 42.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""C"", | |
| ""service_cost"": 1107.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""D"", | |
| ""service_cost"": 101.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""E"", | |
| ""service_cost"": 1336.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""F"", | |
| ""service_cost"": 611.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""G"", | |
| ""service_cost"": 895.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""H"", | |
| ""service_cost"": 394.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""I"", | |
| ""service_cost"": 942.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""J"", | |
| ""service_cost"": 1443.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""K"", | |
| ""service_cost"": 1164.0 | |
| }, | |
| { | |
| ""center_id"": ""F2"", | |
| ""beneficiary_id"": ""L"", | |
| ""service_cost"": 1086.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""A"", | |
| ""service_cost"": 1237.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""B"", | |
| ""service_cost"": 38.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""C"", | |
| ""service_cost"": 1588.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""D"", | |
| ""service_cost"": 446.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""E"", | |
| ""service_cost"": 2013.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""F"", | |
| ""service_cost"": 1309.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""G"", | |
| ""service_cost"": 1374.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""H"", | |
| ""service_cost"": 844.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""I"", | |
| ""service_cost"": 1595.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""J"", | |
| ""service_cost"": 2192.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""K"", | |
| ""service_cost"": 1902.0 | |
| }, | |
| { | |
| ""center_id"": ""F3"", | |
| ""beneficiary_id"": ""L"", | |
| ""service_cost"": 1804.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""A"", | |
| ""service_cost"": 214.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""B"", | |
| ""service_cost"": 87.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""C"", | |
| ""service_cost"": 338.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""D"", | |
| ""service_cost"": 66.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""E"", | |
| ""service_cost"": 1027.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""F"", | |
| ""service_cost"": 475.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""G"", | |
| ""service_cost"": 229.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""H"", | |
| ""service_cost"": 46.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""I"", | |
| ""service_cost"": 27.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""J"", | |
| ""service_cost"": 755.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""K"", | |
| ""service_cost"": 677.0 | |
| }, | |
| { | |
| ""center_id"": ""F4"", | |
| ""beneficiary_id"": ""L"", | |
| ""service_cost"": 725.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""A"", | |
| ""service_cost"": 261.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""B"", | |
| ""service_cost"": 83.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""C"", | |
| ""service_cost"": 424.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""D"", | |
| ""service_cost"": 64.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""E"", | |
| ""service_cost"": 1075.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""F"", | |
| ""service_cost"": 489.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""G"", | |
| ""service_cost"": 287.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""H"", | |
| ""service_cost"": 59.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""I"", | |
| ""service_cost"": 58.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""J"", | |
| ""service_cost"": 850.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""K"", | |
| ""service_cost"": 736.0 | |
| }, | |
| { | |
| ""center_id"": ""F5"", | |
| ""beneficiary_id"": ""L"", | |
| ""service_cost"": 770.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""A"", | |
| ""service_cost"": 709.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""B"", | |
| ""service_cost"": 38.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""C"", | |
| ""service_cost"": 978.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""D"", | |
| ""service_cost"": 117.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""E"", | |
| ""service_cost"": 701.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""F"", | |
| ""service_cost"": 90.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""G"", | |
| ""service_cost"": 784.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""H"", | |
| ""service_cost"": 350.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""I"", | |
| ""service_cost"": 676.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""J"", | |
| ""service_cost"": 820.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""K"", | |
| ""service_cost"": 509.0 | |
| }, | |
| { | |
| ""center_id"": ""F6"", | |
| ""beneficiary_id"": ""L"", | |
| ""service_cost"": 424.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': [440.0, 462.0, 468.0, 518.0, 333.0, 450.0], 'capacities': [500.0, 500.0, 500.0, 500.0, 500.0, 500.0], 'connection_costs': [[259.0, 66.0, 370.0, 58.0, 671.0, 283.0, 273.0, 77.0, 66.0, 315.0, 332.0, 412.0], [792.0, 42.0, 1107.0, 101.0, 1336.0, 611.0, 895.0, 394.0, 942.0, 1443.0, 1164.0, 1086.0], [1237.0, 38.0, 1588.0, 446.0, 2013.0, 1309.0, 1374.0, 844.0, 1595.0, 2192.0, 1902.0, 1804.0], [214.0, 87.0, 338.0, 66.0, 1027.0, 475.0, 229.0, 46.0, 27.0, 755.0, 677.0, 725.0], [261.0, 83.0, 424.0, 64.0, 1075.0, 489.0, 287.0, 59.0, 58.0, 850.0, 736.0, 770.0], [709.0, 38.0, 978.0, 117.0, 701.0, 90.0, 784.0, 350.0, 676.0, 820.0, 509.0, 424.0]], 'demands': [27.0, 19.0, 20.0, 29.0, 22.0, 26.0, 27.0, 10.0, 11.0, 23.0, 17.0, 27.0], 'objective': 3622.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}",3622.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 12, 'facilities': [{'id': 'F1', 'opening_cost': 440.0, 'capacity': 500.0}, {'id': 'F2', 'opening_cost': 462.0, 'capacity': 500.0}, {'id': 'F3', 'opening_cost': 468.0, 'capacity': 500.0}, {'id': 'F4', 'opening_cost': 518.0, 'capacity': 500.0}, {'id': 'F5', 'opening_cost': 333.0, 'capacity': 500.0}, {'id': 'F6', 'opening_cost': 450.0, 'capacity': 500.0}], 'customers': [{'id': 'A', 'demand': 27.0}, {'id': 'B', 'demand': 19.0}, {'id': 'C', 'demand': 20.0}, {'id': 'D', 'demand': 29.0}, {'id': 'E', 'demand': 22.0}, {'id': 'F', 'demand': 26.0}, {'id': 'G', 'demand': 27.0}, {'id': 'H', 'demand': 10.0}, {'id': 'I', 'demand': 11.0}, {'id': 'J', 'demand': 23.0}, {'id': 'K', 'demand': 17.0}, {'id': 'L', 'demand': 27.0}], 'connection_costs': [{'facility': 'F1', 'customer': 'A', 'cost': 259.0}, {'facility': 'F1', 'customer': 'B', 'cost': 66.0}, {'facility': 'F1', 'customer': 'C', 'cost': 370.0}, {'facility': 'F1', 'customer': 'D', 'cost': 58.0}, {'facility': 'F1', 'customer': 'E', 'cost': 671.0}, {'facility': 'F1', 'customer': 'F', 'cost': 283.0}, {'facility': 'F1', 'customer': 'G', 'cost': 273.0}, {'facility': 'F1', 'customer': 'H', 'cost': 77.0}, {'facility': 'F1', 'customer': 'I', 'cost': 66.0}, {'facility': 'F1', 'customer': 'J', 'cost': 315.0}, {'facility': 'F1', 'customer': 'K', 'cost': 332.0}, {'facility': 'F1', 'customer': 'L', 'cost': 412.0}, {'facility': 'F2', 'customer': 'A', 'cost': 792.0}, {'facility': 'F2', 'customer': 'B', 'cost': 42.0}, {'facility': 'F2', 'customer': 'C', 'cost': 1107.0}, {'facility': 'F2', 'customer': 'D', 'cost': 101.0}, {'facility': 'F2', 'customer': 'E', 'cost': 1336.0}, {'facility': 'F2', 'customer': 'F', 'cost': 611.0}, {'facility': 'F2', 'customer': 'G', 'cost': 895.0}, {'facility': 'F2', 'customer': 'H', 'cost': 394.0}, {'facility': 'F2', 'customer': 'I', 'cost': 942.0}, {'facility': 'F2', 'customer': 'J', 'cost': 1443.0}, {'facility': 'F2', 'customer': 'K', 'cost': 1164.0}, {'facility': 'F2', 'customer': 'L', 'cost': 1086.0}, {'facility': 'F3', 'customer': 'A', 'cost': 1237.0}, {'facility': 'F3', 'customer': 'B', 'cost': 38.0}, {'facility': 'F3', 'customer': 'C', 'cost': 1588.0}, {'facility': 'F3', 'customer': 'D', 'cost': 446.0}, {'facility': 'F3', 'customer': 'E', 'cost': 2013.0}, {'facility': 'F3', 'customer': 'F', 'cost': 1309.0}, {'facility': 'F3', 'customer': 'G', 'cost': 1374.0}, {'facility': 'F3', 'customer': 'H', 'cost': 844.0}, {'facility': 'F3', 'customer': 'I', 'cost': 1595.0}, {'facility': 'F3', 'customer': 'J', 'cost': 2192.0}, {'facility': 'F3', 'customer': 'K', 'cost': 1902.0}, {'facility': 'F3', 'customer': 'L', 'cost': 1804.0}, {'facility': 'F4', 'customer': 'A', 'cost': 214.0}, {'facility': 'F4', 'customer': 'B', 'cost': 87.0}, {'facility': 'F4', 'customer': 'C', 'cost': 338.0}, {'facility': 'F4', 'customer': 'D', 'cost': 66.0}, {'facility': 'F4', 'customer': 'E', 'cost': 1027.0}, {'facility': 'F4', 'customer': 'F', 'cost': 475.0}, {'facility': 'F4', 'customer': 'G', 'cost': 229.0}, {'facility': 'F4', 'customer': 'H', 'cost': 46.0}, {'facility': 'F4', 'customer': 'I', 'cost': 27.0}, {'facility': 'F4', 'customer': 'J', 'cost': 755.0}, {'facility': 'F4', 'customer': 'K', 'cost': 677.0}, {'facility': 'F4', 'customer': 'L', 'cost': 725.0}, {'facility': 'F5', 'customer': 'A', 'cost': 261.0}, {'facility': 'F5', 'customer': 'B', 'cost': 83.0}, {'facility': 'F5', 'customer': 'C', 'cost': 424.0}, {'facility': 'F5', 'customer': 'D', 'cost': 64.0}, {'facility': 'F5', 'customer': 'E', 'cost': 1075.0}, {'facility': 'F5', 'customer': 'F', 'cost': 489.0}, {'facility': 'F5', 'customer': 'G', 'cost': 287.0}, {'facility': 'F5', 'customer': 'H', 'cost': 59.0}, {'facility': 'F5', 'customer': 'I', 'cost': 58.0}, {'facility': 'F5', 'customer': 'J', 'cost': 850.0}, {'facility': 'F5', 'customer': 'K', 'cost': 736.0}, {'facility': 'F5', 'customer': 'L', 'cost': 770.0}, {'facility': 'F6', 'customer': 'A', 'cost': 709.0}, {'facility': 'F6', 'customer': 'B', 'cost': 38.0}, {'facility': 'F6', 'customer': 'C', 'cost': 978.0}, {'facility': 'F6', 'customer': 'D', 'cost': 117.0}, {'facility': 'F6', 'customer': 'E', 'cost': 701.0}, {'facility': 'F6', 'customer': 'F', 'cost': 90.0}, {'facility': 'F6', 'customer': 'G', 'cost': 784.0}, {'facility': 'F6', 'customer': 'H', 'cost': 350.0}, {'facility': 'F6', 'customer': 'I', 'cost': 676.0}, {'facility': 'F6', 'customer': 'J', 'cost': 820.0}, {'facility': 'F6', 'customer': 'K', 'cost': 509.0}, {'facility': 'F6', 'customer': 'L', 'cost': 424.0}], 'objective': 3622.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",47,json,names | |
| CFLP,CFLP,"At the dorm office the decision is to keep some laundry rooms open and close others, then assign each dormitory to exactly one of the rooms that remain open. Each machine room has a finite capacity, so assignments must fit within those limits. The way to judge plans is straightforward: total cost β tally up the operating costs for the chosen laundry rooms plus the travel or usage cost for every dormβs assignment, and prefer the arrangement with the lowest combined total. No dorm can be left out or sent to more than one place. The particular figures are shown below. | |
| There are 4 laundry rooms and 9 dorms in this instance. | |
| **Laundry Rooms** | |
| | laundry_room_id | operating_cost | laundry_capacity | | |
| |---|---|---| | |
| | F1 | 300.0 | 500.0 | | |
| | F2 | 300.0 | 500.0 | | |
| | F3 | 300.0 | 500.0 | | |
| | F4 | 300.0 | 500.0 | | |
| **Dorms** | |
| | dorm_id | dorm_demand | | |
| |---|---| | |
| | 1 | 24.0 | | |
| | 2 | 17.0 | | |
| | 3 | 17.0 | | |
| | 4 | 18.0 | | |
| | 5 | 27.0 | | |
| | 6 | 20.0 | | |
| | 7 | 24.0 | | |
| | 8 | 27.0 | | |
| | 9 | 22.0 | | |
| **Assignment Cost** | |
| | laundry_room_id | dorm_id | assignment_cost | | |
| |---|---|---| | |
| | F1 | 1 | 221.0 | | |
| | F1 | 2 | 590.0 | | |
| | F1 | 3 | 577.0 | | |
| | F1 | 4 | 166.0 | | |
| | F1 | 5 | 107.0 | | |
| | F1 | 6 | 403.0 | | |
| | F1 | 7 | 506.0 | | |
| | F1 | 8 | 401.0 | | |
| | F1 | 9 | 378.0 | | |
| | F2 | 1 | 643.0 | | |
| | F2 | 2 | 811.0 | | |
| | F2 | 3 | 1668.0 | | |
| | F2 | 4 | 1062.0 | | |
| | F2 | 5 | 1300.0 | | |
| | F2 | 6 | 113.0 | | |
| | F2 | 7 | 893.0 | | |
| | F2 | 8 | 754.0 | | |
| | F2 | 9 | 857.0 | | |
| | F3 | 1 | 173.0 | | |
| | F3 | 2 | 903.0 | | |
| | F3 | 3 | 673.0 | | |
| | F3 | 4 | 544.0 | | |
| | F3 | 5 | 416.0 | | |
| | F3 | 6 | 578.0 | | |
| | F3 | 7 | 840.0 | | |
| | F3 | 8 | 701.0 | | |
| | F3 | 9 | 704.0 | | |
| | F4 | 1 | 403.0 | | |
| | F4 | 2 | 952.0 | | |
| | F4 | 3 | 1342.0 | | |
| | F4 | 4 | 886.0 | | |
| | F4 | 5 | 1023.0 | | |
| | F4 | 6 | 471.0 | | |
| | F4 | 7 | 947.0 | | |
| | F4 | 8 | 783.0 | | |
| | F4 | 9 | 841.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': [300.0, 300.0, 300.0, 300.0], 'capacities': [500.0, 500.0, 500.0, 500.0], 'connection_costs': [[221.0, 590.0, 577.0, 166.0, 107.0, 403.0, 506.0, 401.0, 378.0], [643.0, 811.0, 1668.0, 1062.0, 1300.0, 113.0, 893.0, 754.0, 857.0], [173.0, 903.0, 673.0, 544.0, 416.0, 578.0, 840.0, 701.0, 704.0], [403.0, 952.0, 1342.0, 886.0, 1023.0, 471.0, 947.0, 783.0, 841.0]], 'demands': [24.0, 17.0, 17.0, 18.0, 27.0, 20.0, 24.0, 27.0, 22.0], 'objective': 3649.0}","{'open_facilities': [0], 'assignments': [0, 0, 0, 0, 0, 0, 0, 0, 0]}",3649.0,"{'problem_type': 'CFLP', 'num_facilities': 4, 'num_customers': 9, '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}, {'id': 'F4', 'opening_cost': 300.0, 'capacity': 500.0}], 'customers': [{'id': 1, 'demand': 24.0}, {'id': 2, 'demand': 17.0}, {'id': 3, 'demand': 17.0}, {'id': 4, 'demand': 18.0}, {'id': 5, 'demand': 27.0}, {'id': 6, 'demand': 20.0}, {'id': 7, 'demand': 24.0}, {'id': 8, 'demand': 27.0}, {'id': 9, 'demand': 22.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 221.0}, {'facility': 'F1', 'customer': 2, 'cost': 590.0}, {'facility': 'F1', 'customer': 3, 'cost': 577.0}, {'facility': 'F1', 'customer': 4, 'cost': 166.0}, {'facility': 'F1', 'customer': 5, 'cost': 107.0}, {'facility': 'F1', 'customer': 6, 'cost': 403.0}, {'facility': 'F1', 'customer': 7, 'cost': 506.0}, {'facility': 'F1', 'customer': 8, 'cost': 401.0}, {'facility': 'F1', 'customer': 9, 'cost': 378.0}, {'facility': 'F2', 'customer': 1, 'cost': 643.0}, {'facility': 'F2', 'customer': 2, 'cost': 811.0}, {'facility': 'F2', 'customer': 3, 'cost': 1668.0}, {'facility': 'F2', 'customer': 4, 'cost': 1062.0}, {'facility': 'F2', 'customer': 5, 'cost': 1300.0}, {'facility': 'F2', 'customer': 6, 'cost': 113.0}, {'facility': 'F2', 'customer': 7, 'cost': 893.0}, {'facility': 'F2', 'customer': 8, 'cost': 754.0}, {'facility': 'F2', 'customer': 9, 'cost': 857.0}, {'facility': 'F3', 'customer': 1, 'cost': 173.0}, {'facility': 'F3', 'customer': 2, 'cost': 903.0}, {'facility': 'F3', 'customer': 3, 'cost': 673.0}, {'facility': 'F3', 'customer': 4, 'cost': 544.0}, {'facility': 'F3', 'customer': 5, 'cost': 416.0}, {'facility': 'F3', 'customer': 6, 'cost': 578.0}, {'facility': 'F3', 'customer': 7, 'cost': 840.0}, {'facility': 'F3', 'customer': 8, 'cost': 701.0}, {'facility': 'F3', 'customer': 9, 'cost': 704.0}, {'facility': 'F4', 'customer': 1, 'cost': 403.0}, {'facility': 'F4', 'customer': 2, 'cost': 952.0}, {'facility': 'F4', 'customer': 3, 'cost': 1342.0}, {'facility': 'F4', 'customer': 4, 'cost': 886.0}, {'facility': 'F4', 'customer': 5, 'cost': 1023.0}, {'facility': 'F4', 'customer': 6, 'cost': 471.0}, {'facility': 'F4', 'customer': 7, 'cost': 947.0}, {'facility': 'F4', 'customer': 8, 'cost': 783.0}, {'facility': 'F4', 'customer': 9, 'cost': 841.0}], 'objective': 3649.0}","{'selected': ['F1'], 'assignments': ['F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1', 'F1']}",48,markdown_table,1 | |
| CFLP,CFLP,"Weβre playing the role of a planning team deciding which local library sites to activate and how to send each neighborhood to a single branch. Opening a site costs money and each one can only handle so many people; sending a neighborhood to a branch adds a travel cost. The score for any arrangement is simply the sum of the opening costs and all the travel costs, and the aim is to keep that sum as small as we can while making sure every neighborhood is served by exactly one open branch and no branch is overloaded. The specific numbers will be listed below. | |
| Below, we list 5 candidate branches and 11 neighborhoods. | |
| We can open branch F1 at a cost of 400.0 with capacity 300.0. | |
| We can open branch F2 at a cost of 400.0 with capacity 300.0. | |
| We can open branch F3 at a cost of 400.0 with capacity 300.0. | |
| We can open branch F4 at a cost of 400.0 with capacity 300.0. | |
| We can open branch F5 at a cost of 400.0 with capacity 300.0. | |
| We must serve neighborhood 0 with 24.0 patrons from exactly one open branch. | |
| We must serve neighborhood 1 with 13.0 patrons from exactly one open branch. | |
| We must serve neighborhood 2 with 12.0 patrons from exactly one open branch. | |
| We must serve neighborhood 3 with 22.0 patrons from exactly one open branch. | |
| We must serve neighborhood 4 with 26.0 patrons from exactly one open branch. | |
| We must serve neighborhood 5 with 27.0 patrons from exactly one open branch. | |
| We must serve neighborhood 6 with 18.0 patrons from exactly one open branch. | |
| We must serve neighborhood 7 with 20.0 patrons from exactly one open branch. | |
| We must serve neighborhood 8 with 11.0 patrons from exactly one open branch. | |
| We must serve neighborhood 9 with 12.0 patrons from exactly one open branch. | |
| We must serve neighborhood 10 with 23.0 patrons from exactly one open branch. | |
| We estimate a travel cost of 1185.0 if we send neighborhood 0 to branch F1. | |
| We estimate a travel cost of 1000.0 if we send neighborhood 1 to branch F1. | |
| We estimate a travel cost of 253.0 if we send neighborhood 2 to branch F1. | |
| We estimate a travel cost of 1286.0 if we send neighborhood 3 to branch F1. | |
| We estimate a travel cost of 53.0 if we send neighborhood 4 to branch F1. | |
| We estimate a travel cost of 776.0 if we send neighborhood 5 to branch F1. | |
| We estimate a travel cost of 43.0 if we send neighborhood 6 to branch F1. | |
| We estimate a travel cost of 393.0 if we send neighborhood 7 to branch F1. | |
| We estimate a travel cost of 86.0 if we send neighborhood 8 to branch F1. | |
| We estimate a travel cost of 829.0 if we send neighborhood 9 to branch F1. | |
| We estimate a travel cost of 1118.0 if we send neighborhood 10 to branch F1. | |
| We estimate a travel cost of 816.0 if we send neighborhood 0 to branch F2. | |
| We estimate a travel cost of 312.0 if we send neighborhood 1 to branch F2. | |
| We estimate a travel cost of 53.0 if we send neighborhood 2 to branch F2. | |
| We estimate a travel cost of 1438.0 if we send neighborhood 3 to branch F2. | |
| We estimate a travel cost of 804.0 if we send neighborhood 4 to branch F2. | |
| We estimate a travel cost of 91.0 if we send neighborhood 5 to branch F2. | |
| We estimate a travel cost of 63.0 if we send neighborhood 6 to branch F2. | |
| We estimate a travel cost of 150.0 if we send neighborhood 7 to branch F2. | |
| We estimate a travel cost of 1002.0 if we send neighborhood 8 to branch F2. | |
| We estimate a travel cost of 628.0 if we send neighborhood 9 to branch F2. | |
| We estimate a travel cost of 686.0 if we send neighborhood 10 to branch F2. | |
| We estimate a travel cost of 818.0 if we send neighborhood 0 to branch F3. | |
| We estimate a travel cost of 712.0 if we send neighborhood 1 to branch F3. | |
| We estimate a travel cost of 147.0 if we send neighborhood 2 to branch F3. | |
| We estimate a travel cost of 829.0 if we send neighborhood 3 to branch F3. | |
| We estimate a travel cost of 107.0 if we send neighborhood 4 to branch F3. | |
| We estimate a travel cost of 570.0 if we send neighborhood 5 to branch F3. | |
| We estimate a travel cost of 37.0 if we send neighborhood 6 to branch F3. | |
| We estimate a travel cost of 220.0 if we send neighborhood 7 to branch F3. | |
| We estimate a travel cost of 191.0 if we send neighborhood 8 to branch F3. | |
| We estimate a travel cost of 487.0 if we send neighborhood 9 to branch F3. | |
| We estimate a travel cost of 771.0 if we send neighborhood 10 to branch F3. | |
| We estimate a travel cost of 1209.0 if we send neighborhood 0 to branch F4. | |
| We estimate a travel cost of 727.0 if we send neighborhood 1 to branch F4. | |
| We estimate a travel cost of 66.0 if we send neighborhood 2 to branch F4. | |
| We estimate a travel cost of 1779.0 if we send neighborhood 3 to branch F4. | |
| We estimate a travel cost of 915.0 if we send neighborhood 4 to branch F4. | |
| We estimate a travel cost of 271.0 if we send neighborhood 5 to branch F4. | |
| We estimate a travel cost of 63.0 if we send neighborhood 6 to branch F4. | |
| We estimate a travel cost of 263.0 if we send neighborhood 7 to branch F4. | |
| We estimate a travel cost of 1113.0 if we send neighborhood 8 to branch F4. | |
| We estimate a travel cost of 966.0 if we send neighborhood 9 to branch F4. | |
| We estimate a travel cost of 1081.0 if we send neighborhood 10 to branch F4. | |
| We estimate a travel cost of 615.0 if we send neighborhood 0 to branch F5. | |
| We estimate a travel cost of 399.0 if we send neighborhood 1 to branch F5. | |
| We estimate a travel cost of 30.0 if we send neighborhood 2 to branch F5. | |
| We estimate a travel cost of 1051.0 if we send neighborhood 3 to branch F5. | |
| We estimate a travel cost of 489.0 if we send neighborhood 4 to branch F5. | |
| We estimate a travel cost of 287.0 if we send neighborhood 5 to branch F5. | |
| We estimate a travel cost of 42.0 if we send neighborhood 6 to branch F5. | |
| We estimate a travel cost of 43.0 if we send neighborhood 7 to branch F5. | |
| We estimate a travel cost of 673.0 if we send neighborhood 8 to branch F5. | |
| We estimate a travel cost of 269.0 if we send neighborhood 9 to branch F5. | |
| We estimate a travel cost of 524.0 if we send neighborhood 10 to branch F5. | |
| Weβll use these figures to choose which branches to open and how to assign neighborhoods to minimize the total opening plus travel cost. | |
| 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, 400.0, 400.0], 'capacities': [300.0, 300.0, 300.0, 300.0, 300.0], 'connection_costs': [[1185.0, 1000.0, 253.0, 1286.0, 53.0, 776.0, 43.0, 393.0, 86.0, 829.0, 1118.0], [816.0, 312.0, 53.0, 1438.0, 804.0, 91.0, 63.0, 150.0, 1002.0, 628.0, 686.0], [818.0, 712.0, 147.0, 829.0, 107.0, 570.0, 37.0, 220.0, 191.0, 487.0, 771.0], [1209.0, 727.0, 66.0, 1779.0, 915.0, 271.0, 63.0, 263.0, 1113.0, 966.0, 1081.0], [615.0, 399.0, 30.0, 1051.0, 489.0, 287.0, 42.0, 43.0, 673.0, 269.0, 524.0]], 'demands': [24.0, 13.0, 12.0, 22.0, 26.0, 27.0, 18.0, 20.0, 11.0, 12.0, 23.0], 'objective': 4131.0}","{'open_facilities': [2, 4], 'assignments': [4, 4, 4, 2, 2, 4, 2, 4, 2, 4, 4]}",4131.0,"{'problem_type': 'CFLP', 'num_facilities': 5, 'num_customers': 11, '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}, {'id': 'F4', 'opening_cost': 400.0, 'capacity': 300.0}, {'id': 'F5', 'opening_cost': 400.0, 'capacity': 300.0}], 'customers': [{'id': 0, 'demand': 24.0}, {'id': 1, 'demand': 13.0}, {'id': 2, 'demand': 12.0}, {'id': 3, 'demand': 22.0}, {'id': 4, 'demand': 26.0}, {'id': 5, 'demand': 27.0}, {'id': 6, 'demand': 18.0}, {'id': 7, 'demand': 20.0}, {'id': 8, 'demand': 11.0}, {'id': 9, 'demand': 12.0}, {'id': 10, 'demand': 23.0}], 'connection_costs': [{'facility': 'F1', 'customer': 0, 'cost': 1185.0}, {'facility': 'F1', 'customer': 1, 'cost': 1000.0}, {'facility': 'F1', 'customer': 2, 'cost': 253.0}, {'facility': 'F1', 'customer': 3, 'cost': 1286.0}, {'facility': 'F1', 'customer': 4, 'cost': 53.0}, {'facility': 'F1', 'customer': 5, 'cost': 776.0}, {'facility': 'F1', 'customer': 6, 'cost': 43.0}, {'facility': 'F1', 'customer': 7, 'cost': 393.0}, {'facility': 'F1', 'customer': 8, 'cost': 86.0}, {'facility': 'F1', 'customer': 9, 'cost': 829.0}, {'facility': 'F1', 'customer': 10, 'cost': 1118.0}, {'facility': 'F2', 'customer': 0, 'cost': 816.0}, {'facility': 'F2', 'customer': 1, 'cost': 312.0}, {'facility': 'F2', 'customer': 2, 'cost': 53.0}, {'facility': 'F2', 'customer': 3, 'cost': 1438.0}, {'facility': 'F2', 'customer': 4, 'cost': 804.0}, {'facility': 'F2', 'customer': 5, 'cost': 91.0}, {'facility': 'F2', 'customer': 6, 'cost': 63.0}, {'facility': 'F2', 'customer': 7, 'cost': 150.0}, {'facility': 'F2', 'customer': 8, 'cost': 1002.0}, {'facility': 'F2', 'customer': 9, 'cost': 628.0}, {'facility': 'F2', 'customer': 10, 'cost': 686.0}, {'facility': 'F3', 'customer': 0, 'cost': 818.0}, {'facility': 'F3', 'customer': 1, 'cost': 712.0}, {'facility': 'F3', 'customer': 2, 'cost': 147.0}, {'facility': 'F3', 'customer': 3, 'cost': 829.0}, {'facility': 'F3', 'customer': 4, 'cost': 107.0}, {'facility': 'F3', 'customer': 5, 'cost': 570.0}, {'facility': 'F3', 'customer': 6, 'cost': 37.0}, {'facility': 'F3', 'customer': 7, 'cost': 220.0}, {'facility': 'F3', 'customer': 8, 'cost': 191.0}, {'facility': 'F3', 'customer': 9, 'cost': 487.0}, {'facility': 'F3', 'customer': 10, 'cost': 771.0}, {'facility': 'F4', 'customer': 0, 'cost': 1209.0}, {'facility': 'F4', 'customer': 1, 'cost': 727.0}, {'facility': 'F4', 'customer': 2, 'cost': 66.0}, {'facility': 'F4', 'customer': 3, 'cost': 1779.0}, {'facility': 'F4', 'customer': 4, 'cost': 915.0}, {'facility': 'F4', 'customer': 5, 'cost': 271.0}, {'facility': 'F4', 'customer': 6, 'cost': 63.0}, {'facility': 'F4', 'customer': 7, 'cost': 263.0}, {'facility': 'F4', 'customer': 8, 'cost': 1113.0}, {'facility': 'F4', 'customer': 9, 'cost': 966.0}, {'facility': 'F4', 'customer': 10, 'cost': 1081.0}, {'facility': 'F5', 'customer': 0, 'cost': 615.0}, {'facility': 'F5', 'customer': 1, 'cost': 399.0}, {'facility': 'F5', 'customer': 2, 'cost': 30.0}, {'facility': 'F5', 'customer': 3, 'cost': 1051.0}, {'facility': 'F5', 'customer': 4, 'cost': 489.0}, {'facility': 'F5', 'customer': 5, 'cost': 287.0}, {'facility': 'F5', 'customer': 6, 'cost': 42.0}, {'facility': 'F5', 'customer': 7, 'cost': 43.0}, {'facility': 'F5', 'customer': 8, 'cost': 673.0}, {'facility': 'F5', 'customer': 9, 'cost': 269.0}, {'facility': 'F5', 'customer': 10, 'cost': 524.0}], 'objective': 4131.0}","{'selected': ['F3', 'F5'], 'assignments': ['F5', 'F5', 'F5', 'F3', 'F3', 'F5', 'F3', 'F5', 'F3', 'F5', 'F5']}",49,nl,0 | |
| CFLP,CFLP,"Picture this: a grocery chain choosing which branches to run for the season and then lining up every household to a single running branch. Each branch thatβs kept open comes with an opening expense, and serving each household from a branch adds a travel or delivery cost β so the sensible thing is to pick stores and assignments that make the total bill (opening fees plus all travel costs) as small as possible. At the same time, every household must be assigned to one branch only, and no branch can exceed its stocking capacity. The exact store choices and household details appear below. | |
| There are 6 candidate stores and 14 households to consider. | |
| Store F1: opening expense 258.0, stocking capacity 366.0. | |
| Store F2: opening expense 128.0, stocking capacity 314.0. | |
| Store F3: opening expense 296.0, stocking capacity 504.0. | |
| Store F4: opening expense 329.0, stocking capacity 456.0. | |
| Store F5: opening expense 179.0, stocking capacity 549.0. | |
| Store F6: opening expense 321.0, stocking capacity 316.0. | |
| Household 1: demand 23.0. | |
| Household 2: demand 48.0. | |
| Household 3: demand 15.0. | |
| Household 4: demand 14.0. | |
| Household 5: demand 23.0. | |
| Household 6: demand 33.0. | |
| Household 7: demand 43.0. | |
| Household 8: demand 47.0. | |
| Household 9: demand 20.0. | |
| Household 10: demand 38.0. | |
| Household 11: demand 21.0. | |
| Household 12: demand 25.0. | |
| Household 13: demand 19.0. | |
| Household 14: demand 37.0. | |
| Serving household 1 from store F1 costs 418.0. | |
| Serving household 2 from store F1 costs 288.0. | |
| Serving household 3 from store F1 costs 379.0. | |
| Serving household 4 from store F1 costs 122.0. | |
| Serving household 5 from store F1 costs 344.0. | |
| Serving household 6 from store F1 costs 393.0. | |
| Serving household 7 from store F1 costs 654.0. | |
| Serving household 8 from store F1 costs 640.0. | |
| Serving household 9 from store F1 costs 79.0. | |
| Serving household 10 from store F1 costs 94.0. | |
| Serving household 11 from store F1 costs 422.0. | |
| Serving household 12 from store F1 costs 303.0. | |
| Serving household 13 from store F1 costs 362.0. | |
| Serving household 14 from store F1 costs 468.0. | |
| Serving household 1 from store F2 costs 34.0. | |
| Serving household 2 from store F2 costs 338.0. | |
| Serving household 3 from store F2 costs 523.0. | |
| Serving household 4 from store F2 costs 319.0. | |
| Serving household 5 from store F2 costs 712.0. | |
| Serving household 6 from store F2 costs 486.0. | |
| Serving household 7 from store F2 costs 812.0. | |
| Serving household 8 from store F2 costs 482.0. | |
| Serving household 9 from store F2 costs 426.0. | |
| Serving household 10 from store F2 costs 392.0. | |
| Serving household 11 from store F2 costs 507.0. | |
| Serving household 12 from store F2 costs 145.0. | |
| Serving household 13 from store F2 costs 104.0. | |
| Serving household 14 from store F2 costs 467.0. | |
| Serving household 1 from store F3 costs 369.0. | |
| Serving household 2 from store F3 costs 33.0. | |
| Serving household 3 from store F3 costs 181.0. | |
| Serving household 4 from store F3 costs 376.0. | |
| Serving household 5 from store F3 costs 502.0. | |
| Serving household 6 from store F3 costs 140.0. | |
| Serving household 7 from store F3 costs 466.0. | |
| Serving household 8 from store F3 costs 328.0. | |
| Serving household 9 from store F3 costs 288.0. | |
| Serving household 10 from store F3 costs 244.0. | |
| Serving household 11 from store F3 costs 162.0. | |
| Serving household 12 from store F3 costs 202.0. | |
| Serving household 13 from store F3 costs 411.0. | |
| Serving household 14 from store F3 costs 156.0. | |
| Serving household 1 from store F4 costs 409.0. | |
| Serving household 2 from store F4 costs 374.0. | |
| Serving household 3 from store F4 costs 467.0. | |
| Serving household 4 from store F4 costs 643.0. | |
| Serving household 5 from store F4 costs 846.0. | |
| Serving household 6 from store F4 costs 405.0. | |
| Serving household 7 from store F4 costs 648.0. | |
| Serving household 8 from store F4 costs 104.0. | |
| Serving household 9 from store F4 costs 622.0. | |
| Serving household 10 from store F4 costs 576.0. | |
| Serving household 11 from store F4 costs 401.0. | |
| Serving household 12 from store F4 costs 361.0. | |
| Serving household 13 from store F4 costs 519.0. | |
| Serving household 14 from store F4 costs 297.0. | |
| Serving household 1 from store F5 costs 782.0. | |
| Serving household 2 from store F5 costs 422.0. | |
| Serving household 3 from store F5 costs 240.0. | |
| Serving household 4 from store F5 costs 700.0. | |
| Serving household 5 from store F5 costs 493.0. | |
| Serving household 6 from store F5 costs 274.0. | |
| Serving household 7 from store F5 costs 61.0. | |
| Serving household 8 from store F5 costs 533.0. | |
| Serving household 9 from store F5 costs 518.0. | |
| Serving household 10 from store F5 costs 501.0. | |
| Serving household 11 from store F5 costs 256.0. | |
| Serving household 12 from store F5 costs 614.0. | |
| Serving household 13 from store F5 costs 817.0. | |
| Serving household 14 from store F5 costs 334.0. | |
| Serving household 1 from store F6 costs 603.0. | |
| Serving household 2 from store F6 costs 357.0. | |
| Serving household 3 from store F6 costs 317.0. | |
| Serving household 4 from store F6 costs 701.0. | |
| Serving household 5 from store F6 costs 730.0. | |
| Serving household 6 from store F6 costs 268.0. | |
| Serving household 7 from store F6 costs 381.0. | |
| Serving household 8 from store F6 costs 187.0. | |
| Serving household 9 from store F6 costs 595.0. | |
| Serving household 10 from store F6 costs 555.0. | |
| Serving household 11 from store F6 costs 245.0. | |
| Serving household 12 from store F6 costs 478.0. | |
| Serving household 13 from store F6 costs 686.0. | |
| Serving household 14 from store F6 costs 172.0. | |
| Use these details to pick stores and assignments that serve all 14 households within capacities while minimizing opening plus travel costs. | |
| 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': [258.0, 128.0, 296.0, 329.0, 179.0, 321.0], 'capacities': [366.0, 314.0, 504.0, 456.0, 549.0, 316.0], 'connection_costs': [[418.0, 288.0, 379.0, 122.0, 344.0, 393.0, 654.0, 640.0, 79.0, 94.0, 422.0, 303.0, 362.0, 468.0], [34.0, 338.0, 523.0, 319.0, 712.0, 486.0, 812.0, 482.0, 426.0, 392.0, 507.0, 145.0, 104.0, 467.0], [369.0, 33.0, 181.0, 376.0, 502.0, 140.0, 466.0, 328.0, 288.0, 244.0, 162.0, 202.0, 411.0, 156.0], [409.0, 374.0, 467.0, 643.0, 846.0, 405.0, 648.0, 104.0, 622.0, 576.0, 401.0, 361.0, 519.0, 297.0], [782.0, 422.0, 240.0, 700.0, 493.0, 274.0, 61.0, 533.0, 518.0, 501.0, 256.0, 614.0, 817.0, 334.0], [603.0, 357.0, 317.0, 701.0, 730.0, 268.0, 381.0, 187.0, 595.0, 555.0, 245.0, 478.0, 686.0, 172.0]], 'demands': [23.0, 48.0, 15.0, 14.0, 23.0, 33.0, 43.0, 47.0, 20.0, 38.0, 21.0, 25.0, 19.0, 37.0], 'objective': 2844.0}","{'open_facilities': [0, 1, 2, 4], 'assignments': [1, 2, 2, 0, 0, 2, 4, 2, 0, 0, 2, 1, 1, 2]}",2844.0,"{'problem_type': 'CFLP', 'num_facilities': 6, 'num_customers': 14, 'facilities': [{'id': 'F1', 'opening_cost': 258.0, 'capacity': 366.0}, {'id': 'F2', 'opening_cost': 128.0, 'capacity': 314.0}, {'id': 'F3', 'opening_cost': 296.0, 'capacity': 504.0}, {'id': 'F4', 'opening_cost': 329.0, 'capacity': 456.0}, {'id': 'F5', 'opening_cost': 179.0, 'capacity': 549.0}, {'id': 'F6', 'opening_cost': 321.0, 'capacity': 316.0}], 'customers': [{'id': 1, 'demand': 23.0}, {'id': 2, 'demand': 48.0}, {'id': 3, 'demand': 15.0}, {'id': 4, 'demand': 14.0}, {'id': 5, 'demand': 23.0}, {'id': 6, 'demand': 33.0}, {'id': 7, 'demand': 43.0}, {'id': 8, 'demand': 47.0}, {'id': 9, 'demand': 20.0}, {'id': 10, 'demand': 38.0}, {'id': 11, 'demand': 21.0}, {'id': 12, 'demand': 25.0}, {'id': 13, 'demand': 19.0}, {'id': 14, 'demand': 37.0}], 'connection_costs': [{'facility': 'F1', 'customer': 1, 'cost': 418.0}, {'facility': 'F1', 'customer': 2, 'cost': 288.0}, {'facility': 'F1', 'customer': 3, 'cost': 379.0}, {'facility': 'F1', 'customer': 4, 'cost': 122.0}, {'facility': 'F1', 'customer': 5, 'cost': 344.0}, {'facility': 'F1', 'customer': 6, 'cost': 393.0}, {'facility': 'F1', 'customer': 7, 'cost': 654.0}, {'facility': 'F1', 'customer': 8, 'cost': 640.0}, {'facility': 'F1', 'customer': 9, 'cost': 79.0}, {'facility': 'F1', 'customer': 10, 'cost': 94.0}, {'facility': 'F1', 'customer': 11, 'cost': 422.0}, {'facility': 'F1', 'customer': 12, 'cost': 303.0}, {'facility': 'F1', 'customer': 13, 'cost': 362.0}, {'facility': 'F1', 'customer': 14, 'cost': 468.0}, {'facility': 'F2', 'customer': 1, 'cost': 34.0}, {'facility': 'F2', 'customer': 2, 'cost': 338.0}, {'facility': 'F2', 'customer': 3, 'cost': 523.0}, {'facility': 'F2', 'customer': 4, 'cost': 319.0}, {'facility': 'F2', 'customer': 5, 'cost': 712.0}, {'facility': 'F2', 'customer': 6, 'cost': 486.0}, {'facility': 'F2', 'customer': 7, 'cost': 812.0}, {'facility': 'F2', 'customer': 8, 'cost': 482.0}, {'facility': 'F2', 'customer': 9, 'cost': 426.0}, {'facility': 'F2', 'customer': 10, 'cost': 392.0}, {'facility': 'F2', 'customer': 11, 'cost': 507.0}, {'facility': 'F2', 'customer': 12, 'cost': 145.0}, {'facility': 'F2', 'customer': 13, 'cost': 104.0}, {'facility': 'F2', 'customer': 14, 'cost': 467.0}, {'facility': 'F3', 'customer': 1, 'cost': 369.0}, {'facility': 'F3', 'customer': 2, 'cost': 33.0}, {'facility': 'F3', 'customer': 3, 'cost': 181.0}, {'facility': 'F3', 'customer': 4, 'cost': 376.0}, {'facility': 'F3', 'customer': 5, 'cost': 502.0}, {'facility': 'F3', 'customer': 6, 'cost': 140.0}, {'facility': 'F3', 'customer': 7, 'cost': 466.0}, {'facility': 'F3', 'customer': 8, 'cost': 328.0}, {'facility': 'F3', 'customer': 9, 'cost': 288.0}, {'facility': 'F3', 'customer': 10, 'cost': 244.0}, {'facility': 'F3', 'customer': 11, 'cost': 162.0}, {'facility': 'F3', 'customer': 12, 'cost': 202.0}, {'facility': 'F3', 'customer': 13, 'cost': 411.0}, {'facility': 'F3', 'customer': 14, 'cost': 156.0}, {'facility': 'F4', 'customer': 1, 'cost': 409.0}, {'facility': 'F4', 'customer': 2, 'cost': 374.0}, {'facility': 'F4', 'customer': 3, 'cost': 467.0}, {'facility': 'F4', 'customer': 4, 'cost': 643.0}, {'facility': 'F4', 'customer': 5, 'cost': 846.0}, {'facility': 'F4', 'customer': 6, 'cost': 405.0}, {'facility': 'F4', 'customer': 7, 'cost': 648.0}, {'facility': 'F4', 'customer': 8, 'cost': 104.0}, {'facility': 'F4', 'customer': 9, 'cost': 622.0}, {'facility': 'F4', 'customer': 10, 'cost': 576.0}, {'facility': 'F4', 'customer': 11, 'cost': 401.0}, {'facility': 'F4', 'customer': 12, 'cost': 361.0}, {'facility': 'F4', 'customer': 13, 'cost': 519.0}, {'facility': 'F4', 'customer': 14, 'cost': 297.0}, {'facility': 'F5', 'customer': 1, 'cost': 782.0}, {'facility': 'F5', 'customer': 2, 'cost': 422.0}, {'facility': 'F5', 'customer': 3, 'cost': 240.0}, {'facility': 'F5', 'customer': 4, 'cost': 700.0}, {'facility': 'F5', 'customer': 5, 'cost': 493.0}, {'facility': 'F5', 'customer': 6, 'cost': 274.0}, {'facility': 'F5', 'customer': 7, 'cost': 61.0}, {'facility': 'F5', 'customer': 8, 'cost': 533.0}, {'facility': 'F5', 'customer': 9, 'cost': 518.0}, {'facility': 'F5', 'customer': 10, 'cost': 501.0}, {'facility': 'F5', 'customer': 11, 'cost': 256.0}, {'facility': 'F5', 'customer': 12, 'cost': 614.0}, {'facility': 'F5', 'customer': 13, 'cost': 817.0}, {'facility': 'F5', 'customer': 14, 'cost': 334.0}, {'facility': 'F6', 'customer': 1, 'cost': 603.0}, {'facility': 'F6', 'customer': 2, 'cost': 357.0}, {'facility': 'F6', 'customer': 3, 'cost': 317.0}, {'facility': 'F6', 'customer': 4, 'cost': 701.0}, {'facility': 'F6', 'customer': 5, 'cost': 730.0}, {'facility': 'F6', 'customer': 6, 'cost': 268.0}, {'facility': 'F6', 'customer': 7, 'cost': 381.0}, {'facility': 'F6', 'customer': 8, 'cost': 187.0}, {'facility': 'F6', 'customer': 9, 'cost': 595.0}, {'facility': 'F6', 'customer': 10, 'cost': 555.0}, {'facility': 'F6', 'customer': 11, 'cost': 245.0}, {'facility': 'F6', 'customer': 12, 'cost': 478.0}, {'facility': 'F6', 'customer': 13, 'cost': 686.0}, {'facility': 'F6', 'customer': 14, 'cost': 172.0}], 'objective': 2844.0}","{'selected': ['F1', 'F2', 'F3', 'F5'], 'assignments': ['F2', 'F3', 'F3', 'F1', 'F1', 'F3', 'F5', 'F3', 'F1', 'F1', 'F3', 'F2', 'F2', 'F3']}",50,nl,1 | |