An open API service indexing awesome lists of open source software.

https://github.com/yasxv/operational_research

This project aims to develop a library that creates and modify graphs and that implements 2 graph coloring algorithms. The library tests the effectiveness of a coloring (minimization of the number of colors, execution time of the algorithm, etc.)
https://github.com/yasxv/operational_research

coloring-algorithm coloring-graph graph hill-climbing operational-research

Last synced: 7 months ago
JSON representation

This project aims to develop a library that creates and modify graphs and that implements 2 graph coloring algorithms. The library tests the effectiveness of a coloring (minimization of the number of colors, execution time of the algorithm, etc.)

Awesome Lists containing this project

README

          

# Projet de Recherche sur les Algorithmes de Coloration de Graphes

## Description
Ce projet a pour but de développer une librairie permettant de construire des graphes et d'implémenter divers algorithmes de coloration de graphes. La librairie teste l'efficaicité d'une coloration (minimisation du nombre de couleurs, temps d'exécution de l'algorithme etc). La coloration de graphes est un domaine important en théorie des graphes et a de nombreuses applications pratiques, telles que l'allocation de registres en compilation, la planification de tâches, et bien d'autres.

## Structure du Projet
La structure du projet est la suivante :

```
/recherche_op_lib
├── src/
│ ├── main.py
│ ├── graph_coloring/
│ │ ├── __init__.py
│ │ ├── algorithm1.py
│ │ ├── algorithm2.py
│ └── ...
├── tests/
│ ├── test_algorithm1.py
│ ├── test_algorithm2.py
│ └── ...
├── Makefile
└── README.md
```

- `src/` : Contient le code source du projet.
- `main.py` : Le point d'entrée principal du projet.
- `tests/` : Contient les tests unitaires pour les algorithmes.
- `Makefile` : Contient les commandes pour initialiser, installer et tester le projet.
- `README.md` : Ce fichier.

## Installation et Lancement du Projet

Pour initialiser, installer et tester le projet, vous pouvez utiliser les commandes suivantes :

1. **Initialisation du projet :**
```sh
make init
```

2. **Installation des dépendances :**
```sh
make install
```

3. **Exécution des tests :**
```sh
make test
```

## Contribution
Les contributions sont les bienvenues. Veuillez soumettre une pull request pour toute amélioration ou ajout d'algorithmes.

## Licence
Ce projet est libre ! have fun <3