SeaPearl.jl Versions Save

Julia hybrid constraint programming solver enhanced by a reinforcement learning driven search.

v0.4.5

10 months ago

SeaPearl v0.4.5

Diff since v0.4.4

Closed issues:

  • New package version (#404)
  • pool is a type and a variable (#425)

Merged pull requests:

  • Add management of cpu and random seed and clean code (#406) (@Max9294D)
  • add include and parsing time to time limit (#407) (@navaxel)
  • Add schedule XCSP3 tests (#408) (@jardinetsouffleton)
  • Correct error getindex(nothing) in argparse. (#410) (@Max9294D)
  • change default value nb_core (#411) (@Max9294D)
  • Comment parser (#412) (@Max9294D)
  • Tom experiments (#413) (@Max9294D)
  • new settings for ppo learning (#414) (@navaxel)
  • Ppo settings (#415) (@navaxel)
  • Add option to enter the parameters values with a json file (#417) (@Max9294D)
  • Correction for intension constraint parsing with constant (#418) (@navaxel)
  • ppo update function overwritten (#419) (@navaxel)
  • correct memory bug (#420) (@Max9294D)
  • Sum parser (#422) (@navaxel)
  • Fix XCSP3 output for undefined variables (#423) (@navaxel)
  • Fix parsing issue for XCSP3 instances (#424) (@jardinetsouffleton)
  • Rename abstract type pool to Pool (#426) (@CasBex)

v0.4.4

11 months ago

SeaPearl v0.4.4

Diff since v0.4.3

Closed issues:

  • No automatic registration of the latest SeaPearl/SeaPearlExtra/SeaPearlZoo version on the official Julia repo manager (#202)
  • Write contribution and project guidelines (#248)
  • Implement one impact-based search variable selection heuristic (#261)
  • Increase code coverage of MOI_wrapper (#283)
  • Increase coverage of various data generators (#284)
  • Write best practices wiki page (#288)
  • Add badges to README (#293)
  • View type variables expected to have 'inner' attribute (#296)
  • Update SeaPearl version (#300)
  • Add regular constraint (#304)
  • Implement impact-based search (#308)
  • Refactor to remove various warnings (#311)
  • Implement activity-based search (#312)
  • Bugs in documentation build (#319)
  • Fix broken LNS test (#324)
  • Fix deprecation warnings (#326)
  • Output Format (#360)
  • Update SeaPearl dependencies (#379)
  • Many warnings (#380)

Merged pull requests:

  • Update documentation (#301) (@jardinetsouffleton)
  • Add workflow to remove stale documentation (#302) (@jardinetsouffleton)
  • Documentation update (#303) (@jardinetsouffleton)
  • Add Reinforcement Learning documentation (#305) (@jardinetsouffleton)
  • Update docs for SeaPearl internals (#306) (@jardinetsouffleton)
  • Fix broken N-Queens generator (#310) (@jardinetsouffleton)
  • Add badges to README (#313) (@jardinetsouffleton)
  • Increase test coverage for instance generation (#314) (@jardinetsouffleton)
  • Add test for eternity2 datagen (#315) (@jardinetsouffleton)
  • Add RL tests (#316) (@jardinetsouffleton)
  • Remove MOI-wrapper from main branch (#317) (@jardinetsouffleton)
  • Change function call to avoid deprecation warning (#318) (@jardinetsouffleton)
  • Paper in prep (#320) (@jardinetsouffleton)
  • Fix broken doc sections (#321) (@jardinetsouffleton)
  • Activity Based Value Selection Heuristic (#322) (@3rdCore)
  • Fix/improve test setup (#325) (@jardinetsouffleton)
  • 1st constraint (#327) (@navaxel)
  • Addition constraint (#328) (@navaxel)
  • Addition constraint (#329) (@navaxel)
  • Fix/fix doc build (#330) (@navaxel)
  • sumToZero correction + arithmetic constraint (#331) (@navaxel)
  • Distance constraint (#332) (@navaxel)
  • init parser (#334) (@navaxel)
  • Parser (#335) (@navaxel)
  • Parser2 (#336) (@navaxel)
  • add group parsing (#337) (@navaxel)
  • add constant constraint to intension parsing (#338) (@navaxel)
  • first parsing for extension support constraint (#339) (@navaxel)
  • add sum constraint and sum test (#340) (@navaxel)
  • Parsing sum (#341) (@Max9294D)
  • Parsing sum (#342) (@Max9294D)
  • Fix variable parsing (#343) (@jardinetsouffleton)
  • Extension parsing (#344) (@navaxel)
  • Extension parsing (#345) (@navaxel)
  • Variable tests (#346) (@jardinetsouffleton)
  • Simple variable (#347) (@navaxel)
  • Parsing sum (#348) (@Max9294D)
  • Extension parsing (#350) (@navaxel)
  • add group parsing for allDifferent constraint (#351) (@navaxel)
  • correction about division constraint and variables with 0 in their do… (#352) (@navaxel)
  • Parsing tests/all different (#353) (@jardinetsouffleton)
  • Add tests for extension parsing (#354) (@jardinetsouffleton)
  • N values constraint (#355) (@navaxel)
  • N values constraint (#356) (@navaxel)
  • sum parsing correction and tests (#357) (@navaxel)
  • variable parsing correction (#358) (@navaxel)
  • maximum constraint test (#359) (@navaxel)
  • test all parsing constraint, variable and objective (#361) (@navaxel)
  • Add Element1dVar constraint and Element1dVar Test. (#362) (@Max9294D)
  • minimum constraint + min/max objective (#363) (@navaxel)
  • Element (#364) (@Max9294D)
  • output function for XCSP3 competition (#365) (@navaxel)
  • Input xcsp2 (#366) (@Max9294D)
  • Outputv2 (#367) (@navaxel)
  • merge ouput and input for XCSP (#368) (@navaxel)
  • add revise to argparse + divBounds correction (#369) (@navaxel)
  • conversion error fixed : AbstractIntVar (#370) (@navaxel)
  • Correction of the get_index(IntVar) error for sum (#371) (@Max9294D)
  • Extension parsing error (#372) (@navaxel)
  • correction updateNegativeTable (#373) (@navaxel)
  • attribute displayXCSP3 correction for model (#375) (@navaxel)
  • Error percentage group (#376) (@Max9294D)
  • Upgrade to julia 1.8 (#378) (@jardinetsouffleton)
  • Fix remove non core dependencies (#381) (@jardinetsouffleton)
  • accelerate argparse settings (#382) (@navaxel)
  • Correction error group (#383) (@Max9294D)
  • Fixes for julia 1.9 (#384) (@jardinetsouffleton)
  • group parsing correction + new tests (#385) (@navaxel)
  • Correct bug parsing variables in group (#386) (@Max9294D)
  • Extension parsing issue (#387) (@navaxel)
  • short table constraint correction (#388) (@navaxel)
  • change domain.min.value for minimum (same for max) (#389) (@navaxel)
  • correct bug domain.min with minimum function (#390) (@Max9294D)
  • divBounds correction (#391) (@navaxel)
  • correction compactNegativeTable and compactShortTable (#392) (@navaxel)
  • correction divBounds min > max (#393) (@navaxel)
  • Div bounds correction (#394) (@navaxel)
  • XCSP3 output correction for objective to maximize (#395) (@navaxel)
  • Multiple strategies (#396) (@Max9294D)
  • new type of variable 'as' (#397) (@navaxel)
  • addVariable issue correction (#398) (@navaxel)
  • group parsing correction for '%i' with i > 10 (#399) (@navaxel)
  • stack overflow on extension parsing (#400) (@navaxel)
  • group parsing issue for sum constraint with %... solved (#402) (@navaxel)
  • save performance in csv file (#403) (@navaxel)

v0.4.3

1 year ago

SeaPearl v0.4.3

Diff since v0.4.2

Closed issues:

  • Update SeaPearl version (#290)
  • Correct errors in console output (#292)

Merged pull requests:

  • Fix minor spelling mistakes (#295) (@jardinetsouffleton)
  • Fix error in computation of domain cardinality (#297) (@jardinetsouffleton)
  • Dead code cleanup (#298) (@jardinetsouffleton)
  • Small cleanup (#299) (@jardinetsouffleton)

v0.4.2

1 year ago

SeaPearl v0.4.2

Diff since v0.4.1

Closed issues:

  • Push latest SeaPearl version to package registry (#275)
  • Remove duplicate test pipelines in PRs (#277)
  • Identify untested portions of the codebase (#279)
  • Replace deprecated function ignore(f) (#281)
  • Replace various deprecated functions (#282)

Merged pull requests:

  • added adhocInfo on problem generation (#259) (@3rdCore)
  • Adding a code of conduct (#276) (@jardinetsouffleton)
  • Tentative change to avoid duplicating pipeline run (#280) (@jardinetsouffleton)
  • Replaced deprecated Zygote.ignore by ChainRulesCore.ignore (#287) (@jardinetsouffleton)
  • Reduce dependencies (#289) (@jardinetsouffleton)

v0.4.1

1 year ago

SeaPearl v0.4.1

Diff since v0.4.0

Closed issues:

  • Tackle the "stochastic" issue while training: taking the difficulty of an episode into account. (#23)
  • Explore the idea of having two (or more) agents to solve a problem (#30)
  • Make it possible to give rewards later (not directly after an action is taken) (#32)
  • Try to give some metrics as input of the RL agent (#34)
  • Make the variable heuristic an RL agent learned heuristic as well (#35)
  • Add other type of search strategy (#38)
  • Support Max sense for @objective (#42)
  • Make JuMP GraphColoring tests deterministic (#43)
  • Representable variables (#72)
  • TstptwReward weird behaviour with numberOfDecisions (#96)
  • Set up documentation (#102)
  • Testset for CPreward2 (#190)
  • [CP] No easy way to generate a multiple of a variable, y = ax (#196)
  • [CP] No easy way to generate an offsetted variable, y = x + c (#197)
  • [CP] No easy way to generate the opposite of a variable, y = -x (#198)
  • [CP][Boolean Operator] Implement truth-functional operator of logical conjunction : ∧ (#200)
  • Remove dead code, useless/test comments and empty files (#201)
  • TSPTW problem refactoring (#211)
  • DefaultStateRepresentation improvement (#212)
  • Add a random value selection heuristic. (#213)
  • Generic reward encouraging smart exploration of the tree. (#216)
  • Refacto of the Graph Convolution (#225)
  • Implementation of the heterogeneous graph (#227)
  • Adapt New heterogeneous Graph convolution to FullFeaturedCPNN and VariableOutputCPNN (#230)

Merged pull requests:

  • Feature/disjonctive detectable precedence (#156) (@kimriouxparadis)
  • Variant of CPReward (#189) (@tomsander1998)
  • fix CPReward2 constructor and dependencies (#191) (@3rdCore)
  • fix type in feature_length (#192) (@marco-novaes98)
  • minor modification in sumlessthan.jl (#193) (@marco-novaes98)
  • Add variablesArray for NotEqualConstant (#194) (@marco-novaes98)
  • Added features for experiment reproductibility and many other improvement : (#203) (@3rdCore)
  • Add new search strategy: Large Neighborhood Search (LNS) (#204) (@marco-novaes98)
  • Make type of earliestStartingTime more abstract (#206) (@marco-novaes98)
  • Add summary of the performance test (#207) (@marco-novaes98)
  • Override the - operator to easily define constraints of the form y= -x. (#208) (@gostreap)
  • Tackling issues #196 and #200 (#209) (@louis-gautier)
  • Add BinaryXor and isBinaryXor constraint (#210) (@gostreap)
  • Optimization of the CP solver (#214) (@marco-novaes98)
  • Adds chosenFeatures for a more expressive DefaultStateRepresentation. (#215) (@gostreap)
  • RB generator (#217) (@gostreap)
  • Add RandomHeuristic for value (#218) (@gostreap)
  • Add RandomHeuristic for value (#219) (@gostreap)
  • RB generator (#220) (@gostreap)
  • Adds chosenFeatures for a more expressive DefaultStateRepresentation. (#221) (@gostreap)
  • Add SolutionFound to BasicMetrics (#222) (@gostreap)
  • Enable imitation learning (#223) (@ziadelassal)
  • Added instance generator for KEP (#224) (@marco-novaes98)
  • Creating a general reward encouraging a smart exploration of the tree (#226) (@louis-gautier)
  • Small improvement in the way the helpSolution is retrieved in SupervisedLearnedHeuristic (#228) (@gostreap)
  • Heterogeneous graph and new associated RL pipeline. (#229) (@gostreap)
  • Maximum Independent Set Generator (#234) (@gostreap)
  • Heterogeneous Graph Transformer (#235) (@louis-gautier)
  • Correction of inconsistencies on GeneralReward (#237) (@louis-gautier)
  • Max pooling for GraphConv (#238) (@3rdCore)
  • New explorers and tripartite graph plot utils (#239) (@louis-gautier)
  • Add erdos-renyi and barabasi-albert graph generator (#240) (@gostreap)
  • Add a Max-Cut problem generator (#241) (@gostreap)
  • Specific state representations for graph coloring and MIS (#242) (@louis-gautier)
  • Lots of changed (GPU support, max constraint, dfswb ...) (#244) (@3rdCore)
  • Added documentation automated deployment (#246) (@jardinetsouffleton)
  • Added codecov to CI (#247) (@jardinetsouffleton)
  • Draft: slight code cleanup: harmonized variable names and formatting (#252) (@jardinetsouffleton)
  • Changed variable name to fix bug (#254) (@jardinetsouffleton)
  • Revert "Draft: slight code cleanup: harmonized variable names and formatting" (#257) (@jardinetsouffleton)
  • @JuliaRegistrator register (#266) (@jardinetsouffleton)
  • Fixes for automated merge of package (#268) (@jardinetsouffleton)
  • Fix/resolving compat issues (#270) (@jardinetsouffleton)
  • Resolving compat format (#271) (@jardinetsouffleton)
  • Resolving compat format (#272) (@jardinetsouffleton)
  • setting julia version to 1.6-1.7 (#273) (@jardinetsouffleton)
  • Removing dependencies: Revise, Statistics (#274) (@jardinetsouffleton)

v0.4.0

2 years ago

SeaPearl v0.4.0

Diff since v0.3.1

Merged pull requests:

  • AllDifferent optimization (#174) (@PierreTsr)
  • Timeout feature on evaluation (#185) (@3rdCore)
  • Replacing GeometricFlux.jl to boost performances (#186) (@PierreTsr)
  • Fixing major leak between training and evaluation data (#187) (@PierreTsr)
  • Update README.md (#188) (@pitmonticone)

v0.3.1

2 years ago

SeaPearl v0.3.1

Diff since v0.3.0

Merged pull requests:

  • Update SeaPearl for SeaPearlZoo, with new stat and new default reward : CPReward (#184) (@tomsander1998)

v0.3.0

2 years ago

SeaPearl v0.3.0

Diff since v0.2.0

Closed issues:

  • DP model vs CP model (#25)
  • Change the way evaluation of a learned heursitic is made (#37)
  • Add the all different constraint (#49)
  • CPModification not correctly updated in presence of views (#55)
  • Add a LatinSquares generator (#62)
  • Make Lexicographic the default value of a BasicHeuristic (#63)
  • Adding common generic value ordering heuristics (#64)
  • Unpractical type casting for Vector Constraints (#118)
  • Bug in the TSPTW test (#122)
  • prunedDomains update check (#128)
  • metricsFun can not handle more than 1 classic heuristic (#134)
  • Possible TableCT optimisation (#137)
  • Current base NN dense layer doesn't use any activation functions.... (#155)

Merged pull requests:

  • Feature/alldifferent (#115) (@PierreTsr)
  • CompatHelper: bump compat for "Distributions" to "0.25" (#116) (@github-actions[bot])
  • Fix for Absolute.jl (#117) (@PierreTsr)
  • Table constraint: compact table (#119) (@PierreTsr)
  • Fix/vector_casting (#120) (@PierreTsr)
  • SeaPearl cleanup and bug fix for RL value selection (#121) (@3rdCore)
  • updated README.md (#123) (@3rdCore)
  • fix: SetDiffSingleton propagation (#129) (@PierreTsr)
  • a prettier SeaPearl (#130) (@PierreTsr)
  • iLDS (#133) (@3rdCore)
  • all diff for arrays (#135) (@tomsander1998)
  • Compact Table optimization (#138) (@PierreTsr)
  • Feature/disjunctive (#139) (@kimriouxparadis)
  • CPModification upgrade (#140) (@PierreTsr)
  • Entire refacto of search metrics (#141) (@3rdCore)
  • Problem/nqueens (#142) (@tomsander1998)
  • Added new plotting features to compare different metrics ( learned, classic, random ... ) (#143) (@3rdCore)
  • CompatHelper: add new compat entry for "RollingFunctions" at version "0.6" (#146) (@github-actions[bot])
  • Refacto code (#150) (@3rdCore)
  • Feature/reward (#152) (@3rdCore)
  • Wo graph clean (#154) (@tomsander1998)
  • SeaPearl v0.3.0: RL pipeline refactoring and GPU support (#158) (@PierreTsr)
  • Fix/dependencies (#159) (@PierreTsr)
  • fix CPModification update with View Variables (#160) (@PierreTsr)
  • CompatHelper: bump compat for "ProgressBars" to "1" (#161) (@github-actions[bot])
  • Restart Based Search and Policy Gradient Method (#162) (@3rdCore)
  • Add globalFeatures and test to FullFeaturedCPNN (#163) (@PierreTsr)
  • CompatHelper: add new compat entry for "KernelAbstractions" at version "0.6" (#165) (@github-actions[bot])
  • upgraded the functor function (#166) (@PierreTsr)
  • removed DataFrames deps (#167) (@PierreTsr)
  • CompatHelper: add new compat entry for "NNlib" at version "0.7" (#168) (@github-actions[bot])
  • CompatHelper: add new compat entry for "CUDAKernels" at version "0.2" (#169) (@github-actions[bot])
  • Failure based search, a first step towards an intelligent variable selection heuristic (#171) (@3rdCore)
  • Removing GPU usage from Test (#172) (@PierreTsr)
  • CompatHelper: add new compat entry for "FillArrays" at version "0.12" (#173) (@github-actions[bot])
  • Removed rolling-mean computation (#175) (@PierreTsr)
  • CompatHelper: bump compat for "CUDAKernels" to "0.3" (#176) (@github-actions[bot])
  • CompatHelper: bump compat for "KernelAbstractions" to "0.7" (#177) (@github-actions[bot])
  • Fix unneeded docstring + inclusion bug (#178) (@PierreTsr)
  • Episode redef (#179) (@3rdCore)
  • Bug fix on evaluator testset (#182) (@3rdCore)
  • Project.toml update (#183) (@PierreTsr)

v0.2.0

3 years ago

SeaPearl v0.2.0

Diff since v0.1.0

Closed issues:

  • TSPTW as a great benchmark tool. (#24)
  • Graph coloring generator should be improved now (#33)
  • Add a tsp generator (even a tsptw if possible) (#48)
  • New feature : making it possible to save an agent (#78)
  • Cleaning SeaPearlZoo (#101)
  • Update ReinforcementLearning & ReinforcementLearningCore (#103)

Merged pull requests:

  • CompatHelper: bump compat for "ReinforcementLearningCore" to "0.7" (#99) (@github-actions[bot])
  • CompatHelper: bump compat for "ReinforcementLearning" to "0.8" (#100) (@github-actions[bot])
  • CompatHelper: bump compat for "ReinforcementLearning" to "0.8" (#106) (@github-actions[bot])
  • CompatHelper: bump compat for "ProgressBars" to "1.0" (#108) (@github-actions[bot])
  • CompatHelper: bump compat for "Flux" to "0.12" (#109) (@github-actions[bot])
  • Update ReinforcementLearningCore.jl 0.6 -> 0.7 & Julia 1.5 -> 1.6 (#110) (@ilancoulon)
  • Add arraybuffer_dims function (#112) (@ilancoulon)
  • Update README (#113) (@ilancoulon)

v0.1.0

3 years ago

First version, used to run the paper's experiments