Your routes, shifts and budgets,solved to the best possible answer— and proven.
JAOT turns your problem into a mathematical model, solves it, and proves that no better answer exists. Build it with AI, start from a community template, or drive it from your own agent over MCP.
The optimization platform for humans and AI agents alike.
Three ways to optimize
Build models with AI, use proven solutions from the community marketplace, or connect your AI agent via MCP.
AI Builder
Describe your optimization problem in plain English. Our AI translates it into a mathematical model and solves it.
“Plan next week's deliveries: 4 vans, 60 stops, every van back by 18:00.”
Model Marketplace
Browse the optimization model marketplace. Use proven community models or publish your own.
Fertilizer Mix Optimizer — agriculture
MCP for AI Agents
Connect Claude, GPT, or any MCP-compatible agent — solve problems, fork marketplace models, and author versioned models end-to-end.
solve_with_template(template_id="fertilizer_mixing")

Fourteen lines. The data decides the size.
JModel describes your problem with sets and indexed families, and JAOT renders it as mathematics before it touches a single number. The same source below covers one plant for a quarter or four hundred products for a year — you do not rewrite a line.
What you write
set PRODUCTS;set RESOURCES;set WEEKS; param margin{PRODUCTS};param usage{RESOURCES, PRODUCTS};param capacity{RESOURCES, WEEKS};param ceiling{PRODUCTS, WEEKS}; var build{PRODUCTS, WEEKS} integer >= 0; maximize contribution: sum{p in PRODUCTS, w in WEEKS} margin[p] * build[p, w]; subject to plant{r in RESOURCES, w in WEEKS}: sum{p in PRODUCTS} usage[r, p] * build[p, w] <= capacity[r, w]; subject to market{p in PRODUCTS, w in WEEKS}: build[p, w] <= ceiling[p, w];What it means
Same 14 lines, both times. Spreadsheets and hand-written models grow with the data; an indexed model does not.
The three highest-margin products never make the plan
One quarter of a power-electronics plant, solved and proven optimal. The three richest families are exactly the ones the optimum refuses to build — and the component everyone blames for the bottleneck ends the quarter almost half untouched. This is the part a spreadsheet gets wrong.
Quarterly build plan
22,410 units · SCIP, proven optimal- 800 V traction inverter€2,450 / unit0 units
- Battery management unit€1,780 / unit0 units
- DC fast-charge module€1,320 / unit0 units
- Grid-tie solar inverter€960 / unit7,460 units
- Industrial motor drive€740 / unit6,290 units
- Fleet telemetry unit€410 / unit8,660 units
- Machine sensor hub€260 / unit0 units
What runs out
- SMT line hoursat capacity
- Burn-in chamber hoursat capacity
- Automotive-grade MCUs112,570 spare
- SiC power modulesat capacity
- Final-test hours7,930 spare
- Conformal-coating hours3,290 spare
- Fleet telemetry contract8,660 shipped, 3,500 required
800 V traction inverter: €2,450 a unit — and the plan builds none. It is the heaviest draw on every one of the 3 limits that ran out, while 112,570 automotive-grade microcontrollers go untouched, so buying more would change nothing. Both facts come from the integer solution you will actually run, not from a relaxation.
What-if, measured
Ask what one more unit would buy you: JAOT re-solves the perturbed model and reports the real change — measured on your MIP, not estimated from a relaxation.
Decisions, not a wall of numbers
Solutions come back grouped by the model's real index structure, with an honest summary of how the solve went — root node, branching, or time limit.
One-click AI explanation
Turn the analysis into plain language, grounded strictly in your actual numbers — never invented ones.
It names the two rules that clash — and clears the other five
A customer wants a quarter's worth of traction inverters the line cannot carry. A solver says “infeasible” and leaves you auditing the whole model. JAOT removes each rule and re-solves until only the contradiction is left, so you know exactly where to look.
How far each limit reaches
7 rules · 2 in the conflict- SMT line hours 7,700 invertersnot the problem
- Burn-in chamber hours 5,240 invertersin conflict
- Automotive-grade MCUs 7,900 invertersnot the problem
- SiC power modules 6,600 invertersnot the problem
- Final-test hours 6,900 invertersnot the problem
- Conformal-coating hours 6,600 invertersnot the problem
There are only enough burn-in chamber hours for 5,240 inverters, and the contract asks for 6,000. Nothing else is at fault: JAOT clears the other 5 limits by name. Find 7,600 more — a second chamber for the quarter — and the model solves. That is the number to take into the negotiation.
The exact conflict set
JAOT isolates the minimal set of constraints and bounds that can't all hold at once — and highlights them on the result page.
How to fix it, in plain language
A one-click AI explanation names the conflicting requirements and suggests concrete fixes: which bound to widen, which limit to relax.
Honest by design
When a model is too large for an exact conflict set, JAOT says so and clearly flags the explanation as heuristic — never a confident guess.
Which solver is quickest depends on the model
JAOT ships SCIP, HiGHS, CBC and GLPK. None of them is best. The ranking changes with the model, so JAOT runs your problem on all of them under identical terms and shows what each one did. Below is one quarter of burn-in chamber loading at the plant.
Total time, logarithmic scale
1,342 variables, 3,558 constraints- scipProved 17 chambers12.25 s
201 nodes, 73,617 simplex iterations
- highsProved 17 chambers1.51 s
1 nodes, 4,214 simplex iterations
- cbcProved 17 chambers1.53 s
507 nodes, 11,575 simplex iterations
- glpkOut of time58.68 s
Proved nothing beats 17 chambers, after 38,952 nodes, and never found a plan
The scale is logarithmic: each step is ten times the one before, so bar length is not proportional to the number beside it.
highs finished first. scip reached the same answer 8.1 times slower. On another model the order changes, which is why a measurement answers this and a recommendation cannot.
glpk ran the full 60 seconds and never found a plan, although it did prove that nothing beats 17 chambers. That is what the bound is for.
Every solver received the same 60-second limit and the same 4 threads, one run after another on one 12-core server. The seconds are comparable inside this run and nowhere else.
Identical terms
The same time limit, the same gap tolerance, the same thread count, one machine, one run at a time. Two solvers sharing a machine fight for cores, and then the seconds stop meaning anything.
A whole matrix
Cross your model's datasets with the solvers: datasets down the side, solvers across the top. A model whose data changes every month has no single fastest solver, and one month's numbers pick the wrong one.
The bound, not only the answer
Each row carries the best bound the solver proved beside the answer it found. A run stopped by its time limit is reporting the distance between the two, and the answer on its own does not say it.
AI Agents Meet Optimization
JAOT is an optimization platform natively accessible to AI agents. Connect any MCP-compatible agent to solve optimization problems end-to-end.
Discover
Agent finds JAOT via MCP or /.well-known/llms.txt
Authenticate
Secure access with API key authentication
Solve
Create model, set parameters, run the solver
Results
Get optimized solution programmatically
Problem Solving
- solve_problem
- validate_problem
- solve_multi_objective
- list_available_solvers
Templates
- list_templates
- get_template
- solve_with_template
File I/O
- import_preview
- import_and_solve
- export_model
- export_execution
Marketplace
- list_catalog_models
- get_catalog_model
- get_catalog_model_schema
Model Projects
- create_model_project
- create_model_project_from_marketplace
- update_model_project_draft
- commit_model_version
- list_project_versions
- get_model_stats
- solve_model_project
- get_model_project
- list_model_projects
Execution
- execute_model
- get_execution
- get_execution_insights
Analysis
- get_execution_exact_analysis
- analyze_infeasibility
- start_execution_scenario_analysis
- get_execution_scenario_analysis
Solver Comparison
- compare_solvers
- get_solver_comparison
- compare_solvers_on_datasets
- get_solver_comparison_matrix
34 tools, all callable by an agent
Built for everyone who optimizes
For Teams & Enterprises
- Solve complex optimization problems at scale
- REST API integration with any tech stack
- Team collaboration and shared model library
- Enterprise-grade security and access controls
For Contributors & Consultants
- Publish your models to the community marketplace
- Share your optimization expertise with teams worldwide
- Reach teams and enterprises globally
- Track adoption and impact in your analytics
For Students & Researchers
- Learn optimization with AI-assisted model building
- Educational templates from LP to MIP
- Start simple and grow into complex models
- Free and open source — ideal for learning
Real-world optimization, solved
Build custom models with AI or start from proven community models in the marketplace.
102 templates across 34 sectors
Browse the marketplace- Finance & Investment5
- Logistics & Distribution5
- Human Resources & Workforce4
- Manufacturing & Production4
- Aerospace3
- Agriculture & Farming3
- Chemical Engineering3
- Construction3
- Cutting & Packing3
- Energy & Utilities3
- Facility Location3
- Food & Beverage3
- Forestry3
- General Purpose3
- Government3
- Healthcare & Nutrition3
- Maritime3
- Mining3
- Network & Graph Optimization3
- Pharmaceutical3
- Railway3
- Real Estate3
- Retail & Commerce3
- Supply Chain Management3
- Telecommunications3
- Transportation & Logistics3
- Warehouse3
- Water Management3
- Advertising & Media2
- Education & Academic2
- Environmental & Sustainability2
- Insurance2
- Sports & Recreation2
- Textile2
Vehicle Routing
A logistics company delivers to 50 locations with 8 trucks. Optimized routes reduced total distance by 23%, saving fuel and driver hours.
From Marketplace
Employee Scheduling
A hospital schedules 120 nurses across 3 shifts while respecting availability and labor regulations. Automated scheduling cut planning time from 8 hours to minutes.
Built with AI
Budget Allocation
A marketing team distributes $2M across 12 channels to maximize conversions. Optimization found a 31% better allocation than manual planning.
Built with AI
Production Planning
A manufacturer plans weekly production across 5 lines with material constraints. Optimized plans increased throughput 15% without additional capacity.
From Marketplace
Supply Chain Network
A retailer selects warehouse locations to serve 200 stores at minimum cost. Network optimization reduced logistics spend by 18%.
From Marketplace
Resource Assignment
A consulting firm assigns 80 consultants to 25 projects matching skills and availability. Optimization improved utilization from 72% to 89%.
Built with AI
Up and running in minutes
Choose a template or start from scratch
Browse 100+ pre-built templates or start a blank model in the studio — visual canvas, AI assistant, JSON editor, or the JModel DSL.
Set variables and constraints visually
Use the drag-and-drop interface to define your optimization model. Set objectives, add constraints, and configure variable types.
Solve and explore results
Hit solve and watch results come in real-time. Analyze variable values, sensitivity data, and export your solution.
