Коэффициенты объективной функции "справедливости" в инструментах исследования операций Google - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь сформулировать проблему максимизации с помощью пакета Google OR-Tools.В основе оптимизации лежит проект Fantasy MLB Auction.

Проблема включает в себя следующие ограничения:

1) Предел зарплаты в размере 260

2) 23 игрока всего

2a) Не менее 1: Ловец, Первый человек с низов, Второй человек с низов, Третий человек с низами, Короткая остановка

2b) По крайней мере 2: Стартовые кувшины, Вспомогательные кувшины, Утилиты (любой жидкий тест)

2c) По крайней мере 3: Внешние игроки, Кувшины (любой кувшин)

2d) Ровно 6: Игроки на скамейке (любой кувшин или любое жидкое тесто)

Моя лига Fantasy MLB состоит из 6 категорий ватинов и 6 категорий питчинга.В идеале я стремлюсь максимизировать линейку, которая максимизирует каждую из этих статистических категорий при соблюдении вышеупомянутых ограничений.Мой подход очень похож на этот Оптимизатор NBA .

Как и в примере с Оптимизатором NBA, я организовал прогнозы / значения игроков для каждой из 12 статистических категорий на предстоящий сезон.

Затем я передаю всю эту статистику в Google OR-Пакет инструментов:

solver.Maximize(
    CatcherHomeRuns + FirstBasemanHomeRuns + SecondBasemenHomeRuns...
    StartingPitcherStrikeouts + ReliefPitcherStrikeouts...)

Функция solver.Maximize - это огромный блок, содержащий все типы позиций игрока и связанные с ними метрики.

Моя главная задача сейчас состоит в том, чтобы я неправильно сформулировал эту целевую функцию (возможно, исходя из ограничений задачи).Моя интуиция подсказывает мне, что я должен предоставить коэффициенты или весовые коэффициенты в решателе. Максимизируйте целевую функцию для каждой из частей, чтобы «сбалансировать» функцию так, чтобы каждая из 12 статистических категорий была индивидуально развернута.

Я с удовольствием уточню свой подход, но буду благодарен за любые отзывы о том, как я собираюсь сформулировать свою целевую функцию.

...