Привет, люди Stackoverflow,
Я управляю сайтом, который находит своих пользователей самым дешевым местом для покупки книг. Это легко для одной книги, но для нескольких книг иногда бывает дешевле купить одну книгу в одном магазине, а другую - в другом.
В настоящее время я нахожу самый дешевый магазин, который продает все книги в списке пользователей, но я хочу иметь более умную систему. Вот еще немного информации:
- Цена книги постоянна для магазина.
- Цена доставки может варьироваться в зависимости от количества книг или общей стоимости книг.
- Каждый объект магазина может взять массив книг и вернуть стоимость доставки.
- Часто не каждый магазин продает каждую книгу.
Не уверен, стоит ли ссылаться на мой сайт здесь, но он указан в моем профиле пользователя.
Я бы хотел найти самую дешевую комбинацию магазинов и книг.
Боюсь, это требует подхода грубой силы - и с 35 магазинами количество комбинаций будет огромным для скромного количества книг. Я чувствую, что количество комбинаций (#shops) ^ (# books) - но не 100%
Вопрос в том, какой подход я должен использовать? Эта проблема вписывается в хорошо известный класс проблем? Если требуется грубая сила, каков хороший способ сделать это в Ruby, и могу ли я расставить приоритеты в магазинах, чтобы попробовать в первую очередь?