gecode
OptaPlanner
| gecode | OptaPlanner | |
|---|---|---|
| 5 | 30 | |
| 328 | 490 | |
| 1.5% | 1.2% | |
| 0.0 | 2.5 | |
| 14 days ago | 3 days ago | |
| C++ | Java | |
| GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gecode
-
Solving Every Sudoku Puzzle (2006)
You will most likely need both smarter heuristics and better deductions for larger instances. As mentioned, I've seen well-engineered custom tight C++-solvers with decent heuristics and the normal deductions take >1 hour on some instances. Most cases I've tried can be solved reasonably quickly when using OR-Tools CP-SAT which uses constraint programming style lazy clause generation and custom MIP relaxations in a portfolio.
For a list of interesting instances to test, see this file: https://github.com/Gecode/gecode/blob/release/6.3.0/examples...
I should probably do some benchmarks on that with the standard MiniZinc solvers.
-
Gecode is an open source C++ toolkit for developing constraint-based systems
Adding to wavemode, the Sudoku example is a good starting point: https://github.com/Gecode/gecode/blob/master/examples/sudoku...
In the documentation (https://www.gecode.org/doc-latest/MPG.pdf) there are a lot of worked examples as well.
-
Send+more=money and how to use forward-checking in search
Sure, there are lots but I think it should be doable. Will probably try sometime. Easiest is to make a model that fixes the lengths of the words, and just run it for different word lengths.
As a comparison, see this model solving crosswords using constraint programming. https://github.com/Gecode/gecode/blob/develop/examples/cross...
-
Testing non-trivial software (C++)
The main idea is that one defines tests that post the propagator on an initial domain, and then adding a checker for ground instances if it is a solution. The testing infrastructure runs the propagator in simulated setting, making sure that non-solutions are pruned and that solutions are found. Here is an example for the sorted constraint: sorted.cpp
OptaPlanner
-
OptaPlanner VS timefold-solver - a user suggested alternative
2 projects | 23 Jun 2023
-
Resource Scheduling
However, if you need to solve constraints etc., see: https://www.optaplanner.org/
-
Anything you wish there was an open source solution for?
Try looking for something built around Optaplanner - basically taking the end game of rostering and working backwards.
-
Seeking Advice and Collaboration for an Open-Source Worker Cooperative Platform Project
OptaPlanner takes some of the items tracked in tool like Odoo and creates plans based on them. I.E. how do you manage shifts while juggling multiple constraints (Jerry can only work weekends, Jeff can only work afternoons, Jim can work weekends but only on double time, etc.)
-
[Combinatorial Optimization] What is a good algorithm, or genre of algorithms that I should read up on for an optimization problem with a set of sets, where at least one element of each set is required?
There is a library out there called Optaplanner that is designed for optimization of NP complete problems. It is hard to tell if that is exactly what this is, but I think you should be able to use this regardless.
-
Searching for something to schedule IT helpdesk shifts
Just stumbled upon https://www.optaplanner.org. Looks very interesting but also really overkill.
-
Easy-to-use school scheduling software?
OptaPlanner - a generic scheduler.
-
Non profit Healthcare clinic looking for self hosted or cheap cloud alternative employee shift scheduling app?
OptaPlanner
-
Self-hosted schedulers?
I've never used it but it sounds like OptaPlanner may be a scheduler in the same vein?
- Algorithm for Assigning Flights to Planes
What are some alternatives?
Choco - An open-source Java library for Constraint Programming
or-tools - Google's Operations Research tools:
biteopt - Derivative-Free Global Optimization Algorithm (C++, Python binding) - Continuous, Discrete, TSP, NLS, MINLP
Decider - An Open Source .Net Constraint Programming Solver
kotlin-statistics - Idiomatic statistical operators for Kotlin