BQM QPU solvers do not yield optimal solutions

I'm trying to solve a BQM with 45 variables. The problem in itself isn't too difficult and a simple tabu search easily finds the optimal solution. However, neither the Chimera nor Pegasus QPU seem to be able to find a good solution (using minorminer for both).

I've increased the chain strength just enough to prevent chain breakages. With the Chimera I get many long chains (length >7), but still the Chimera gives me better solutions than Pegasus (still far from optimal though).

I've tried increasing num_reads, playing around with the annealing schedule and the minorminer parameters, but still no good results.

How should one debug such an issue? It seems odd to me that the DWave QPU can't solve such a relatively simple problem with no more than 400 target variables, what am missing here?

Thanks

1

Comments

8 comments
  • Hi Mark,

    One of our experts noticed the chain strength is way too high. They were able to get better results with a smaller chain strength value i.e. using coefficient of 0.17 instead of 1.2.

    With a lower coefficient the top few samples still have 0 broken chains but the energy value is much lower. The values are still higher than SA but not as outrageous, and they can definitely be tuned further. The solutions can also be refined by tuning other parameters such as the anneal schedules, anneal time, etc...

    1
    Comment actions Permalink
  • Hi Mark,

    Thank you for reaching out and using D-Wave Systems. 

    Can you please provide a bit more details about the problem that you are working on, or provide any code snippet so that we have a better understanding of the scope of the issue you are experiencing?

    Best Regards,
    Tanjid

     

    0
    Comment actions Permalink
  • Hi Tanjid,

    Thanks for the reply. The actual problem comes from portfolio optimization and is quite complicated, so I'll spare you the details. Instead, I'm attaching the final bqm here with the script:

    from dimod import BinaryQuadraticModel
    bqm = BinaryQuadraticModel(
        {
            0: -0.20357375733333333,
            1: -0.40342836266666665,
            2: -0.7919801173333333,
            3: -0.21229905799999998,
            4: -0.42159623199999996,
            5: -0.831184928,
            6: -0.198094002,
            7: -0.392176008,
            8: -0.768304032,
            9: 0.15833333333333333,
            10: 0.06041666666666666,
            11: 0.025520833333333333,
            12: 0.011588541666666665,
            13: 0.4666666666666667,
            14: 1.5333333333333332,
            15: 0.15833333333333333,
            16: 0.06041666666666666,
            17: 0.025520833333333333,
            18: 0.011588541666666665,
            19: 0.4666666666666667,
            20: 1.5333333333333332,
            21: 0.15833333333333333,
            22: 0.06041666666666666,
            23: 0.025520833333333333,
            24: 0.011588541666666665,
            25: 0.4666666666666667,
            26: 1.5333333333333332,
            27: 0.075,
            28: 0.01875,
            29: 0.0046875,
            30: 0.001171875,
            31: 0.3,
            32: 1.2,
            33: 0.075,
            34: 0.01875,
            35: 0.0046875,
            36: 0.001171875,
            37: 0.3,
            38: 1.2,
            39: 0.075,
            40: 0.01875,
            41: 0.0046875,
            42: 0.001171875,
            43: 0.3,
            44: 1.2,
            45: -1.7249999999999999,
            46: -0.8812499999999999,
            47: -0.44531249999999994,
            48: -0.223828125,
            49: -3.3,
            50: -5.999999999999999,
            51: -9.599999999999998,
            52: 0.375,
            53: 0.16874999999999998,
            54: 0.0796875,
            55: 0.038671875,
            56: 0.8999999999999999,
            57: 2.4,
        },
        {
            (1, 0): 0.0074383040000000015,
            (2, 0): 0.014876608000000003,
            (2, 1): 0.029753216000000006,
            (3, 0): 0.0029667960000000003,
            (3, 1): 0.0059335920000000006,
            (3, 2): 0.011867184000000001,
            (4, 0): 0.0059335920000000006,
            (4, 1): 0.011867184000000001,
            (4, 2): 0.023734368000000002,
            (4, 3): 0.006003768000000001,
            (5, 0): 0.011867184000000001,
            (5, 1): 0.023734368000000002,
            (5, 2): 0.047468736000000004,
            (5, 3): 0.012007536000000003,
            (5, 4): 0.024015072000000005,
            (6, 0): 0.0038409480000000003,
            (6, 1): 0.0076818960000000006,
            (6, 2): 0.015363792000000001,
            (6, 3): 0.0029643420000000005,
            (6, 4): 0.005928684000000001,
            (6, 5): 0.011857368000000002,
            (7, 0): 0.0076818960000000006,
            (7, 1): 0.015363792000000001,
            (7, 2): 0.030727584000000002,
            (7, 3): 0.005928684000000001,
            (7, 4): 0.011857368000000002,
            (7, 5): 0.023714736000000004,
            (7, 6): 0.008023992,
            (8, 0): 0.015363792000000001,
            (8, 1): 0.030727584000000002,
            (8, 2): 0.061455168000000004,
            (8, 3): 0.011857368000000002,
            (8, 4): 0.023714736000000004,
            (8, 5): 0.04742947200000001,
            (8, 6): 0.016047984,
            (8, 7): 0.032095968,
            (9, 0): 0.00848,
            (9, 1): 0.01696,
            (9, 2): 0.03392,
            (9, 3): -0.00039,
            (9, 4): -0.00078,
            (9, 5): -0.00156,
            (9, 6): 0.00993,
            (9, 7): 0.01986,
            (9, 8): 0.03972,
            (10, 0): 0.00424,
            (10, 1): 0.00848,
            (10, 2): 0.01696,
            (10, 3): -0.000195,
            (10, 4): -0.00039,
            (10, 5): -0.00078,
            (10, 6): 0.004965,
            (10, 7): 0.00993,
            (10, 8): 0.01986,
            (10, 9): 0.075,
            (11, 0): 0.00212,
            (11, 1): 0.00424,
            (11, 2): 0.00848,
            (11, 3): -9.75e-05,
            (11, 4): -0.000195,
            (11, 5): -0.00039,
            (11, 6): 0.0024825,
            (11, 7): 0.004965,
            (11, 8): 0.00993,
            (11, 9): 0.0375,
            (11, 10): 0.01875,
            (12, 0): 0.00106,
            (12, 1): 0.00212,
            (12, 2): 0.00424,
            (12, 3): -4.875e-05,
            (12, 4): -9.75e-05,
            (12, 5): -0.000195,
            (12, 6): 0.00124125,
            (12, 7): 0.0024825,
            (12, 8): 0.004965,
            (12, 9): 0.01875,
            (12, 10): 0.009375,
            (12, 11): 0.0046875,
            (13, 0): 0.01696,
            (13, 1): 0.03392,
            (13, 2): 0.06784,
            (13, 3): -0.00078,
            (13, 4): -0.00156,
            (13, 5): -0.00312,
            (13, 6): 0.01986,
            (13, 7): 0.03972,
            (13, 8): 0.07944,
            (13, 9): 0.3,
            (13, 10): 0.15,
            (13, 11): 0.075,
            (13, 12): 0.0375,
            (14, 0): 0.03392,
            (14, 1): 0.06784,
            (14, 2): 0.13568,
            (14, 3): -0.00156,
            (14, 4): -0.00312,
            (14, 5): -0.00624,
            (14, 6): 0.03972,
            (14, 7): 0.07944,
            (14, 8): 0.15888,
            (14, 9): 0.6,
            (14, 10): 0.3,
            (14, 11): 0.15,
            (14, 12): 0.075,
            (14, 13): 1.2,
            (15, 0): -0.0043,
            (15, 1): -0.0086,
            (15, 2): -0.0172,
            (15, 3): 0.00036,
            (15, 4): 0.00072,
            (15, 5): 0.00144,
            (15, 6): -0.0035700000000000003,
            (15, 7): -0.0071400000000000005,
            (15, 8): -0.014280000000000001,
            (16, 0): -0.00215,
            (16, 1): -0.0043,
            (16, 2): -0.0086,
            (16, 3): 0.00018,
            (16, 4): 0.00036,
            (16, 5): 0.00072,
            (16, 6): -0.0017850000000000001,
            (16, 7): -0.0035700000000000003,
            (16, 8): -0.0071400000000000005,
            (16, 15): 0.075,
            (17, 0): -0.001075,
            (17, 1): -0.00215,
            (17, 2): -0.0043,
            (17, 3): 9e-05,
            (17, 4): 0.00018,
            (17, 5): 0.00036,
            (17, 6): -0.0008925000000000001,
            (17, 7): -0.0017850000000000001,
            (17, 8): -0.0035700000000000003,
            (17, 15): 0.0375,
            (17, 16): 0.01875,
            (18, 0): -0.0005375,
            (18, 1): -0.001075,
            (18, 2): -0.00215,
            (18, 3): 4.5e-05,
            (18, 4): 9e-05,
            (18, 5): 0.00018,
            (18, 6): -0.00044625000000000003,
            (18, 7): -0.0008925000000000001,
            (18, 8): -0.0017850000000000001,
            (18, 15): 0.01875,
            (18, 16): 0.009375,
            (18, 17): 0.0046875,
            (19, 0): -0.0086,
            (19, 1): -0.0172,
            (19, 2): -0.0344,
            (19, 3): 0.00072,
            (19, 4): 0.00144,
            (19, 5): 0.00288,
            (19, 6): -0.0071400000000000005,
            (19, 7): -0.014280000000000001,
            (19, 8): -0.028560000000000002,
            (19, 15): 0.3,
            (19, 16): 0.15,
            (19, 17): 0.075,
            (19, 18): 0.0375,
            (20, 0): -0.0172,
            (20, 1): -0.0344,
            (20, 2): -0.0688,
            (20, 3): 0.00144,
            (20, 4): 0.00288,
            (20, 5): 0.00576,
            (20, 6): -0.014280000000000001,
            (20, 7): -0.028560000000000002,
            (20, 8): -0.057120000000000004,
            (20, 15): 0.6,
            (20, 16): 0.3,
            (20, 17): 0.15,
            (20, 18): 0.075,
            (20, 19): 1.2,
            (21, 0): -0.00418,
            (21, 1): -0.00836,
            (21, 2): -0.01672,
            (21, 3): 2.9999999999999947e-05,
            (21, 4): 5.999999999999989e-05,
            (21, 5): 0.00011999999999999979,
            (21, 6): -0.00636,
            (21, 7): -0.01272,
            (21, 8): -0.02544,
            (22, 0): -0.00209,
            (22, 1): -0.00418,
            (22, 2): -0.00836,
            (22, 3): 1.4999999999999973e-05,
            (22, 4): 2.9999999999999947e-05,
            (22, 5): 5.999999999999989e-05,
            (22, 6): -0.00318,
            (22, 7): -0.00636,
            (22, 8): -0.01272,
            (22, 21): 0.075,
            (23, 0): -0.001045,
            (23, 1): -0.00209,
            (23, 2): -0.00418,
            (23, 3): 7.499999999999987e-06,
            (23, 4): 1.4999999999999973e-05,
            (23, 5): 2.9999999999999947e-05,
            (23, 6): -0.00159,
            (23, 7): -0.00318,
            (23, 8): -0.00636,
            (23, 21): 0.0375,
            (23, 22): 0.01875,
            (24, 0): -0.0005225,
            (24, 1): -0.001045,
            (24, 2): -0.00209,
            (24, 3): 3.7499999999999933e-06,
            (24, 4): 7.499999999999987e-06,
            (24, 5): 1.4999999999999973e-05,
            (24, 6): -0.000795,
            (24, 7): -0.00159,
            (24, 8): -0.00318,
            (24, 21): 0.01875,
            (24, 22): 0.009375,
            (24, 23): 0.0046875,
            (25, 0): -0.00836,
            (25, 1): -0.01672,
            (25, 2): -0.03344,
            (25, 3): 5.999999999999989e-05,
            (25, 4): 0.00011999999999999979,
            (25, 5): 0.00023999999999999957,
            (25, 6): -0.01272,
            (25, 7): -0.02544,
            (25, 8): -0.05088,
            (25, 21): 0.3,
            (25, 22): 0.15,
            (25, 23): 0.075,
            (25, 24): 0.0375,
            (26, 0): -0.01672,
            (26, 1): -0.03344,
            (26, 2): -0.06688,
            (26, 3): 0.00011999999999999979,
            (26, 4): 0.00023999999999999957,
            (26, 5): 0.00047999999999999914,
            (26, 6): -0.02544,
            (26, 7): -0.05088,
            (26, 8): -0.10176,
            (26, 21): 0.6,
            (26, 22): 0.3,
            (26, 23): 0.15,
            (26, 24): 0.075,
            (26, 25): 1.2,
            (27, 0): -0.00848,
            (27, 1): -0.01696,
            (27, 2): -0.03392,
            (27, 3): 0.00039,
            (27, 4): 0.00078,
            (27, 5): 0.00156,
            (27, 6): -0.00993,
            (27, 7): -0.01986,
            (27, 8): -0.03972,
            (27, 9): -0.15,
            (27, 10): -0.075,
            (27, 11): -0.0375,
            (27, 12): -0.01875,
            (27, 13): -0.3,
            (27, 14): -0.6,
            (28, 0): -0.00424,
            (28, 1): -0.00848,
            (28, 2): -0.01696,
            (28, 3): 0.000195,
            (28, 4): 0.00039,
            (28, 5): 0.00078,
            (28, 6): -0.004965,
            (28, 7): -0.00993,
            (28, 8): -0.01986,
            (28, 9): -0.075,
            (28, 10): -0.0375,
            (28, 11): -0.01875,
            (28, 12): -0.009375,
            (28, 13): -0.15,
            (28, 14): -0.3,
            (28, 27): 0.075,
            (29, 0): -0.00212,
            (29, 1): -0.00424,
            (29, 2): -0.00848,
            (29, 3): 9.75e-05,
            (29, 4): 0.000195,
            (29, 5): 0.00039,
            (29, 6): -0.0024825,
            (29, 7): -0.004965,
            (29, 8): -0.00993,
            (29, 9): -0.0375,
            (29, 10): -0.01875,
            (29, 11): -0.009375,
            (29, 12): -0.0046875,
            (29, 13): -0.075,
            (29, 14): -0.15,
            (29, 27): 0.0375,
            (29, 28): 0.01875,
            (30, 0): -0.00106,
            (30, 1): -0.00212,
            (30, 2): -0.00424,
            (30, 3): 4.875e-05,
            (30, 4): 9.75e-05,
            (30, 5): 0.000195,
            (30, 6): -0.00124125,
            (30, 7): -0.0024825,
            (30, 8): -0.004965,
            (30, 9): -0.01875,
            (30, 10): -0.009375,
            (30, 11): -0.0046875,
            (30, 12): -0.00234375,
            (30, 13): -0.0375,
            (30, 14): -0.075,
            (30, 27): 0.01875,
            (30, 28): 0.009375,
            (30, 29): 0.0046875,
            (31, 0): -0.01696,
            (31, 1): -0.03392,
            (31, 2): -0.06784,
            (31, 3): 0.00078,
            (31, 4): 0.00156,
            (31, 5): 0.00312,
            (31, 6): -0.01986,
            (31, 7): -0.03972,
            (31, 8): -0.07944,
            (31, 9): -0.3,
            (31, 10): -0.15,
            (31, 11): -0.075,
            (31, 12): -0.0375,
            (31, 13): -0.6,
            (31, 14): -1.2,
            (31, 27): 0.3,
            (31, 28): 0.15,
            (31, 29): 0.075,
            (31, 30): 0.0375,
            (32, 0): -0.03392,
            (32, 1): -0.06784,
            (32, 2): -0.13568,
            (32, 3): 0.00156,
            (32, 4): 0.00312,
            (32, 5): 0.00624,
            (32, 6): -0.03972,
            (32, 7): -0.07944,
            (32, 8): -0.15888,
            (32, 9): -0.6,
            (32, 10): -0.3,
            (32, 11): -0.15,
            (32, 12): -0.075,
            (32, 13): -1.2,
            (32, 14): -2.4,
            (32, 27): 0.6,
            (32, 28): 0.3,
            (32, 29): 0.15,
            (32, 30): 0.075,
            (32, 31): 1.2,
            (33, 0): 0.0043,
            (33, 1): 0.0086,
            (33, 2): 0.0172,
            (33, 3): -0.00036,
            (33, 4): -0.00072,
            (33, 5): -0.00144,
            (33, 6): 0.0035700000000000003,
            (33, 7): 0.0071400000000000005,
            (33, 8): 0.014280000000000001,
            (33, 15): -0.15,
            (33, 16): -0.075,
            (33, 17): -0.0375,
            (33, 18): -0.01875,
            (33, 19): -0.3,
            (33, 20): -0.6,
            (34, 0): 0.00215,
            (34, 1): 0.0043,
            (34, 2): 0.0086,
            (34, 3): -0.00018,
            (34, 4): -0.00036,
            (34, 5): -0.00072,
            (34, 6): 0.0017850000000000001,
            (34, 7): 0.0035700000000000003,
            (34, 8): 0.0071400000000000005,
            (34, 15): -0.075,
            (34, 16): -0.0375,
            (34, 17): -0.01875,
            (34, 18): -0.009375,
            (34, 19): -0.15,
            (34, 20): -0.3,
            (34, 33): 0.075,
            (35, 0): 0.001075,
            (35, 1): 0.00215,
            (35, 2): 0.0043,
            (35, 3): -9e-05,
            (35, 4): -0.00018,
            (35, 5): -0.00036,
            (35, 6): 0.0008925000000000001,
            (35, 7): 0.0017850000000000001,
            (35, 8): 0.0035700000000000003,
            (35, 15): -0.0375,
            (35, 16): -0.01875,
            (35, 17): -0.009375,
            (35, 18): -0.0046875,
            (35, 19): -0.075,
            (35, 20): -0.15,
            (35, 33): 0.0375,
            (35, 34): 0.01875,
            (36, 0): 0.0005375,
            (36, 1): 0.001075,
            (36, 2): 0.00215,
            (36, 3): -4.5e-05,
            (36, 4): -9e-05,
            (36, 5): -0.00018,
            (36, 6): 0.00044625000000000003,
            (36, 7): 0.0008925000000000001,
            (36, 8): 0.0017850000000000001,
            (36, 15): -0.01875,
            (36, 16): -0.009375,
            (36, 17): -0.0046875,
            (36, 18): -0.00234375,
            (36, 19): -0.0375,
            (36, 20): -0.075,
            (36, 33): 0.01875,
            (36, 34): 0.009375,
            (36, 35): 0.0046875,
            (37, 0): 0.0086,
            (37, 1): 0.0172,
            (37, 2): 0.0344,
            (37, 3): -0.00072,
            (37, 4): -0.00144,
            (37, 5): -0.00288,
            (37, 6): 0.0071400000000000005,
            (37, 7): 0.014280000000000001,
            (37, 8): 0.028560000000000002,
            (37, 15): -0.3,
            (37, 16): -0.15,
            (37, 17): -0.075,
            (37, 18): -0.0375,
            (37, 19): -0.6,
            (37, 20): -1.2,
            (37, 33): 0.3,
            (37, 34): 0.15,
            (37, 35): 0.075,
            (37, 36): 0.0375,
            (38, 0): 0.0172,
            (38, 1): 0.0344,
            (38, 2): 0.0688,
            (38, 3): -0.00144,
            (38, 4): -0.00288,
            (38, 5): -0.00576,
            (38, 6): 0.014280000000000001,
            (38, 7): 0.028560000000000002,
            (38, 8): 0.057120000000000004,
            (38, 15): -0.6,
            (38, 16): -0.3,
            (38, 17): -0.15,
            (38, 18): -0.075,
            (38, 19): -1.2,
            (38, 20): -2.4,
            (38, 33): 0.6,
            (38, 34): 0.3,
            (38, 35): 0.15,
            (38, 36): 0.075,
            (38, 37): 1.2,
            (39, 0): 0.00418,
            (39, 1): 0.00836,
            (39, 2): 0.01672,
            (39, 3): -2.9999999999999947e-05,
            (39, 4): -5.999999999999989e-05,
            (39, 5): -0.00011999999999999979,
            (39, 6): 0.00636,
            (39, 7): 0.01272,
            (39, 8): 0.02544,
            (39, 21): -0.15,
            (39, 22): -0.075,
            (39, 23): -0.0375,
            (39, 24): -0.01875,
            (39, 25): -0.3,
            (39, 26): -0.6,
            (40, 0): 0.00209,
            (40, 1): 0.00418,
            (40, 2): 0.00836,
            (40, 3): -1.4999999999999973e-05,
            (40, 4): -2.9999999999999947e-05,
            (40, 5): -5.999999999999989e-05,
            (40, 6): 0.00318,
            (40, 7): 0.00636,
            (40, 8): 0.01272,
            (40, 21): -0.075,
            (40, 22): -0.0375,
            (40, 23): -0.01875,
            (40, 24): -0.009375,
            (40, 25): -0.15,
            (40, 26): -0.3,
            (40, 39): 0.075,
            (41, 0): 0.001045,
            (41, 1): 0.00209,
            (41, 2): 0.00418,
            (41, 3): -7.499999999999987e-06,
            (41, 4): -1.4999999999999973e-05,
            (41, 5): -2.9999999999999947e-05,
            (41, 6): 0.00159,
            (41, 7): 0.00318,
            (41, 8): 0.00636,
            (41, 21): -0.0375,
            (41, 22): -0.01875,
            (41, 23): -0.009375,
            (41, 24): -0.0046875,
            (41, 25): -0.075,
            (41, 26): -0.15,
            (41, 39): 0.0375,
            (41, 40): 0.01875,
            (42, 0): 0.0005225,
            (42, 1): 0.001045,
            (42, 2): 0.00209,
            (42, 3): -3.7499999999999933e-06,
            (42, 4): -7.499999999999987e-06,
            (42, 5): -1.4999999999999973e-05,
            (42, 6): 0.000795,
            (42, 7): 0.00159,
            (42, 8): 0.00318,
            (42, 21): -0.01875,
            (42, 22): -0.009375,
            (42, 23): -0.0046875,
            (42, 24): -0.00234375,
            (42, 25): -0.0375,
            (42, 26): -0.075,
            (42, 39): 0.01875,
            (42, 40): 0.009375,
            (42, 41): 0.0046875,
            (43, 0): 0.00836,
            (43, 1): 0.01672,
            (43, 2): 0.03344,
            (43, 3): -5.999999999999989e-05,
            (43, 4): -0.00011999999999999979,
            (43, 5): -0.00023999999999999957,
            (43, 6): 0.01272,
            (43, 7): 0.02544,
            (43, 8): 0.05088,
            (43, 21): -0.3,
            (43, 22): -0.15,
            (43, 23): -0.075,
            (43, 24): -0.0375,
            (43, 25): -0.6,
            (43, 26): -1.2,
            (43, 39): 0.3,
            (43, 40): 0.15,
            (43, 41): 0.075,
            (43, 42): 0.0375,
            (44, 0): 0.01672,
            (44, 1): 0.03344,
            (44, 2): 0.06688,
            (44, 3): -0.00011999999999999979,
            (44, 4): -0.00023999999999999957,
            (44, 5): -0.00047999999999999914,
            (44, 6): 0.02544,
            (44, 7): 0.05088,
            (44, 8): 0.10176,
            (44, 21): -0.6,
            (44, 22): -0.3,
            (44, 23): -0.15,
            (44, 24): -0.075,
            (44, 25): -1.2,
            (44, 26): -2.4,
            (44, 39): 0.6,
            (44, 40): 0.3,
            (44, 41): 0.15,
            (44, 42): 0.075,
            (44, 43): 1.2,
            (45, 0): 0.015,
            (45, 1): 0.03,
            (45, 2): 0.06,
            (45, 3): 0.015,
            (45, 4): 0.03,
            (45, 5): 0.06,
            (45, 6): 0.015,
            (45, 7): 0.03,
            (45, 8): 0.06,
            (46, 0): 0.0075,
            (46, 1): 0.015,
            (46, 2): 0.03,
            (46, 3): 0.0075,
            (46, 4): 0.015,
            (46, 5): 0.03,
            (46, 6): 0.0075,
            (46, 7): 0.015,
            (46, 8): 0.03,
            (46, 45): 0.075,
            (47, 0): 0.00375,
            (47, 1): 0.0075,
            (47, 2): 0.015,
            (47, 3): 0.00375,
            (47, 4): 0.0075,
            (47, 5): 0.015,
            (47, 6): 0.00375,
            (47, 7): 0.0075,
            (47, 8): 0.015,
            (47, 45): 0.0375,
            (47, 46): 0.01875,
            (48, 0): 0.001875,
            (48, 1): 0.00375,
            (48, 2): 0.0075,
            (48, 3): 0.001875,
            (48, 4): 0.00375,
            (48, 5): 0.0075,
            (48, 6): 0.001875,
            (48, 7): 0.00375,
            (48, 8): 0.0075,
            (48, 45): 0.01875,
            (48, 46): 0.009375,
            (48, 47): 0.0046875,
            (49, 0): 0.03,
            (49, 1): 0.06,
            (49, 2): 0.12,
            (49, 3): 0.03,
            (49, 4): 0.06,
            (49, 5): 0.12,
            (49, 6): 0.03,
            (49, 7): 0.06,
            (49, 8): 0.12,
            (49, 45): 0.3,
            (49, 46): 0.15,
            (49, 47): 0.075,
            (49, 48): 0.0375,
            (50, 0): 0.06,
            (50, 1): 0.12,
            (50, 2): 0.24,
            (50, 3): 0.06,
            (50, 4): 0.12,
            (50, 5): 0.24,
            (50, 6): 0.06,
            (50, 7): 0.12,
            (50, 8): 0.24,
            (50, 45): 0.6,
            (50, 46): 0.3,
            (50, 47): 0.15,
            (50, 48): 0.075,
            (50, 49): 1.2,
            (51, 0): 0.12,
            (51, 1): 0.24,
            (51, 2): 0.48,
            (51, 3): 0.12,
            (51, 4): 0.24,
            (51, 5): 0.48,
            (51, 6): 0.12,
            (51, 7): 0.24,
            (51, 8): 0.48,
            (51, 45): 1.2,
            (51, 46): 0.6,
            (51, 47): 0.3,
            (51, 48): 0.15,
            (51, 49): 2.4,
            (51, 50): 4.8,
            (52, 0): -0.015,
            (52, 1): -0.03,
            (52, 2): -0.06,
            (52, 3): -0.015,
            (52, 4): -0.03,
            (52, 5): -0.06,
            (52, 6): -0.015,
            (52, 7): -0.03,
            (52, 8): -0.06,
            (53, 0): -0.0075,
            (53, 1): -0.015,
            (53, 2): -0.03,
            (53, 3): -0.0075,
            (53, 4): -0.015,
            (53, 5): -0.03,
            (53, 6): -0.0075,
            (53, 7): -0.015,
            (53, 8): -0.03,
            (53, 52): 0.075,
            (54, 0): -0.00375,
            (54, 1): -0.0075,
            (54, 2): -0.015,
            (54, 3): -0.00375,
            (54, 4): -0.0075,
            (54, 5): -0.015,
            (54, 6): -0.00375,
            (54, 7): -0.0075,
            (54, 8): -0.015,
            (54, 52): 0.0375,
            (54, 53): 0.01875,
            (55, 0): -0.001875,
            (55, 1): -0.00375,
            (55, 2): -0.0075,
            (55, 3): -0.001875,
            (55, 4): -0.00375,
            (55, 5): -0.0075,
            (55, 6): -0.001875,
            (55, 7): -0.00375,
            (55, 8): -0.0075,
            (55, 52): 0.01875,
            (55, 53): 0.009375,
            (55, 54): 0.0046875,
            (56, 0): -0.03,
            (56, 1): -0.06,
            (56, 2): -0.12,
            (56, 3): -0.03,
            (56, 4): -0.06,
            (56, 5): -0.12,
            (56, 6): -0.03,
            (56, 7): -0.06,
            (56, 8): -0.12,
            (56, 52): 0.3,
            (56, 53): 0.15,
            (56, 54): 0.075,
            (56, 55): 0.0375,
            (57, 0): -0.06,
            (57, 1): -0.12,
            (57, 2): -0.24,
            (57, 3): -0.06,
            (57, 4): -0.12,
            (57, 5): -0.24,
            (57, 6): -0.06,
            (57, 7): -0.12,
            (57, 8): -0.24,
            (57, 52): 0.6,
            (57, 53): 0.3,
            (57, 54): 0.15,
            (57, 55): 0.075,
            (57, 56): 1.2,
        },
        11.1,
        "BINARY",
    )

    from neal import SimulatedAnnealingSampler
    from dwave.system import DWaveSampler
    from dwave.system import EmbeddingComposite

    sampleset_sa = SimulatedAnnealingSampler().sample(bqm, num_reads=1000)
    optimal_energy = sampleset_sa.first.energy
    print(f"Optimal energy from simulated annealing: {optimal_energy}")
    max_chain_strength = max(
        (
            max(bqm.linear.values()),
            max(bqm.quadratic.values())
        )
    )
    sampler = DWaveSampler(solver={"topology__type": "pegasus"})
    composite = EmbeddingComposite(sampler)
    sampleset = composite.sample(
        bqm, num_reads=1000, chain_strength=max_chain_strength * 1.2
    )
    print(f"DWave min energy: {sampleset.first.energy}")
    0
    Comment actions Permalink
  • Hi Mark,

    Thank you for sharing your script. In order to give advice on how to optimize for a better solution, we need more information than the final BQM (with the biases).

    It would be helpful to also have the problem formulation, the data being used for the input model, as well as the constraints being used.

     

    0
    Comment actions Permalink
  • Hi Mohammad,

    Unfortunately, our model is very complicated and we can't disclose the details it before publication.

    When using pegasus or zephyr the chain length is consistently below 4, and we can't identify any other source of error. From the dwave documentation is appears that writing your problem as a QUBO and keeping chains short are the main requirements for successful use of the quantum annealing. Moreover, we're not using more than 20% of the whole chip, so the problem size shouldn't be a problem either.

    It appears that quantum annealing is not as generically applicable for optimization as it is advertised. If we're missing something, could you please suggest steps on how we could please debug the annealing process.

    Thank you

    0
    Comment actions Permalink
  • Hi Mohammad,

    Thanks again for looking into the issue. You're right, choosing a smaller chain strength significantly improves the results! However, the dwave docs suggest using at least a chain strength equal to the maximum bias from the original problem, which in our case produces a way to strong chain strength. I presume the embedding makes our problem somewhat hard to solve using annealing ...

    Thanks again, I think now we know how to proceed.

    0
    Comment actions Permalink
  • Hello Mark,

    What is the current status of your effort to obtain optimal solutions on the Pegasus array of qubits?

    Thanks

    0
    Comment actions Permalink
  • Hi Richard,

    no, we still can't get optimal solutions reliably. We think that the issue has to do with the embedding, which requires a strong coupling strength. To be able to reliably get optimal solutions we have to find a better embedding heuristic, which is probably what we'll work on next.

    Thanks for your help.

    Mark

    0
    Comment actions Permalink

Please sign in to leave a comment.

Didn't find what you were looking for?

New post