Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ParametricInstance #146

Merged
merged 34 commits into from
Nov 25, 2024
Merged

ParametricInstance #146

merged 34 commits into from
Nov 25, 2024

Conversation

termoshtt
Copy link
Collaborator

@termoshtt termoshtt commented Nov 18, 2024

  • Introduce ommx.v1.ParametricInstance message to represent QUBO without fixing penalty weight.

@termoshtt termoshtt self-assigned this Nov 18, 2024
termoshtt added a commit that referenced this pull request Nov 19, 2024
…for QUBO (#144)" (#149)

This reverts commit a0d0707 #144 

- The strategy for implementing QUBO and PUBO conversion has been
changed to use #146, which conflicts with #144
termoshtt added a commit that referenced this pull request Nov 21, 2024
Split from #146 

- Substitute decision variables partially. For example, substitute $x_1
= 1$ to $x_1 x_2 + x_1 + 1$ yielding $x_2 + 2$
@termoshtt termoshtt added python Changes in Python SDK rust Changes in Rust SDK proto Changes in protobuf schema and removed python Changes in Python SDK labels Nov 21, 2024
@termoshtt termoshtt marked this pull request as ready for review November 25, 2024 11:33
@termoshtt termoshtt merged commit e6099be into main Nov 25, 2024
27 checks passed
@termoshtt termoshtt deleted the parametric-instance branch November 25, 2024 11:36
This was referenced Nov 28, 2024
termoshtt added a commit that referenced this pull request Nov 29, 2024
Penalty method translates constraint optimization problem

$$
\begin{align*}
  \min & f(x) & \\
  \text{s.t.} & g_i(x) &= 0 & \forall i
\end{align*}
$$

into parametrized unconstrained optimization problem

$$
\min f(x) + \sum_i \rho_i |g(x)|^2
$$

with parameters $\rho_i$. Using `ParametricInstance` intoduced #146, it
can be represented as it is.
termoshtt added a commit that referenced this pull request Dec 12, 2024
… SDK (#200)

- Add `ommx.v1.ParametricInstance`, `ommx.v1.Parameters` and
`ommx.v1.Parameter` to Python SDK. They are introduced in #146 in Rust
SDK.
- Expose `Instance.penalty_method` to Python SDK, introduced in #174 
- Expose `Instance.as_{pubo,qubo}_format` renamed in #202, introduced in
#186
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proto Changes in protobuf schema rust Changes in Rust SDK
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant