Efficient algorithms to optimise needs and wants simultaneously

Loading Solver...

Needs are must-haves, but often they are not enough. Wants are nice-to-haves such that one can compare which wants are nicer than others, and they make life nice. The world does not always let us have all we need and want: they constrain each other, we must negotiate what we can, and there is not always a happy ending.

In this demo, we try to solve sudoku (these are hard constraints, or needs). Each digit is assigned two random colour-values, and each digit chooses to wear one of its colours so that the whole grid resembles an MNIST image (these are soft constraints, or wants). Move the slider to play the negotiation game.

We are investigating metamodels for co-optimising needs and wants: systems that allow us to translate formal specifications with hard and soft constraints into learnable objectives amenable to scale. Such techniques are promising for a range of problems, including:

Error-correcting code design, where parity constraints (needs) must hold while optimising for decoding performance and hardware efficiency (wants): the backbone of 5G, satellite communication, and quantum error correction.

Constrained generation from language models, where outputs must satisfy schemas, safety predicates, or citation grounding (needs) while maximising fluency and coherence (wants): turning LLMs from suggestion engines into reliable system components.

Molecular and materials design, where chemical validity and synthesizability rules (needs) must hold while optimising for binding affinity, stability, or therapeutic index (wants): collapsing months of generate-filter-iterate into unified search.

Chip layout and circuit synthesis, where connectivity and timing constraints (needs) coexist with power, thermal, and area minimisation (wants): a space where design cycles still take years.