【问题标题】:Ideas for optimization algorithm for Fantasy Football梦幻足球优化算法的思路
【发布时间】:2011-11-27 08:47:39
【问题描述】:

所以,这与标准的梦幻足球有些不同。我所拥有的是一份球员名单,他们的平均“每场比赛得分”(PPG)和他们的薪水。我想在我的球队不超过工资帽的限制下最大化每场比赛的得分。一个团队由 1 个 QB、1 个 TE、3 个 WR 和 2 个 RB 组成。因此,如果每个位置有 15 个,我们就有 15X15 X(15 c 3)X(15 c 2) = 10749375 个可能的团队。

相当复杂的计算。我可以使用一些分支和界限,即一旦一个团队超过了工资帽,我可以修剪树,但即使这样,算法仍然很慢。我尝试了另一种选择,我使用“遗传算法”,即随机创建 10 支球队,挑选出最好的一支并将其“变异”(随机改变一些球员)成另外 10 支球队,然后从中挑选出来,然后循环遍历一堆直到“最佳球队”的场均得分不再好转。

必须有更好的方法来做到这一点。我不是计算机科学家,我只参加过算法入门课程。程序员——你的想法是什么?我觉得动态编程的某种应用会有所帮助。

谢谢

【问题讨论】:

  • 我去年为 EPL 做了这个(基于前几个赛季的表现),它仍然没有帮助我赢得胜利,但确实提出了一些我没想到的选择。会找出我的代码。
  • 如今,1000 万种可能的组合并不多。 :)
  • 我无法向您发送消息,请转到我的页面并 ping 我一封电子邮件,我会向您发送我所做的事情的示例。
  • 在[优化任务视图][1] [1]中查找整数规划:cran.r-project.org/web/views/Optimization.html

标签: r genetic-algorithm


【解决方案1】:

我认为智能实现的遗传算法将为您产生可接受的结果。您可能希望使用每薪金点数之类的指标而不是直接 PPG 来决定最佳团队。通过这种方式,您本质上是在衡量附加值。此外,您应该考虑多次运行完整的算法/突变以令人满意地完成,以便您可以确定哪些玩家始终出现在最终结果中。那么这些球员的价值就应该高于其他人。

当然,genetc 方法的问题是您需要一个好的变异算法,并且对于您想要如何实现它来说是非常个人化的。

【讨论】:

    【解决方案2】:

    取 i 为当前 n 名球员中的球员人数, j 为当前剩余工资。取 m[i, j] 为动态解集。

    Then m[i, 0] = 0, m[0, j] = 0
    and
    
    m[i, j] = m[i - 1, j] if salary for player i is greater than j
    
    else
    
    m[i, j] = max ( m[i - 1, j], m[i - 1, j - salary of player i] + PPG of player i)
    

    抱歉,我不懂 R,但我擅长算法,所以希望对您有所帮助。

    你可以做的进一步优化是你真的只需要 2 行 m[i, j] 因为 DP 解决方案只使用当前行和最后一行(你可以这样节省内存)

    【讨论】:

      【解决方案3】:

      首先,您提供的变体不应该是正确的。组建团队的最佳方式是限制位置,而且绝对没有在他们之间移动 3 个相似位置的球员的感觉。

      克里斯蒂安·罗纳尔多、苏亚雷斯和梅西将在任何阵容中为您提供相同的幻想点数,例如: 克里斯蒂安·罗纳尔多、苏亚雷斯和梅西 要么 苏亚雷斯、克里斯蒂安·罗纳尔多和梅西 要么 梅西、苏亚雷斯、C罗

      第一步 - 简化变化的可能性。 下一步 - 计算平均价格,并通过添加薪水较低但价格较高的球员逐个组建团队。当达到工资限制时,删除昂贵的并添加更便宜但具有相同幻想点的 - 等等。不要建立差异,通过薪水和幻想点的组合来衡量每个球员的权重。

      【讨论】:

        【解决方案4】:

        这有帮助吗?它设置约束并最大化点。

        你可以适应从 excel 中获取数据

        http://pena.lt/y/2014/07/24/mathematically-optimising-fantasy-football-teams 24 年 7 月 14 日/数学优化幻想足球队

        【讨论】:

          猜你喜欢
          • 2023-02-22
          • 2017-08-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-13
          • 1970-01-01
          相关资源
          最近更新 更多