@ratiosolver/solver

oRatio is an Integrated Logic and Constraint based solver

https://github.com/ratiosolver/oratio

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 (12.5%) to scientific vocabulary

Keywords

automated-planning constraint-logic-programming constraint-programming logic-programming timeline-based-planning
Last synced: 4 months ago · JSON representation ·

Repository

oRatio is an Integrated Logic and Constraint based solver

Basic Info
  • Host: GitHub
  • Owner: ratioSolver
  • License: apache-2.0
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 1.1 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 1
  • Open Issues: 1
  • Releases: 1
Topics
automated-planning constraint-logic-programming constraint-programming logic-programming timeline-based-planning
Created over 3 years ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

oRatio

Build Status

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:

shell 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:

shell 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

shell 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

shell git clone --recurse-submodules https://github.com/ratioSolver/oRatio

finally, build and install oRatio

shell mkdir build cd build cmake .. sudo make install

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

shell git clone --recurse-submodules https://github.com/ratioSolver/oRatio

finally, build and install oRatio

shell mkdir build cd build cmake .. sudo make install

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

shell git clone --recurse-submodules https://github.com/ratioSolver/oRatio

finally, build oRatio

shell 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

shell mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make

Owner

  • Name: ratioSolver
  • Login: ratioSolver
  • Kind: organization

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@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/ratioSolver/oRatio'
references:
  - type: article
    title: Lifted Heuristics for Timeline-based Planning
    authors:
      - given-names: Riccardo
        family-names: De Benedictis
        email: riccardo.debenedictis@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@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
  • Push event: 190
  • Create event: 1
Last Year
  • Push event: 190
  • Create event: 1

Packages

  • Total packages: 4
  • Total downloads:
    • npm 284 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 53
  • Total maintainers: 1
npmjs.org: @ratiosolver/solver

Planner, executer and adapter Graphical User Interface.

  • Versions: 30
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 214 Last month
Rankings
Dependent repos count: 24.4%
Average: 29.9%
Dependent packages count: 35.3%
Maintainers (1)
Last synced: 4 months ago
npmjs.org: ratio-core

This is the core library for the Ratio framework. It provides the basic utilities for managing components, lists, server connections, and user sessions. The core library is designed to be lightweight and flexible, making it easy to integrate into various

  • Versions: 14
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 19 Last month
Rankings
Dependent repos count: 25.2%
Average: 30.8%
Dependent packages count: 36.4%
Maintainers (1)
Last synced: 4 months ago
npmjs.org: ratio-lib

Planner, executer and adapter Graphical User Interface.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 50 Last month
Rankings
Dependent repos count: 25.2%
Average: 30.8%
Dependent packages count: 36.5%
Maintainers (1)
Last synced: 4 months ago
npmjs.org: ratio-gui-lib

Planner, executer and adapter Graphical User Interface.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Last month
Rankings
Dependent repos count: 25.2%
Average: 30.8%
Dependent packages count: 36.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/cmake.yml actions
  • actions/checkout v3 composite