JijZept Solver

実用的な問題に対応する数理最適化ソルバー

Jijが開発する最適化ソルバーです。
幅広い問題クラスに対応しているため、
実用的な問題を解くのに適しています。

特徴

パラメータの複雑な設定が不要

一般的な最適化ソルバーでは複数のパラメータを設定して利用します。一方、JijZept Solverではたった1つのパラメータ(solve_limit_sec)のみを指定するだけで利用できます。

コード例

import jijzept_solver
solution = jijzept_solver.solve(instance, solve_limit_sec=2.0)

大規模かつ複雑な問題にも対応可能

JijZept Solverは独自の高性能ヒューリスティックアルゴリズムを内蔵しています。これにより、厳密解を求めることが困難な大規模かつ複雑な問題に対しても、指定された時間内に質の高い解を得ることができます。

代表的な問題クラスに対応可能

以下の代表的な問題クラスに対して、JijZept Solverは短時間で実行可能解を得ることができます。

問題クラスを自動で判別し、内部で最適な探索手法を選択するので、問題の特性を意識する必要がありません。

  • 線形計画(LP)
  • 混合整数線形計画(MILP)
  • 二次計画(QP)
  • 二次制約(QCP)
  • 混合整数二次計画(MIQP)
  • 混合整数二次制約(MIQCP)
  • 混合整数非凸二次制約(Non-convex MIQCP)

こちら のベンチマーク問題を解くノートブックで、JijZept Solverの性能を実際に体験できます。

オンプレミスでも提供可能

社外秘のデータを安全に扱いたい、自社の環境で計算をしたいなどの要望に対応するためにオンプレミスでの提供も可能です。
これにより、お客様のセキュリティ要件を遵守しながら、より安全にJijZept Solverをご利用いただけます。

目的に合わせて選べる3つの利用方法

お客様のニーズに合わせて最適な利用方法をお選びいただけます。

無償WebAPI経由での利用

まずは無料で試してみたい方向け。すぐに利用を開始できます。

JijZept IDEを通じての利用

環境構築の手間なく利用したい方向け。統合開発環境JijZept IDE内の環境からJijZept Solverを利用できます。

オンプレミスでの利用

セキュアな環境で運用したい方向け。お客様の環境に合わせてカスタマイズ可能です。

無償のWebAPI経由でJijZept Solverを実行する方法は以下の4ステップです。

1

利用申請

+

JijZept Solver 無償WebAPI版を利用するには、まず利用申請フォームから申請を行ってください。

無償利用申請フォーム
2

インストール

+

JijZept Solver 無償WebAPI版のクライアントパッケージをインストールします。

Terminal window
pip install jijzept_solver
3

環境変数の設定

+

利用申請により入手した、以下の値を環境変数に設定します:

  • JIJZEPT_SOLVER_SERVER_HOST: API サーバーのホスト名
  • JIJZEPT_SOLVER_ACCESS_TOKEN: アクセストークン

設定例

環境変数の設定例:

Terminal window
export JIJZEPT_SOLVER_SERVER_HOST='API サーバーのホスト名'
export JIJZEPT_SOLVER_ACCESS_TOKEN='アクセストークン'

または Python コード内で設定する例:

import os
os.environ["JIJZEPT_SOLVER_SERVER_HOST"] = "API サーバーのホスト名"
os.environ["JIJZEPT_SOLVER_ACCESS_TOKEN"] = "アクセストークン"
4

ナップサック問題の例

+

実行例の中でJijModeling を使用するため、事前にインストールしておきます。

Terminal window
pip install jijmodeling

ナップサック問題を解く例:

import logging
import jijzept_solver
import jijmodeling as jm
logging.basicConfig(level=logging.INFO)
# ナップサック問題を定義
v = jm.Placeholder("v", ndim=1) # アイテムの価値
w = jm.Placeholder("w", ndim=1) # アイテムの重さ
W = jm.Placeholder("W") # ナップサックの容量
N = v.len_at(0, latex="N") # アイテム数
x = jm.BinaryVar("x", shape=(N,)) # 決定変数
i = jm.Element("i", belong_to=(0, N))
problem = jm.Problem("Knapsack", sense=jm.ProblemSense.MAXIMIZE)
problem += jm.sum(i, v[i] * x[i]) # 目的関数:価値の最大化
problem += jm.Constraint("weight", jm.sum(i, w[i] * x[i]) <= W) # 重量制約
# インスタンスデータ
instance_data = {
"v": [10, 13, 18, 31, 7, 15], # アイテムの価値
"w": [11, 15, 20, 35, 10, 33], # アイテムの重さ
"W": 47, # ナップサックの容量
}
# OMMX インスタンスを作成
interpreter = jm.Interpreter(instance_data)
instance = interpreter.eval_problem(problem)
# APIにリクエストを実行
solution = jijzept_solver.solve(instance, solve_limit_sec=2.0)
print(f"Value of the objective function: {solution.objective}")

JijZept Solverは統合開発環境であるJijZept IDEからも利用することができます。

JijZept IDEを使用する場合、上記のクイックスタートでの環境設定やAPIトークンの設定は不要です。

JijZept IDEは、ログインするだけで最適化に必要な一通りのツールが使えるクラウドサービスです。
面倒な環境構築作業やツール選定の手間なく最適化をはじめることができます。

STEP1
お問い合わせ
STEP2
オンライン
デモ・説明
STEP3
お申し込み・
ご契約
STEP4
利用開始

ご利用を始めるには以下からお問い合わせください。

JijZept Solverはお客様の環境内でも利用することができます。

お客様の環境内にJijZept Solverを導入することで、お客様の計算資源を活用しながら厳しいセキュリティ要件を満たし、ご要望に合わせた柔軟なライセンス体系をお選びいただけます。

ライセンスオプション

  • 月額契約の期限付きライセンス
  • 買い切りの期限なしライセンス

いずれも導入・保守サポート付きでご提供しており、1ヶ月の試用期間も設けております。

STEP1
お問い合わせ
STEP2
オンライン
デモ・説明
STEP3
お申し込み・
ご契約
STEP4
利用開始

ご利用を始めるには以下からお問い合わせください。

ご利用プラン

お客様のご利用目的に応じて、最適な提供形態をお選びいただけます。

無償WebAPI経由での利用
無償お試し
JijZept IDEを通じての利用
お問い合わせ
オンプレミスでの利用
お問い合わせ
料金 0円 JijZept IDEの料金に含まれる ご相談
(1ヶ月の試用期間あり)
有効期間 90日間
(期限後、再度申請可能)
JijZept IDEの契約期間と同じ ご相談
1リクエストあたりの
上限実行時間
最大10秒
Standardプラン:最大10分
Premium/Enterpriseプラン:最大1時間
制限なし
計算資源 共有
Standardプラン:共有
Premium/Enterpriseプラン:占有
占有
(お客様の環境)
技術サポート あり あり あり

こちら のDiscordコミュニティにてコミュニティサポートという形での対応となります。

Q.無償WebAPI版の利用申請を行う際に、クレジットカード情報の登録は必要ですか?

+
A.

いいえ、クレジットカード情報を登録しなくても無償WebAPI版はご利用可能です。

無償お試し

Q.無償WebAPI版の申請回数に制限はありますか?

+

A.ありません。何度でも申請可能です。

Q.リクエスト回数に上限はありますか?

+

A.ありません。しかし、同一リクエスト元からのAPIリクエストが集中した場合に、一時的にアクセス制限がかかることがあります。その場合は時間を置いて再度リクエストしてください。

Q.無償WebAPI版で良い解を得ることができませんでした。

+
A.

実行時間を10秒以上にすることで良い解を得られる可能性があります。JijZept IDEあるいはオンプレミスでの利用をご検討ください。

お問い合わせ

Q.オンプレミスでの具体的な料金を教えてください。

+
A.

お客様のご要望や規模によって料金が異なるため、課題やお悩みなどをお伺いしたうえでお見積もりをご案内しております。まずはお気軽にお問い合わせください。

お問い合わせ
相談 無料

お気軽にお問い合わせください

お問い合わせ