Solutions from the Solver do not contain values for all the bits

Hi All,

My simple codes are below:

response=QBSolv().sample_qubo(QUBO_dict)
timeinst2=time.time()
A=list(response.samples())
sol1=A[0]

I check the sol1 -the solution using print command....It did display element sequence number up to the size of the QUBO..somehow, it missed quite a lot of positions...for example,{0: 1, 2: 0, 7: 0, 8: 0, 9: 1, 10: 0, 11: 0, 13: 1, 14: 0}, it has no value assignment for bit 3-6 in this case and also bit 12....

Could anyone give a hit to what is going on?  Thanks

Comments

5 comments
• Hi Jie,

Can you please provide the dictionary QUBO_dict that you used for the above problem?

• https://www.dropbox.com/s/ktijat4zwchc9iv/dict.txt?dl=0

Let's see whether I can share the QUBO_dict using Dropbox..I saved in .txt file... Let me know if you can download it or not.

• Hi Jie,

Thank you for sharing the QUBO_dict, I was able to download it successfully.

Can you please list a few variables that are missing from the solution when you solve this specific QUBO using QBSolv()?
What were you expecting instead?

• Hi Tanvi,

As my program randomly generated topology to form the QUBO...Here is the current QUBO_dict that came out of the program.

https://www.dropbox.com/s/qne78ter2qu09n2/dict.txt?dl=0

Its solution is below: It in total missed 100 bits...as if turned into array (a=list(sol1.values()) and
SOL1=numpy.array(a)), the array shape is 200 while the QUBO length is 320... By direct inspection, you can tell that bit 49, bit 68, bit 69 , bit 70 ,etc are missing.

{0: 0, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 0, 7: 1, 8: 0, 9: 1, 10: 0, 11: 1, 12: 0, 14: 1, 15: 1, 16: 1, 17: 0, 18: 0, 19: 0, 20: 1, 21: 1, 22: 0, 23: 1, 24: 1, 25: 1, 26: 0, 27: 1, 28: 1, 30: 0, 31: 0, 32: 1, 33: 0, 34: 0, 35: 1, 36: 0, 37: 0, 38: 1, 39: 1, 40: 0, 41: 1, 42: 0, 43: 1, 44: 1, 46: 0, 47: 1, 48: 1, 50: 1, 51: 1, 53: 1, 54: 0, 55: 1, 56: 1, 57: 0, 58: 0, 59: 0, 60: 1, 62: 0, 63: 1, 64: 0, 66: 0, 67: 1, 71: 1, 72: 0, 73: 0, 74: 1, 75: 1, 76: 0, 78: 1, 79: 1, 80: 0, 82: 1, 83: 1, 87: 0, 88: 1, 89: 0, 90: 1, 91: 1, 92: 1, 94: 1, 95: 0, 96: 0, 98: 1, 103: 1, 104: 0, 105: 0, 106: 0, 107: 1, 108: 1, 110: 1, 111: 0, 112: 0, 114: 1, 119: 1, 120: 0, 121: 0, 122: 1, 123: 1, 124: 1, 126: 0, 127: 0, 128: 0, 130: 1, 135: 0, 136: 1, 137: 0, 138: 1, 139: 1, 140: 0, 142: 0, 143: 0, 144: 0, 146: 0, 151: 0, 152: 0, 153: 1, 154: 1, 155: 0, 156: 1, 158: 1, 159: 0, 160: 0, 162: 1, 167: 1, 168: 1, 169: 1, 170: 0, 171: 1, 172: 1, 174: 0, 175: 0, 176: 0, 178: 1, 183: 1, 184: 0, 185: 0, 186: 1, 187: 1, 188: 1, 190: 0, 191: 0, 192: 0, 194: 1, 199: 1, 200: 0, 201: 1, 202: 0, 203: 1, 204: 0, 206: 0, 207: 0, 208: 0, 210: 1, 215: 1, 216: 0, 217: 0, 218: 1, 219: 1, 220: 1, 222: 0, 223: 0, 224: 1, 226: 1, 231: 1, 232: 0, 233: 0, 234: 0, 235: 1, 236: 1, 238: 0, 239: 0, 240: 0, 242: 1, 247: 1, 248: 1, 249: 1, 250: 1, 251: 1, 252: 1, 254: 0, 255: 0, 256: 0, 258: 1, 263: 1, 264: 0, 265: 0, 266: 1, 267: 1, 268: 1, 270: 0, 271: 0, 272: 0, 274: 1, 279: 0, 280: 0, 281: 0, 282: 1, 283: 1, 284: 0, 286: 0, 287: 0, 288: 0, 290: 1, 295: 0, 296: 0, 297: 1, 298: 1, 299: 1, 300: 1, 302: 0, 303: 0, 304: 0, 306: 0, 311: 1, 312: 1, 313: 1, 314: 0, 315: 0, 316: 0, 318: 1, 319: 1}

• Hi Jie,

Thank you for providing the details.

The randomly generated QUBO_dict does not contain all the variables between the range 0-319. There are biases (linear or quadratic) for only 220 variables in the input QUBO problem. So, the input Q matrix is 220 x 220 in size and these are the 220 variables you notice in the output from QBSolv().

For example, the variables (49, 68, 69, 70) are not present in the input QUBO_dict.

I also want to mention that randomly generated variables from range (0,319) are x_i(binary variables) in the following problem formulation.

Here, f(x) is the objective function to be minimized. Please refer this link for more information: https://support.dwavesys.com/hc/en-us/articles/360003684474-What-is-a-QUBO-

Please let us know if you have any questions.

Please sign in to leave a comment.