OptaPlanner
exact | OptaPlanner | |
---|---|---|
3 | 30 | |
- | 138 | |
- | 9.4% | |
- | 7.4 | |
- | 18 days ago | |
Java | ||
- | 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.
exact
-
New release
Version 1.0.0 of Exact is released.
-
Ask HN: Where to run embarrassingly parallel, Integer, no SIMD workloads?
>> The workload is memory bound not compute bound.
> I don't think so? How many gigabytes per second per core are you processing?
That's what the Intel VTune profiler tells me. 39.2% Memory bound = 21,7% of clock ticks L1 bound (execution stalled for data that was in L1) + 12.4% L3 bound on a Haswell 4 core Xeon.
> If for some reason you can talk about this problem to random SIMD programmers online privately but you cannot post about this problem publicly
I can talk about it publicly. I just did not want to distracted from the actual hardware question. I recently started to contribute to this https://gitlab.com/JoD/exact open source project. The algorithm tries to find a valid assignment for a bunch of equations of this form 4x1 -3x57 +1* not(x1232) <= 4 (there are special cases already accelerated). We guess an assignment for a certain variable, check all constraints, sometimes constraints imply other assignments to other variables (if x1 is true and x1232 is false x57 has to be true) then those get propagated to. One technique is called watch propagation and can be done for the SAT family of clauses. This technique is in incompatible with branching along assignments. I find SIMD over clauses dubious, as they are mostly random accessed of different length and sparse. The embarrassing parallelization comes from being able to work one different parts of the parameter space and exchange clauses learned from conflicts. We are currently not doing that yet but plan to do something HordeSAT like over MPI (there is different slightly cleverer tree exchange variant over MPI all to all but i do not have that reference handy).
We have some horrible sins (such a virtual method table look ups in loops, no -march=native compiler flags in main branch, ...) which the main developer created and we have not cleaned up. If i could nerd snipe you to run some experiments with that codebase and contribute some SIMD loops (with -march=native -mtune=native only 4 functions are currently SIMD, none are significant to the performance) that be great. For all the divisibilty checking i currently plan this: https://www.reddit.com/r/exact/comments/wokfhl/resource_on_f... (we spend 3% of compute time in the standard libraries modulo)
-
Ask HN: Do you use an optimization solver? Which one? Why? Do you like it?
I use JuMP as modeling language. For MILP i am usually using Gurobi or SCIP. For ILP problems have have been looking in to the exact solver https://gitlab.com/JoD/exact which seems quiet promising.
For NLP i usually go with either https://worhp.de/ or just IpOpt.
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?
HiGHS - Linear optimization software
Choco - An open-source Java library for Constraint Programming
python-mip - Python-MIP: collection of Python tools for the modeling and solution of Mixed-Integer Linear programs
or-tools - Google's Operations Research tools:
osqp - The Operator Splitting QP Solver
jsprit - jsprit is a java based, open source toolkit for solving rich vehicle routing problems
csips - A pure-python integer programming solver
JaCoP - Java Constraint Programming solver
clpz - Constraint Logic Programming over Integers
vroom - Vehicle Routing Open-source Optimization Machine
golomb-solver - Create Golomb rulers with constraint programming
kotlin-statistics - Idiomatic statistical operators for Kotlin