JijZept SDK 数理最適化開発のための統合SDK

Jijが提供する数理最適化パッケージ群をまとめてインストールできる開発キット。 モデリングからソルバー実行まで、必要なツールを簡単にセットアップできます。

pip install "jijzept_sdk[all]"

クイックスタート

1

インストール

pip install "jijzept_sdk[all]"

数理最適化に必要なパッケージをすべてインストールします。

詳細なインストールオプションやバージョン情報については、PyPIのパッケージページをご覧ください。

PyPIパッケージを確認
2

モデリング


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
)
                

JijModelingを使用して、数式と似た表現で最適化問題を簡単に記述できます。

3

データの用意 / ソルバー実行


import ommx_pyscipopt_adapter as scip_ad

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

# Convert to SCIP model and solve
model = scip_ad.instance_to_model(instance)
status = model.optimize()
solution = scip_ad.model_to_solution(model, instance)
                

複数のソルバーに対応しており、問題に応じて最適なソルバーを選択できます。

4

結果の解析


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
                

最適解や目的関数値を簡単に取得でき、結果の可視化や分析も可能です。MINTOを使用して数値実験の管理も簡単に行えます。

5

より大規模な最適化に挑戦

エンタープライズ向け機能

  • 高性能なソルバー(JijSolver)との連携
  • 大規模問題向けの分割アルゴリズムや機械学習との連携
  • クラウド開発環境(JijZept IDE)

大規模な最適化問題や、本番環境での利用をお考えの方は、エンタープライズ向けソリューションをご検討ください。

詳細を問い合わせる

JijZept SDKで最適化問題を解決

導入方法やベストプラクティスについて、専門家が詳しくご説明します

無料デモを依頼する