/FIFA-23-Automated-SBC-Solving

FIFA 23 Automated SBC Solving using Integer Programming ⚽

Primary LanguagePythonMIT LicenseMIT

FIFA 23 Automated SBC Solving ⚽ Open In Colab

Notes

The project utilizes a dataset of 10,000 players (input.csv) obtained from FutDB along with their respective prices, as the input source. The data has been also manually tinkered with to fill in some of the gaps.

The goal is to obtain the squad with the minimum cost.

The dataset serves as a proof-of-concept demonstration of the system's functionality, however, it is ideal to have a real-time dataset that includes the entire club of the user along with the player prices. In other words, the program is only as good as the data.

Update: I was able to import my club's dataset (Catamarca FC.csv) from here.

The inputs to the different constraints can be found in the input.py file.

The constraints used in the program are created in the optimize.py file and the optimization problem is solved using Google CP-SAT solver.

The program implements most of the common constraints (L529-565 in optimize.py). Feel free to comment out the constraints that are not required.

Currently the inputs are set to solve this SBC challenge. The final list of players is written into the file output.xlsx.

To execute the program, simply run py main.py after installing the required dependencies.

Dependencies

Run pip3 install -r requirements.txt to install the required dependencies.