Search

Search across services, blog posts, and R&D projects.

Neuro-symbolic middleware for operations research

GenOR-Twin

“The motor sounds weird.” → solver constraint.

Your schedules are optimal right up until someone writes a shift note. GenOR-Twin reads those notes, turns them into mathematical constraints, checks every one against a Knowledge Graph, then chooses between a local repair, a full re-optimization, or a human review.

The LLM translates. The solver decides.
Shift log · 06:42
“Hydraulic leak on press 3, maintenance says about 40 min.”
Extracted constraint
unavailable(M3, [100, 140]) · θ = 0.93
M3 exists in the Knowledge Graph
t_start ≥ now
Duration physically plausible
DecisionLocal right-shift repair
unavailable(M7, …) — rejected: there is no M7 on this site. A hallucination that never reaches the solver.
Illustrative · based on the paper's case study
The problem

The translation gap

Operations research has mastered the equations for decades. What it lacks is context: what operators, technicians and shift leads know arrives as logs, emails and handover notes — a format no solver can consume. In between sits a human, a delay, and transcription errors.

Solvers don't read English.

An Ax ≤ b model can't do anything with “should be fixed soon”. Real disruptions arrive as free text.

So someone re-keys it by hand.

A planner reads the note, interprets it, and updates the model. Around 15 minutes per event, while the line waits.

A raw LLM just guesses.

It invents machines, timestamps in the past, impossible durations — and the solver optimizes around them without complaint.

How it works

The LLM translates. The solver decides.

GenOR-Twin sits between what your teams write and the models you already run. Natural language only reaches the solver after it has been checked.

01

Read

A translator agent (LLM + RAG) extracts the resource, time window and disruption type, with a confidence score θ.

02

Validate

A symbolic validator checks three layers: the resource exists in the graph, the time isn't in the past, the duration is physically possible.

03

Decide

The SmartScheduler picks a proportionate response from the confidence, the schedule's slack and bottleneck status.

04

Optimize

The constraint is injected into your existing exact or meta-heuristic solvers. The LLM never solves anything itself.

SmartScheduler

A proportionate response to every disruption

Not every disruption justifies recomputing everything, and not every interpretation deserves to be acted on automatically. The decision rule compares the disruption's duration to the schedule's average slack, checks whether the machine is a bottleneck, and requires 0.85 confidence before acting on its own.

Local repairShort disruption, off-bottleneck, θ > 0.85
Sub-millisecond right-shift of the affected operations.
Full re-optimizationLong disruption or on a bottleneck, θ > 0.85
The solver recomputes the whole schedule.
Human reviewConfidence θ ≤ 0.85
A person checks one interpretation — never the whole schedule.
In action

One shift note, one repaired schedule

An alert reports a hydraulic leak on M3. GenOR-Twin injects a [100, 140] unavailability. A static system would ignore it — and run J4 straight through the outage, a 40-unit collision. The SmartScheduler shifts J4 and the operations that depend on it, with minimal makespan expansion.

JSSP 5×5Collision on M3
050100150200250M1M2M3M4M5J1J3J5J2J2J1J4J3J3J5J4J1J4J2J5J5J3J4
Unavailability window injected from the log
Proof

Measured, not promised.

Every figure below comes from the GenOR-Twin research paper, with its exact scope.

99.7%

alignment with expert annotations on 300 historical logs (299 of 300), versus 97.2% for an LLM alone

88.2%

of hallucinations caught by the validator on highly ambiguous logs, where the raw match rate drops to 76.5%

15 → 2 min

decision latency per disruption, versus manual re-keying (the paper's cost model)

+3.7–4.9%

better objective than a rule-based pipeline on Taillard, Solomon and PSPLIB benchmarks (n = 100, p < 0.01)

98.0%

correct policy choices by planners working with GenOR-Twin, versus 79.5% working alone (p < 0.0001)

~2 ms

semantic inference, flat from 25 to 50,000 operations — the AI layer is never the bottleneck

Evaluated on 300 annotated logs, 50 per domain, two independent expert annotators (Cohen’s κ = 0.91).

Validated across six NP-hard problem classes: job shop, vehicle routing, project scheduling, nurse rostering, bin packing and network flow.

Replayed offline on historical logs from a Tier-1 automotive manufacturer.

“Numerical gains over the baselines are modest; the primary value is enabling optimization under information conditions that previously required expert intervention.”— GenOR-Twin paper
Who it’s for

Anywhere disruptions arrive as text

High-velocity manufacturing

Automotive, semiconductors: where every minute of downtime is expensive and breakdowns arrive over the radio or in the shift book.

Fleets and routing

“Accident on the A1” becomes an edge-weight update, not a call to the dispatcher.

Hospital rostering

An absence reported by message becomes a staffing constraint, with a human check when the reading is uncertain.

Process plants and networks

“Pressure spike on line 2” becomes a flow-capacity reduction in the model.

Where it doesn’t pay

The paper’s cost model is negative below ~100 disruptions a year, or when downtime is cheap (≈ $20/min). At 500 events a year and $60/min it is about $375k net per year. We check it against your numbers before we start.

Also from Predictim
Sources that disagree? See ARGUS Council.

Certified decisions when several models, analysts or AI agents disagree.

Explore ARGUS
Why GenOR-Twin

Not a chatbot. Not another rule.

Manual re-keyingRules / regexLLM aloneGenOR-Twin
Understands free textFails on 82% of phrasings
Rejects invented machines—
Chooses repair vs re-optimizeBy gut feel
Escalates when unsure—
Latency per event~15 minSecondsSeconds~2 min incl. review
Pilot program

Replay your own logs

We run your past disruptions through GenOR-Twin and show you, log by log, what would have been extracted, rejected, repaired or escalated — and what it would have cost.

Timeline
≈ 4 weeks
You provide
Exported shift or maintenance logs, and the schedules they disrupted
We provide
An offline replay: extracted constraints, validator report, before/after schedules and a cost analysis
Integration
None for the pilot — it all runs offline
Predictim GenOR-Twin · The LLM translates. The solver decides.Research: Sharkey Predictim Globe R&D, with academic partners.