You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决Qiskit中QuantumInstance等类的弃用警告问题

解决Qiskit Max-Cut代码中的弃用警告方案

核心修改点

针对代码中出现的三类弃用警告,对应修改如下:

1. 更新NumPyMinimumEigensolver的导入路径

原导入语句from qiskit.algorithms import NumPyMinimumEigensolver已被废弃,替换为:

from qiskit.algorithms.minimum_eigensolvers import NumPyMinimumEigensolver

2. 移除QuantumInstance的使用

QuantumInstance类已被废弃,QAOA现在支持直接传入backend参数,无需再创建QuantumInstance对象。

3. 更新QAOA的导入路径与参数

  • 导入路径替换为:
from qiskit.algorithms.minimum_eigensolvers import QAOA
  • 创建QAOA实例时,将原quantum_instance参数替换为backend。

修改后的完整代码

import networkx as nx
from qiskit import Aer
from qiskit.algorithms.minimum_eigensolvers import QAOA, NumPyMinimumEigensolver
from qiskit.algorithms.optimizers import COBYLA
from qiskit_optimization import QuadraticProgram
from qiskit_optimization.algorithms import MinimumEigenOptimizer
from qiskit_optimization.applications import Maxcut

# 定义图的边(边用节点索引的元组表示)
edges = [(0, 1), (0, 2), (1, 2)]

# 根据边创建图
G = nx.Graph(edges)

# 创建Maxcut对象
maxcut = Maxcut(G)

# 基于maxcut生成二次规划问题
qp = maxcut.to_quadratic_program()

# 经典精确求解
exact_mes = NumPyMinimumEigensolver()
exact = MinimumEigenOptimizer(exact_mes)
result = exact.solve(qp)
print("精确解:\n", result)

# QAOA求解
qaoa_mes = QAOA(optimizer=COBYLA(), backend=Aer.get_backend('statevector_simulator'))
qaoa = MinimumEigenOptimizer(qaoa_mes)
result = qaoa.solve(qp)
print("QAOA解:\n", result)

修改后的代码会保留原功能,同时消除所有弃用警告。

内容的提问来源于stack exchange,提问作者PapaGhost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:17:37