Microsoft QIO プロバイダー

注意

Microsoft QIO および 1QBit 最適化ソルバーは非推奨となり、2023 年 6 月 30 日以降、Azure Quantum サービスでは使用できなくなります。

Microsoft QIO プロバイダーは、すべての Quantum ワークスペースで有効になっています。

  • 発行元: Microsoft
  • プロバイダー ID: microsoft

ターゲット

次の表に、使用可能なターゲット間の簡単な説明と比較を示します。

名前 説明 最適な適用シナリオ
パラレル テンパリング 最適化の問題を熱力学システムとして言い換え、異なる温度で、ランダムに初期化されたシステムの複数のコピーを実行します。 次に、特定のプロトコルに基づいて、異なる温度で構成を交換して最適な構成を見つけます。
  • 一般に、困難な問題を解決するうえでシミュレーテッド アニーリングより適しています
  • イジングの問題の解決に非常に優れています
シミュレーテッド アニーリング 最適化の問題を熱力学システムとして言い換え、単一システムのエネルギーを考慮します。 システムへの変更は、それらによってエネルギーが減少する場合、または温度低下に基づく条件を満たす場合に受け入れられます。
  • 凸形ランドスケープ
母集団アニーリング メトロポリス ウォーカーの母集団をシミュレートすることにより、起伏のあるコスト ランドスケープに対するメトロポリス アルゴリズムの感受性を軽減し、これにより、探索の効果を良好な状態で継続的に統合することを目的としています。
  • 疎グラフと密グラフのどちらにも、ポピュレーション アニーリングを推奨します。
  • このアルゴリズムは、ペナルティ項が大きい制約問題には適さない場合があります。
量子モンテカルロ シミュレーテッド アニーリングに似ていますが、変更点は、熱エネルギー ジャンプを使用するのではなく、障壁を通過する量子トンネリングをシミュレートすることで行われます。
  • 最適化ランドスケープには、高くて薄い障壁があります
  • オーバーヘッドが大きいため、小さなハードの問題に役立ちます
準確率論的モンテカルロ 準確率論的モンテカルロは、断熱量子計算にインスパイアされた拡散モンテカルロ アルゴリズムです。 これは、検索空間でのウォーカーの母集団の拡散をシミュレートします。ウォーカーは、コスト関数に従い、その動作の仕方に基づいて削除または複製されます。
  • このアルゴリズムは、シミュレーテッド アニーリングやタブー探索でさまざまなソリューションのセットが返される可能性のある起伏のある最適化ランドスケープに適しています。
タブー検索 タブー探索では、隣接する構成が確認されます。 改善移動が使用できず、以前参照した解への移動が禁止されている場合、悪化移動を受け入れることができます
  • 凸形ランドスケープ、高密度問題、QUBO の問題。

価格

Microsoft の QIO オファリングの最新の価格情報については、Azure portal のワークスペースの [プロバイダー] タブを参照するか、Microsoft Optimization の価格に関するページを参照してください。

制限とクォータ

Microsoft QIO のクォータは、1 か月あたりのコンピューティング時間数に基づいて追跡されます。

  • CPU ソルバー時間: CPU ソルバーを使用できる時間の長さ。 ワークスペース レベルと "リージョン x サブスクリプション" レベルの両方で追跡されます。

Microsoft QIO には、ジョブのコンカレンシーのクォータもあります。

各 Microsoft QIO プランのさまざまな制限事項についての最新情報は、Azure サブスクリプションの制限、クォータ、制約の概要についての記事を参照してください。

クォータはプランの選択に基づいており、ポート チケットを使用して増やすことができます。 詳細については、「Azure Quantum quotas」(Azure Quantum クォータ) を参照してください。

現在の制限とクォータを確認するには、[Credits and quotas](クレジットとクォータ) ブレードに移動し、Azure portal のワークスペースで [クォータ] タブを選択します。

Microsoft QIO ソルバーに関する一般的なアドバイス

ここでは、QIO ソルバーを使用するときに注意する必要がある点と、特定の状況でパフォーマンスを向上させるために実行できる手順について説明します。 他のプロバイダーでは、ソリューションに固有の要件と推奨事項が異なる場合があることに注意してください。 ここに示すアドバイスは、問題を表す項とコスト関数に適用されます。 項は、係数 $c$ と、インデックス ${i}$ のセットで構成されていることに注意してください。

  1. 計算精度を超える係数を削除します。

    最大と最小の係数の比率が $2^{64}$ を超える場合、小さな係数を持つ項は考慮されない可能性があるため、削除する必要があります。 つまり、係数が $|c_i| < \frac{\max{|c_j|}}{2^{64}}$ であるすべての項を削除する必要があります。

  2. 重複する項をマージします。

    項を自動的に生成する場合、互いに重複するものが発生する可能性があります。つまり、決定変数とインデックスの同じセットが含まれています。 項が重複しないようにすると、処理する項が減るため、ソルバーのパフォーマンスが向上します。

    同じ変数セットを持つ複数の項は、係数を加算することにより、1 つの項にマージする必要があります。 たとえば、$3 \cdot x_2 x_4 x_1$ と $2 \cdot x_1 x_4 x_2$ は、1 つの項 $5 \cdot x_1 x_2 x_4$ にマージできます。

  3. 整数の係数を使用します。

    可能な限り、係数には浮動小数点数ではなく整数を使用する必要があります。これにより、精度が向上します。