ToQUBO.jl
ToQUBO.jl copied to clipboard
🟦 JuMP ToQUBO Automatic Reformulation
I am trying to formulate a QUBO for a MILP scheduling problem which has 3 equations and an objective function. The model is formulated as RTN=Model(Gurobi.Optimizer) @constraint(RTN, Balance[r in R,...
There are a few comments in #59 about documentation. I'm listing them and other topics here as tasks for another PR yet to be opened. ## Manual - [ ]...
The examples in toQUBO.jl also exhibit the usage of QUBODrivers.jl and even some QUBOTools.jl. I recommend moving them to the documentation (website) of QUBO.jl and reference to it
Implement encoding for $x \in \\{0\\} \cup X$. One option is to write $$ \xi[\\{0\\} \cup X](\mathbf{y}; z) = z ~ \xi[X] (\mathbf{y}) $$ where $(\mathbf{y}; z) \in \mathbb{B}^{n +...
We are currently using one-hot approach. Not great, but it works. IDEA: Use Domain-Wall. Define new variables $y_{i}$ such that $x_i = y_{i + 1} - y_{i}$, substituting every occurence...
If, for some reason $\mathbf{a}' \mathbf{x} \succ 0$ or $\mathbf{x}' \mathbf{Q} \mathbf{x} \succ 0$, we could just add them to the objective function without taking the square.
The priority, within the MOI support table, seems to be: - Idicator variables - SOS1 - Quadratic Forms
When generating penalty functions for constraints like $$a x + b \le 0$$ i.e. $$g(x) \le 0$$ one might go for $$\rho_k (g_k(x) + s)^{2} = 0, g(x) \in \text{PBF}$$...
Appart from the usual reformulation pipeline, instrospection tools for retrieving information seem to be useful for tests and advanced usage.
Version 0.1.0 had a few bugs and the current coverage of ~50% speaks for itself. I suggest the following test categories: - Library (PBO, VirtualMapping) - Interface (MOI, JuMP) -...