Мне нужен способ получить наибольшее количество очков игроков в пределах зарплаты, т.е. 50,000
Здесь есть похожий вопрос Алгоритм выбора игрока с максимальным количеством очков, но с заданной стоимостью.
В основном я должен выбрать оптимальный состав из 9 игроков.
Я много гуглю и обнаружил, что этого можно добиться с помощью линейного программирования. Но я не знаю, как я могу использовать Lp в php.
Любая идея, как я могу достичь этого или есть другой способ сделать это?
Если вы храните информацию в массивах, я считаю, что вы могли бы достичь результата, используя array_multisort
который дал бы результат, аналогичный SQL-порядку. Например, order by points DESC, salary ASC
, Это вернуло бы массив с лучшими игроками на вершине, и если у любого из них было одинаковое количество очков, первым был бы тот, с самой низкой зарплатой.
Ответ на этот Вопрос показывает, как использовать array_multisort
,
Других решений пока нет …