Introduction#
What is JijModeling?#
jijmodeling
is a Python package designed to intuitively describe optimization problems. The main features of jijmodeling
are as follows:
You can describe mathematical models without instance data, which makes it quick to verify and easy to reuse mathematical models. The size of the instance does not affect the performance of describing or manipulating the mathematical model.
It functions as a common interface for various types of optimization problems, such as linear programming problems, mixed integer programming problems, and nonlinear programming problems.
You can programmatically manipulate mathematical models, making it easier to construct mathematical models in parts or describe more complex logic in constructing constraints.
It supports LaTeX output, so you can quickly and interactively check whether the mathematical model is constructed as expected when combined with the Jupyter environment.
jijmodeling
is a tool for describing mathematical models using Python code, not for evaluating or solving mathematical models. This specification focuses on the algebraic structure of mathematical models, independent of instance data, allowing for logical consideration, verification, and faster modification of mathematical models. It also functions as a schema for generating the input format expected by solvers.
To solve the mathematical models described with jijmodeling
using a solver, you need to combine them with actual instance data and convert them into the input format for a specific solver using other tools such as the JijZept service or the freely available jijmodeling-transpiler.
Installation#
If you are using pip
, you can install jijmodeling
with the following command:
pip install jijmodeling
Note that jijmodeling
requires Python 3.9 or higher.
import jijmodeling
jijmodeling.__version__
'1.12.2'
Caution
When running the code in this document, it is strongly recommended to use the same version of jijmodeling
as above.