entropicalabs / openqaoa

Multi-backend SDK for quantum optimisation
MIT License
116 stars 58 forks source link

from_dict and load(s) methods for workflows #174

Closed raulconchello closed 1 year ago

raulconchello commented 1 year ago

New methods

workflows:

QAOA and RQAOA results:

Example

maxcut_qubo = MaximumCut(nx.generators.fast_gnp_random_graph(n=6,p=0.6, seed=42)).get_qubo_problem()
device = create_device(location='local', name='qiskit.shot_simulator')

q = QAOA()
q.set_device(device)
q.set_circuit_properties(p=1, param_type='extended', init_type='rand', mixer_hamiltonian='x')
q.set_backend_properties(prepend_state=None, append_state=None)
q.set_classical_optimizer(maxiter=10, optimization_progress=True)
q.set_exp_tags({'a': 1, 'b': 2})
q.compile(maxcut_qubo) 
q.optimize() 

q_asdict = q.asdict()
q_json = q.dumps()
q.dump(file_name='qaoa.json', file_path='./x/', prepend_id=False)

q_from_dict         = QAOA.from_dict(q_asdict)
q_from_json_string  = QAOA.loads(q_json)
q_from_json_file    = QAOA.load(file_name='qaoa.json', file_path='./x/')
codecov[bot] commented 1 year ago

Codecov Report

Merging #174 (5e595c7) into dev (e9ba397) will increase coverage by 0.35%. The diff coverage is 98.92%.

@@            Coverage Diff             @@
##              dev     #174      +/-   ##
==========================================
+ Coverage   81.89%   82.24%   +0.35%     
==========================================
  Files         106      106              
  Lines       12535    12807     +272     
==========================================
+ Hits        10265    10533     +268     
- Misses       2270     2274       +4     
Impacted Files Coverage Δ
tests/test_workflows.py 99.48% <97.85%> (-0.36%) :arrow_down:
openqaoa/optimizers/result.py 94.76% <100.00%> (+0.64%) :arrow_up:
openqaoa/rqaoa/rqaoa_results.py 100.00% <100.00%> (ø)
openqaoa/workflows/optimizer.py 94.46% <100.00%> (+0.64%) :arrow_up:
tests/test_results.py 100.00% <100.00%> (ø)
openqaoa/problems/qubo.py 99.14% <0.00%> (-0.86%) :arrow_down:
openqaoa/optimizers/optimization_methods.py 88.26% <0.00%> (-0.44%) :arrow_down:
openqaoa/problems/knapsack.py 98.33% <0.00%> (+0.83%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more