Optimization for FPL with Python - Episode 4: Alternative Solutions and Multi-Objective Optimization

preview_player
Показать описание
In this episode, we are adding two very cool features to our FPL model: generating alternative solutions and balancing between long-term and short-term gains.

The main purpose behind adding alternative solutions to model is to use it as a decision support tool. Because we often disagree with results an algorithm generates, and seeing alternative ways and their key performance indicators is a better way to make decisions.

Make sure to have "pandas", "sasoptpy", and "matplotlib" packages installed in your Python environment. Don't forget to add the directory of the CBC solver to your PATH environment variable. Latest binaries of CBC is available on GitHub repository:

Final script is on GitHub:

You can leave your questions below, or ask them on Twitter:
Рекомендации по теме
Комментарии
Автор

Hi Sertalp, how would you include different bench weightings in these models, as you've been experimenting with on Twitter? Define bench in variables and dictionaries then add to the objective? (ideally a weight for each bench position). Also being able to set a minimum threshold for xMins would be handy

I've been running the pre-season problem and I'm getting a really cheap bench and several high-risk, low mins players - great for maximising lineup XP but it's risky. And I learned from last season this probably isn't the best way to start!

drjones
Автор

For what it's worth, get_random_id() can be slightly shortened by using "choices" instead of "choice" such as :
def get_random_id(n):
return + string.digits, k=n))

limitholdem
Автор

Really enjoy these videos but this episode is too difficult for me. I guess I will not generate alternative solutions.. Will try to follow the other ones!

HC-jdrc
Автор

Do you think you will ever make any predictive models

josephhoward