JuliaPlanners / SymbolicPlanners.jl

Symbolic planners for problems and domains specified in PDDL.
Apache License 2.0
59 stars 10 forks source link

Test case for constrained problem as per PDDL.jl issue #15 #5

Closed simonblauth closed 2 years ago

ztangent commented 2 years ago

Awesome, this is a really neat example of a constrained problem! And glad you liked the talk :)

Regarding where the .pddl files should live, it'd be great if you could add them to the PlanningDomains.jl repository as a new domain and problem in this folder: https://en.wikipedia.org/wiki/Wolf,_goat_and_cabbage_problem

I think the domain could be renamed wolf-goat-cabbage, to follow the Wikipedia name. Once the domain and problem has been added there, they can be loaded in test.jl by calling:

wgc_domain = load_domain(:wolf_goat_cabbage)
wgc_problem = load_problem(:wolf_goat_cabbage, 1)

Once you do that, it'd be great if you could add tests to test/planners.jl! I would specifically add tests for everything besides RTDP and MCTS, which don't support constraints (yet). (I'm not sure if BackwardPlanner will work with constraints -- if it doesn't work I would avoid adding a test for BackwardPlanner for now, and instead file an issue.)

Note that I'll have to register a new version of PlanningDomains.jl before the CI tests on GH for this package will pass, so we'll unfortunately have to do things in that order. In the future I might want to have a separate folder for domains in this repository just to test specific functionality. But for now I thought I would reduce duplication of domain files by having most domain and problem files live in PlanningDomains.jl.

simonblauth commented 2 years ago

I hope this is what you had in mind. I already pushed the changes here because you need to trigger the CI manually anyways. So you can first register the new version of PlanningDomains.jl with the changes in https://github.com/JuliaPlanners/PlanningDomains.jl/pull/3 before approving the CI workflow here.