#yaml #dynamic-programming #solver #modeling #interface #language #dy-pdl

bin+lib didp-yaml

YAML interface for Dynamic Programming Description Language (DyPDL) and DyPDL solvers

17 unstable releases (7 breaking)

0.8.0 Jun 7, 2024
0.7.2 Mar 10, 2024
0.6.1 Dec 24, 2023
0.5.0 Aug 11, 2023
0.3.3 Mar 21, 2023

#315 in Development tools

Download history 192/week @ 2024-03-09 13/week @ 2024-03-16 78/week @ 2024-03-30 70/week @ 2024-04-06 2/week @ 2024-04-13 89/week @ 2024-06-01 43/week @ 2024-06-08 3/week @ 2024-06-15

135 downloads per month
Used in didppy


102K SLoC

Actions Status crates.io minimum rustc 1.65 License License: MIT


didp-yaml is a YAML interface for DyPDL modeling and solvers.


For the syntax of the DyPDL-YAML and the solver configuration, see the user guide


First, install Rust following the instruction on the official webpage: https://www.rust-lang.org/tools/install

Next, install didp-yaml.

cargo install didp-yaml

Run the Solver

didp-yaml domain.yaml problem.yaml config.yaml

Here, domain.yaml is the domain file for the problem, problem.yaml is the problem file for the problem, and config.yaml is the configuration file for a solver.

There are some examples in examples. For example, you can test the CABS solver on TSPTW, CVRP, SALBP-1, bin packing, MOSP, and graph clear.

didp-yaml tsptw/tsptw-domain.yaml tsptw/tsptw-problem.yaml solvers/cabs.yaml
didp-yaml cvrp/cvrp-domain.yaml cvrp/cvrp-problem.yaml solvers/cabs.yaml
didp-yaml salbp-1/salbp-1-domain.yaml salbp-1/salbp-1-problem.yaml solvers/cabs.yaml
didp-yaml bin-packing/bin-packing-domain.yaml bin-packing/bin-packing-problem.yaml solvers/cabs.yaml
didp-yaml mosp/mosp-domain.yaml mosp/mosp-problem.yaml solvers/cabs.yaml
didp-yaml graph-clear/graph-clear-domain.yaml graph-clear/graph-clear-problem.yaml solvers/cabs.yaml


~147K SLoC