bokner

bokner

Hello everyone,

For the last few months, I’ve been working on Solverl, Erlang/Elixir interface to MiniZinc and a supplemental project, SolverView,
which is a web application based on Phoenix/LiveView.

MiniZinc is a generic framework for solving optimization problems typical for Operations Research.
IBM CPLEX,
Google OR-Tools and many other popular OR products have an interface to MiniZinc.

So having Elixir interface to MiniZinc opens up a gateway to industrial-strength optimization tools.

But there is more. Currently, MiniZinc team hosts MiniZinc Python project, the idea is to assist
the solving of complex OR problems through incremental solving techniques driven by the Python code .

Spending quite a bit of time with MiniZinc Python, I’m confident that the similar Elixir-based product will be a much better option. This is mainly due to better asynchronicity/concurrency support.

Solverl already matches the most significant features of MiniZinc Python, and some Solverl features are not available in MiniZinc Python.

SolverView was started as a set of examples that visualize the solving process using Phoenix/LiveView.

You can try it by using Docker image:

docker run -p 4000:4000 bokner/solverview

I have several plans for extending it, one is to build Web IDE for MiniZinc,
with pluggable Elixir components for visualization, post-processing of solutions etc.

I’m very new to Phoenix/LiveView, and web design is not my thing yet, so any advice and/or contribution would help tremendously.
In particular, if anyone is willing to help with Web IDE pages, please let me know.

Showing Posts 1 to 5

elcritch

elcritch

The readme for solverl seems impressively thorough! I currently don’t have a use for constraint programming, but kinda wish I did. :slight_smile: LiveVue is perfect for this sort of program.

bokner

bokner OP

Thank you! Normally, I’m not that thorough with documenting. In this case though, I was motivated by minizinc-python docs, and desire to make Elixir counterpart better :slight_smile:

I only came to Constraint Programming recently as part of my math program studies. It’s very addictive, especially if blended with coding.

braindeaf

braindeaf

Just seen this. I’ve been working with constraint solving with OR-Tools in Ruby and never heard of MiniZinc which seems quite interesting in itself. So this is nice thing to start working on in the morning.

bokner

bokner OP

OR-Tools can be configured as a MiniZinc solver. One of the nice things about MiniZinc is that one can try the same model with different solvers.

braindeaf

braindeaf

Wonderful. Despite being a relative veteran I’m finding constraint solving in itself quite mind bending and difficult to explain the process to colleagues given that it’s new to me, so finding a way of focusing in on how to document and solve the problems we’re working on is pretty challenging. Not to mention the multitude of examples in Python which then add their own flavour of unfamiliar (to me) syntax. Thanks for your work on this.

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews