Самый эффективный способ получить вещи / банан через несколько мест / продуктовые магазины - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь решить эту проблему с бананом, используя 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 до ближайшего ко мне (Заказ по расстоянию_км)

Любая идея, как я могу решить эту проблему с бананом, или любое указание на то, как мне нужно думать об этой проблеме?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...