Cream: Class Library for Constraint Programming in Java
Please try Java with Cream.
Although I personally prefer black coffee in real life...
JAVA+CREAM=SOLVER
What's New
- Copris (Constraint Programming in Scala)
version 1.0.0 is released (August 28, 2011).
- Sugar version 1.14.6 became
the winner in 3 categories
out of 7 categories of
the 2009 Fourth International CSP Solver Competition.
- A SAT-based Constraint Solver Sugar
version 1.13 is repleased on June 27, 2008
Sugar can solve more difficult
CSPs (Constraint Satisfaction Problems),
MAX-CSPs, and
COPs (Constraint Optimization Problems).
Sugar version 1.13 became
the winner in 4 categories
out of 10 categories of
the 2008 Third International CSP and Max-CSP Solver Competitions.
- Version 1.06 is released on Jan 24, 2009
NeighborhoodSearch is added.
- Version 1.05 is released on Apr 16, 2008
Some patches are applied. Thanks to Jerry James.
- Version 1.04 is released on Apr 6, 2008
- Version 1.03 is released on Jan 19, 2007
- Version 1.02 is released on Oct 24, 2004
for some bug fix
- Version 1.01 is released on Oct 5, 2004
I changed the license to LGPL.
- Version 1.00 is released on Feb 25, 2004
- OpenOffice Calc (Spreadsheet) interface
is released on Feb 25, 2004
Features
Cream is a class library helping Java programmers to develop intelligent programs
requiring constraint satisfaction or optimization on finite domains.
The followings are features of Cream.
- 100% Pure Java:
Whole programs are written in Java.
- Open source:
Cream is distributed as a free software with source code.
Please refer to License section for more details
about licensing issue.
- Natural description of constraints:
Various constraints can be naturally described within Java syntax.
- Easy enhancements:
Programmers can easily enhance/extend constraint descriptions and satisfaction algorithms.
- Various optimization algorithms:
Various optimization algorithms are available, such as Simulated Annealing, Taboo Search, etc.
- OpenOffice Calc (Spreadsheet) interface
Documentation
Download
- cream106.zip (version 1.06, Jan 24, 2009, Java 1.6)
- cream105.zip (version 1.05, Apr 16, 2008, Java 1.6)
- cream14.zip (version 1.04, Apr 6, 2008, Java 1.6)
- cream13.zip (version 1.03, Jan 19, 2007, Java 1.6)
- cream12.zip (version 1.02, Oct 24, 2004, Java 1.4)
OpenOffice Calc (Spreadsheet) interface is avaiable on
a separate page.
Installation
There is nothing special for installation.
Please unzip the zip file in the download section, then
you are ready to run example programs as follows.
- Cream (Class Library for Constraint Programming in Java)
- Copyright (C) 2003-2008 by Naoyuki Tamura (tamura @ kobe-u.ac.jp)
Cream is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Acknowledgement
Cream was developed as a part of
HECS
(HEterogeneous Constraint Solver) system which was supported in part
by
METI and
IPA (The Information-technology Promotion Agency)
under grant of
2002 Exploratory Software Project and
2003 Exploratory Software Project.
Some improvement ideas of Cream are obtained through the discussion with
Mr. Kino, a project manager of IPA Exploratory Software Project
and also a developer of K-Prolog and
ICS in Java.
I would like to give special thanks to Shuji Ohnishi and other
contributers listed below.
- Shuji Ohnishi
- Muneyuki Kawatani
- Jerry James
Related Projects
Links
Naoyuki Tamura