Git Product home page Git Product logo

football_scheduling_optimization's Introduction

Football Schedule Optimization with Pyomo

This repository contains code for optimizing football league schedules using Pyomo, a Python-based optimization modeling language. The optimization model is demonstrated using the example of Bundesliga schedule planning.

Medium Article

Here is a Medium article that describes what we are going here with football league schedule optimization :)

Quick start

Run the model with the following:

  • Option 1: python main.py
  • Option 2: streamlit run streamlit_app.py

Introduction

Crafting a football league schedule involves various considerations such as fairness, balance for each team, international competitions, and minimizing travel. This project explores how mathematical optimization can tackle these challenges, focusing on the Bundesliga schedule.

Data

Bundesliga results from 1993โ€“2022 are utilized to define team characteristics, while season 21โ€“22 serves as the basis for building the league schedule. Additionally, the coordinates of each club's stadium are used to consider distances while constructing the optimization model.

Optimization Model

The goal of the optimization model is to assign match round numbers for each fixture, ensuring fairness and adherence to various constraints. Pyomo is employed to formulate the model's constraints and objective function.

Schedule

The optimized Bundesliga schedule is reconstructed using boolean variables generated by the optimization model, ensuring fairness, minimized travel, and an exciting season for football fans.


Feel free to explore the code and adapt it for your own scheduling projects! If you have any questions or suggestions, please don't hesitate to reach out. Let's optimize football schedules together! ๐Ÿ†โšฝ

football_scheduling_optimization's People

Contributors

slavagorch avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.