簡體   English   中英

Excel求解器使用字符串

[英]Excel Solver Using Strings

我將盡力解釋這一點。

現在,我有一個包含足球運動員列表的電子表格,每個足球運動員都有指定的薪水和一周的預計總得分。

我的目標是使用規划求解(Solver)或其他方法來確定球員的最佳組合,以在不超過工資帽的情況下最大化預計積分總數。

在此示例中,我有4個單獨的玩家列表,如下所示:

QB:玩家A,玩家B,玩家C ...玩家N RB:玩家a,玩家b,玩家c ...玩家N WR:玩家X,玩家Y,玩家Z ...玩家N TE:玩家x,玩家y,玩家z ...玩家N

我需要包括2個QB,2個RB,2個WR,1個TE和2個“ Flex”的最佳組合,這意味着RB / WR / TE中的任何一個。

我嘗試使用規划求解來最大化投影點總數,但是在這種情況下,可變字段將是玩家的姓名,並且看來可變字段需要是數字,而不是字符串列表。

有任何想法嗎?

我最喜歡的問題:)

這是模型設置:

在此處輸入圖片說明

  • 頂部表顯示了決策變量= 1 ,如果播放器i = A, B, ..., N列表L = QB, .., TE被選擇, =0否則。
  • R列中(頂表旁邊)的條目是每一行的總和。 這些必須受T列中的數字限制。 單元格R7是玩家總數,應為9:2靈活,根據個人列表要求為7。
  • 中間表顯示了薪水(隨機產生50,000至150,000)。 Sum of Salaries公式為=SUMPRODUCT(C11:P14,C3:P6) 這里的想法是只考慮被選中的球員的薪水。 SUMPRODUCT應該受預算約束,該預算在單元格T14 對於我的實驗,我將其等於所有薪金總額的80%
  • 目標 :底表顯示了每個玩家的預計得分。 單元格R22的公式為=SUMPRODUCT(C19:P22,C3:P6) (與上面的薪水邏輯相同)。 這是要最大化的值。

求解器模型如下所示: 在此處輸入圖片說明

我建議選擇“ Simplex LP並轉到“ Options然后將“ Integer Optimality設置為零(0)。

結果

規划求解設法找到最佳解決方案。 這個問題很小,而且很快。 求解器最多可處理200個變量和100個約束,對於大問題,您將需要(商業)擴展版本:

在此處輸入圖片說明

當然,您可以只訂購真實的玩家名稱,以使其適合此設置。 例如,如果您按字母順序對每個列表的球員進行排序,則(Player A, QB) = first player of team QB ,等等。

我希望這有幫助! 讓我知道您是否希望我為您上傳文件。

最好,約阿尼斯

Excel的求解器基於數值方法。 將其應用於由離散值組成的域(例如字符串或足球運動員)可能會失敗。 您應該考慮使用“真實”編程語言(例如c#,java,python,ruby或javascript)編寫蠻力求解器。 如果存在性能問題,請從那里進行優化。

求解器在這里不起作用,因為它不是您需要的數字解決方案。

制作一個電子表格,在每行上都包含位置播放器(符合您的條件)的所有可能組合。 然后制作一個Excel公式,根據該行中的播放器計算投影點總數。 按投影點列對電子表格進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM