Skip to main content

Python Interface for Jij-Zept.

Project description

JijZept Quick Start

PyPI version shields.io PyPI pyversions PyPI implementation PyPI format PyPI license PyPI download month

How to get started with JijZept

The minimal sample code as follows:

import jijmodeling as jm
import jijzept as jz

x = jm.BinaryVar('x')
y = jm.BinaryVar('y')
problem = jm.Problem('sample_problem')
problem += - x * y

sampler = jz.JijSASampler(config='config.toml')
response = sampler.sample_model(problem, {})

print(response)

Write a configuration file for connecting to JijZept in config.toml and put it in the config argument of the Sampler constructor.
The configuration file should be written in TOML format as follows.

[default]
url = "***"
token = "****"

Copy and paste the assigned API endpoint into the url and your token into token in the configure file.

またデフォルトでは同期モード になっているため、APIに投げて計算が終わるで待ってから解を得ることになります。

同期モードをオフにして非同期でJijZeptを使うには以下の手順で答えを得ることができます。

async mode

非同期モードでAPIを使いたい場合は、.sample_* の引数で、async=False にして同期モードをオフにする必要があります。

サンプルコード

import jijmodeling as jm
import jijzept as jz

from jijzept.response import APIStatus

x = jm.BinaryVar('x')
y = jm.BinaryVar('y')
problem = jm.Problem('sample_problem')
problem += - x * y

sampler = jz.JijSASampler(config='config.toml')
response = sampler.sample_model(problem, {}, sync=False)


if response.status == APIStatus.SUCCESS:
    print(response)
elif response.status == APIStatus.PENDING:
    print('Solver status: PENDING')
else:
    print('Error')

非同期モードでも .sample_* の返り値は 同期モードと同じくJijModelingResponse クラスです。 ですが、解が入っていない可能性があります(非同期モードでも一度だけ解を取りに行っているので計算時間が短いと解をもっている可能性もあります)。

解を取りに行くためのコードが

response = response.get_result()

です。また.get_resultは返り値をもつ非破壊メソッドです。

計算が終了したかどうかはget_resultの返り値の.status変数で確認することができます。

from jijzept.response import APIStatus

if response.status == APIStatus.SUCCESS:
    print(response)
elif response.status == APIStatus.PENDING:
    print('Solver status: PENDING')
else:
    print('Error')

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

jijzept-1.17.9-cp311-cp311-win_amd64.whl (228.5 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

jijzept-1.17.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (230.3 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

jijzept-1.17.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (230.4 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

jijzept-1.17.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (229.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

jijzept-1.17.9-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (229.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

jijzept-1.17.9-cp311-cp311-macosx_12_0_x86_64.whl (228.2 kB view hashes)

Uploaded CPython 3.11 macOS 12.0+ x86-64

jijzept-1.17.9-cp311-cp311-macosx_12_0_arm64.whl (228.4 kB view hashes)

Uploaded CPython 3.11 macOS 12.0+ ARM64

jijzept-1.17.9-cp311-cp311-macosx_11_0_x86_64.whl (228.2 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ x86-64

jijzept-1.17.9-cp311-cp311-macosx_11_0_arm64.whl (228.4 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

jijzept-1.17.9-cp311-cp311-macosx_10_16_x86_64.whl (228.1 kB view hashes)

Uploaded CPython 3.11 macOS 10.16+ x86-64

jijzept-1.17.9-cp310-cp310-win_amd64.whl (195.0 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

jijzept-1.17.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (196.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

jijzept-1.17.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (197.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

jijzept-1.17.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (196.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

jijzept-1.17.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (196.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

jijzept-1.17.9-cp310-cp310-macosx_12_0_x86_64.whl (194.8 kB view hashes)

Uploaded CPython 3.10 macOS 12.0+ x86-64

jijzept-1.17.9-cp310-cp310-macosx_12_0_arm64.whl (195.0 kB view hashes)

Uploaded CPython 3.10 macOS 12.0+ ARM64

jijzept-1.17.9-cp310-cp310-macosx_11_0_x86_64.whl (194.8 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ x86-64

jijzept-1.17.9-cp310-cp310-macosx_11_0_arm64.whl (195.1 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

jijzept-1.17.9-cp310-cp310-macosx_10_16_x86_64.whl (194.7 kB view hashes)

Uploaded CPython 3.10 macOS 10.16+ x86-64

jijzept-1.17.9-cp39-cp39-win_amd64.whl (192.9 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

jijzept-1.17.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (194.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

jijzept-1.17.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (194.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64 manylinux: glibc 2.28+ ARM64

jijzept-1.17.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl (194.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64 manylinux: glibc 2.5+ x86-64

jijzept-1.17.9-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (194.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

jijzept-1.17.9-cp39-cp39-macosx_12_0_x86_64.whl (192.8 kB view hashes)

Uploaded CPython 3.9 macOS 12.0+ x86-64

jijzept-1.17.9-cp39-cp39-macosx_12_0_arm64.whl (193.0 kB view hashes)

Uploaded CPython 3.9 macOS 12.0+ ARM64

jijzept-1.17.9-cp39-cp39-macosx_11_0_x86_64.whl (192.8 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ x86-64

jijzept-1.17.9-cp39-cp39-macosx_11_0_arm64.whl (193.0 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

jijzept-1.17.9-cp39-cp39-macosx_10_16_x86_64.whl (192.6 kB view hashes)

Uploaded CPython 3.9 macOS 10.16+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page