Quantum Solar Optimization
Three results from running QAOA, a method for doing optimization on quantum computers, on a problem with rules it must not break. One appears to be new, while two are rediscoveries of published ideas that I kept because what they cost to ignore had not been measured. I registered every study before it ran, a test pins every number to its data file, and the prior art is named. Nothing here claims a quantum advantage. An ordinary program solves every one of these instances exactly, in microseconds. The project page has that side of it, and tells the story from the start.
The setting
The problem is when to charge and discharge a home battery, hour by hour, so the year's electricity bill is as small as possible. The battery has physical rules, such as a level that can never leave its range. A plan that obeys every rule is feasible, while a plan that breaks one exists only on paper.
A quantum optimizer cannot be handed rules. It can only be handed a score to make small, so each rule becomes a penalty. Break the rule and the score goes up, by an amount that is the penalty weight. The circuit itself has dials, and tuning means starting them at random and adjusting until the score stops improving. I tune from forty random starts, which leaves forty candidates, and I keep one. Everything on this page is judged against one bar, which is that the kept circuit should return the best plan at least five times as often as guessing would.
Three separate things had to go right. I had to encode the rules so that a perfect score means a plan the battery can run, size the penalty weight to the prices, and keep the candidate I actually want. Each of the three fails silently in the number I was naturally watching.
Apparently new
A constrained problem goes to a quantum optimizer as a QUBO, a cost function over yes/no variables. The usual encoding spends extra qubits, called slack variables, tracking the battery's level at every hour. Mine drops them and checks the level every k hours instead, which bounds how far the level can drift between checks. That gives a property I can prove, soundness, which says that whenever the spacing passes a condition the code computes, every assignment that scores zero penalty is a schedule the battery can physically run. An assignment is any way of setting the yes/no variables, so this is a promise about all of them. On the real instance the encoding takes 117 qubits to 52 and loses none of the answer's value.
The qubit count is not the claim, and neither is removing slack variables. That is a crowded field: unbalanced penalization, exponential and Heaviside penalties, Lagrangian and augmented-Lagrangian methods, and, in this exact application area, a Powell–Hestenes–Rockafellar formulation. The nearest published work, a 2022 unit-commitment circuit by Halffmann and colleagues, removes slack variables for the same reason I do and reached the qubit saving first. What remains mine, the guarantee, is narrower. Their protection is about the winner, in that an infeasible plan must not score best, which rests on a penalty weight being set large enough. Mine is about the whole zero-penalty set, in that every plan that scores a perfect zero is one the battery can run, proved at any weight, for a battery level that accumulates across the whole day. A 2026 survey of quantum methods for unit commitment, the power industry's version of this scheduling problem, records no encoding with that property.
That claim rests on my not finding something, which is weaker evidence than finding it. It has already been narrowed once, because the two nearest constructions above came from the survey's reference list, read after my first search, and when I read them the slack removal and the qubit saving came off the list of what I call new.
I also measured what the guarantee is worth. Below the sound range the QUBO's own best-scoring state is not a schedule, which the usual success number cannot tell. At one weak setting, 32 of 40 tunings clear the five-times-guessing bar, although every one of them is probability piled on a state that is not an answer. Three tests hold the claim up. The first enumerates every zero-penalty assignment on three instances and finds all of them feasible. The second checks the best-scoring assignment at sizes past brute force. And the third confirms the encoding refuses to build at an unsound spacing, rather than silently biasing.
Not established
Known idea, measured cost
The penalty weight decides how hard the QUBO punishes a broken rule. The standard rule of thumb sets it around 10x the scale of the objective, the bill being minimized. I derived it instead, from the objective's range across feasible plans divided by the penalty scale, which gives alpha* = 0.0209 on the worked instance and makes the rule of thumb a 48x overshoot. Setting penalties from the objective's range is established practice, so this is a rediscovery, and the overshoot is a critique of common practice rather than of a local mistake.
What I could not find in the sources I scanned is what overshoot costs in repeatability. At one circuit layer, tuning comes to rest in a single place, a basin, at alpha* and every weight below it, while at the default weight it comes to rest in 19. The usable window is narrow, with alpha* at its edge. Before that sweep I registered a prediction of a valley, most repeatable at alpha* and worse on both sides. I was wrong. The valley has no left side, because below the sound range the tuning comes to rest just as reliably, on a state that is not a schedule.
Known metric, measured head-to-head
Tuning from many random starts leaves a pile of candidates, of which the standard rule keeps the one with the lowest energy estimate, the circuit's own score. Keeping the one that puts the most probability on feasible schedules picks a better circuit. The share of feasible samples has a published name, in-constraint probability. A cell is one version of the problem at one penalty weight. In every sound, repeatable cell I tested, the feasible-share rule picked the single best tuning available: 9 of 9 on instances held out of the rule's discovery, 12 of 12 on three fresh instances, 4 of 4 sizes from 8 to 14 qubits. On the two hard instances, where the best tuning barely clears the bar, the energy rule misses in every cell and this rule clears in every cell. The literature already uses in-constraint probability as a constraint inside the optimizer. The head-to-head among finished tunings is the only part a day's search did not find, although it is a small step from what is published.
The limits. Only two of six instances are hard enough to separate the rules. The median margin is 5.0%, which matters only when the best tuning sits at the bar. The largest size I tested can still be checked exactly, so the size result shows what a limited sample does, not what an impossibly large problem does. And where samples are cheap there is a better rule still, selecting on how often the best plan itself shows up. That one stops working at 14 qubits, where the best plan appears at all in only 7 of 20 tunings at 4,096 samples.
Method
I registered every study before it ran. Because the plan is committed first and the sweep script refuses to run against an edited plan, the ordering is checkable in the git history rather than asserted. Of the 26 predictions I registered, 8 were falsified, and the write-ups say falsified. PREDICTIONS.md scores each one against the write-up that resolved it. Every number in every write-up is pinned by a test to the data file it came from, including the limiting sentences. The suite is over 650 tests.
The scope is narrow. One problem family, three to seven time slots, 6 to 14 qubits, one encoding, one and two circuit layers, all on the simulator and exact computation. The 146 seconds of IBM hardware time behind this page stand behind one separate result, which is that the smaller encoding survives device noise better. Two later hardware runs measured circuit depth, not these claims.
FINDINGS.md is the authority for what is claimed and how strongly, with the prior-art scan's limits recorded. The write-ups: the encoding study, the penalty-weight study, and the selection rule's discovery, replication and scaling test. If you know of a slack-free encoding with a proved feasibility guarantee for a sequential running-sum constraint, the repository's issue tracker is the place to say so, and the novelty claim comes down.
Each release of the repository is archived on Zenodo. DOI 10.5281/zenodo.22105805 resolves to the newest version, so citations survive the repository moving on.
Disclosure
Keep reading
Each of these is a self-contained page.