An adapter for the Python-MIP from/to OMMX.
Project description
OMMX adapter for Python-MIP
This package provides an adapter for the Python-MIP from/to OMMX
Python-MIP as a solver in OMMX toolchain
sequenceDiagram
participant U as User
participant A as Adapter
participant P as Python-MIP
U->>A: ommx.v1.Instance
A->>U: Python-MIP model
U->>P: Python-MIP model and Parameters for Python-MIP;
P->>P: Solve with CBC, Gurobi, or other solvers
P->>U: Optimized model
U->>A: Optimized model and ommx.v1.Instance
A->>U: ommx:SolutionList
Python-MIP as a user interface to create OMMX instance
sequenceDiagram
participant U as User
participant A as Adapter
participant O as Other OMMX toolchain
U->>A: Python-MIP model
A->>U: ommx.v1.Instance
U->>O: ommx.v1.Instance and Parameters for other solver
O->>O: Solve the instance with other solver using other adapter
O->>U: ommx.v1.Solution
Usage
ommx-python-mip-adapter
can be installed from PyPI as follows:
pip install ommx-python-mip-adapter
Python-MIP can be used through ommx-python-mip-adapter
by using the following:
import ommx_python_mip_adapter as adapter
from ommx.v1 import Instance, DecisionVariable
x1 = DecisionVariable.integer(1, lower=0, upper=5)
ommx_instance = Instance.from_components(
decision_variables=[x1],
objective=x1,
constraints=[],
sense=Instance.MINIMIZE,
)
# Convert from `ommx.v1.Instance` to `mip.Model`
model = adapter.instance_to_model(ommx_instance)
model.optimize()
# Create `ommx.v1.State` from Optimized `mip.Model`
ommx_solutions = adapter.model_to_solution(model, ommx_instance)
print(ommx_solutions)
You can get ommx.v1.Instance
from a Python-MIP model as the following:
import mip
import ommx_python_mip_adapter as adapter
model = mip.Model()
x1=model.add_var(name="1", var_type=mip.INTEGER, lb=0, ub=5)
x2=model.add_var(name="2", var_type=mip.CONTINUOUS, lb=0, ub=5)
model.objective = - x1 - 2 * x2
model.add_constr(x1 + x2 - 6 <= 0)
ommx_instance = adapter.model_to_instance(model)
print(ommx_instance)
Reference
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for ommx_python_mip_adapter-0.5.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8df4534986dbddb3eac974cd14d76e474e678da360191947d67e975f001ae228 |
|
MD5 | 3da7244b1bcd0aad5aa4e1bfe2e5850c |
|
BLAKE2b-256 | 6bc8b041c4586b642c416e2d3db78524e1dc8360da86c791047daed951dc3aaa |