Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 7 additions & 14 deletions test/algorithms/test_min_eigen_optimizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

import numpy as np
from ddt import data, ddt
from docplex.mp.model import Model
from qiskit import BasicAer
from qiskit.algorithms import QAOA, VQE, NumPyMinimumEigensolver
from qiskit.algorithms.optimizers import COBYLA, SPSA
Expand All @@ -45,7 +44,6 @@
)
from qiskit_optimization.problems import QuadraticProgram
from qiskit_optimization.runtime import VQEProgram, QAOAProgram
from qiskit_optimization.translators import from_docplex_mp


@ddt
Expand Down Expand Up @@ -90,11 +88,10 @@ def setUp(self):
self.op_maximize.linear_constraint(linear={"x": 1, "y": 1}, sense="<=", rhs=1, name="xy")

# test bit ordering
mdl = Model("docplex model")
x = mdl.binary_var("x")
y = mdl.binary_var("y")
mdl.minimize(x - 2 * y)
self.op_ordering = from_docplex_mp(mdl)
self.op_ordering = QuadraticProgram("bit ordering")
self.op_ordering.binary_var("x")
self.op_ordering.binary_var("y")
self.op_ordering.minimize(linear={"x": 1, "y": -2})

@data(
("exact", None, "op_ip1.lp"),
Expand Down Expand Up @@ -251,13 +248,11 @@ def test_samples_qaoa(self, simulator):
# test minimize
algorithm_globals.random_seed = 4
quantum_instance = self.sv_simulator if simulator == "sv" else self.qasm_simulator
qaoa = QAOA(quantum_instance=quantum_instance, reps=2)
qaoa = QAOA(optimizer=COBYLA(), quantum_instance=quantum_instance, reps=2)
min_eigen_optimizer = MinimumEigenOptimizer(qaoa)
result = min_eigen_optimizer.solve(self.op_minimize)
success = OptimizationResultStatus.SUCCESS
opt_sol = 1
self.assertEqual(len(result.samples), 8)
self.assertEqual(len(result.raw_samples), 32)
self.assertAlmostEqual(sum(s.probability for s in result.samples), 1)
self.assertAlmostEqual(sum(s.probability for s in result.raw_samples), 1)
self.assertAlmostEqual(min(s.fval for s in result.samples), 0)
Expand All @@ -275,11 +270,9 @@ def test_samples_qaoa(self, simulator):
self.assertEqual(result.raw_samples[0].status, success)
# test maximize
opt_sol = 2
qaoa = QAOA(quantum_instance=quantum_instance, reps=2)
qaoa = QAOA(optimizer=COBYLA(), quantum_instance=quantum_instance, reps=2)
min_eigen_optimizer = MinimumEigenOptimizer(qaoa)
result = min_eigen_optimizer.solve(self.op_maximize)
self.assertEqual(len(result.samples), 8)
self.assertEqual(len(result.raw_samples), 16)
self.assertAlmostEqual(sum(s.probability for s in result.samples), 1)
self.assertAlmostEqual(sum(s.probability for s in result.raw_samples), 1)
self.assertAlmostEqual(max(s.fval for s in result.samples), 5)
Expand All @@ -305,7 +298,7 @@ def test_samples_qaoa(self, simulator):
self.assertEqual(result.raw_samples[0].status, success)
# test bit ordering
opt_sol = -2
qaoa = QAOA(quantum_instance=quantum_instance, reps=2)
qaoa = QAOA(optimizer=COBYLA(), quantum_instance=quantum_instance, reps=2)
min_eigen_optimizer = MinimumEigenOptimizer(qaoa)
result = min_eigen_optimizer.solve(self.op_ordering)
self.assertEqual(result.fval, opt_sol)
Expand Down