はじめに

はじめに#

JijModelingとは#

jijmodelingは最適化問題を直感的に記述するために設計されたPythonパッケージです。jijmodelingの主な特徴は次のとおりです。

  • インスタンスデータなしで数理モデルを記述できるため、数理モデルの検証が迅速になり、再利用も容易になります。インスタンスのサイズが数理モデルの記述や操作のパフォーマンスに影響を与えることはありません。

  • 線形計画問題、混合整数計画問題、非線形計画問題など、さまざまな種類の最適化問題に対する共通のインターフェースとして機能します。

  • 数理モデルをプログラム的に操作できるため、数理モデルを部分毎に構築したり、制約の構築においてより複雑なロジックを記述しやすくなっています。

  • LaTeX出力をサポートしているのでJupyter環境と組み合わせることで、数理モデルが期待通りに構築されているかどうかを迅速かつ対話的に確認できます。

jijmodelingは、Pythonコードを使用して数理モデルを記述するためのツールであり、数理モデルを評価または解決するものではありません。このような仕様になっているのは、インスタンスデータに依らず、数理モデルの代数構造に焦点を当てることで、数理モデルを論理的に考察し、検証し、より迅速に変更できるようにするためです。また、ソルバーが期待する入力形式を生成するためのスキーマとしても機能します。

jijmodelingで記述した数理モデルをソルバーで解くには、実際のインスタンスデータと組み合わせて、JijZeptサービスや無料で利用できるjijmodeling-transpilerなどの別のツールによって特定のソルバー用の入力形式に変換する必要があります。

インストール#

pipを使用している場合、次のコマンドでjijmodelingをインストールできます:

pip install jijmodeling

jijmodelingはPython 3.9以上が必要であることに注意してください。

import jijmodeling
jijmodeling.__version__
'1.10.0'

Caution

本ドキュメントのコードを実行する際には、上記のjijmodelingのバージョンと同じものを使うことを強く推奨します。