JaCoP icon

JaCoP

  n/a
Freeware   

An easy to use library providing Constraint Programming technology. #Java Component  #Java Library  #Java Developer  #Library  #Component  #Develop  

Description

features

changelog

Free Download

JaCoP is Java-based component which will help developers in their work.

If you are a researcher, you will find that JaCoP is an easy to use tool, easy to extend to fit your particular needs, as well as quite efficient to actually solve large problems with the help of JaCoP. JaCoP has been used for research which only applies CP technology as well as for research within CP field itself.

If the tool like JaCoP was available at the time of my PhD I would make my PhD 1-2 years earlier. You should use the tools available for your advantage. If you are working on important aspect of CP technology we may even devote our free time to help you implement the functionality in JaCoP, so we keep JaCoP state-of-the-art.

If you are software engineer writing a software you will find that JaCoP as any constraint programming solver provides you with the ability to model the problem at hand as well as evaluate number of different search approaches to find an efficient one.

Use the wealth of knowledge encoded within constraints to increase the reasoning/solving power of your software solution.There are number of people who may act as consultants to help you apply CP technology in the form of JaCoP inside your project. Feel free to advertise your needs to obtain help on jacoptwiki.

JaCoP provides a significant number of constraints to facilitate modeling as well as modular design of search to facilitate tailoring of search to characteristics of the problem being addressed. It is currently more than 60.000 lines of code, not including examples and testing code.

There are more than 20.000 lines of code explaining how to model and solve diverse problems. We have been working on JaCoP for past 8 years during our free time as hobby activity. It has been refactored, transformed, improved many times. Initial versions of JaCoP were most likely even 3 orders of magnitude slower than the current version.

JaCoP provides a large library of examples as well as extensive Java API documentation. We have cases of JaCoP usage by young people at high school age. CP technology is not easy to use so at least we tried to make using JaCoP as easy as we could. Feel free to help us making JaCoP even more easy/intuitive to use. Please send us your examples, we will refactor them if necessary and include it with other examples.

Creating a solver is a process, at the time we have started we have been just frustrated novice users of CP technology who were struggling with closed source solvers to apply CP technology efficiently. We learnt a great deal of CP and software engineering during these years.

JaCoP development was driven by three priorities - ease of use, ease of maintenance, and efficiency. There are number of solvers available, each one is special and each of them can be useful. Here, you have one more choice to choose from.

Every solver is different as solver applications impose different requirements and make some optimizations not possible. JaCoP facilitates constraint additions during search and extensive control over internal behavior of the solver. Almost every aspect of the solver can be tweaked. It is necessary if a solver is to be used in research when small things matter and can make your technique run much slower.

All data structures are available for manipulation making implementing special search heuristics possible. It is also possible to implement user's own constraints with additional functions, which can be used later during search. Authors strive to achieve the right balance, between ease of use, ease of extension, and efficiency. JaCoP also supports and extends XCSP format for saving CSP's in XML format.

JaCoP is continuously under development. It is rarely fully backward compatible, as not only new constraints are added, but also internals of the engine are being improved. The authors have concentrated on the core functionality of the constraints, therefore there is no graphical interface available yet, which would help in programs debugging. There are a lot of examples, a short guide and Java Doc documentation, but authors would like to have more time to create more elaborate documentation.

There are quite many other constraint tools which have been implemented since the inception of JaCoP. Every system is different as they trade extendability, functionality, ease of development for efficiency in a different way.

There are tools which sacrifice everything for efficiency, other tools which choose C++ over Java to avoid costs associated with executing Java programs. Our own experiments indicate that JaCoP is a very good Java solver, but it is slower than good C++ based solver. If you are looking for easy to use, easy to maintain, easy to extend and efficient solver written in Java then JaCoP is a must try for you.

System requirements

What's new in JaCoP 4.1.0:

  • In this release we introduce floating-point variables (FloatVar) and constraints on these variables. The methods used in floating point domain of JaCoP are based on floating point intervals and consistency methods build around them. We provide a set of basic arithmetic constraints as well as square root, absolute value, trigonometric constraints (sin, cos,tan, asin, acos, atan), exponential constraint and natural logarithm. Moreover element constraint and equation between integer and float variables makes it possible to build models that mix different JaCoP variables. We have also included experimental implementation of several features that is not consider as final and can change in future.
  • The floating point domain is fully integrated with JaCoP solver. The same search methods can be used as well as floating point variables can be used as cost functions for minimization. We provide also specialized optimization methods that are specially developed for floating point variables.
  • The released version provides also flatzinc interpreter for floating point variables. Minizinc models containing float variables can be compiled using standard mzn2fzn compiler and used by JaCoP solver.
  • This release fixes also few bugs.
Read the full changelog

JaCoP 4.1.0

add to watchlist add to download basket send us an update REPORT
  runs on:
Windows All
  file size:
1.7 MB
  main category:
Programming
  developer:
  visit homepage

Zoom Client

The official desktop client for Zoom, the popular video conferencing and collaboration tool used by millions of people worldwide
Zoom Client

Context Menu Manager

Customize Windows’ original right-click context menu using this free, portable and open-source utility meant to enhance your workflow
Context Menu Manager

Windows Sandbox Launcher

Set up the Windows Sandbox parameters to your specific requirements, with this dedicated launcher that features advanced parametrization
Windows Sandbox Launcher

ShareX

Capture your screen, create GIFs, and record videos through this versatile solution that includes various other amenities: an OCR scanner, image uploader, URL shortener, and much more
ShareX

7-Zip

An intuitive application with a very good compression ratio that can help you not only create and extract archives, but also test them for errors
7-Zip

IrfanView

With support for a long list of plugins, this minimalistic utility helps you view images, as well as edit and convert them using a built-in batch mode
IrfanView

calibre

Effortlessly keep your e-book library thoroughly organized with the help of the numerous features offered by this efficient and capable manager
calibre

Microsoft Teams

Effortlessly chat, collaborate on projects, and transfer files within a business-like environment by employing this Microsoft-vetted application
Microsoft Teams

4k Video Downloader

Export your favorite YouTube videos and playlists with this intuitive, lightweight program, built to facilitate downloading clips from the popular website
4k Video Downloader

Bitdefender Antivirus Free

Feather-light and free antivirus solution from renowned developer that keeps the PC protected at all times from malware without requiring user configuration
Bitdefender Antivirus Free

% discount
Microsoft Teams
  • Microsoft Teams
  • 4k Video Downloader
  • Bitdefender Antivirus Free
  • Zoom Client
  • Context Menu Manager
  • Windows Sandbox Launcher
  • ShareX
  • 7-Zip
  • IrfanView
  • calibre
essentials


User Comments
This enables Disqus, Inc. to process some of your data. Disqus privacy policy