An open API service indexing awesome lists of open source software.

https://github.com/minizinc/minisearch

the source code for the MiniSearch meta-search language
https://github.com/minizinc/minisearch

Last synced: 4 months ago
JSON representation

the source code for the MiniSearch meta-search language

Awesome Lists containing this project

README

          

# MiniSearch 0.1

This repository contains the source code for the MiniSearch meta-search
language, which includes the MiniZinc 2.1beta constraint modelling language and
tool chain. It provides a backend that supports all FlatZinc solvers.

**This repository is no longer under active development. MiniSearch is not
guaranteed to be compatible with newer versions of MiniZinc and might fail to
work in some ways in general.**

With MiniSearch you can express and run many advanced meta-searches,
such as lexicographic optimisation, large neighbourhood search,
and/or search and diverse solution search.

Have a look at the MiniSearch webpage for a detailed documentation:
http://www.minizinc.org/minisearch

## Folder Structure

README.md ---> this file
CMakeLists.txt ---> cmake file
README_bin.txt ---> README for binary package
lib/ ---> cpp Files and libs
doc/ ---> some MiniZinc documenation
solvers/ ---> solver backends
tests/ ---> test files and examples
LICENSE.txt ---> license file
md5_gen.cmake ---> script for parser and lexer
share/ ---> examples and MiniZinc libs
include/ ---> header files

## Compilation

To compile the sources, you require cmake (version 2.8.7 or newer),
flex, bison and a C++ compiler. Follow the instructions below for
your OS in a terminal.

- Linux and Mac OS \*
Create a build/ folder in the current directory and change into it
and execute cmake and make:

mkdir build
cd build
cmake ..
make

After compilation the build/ folder will contain the binary file
minisearch. See 'Getting Started' on how to execute it.

Note: The instructions above will compile the sources for a 64bit
machine. If you are compiling for a 32-bit architecture, then set
the cmake option 'BUILD_32BIT' by:

cmake -DBUILD_32BIT=ON ..

### Windows

Create a build/ folder in the current directory and change into it
and execute cmake where you set the project file type, for instance
Visual Studio 12 (type 'cmake --help' to get a list of all project
file generators):

mkdir build
cd build
cmake -G"Visual Studio 12 2013" ..
cmake --build .

After compilation the build/Debug folder will contain the binary file
minisearch.exe. See 'Getting Started' on how to execute it.

Note: The instructions above will compile the sources for a 32bit
machine. If you are compiling for a 64-bit architecture, then set
the cmake option for a 64bit architecture, for instance:

cmake -G"Visual Studio 12 2013 Win64" ..

** Building the binary package **

You can create the binary package using the following command
(after compilation) in the build/ directory:

cmake --build . --target package

This will create a .tar.gz (Linux and Mac OS) or .zip file (Windows)
in the build/ directory that contains the binary package.

** Getting Started **

- Linux and Mac OS \*
After compilation, the minisearch binary file is in the build/
directory and you can find MiniSearch examples in the directory:
tests/minisearch/regression_tests/. You can run an example with
your FlatZinc solver by typing, for instance

./build/minisearch --solver tests/minisearch/regression_tests/golomb_lns.mzn

into your shell in this directory. Check out the documentation on
how to get a FlatZinc solver if have not got any installed on your
system.

Note that you also have to set the MiniZinc standard library path
$MZN_STDLIB_DIR to share/minizinc/ since it contains the MiniSearch
builtin definitions. You can also manually set the stdlib path by
adding the --stdlib-dir option to calling minisearch:

./build/minisearch --solver --stdlib-dir share/minizinc/ tests/minisearch/regression_tests/golomb_lns.mzn

- Windows \*
After compilation, the minisearch binary file is in the
build/Debug directory and you can find MiniSearch examples in
the directory: tests/minisearch/regression_tests. You can run an
example with your FlatZinc solver by typing, for
instance

cd build/Debug
minisearch.exe --solver ../../tests/minisearch/regression_tests/golomb_lns.mzn

Note that you also have to set the MiniZinc standard library path
$MZN_STDLIB_DIR to share/minizinc since it contains the MiniSearch
builtin definitions. You can also manually set the stdlib path by
adding the --stdlib-dir option to calling minisearch:

minisearch.exe --solver --stdlib-dir ../../share/minizinc ../../tests/minisearch/regression_tests/golomb_lns.mzn

** Documentation **

For a detailed documentation please visit:
http://www.minizinc.org/minisearch

** Bugs **

If you encounter any problems with MiniSearch, please use the MiniZinc
bug tracker at http://www.minizinc.org/trac to report any issues or
feature requests.