Eclipsă

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

ECLiPSe [1] este un sistem software pentru dezvoltarea și implementarea aplicațiilor Constraint Programming , de exemplu în domeniile optimizării , planificării , transportului etc. Conține biblioteci de rezolvatori de constrângeri, un limbaj de modelare și control la nivel înalt (un superset de Prolog ), interfețe cu rezolvatori terți, un mediu de dezvoltare integrat și interfețe pentru încorporare în medii gazdă.

ECLiPSe a fost dezvoltat până în 1995 la Centrul European de Cercetare-Industrie (ECRC) din München și apoi până în 2005 la Centrul pentru Planificare și Controlul Resurselor din Imperial College London (IC-Parc). A fost achiziționat de la Cisco Systems . În septembrie 2006 a fost lansat ca software open source cu o licență publică echivalentă Mozilla și este acum găzduit pe SourceForge .

Limba

Limba ECLiPSe [2] este larg compatibilă cu versiunile anterioare ale Prolog și acceptă mai multe dialecte, inclusiv ISO Prolog . Datorită naturii sale declarative, poate fi utilizat atât ca limbaj de modelare pentru descrierea problemelor, cât și ca limbaj de programare generic.

În plus față de tipurile de date de bază Prolog, există: șiruri , număr întreg de precizie nelimitată, numere raționale. Structurile de date care sunt deosebit de utile în modelarea constrângerilor sunt de asemenea acceptate.

Biblioteci

ECLiPSe oferă mai multe biblioteci de rezolvări de constrângeri , inclusiv constrângeri aritmetice de domeniu finit, constrângeri de set finit, propagare generalizată, raționament pe intervale pe constrângeri neliniare, interfețe cu rezolvatori simplex externi și reguli de gestionare a constrângerilor (CHR). Alte biblioteci implementează metode de căutare, cum ar fi branch-and-bound .

ECLiPSe poate interacționa cu solutori externi, în special cu rezolvatorii de programare liniară și mixtă integrală COIN-OR, CPLEX , Gurobi și Xpress-MP, [3] și biblioteca de rezolvare Gecode.

Bibliotecile de compatibilitate pentru ISO Prolog [4] și alte dialecte Prolog (C-Prolog, Quintus, SICStus , SWI-Prolog ) permit reutilizarea bibliotecilor scrise în acele dialecte.

Alte biblioteci utilitare, inclusiv o serie de versiuni populare de domeniu public , sunt incluse în distribuție.

Notă

  1. ^ Site-ul web ECLiPSe , pe eclipseclp.org .
  2. ^ Joachim Schimpf și Kish Shen, ECLiPSe - de la LP la CLP , în Teoria și practica programării logice , vol. 12, pp. 127–156, DOI : 10.1017 / S1471068411000469 .
  3. ^ K. Shen și J. Schimpf, Eplex: Utilizarea rezolvărilor de programare matematică pentru programarea constrângerii logice , principiile și practica programării constrângerilor - CP 2005: a 11-a conferință internațională, CP 2005, Sitges, Springer, pp. 622–636, DOI : 10.1007 / 11564751_46 , ISBN 978-3-540-32050-0 .
  4. ^ Declarație de conformitate ECLiPSe ISO , pe eclipseclp.org .

linkuri externe