Releases: plaans/aries
Releases · plaans/aries
Development Build
Continuous Integration
- solver: run tests with different width in CI #154 (Arthur Bit-Monnot)
Chores
- Make int-width features additive and export the name for runtime inspection #154 (Arthur Bit-Monnot)
Commits
- d606a48: typedef larger int type used for IntCst Ops (Ian Shehadeh) #154
- def9bf8: support i64 & i128 for IntCst (Ian Shehadeh) #154
- c708923: Merge branch 'master' into feat/int-type-features (Ian Shehadeh) #154
- 05475f6: fix knapsack, distances (Ian Shehadeh) #154
- 7a856dc: Merge branch 'master' into feat/int-type-features (Ian Shehadeh) #154
- 5cdde54: clean up solver impl, rely entirely on aries (Ian Shehadeh) #154
- 000321c: rename Accumulator to LongCst (Ian Shehadeh) #154
- 28006c9: remove num-traits dependency (Ian Shehadeh) #154
- f905feb: split constant type defs and conversions into their own file (Ian Shehadeh) #154
- ffe2540: simplify integer features (Ian Shehadeh) #154
- dc71c50: add tests for different feature configurations to justfile (Ian Shehadeh) #154
- a4ce25f: Merge branch 'master' into feat/int-type-features (Ian Shehadeh) #154
- e3d2d3e: Merge branch 'master' into feat/int-type-features (Ian Shehadeh) #154
- Fix clippy warning (Arthur Bit-Monnot)
v0.4.0
Features
- eq: support explanation of equality logic propagation. #137 (Arthur Bit-Monnot)
- solver: Record events for variable creation. #137 (Arthur Bit-Monnot)
- solver: Use equality logic in table constraints. #137 (Arthur Bit-Monnot)
- eq: Distinguish pos and neg edges among enabled edges. #137 (Arthur Bit-Monnot)
- eq: Implement simplification of equality constraints. #137 (Arthur Bit-Monnot)
- planning: Add experimental PSP symmetry breaker. #137 (Arthur Bit-Monnot)
- planning: preprocessing to merge identical condition whose interval meet. #137 (Arthur Bit-Monnot)
- planning: Improved detection of state variables from sets of predicates. #137 (Arthur Bit-Monnot)
- planning: Additional preprocessing of mutex predicates. #137 (Arthur Bit-Monnot)
- planning: In PSP symmetry-braking, ensure actions are not inserted only for detrimental supports. #137 (Arthur Bit-Monnot)
- planning: Exploit Knoblock's hierarchy in symmetry breaking. #137 (Arthur Bit-Monnot)
- cp: add a new method to
Solver
to enumerate all possible assignments to a set of variables. #137 (Arthur Bit-Monnot) - planning: add a new preprocesing step that rollup actions. #137 (Arthur Bit-Monnot)
- planning: Improved propagation for table constraints. #137 (Arthur Bit-Monnot)
- planning: Make enforcing minimality optional in PSP symmetry breaking. #137 (Arthur Bit-Monnot)
- planning: Add command line option to
lcp
to specify known sat/unsat status. #137 (Arthur Bit-Monnot) - solver: new struct for representing constant values. #137 (Arthur Bit-Monnot)
- planning: Allow unrolling action in the solution plan. #137 (Arthur Bit-Monnot)
- up: Declare support of undefined initial values. #137 (Arthur Bit-Monnot)
- scheduling: Add support for flexible jobshop problems. #149 (Arthur Bit-Monnot)
- csp: initial implementation of the alternative constraint for integer variables #149 (Arthur Bit-Monnot)
- fjs: redundant constraint that may improve lower bound propagation in flexible JSP #149 (Arthur Bit-Monnot)
- csp: Allow reconstructing a snapshot of the state at previous point in the past. #149 (Arthur Bit-Monnot)
- csp: Implement max/min expressions. #149 (Arthur Bit-Monnot)
- jsp: Add new constraint to improve propagation. #149 (Arthur Bit-Monnot)
- search: Add an option to drive search away from last solution in LRB. #149 (Arthur Bit-Monnot)
- cp: Improve explanation of LinearLeq propagator to only have minimal clauses. #149 (Arthur Bit-Monnot)
- search: Support phase saving in the conflict-based brancher. #149 (Arthur Bit-Monnot)
- sat: permanently keep clauses with low LBD #149 (Arthur Bit-Monnot)
- search: Add option to periodically select a random variable. #149 (Arthur Bit-Monnot)
- sat: Allow more option for computing the impact of a variable. #149 (Arthur Bit-Monnot)
- sat: Improve command line options of sat solver (timeout + search tuning) #149 (Arthur Bit-Monnot)
- sat: Add geometric restarts to sat solver. #149 (Arthur Bit-Monnot)
- sat: Add alternating mode (stable/focused) to sat solver. #149 (Arthur Bit-Monnot)
- sched: Improve command line interface, allowing multi-threaded or round-robin strategies. #149 (Arthur Bit-Monnot)
- sat: Enable eager propagation of clauses in the presence of optional variables. #149 (Arthur Bit-Monnot)
- search: Allow lexical to choose between min or max value. #151 (Arthur Bit-Monnot)
- knapsack: Support bounded knapsack problems. #151 (Arthur Bit-Monnot)
- knapsack: Add a dynamic programming implementation fro 0/1 Knapsack #151 (Arthur Bit-Monnot)
- sat: add recursive clause minimization. #151 (Arthur Bit-Monnot)
- cp: add VarEqVarMulLit propagator #149 (Roland Godet)
- cp: add EqVarMulLit to ReifExpr #149 (Roland Godet)
- linear: add multiplication support #149 (Roland Godet)
- planning: encode numeric support constraints #149 (Roland Godet)
- upf: can specify max-depth #149 (Roland Godet)
- sat: Complete version of clause minization #151 (Arthur Bit-Monnot)
- sat: Implement All-UIP ...
v0.3.4
Features
- up: Improve error messages when converting from protobuf #129 (Arthur Bit-Monnot)
- planning: Support non-symbolic parameters in tasks and actions. #129 (Arthur Bit-Monnot)
Performance Improvements
- explain: Make sure that explanation memory usage is linear in the number of resolved literals. #136 (Arthur Bit-Monnot)
Tests
- sched: Add test case for issue #135 #136 (Arthur Bit-Monnot)
Chores
- fix clippy lints #129 (Arthur Bit-Monnot)
- add back
LitSet
improvements removed by revert. #136 (Arthur Bit-Monnot)
Commits
v0.3.3
Features
- Add scheduling strategy of earliest-start-time (in Forward) #119 (Arthur Bit-Monnot)
- Allow specifying solver strategies in up-server. #119 (Arthur Bit-Monnot)
- Add a new tautology reasoner that avoids solver restarts when enforcing new facts. #121 (Arthur Bit-Monnot)
- add env-param to considers real state variables as ints #121 (Arthur Bit-Monnot)
- solver: support metric 'minimize final value' #122 (Roland Godet)
- add support for maximizing final values #122 (Arthur Bit-Monnot)
- up: Declare support for optimizing final values in up-aries. #122 (Arthur Bit-Monnot)
- search: Add new variant of activity-bool that performs a light propagation only. #122 (Arthur Bit-Monnot)
- encode: Allow setting the planning horizon through an env-param. #122 (Arthur Bit-Monnot)
- planning: Distinguish makespan and horizon in encoding. #125 (Arthur Bit-Monnot)
- up: Add support for default values in up-problems. #124 (Arthur Bit-Monnot)
- val: support fluent default value #124 (Roland Godet)
Bug Fixes
- Timed effects were ignored in scheduling problems. #119 (Arthur Bit-Monnot)
- Propagator of linear constraints had an incorrect corner case and missed some propagation opportunities. #119 (Arthur Bit-Monnot)
- encode: add presence of assignment in increase literal for resources #122 (Roland Godet)
- sat: Handle asserting clauses first to avoid context loss #122 (Arthur Bit-Monnot)
- cp: remove check of invariant that should hold eventually but not at every propagation #122 (Arthur Bit-Monnot)
- build: Add uncommited dependency to tracing. #122 (Arthur Bit-Monnot)
- sat: Workaround to avoid propagating in erroneous context #122 (Arthur Bit-Monnot)
- planning: Make sure the goal state is final in the presence of TILs #125 (Arthur Bit-Monnot)
- val: support instantaneous actions in temporal mode #124 (Roland Godet)
- tests: adaptation to the last feature #124 (Roland Godet)
Styles
- clippy #124 (Roland Godet)
Code Refactoring
- val: mark several factories from test cfg #124 (Roland Godet)
Performance Improvements
- explain: Make sure that explanation runtime is linear in the number of resolved literals. #122 (Arthur Bit-Monnot)
- strategy: Improve non-temporal variant of VSDIS to only branch on boolean variables #122 (Arthur Bit-Monnot)
Continuous Integration
- simplify CI config #126 (Arthur Bit-Monnot)
- deactivate borderline test domains (Arthur Bit-Monnot)
Chores
- Improve Display of linear constraints. #119 (Arthur Bit-Monnot)
- Improve simplification of linear constraints. #119 (Arthur Bit-Monnot)
- Add logs to identify from which part of the code constraints are added. #119 (Arthur Bit-Monnot)
- EnvParam to print statistics at solutions #119 (Arthur Bit-Monnot)
- Add basic simplification step before reification. #119 (Arthur Bit-Monnot)
- Make sure forward searcher instantiates all variables. #119 (Arthur Bit-Monnot)
- Turn non-critical assert into a warning i debug mode. #122 (Arthur Bit-Monnot)
- prepro: Add logging to state-variables preprocessor. #122 (Arthur Bit-Monnot)
- up: Make CLI planner output less cluttered. #122 (Arthur Bit-Monnot)
- prepro: Add specific logging span for preprocessing. #122 (Arthur Bit-Monnot)
- search: avoid branching on reifications in forward search. #122 (Arthur Bit-Monnot)
- Add justfile for common recipes. #125 (Arthur Bit-Monnot)
- val: fix clippy lint #125 (Arthur Bit-Monnot)
- up: improve cli tool for up testing. #124 (Arthur Bit-Monnot)
- lint: Fix clippy lint. #124 (Arthur Bit-Monnot)
Commits
- Make the forward solver only do bound propagation (faster) #121 (Arthur Bit-Monnot)
- Fix clippy lints #122 (Arthur Bit-Monnot)
- up: Update UP to latest version #125 (Arthur Bit-Monnot)
- up: Update UP version to one with only explicit values in the protobuf #124 (Arthur Bit-Monnot)
- c1010ff: Merge branch 'master' into feat/metric-optimization (Arthur Bit-Monnot) #122
- update cargo d...
v0.3.2
Features
- cp: Reactivate watch-based propagation of linear constraints. #114 (Arthur Bit-Monnot)
- cp: Only trigger propagation once per constraint. #114 (Arthur Bit-Monnot)
- up: Add support for timed effects (aka timed initial literals) #120 (Arthur Bit-Monnot)
Bug Fixes
- cp: Add missing watch in linear propagator. #114 (Arthur Bit-Monnot)
- up: Fix anytime solver that missed intermediate solutions. #118 (Arthur Bit-Monnot)
Chores
- cp: Make watches on VarRef (less error prone than SVar) #114 (Arthur Bit-Monnot)
- cp: Clean up internal conversions from/to i64. #114 (Arthur Bit-Monnot)
- cp: fix compilation errors in tests #114 (Arthur Bit-Monnot)
- cp: Remove old code. #114 (Arthur Bit-Monnot)
v0.3.1
Features
- val: give a default id to actions #113 (Roland Godet)
Bug Fixes
- val: suffix all actions' parameters #113 (Roland Godet)
- rm planning-test-cases #113 (Roland Godet)
- val: reduce calculated epsilon if none is provided #115 (Roland Godet)
Chores
- cargo: fmt and clippy #113 (Roland Godet)
- cargo: clippy #113 (Roland Godet)
Commits
- bf6a785: feat(val|params): can add a suffix (Roland Godet) #113
- 7fdb9f5: feat(val|trait): add SuffixParams (Roland Godet) #113
- 90f6313: feat(val|expr): can suffix params (Roland Godet) #113
- fe2929f: feat(val|conditions): can suffix params (Roland Godet) #113
- 6e40764: feat(val|effects): can suffix params (Roland Godet) #113
- a199f22: feat(val|temp interval): can suffix params (Roland Godet) #113
- f57c386: feat(val|actions): can suffix params (Roland Godet) #113
- 74937df: feat(val|methods&tasks): can suffix params (Roland Godet) #113
- 9897d4f: feat(val|configurable): can suffix with own id (Roland Godet) #113
- d4bbd63: feat(val|action): make the enum configurable (Roland Godet) #113
v0.3.0
Features
- up: Add measure of time spent in the engine. #109 (Arthur Bit-Monnot)
- reify: support
up:plus
#111 (Roland Godet) - linear: try from atom converter #111 (Roland Godet)
- reify: support
up:minus
#111 (Roland Godet) - up: Add AriesOpt class tha guarantees optimality. #112 (Arthur Bit-Monnot)
- up: add a new experimental script to help interacting with UP. #112 (Arthur Bit-Monnot)
Chores
- up: Use new metrics field of ValidationResult #110 (Arthur Bit-Monnot)
- up: be more precise in engine time to avoid division by zero on UP side #110 (Arthur Bit-Monnot)
- linear: use i64 inside propagation logic to avoid overflow #111 (Roland Godet)
- deps: Update dependencies. #112 (Arthur Bit-Monnot)
- cp: Print minimal statistics in CP reasoner. #112 (Arthur Bit-Monnot)
- up: Refactor the executable to accept subcommands for solving/serving. #112 (Arthur Bit-Monnot)
- fix lints. #112 (Arthur Bit-Monnot)
- up: Remove anytime mode from aries-opt, as it was hard to reconcile it with the expected semantics. #112 (Arthur Bit-Monnot)
Commits
- up: Update README #112 (Arthur Bit-Monnot)
- Update dependency on up #112 (Arthur Bit-Monnot)
v0.2.1
Features
- grpc: export activity parameters for scheduling #105 (Roland Godet)
- resource: support linear sum values #105 (Roland Godet)
- lin: can map the literals of a sum #105 (Roland Godet)
Bug Fixes
- cargo clippy warning && upf ci failure #105 (Roland Godet)
- cargo clippy warning #105 (Roland Godet)
- encode: unused err & duplicate branching #105 (Roland Godet)
- solver: problem instance checking for anytime #108 (Roland Godet)
Documentation
- sched: update with new encoding #105 (Roland Godet)
- encode: typo #105 (Roland Godet)
Code Refactoring
- encode: rename eff persistence ends map #105 (Roland Godet)
- encode: rename env var for timepoints #105 (Roland Godet)
- encode: move resources in separate func #105 (Roland Godet)
- effects: rename time points #105 (Roland Godet)
- solver: use common methods for oneshot and anytime #108 (Roland Godet)
Continuous Integration
- Switch to new UP testing facilities #107 (Arthur Bit-Monnot)
- up: can specify problem prefix #105 (Roland Godet)
- remove up integration script #105 (Roland Godet)
Chores
- lin sum: add display impl #105 (Roland Godet)
Reverts
- effect: remove AssignEnd time point #105 (Roland Godet)
Commits
- up: Update upstream UP version #107 (Arthur Bit-Monnot)
- d592df9: fix(encode|resource): set assignment literal
la
to condition value (Roland Godet) #105 - c8a48b4: refactor(encode|resource): redesign the encoding (Roland Godet) #105
- 6602a95: refactor(encode|resource):
la
creation in function (Roland Godet) #105 - 656584e: feat(encode|resource): new
la
encoding using assign end timepoint (Roland Godet) #105 - 60067e9: fix(encode|resource):
la
creation without timepoints (Roland Godet) #105 - b8f0975: increase and decrease support integer variables (Yirmandias) #105
- 2cccca0: chore(encode|resource): add debug view (Roland Godet) #105
- 67571a7: fix(encode|resource): lit => prez(var) (Roland Godet) #105
- 31b1e9d: fix(encode|resource): force literals to be always defined (Roland Godet) #105
- up: Minor code refactoring #105 (Arthur Bit-Monnot)
- 07a8d91: chore(encode|resource): use 3 timepoints for assign (Roland Godet) #105
- bd78cbf: chore(encode|resource): panic on undefined bounds (Roland Godet) #105
v0.2.0
Features
- solver: Add bounds to int type. #100 (Arthur Bit-Monnot)
- up: Allow parsing bounded integer types. #100 (Arthur Bit-Monnot)
- up: Add support for parsing (not solving) simple numeric problems. #100 (Arthur Bit-Monnot)
- encode: convert resource constraints into linear sums #100 (Roland Godet)
- linear: optional var to create constant terms #100 (Roland Godet)
- up: Allow outputing scheduling solutions.. #100 (Arthur Bit-Monnot)
- var: create variable ONE #100 (Roland Godet)
- val: evaluation of bounded numbers #100 (Roland Godet)
- val: support schedule problems #100 (Roland Godet)
- grpc: support upf epsilon #100 (Roland Godet)
- val: check schedule problem constraints #100 (Roland Godet)
- val: support timed effects #100 (Roland Godet)
- val: support activities with parameters #100 (Roland Godet)
Bug Fixes
- encode: support constraint for numeric state variables #100 (Roland Godet)
- encode: stop skipping unbounded integers #100 (Roland Godet)
- model: bind entailed literal to tautology of expression scope #100 (Roland Godet)
- causal: format of state variables #100 (Roland Godet)
- model: use core reification with tautology for lin constr #100 (Roland Godet)
- model: skip non-present constraints during assignment validation #100 (Roland Godet)
- ci: update upf proto version #100 (Roland Godet)
- val: adaptation for upf scheduling #100 (Roland Godet)
- planning: Be conservative in evaluating whether a numeric fluent is used. #100 (Arthur Bit-Monnot)
- val: effect factory with forall param #100 (Roland Godet)
- cp: lower and upper bound getters #100 (Roland Godet)
- cp: set current value of a constant as upper bound #100 (Roland Godet)
- solver: Conversion from FAtom to LinearSum was erroneous. #100 (Arthur Bit-Monnot)
- solver: simplified linear sum in constraint posting #100 (Roland Godet)
- grpc: plan generation result on timeout #100 (Roland Godet)
- cargo clippy warning #100 (Roland Godet)
- cp: set non-precense rather than decide it #100 (Roland Godet)
- cargo clippy warning #99 (Roland Godet)
- val: relax order constraints for empty methods #99 (Roland Godet)
- cargo clippy warning #99 (Roland Godet)
- val: signature of a state variable #100 (Roland Godet)
- val: mock schedule plan creation #100 (Roland Godet)
- val: negative bounds extraction #100 (Roland Godet)
- val: minimal delay error message #100 (Roland Godet)
- val: action applicability for problems with discrete time #100 (Roland Godet)
- val: check init env for effect applicability in actions #100 (Roland Godet)
- cargo clippy warning #100 (Roland Godet)
- cargo clippy warning #100 (Roland Godet)
- deps: Fix compiling bug with itertools (#101) #101 (Jérémy Turi)
- up: Minor fixes to supported problem declarations #104 (Arthur Bit-Monnot)
- up: Remove declared support for pre-1.0 features #104 (Arthur Bit-Monnot)
- up: add ignore domain to allow CI to proceed #104 (Arthur Bit-Monnot)
Documentation
- resources: draft #100 (Roland Godet)
- resources: only consider instantaneous conditions/effects #100 (Roland Godet)
- val: better error message #100 (Roland Godet)
Styles
- val: highlight potential code to fix #99 (Roland Godet)
- val: typo in comments #100 (Roland Godet)
Code Refactoring
- lin sum: replace or_zero by a lit #100 (Roland Godet)
- cp tests [#100](https://github.com/plaans...
v0.1.0
Features
- model: support fixed and bounded durations #88 (Roland Godet)
- planning: use linear sum to encode duration constraints #88 (Roland Godet)
- grpc: use new duration constraints #88 (Roland Godet)
- model: add denominator to linear terms #88 (Roland Godet)
- Add logging to the solver. #94 (Arthur Bit-Monnot)
- planning: Enable eager propagation during encoding. #94 (Arthur Bit-Monnot)
- planning: Group compatible and exclusive subtasks to avoid explosion of the decomposition tree #94 (Arthur Bit-Monnot)
- solver: Add conflict-base brancher (LRB/VSIDS) to the main solver crate. #94 (Arthur Bit-Monnot)
- planning: Support task network constraints in HDDL. #94 (Arthur Bit-Monnot)
- hddl: Support parameters in task networks. #94 (Arthur Bit-Monnot)
- hddl: Initial support for universal quantification. #94 (Arthur Bit-Monnot)
- planning: Allow retrieving plans in an anytime fashion. #94 (Arthur Bit-Monnot)
- planning: When optimizing, the solver will keep increasing the depth until the maximum is reached. #94 (Arthur Bit-Monnot)
- val: check the epsilon value if provided #93 (Roland Godet)
- up: Provide decomposition information for hierarchical plans. #96 (Arthur Bit-Monnot)
Bug Fixes
- planning: Detect conditions that cannot be encoded as table constraints. #88 (Arthur Bit-Monnot)
- planning: use TIME_SCALE as denominator in ConstraitType::Lt encoding #88 (Roland Godet)
- up: Add missing substitution of duration bounds in constraints. #88 (Roland Godet)
- cp: add a saturation security on sum reasoner #88 (Roland Godet)
- up: replace cohoma problems with satisfiable versions #88 (Roland Godet)
- grpc: raise error when the result gets one #88 (Roland Godet)
- ci: type dict is not subscriptable #88 (Roland Godet)
- solver: Support LT between int and fixed point numerals. #90 (Arthur Bit-Monnot)
- model: FAtom into LinearSum #90 (Roland Godet)
- solver: Support LT between int and fixed point numerals. #90 (Arthur Bit-Monnot)
- model: FAtom into LinearSum #90 (Roland Godet)
- planning: corner case where no explanation could be given for an STN propagation. #94 (Arthur Bit-Monnot)
- build: Some crate were missing anyhow features. #94 (Arthur Bit-Monnot)
- planning: convenience method for equality encoding was broken. #94 (Arthur Bit-Monnot)
- solver: bug in incremental DFS of implication graph. #94 (Arthur Bit-Monnot)
- tools: Fix script to find solvable problems. #94 (Arthur Bit-Monnot)
- val: add all parameters into actions #92 (Roland Godet)
- stn: Disable a test that was not outdated. #94 (Arthur Bit-Monnot)
- val: update factories to new up version #93 (Roland Godet)
- val: stop checking problem support #93 (Roland Godet)
- val: cargo clippy warning #93 (Roland Godet)
- val: minimal delay on condition detection #93 (Roland Godet)
- val: add a timepoint for each action start and end #93 (Roland Godet)
- cp: Substitution was not done for linear eq. #91 (Arthur Bit-Monnot)
- val: Deactivate probably incorrect checks of plan decomposition. #96 (Arthur Bit-Monnot)
Code Refactoring
- model: FAtom into LinearTerm/Sum #88 (Roland Godet)
Tests
- add binary problems from CoHoMa #88 (Roland Godet)
- adaptation for new constant expectations #90 (Roland Godet)
- adaptation for new constant expectations #90 (Roland Godet)
Builds
- Disable tracing logs in release binaries. #94 (Arthur Bit-Monnot)
- up: update version #93 (Roland Godet)
Continuous Integration
- test all binary problems by exploring the folder #88 (Roland Godet)
- stop failing on the first error #88 (Roland Godet)
- planning: Add new {ph}ddl problems to test cases. #94 (Arthur Bit-Monnot)
- planning: Add HD...