Un algorithme de recherche dispersée pour le problème MAX-SAT

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Une application des algorithmes génétiques à l ordonnancement d atelier

Cours de Master Recherche

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Minimisation de la somme des retards dans un jobshop flexible

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

LES MÉTA-HEURISTIQUES : quelques conseils pour en faire bon usage

Approche d'évaluation pour les problèmes d'ordonnancement multicritères : Méthode d'agrégation avec direction de recherche dynamique

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Résolution d équations non linéaires

Curriculum Vitae - Emmanuel Hebrard. Emmanuel Hebrard

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Nouveau Barème W.B.F. de points de victoire 4 à 48 donnes

Les colonies de fourmis : apprentissage coopératif pour le problème du voyageur de commerce

Une méthode de classification supervisée sans paramètre pour l apprentissage sur les grandes bases de données

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

Resolution limit in community detection

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

OpenSAT : Une plate-forme SAT Open Source

Système Immunitaire Artificiel Parallèle appliqué aux Flow Shop Hybride (FSH)

Solution logicielle pour le pilotage et l ERM. Journées d études IARD 26 mars mars 2010

INTRODUCTION AUX TESTS CODES DE L INTERFACE UTILISATEUR

Laboratoire d Automatique et Productique Université de Batna, Algérie

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Hela Boukef. To cite this version: HAL Id: tel

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Annexe 6. Notions d ordonnancement.

TP N 57. Déploiement et renouvellement d une constellation de satellites

Fig.1. Structure d un AGQ

Problème d ordonnancement de véhicules en variables booléennes

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Méthaheuristiques pour l optimisation combinatoire et l affectation sous contraintes

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Ordonnancement robuste et décision dans l'incertain

Recherche locale pour un problème d optimisation de tournées de véhicules avec gestion des stocks

Quelques algorithmes simples dont l analyse n est pas si simple

Méthodes de résolution de problèmes. difficiles académiques

Une méthode d apprentissage pour la composition de services web

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Coup de Projecteur sur les Réseaux de Neurones

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Un modèle réactif pour l optimisation par colonies de fourmis : application à la satisfaction de contraintes

Agrégation des portefeuilles de contrats d assurance vie

Stratégie de recherche adaptative en programmation par contrainte

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Principe de symétrisation pour la construction d un test adaptatif

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

EXPERIMENTATIONS DE METHODES PARALLELES DE RECHERCHE D INFORMATION SUR INTERNET

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Problème à résoudre. min f(s) s.c. s S

Big Data et Graphes : Quelques pistes de recherche

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Théorèmes de Point Fixe et Applications 1

UNE APPROCHE D OPTIMISATION-BASEE SUR LA SIMULATION POUR LA CONCEPTION D UN RESEAU DE DISTRIBUTION STOCHASTIQUE MULTI FOURNISSEURS

La qualité des services mobiles en France métropolitaine

Pour une mobilité sure et durable des

En vue de l'obtention du. Présentée et soutenue par Abir BEN HMIDA SAKLY Le 12/12/2009

Big Data et Graphes : Quelques pistes de recherche

GeniMiner, un moteur de recherche génétique

Concepts et systèmes de stockage

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ

Programmation Linéaire - Cours 1

Jean-Philippe Préaux

Algorithmique et structures de données I

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

DOCUMENT DE TRAVAIL Centre de recherche sur l aide à l évaluation et à la décision dans les organisations (CRAEDO)

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

A GRASPxELS approach for the Job Shop with generic time-lags and new statistical determination of the parameters

Agrégation de liens xdsl sur un réseau radio

«Silva Cell Investir dans l infrastructure verte»

Guide de Tarification. Introduction Licence FD Entreprise Forfaits clé en main SaaS SaaS Dédié SaaS Partagé. Page 2 Page 3 Page 4 Page 5 Page 8

Associations Dossiers pratiques

Programmation linéaire

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Économie d énergie dans les centrales frigorifiques : La haute pression flottante

Calculs Computional fluide dynamiques (CFD) des serres à membrane de Van der Heide

Création intuitive des éléments d un paysage

Couplage efficace entre Optimisation et Simulation stochastique Application à la maintenance optimale d une constellation de satellites

OASIS Date de publication

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Conception de réseaux de télécommunications : optimisation et expérimentations

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

La programmation à mémoire adaptative ou l évolution des algorithmes évolutifs

Biostatistiques Biologie- Vétérinaire FUNDP Eric Depiereux, Benoît DeHertogh, Grégoire Vincke

Competence Management System (Système de Gestion de Compétences)

Allocation Robuste et Restrictions sur les Contributions au Risque

Continuité et dérivabilité d une fonction

Système immunitaire artificiel

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

Programmation linéaire

Transcription:

293 Prépublication n 44 Fascicule n 2 Un algorithme de recherche dispersée pour le problème MAX-SAT Dalila Boughaci LSIS, UMR CNRS 6168, CMI 39 rue Frédéric Joliot-Curie, 13453 Marseille LRIA-USTHB BP32 El-Alia, Beb-Ezzoaur, Algiers, 16111 boughaci@cmi.univ-mrs.fr Résumé : Dans ce papier, nous proposons une variante de recherche dispersée (SSV) pour le problème MAX-SAT. Notre approche est basée sur la diversité et la qualité pour choisir une collection de solutions qui participent à la phase de reproduction pour donner une descendance. L approche utilise un opérateur de combinaison spécifique au problème MAX-SAT pour générer de nouvelles solutions qui sont améliorées par une recherche locale stochastique (SLS). Plusieurs expérimentations numériques sont réalisées sur des instances MAX-SAT dans le but de tester et de prouver l efficacité de notre approche Mots-clés : satisfiabilité, MAX-SAT, recherche dispersée, recherche locale, opérateur de combinaison, diversification, intensification. 1 Introduction Le problème SAT de la logique booléenne est le premier problème démontré NP-Complet [1]. C est la satisfiabilité d une formule propositionnelle donnée sous forme clausale : conjonction de clauses, où chaque clause est une disjonction de littéraux, et un littéral est une variable ou sa négation. Le problème est de décider alors s il y a une affectation de valeurs de vérité aux variables propositionnelles qui rend la formule vraie. Dans le cas où cette affectation n existe pas, l ensemble de clauses est dit non satifaisable et une variante du problème appelée MAX-SAT est introduite. Cette variante consiste à chercher une affectation de valeurs de vérité qui maximise le nombre de clauses satisfaites. Pour contribuer à la résolution du problème MAX-SAT par les approches évolutionnaires, nous proposons, tout d abord, une nouvelle stratégie de sélection qui se base sur la diversité et la fitness pour choisir une collection de solutions qui participent à la phase Dalila Boughaci «Un algorithme de recherche dispersée pour le problème MAX-SAT»

294 de reproduction pour donner une descendance. Ensuite, nous utilisons un opérateur de combinaison spécifique au problème MAX-SAT pour générer de nouveaux enfants qui sont améliorés par une recherche locale stochastique (SLS). Les trois composantes proposées ont été incorporées dans un algorithme de recherche dispersée, et ce pour résoudre le problème MAX-SAT. 2 Une variante de recherche dispersée pour MAX-SAT La variante de recherche dispersée proposée pour résoudre le problème MAX-SAT démarre d une population variée P de solutions. Ensuite, une collection B de solutions est choisie parmi la population courante pour participer à la phase de reproduction et produire d autres solutions. La collection B contient, d une part, un certain nombre B 1 de bonnes solutions choisies selon leur fitness. D autre part, un certain nombre B 2 de solutions sont tirées de la population restante P B et rajoutées à la collection B pour la compléter. Les B 2 solutions sont les solutions les plus éloignées des meilleures solutions de B, elles sont appelées : solutions diversifiées. La diversité d une solution est mesurée par la distance de Hamming. La nouvelle stratégie de sélection que nous proposons aide l algorithme à maintenir à chaque génération une population diversifiée et de meilleure qualité. Après avoir choisi un ensemble de solutions bonnes et diversifiées, la phase de reproduction est lancée. Une fois que deux parents sont choisis, leurs chromosomes sont combinés pour construire un enfant. La combinaison utilise un opérateur spécifique au problème MAX-SAT permettant de restaurer la consistance des clauses falsifiées simultanément par les parents. L opérateur de combinaison essaie de minimiser le nombre de clauses falsifiées par le fils résultant des parents. Il combine deux parents appartenant à la collection B. Le nouveau fils est ensuite amélioré par la recherche locale stochastique basée sur Walksat [2], et rajouté à la collection de solutions dans le cas où il améliore la qualité ou la diversité de la collection courante. Autrement, il sera écarté. Ce processus est réitéré pour un certain nombre de générations fixé d une manière empirique. L algorithme de la variante de recherche dispersée pour le problème MAX-SAT est donné dans la procédure 1. 3 Résultats expérimentaux Dans le but de valider notre approche, des tests ont été effectués sur différents problèmes MAX-SAT. Dans nos expériences, nous avons considéré des instances de MAX-2-SAT et MAX-3-SAT produites par Borchers et al 1. En plus de ces instances, nous avons considéré des instances de la librairie de SATLIB 2. Nos algorithmes ont été implémentés en C sous Linux et sous la machine Pentium-IV 2.8 GHZ, 1GB de RAM. Afin de bien évaluer la qualité des solutions trouvées, nous avons implémenté les algorithmes de comparaison suivants : GA : est un algorithme génétique standard utilisant un croisement uni-point, une mutation standard et sans recherche locale ; SLSA : est la recherche locale stochastique basée sur Walksat, exécutée toute seule. 1. http ://www.nmt.edu/ borchers/maxsat.html. 2. http ://www.cs.ubc.ca/ hoos/satlib/benchm.html.

295 Algorithme 1: Procédure 1 : algorithme de la recherche dispersée pour MAX-SAT Entrée : une instance MAX-SAT Sortie : une affectation booléenne maximisant le nombre de clauses satisfaites début Générer une population initiale variée P ; tant que le nombre maximum de générations n est pas atteint faire Sélectionner un ensemble de référence B de P ; tant que une nouvelle solution est introduite dans B faire Pour chaque deux solutions de B, utiliser l opérateur de combinaison pour produire une nouvelle solution V ; Améliorer la nouvelle solution en utilisant la SLS ; si V améliore la qualité de B alors Ajouter V aux B 1 meilleures solutions ; Enlever de B la mauvaise solution ; sinon si V améliore la diversité de B alors Ajouter V aux B 2 solutions dispersées ; Enlever de B la solution la moins dispersée ; Régénérer une nouvelle population P ; retourner la meilleure solution trouvée. fin Les paramètres de la SSV : la taille de la population =100, la taille de l ensemble de référence B 1 = 5, B 2 = 5. L étape de la recherche locale est lancée pour 60s pour chaque appel, wp = 0.3 et dp = 0.6.. Les paramètres de la GA : la taille de la population =100, le taux de croisement (uni-point)= 0.6 et le taux de la mutation = 0.1. Les paramètres de la SSLA : wp = 0.3 et dp = 0.6.. Un temps total de 300 seconde a été fixé pour les trois méthodes, et ce pour mesurer d une manière équitable la performance de chacune. Instances SAT SSV GA SLSA (#Vars/#Cls) sol time sol time sol time par16-5(1015/3358) Y 1 17.87 485 171.81 3 169.2 par32-1-c (1315/5254) Y 6 185.04 615 142.7 9 273.54 par32-5 (3176/10325) Y 8 54.03 1575 157.5 17 295.5 ais12 (265/5666) Y 0 97.26 642 280.18 1 2.03 Mat25 (588/1968) N 3 181.81 270 202.15 5 119.15 Mat26 (744/2464) N 3 251.62 335 228.18 10 127.93 color-10-3 (300/6475) Y 0 61,84 167 142.11 0 85.46 color-18-4 (1296/95904) Y 15 23.75 273 22.26 31 168.82 glassy-v450-(450/2100) Y 8 163.39 197 197.2 10 160.25 hgen2-v500-a (500/1750 Y 1 181.45 171 90.75 3 140.92 difp_19_0 (1201/6563) Y 14 20.56 628 98.54 18 240.06 difp_19_3 (1201/6563) Y 9 200.37 637 240.07 19 284.00 difp_19_99 (1201/6563) Y 10 139.17 619 116.15 15 249.59 f1000 (1000/4250) Y 3 166.56 450 255.10 7 239.82 f2000 (2000/8500 Y 5 215.01 958 146.34 24 231.42 f600 (600/ 2550) Y 0 12.20 236 208.26 3 254.21 jnh208 (100/800) N 1 0.5780 27 93.57 1 5.25 jnh209 (100/800) Y 0 0.0790 24 99.43 0 2.23 p2300 (150/300) N 4 0.0160 40 297.37 4 0.016 p2450 (150/450) N 22 0.0160 69 209.93 22 0.063 p3400 (50/400) N 11 0.01 24 51.34 11 0.141 p3450 (50/450) N 15 0.01 29 87.32 15 0.188 p3750 (150/ 750) N 5 0.03 52 288.23 5 46.70 Tab. 1: Comparaison entre SSV, GA et SLSA.

296 Les paramètres de FlipGA sont : une population de 10 solutions, un nombre maximum de croisement de 10 2 et un taux de mutation = 0.9. Les paramètres de GASAT sont : une population de 100 solutions, une sous population de 15 solutions, un nombre maximum de croisement est 10 3 et une recherche taboue comme technique locale d amélioration avec 10 4 itérations pour chaque appel. Instances GASAT FlipGA SSV (#Vars/#Cls) fc sec fc sec fc sec f1000(1000/4250) 2.30 45 8.90 47 3 166.56 f2000(2000/8500) 7.35 97 16.90 122 5 215.01 par32-5-c(1711/5722) 19.60 129 27.40 77 11 142.72 par32-5(6458/13748) 41.25 813 50.65 290 17 295.5 Mat25.shuffled(588/1968) 7.60 161 10.10 28 3 181.81 Mat26.shuffled(744/2464) 8.00 749 12.89 44 3 251.62 difp_19_0(1201/6563) 84.25 661 87.60 109 14 20.56 difp_19_99(1201/6563) 81.40 658 87.95 107 10 139.17 glassy-a(399/1862) 5.00 18 7.60 16 6 18.57 glassy-b(450/2100) 8.95 86 11.45 21 8 163.39 hgen2-a(500/1750) 1.40 22 6.24 16 5 22.77 hgen2-b(500/1750) 7.00 1.80 22 18 1 181.45 Tab. 2: Comparaison avec GASAT et FlipGA. Dans la table 3 3, pour chaque méthode, nous donnons le meilleur nombre de clauses violées dans la meilleure solution trouvée (sol) et le temps de calcul en seconde nécessaire pour atteindre cette solution (time). À partir de la Table 3, on remarque que la recherche dispersée SSV trouve l optimum pour certaines instances, et pour les autres l écart à l optimum n est pas très grand. Les résultats trouvés par SSV et SLSA sont nettement meilleurs que ceux fournis par l algorithme GA. La version traditionnelle de l algorithme génétique (GA) échoue à trouver une solution aux différentes classes de problèmes de MAX-SAT. Ceci confirme la convergence prématurée de l algorithme (GA). Les résultats trouvés par la SSV sont nettement meilleurs que ceux fournis par le GA et la SLSA. Notre SSV réussit à trouver la solution optimale pour quelques classes de problèmes (MAX-2-SAT, MAX-3-SAT, classe de jnh, classe d ais, f600, color10-3). Pour les autres classes, la SSV trouve des solutions satisfaisantes en un temps raisonnable. Dans le but de tester et de prouver l efficacité de notre approche, une étude comparative avec quelques algorithmes de l état de l art concernant MAX-SAT à savoir FlipGA [3] et GASAT [4]. est établie dans ce papier. Comparant notre approche à FlipGA, SSV surpasse clairement FlipGA pour toutes les instances MAX-SAT. Comparant notre approche à GASAT, la table 3 montre une légère performance en faveur de notre variante SSV. SSV produit de meilleures solutions sur les problèmes de parity, de Mat* et de difp* comparé à GASAT qui s exécute mieux sur des instances f1000 et glassy*. L efficacité de notre approches est expliquée par la bonne combinaison entre la diversification et l intensification ce qui mène l algorithme à explorer efficacement l espace de recherche et localiser une bonne solution. 3. vars (respectivement cls) est le nombre de variables (respectivement de clauses) de l instance MAX-SAT. SAT : Y signifie que l instance est satisfaisable. N signifie que l instance est insatisfaisable.

297 Références [1] M. R. Garey and D. S. Johnson. Computers and Intractability, A Guide to the Theory of NP- Completeness. W. H. Freeman, 1979. [2] B. Selman, H. A. Kautz, and B. Cohen. Noise strategies for improving local search. In Proceedings of the Twelfth National Conference on Artificial Intelligence (AAAI 94), pages 337 343, Seattle, 1994. [3] E. Marchiori and C Rossi. A flipping genetic algorithm for hard 3-SAT problems. In Proceedings of the Genetic and Evolutionary Computation Conference, volume 1, pages 393 400. Morgan Kaufmann, 13-17 1999. [4] F. Lardeux, F. Saubion, and J.K. Hao. Gasat : A genetic local search algorithm for the satisfiability problem. Journal of Evolutionary Computation, 14(2) :223 253, 2006.