1

我正在尝试使用 Google 的 OR-Tools 包来制定最大化问题。优化的基础是 Fantasy MLB Auction 草案。

该问题涉及以下约束:

1) 薪金上限 $260

2) 总共 23 名玩家

2a) 至少 1 名:捕手、一垒手、二垒手、三垒手、游击手

2b) 至少 2 名:先发投手、后援投手、实用型球员(任何击球手)

2c) 至少 3 名:外野手、投手(任何投手)

2d) 正好 6:替补球员(任何投手或任何击球手)

My Fantasy MLB 联赛由 6 个击球类别和 6 个投球类别组成。理想情况下,我希望在尊重上述限制的同时最大化每个统计类别的阵容。我的方法与这个NBA Optimizer非常相似。

与 NBA Optimizer 示例类似,我为即将到来的赛季的 12 个统计类别中的每一个组织了球员预测/值。

然后我将所有这些统计数据传递到 Google 的 OR-Tools 包中:

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

solver.Maximize 函数是一个包含所有玩家位置类型及其相关指标的巨大块。

我现在主要担心的是我错误地制定了这个目标函数(也许是基于问题的约束)。我的直觉告诉我,我应该在求解器中提供系数或权重。最大化每个部分的目标函数以“平衡”该函数,从而使 12 个统计类别中的每一个都单独最大化。

我很高兴进一步澄清我的方法,但如果对我将如何制定目标函数提供任何反馈,我将不胜感激。

4

0 回答 0