Skip to content

Commit

Permalink
minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
skushnir123 committed Sep 16, 2024
1 parent ff785e6 commit 5abacdb
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 24 deletions.
2 changes: 1 addition & 1 deletion examples/benchmark_experiment.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from qhdopt import QHD\n",
"from qhdopt.utils.benchmark_utils import run_test, compare_coarse_and_refine, make_violin_plot"
"from benchmark_utils import run_test, compare_coarse_and_refine, make_violin_plot"
]
},
{
Expand Down
40 changes: 20 additions & 20 deletions qhdopt/utils/benchmark_utils.py → examples/benchmark_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,26 +30,26 @@ def calc_h_and_J(qhd):
def run_test(model, tol=1e-3):
data_vector = np.zeros(16)
# # Run QHD with post-processor = Ipopt
# response = model.optimize(verbose=1)
# qhd_ipopt_success_prob = response.get_success_probability()
# data_vector[0] = model.info["average_qpu_time"]
# data_vector[1] = model.info["post_processing_time"] / len(model.info["sample_times"])
# data_vector[12] = statistics.stdev(model.info["sample_times"][1:])
# data_vector[2] = qhd_ipopt_success_prob
# data_vector[3] = TTS((data_vector[0] + data_vector[1]), data_vector[2])
# best = response.minimum
# # Same QHD samples post-processed by TNC
# qhd_samples = [sample for sample in response.coarse_samples if sample is not None]
# response = model.classically_optimize(solver="TNC", initial_guess=qhd_samples)
#
# qhd_tnc_success_prob = response.get_success_probability(tol=tol, minimum=best)
#
#
# data_vector[4] = model.info["average_qpu_time"]
# data_vector[5] = model.info["refining_time"] / len(model.info["sample_times"])
# data_vector[13] = statistics.stdev(model.info["sample_times"][1:])
# data_vector[6] = qhd_tnc_success_prob
# data_vector[7] = TTS((data_vector[4] + data_vector[5]), data_vector[6])
response = model.optimize(verbose=1)
qhd_ipopt_success_prob = response.get_success_probability()
data_vector[0] = model.info["average_qpu_time"]
data_vector[1] = model.info["post_processing_time"] / len(model.info["sample_times"])
data_vector[12] = statistics.stdev(model.info["sample_times"][1:])
data_vector[2] = qhd_ipopt_success_prob
data_vector[3] = TTS((data_vector[0] + data_vector[1]), data_vector[2])
best = response.minimum
# Same QHD samples post-processed by TNC
qhd_samples = [sample for sample in response.coarse_samples if sample is not None]
response = model.classically_optimize(solver="TNC", initial_guess=qhd_samples)

qhd_tnc_success_prob = response.get_success_probability(tol=tol, minimum=best)


data_vector[4] = model.info["average_qpu_time"]
data_vector[5] = model.info["refining_time"] / len(model.info["sample_times"])
data_vector[13] = statistics.stdev(model.info["sample_times"][1:])
data_vector[6] = qhd_tnc_success_prob
data_vector[7] = TTS((data_vector[4] + data_vector[5]), data_vector[6])

# Run Ipopt with random init
response = model.classically_optimize(solver="IPOPT", num_shots=model.shots)
Expand Down
2 changes: 1 addition & 1 deletion tests/test_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ def test_backend_performance():
bt = [3 / 4, -1 / 4]
sol = -.75
model = QHD.QP(Q, bt)
response = model.classically_optimize(solver="IPOPT", verbose=1)
response = model.classically_optimize(solver="TNC", verbose=1)
assert abs(response.minimum - sol) < 1e-3

model.qutip_setup(resolution=6, time_discretization=40)
Expand Down
3 changes: 1 addition & 2 deletions tests/test_qhd.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

from qhdopt import QHD
import numpy as np
from simuq.dwave import DWaveProvider

from qhdopt.utils.benchmark_utils import calc_h_and_J
from examples.benchmark_utils import calc_h_and_J


def convert_key(tup: Tuple) -> str:
Expand Down

0 comments on commit 5abacdb

Please sign in to comment.