Présentation
EnglishAuteur(s)
-
Laurent TRILLING : Professeur à l’université Joseph-Fourier (Grenoble)
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
La programmation logique avec contraintes (PLC) se révèle être un nouveau type de programmation promis, à notre avis, à un large succès : la rapidité dans la conception et la mise en œuvre qu’elle permet sont des atouts décisifs dans le monde compétitif que nous connaissons. Son origine remonte à la prise de conscience, dans les années quatre-vingt, par les auteurs de langages de programmation logique comme Prolog qu’un « calcul » peut être considéré comme la démonstration de la satisfiabilité (existence de solutions) d’un système d’équations au sens large.
Les principaux outils disponibles sur le marché tels Prolog III, CHIP (Constraint Handling in Prolog) ou Ilog-Solver datent du début des années quatre-vingt-dix. Si cette programmation reste encore relativement peu connue dans l’industrie informatique, on doit signaler l’essor des entreprises la maîtrisant. On peut signaler aussi que les scientifiques et les industriels européens et, singulièrement, français occupent une place prédominante dans ce secteur qui n’a pas encore autant attiré l’attention des Nord-Américains. Il est dit méchamment que cela est dû au fait que les programmeurs d’outre-Atlantique apprécient moins les mathématiques que leurs collègues européens. Peut-être est-ce exact, mais attention, il est vrai aussi que les Américains sont extrêmement prompts à s’engager dans des technologies de pointe une fois leur intérêt reconnu…
Cet article est organisé de la façon suivante. La première partie est une introduction aux principes essentiels de la PLC. La seconde est consacrée, plus particulièrement, aux contraintes aisément compréhensibles disponibles dans le langage Prolog III. La troisième est dévolue aux contraintes sur les domaines finis, au centre de nombreuses applications, et aux contraintes sur les intervalles qui prennent une place de plus en plus importante. La conclusion a pour objectif de dresser un état de la situation et des perspectives envisageables.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
4. Conclusion et perspectives
-
Concernant les applications industrielles, très diverses [8], on peut dire que, pour l’instant, elles utilisent surtout les contraintes sur domaines finis. L’avantage présenté face aux méthodes traditionnelles, par exemple, celles de la recherche opérationnelle, est essentiellement celui de l’adaptation aisée face aux desiderata divers du client et de la souplesse face aux changements. On trouve en [9] une classification synthétique des champs d’application. Les classes d’applications passées en revue sont les suivantes : conception de circuits, placement (d’objets dans un espace défini), problème de découpe, allocation de parking, contrôle de trafic aérien, allocation de fréquence, configuration de réseaux (d’entrepôts, par exemple), planification de production, confection d’emploi du temps, rotation d’équipages, transport (organisation de tournées), affectation de personnel. Les problèmes les plus heureusement résolus paraissent être, à l’heure actuelle, les problèmes de planification, d’allocation, de transport et de rotation d’équipages. Ce rapport [8] signale aussi les causes d'échecs, qu’on retrouve en général en programmation : mauvaise compréhension du cahier des charges, mauvaises modélisation et heuristique, mauvais jeu de tests. D’une façon générale, il semble que, si les experts prennent bien soin d’avertir qu’il ne suffit pas de poser des contraintes pour que le problème soit résolu efficacement, les coûts de prototypage se révèlent effectivement remarquablement faibles en utilisant ce type de programmation.
-
Les directions de recherches actuelles dans le domaine sont nombreuses.
On peut citer, en particulier : la détermination de résolveurs exacts et complets pour les équations non linéaires (c’est un objectif majeur pour les chercheurs en calcul formel), la définition de nouvelles notions de contraintes (par exemple, contraintes floues, surcontraintes, contraintes ensemblistes), l’étude de contraintes dites concurrentes (permettant une programmation par agents, déclenchés par un événement signifié par le fait qu’une formule...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Conclusion et perspectives
BIBLIOGRAPHIE
-
(1) - BOIZUMAULT (P.) - Langage Prolog - . [H 3 098], Technologies logicielles – Architectures des systèmes (2001).
-
(2) - COLMERAUER (A.) - An introduction to Prolog III - . Communications of the ACM, 33, 7 (1990).
-
(3) - DINCBAS (M.), VAN HENTENRYCK (P.), SIMONIS (H.), AGGOUN (A.), GRAF (T.), BERTHIER (F.) - The constraint logic programming language CHIP - . International Conference on Fifth Generation Computer Systems (FGCS’88), Tokyo (1988).
-
(4) - TSANG (E.) - Foundation of constraint satisfaction - . Academic Press (1993).
-
(5) - OLDER (W.), VELLINO (A.) - Extending prolog with constraint arithmetic on real interval - . Canadian Conference on Electrical and Computer Engineering (1990).
-
(6) - Le manuel Prolog IV - . Compagnie ProloglA Marseille (1996).
-
...
NORMES
-
Technologies de l’information – Langages de programmation – Prolog – Partie 1 : noyau général. - ISO/CEI 15211-1 - 1995
-
Technologies de l’information – Langages de programmation – Prolog – Partie 2 : modules. - ISO/CEI 15211-2 - 2000
ANNEXES
(liste non exhaustive)
ILOG Solverhttp://www.ilog.com/products/solver
CHIP V5, COSYTECPolog II + (compilateur)Prolog IV (langage), PROLOGIAGNU Prologhttp://www.gnu.org/software/gprolog
SWI – PrologVisual Prolog 6 HAUT DE PAGECet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive