--- sd_hide_title: true hide-toc: true --- # Fixstars Amplify (clients-FixstarsClient)= ## Fixstars Amplify Annealing Engine [Fixstars Amplify](https://amplify.fixstars.com/) の提供する QUBO ソルバーです。GPU で実装された Simulated Annealing をベースとしたアルゴリズムが用いられています。 ```{tip} [ユーザ登録](https://amplify.fixstars.com/register)を行うと無償の API トークンを入手できます。 ``` :**ソルバー仕様**: ```{list-table} :width: 100% :widths: 2 3 * - クライアントクラス - {py:class}`amplify.FixstarsClient` * - [実行パラメータ](amplify.FixstarsClient.parameters) - {py:class}`amplify.FixstarsClient.Parameters` * - [実行結果](amplify.Result.client_result) - {py:class}`amplify.FixstarsClient.Result` * - [実行時間](amplify.Result.execution_time) - {py:attr}`amplify.FixstarsClient.Result.execution_time` * - API 方式 - REST API (JSON) * - API リファレンス - [{bdg-info}`📖 API Reference`](https://amplify.fixstars.com/ja/docs/amplify/v0/amplify-ae/reference.html) ``` ```{csv-table} :header-rows: 1 :stub-columns: 1 :width: 100% :widths: 1 1 1 1 1 ,バイナリ変数,イジング変数,整数変数,実数変数 目的関数,2次,\-,\-,\- 等式制約,2次{sup}`*`,\-,\-,\- 不等式制約,2次{sup}`*`,\-,\-,\- ``` \*: ペナルティ関数を与える必要があります。 :**クライアントクラス**: [クライアントクラスの共通インターフェース](#client-common-interface) に加えて以下のアトリビュートを持ちます。 ```{list-table} :width: 100% :header-rows: 1 :widths: 1 1 3 * - アトリビュート - データ型 - 詳細 * - {py:attr}`~amplify.FixstarsClient.compression` - {py:class}`bool` - リクエストデータを圧縮して送信します。デフォルトは {py:obj}`True` です。{py:obj}`False` に設定することでリクエストデータの圧縮時間を削減できますが、通信時間が増加する可能性があります。 ``` :**設定例**: ```{testcode} from amplify import FixstarsClient from datetime import timedelta client = FixstarsClient() # API トークンを設定 client.token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # 実行時間を 1 秒に設定 client.parameters.timeout = timedelta(milliseconds=1000) # 使用する GPU 数を 1 に設定 client.parameters.num_gpus = 1 # 探索中に得られた全ての解を取得 client.parameters.outputs.num_outputs = 0 ``` :**実行例**: ```python from amplify import Model, VariableGenerator, solve # 決定変数と目的関数を定義 g = VariableGenerator() q = g.array("Binary", 2) f = q[0] * q[1] + q[0] - q[1] + 1 # モデルを作成 model = Model(f) # ソルバーを実行 result = solve(model, client) ``` ソルバーのバージョンを取得: ```python >>> client.version 'v0.8.5-V100' ```