QAOA не работает для TSP с 3 городами на QiskitPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 QAOA не работает для TSP с 3 городами на Qiskit

Сообщение Anonymous »

Я пытаюсь изучить алгоритм QAOA и пытаюсь программировать, прочитав ссылку https://learning.quantum.ibm.com/tutori ... -algorithm
Код, который я пишу симулировать на моей локальной машине:

Код: Выделить всё

'import numpy as np
from qiskit_aer import Aer
from qiskit_aer.primitives import sampler
from qiskit_algorithms import QAOA, NumPyMinimumEigensolver
from qiskit_algorithms.optimizers import optimizer
from qiskit_optimization.algorithms import MinimumEigenOptimizer
from qiskit_optimization.applications import Tsp
from qiskit_optimization.converters import QuadraticProgramToQubo
from qiskit.circuit.library.n_local.qaoa_ansatz import QAOAAnsatz
from qiskit_ibm_runtime import Session

n = 3
num_qubits = n ** 2
distance_matrix = np.array([
[0, 48, 91],
[48,  0, 63],
[91, 63,  0],])
tsp=Tsp(distance_matrix)
qp = tsp.to_quadratic_program()
print(qp.prettyprint())
qp2qubo = QuadraticProgramToQubo()
qubo = qp2qubo.convert(qp)
print(qubo.prettyprint())

cost_hamiltonian, offset = qubo.to_ising()
print(offset)
print(cost_hamiltonian)

circuit = QAOAAnsatz(cost_operator=cost_hamiltonian, reps=2)
circuit.measure_all()
circuit.parameters
from qiskit.transpiler.preset_passmanagers import generate_preset_pass_manager
backend = Aer.get_backend('aer_simulator_statevector')
print(backend)
pm = generate_preset_pass_manager(optimization_level=3,backend=backend)
candidate_circuit = pm.run(circuit)
candidate_circuit.draw('mpl', fold=False, idle_wires=False)
initial_gamma = np.pi
initial_beta = np.pi/2
init_params = [initial_gamma, initial_beta, initial_gamma, initial_beta]

def cost_func_estimator(params, ansatz, hamiltonian, estimator):

# transform the observable defined on virtual qubits to
# an observable defined on all physical qubits
isa_hamiltonian = hamiltonian.apply_layout(ansatz.layout)

pub = (ansatz, isa_hamiltonian, params)
job = estimator.run([pub])

results = job.result()[0]
cost = results.data.evs
print(cost)

objective_func_vals.append(cost)

return cost
from qiskit_ibm_runtime import Session, EstimatorV2 as Estimator
from scipy.optimize import minimize
from qiskit_ibm_runtime import SamplerV2 as Sampler

objective_func_vals = [] # Global variable
with Session(backend=backend) as session:
# If using qiskit-ibm-runtime

Подробнее здесь: [url]https://stackoverflow.com/questions/79101215/qaoa-not-working-for-tsp-with-3-cities-on-qiskit[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с импортом библиотек на qiskit (python) python и проблемой импорта из qiskit
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Проблема с запуском QAOA для проблемы Vertex Cover на серверной части IBM Quantum
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Проблема с запуском QAOA для проблемы Vertex Cover на серверной части IBM Quantum
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Альтернативы библиотеке C++ для решения точного TSP [закрыто]
    Гость » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Гость
  • Почему TSP в NetworkX не возвращает кратчайший путь?
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»