如何将 Excel 求解器与 IF 语句一起使用?

How do I use Excel Solver with IF statements?

我有 table 的网球运动员,我已经计算出他们以三种不同的方式赢得各自比赛的概率,例如前 10 场比赛获胜的百分比,比赛中的首次发球百分比等等。我已经为这些概率中的每一个分配了权重以创建混合概率,我将其转换为预测赔率。然后,我将这些预测赔率与博彩公司提供的实际赔率进行比较,得出 'edge'。优势意味着博彩公司提供的赔率高于应有的赔率,并且下注有 'value'。存在三种可能的情况:

  1. 边缘 >= 边缘阈值,玩家赢然后我赢 £100 x 实际赔率
  2. 边缘 >= 边缘阈值,玩家输了我就输了 £100
  3. Edge < Edge threshold, 不赌所以不输也不输

我想找出产生最高利润水平的三个概率和边缘阈值的最佳组合。我尝试使用 Excel Solver 来执行此操作,但显然它无法处理 IF 语句。我在一些地方读到过,您可以将 IF 语句转换为复杂的公式来解决这个问题,但我还没有找到足够清晰的示例。有哪些潜在的解决方案?

这里是 table:

的示例供参考

+-----+---------------+---------------+---------------+---------------------+----------------+--------------+--------+-----------+-------------+
| PKG | Probability 1 | Probability 2 | Probability 3 | Blended probability | Predicted odds | Actuals odds |  Edge  | WIN/ LOSE | Overall P&L |
+-----+---------------+---------------+---------------+---------------------+----------------+--------------+--------+-----------+-------------+
|   1 | 32.4%         | 28.6%         | 74.0%         | 43.4%               |           2.31 |         2.81 |   7.86 |         1 |           0 |
|   2 | 36.2%         | 34.1%         | 61.0%         | 42.8%               |           2.34 |         4.47 |  20.39 |         0 |        -100 |
|   3 | 55.2%         | 58.2%         | 42.0%         | 52.4%               |           1.91 |         4.13 |  28.19 |         1 |         413 |
|   4 | 60.7%         | 64.7%         | 67.0%         | 64.2%               |           1.56 |         1.44 |  -5.17 |         0 |           0 |
|   5 | 33.7%         | 40.1%         | 75.0%         | 48.6%               |           2.06 |         2.32 |   5.57 |         1 |           0 |
|   6 | 48.7%         | 47.8%         | 77.0%         | 56.8%               |           1.76 |         3.41 |  27.46 |         0 |        -100 |
|   7 | 55.2%         | 64.1%         | 79.0%         | 65.9%               |           1.52 |         2.38 |  23.87 |         1 |         238 |
|   8 | 45.6%         | 34.9%         | 30.0%         | 36.6%               |           2.73 |         3.70 |   9.63 |         0 |           0 |
|   9 | 56.9%         | 63.1%         | 49.0%         | 57.0%               |           1.75 |         3.00 |  23.64 |         1 |         300 |
|  10 | 38.6%         | 37.6%         | 25.0%         | 34.1%               |           2.93 |         3.25 |   3.32 |         0 |           0 |
|  11 | 56.4%         | 56.4%         | 63.0%         | 58.4%               |           1.71 |         2.74 |  21.90 |         1 |         274 |
|  12 | 71.3%         | 78.1%         | 38.0%         | 64.1%               |           1.56 |         3.66 |  36.75 |         0 |        -100 |
|  13 | 61.4%         | 67.5%         | 72.0%         | 67.0%               |           1.49 |         1.23 | -14.50 |         1 |           0 |
|  14 | 66.4%         | 73.0%         | 76.0%         | 71.9%               |           1.39 |         1.42 |   1.46 |         0 |           0 |
|  15 | 56.1%         | 64.8%         | 21.0%         | 49.1%               |           2.04 |         1.35 | -25.19 |         1 |           0 |
|  16 | 61.5%         | 53.4%         | 57.0%         | 56.9%               |           1.76 |         1.37 |  21.03 |         0 |        -100 |
|  17 | 32.4%         | 26.2%         | 45.0%         | 33.7%               |           2.97 |         1.45 | -35.14 |         1 |           0 |
|  18 | 69.5%         | 62.5%         | 43.0%         | 58.8%               |           1.70 |         1.77 |   2.19 |         0 |           0 |
|  19 | 65.0%         | 65.3%         | 45.0%         | 59.1%               |           1.69 |         3.66 |  31.81 |         1 |         366 |
|  20 | 73.1%         | 81.9%         | 45.0%         | 68.2%               |           1.47 |         1.12 | -21.03 |         0 |           0 |
|  21 | 52.2%         | 51.4%         | 25.0%         | 43.7%               |           2.29 |         2.59 |   5.14 |         1 |           0 |
|  22 | 30.9%         | 38.2%         | 27.0%         | 32.6%               |           3.06 |         2.26 | -11.61 |         0 |           0 |
|  23 | 61.6%         | 43.1%         | 46.0%         | 49.5%               |           2.02 |         2.82 |  14.11 |         1 |           0 |
|  24 | 58.6%         | 73.4%         | 34.0%         | 57.1%               |           1.75 |         4.21 |  33.38 |         0 |        -100 |
|  25 | 64.4%         | 72.8%         | 61.0%         | 66.7%               |           1.50 |         2.24 |  21.99 |         1 |         224 |
+-----+---------------+---------------+---------------+---------------------+----------------+--------------+--------+-----------+-------------+

权重如下:

+---------------+-----------+
|     Blend     | Weighting |
+---------------+-----------+
| Probability 1 | 30.0%     |
| Probability 2 | 40.0%     |
| Probability 3 | 30.0%     |
+---------------+-----------+

预测赔率使用以下公式计算:

=1/Blend prob

边缘使用以下公式计算:

=(100/Pred odds)-(100/Act odds)

当前边缘阈值为20。

计算整体盈亏的IF语句为:

=IF(WIN/LOSE=1,IF(Edge>=Edge threshold,100*Act odds,0),IF(Edge>=Edge threshold,-100,0))

我设置求解器如下:

  1. Objective:汇总总损益单元格的单元格的最大值
  2. 变量:i) 上面的权重单元格作为固定值和 ii) 边缘阈值作为固定值的单元格
  3. 常量:对权重求和的单元格 - 设置为 1 (100%) 并将边缘阈值设置为整数
  4. 方法:尝试了 GRG 非线性和进化(后者应该能够处理 'non-smooth' 问题,即 IF 语句)

所以我使用 Solver 测试了你的样本数据,设置如下:

变量范围是C29:C32(三个权重和阈值);

约束是:

  • C29:C31<=1 因为它们是概率;
  • C32<=100 必须为此变量设置一个上限,所以我选择了 100 哪个应该是安全的?
  • C33=1 三个权重之和应该是 100% 准确的?

使用进化方法得到如下:

  • 最大利润:2210
  • 概率 1:37.5%
  • 概率 2:9.1%
  • 概率 3:53.4%
  • 阈值:18

I think the WIN/LOSS result plays a significant role in this exercise but what would be the reasonable constraints for this range except binary?