Timeout error

I am attempting to use a hybrid solver to solve an optimization problem with over 10,000 variables. I am doing this on my local machine. I am aware that the generic leap hybrid solver does not allow for this so I tried using a customizable workflow hybrid solver with racing tabu sampler and qpu sampler. I was also able to break this problem down into chunks so I believed that this custom hybrid solver could handle it. Instead It took excessively long to run (i suspect that this was because of the length of time which was taken to translate my Hamiltonian) and finally it ended with a connection or timeout error. I took care to ensure that my computer did not sleep on execution but this still happened. Each time after the error would occur I would make sure that I had not hit my usage limits. As of this writing despite this happening on multiple occasions i have only used 13% of my allocated qpu time. While the translation takes time I am not inclined to believe that the translation to a Hamiltonian is a problem as each time i execute, the amount of allocated QPU time decreases suggesting that it does successfully send the Hamiltonian for computation to the hybrid solver. In addition I don't believe that the problem that I have given my hybrid sampler is too difficult as I have executed this optimization problem multiple times before using classic optimization. In those instances it has only taken a few minutes at most for the optimization to complete.

0

Comments

3 comments
  • It sounds like there are a couple issues going on here

    1. The long run time
    2. The timeout or connection error

    Regarding the long run time, dwave-hybrid has not been optimized to handle large problems like yours yet. This could explain the slow processing time, however it should not cause issues with your connection or the completion of your problem. Can you share more details about your hybrid workflow? How are you translating your problem to a Hamiltonian and how are you decomposing it? It would also be helpful if you can post your code and the version of Ocean you're using. 

    For the connection issue, how stable is your internet? Even if your computer doesn't go to sleep if you have any network issues they could cause an error like you're describing. Can you post the error message? 

    It may also be worth checking your Leap Dashboard to see when the latest hybrid problem submission was. There will be a separate problem ID for each subproblem your hybrid framework submits to the QPU. That may give you a clue as to when the connection timed out.

    0
    Comment actions Permalink
  • I can confirm that my computer is not going to sleep. I can also confirm that my computer never lost internet connection between when I first executed it and when it gave me that error.

    as for my code:

    workflow = hybrid.Loop(
    hybrid.Race(
    hybrid.InterruptableTabuSampler(),
    hybrid.EnergyImpactDecomposer(size=10, rolling=True, traversal='bfs')
    | hybrid.QPUSubproblemAutoEmbeddingSampler()
    | hybrid.SplatComposer()) | hybrid.ArgMin(), convergence=3)
    a96bf848-a60d-4c76-93ca-eeb3b82e2d98
    Thu, Jul 9, 2020 7:42 AM
    07:42:54 AM
    Completed
    cebe77a1-e0f4-46a5-af19-56ec197828da
    Thu, Jul 9, 2020 7:33 AM
    07:33:10 AM
    Completed
    2a20f229-1956-453c-96ed-daac41dfce9a
    Thu, Jul 9, 2020 7:23 AM
    07:23:35 AM
    Completed
    880adddf-2392-4688-9804-af78e09c02be
    Thu, Jul 9, 2020 7:17 AM
    07:17:54 AM
    Completed
    02546a6b-0dfd-4545-bb04-d763838716dd
    Thu, Jul 9, 2020 7:12 AM
    07:12:24 AM
    Completed
    0
    Comment actions Permalink
  • sorry for the delay. Here is my code:

    for u in g.nodes:#range(20639):#
    #if np.where(lossa != r):#20639
    if u == 0:
    #print("a")
    u=1
    if u != 20640:
    #Q.append(lossa[u])
    v = u-1
    #print(lossa[0,u])
    #print("u")
    #print(u)
    #print(lossa[u])
    #print("v")
    #print(v)
    #print(lossa[v])

    Q[(0,u)] += lossa[0,u]
    #print(u)
    Q[(v,u)] += 10000
    else:
    break
    print(Q)

     

    workflow = hybrid.Loop(
    hybrid.Race(
    hybrid.InterruptableTabuSampler(),
    hybrid.EnergyImpactDecomposer(size=1000, rolling=True, traversal='bfs')
    | hybrid.QPUSubproblemAutoEmbeddingSampler()
    | hybrid.SplatComposer()) | hybrid.ArgMin(), convergence=3)

    result = hybrid.HybridSampler(workflow).sample_qubo(Q,chain_strength=chain_strength,num_reads=5)
    0
    Comment actions Permalink

Please sign in to leave a comment.

Didn't find what you were looking for?

New post