Skip to content

Entorn en desenvolupament actiu: pots notar canvis o funcions incompletes.

JAOT
Plataforma d'optimització de codi obert

Rutes, torns i pressupostos,resolts amb el millor pla possible,i amb l'òptim demostrat.

JAOT converteix el teu problema en un model matemàtic, el resol i demostra que no existeix cap resposta millor. Pots crear el model amb l'assistent d'IA, partir d'una plantilla de la comunitat o cridar JAOT des del teu propi agent via MCP.

Una plataforma d'optimització per a persones i per a agents d'IA.

rutes · 48 parades · SCIP
Primera solució 2092.6
Òptim 452.6−78.4%
Òptim demostrat
Longitud de la ruta452.6
Distància a l'òptim0.00%
Nodes explorats843
Variables2304
Solvers de codi obertMés de 100 plantillesMarketplace de models d'optimitzacióNatiu MCPVeure a GitHub
La plataforma

Tres maneres d'optimitzar

Crea un model amb l'assistent d'IA, parteix d'un model de la comunitat al marketplace o connecta el teu agent d'IA via MCP.

Assistent d'IA

Descriu el problema amb les teves paraules. L'assistent escriu el model matemàtic i JAOT el resol.

“Planifica els repartiments de la setmana que ve: 4 furgonetes, 60 parades, totes de tornada a les 18:00.”

Marketplace de models

Explora models que altres persones han publicat. Fes-ne servir un tal com és, bifurca'l o publica el teu.

Fertilizer Mix Optimizer — agriculture

MCP per a agents d'IA

Connecta Claude, GPT o qualsevol client MCP. Un agent pot resoldre problemes, bifurcar models del marketplace i escriure models versionats pel seu compte.

solve_with_template(template_id="fertilizer_mixing")

Assistent d'IA
L'assistent de JAOT escrivint un model d'optimització a partir d'un problema descrit en llenguatge planer
Escriu el model una sola vegada

Catorze línies, sigui quina sigui la mida de les dades

JModel descriu el problema amb conjunts i famílies indexades. JAOT representa les matemàtiques abans de carregar cap dada. El mateix codi de sota cobreix una planta durant un trimestre o quatre-cents productes durant un any, sense cap canvi al model.

El que escrius

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];

El que significa

max⁡∑p∈PRODUCTS,  w∈WEEKSmarginp buildp,w\max \quad \sum_{p \in \mathrm{PRODUCTS},\; w \in \mathrm{WEEKS}} \mathrm{margin}_{p} \, \mathrm{build}_{p,w}
∑p∈PRODUCTSusager,p buildp,w≤capacityr,w∀ r∈RESOURCES,  w∈WEEKS\sum_{p \in \mathrm{PRODUCTS}} \mathrm{usage}_{r,p} \, \mathrm{build}_{p,w} \le \mathrm{capacity}_{r,w} \quad \forall\, r \in \mathrm{RESOURCES},\; w \in \mathrm{WEEKS}
buildp,w≤ceilingp,w∀ p∈PRODUCTS,  w∈WEEKS\mathrm{build}_{p,w} \le \mathrm{ceiling}_{p,w} \quad \forall\, p \in \mathrm{PRODUCTS},\; w \in \mathrm{WEEKS}
buildp,w∈Z,  buildp,w≥0∀ p∈PRODUCTS,  w∈WEEKS\mathrm{build}_{p,w} \in \mathbb{Z},\; \mathrm{build}_{p,w} \ge 0 \quad \forall\, p \in \mathrm{PRODUCTS},\; w \in \mathrm{WEEKS}
7 productes × 6 recursos × 13 setmanes91 variables · 169 restriccions
400 productes × 40 recursos × 52 setmanes20800 variables · 22880 restriccions

Les mateixes 14 línies en els dos casos. Les dades fixen el nombre de variables i de restriccions. El model no canvia.

Després de resoldre

Els tres productes de més marge no entren al pla

Un trimestre d'una planta d'electrònica de potència, resolt i amb l'òptim demostrat. El pla no fabrica cap de les tres famílies de producte amb més marge per unitat. El component que tothom culpa del coll d'ampolla acaba el trimestre amb gairebé la meitat de l'estoc sense fer servir. L'anàlisi exacta mostra per què.

Pla de producció del trimestre

22.410 unitats · SCIP, òptim demostrat
  • Inversor de tracció de 800 V2.450 € / unitat
    0 unitats
  • Unitat de gestió de bateria1.780 € / unitat
    0 unitats
  • Mòdul de càrrega ràpida CC1.320 € / unitat
    0 unitats
  • Inversor solar de xarxa960 € / unitat
    7.460 unitats
  • Variador industrial740 € / unitat
    6.290 unitats
  • Unitat de telemetria de flota410 € / unitat
    8.660 unitats
  • Concentrador de sensors260 € / unitat
    0 unitats
Marge de contribució15.366.800 €

Què s'esgota

  • Hores de línia SMTal límit
  • Hores de cambra de burn-inal límit
  • Microcontroladors d'automoció112.570 sense fer servir
  • Mòduls de potència SiCal límit
  • Hores de test final7.930 sense fer servir
  • Hores de vernissat3.290 sense fer servir
  • Contracte de telemetria8.660 lliurades, 3.500 exigides

Inversor de tracció de 800 V: 2.450 € per unitat, i el pla no en fabrica cap. Consumeix més de cadascun dels 3 límits que s'han esgotat que qualsevol altre producte, mentre queden 112.570 microcontroladors d'automoció sense fer servir, així que comprar-ne més no canviaria res. JAOT llegeix tots dos fets de la mateixa solució amb variables enteres, així que valen per al pla que executaràs.

Escenaris, mesurats tornant a resoldre

Pregunta què val una unitat més d'un límit. JAOT canvia aquell límit, torna a resoldre el model i informa de la diferència real. Com que torna a resoldre el model amb les seves variables enteres, el número és exacte. Un preu ombra llegit de la relaxació lineal pot ser incorrecte per a un model amb variables enteres.

Decisions agrupades tal com les vas escriure

La solució torna agrupada pels conjunts i els índexs del teu model. Cada resolució també diu com ha acabat: al node arrel, després de ramificar o al límit de temps.

Explicació en un clic

L'assistent converteix l'anàlisi en llenguatge planer. Només fa servir els números de la teva resolució.

Quan no hi ha resposta

Anomena les dues regles que xoquen i descarta les altres cinc

Un client demana un trimestre d'inversors de tracció que la línia no pot fabricar. Un solver respon «no factible» i et deixa revisant el model sencer. JAOT treu cada regla per torn i torna a resoldre fins que només queda la contradicció, així saps on mirar.

Fins on arriba cada límit

7 regles · 2 en el conflicte
  • Hores de línia SMT 7.700 inversorsno és el problema
  • Hores de cambra de burn-in 5.240 inversorsen conflicte
  • Microcontroladors d'automoció 7.900 inversorsno és el problema
  • Mòduls de potència SiC 6.600 inversorsno és el problema
  • Hores de test final 6.900 inversorsno és el problema
  • Hores de vernissat 6.600 inversorsno és el problema
el contracte en demana 6.000

Només hi ha hores de cambra de burn-in per a 5.240 inversors, i el contracte en demana 6.000. Els altres 5 límits queden descartats pel seu nom. Amb 7.600 més, el model es resol. Aquest és el número que has de portar al client.

El conjunt exacte en conflicte

JAOT aïlla el conjunt més petit de restriccions i cotes que no es poden complir alhora, i les ressalta a la pàgina de resultats.

Com arreglar-ho, en llenguatge planer

Amb un clic demanes a l'assistent que anomeni les restriccions en conflicte i que proposi un arranjament: quina cota ampliar o quin límit relaxar.

Diu quan està estimant

Quan un model és massa gran per a un conjunt exacte en conflicte, JAOT ho diu i marca l'explicació com a heurística.

Triar solver

El solver més ràpid depèn del model

JAOT porta SCIP, HiGHS, CBC, GLPK i JAOS. L'ordre canvia d'un model a l'altre, així que JAOT executa el teu problema en tots ells en les mateixes condicions i mostra què ha fet cadascun. A sota, un trimestre de càrrega de cambres d'envelliment a la mateixa planta.

Temps total, escala logarítmica

1.342 variables, 3.558 restriccions
  • SCIPVa demostrar 17 cambres
    10,86 s

    201 nodes, 73.617 iteracions símplex

  • HiGHSVa demostrar 17 cambres
    1,44 s

    1 node, 4.214 iteracions símplex

  • CBCVa demostrar 17 cambres
    1,70 s

    776 nodes, 16.402 iteracions símplex

  • GLPKSense temps
    59,92 s

    Va demostrar que cap pla necessita menys de 17 cambres, després de 44.838 nodes, i no va trobar cap pla

  • JAOSSense temps
    60,05 s

    Va demostrar que cap pla necessita menys de 16,47 cambres, després de 1.332 nodes, i no va trobar cap pla

L'escala és logarítmica: cada pas són deu vegades l'anterior, així que la llargada de la barra no és proporcional al número que té al costat.

HiGHS va acabar primer. SCIP va arribar a la mateixa resposta 7,5 vegades més lent. Amb un altre model l'ordre canvia, així que l'única manera de triar és mesurar.

GLPK i JAOS van esgotar els 60 segons i no van trobar cap pla. Cadascun va demostrar una cota, que apareix a la seva fila: cap pla necessita menys cambres que aquesta. Una cota encara és útil: et diu fins a quin punt qualsevol pla pot quedar lluny del millor.

Tots els solvers van rebre el mateix límit de 60 segons i els mateixos 4 fils, l'un darrere l'altre en un sol servidor de 12 nuclis. Els segons només són comparables dins d'aquesta execució.

Les mateixes condicions

El mateix límit de temps, la mateixa tolerància de gap i el mateix nombre de fils, en una màquina, una execució cada cop. Dos solvers executant-se alhora competirien pels nuclis, i els seus temps ja no serien comparables.

Una matriu sencera

Creua els conjunts de dades del teu model amb els solvers: les dades a les files, els solvers a les columnes. Si les teves dades canvien cada mes, el solver més ràpid també pot canviar, i la matriu ho mostra en una sola taula.

La cota al costat de la resposta

Cada fila mostra la millor cota que el solver va demostrar al costat de la resposta que va trobar. En una execució aturada pel límit de temps, la distància entre totes dues et diu fins a quin punt la resposta pot quedar lluny de l'òptim.

Fet també per a agents d'IA

Qualsevol client MCP pot fer servir JAOT: Claude, GPT o el teu propi agent. Pot crear un model, resoldre'l, llegir l'anàlisi i publicar el resultat, amb les mateixes eines que fa servir una persona.

1

Descobrir

L'agent troba JAOT via MCP o /.well-known/llms.txt

2

Autenticar

L'agent envia una clau d'API

3

Resoldre

Crea el model, fixa els paràmetres i executa el solver

4

Resultats

Llegeix la solució i l'anàlisi en JSON

Eines MCP

Resolució de problemes

  • solve_problem
  • validate_problem
  • solve_multi_objective
  • list_available_solvers

Plantilles

  • list_templates
  • get_template
  • solve_with_template

E/S de fitxers

  • import_preview
  • import_and_solve
  • export_model
  • export_execution

Marketplace

  • list_catalog_models
  • get_catalog_model
  • get_catalog_model_schema

Projectes de model

  • 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

Execució

  • execute_model
  • get_execution
  • get_execution_insights

Anàlisi

  • get_execution_exact_analysis
  • analyze_infeasibility
  • start_execution_scenario_analysis
  • get_execution_scenario_analysis

Comparació de solvers

  • compare_solvers
  • get_solver_comparison
  • compare_solvers_on_datasets
  • get_solver_comparison_matrix

34 eines, totes invocables per un agent

Funciona amb Claude, GPT i qualsevol client MCP

Qui fa servir JAOT

Equips i empreses

  • Planifica rutes, torns, producció o pressupostos amb un solver exacte
  • API REST i MCP, per encaixar amb els sistemes que ja fas servir
  • Espais de treball compartits amb rols i una biblioteca de models comuna
  • Claus d'API, permisos per espai de treball i límits de peticions

Col·laboradors i consultors

  • Publica els teus models al marketplace
  • Altres persones poden bifurcar-los i construir sobre la teva feina
  • Els models estan versionats, així que una bifurcació apunta a una versió coneguda
  • Mira quantes vegades s'ha adoptat i executat cada model

Estudiants i investigadors

  • Crea un model amb l'assistent i llegeix les matemàtiques que genera
  • Plantilles des d'un primer LP fins a un MIP complet, amb exemples resolts
  • Cinc solvers de codi obert que pots executar l'un al costat de l'altre sobre el mateix model
  • Gratuït i de codi obert, i el pots instal·lar a la teva pròpia màquina

Què s'hi modela

Sis problemes habituals. Cadascun té una plantilla al marketplace, o l'assistent el pot construir a partir de la teva descripció.

102 plantilles en 34 sectors

Explorar el 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

Rutes de vehicles

Una empresa de transport reparteix a 50 adreces amb 8 camions. El model tria l'ordre de les parades de cada camió perquè la distància total sigui la més curta possible, dins de la capacitat de cada camió i de les finestres de lliurament.

Des del marketplace

Planificació de torns

Un hospital assigna 120 infermers a tres torns. El model respecta la disponibilitat de cadascú, les normes de descans entre torns i el personal mínim per torn.

Creat amb IA

Assignació de pressupost

Un equip de màrqueting reparteix 2 M€ entre 12 canals. El model posa els diners on el retorn esperat per euro és més alt, amb un mínim i un màxim per canal.

Creat amb IA

Planificació de producció

Una fàbrica planifica una setmana de producció en 5 línies. El model decideix què fabrica cada línia i quan, dins del material, la mà d'obra i les hores de màquina disponibles.

Des del marketplace

Xarxa de cadena de subministrament

Un minorista tria on obrir magatzems per servir 200 botigues. El model contrapesa el cost fix de cada emplaçament amb el cost de transport fins a cada botiga.

Des del marketplace

Assignació de recursos

Una consultora assigna 80 consultors a 25 projectes. El model encaixa les habilitats amb el que necessita cada projecte i manté cada consultor dins de les seves hores disponibles.

Creat amb IA

Com funciona

Tria un punt de partida

Tria una de les més de 100 plantilles, bifurca un model del marketplace, importa un fitxer MPS, LP o JSON, o descriu el problema a l'assistent.

Construeix el model a l'estudi

Escriu-lo en JModel, o col·loca variables i restriccions al llenç visual. Carrega les dades a la pestanya Dades. JAOT et mostra les matemàtiques resultants mentre avances.

Resol i llegeix l'anàlisi

Executa un solver, o compara els cinc sobre el mateix model. Després llegeix quines restriccions estan al límit, què val una unitat més, i exporta la solució.

Comença a optimitzar

Gratuït i de codi obert. Crea un compte i resol un primer model avui, o instal·la tota la plataforma al teu propi servidor.