Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.4%) to scientific vocabulary
Keywords
Repository
oRatio is an Integrated Logic and Constraint based solver
Basic Info
- Host: GitHub
- Owner: pstlab
- License: apache-2.0
- Language: C++
- Default Branch: main
- Size: 3.67 MB
Statistics
- Stars: 6
- Watchers: 3
- Forks: 1
- Open Issues: 1
- Releases: 3
Topics
Metadata Files
README.md
oRatio
Dum loquimur, fugerit invida aetas: carpe diem, quam minimum credula postero. (Orazio, Odi, I, 11, 7-8)
oRatio is an Integrated Logic and Constraint based solver which takes inspiration from both Logic Programming (LP) and Constraint Programming (CP).
Getting started
The oRatio system is invoked with a list of command line arguments representing the locations of the required compilation units (e.g. domain models, problem instances or plan adaptations) and the desired output file like in the following:
oRatio cu_0.rddl cu_1.rddl ... cu_n sol.json
As an example, the following code invokes the oRatio solver using the domain model defined in examples/blocks/blocks_domain.rddl, the problem instance specified in examples/blocks/blocks_problem_10.rddl and, once found a solution, writes it in the solution.json file:
oRatio examples/blocks/blocks_domain.rddl examples/blocks/blocks_problem_10.rddl solution.json
Further information about the RIDDLE language, used for specifying the input files, can be found in the corresponding wiki page.
Building oRatio
The basic requirements for building oRatio are:
Building on Linux
The easiest way to install the building requirements on Ubuntu is as follows
sudo apt-get install build-essential
sudo apt-get install cmake
once the building requirements are installed, move to a desired folder and clone the oRatio repository
git clone https://github.com/pstlab/oRatio
finally, build oRatio
mkdir build
cd build
cmake ..
make
Building on OS X
The easiest way to install the building requirements on OS X consists in downloading and installing the Command Line Tools and CMake. Once the building requirements are installed, open a terminal, move to a desired folder and clone the oRatio repository
git clone https://github.com/pstlab/oRatio
finally, build oRatio
mkdir build
cd build
cmake ..
make
Building on Windows
The easiest way to compile oRatio on Windows is through Visual Studio. Download and install Visual Studio, download Git and CMake. Start a Visual Studio Command prompt, move to a desired folder and clone the oRatio repository
git clone https://github.com/pstlab/oRatio
finally, build oRatio
mkdir build
cd build
cmake -G "NMake Makefiles" ..
nmake
Building notes
The CMake building script, by default, generates a 'Debug' target resulting in a code that, when executed, performs several checks and is not optimized. A different target can be choosen either from the CMake gui, by setting the CMAKE_BUILD_TYPE parameter to the desired target, or from the command line, by providing CMake the same parameter through the -D option.
Available targets are:
- Debug, emits debug information and do not performs optimization
- Release, omits debug information and performs optimization
- MinSizeRel, optimizes for smallest binary
- RelWithDebInfo, emits debug information and performs optimization
As an example, an optimized target can be generated through the following command
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
ROS
Integrating oRatio into a ROS environment is a straightforward task! You just need clone this repository into a catkin workspace and compile the workspace. That's all!
oRatio contains a catkin package which, through the implementation of some ROS services and messages, manages the communication to and from other ROS nodes. The package provides ROS services for the creation of reasoners, problem solving, their execution and their adaptation during execution. If on the one hand oRatio deals with the management of the reasoners, on the other hand some ROS services must be implemented by the invoking modules, so as to allow the execution of the dispatched activities.
More details about how to interface with oRatio in a ROS environment can be found here.
Owner
- Name: Planning and Scheduling Technology Laboratory
- Login: pstlab
- Kind: organization
- Website: http://www.istc.cnr.it/it/group/pst
- Repositories: 5
- Profile: https://github.com/pstlab
Citation (CITATION.cff)
cff-version: 1.2.0
title: oRatio
message: Please cite this software using these metadata.
type: software
authors:
- given-names: Riccardo
family-names: De Benedictis
email: riccardo.debenedictis@istc.cnr.it
affiliation: 'CNR - Italian National Research Council, ISTC'
orcid: 'https://orcid.org/0000-0003-2344-4088'
version: 3.0
repository-code: 'https://github.com/pstlab/oRatio/tree/v3.0'
references:
- type: article
title: Lifted Heuristics for Timeline-based Planning
authors:
- given-names: Riccardo
family-names: De Benedictis
email: riccardo.debenedictis@istc.cnr.it
affiliation: 'CNR - Italian National Research Council, ISTC'
orcid: 'https://orcid.org/0000-0003-2344-4088'
- given-names: Amedeo
family-names: Cesta
email: amedeo.cesta@istc.cnr.it
orcid: 'https://orcid.org/0000-0002-0703-9122'
affiliation: 'CNR - Italian National Research Council, ISTC'
doi: 10.3233/FAIA200362
booktitle: 'ECAI 2020 - 24th European Conference on Artificial Intelligence, 29 August-8 September 2020, Santiago de Compostela, Spain, August 29 - September 8, 2020 - Including 10th Conference on Prestigious Applications of Artificial Intelligence (PAIS 2020)'
series: 'Frontiers in Artificial Intelligence and Applications'
volume: '325'
pages: '2330--2337'
publisher: 'IOS Press'
year: '2020'
GitHub Events
Total
Last Year
Dependencies
- com.fasterxml.jackson.core:jackson-databind 2.13.3
- actions/checkout v2 composite
- actions/checkout v2 composite
- actions/setup-java v2 composite