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 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.
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.
Read
A translator agent (LLM + RAG) extracts the resource, time window and disruption type, with a confidence score θ.
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.
Decide
The SmartScheduler picks a proportionate response from the confidence, the schedule's slack and bottleneck status.
Optimize
The constraint is injected into your existing exact or meta-heuristic solvers. The LLM never solves anything itself.
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.
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.
Measured, not promised.
Every figure below comes from the GenOR-Twin research paper, with its exact scope.
alignment with expert annotations on 300 historical logs (299 of 300), versus 97.2% for an LLM alone
of hallucinations caught by the validator on highly ambiguous logs, where the raw match rate drops to 76.5%
decision latency per disruption, versus manual re-keying (the paper's cost model)
better objective than a rule-based pipeline on Taillard, Solomon and PSPLIB benchmarks (n = 100, p < 0.01)
correct policy choices by planners working with GenOR-Twin, versus 79.5% working alone (p < 0.0001)
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
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.
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.
Certified decisions when several models, analysts or AI agents disagree.
Not a chatbot. Not another rule.
| Manual re-keying | Rules / regex | LLM alone | GenOR-Twin | |
|---|---|---|---|---|
| Understands free text | Fails on 82% of phrasings | |||
| Rejects invented machines | — | |||
| Chooses repair vs re-optimize | By gut feel | |||
| Escalates when unsure | — | |||
| Latency per event | ~15 min | Seconds | Seconds | ~2 min incl. review |
Turning “off sick tonight” into an updated nurse roster
Hospital nurse rostering
ReadRe-planning routes from what drivers actually report
Delivery and freight fleets
ReadCutting the disruption-to-decision gap from 15 minutes to 2
Cross-domain disruption response
ReadLet the LLM Translate, Not Solve: How Shift Notes Become Safe Scheduling Constraints
Most schedule disruptions arrive as a sentence, not a data field. Large language models can read that sentence. They should not be trusted to plan around it — and they don't need to be.
ReadGenerative AI in Supply Chain Management: From Scenario Planning to Synthetic Foresight
Generative AI is reshaping how planners reason about uncertainty — moving from static scenarios to synthetic, multi-modal foresight that adapts in real time.
ReadReplay 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.