Я не специалист по информатике, поэтому у меня довольно ограниченное знание алгоритмы. В последнее время я думал о каком-то рыночном боте, и у меня есть ключевой вопрос, с которым я не могу справиться с грубой силой.Учитывая большой список предметов с ценой и стоимостью, выберите самую дешевую комбинацию из 10 предметов со средним значением, большим или равным фиксированному значению
Question: Let there be a list of items, where number of items are greater
than 10000. Each item has a value in between 0 and 1, and a price. Value and
price are independent of each other. You must choose the cheapest 10 items
where their average (or total) value is greater or equal than a given value.
Я думал, что из нескольких алгоритмов, такие как:
-Sort the list by price
-Divide the list in 5 item chunks, reducing the brute
force steps from 10000nCr10 to 2000nCr2.
Очевидно, что это не даст истинное дешевое сочетания, но, надеюсь, достаточно близко? Я ценю любую помощь.
но что «достаточно близко»? –
Почему вы выбрали 10 предметов, которые составляют определенную сумму. вместо того, чтобы брать самые дешевые? если речь идет только о достижении определенной суммы, вы должны взглянуть на проблемы с упаковкой. –
@ guillaumegirod-vitouchkina В этом случае достаточно близко будет означать любое достойное решение, которое бытовой процессор (~ 2 ГГц) может получить в ~ 5 минут. Я знаю, что это действительно расплывчато, но я не знаю, как количественно определить «достаточно близко». – cozkul