Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 paper
Octocat-spinner-32 presentation
Octocat-spinner-32 src
Octocat-spinner-32 testing
Octocat-spinner-32 tests
Octocat-spinner-32 thesis
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE.txt
Octocat-spinner-32 README
Octocat-spinner-32 ibis.properties.example
Octocat-spinner-32 pom.xml
Octocat-spinner-32 solve
README
Author
------

Alexandru Moșoi <brtzsn@gmail.com>
VU Amsterdam http://www.vu.nl


Site
----

Main site: http://www.few.vu.nl/~ami650/structure/


Building
--------

STRUCTure requires trove4j 2.1.0, Constellation 0.7.0 and IPL 2.2.

1. Constellation

$ svn co https://gforge.cs.vu.nl/svn/ibis/cohort contellation
$ cd contellation/
$ ant
$ mvn install:install-file -Dfile=lib/constellation-0.7.0.jar -Dpackaging=jar -DgroupId=ibis -DartifactId=constellation -Dversion=0.7.0

or

$ wget https://github.com/downloads/brtzsnr/structure/constellation-0.7.0.jar
$ mvn install:install-file -Dfile=lib/constellation-0.7.0.jar -Dpackaging=jar -DgroupId=ibis -DartifactId=constellation -Dversion=0.7.0

2. IPL (optional)

If you chose to compile Constellation yourself you will need to install IPL.
The Constellation version on GitHub was modified to run without IPL.

$ wget http://gforge.cs.vu.nl/gf/download/frsrelease/135/719/ipl-2.2.zip
$ unzip ipl-2.2.zip
$ cd ipl-2.2
$ vim ibis.properties 
$ bin/ipl-server

3. Trove

$ mkdir trove-3.0.0rc2/
$ cd trove-3.0.0rc2/
$ wget http://sourceforge.net/projects/trove4j/files/trove/3.0.0rc2/trove-3.0.0rc2.tar.gz
$ tar xzvf trove-3.0.0rc2.tar.gz
$ ant
$ mvn install:install-file -Dfile=lib/trove-3.0.0rc2.jar -Dpackaging=jar -DgroupId=trove -DartifactId=trove -Dversion=3.0.0rc2

4. Structure

Note that you may have to disable the tests to be able to compile. Lately I switched to
more automated random generated tests to help debugging and finding of corner cases so
I neglected the unit tests.

$ mvn site
$ mvn compile test
$ mvn assembly:assembly


Running
-------

A script solve is included which should work after $ mvn assembly:assembly

$ ./solve input.cnf


Testing
-------

bin/ contains some generators.
testing/ contains various testing scripts. Check:

$ testing/eval <problem-size>   # finds failed instances
$ testing/validator.py          # validates a solution
$ testing/prun-schedule         # evaluates on DAS cluster at VU
Something went wrong with that request. Please try again.