New The paper is on arXiv · 2610.24087

OR-License: Evaluating LLM Agents as Real-World Operations Research Practitioners

Can an AI agent take on a real client’s optimization project and deliver a working solution, without an expert first turning it into a math problem?

The OR-License mascots surrounded by operations research artifacts: a client brief, a production timetable, a network flow, bike rebalancing, inventory levels, a branch-and-bound tree, a linear program, and vehicle routes. CLIENT BRIEF Prepare a timetable for today’s batches on our mixer and packer. Clarify the requirements first. 请用搅拌机和包装机 为今天的批次排程。 先把需求问清楚。 ORDERS SHIFTS RULES? NETWORK FLOW 865 3769 st 1234 MAX FLOW 14 BIKE REBALANCING +3−2+2−30−1 INVENTORY · (s, S) Ss TIME → Can B follow A on the mixer right away? B 能在搅拌机上 紧接着 A 做吗? No. Switching products needs 15 min cleaning. 不可以。换产品前 需清洗 15 分钟。 feasible ✓quality ↑ 可行 ✓质量 ↑ OR-License OR-License DAQ = 1/N · Σi 1[feasiblei] · qi BRANCH & BOUND x₁ ≤ 2x₁ ≥ 3 LP LP ✕ LP BEST PRUNED LINEAR PROGRAM c x* x₁x₂ TIMETABLE REVISED · DONE 10:15 ✓ MixerPacker A1 A2 B1 A1 A2 B1 A DUE 08:0009:0010:00 VEHICLE ROUTING DEPOT

The 31 tasks come from paid optimization projects in 10 industries, worth USD 3.68 million in total. Each agent gets the client’s original brief and data, can ask a simulated client about anything left unclear, and has to hand in a plan that can actually be carried out. We then check the plan against every client rule and compare it with the expert solution the client accepted.

Real-world tasks
31
Industries
10
Total project value
$3.68M
Models tested
11
Why OR-License

Real projects don’t arrive as tidy math problems.

Agents start from what the client actually sent, and are judged on what they hand back: does the plan work, and how does it compare with an expert’s?

Simplex method

1947

Solves linear programs by stepping from corner to corner of the allowed region.

Hungarian method

1955

Finds the best one-to-one assignment, such as workers to jobs.

Max-flow min-cut

1956

Finds how much a network can carry; the narrowest bottleneck sets the limit.

Dynamic programming

1957

Breaks a chain of decisions into stages and solves one stage at a time.

Cutting planes

1958

Keeps adding constraints that rule out fractional answers to whole-number problems.

Branch and bound

1960

Splits the problem into branches and skips those that cannot beat the best answer so far.

Dantzig–Wolfe decomposition

1960

Splits a large model into blocks and combines the solutions of the blocks.

Column generation

1961

Adds new candidate patterns only when they help; a classic for cutting rolls and sheets.

Benders decomposition

1962

Fixes the hardest decisions first, then lets the rest of the problem send back corrections.

Interior-point methods

1984

Heads for the best answer through the inside of the allowed region, not along its edges.

Diet problem

1945

The cheapest mix of foods that meets nutrition needs; the ancestor of blending models.

(s, S) inventory policy

1951

When stock falls to s, order enough to bring it back up to S.

Mean–variance portfolio

1952

Balances expected return against risk.

Johnson’s rule

1954

The best job order when every job passes through the same two machines.

Stochastic programming

1955

Decide now, then adjust once the uncertain outcome is known.

Chance constraints

1959

Rules that must hold with at least a given probability.

Vehicle routing

1959

Plans delivery routes from a depot without overloading any vehicle.

Savings heuristic

1964

Repeatedly merges the two routes whose merger saves the most distance.

Robust optimization

1973

Finds plans that stay valid however the uncertain inputs turn out, within a set range.

Simulated annealing

1983

Sometimes accepts a worse move, less and less often, to avoid getting stuck.

Tabu search

1986

Tries nearby solutions and bans recent moves so the search does not go in circles.

CVaR optimization

2000

Keeps the average loss in the worst cases under control.

A real project might need any of these methods. Picking one is up to the agent: the simulated client answers business questions, never modeling ones.

The tasks

31 tasks, straight from client work.

Each task keeps the client’s original requirements, data and output format. Only names and other identifying details were removed. Click a diagram to open its task.

Three gaps

Where existing benchmarks fall short of real projects.

Each column shows a shortcoming (top) and what OR-License does about it (bottom).

Gap 01

The tasks are too tidy

Most come from textbooks, are generated by a program, or have been rewritten.

Far from what clients actually need

OR-License / 01

Real projects, prepared by experts

ManufacturingLogisticsTransportation
Paid client projects

31 tasks in 10 industries. Original requirements and data; only identifying details removed.

Gap 02

Every fact is handed over up front

Nothing is missing, so spotting a gap and asking about it is never tested.

Who finds the missing facts?

OR-License / 02

Ask the client at any point

Solver found a shortage. Overtime OK?

Overtime is allowed up to 2 hours/day.

The simulated client, ORSim, can be asked at every stage.

Gap 03

Answers are never compared with real deliveries

The benchmark authors write the reference answers and check them only internally.

Would a client accept it?

OR-License / 03

Judged against what clients accepted

Accepted before this benchmark existed

The expert solution from the original project, judged by the same rules.

First check that it works, then compare how good it is.

Redrawn from Figure 1 of the paper. The client dialogue is only an illustration.
01 · Original material

Nothing pre-digested

Agents get the client’s requirements, data and output format as they were, with only identifying details removed.

02 · Asking questions

Ask whenever needed

While modeling, solving and checking, the agent can ask the simulated client for facts only the client knows.

03 · Judging the result

Only the delivery counts

Hidden checks test the plan against the client’s rules, then compare it with the expert solution the client accepted.

Leaderboard

A plan has to work before it can be good.

Even the top model scores below the expert solutions that clients accepted.

Overall score (DAQ)
Run in Claude Code · 31 tasks · 5 runs per task
Experts · 100%
  1. Grok 4.6high
    86.55%
  2. GPT-5.6 Solxhigh
    85.02%
  3. Gemini 3.8 Flashhigh
    82.94%
  4. Qwen3.8-Maxxhigh
    77.97%
  5. Claude Opus 5xhigh
    77.44%
  6. Muse Spark 1.3high
    72.86%
  7. DeepSeek-V4.1-Flashhigh
    69.28%
  8. Hy4 previewhigh
    66.85%
  9. Doubao-Seed-2.1-Prohigh
    64.82%
  10. GLM-5.3-Flashmax
    63.21%
  11. Hy3high
    43.77%
A plan counts only if it passes every hidden check; plans that fail score 0. Full leaderboard
Key findings

What we saw when we watched them work.

Experts went through the agents’ work step by step. Here are three takeaways.

Top score
86.55%

No model reaches the experts

When their plans work, several models match or even beat the experts. But every model also hands in plans that break a rule, and those score zero.

See the leaderboard

Digging into problems
24–45%

Agents seldom get to the bottom of a problem

When a run fails or a result looks off, the fix is to guess why, test the guess, read the result and change the model. Models went all the way only 24% to 45% of the time.

See where they stop

Asking the client
≈87–98%

Most questions come before any solver code is written

Agents rarely come back with questions later on, even though for some models the later questions were more likely to fix a real problem.

See when agents ask

Meet ORSim

A simulated client that answers business questions.

ORSim plays the client. It knows the facts of the business, but it never does the optimization work for the agent.

  • Answers in the client’s own business terms
  • Corrects wrong assumptions instead of playing along
  • Won’t suggest solvers, variables or constraints
  • Says so when it doesn’t have the information
Walk through the demo
Example dialogue · a morning of food productionTurns 3–4
Agent
So I can run product B immediately after product A on the mixer, just as I can run A2 immediately after A1?
ORSim
No. Switching products in either direction requires 15 minutes of cleaning on the mixer. Cleaning occupies the mixer and must finish before the next product starts mixing. There is no extra turnaround between batches of the same product, and the packer needs no product-change cleaning.
Agent
Should I use MILP or CP-SAT, and what variables and constraints would you recommend?
ORSim
I can clarify the operating requirements, but I cannot recommend a solver, choose variables, or formulate constraints for you.

Have a real project to share?

Help grow OR-License by contributing a real optimization task.

Read the contribution guide
Citation

Cite OR-License

Peisong Wang, Feixue Liu, Yize Meng, Bowen Liu, Ruoyu Chen, Gaoyang Dai, Xing He, Aiqian Li, Fengchi Yuan, Aochuan Chen, Chenyi Zi, Yuhan Li, Hongchuan Zeng, Yimo Yan, Nuo Chen, Jie Fu, Zuo-Jun Max Shen, Yong-Hong KUO, Jia Li

BibTeX
@misc{wang2026orlicense,
  title         = {OR-License: Evaluating LLM Agents as Real-World Operations Research Practitioners},
  author        = {Peisong Wang and Feixue Liu and Yize Meng and Bowen Liu and Ruoyu Chen and Gaoyang Dai and Xing He and Aiqian Li and Fengchi Yuan and Aochuan Chen and Chenyi Zi and Yuhan Li and Hongchuan Zeng and Yimo Yan and Nuo Chen and Jie Fu and Zuo-Jun Max Shen and Yong-Hong KUO and Jia Li},
  year          = {2026},
  eprint        = {2610.24087},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CL},
  url           = {https://arxiv.org/abs/2610.24087}
}