eqc-models 0.11.0__py3-none-any.whl → 0.12.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- eqc_models-0.12.0.data/platlib/eqc_models/assignment/__init__.py +6 -0
- eqc_models-0.12.0.data/platlib/eqc_models/assignment/resource.py +165 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/polyeval.c +4208 -3435
- eqc_models-0.12.0.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/quadratic.py +2 -2
- eqc_models-0.12.0.data/platlib/eqc_models/base/results.py +166 -0
- eqc_models-0.12.0.data/platlib/eqc_models/graph/__init__.py +9 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/graph/base.py +8 -4
- eqc_models-0.12.0.data/platlib/eqc_models/graph/shortestpath.py +157 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/classifierbase.py +31 -5
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/classifierqboost.py +14 -1
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/classifierqsvm.py +223 -19
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/clustering.py +5 -5
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/clusteringbase.py +1 -1
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/decomposition.py +39 -16
- eqc_models-0.12.0.data/platlib/eqc_models/process/base.py +18 -0
- eqc_models-0.12.0.data/platlib/eqc_models/process/mpc.py +17 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/solvers/__init__.py +1 -5
- eqc_models-0.12.0.data/platlib/eqc_models/solvers/eqcdirect.py +71 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/solvers/qciclient.py +6 -3
- {eqc_models-0.11.0.dist-info → eqc_models-0.12.0.dist-info}/METADATA +2 -3
- eqc_models-0.12.0.dist-info/RECORD +65 -0
- {eqc_models-0.11.0.dist-info → eqc_models-0.12.0.dist-info}/WHEEL +1 -1
- eqc_models-0.11.0.data/platlib/eqc_models/assignment/__init__.py +0 -5
- eqc_models-0.11.0.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so +0 -0
- eqc_models-0.11.0.data/platlib/eqc_models/base/results.py +0 -94
- eqc_models-0.11.0.data/platlib/eqc_models/graph/__init__.py +0 -6
- eqc_models-0.11.0.data/platlib/eqc_models/sequence/scheduling.py +0 -29
- eqc_models-0.11.0.dist-info/RECORD +0 -61
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/compile_extensions.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/algorithms/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/algorithms/base.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/algorithms/penaltymultiplier.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/allocation/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/allocation/allocation.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/allocation/portbase.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/allocation/portmomentum.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/assignment/qap.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/assignment/setpartition.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/base.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/constraints.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/operators.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/polyeval.pyx +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/base/polynomial.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/combinatorics/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/combinatorics/setcover.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/combinatorics/setpartition.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/decoding.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/graph/hypergraph.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/graph/maxcut.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/graph/maxkcut.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/graph/partition.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/forecast.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/forecastbase.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/regressor.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/regressorbase.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/reservoir.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/sequence/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/sequence/tsp.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/utilities/__init__.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/utilities/fileio.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/utilities/polynomial.py +0 -0
- {eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/utilities/qplib.py +0 -0
- {eqc_models-0.11.0.dist-info → eqc_models-0.12.0.dist-info}/licenses/LICENSE.txt +0 -0
- {eqc_models-0.11.0.dist-info → eqc_models-0.12.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
eqc_models-0.12.0.data/platlib/compile_extensions.py,sha256=ivFZ87WFzBITU7IwK_72C41MDNMortJIF8tKevm2aW4,1946
|
|
2
|
+
eqc_models-0.12.0.data/platlib/eqc_models/__init__.py,sha256=WPUijJz2-4UZU-ZTqBofDc-Yaah24geHdmF16SkwIj4,683
|
|
3
|
+
eqc_models-0.12.0.data/platlib/eqc_models/decoding.py,sha256=G3JgbIFzvZ3DIKW0kZ1JeTMIZmrc8hy9kzdbX2Xv5Og,637
|
|
4
|
+
eqc_models-0.12.0.data/platlib/eqc_models/algorithms/__init__.py,sha256=lzQoMMSs2QTqp5suEYNvcQaSEN16d0LwIsZ1mRstumU,135
|
|
5
|
+
eqc_models-0.12.0.data/platlib/eqc_models/algorithms/base.py,sha256=qfQQTwuVyewn7Qpg1_SVoD_7TsdA8vdwSKGqOeZSmNI,204
|
|
6
|
+
eqc_models-0.12.0.data/platlib/eqc_models/algorithms/penaltymultiplier.py,sha256=SndGxCZDS3JTaxFOPJpTBumFdIKcB0dKwSHwfl_BI6o,7845
|
|
7
|
+
eqc_models-0.12.0.data/platlib/eqc_models/allocation/__init__.py,sha256=op_udrapTlWrakTuQId3M0ggo-Y1w4nGJLPcYKOQ-8I,239
|
|
8
|
+
eqc_models-0.12.0.data/platlib/eqc_models/allocation/allocation.py,sha256=PAQn4M75Zegeoy0i6r3hycWs4TKeRglHk05TvwZOoLk,15506
|
|
9
|
+
eqc_models-0.12.0.data/platlib/eqc_models/allocation/portbase.py,sha256=BTnYYduHydPbrE2yQr_Sgv3XJACH_GpIJstuMrfGqCU,3269
|
|
10
|
+
eqc_models-0.12.0.data/platlib/eqc_models/allocation/portmomentum.py,sha256=oMod63rNDC-01dLZjmhUb24SN3_GVgfc6CItgQL_obI,3756
|
|
11
|
+
eqc_models-0.12.0.data/platlib/eqc_models/assignment/__init__.py,sha256=WDlTjWGu75UTxuNUPGNVGoMaYvYILWzZOuS-o72n054,160
|
|
12
|
+
eqc_models-0.12.0.data/platlib/eqc_models/assignment/qap.py,sha256=WMiQQmTORsgi2w7kbmMA1xo-93dESLECWqYTF-zkmTs,2963
|
|
13
|
+
eqc_models-0.12.0.data/platlib/eqc_models/assignment/resource.py,sha256=Ux9e3Badty6bFMqRaLKAGbVRUtb1k1r1_E_2ajOhgb4,6883
|
|
14
|
+
eqc_models-0.12.0.data/platlib/eqc_models/assignment/setpartition.py,sha256=5SQxF_ZlQk4ubWf5_3TgL83k01hAakUP-5AydlD-BvE,161
|
|
15
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/__init__.py,sha256=wKBppDk1lBiDvGOFnNpzu4lh7n4dQiyd_x3lNQJumTw,2952
|
|
16
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/base.py,sha256=tL6z0MW4ffMKWlozZ0CH4soTiKxSlMXqyVDctaA110U,6405
|
|
17
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/constraints.py,sha256=KMPyCdt_8GMWLnVEdpzw1T1WqXm2f7Lh629ClUH7XDY,8271
|
|
18
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/operators.py,sha256=9nCeN6fRP-_YBfs-Gm57D-O_376qcOQiqGDuVlSlf00,7392
|
|
19
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/polyeval.c,sha256=bocwtLflgApAjP2W67qZSJAXusFfeCANi3aj486rcPA,476034
|
|
20
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so,sha256=nguZ04tigmotFBAmsz1DXha7X7G97pBSGoGDIXMOL5I,108736
|
|
21
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/polyeval.pyx,sha256=76Bf99Jt1_rLh5byrZxAjavE2F4_yCysirViqOBFIXw,2547
|
|
22
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/polynomial.py,sha256=FQA26ihFlwfHz9k9XP3qDM0hl5Ko4rtUxiXloj3ail4,13056
|
|
23
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/quadratic.py,sha256=IKjd-tL6pQosl217knS_ul2BXpk5a8ZZiSUzvKPg8S8,8082
|
|
24
|
+
eqc_models-0.12.0.data/platlib/eqc_models/base/results.py,sha256=P7m88UBA1xir8BOYvA51Cnftrdu7hnWuFqt3lUIEVO8,5831
|
|
25
|
+
eqc_models-0.12.0.data/platlib/eqc_models/combinatorics/__init__.py,sha256=BhzcVxwpWu2b4jIe0bmPzD5VmSyzwp0oW2q9iYx2IUs,167
|
|
26
|
+
eqc_models-0.12.0.data/platlib/eqc_models/combinatorics/setcover.py,sha256=T5hXoE9Ecw3mTHPLmifBwTzpF_4MhoCUgo2rkSOWt5s,3396
|
|
27
|
+
eqc_models-0.12.0.data/platlib/eqc_models/combinatorics/setpartition.py,sha256=ZD69kgEYSU3KWnx0b4MVCP8XSxbA_VCXOW22_Yssl_M,6254
|
|
28
|
+
eqc_models-0.12.0.data/platlib/eqc_models/graph/__init__.py,sha256=PUSoVwzyZSHAbTEBfdakeRxWlkPeeGD1xfyY8OmMxYE,300
|
|
29
|
+
eqc_models-0.12.0.data/platlib/eqc_models/graph/base.py,sha256=K9d7hLgLuBtywEdK9Rz1dUV70Xtf-oVrwqtHyzXK7k4,2117
|
|
30
|
+
eqc_models-0.12.0.data/platlib/eqc_models/graph/hypergraph.py,sha256=ABvutT0NOdIEpUF4TjUzboE4Y_J5iUZyj6-AzKr4R28,13268
|
|
31
|
+
eqc_models-0.12.0.data/platlib/eqc_models/graph/maxcut.py,sha256=o8xVsAwTa9jcpmsIoCQ5z7HSstVdraT8TENomdT519o,4132
|
|
32
|
+
eqc_models-0.12.0.data/platlib/eqc_models/graph/maxkcut.py,sha256=rEDBjto2MbuPh4c0RwTOZoVffKgcriqHNOZAIuBlclQ,4654
|
|
33
|
+
eqc_models-0.12.0.data/platlib/eqc_models/graph/partition.py,sha256=HMpRRipLp14x8pHucY-g6fU7v0PGoy1pf_KpzbanfD0,5800
|
|
34
|
+
eqc_models-0.12.0.data/platlib/eqc_models/graph/shortestpath.py,sha256=5BIvPmYW43juxEDVtIAAlvK6hMP5Kj-fCB7SBKgY124,4988
|
|
35
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/__init__.py,sha256=CLfraacr0FrD5ynxlNB6cyNy0lpbavcQT45TvkDrNvY,369
|
|
36
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/classifierbase.py,sha256=6W1iMlcorNtOPLS7ui8ED9UQ-xgFBK1yh_besy4swyM,3117
|
|
37
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/classifierqboost.py,sha256=oxYnex7Z_iXglupqmMN9bK6gU1DxKcHOo03fLCmELfQ,19456
|
|
38
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/classifierqsvm.py,sha256=ELKAdOMExeNjJIJCHd28bf7xQYBI2TpQDGkifldThkU,12120
|
|
39
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/clustering.py,sha256=KD8mv_xY9-pRGKDRgeLDO3e38cjftzca4SUBvN4__-I,9522
|
|
40
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/clusteringbase.py,sha256=NSoOS_MJpiDrblJ3nQPSFXthJHsBWmTx8RJGhMexNUE,2642
|
|
41
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx,sha256=3PMmEJ_xfmmWXGfire0t-WASnmKj6-CblufgQ2NTARo,2111
|
|
42
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c,sha256=ZoKgm_uGjTewhk4W6s-x8QoFuZO0KVkxILIFh6JKsoI,1851
|
|
43
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h,sha256=aOImMG5pziUnZxGpDXyWjLrvcY7ZdsczwwSQ2ay4T88,272
|
|
44
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/decomposition.py,sha256=Cmw9P-Xv_lzbyD0f-zNjJFX9H0ah--ZLyXUSRYXdfw0,9509
|
|
45
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/forecast.py,sha256=fFcBxQK9ZryfEuyvlr9HXicHoZRzLFybimYYttzhI9E,7403
|
|
46
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/forecastbase.py,sha256=s-6nUMvtYqG07r7MmmkFVj8_QqgeGkD-HVoEEDTE2bk,3654
|
|
47
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/regressor.py,sha256=LA1woXCnefG0wfoOxilX1kszgCUmfNcbQgs_WZ4Ai0o,5683
|
|
48
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/regressorbase.py,sha256=H5E8-8pUji1oH5JRdS37LJQoHuKt2JU8eXCZp-ZaEM4,2109
|
|
49
|
+
eqc_models-0.12.0.data/platlib/eqc_models/ml/reservoir.py,sha256=cPRvpCaWLYTBkui35jCssHcOPQgSQZallrG6Ac9djVI,2827
|
|
50
|
+
eqc_models-0.12.0.data/platlib/eqc_models/process/base.py,sha256=QmwbPRc9w9Yr7cwPvdnV6LBdgajif_8WGYGfwApvO34,443
|
|
51
|
+
eqc_models-0.12.0.data/platlib/eqc_models/process/mpc.py,sha256=V7RlA6t08IayV-VKkpK4mC01Lvk3ZTD-HlFYk60snks,645
|
|
52
|
+
eqc_models-0.12.0.data/platlib/eqc_models/sequence/__init__.py,sha256=VXlYufO3GYFsM00oii9Cite2WsQEF8XTwRcjLPH_Zlg,92
|
|
53
|
+
eqc_models-0.12.0.data/platlib/eqc_models/sequence/tsp.py,sha256=YM641FTyK5NkgRGxHrU1QmMkEU0gf77nEmIElTqa6Qw,7680
|
|
54
|
+
eqc_models-0.12.0.data/platlib/eqc_models/solvers/__init__.py,sha256=OLwg3lxMh2rali4lovIxnR-CA1CISNnD5LRgCv48cck,432
|
|
55
|
+
eqc_models-0.12.0.data/platlib/eqc_models/solvers/eqcdirect.py,sha256=VMMQzcW2VmalJ8__c_8hbygL0Kx0NDsL6HCi9l2T5-o,2115
|
|
56
|
+
eqc_models-0.12.0.data/platlib/eqc_models/solvers/qciclient.py,sha256=73m6TNqwxvtgeVHKcym87UXqkSAAj4UrVeDRKlr7ys0,27362
|
|
57
|
+
eqc_models-0.12.0.data/platlib/eqc_models/utilities/__init__.py,sha256=SI2U7JKmPWSiq-F1WcSyfd7l9V6nbOZv_p8quMAZaT0,340
|
|
58
|
+
eqc_models-0.12.0.data/platlib/eqc_models/utilities/fileio.py,sha256=alWPTfjGFx6Iio9HZAAWtYcLmZsBBifg6S6_YbFMQhk,1088
|
|
59
|
+
eqc_models-0.12.0.data/platlib/eqc_models/utilities/polynomial.py,sha256=blXfu7Ehz9lT4nEmIinRzJOL27_qUHSbQ57zxmwDJCA,4735
|
|
60
|
+
eqc_models-0.12.0.data/platlib/eqc_models/utilities/qplib.py,sha256=Do-MjmCFdI5HyDOAjfoz4_5lugySLMBlMAWDLUWx2OA,15796
|
|
61
|
+
eqc_models-0.12.0.dist-info/licenses/LICENSE.txt,sha256=8eh0oqsNNVR1Jk-13gkqRRSo2axtUU5kp2KzH4f9u3U,11354
|
|
62
|
+
eqc_models-0.12.0.dist-info/METADATA,sha256=LlwLohomCtAUlHu7eVM5ZicCPxrgu0YI4r8NWfmGT2Q,7087
|
|
63
|
+
eqc_models-0.12.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
64
|
+
eqc_models-0.12.0.dist-info/top_level.txt,sha256=9ZfFeKNEvkRlKWoUnfcZ9TzmTdgdsuPEnTPy11Hqf4Q,30
|
|
65
|
+
eqc_models-0.12.0.dist-info/RECORD,,
|
|
Binary file
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import dataclasses
|
|
2
|
-
import warnings
|
|
3
|
-
import numpy as np
|
|
4
|
-
|
|
5
|
-
@dataclasses.dataclass
|
|
6
|
-
class SolutionResults:
|
|
7
|
-
"""
|
|
8
|
-
The class is meant to provide a uniform interface to results, no matter
|
|
9
|
-
the method of running the job.
|
|
10
|
-
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
solutions : np.ndarray
|
|
14
|
-
energies : np.ndarray
|
|
15
|
-
counts : np.array
|
|
16
|
-
objectives : np.ndarray
|
|
17
|
-
run_time : np.ndarray
|
|
18
|
-
preprocessing_time : np.ndarray
|
|
19
|
-
postprocessing_time : np.ndarray
|
|
20
|
-
penalties : np.ndarray = None
|
|
21
|
-
device : str = None
|
|
22
|
-
time_units : str = "ns"
|
|
23
|
-
|
|
24
|
-
@property
|
|
25
|
-
def device_time(self):
|
|
26
|
-
pre = self.preprocessing_time
|
|
27
|
-
runtime = np.sum(self.run_time)
|
|
28
|
-
post = np.sum(self.postprocessing_time)
|
|
29
|
-
return pre + runtime + post
|
|
30
|
-
|
|
31
|
-
@property
|
|
32
|
-
def total_samples(self):
|
|
33
|
-
return np.sum(self.counts)
|
|
34
|
-
|
|
35
|
-
@property
|
|
36
|
-
def best_energy(self):
|
|
37
|
-
return np.min(self.energies)
|
|
38
|
-
|
|
39
|
-
@classmethod
|
|
40
|
-
def determine_device_type(cls, device_config):
|
|
41
|
-
"""
|
|
42
|
-
Use the device config object from a cloud response
|
|
43
|
-
to get the device info. It will have a device and job type
|
|
44
|
-
identifiers in it.
|
|
45
|
-
|
|
46
|
-
"""
|
|
47
|
-
devices = [k for k in device_config.keys()]
|
|
48
|
-
# only one device type is supported at a time
|
|
49
|
-
return devices[0]
|
|
50
|
-
|
|
51
|
-
@classmethod
|
|
52
|
-
def from_cloud_response(cls, model, response, solver):
|
|
53
|
-
""" Fill in the details from the cloud """
|
|
54
|
-
|
|
55
|
-
solutions = np.array(response["results"]["solutions"])
|
|
56
|
-
energies = np.array(response["results"]["energies"])
|
|
57
|
-
if hasattr(model, "evaluateObjective"):
|
|
58
|
-
objectives = np.zeros((solutions.shape[0],), dtype=np.float32)
|
|
59
|
-
for i in range(solutions.shape[0]):
|
|
60
|
-
try:
|
|
61
|
-
objective = model.evaluateObjective(solutions[i])
|
|
62
|
-
except NotImplementedError:
|
|
63
|
-
warnings.warn(f"Cannot set objective value in results for {model.__class__}")
|
|
64
|
-
objectives = None
|
|
65
|
-
break
|
|
66
|
-
objectives[i] = objective
|
|
67
|
-
else:
|
|
68
|
-
objectives = None
|
|
69
|
-
if hasattr(model, "evaluatePenalties"):
|
|
70
|
-
penalties = np.zeros((solutions.shape[0],), dtype=np.float32)
|
|
71
|
-
for i in range(solutions.shape[0]):
|
|
72
|
-
penalties[i] = model.evaluatePenalty(solution[i]) + model.offset
|
|
73
|
-
else:
|
|
74
|
-
penalties = None
|
|
75
|
-
counts = np.array(response["results"]["counts"])
|
|
76
|
-
# interrogate to determine the device type
|
|
77
|
-
try:
|
|
78
|
-
device_type = cls.determine_device_type(response["job_info"]["job_submission"]["device_config"])
|
|
79
|
-
except KeyError:
|
|
80
|
-
print(response.keys())
|
|
81
|
-
raise
|
|
82
|
-
job_id = response["job_info"]["job_id"]
|
|
83
|
-
metrics = solver.client.get_job_metrics(job_id=job_id)
|
|
84
|
-
metrics = metrics["job_metrics"]
|
|
85
|
-
time_ns = metrics["time_ns"]
|
|
86
|
-
device = time_ns["device"][device_type]
|
|
87
|
-
runtime = device["samples"]["runtime"]
|
|
88
|
-
post = device["samples"]["postprocessing_time"]
|
|
89
|
-
pre = device["samples"]["preprocessing_time"]
|
|
90
|
-
results = SolutionResults(solutions, energies, counts, objectives,
|
|
91
|
-
runtime, pre, post, penalties=penalties,
|
|
92
|
-
device=device_type, time_units="ns")
|
|
93
|
-
|
|
94
|
-
return results
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import numpy as np
|
|
2
|
-
from eqc_models.base.quadratic import ConstrainedQuadraticModel
|
|
3
|
-
from eqc_models.base.constraints import InequalitiesMixin
|
|
4
|
-
|
|
5
|
-
class CrewSchedulingModel(ConstrainedQuadraticModel):
|
|
6
|
-
"""
|
|
7
|
-
Crew scheduling model
|
|
8
|
-
|
|
9
|
-
Parameters
|
|
10
|
-
------------
|
|
11
|
-
|
|
12
|
-
crews : List
|
|
13
|
-
tasks : List
|
|
14
|
-
|
|
15
|
-
>>> crews = [{"name": "Maintenance Crew 1", "skills": ["A", "F"]},
|
|
16
|
-
... {"name": "Baggage Crew 1", "skills": ["B"]},
|
|
17
|
-
... {"name": "Maintenance Crew 2", "skills": ["A", "F"]}]
|
|
18
|
-
>>> tasks = [{"name": "Refuel", "skill_need": "F"},
|
|
19
|
-
... {"name": "Baggage", "skill_need": "B"}]
|
|
20
|
-
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
def __init__(self, crews, tasks):
|
|
24
|
-
self.crews = crews
|
|
25
|
-
self.tasks = tasks
|
|
26
|
-
|
|
27
|
-
def decode(self, solution) -> np.ndarray:
|
|
28
|
-
""" Translate the solution into a list of tasks for each crew """
|
|
29
|
-
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
eqc_models-0.11.0.data/platlib/compile_extensions.py,sha256=ivFZ87WFzBITU7IwK_72C41MDNMortJIF8tKevm2aW4,1946
|
|
2
|
-
eqc_models-0.11.0.data/platlib/eqc_models/__init__.py,sha256=WPUijJz2-4UZU-ZTqBofDc-Yaah24geHdmF16SkwIj4,683
|
|
3
|
-
eqc_models-0.11.0.data/platlib/eqc_models/decoding.py,sha256=G3JgbIFzvZ3DIKW0kZ1JeTMIZmrc8hy9kzdbX2Xv5Og,637
|
|
4
|
-
eqc_models-0.11.0.data/platlib/eqc_models/algorithms/__init__.py,sha256=lzQoMMSs2QTqp5suEYNvcQaSEN16d0LwIsZ1mRstumU,135
|
|
5
|
-
eqc_models-0.11.0.data/platlib/eqc_models/algorithms/base.py,sha256=qfQQTwuVyewn7Qpg1_SVoD_7TsdA8vdwSKGqOeZSmNI,204
|
|
6
|
-
eqc_models-0.11.0.data/platlib/eqc_models/algorithms/penaltymultiplier.py,sha256=SndGxCZDS3JTaxFOPJpTBumFdIKcB0dKwSHwfl_BI6o,7845
|
|
7
|
-
eqc_models-0.11.0.data/platlib/eqc_models/allocation/__init__.py,sha256=op_udrapTlWrakTuQId3M0ggo-Y1w4nGJLPcYKOQ-8I,239
|
|
8
|
-
eqc_models-0.11.0.data/platlib/eqc_models/allocation/allocation.py,sha256=PAQn4M75Zegeoy0i6r3hycWs4TKeRglHk05TvwZOoLk,15506
|
|
9
|
-
eqc_models-0.11.0.data/platlib/eqc_models/allocation/portbase.py,sha256=BTnYYduHydPbrE2yQr_Sgv3XJACH_GpIJstuMrfGqCU,3269
|
|
10
|
-
eqc_models-0.11.0.data/platlib/eqc_models/allocation/portmomentum.py,sha256=oMod63rNDC-01dLZjmhUb24SN3_GVgfc6CItgQL_obI,3756
|
|
11
|
-
eqc_models-0.11.0.data/platlib/eqc_models/assignment/__init__.py,sha256=CX_QYl8P1meajV8gcVs6hm07VhoLVe8uu436t7-1XQo,86
|
|
12
|
-
eqc_models-0.11.0.data/platlib/eqc_models/assignment/qap.py,sha256=WMiQQmTORsgi2w7kbmMA1xo-93dESLECWqYTF-zkmTs,2963
|
|
13
|
-
eqc_models-0.11.0.data/platlib/eqc_models/assignment/setpartition.py,sha256=5SQxF_ZlQk4ubWf5_3TgL83k01hAakUP-5AydlD-BvE,161
|
|
14
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/__init__.py,sha256=wKBppDk1lBiDvGOFnNpzu4lh7n4dQiyd_x3lNQJumTw,2952
|
|
15
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/base.py,sha256=tL6z0MW4ffMKWlozZ0CH4soTiKxSlMXqyVDctaA110U,6405
|
|
16
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/constraints.py,sha256=KMPyCdt_8GMWLnVEdpzw1T1WqXm2f7Lh629ClUH7XDY,8271
|
|
17
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/operators.py,sha256=9nCeN6fRP-_YBfs-Gm57D-O_376qcOQiqGDuVlSlf00,7392
|
|
18
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/polyeval.c,sha256=xyZgxdE5DbBJP3Q8ol7t5651V7bjVZNKH24HAeADeNk,438431
|
|
19
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/polyeval.cpython-310-darwin.so,sha256=gS8RuuiASVDgHRiexrTgQiydL-CtTAMUts7jPOAPpJ4,108672
|
|
20
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/polyeval.pyx,sha256=76Bf99Jt1_rLh5byrZxAjavE2F4_yCysirViqOBFIXw,2547
|
|
21
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/polynomial.py,sha256=FQA26ihFlwfHz9k9XP3qDM0hl5Ko4rtUxiXloj3ail4,13056
|
|
22
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/quadratic.py,sha256=BHZKniUvSq30pZgzguVasdO39BCEYue_wi5AIklPGS8,8062
|
|
23
|
-
eqc_models-0.11.0.data/platlib/eqc_models/base/results.py,sha256=SPTDdlA2BOQjoaNvp7UGB1v5Veys8AGjQ3VDC1NpEQY,3301
|
|
24
|
-
eqc_models-0.11.0.data/platlib/eqc_models/combinatorics/__init__.py,sha256=BhzcVxwpWu2b4jIe0bmPzD5VmSyzwp0oW2q9iYx2IUs,167
|
|
25
|
-
eqc_models-0.11.0.data/platlib/eqc_models/combinatorics/setcover.py,sha256=T5hXoE9Ecw3mTHPLmifBwTzpF_4MhoCUgo2rkSOWt5s,3396
|
|
26
|
-
eqc_models-0.11.0.data/platlib/eqc_models/combinatorics/setpartition.py,sha256=ZD69kgEYSU3KWnx0b4MVCP8XSxbA_VCXOW22_Yssl_M,6254
|
|
27
|
-
eqc_models-0.11.0.data/platlib/eqc_models/graph/__init__.py,sha256=zlPE_c92wsuzz_wQLs0nxYi7tHCYxrPs-yOa9BhQAIo,162
|
|
28
|
-
eqc_models-0.11.0.data/platlib/eqc_models/graph/base.py,sha256=j48OwhorZ5jTlTysTmMiXCeiAdj6jylBREk3NxCpFLI,2072
|
|
29
|
-
eqc_models-0.11.0.data/platlib/eqc_models/graph/hypergraph.py,sha256=ABvutT0NOdIEpUF4TjUzboE4Y_J5iUZyj6-AzKr4R28,13268
|
|
30
|
-
eqc_models-0.11.0.data/platlib/eqc_models/graph/maxcut.py,sha256=o8xVsAwTa9jcpmsIoCQ5z7HSstVdraT8TENomdT519o,4132
|
|
31
|
-
eqc_models-0.11.0.data/platlib/eqc_models/graph/maxkcut.py,sha256=rEDBjto2MbuPh4c0RwTOZoVffKgcriqHNOZAIuBlclQ,4654
|
|
32
|
-
eqc_models-0.11.0.data/platlib/eqc_models/graph/partition.py,sha256=HMpRRipLp14x8pHucY-g6fU7v0PGoy1pf_KpzbanfD0,5800
|
|
33
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/__init__.py,sha256=CLfraacr0FrD5ynxlNB6cyNy0lpbavcQT45TvkDrNvY,369
|
|
34
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/classifierbase.py,sha256=1yXufiUGpaiBjI2evMiwfYn-Zr-SnWwCnvtREqprtJw,2184
|
|
35
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/classifierqboost.py,sha256=5Dcpd0DjpMmlUULyZFKKWm4UuZpeMaknWKViiIjwc0U,18978
|
|
36
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/classifierqsvm.py,sha256=b6TdwlghR84UoQpfUThwMwNF_wmkABbCqOn6T1uY2dA,6636
|
|
37
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/clustering.py,sha256=yhh6jlgwZiQVn9h2pnYBlzVTCocK7rzsEurSQxCn5FQ,9486
|
|
38
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/clusteringbase.py,sha256=AvQbt6jeocBAGCuAmXHKyr3wLWqYUtBDq9PbsEOSlSc,2632
|
|
39
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx,sha256=3PMmEJ_xfmmWXGfire0t-WASnmKj6-CblufgQ2NTARo,2111
|
|
40
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.c,sha256=ZoKgm_uGjTewhk4W6s-x8QoFuZO0KVkxILIFh6JKsoI,1851
|
|
41
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/cvqboost_hamiltonian_c_func.h,sha256=aOImMG5pziUnZxGpDXyWjLrvcY7ZdsczwwSQ2ay4T88,272
|
|
42
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/decomposition.py,sha256=Nsnq0GmINpbGOszndgCHXqKdECNpiNiampBrHPU_Gjg,8943
|
|
43
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/forecast.py,sha256=fFcBxQK9ZryfEuyvlr9HXicHoZRzLFybimYYttzhI9E,7403
|
|
44
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/forecastbase.py,sha256=s-6nUMvtYqG07r7MmmkFVj8_QqgeGkD-HVoEEDTE2bk,3654
|
|
45
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/regressor.py,sha256=LA1woXCnefG0wfoOxilX1kszgCUmfNcbQgs_WZ4Ai0o,5683
|
|
46
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/regressorbase.py,sha256=H5E8-8pUji1oH5JRdS37LJQoHuKt2JU8eXCZp-ZaEM4,2109
|
|
47
|
-
eqc_models-0.11.0.data/platlib/eqc_models/ml/reservoir.py,sha256=cPRvpCaWLYTBkui35jCssHcOPQgSQZallrG6Ac9djVI,2827
|
|
48
|
-
eqc_models-0.11.0.data/platlib/eqc_models/sequence/__init__.py,sha256=VXlYufO3GYFsM00oii9Cite2WsQEF8XTwRcjLPH_Zlg,92
|
|
49
|
-
eqc_models-0.11.0.data/platlib/eqc_models/sequence/scheduling.py,sha256=9gSD-L_n18NrE8K6CYTaIYRJ1JYI1ILhdEsk6xtsa68,841
|
|
50
|
-
eqc_models-0.11.0.data/platlib/eqc_models/sequence/tsp.py,sha256=YM641FTyK5NkgRGxHrU1QmMkEU0gf77nEmIElTqa6Qw,7680
|
|
51
|
-
eqc_models-0.11.0.data/platlib/eqc_models/solvers/__init__.py,sha256=hTjJI4F0FNDgQlK_oRHJxLIkg6of3I1-nEqU_3RL4Gk,542
|
|
52
|
-
eqc_models-0.11.0.data/platlib/eqc_models/solvers/qciclient.py,sha256=uZrtK03oA9ozTGD--hUicmu8zoHYkuIaJ924tOtGwzU,27269
|
|
53
|
-
eqc_models-0.11.0.data/platlib/eqc_models/utilities/__init__.py,sha256=SI2U7JKmPWSiq-F1WcSyfd7l9V6nbOZv_p8quMAZaT0,340
|
|
54
|
-
eqc_models-0.11.0.data/platlib/eqc_models/utilities/fileio.py,sha256=alWPTfjGFx6Iio9HZAAWtYcLmZsBBifg6S6_YbFMQhk,1088
|
|
55
|
-
eqc_models-0.11.0.data/platlib/eqc_models/utilities/polynomial.py,sha256=blXfu7Ehz9lT4nEmIinRzJOL27_qUHSbQ57zxmwDJCA,4735
|
|
56
|
-
eqc_models-0.11.0.data/platlib/eqc_models/utilities/qplib.py,sha256=Do-MjmCFdI5HyDOAjfoz4_5lugySLMBlMAWDLUWx2OA,15796
|
|
57
|
-
eqc_models-0.11.0.dist-info/licenses/LICENSE.txt,sha256=8eh0oqsNNVR1Jk-13gkqRRSo2axtUU5kp2KzH4f9u3U,11354
|
|
58
|
-
eqc_models-0.11.0.dist-info/METADATA,sha256=6Ixla2-iQUpemI_tFaSn1vAeSR5c60n0XJX0kiFbk3I,7129
|
|
59
|
-
eqc_models-0.11.0.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
60
|
-
eqc_models-0.11.0.dist-info/top_level.txt,sha256=9ZfFeKNEvkRlKWoUnfcZ9TzmTdgdsuPEnTPy11Hqf4Q,30
|
|
61
|
-
eqc_models-0.11.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/algorithms/penaltymultiplier.py
RENAMED
|
File without changes
|
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/allocation/allocation.py
RENAMED
|
File without changes
|
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/allocation/portmomentum.py
RENAMED
|
File without changes
|
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/assignment/setpartition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/combinatorics/__init__.py
RENAMED
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/combinatorics/setcover.py
RENAMED
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/combinatorics/setpartition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/ml/cvqboost_hamiltonian.pyx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{eqc_models-0.11.0.data → eqc_models-0.12.0.data}/platlib/eqc_models/utilities/polynomial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|