Я пытаюсь решить эту проблему с бананом, используя PHP
У меня есть список фруктов, которые я хочу купить:
Банан (6)
Яблоко (4)
Апельсин (2)
У меня есть список всех продуктовых магазинов рядом с моим домом с указанием наличия этих фруктов,
$items = [
[
'item_id' => 'banana',
'quantity' => 6,
],
[
'item_id' => 'apple',
'quantity' => 4,
],
[
'item_id' => 'orange',
'quantity' => 2,
],
];
$itemsLocations = [
[
'item_id' => 'banana',
'location_id' => 'iga_sherbrooke',
'cost' => 1.99,
'distance_km' => 5,
],
[
'item_id' => 'banana',
'location_id' => 'iga_magog',
'cost' => 1.85,
'distance_km' => 15,
],
[
'item_id' => 'banana',
'location_id' => 'metro_sherbrooke',
'cost' => 1.89,
'distance_km' => 5,
],
[
'item_id' => 'banana',
'location_id' => 'metro_magog',
'cost' => 1.75,
'distance_km' => 20,
],
[
'item_id' => 'apple',
'location_id' => 'iga_sherbrooke',
'cost' => 1.99,
'distance_km' => 5,
],
[
'item_id' => 'apple',
'location_id' => 'metro_sherbrooke',
'cost' => 1.99,
'distance_km' => 5,
],
[
'item_id' => 'apple',
'location_id' => 'metro_magog',
'cost' => 1.75,
'distance_km' => 20,
],
[
'item_id' => 'orange',
'location_id' => 'iga_sherbrooke',
'cost' => 1.99,
'distance_km' => 5,
],
];
Правила: (в порядок приоритета)
Мне нужно купить все эти предметы
Я хочу заплатить лучшую цену за эти предметы
Мне нужно go в меньшем количестве продуктовых магазинов
Если товары имеются в нескольких продуктовых магазинах, я хочу go до ближайшего ко мне (Заказ по расстоянию_км)
Любая идея, как я могу решить эту проблему с бананом, или любое указание на то, как мне нужно думать об этой проблеме?