zebra4j
pulp
Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
zebra4j | pulp | |
---|---|---|
1 | 17 | |
10 | 1,811 | |
- | 0.7% | |
0.0 | 6.4 | |
6 months ago | 10 days ago | |
Java | Python | |
GNU Lesser General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
zebra4j
-
I made zebra4j - Java and JavaScript libraries for generating logic grid puzzles like the famous Zebra puzzle
Try the JS version at https://murfffi.github.io/zebra-apps/demo/index.html . Learn more and check out the Java code at https://github.com/murfffi/zebra4j . The puzzles are fully customizable and produce descriptions in natural language.
pulp
-
[2022 Day #19] I think I'll just lol-nope out of it
Now I have used Pulp library, which I guess does the heavy lifting.
-
Operations research packages
Pyomo, it even has its own book. Additionally, CVXOPT focuses on convex optimization, PuLP on linear programming (it has lots of interfaces for other solvers).
-
Successful Compiling COIN-OR CBC solver with Python Pulp ARM64
After installing https://github.com/coin-or/pulp via pip I failed to use the built-in cbc solver. Pulp comes with prebuilt binaries for Linux x32 & x64 but not for ARM, so it threw error while solving problem.
-
flopt: powerful optimization modeling tool
There are some optimization modeling tools, Pulp andScipy are known for linear programming (LP) modeling, CVXOPT and Pyomo for quadratic programming (QP).
-
Integer vs. Linear Programming in Python
For modelling libraries in general-purpose languages, Gurobi's python bindings have the best reputation. But of course Gurobi is very expensive (I have heard about $50k for a fully unrestricted license, plus $10k yearly for support). On the open-source side, besides Google's OR-Tools, there is Pyomo [1] and PuLP [2] in Python (as the article mentions). In Julia, there is JuMP [3], whose development community is extremely enthusiastic.
Traditionally, however, mathematical models were encoded in domain-specific languages. The most prominent one is AMPL [4] which is proprietary. The glpk [5] people have developed a very neat open source clone of AMPL: the GNU MathProg language. For a more modern take on AMPL-type modelling DSLs, look at ZIMPL [6], which is open source as well.
[2] https://coin-or.github.io/pulp/
[3] https://jump.dev/JuMP.jl/stable/
[4] https://ampl.com
- Python open-source solvers
What are some alternatives?
pyomo - An object-oriented algebraic modeling language in Python for structured optimization problems.
PySCIPOpt - Python interface for the SCIP Optimization Suite
Choco - An open-source Java library for Constraint Programming
Bonmin - Basic Open-source Nonlinear Mixed INteger programming
manim-rubikscube - A Manim implementation of the classic Rubik's Cube
pulp_ansible - A Pulp plugin that manages Ansible content, i.e. roles, collections
CryptidSolver - A solver for the boardgame Cryptid
Hodoku - Hodoku is a solver/generator/trainer/analyzer for standard sudoku.
Zeratool - Automatic Exploit Generation (AEG) and remote flag capture for exploitable CTF problems
Cbc - COIN-OR Branch-and-Cut solver
AutoNodestone - Python program for MapleStory that help palyer find ideal combination of Nodestones.
scinumtools - Essential tools for numerical scientific calculations, simulations and data analysis. Besides several useful tools, this package is featuring expression solver, physical units and dimensional input parameter modules.