Veuillez cloner le référentiel
git clone https://github.com/untypequicode/finding-nemo.gitcd src/main/codePour exécuter le programme, vous devez disposer de Python 3.10 ou d'une version ultérieure. Vous pouvez installer Python à partir de python.org.
python main.py [fichier_données] [méthode] [OPTIONNEL] [nombre_de_secteurs] [fichier_sortie]-
[fichier_données]: Le chemin d'accès vers les fichiers de données au format TXT. Il est possible de fournir plusieurs dossiers contenant plusieurs fichiers de données. Il est également possible de fournir un nombre pour limiter le nombre de fichiers à traiter, ce qui traitera les n premiers fichiers du dossier. Il est possible de fournir un_pour traiter tous les fichiers de tous les sous-dossiers. -
[méthode]: La méthode à utiliser pour résoudre le problème. Il est possible de fournir plusieurs méthodes en les mettant à la suite séparées par un espace. Les méthodes disponibles sont :idiot: Méthode de résolution naïve.ratio: Méthode de résolution basée sur le ratio entre les ressources et les besoins.glouton: Méthode de résolution gloutonne.ratio2: Méthode de résolution basée sur le ratio entre les ressources et les besoins.s_idiot: Méthode de résolution naïve avec secteurs.s_idiot2: Méthode de résolution naïve avec secteurs.s_blur: Méthode de résolution floue avec secteurs.s_magni: Méthode de résolution par magnification avec secteurs.s_magni2: Méthode de résolution par magnification avec secteurs.affiche: Affiche les données du fichier de données (pour le débogage).visualiser: Enregistre et affiche une visualisation du problème résolu ou non.minorant: Calcule un minorant pour la valeur du TXT (sans résoudre le problème).verifier: Vérifie si la solution fournie dans un fichier de sortie est correcte.
Note : Les méthodes de résolution les plus fonctionnelles et à utiliser sont :
idiot,ratio2,s_idiotets_magni2. -
[OPTIONNEL] [nombre_de_secteurs]: Nombre de secteurs pour les méthodes de résolution avec secteurs.- Si les méthodes 's_idiot', 's_idiot2', 's_blur', 's_magni' ou 's_magni2' sont utilisées, il est possible de fournir un nombre de secteurs.
- Si aucun nombre n'est fourni, les méthodes seront exécutées pour 8 secteurs.
- Si un seul nombre est fourni, les méthodes seront exécutées pour ce nombre de secteurs.
- Si deux nombres sont fournis, les méthodes seront exécutées pour un nombre de secteurs allant de la première valeur à la deuxième valeur - 1.
- Si trois nombres sont fournis, les méthodes seront exécutées pour un nombre de secteurs allant de la première valeur à la deuxième valeur - 1 avec un pas de la troisième valeur.
- Si plus de trois nombres sont fournis, les méthodes seront exécutées pour chaque nombre fourni.
-
[OPTIONNEL] [fichier_sortie]: Le chemin d'accès vers les fichiers de sorties pour enregistrer la solution résolue.- Si la méthode
visualiserest utilisée, il est possible de fournir un fichier solution pour visualiser le problème résolu. - Si la méthode
verifierest utilisée, il est possible de fournir un fichier de sortie contenant la solution à vérifier sinon l'ensemble des solutions sera vérifié.
- Si la méthode
python3 main.py ../instances/sort_instances/10_10/ ../instances/sort_instances/30_30/ ../instances/toy_instances/ s_idiot2
python3 main.py ../instances/instances/ s_idiot verifier visualiser
python3 main.py ../instances/toy_instances/ s_idiot2 visualiser verifier export/toy01_s_idiot2.txt
python3 main.py ../instances/sort_instances/_ s_magni visualiser verifier
python3 main.py ../instances/sort_instances/_ idiot ratio2 glouton s_magni2 visualiser verifier 5 7 10 15Le script lit les fichiers de données, applique les méthodes de résolution spécifiées et enregistre les solutions dans des fichiers de sortie. Il peut également afficher les données, visualiser les solutions et vérifier leur validité.