#combinatorial-optimization #dynamic-programming #python3 #yaml

bin+lib didp-yaml

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

10 releases (4 breaking)

0.5.0 Aug 11, 2023
0.4.1 Jul 31, 2023
0.4.0 May 25, 2023
0.3.4 May 13, 2023
0.1.0 Feb 20, 2023

#3 in #combinatorial-optimization

35 downloads per month


86K SLoC

crates.io minimum rustc 1.64 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-Dumas-n20w20.001.yaml solvers/cabs.yaml
didp-yaml cvrp/cvrp-domain.yaml cvrp/cvrp-E-n13-k4.yaml solvers/cabs.yaml
didp-yaml salbp-1/salbp-1-domain.yaml salbp-1/salbp-1-small-1.yaml solvers/cabs.yaml
didp-yaml bin-packing/bin-packing-domain.yaml bin-packing/bin-packing-Falkenauer_T_t60_00.yaml solvers/cabs.yaml
didp-yaml mosp/mosp-domain.yaml mosp/mosp-GP1.yaml solvers/cabs.yaml
didp-yaml graph-clear/graph-clear-domain.yaml graph-clear/graph-clear-planar20-1.yaml solvers/cabs.yaml


~98K SLoC