From d95c002cc9f2b288fbdc56f0ebf2aad25e8c02c2 Mon Sep 17 00:00:00 2001 From: aristidecod <sie.ouattara@etu.univ-amu.fr> Date: Wed, 29 Jan 2025 21:13:33 +0100 Subject: [PATCH] ajout Readme.md --- Readme.md | 54 +++++++++++++++++++++++++++++++ out/production/aroTP2/App.class | Bin 583 -> 625 bytes out/production/aroTP2/Loot.class | Bin 1160 -> 1160 bytes 3 files changed, 54 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..2684370 --- /dev/null +++ b/Readme.md @@ -0,0 +1,54 @@ +# Solveur de Sac à Dos par Branch and Bound + +Programme Java implémentant l'algorithme Branch and Bound avec relaxation fractionnaire pour résoudre le problème du sac à dos 0/1 de manière optimale. + +## Fonctionnalités +- Algorithme d'exploration avec élagage par bornes +- Calcul de borne supérieure par méthode fractionnaire +- Lecture des données depuis un fichier texte +- Tri préalable des objets par ratio valeur/poids +- Statistiques d'exécution (nœuds explorés) +- Affichage de la solution optimale détaillée + +## Prérequis +- Java JDK 11 ou supérieur +- Fichier d'instance au format spécifié + +## Installation +1. Cloner/déposer les fichiers sources dans un dossier +2. Modifier le chemin du fichier dans `App.java` : +```java +// Ligne à modifier dans App.java +Backpack backpack = new InstanceReader().read("chemin/vers/votre_fichier.txt"); +``` + +## Compiler le projet : +```bash +javac -d bin src/*.java +``` + +## Utilisation +```bash +java -cp bin App +``` +## Exemple de sortie : + La valeur optimale est : 220 + Objets inclus dans la solution optimale : [true, false, true, true] + Nombre de nœuds explorés : 27 + +## Structure du code +| Classe | Description | +|-----------------|----------------------------------------------| +| Backpack | Implémente l'algorithme principal | +| Loot | Représente un objet avec ratio valeur/poids | +| InstanceReader | Lit et parse les fichiers d'instance | +| App | Point d'entrée du programme | + +## Membre(s) du projet + +- OUATTARA Sie +- GOUNOU Boubacar + +## Licence + +MIT License - Libre d'utilisation et modification \ No newline at end of file diff --git a/out/production/aroTP2/App.class b/out/production/aroTP2/App.class index cd72d5fdbb17825ce855a1b9f61572d83d12126b..1e4b3260fdd102ef289c8dbb8562734ddeac761f 100644 GIT binary patch delta 65 zcmX@k@{wgixS6SbMt*LpeqvE(aY<%MYI1&xzDs^`X>Mv>NwI!XQDR<lhHheBif&SV UX<mwcaZ$2<abmK;#^fiA05DS+&Hw-a delta 23 ecmey!a-3yCI1hJmQL=t<Vsc1oammKsCyW4T`Ux-q diff --git a/out/production/aroTP2/Loot.class b/out/production/aroTP2/Loot.class index 88c549853e6b352a7f562efc7945c9306b874007..bc14dcc2b219d38772d8b2f664a991b6eba276ba 100644 GIT binary patch delta 22 dcmeC+?BLvRiHTE)ft!Jcfq_A2^KGWJi~v1%1t|ak delta 22 dcmeC+?BLvRiHVbmft!Jcfq{W(^KGWJi~u}01qlEE -- GitLab