JijZept SDK Integrated SDK for Mathematical Optimization Development

A development kit that allows you to install all mathematical optimization packages provided by Jij. You can easily set up the necessary tools from modeling to solver execution.

pip install "jijzept_sdk[all]"

Quick Start

1

Installation

pip install "jijzept_sdk[all]"

Install all packages necessary for mathematical optimization.

For detailed installation options and version information, please visit the PyPI package page.

Check PyPI Package
2

Modeling


import jijmodeling as jm

d = jm.Placeholder("d", ndim=1)
n = d.shape[0]
x = jm.BinaryVar("x", shape=(n,))
i = jm.Element("i", (0, n))

problem = jm.Problem("sample")
# Objective Function
problem += jm.sum(i, d[i]*x[i])
# Constraints
problem += jm.Constraint(
  "c1", x[:].sum() <= 1
)
                

Using JijModeling, you can easily describe optimization problems with expressions similar to mathematical formulas.

3

Data Preparation / Solver Selection and Execution

SCIP

Open-source mathematical optimization solver. Supports linear programming and mixed-integer programming.

from ommx_pyscipopt_adapter import (
    OMMXPySCIPOptAdapter
)

# Create an instance
instance_data = {
    "d": [1, -2, 3],
}
interpreter = jm.Interpreter(instance_data)
instance = interpreter.eval_problem(problem)

# Solve with SCIP
solution = OMMXPySCIPOptAdapter.solve(instance)

HiGHS

High-performance linear programming and mixed-integer programming solver. Ideal for small to medium-sized problems.

from ommx_highs_adapter import (
    OMMXHighsAdapter
) 

# Create an instance
instance_data = {
    "d": [1, -2, 3],
}
interpreter = jm.Interpreter(instance_data)
instance = interpreter.eval_problem(problem)

# Solve with HiGHS
solution = OMMXHighsAdapter.solve(instance)

Gurobi

Commercial high-performance solver. Suitable for large-scale optimization problems. Requires a separate license.

from ommx_gurobipy_adapter import (
    OMMXGurobipyAdapter
)

# Create an instance
instance_data = {
    "d": [1, -2, 3],
}
interpreter = jm.Interpreter(instance_data)
instance = interpreter.eval_problem(problem)

# Solve with Gurobi
solution = OMMXGurobipyAdapter.solve(instance)

Compatible with multiple solvers, allowing you to select the optimal solver for your problem.

4

Result Analysis


print(solution.decision_variables)

# id    kind  lower  upper name subscripts value
# ----------------------------------------------
# 0   binary    0.0    1.0    x        [0]   0.0
# 1   binary    0.0    1.0    x        [1]   1.0
# 2   binary    0.0    1.0    x        [2]   0.0
                

Easily obtain optimal solutions and objective function values, with the ability to visualize and analyze results. MINTO makes it easy to manage numerical experiments.

5

Tackle Larger-Scale Optimization

Enterprise Features

  • Integration with high-performance solvers (JijSolver)
  • Decomposition algorithms and machine learning integration for large-scale problems
  • Cloud development environment (JijZept IDE)

If you are considering large-scale optimization problems or production use, please consider our enterprise solutions.

Contact us for details

Solve Optimization Problems with JijZept SDK

Let our experts explain implementation methods and best practices in detail

Request Free Demo