Tournées, plannings et budgets,résolus jusqu'au meilleur plan possible,et prouvés optimaux.
JAOT transforme votre problème en modèle mathématique, le résout et prouve qu'aucune meilleure réponse n'existe. Vous pouvez construire le modèle avec l'assistant IA, partir d'un modèle prédéfini de la communauté ou appeler JAOT depuis votre propre agent via MCP.
Une plateforme d'optimisation pour les personnes et pour les agents IA.
Trois façons d'optimiser
Construisez un modèle avec l'assistant IA, partez d'un modèle de la communauté dans la marketplace, ou connectez votre agent IA via MCP.
Assistant IA
Décrivez le problème avec vos mots. L'assistant écrit le modèle mathématique et JAOT le résout.
« Planifie les livraisons de la semaine prochaine : 4 camionnettes, 60 arrêts, chaque camionnette de retour à 18 h. »
Marketplace de modèles
Parcourez les modèles publiés par d'autres personnes. Utilisez-en un tel quel, dupliquez-le ou publiez le vôtre.
Fertilizer Mix Optimizer — agriculture
MCP pour les agents IA
Connectez Claude, GPT ou tout client MCP. Un agent peut résoudre des problèmes, dupliquer des modèles de la marketplace et écrire des modèles versionnés par lui-même.
solve_with_template(template_id="fertilizer_mixing")

Quatorze lignes, quelle que soit la taille des données
JModel décrit le problème avec des ensembles et des familles indexées. JAOT affiche les mathématiques avant de charger la moindre donnée. Le même source ci-dessous couvre une usine sur un trimestre ou quatre cents produits sur un an, sans changer le modèle.
Ce que vous écrivez
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];Ce que cela signifie
Les mêmes 14 lignes dans les deux cas. Les données fixent le nombre de variables et de contraintes. Le modèle ne change pas.
Les trois produits à plus forte marge ne figurent pas au plan
Un trimestre d'une usine d'électronique de puissance, résolu et prouvé optimal. Le plan ne fabrique aucune des trois familles de produits à plus forte marge unitaire. Le composant que tout le monde accuse d'être le goulet termine le trimestre avec près de la moitié de son stock inutilisé. L'analyse exacte montre pourquoi.
Plan de production du trimestre
22 410 unités · SCIP, optimalité prouvée- Onduleur de traction 800 V2 450 € / unité0 unités
- Unité de gestion de batterie1 780 € / unité0 unités
- Module de charge rapide CC1 320 € / unité0 unités
- Onduleur solaire raccordé au réseau960 € / unité7 460 unités
- Variateur industriel740 € / unité6 290 unités
- Boîtier télématique de flotte410 € / unité8 660 unités
- Concentrateur de capteurs260 € / unité0 unités
Ce qui s'épuise
- Heures de ligne CMSsaturé
- Heures d'étuve de déverminagesaturé
- Microcontrôleurs automobiles112 570 disponibles
- Modules de puissance SiCsaturé
- Heures de test final7 930 disponibles
- Heures de vernissage3 290 disponibles
- Contrat de télématique8 660 livrées, 3 500 exigées
Onduleur de traction 800 V : 2 450 € l'unité, et le plan n'en fabrique aucun. Il consomme davantage de chacune des 3 limites épuisées que tout autre produit, alors que 112 570 microcontrôleurs automobiles restent inutilisés, donc en acheter davantage ne changerait rien. JAOT lit ces deux faits dans la solution en nombres entiers elle-même, donc ils valent pour le plan que vous allez exécuter.
Scénarios, mesurés par une nouvelle résolution
Demandez ce que vaut une unité de plus sur une limite. JAOT modifie cette limite, résout le modèle à nouveau et rapporte la différence réelle. Comme il résout lui-même le modèle en nombres entiers, le chiffre est exact. Un prix dual lu sur la relaxation linéaire peut être faux pour un modèle en nombres entiers.
Des décisions groupées comme vous les avez écrites
La solution revient groupée selon les ensembles et les indices de votre modèle. Chaque résolution indique aussi comment elle s'est terminée : au nœud racine, après branchement, ou à la limite de temps.
Explication en un clic
L'assistant traduit l'analyse en mots simples. Il n'utilise que les chiffres de votre résolution.
Il nomme les deux règles qui s'opposent et met les cinq autres hors de cause
Un client commande un trimestre d'onduleurs de traction que la ligne ne peut pas fabriquer. Un solveur répond « irréalisable » et vous laisse vérifier le modèle entier. JAOT retire chaque règle à tour de rôle et résout à nouveau, jusqu'à ce qu'il ne reste que la contradiction. Vous savez ainsi où regarder.
Jusqu'où va chaque limite
7 règles · 2 dans le conflit- Heures de ligne CMS 7 700 onduleurshors de cause
- Heures d'étuve de déverminage 5 240 onduleursen conflit
- Microcontrôleurs automobiles 7 900 onduleurshors de cause
- Modules de puissance SiC 6 600 onduleurshors de cause
- Heures de test final 6 900 onduleurshors de cause
- Heures de vernissage 6 600 onduleurshors de cause
Il n'y a que heures d'étuve de déverminage pour 5 240 onduleurs, et le contrat en demande 6 000. Les 5 autres limites sont nommées et mises hors de cause. Avec 7 600 de plus, le modèle se résout. C'est le chiffre à apporter au client.
L'ensemble exact du conflit
JAOT isole le plus petit ensemble de contraintes et de bornes qui ne peuvent pas toutes tenir à la fois, et le met en évidence sur la page de résultats.
Comment corriger, en mots simples
Un clic demande à l'assistant de nommer les contraintes en conflit et de proposer une correction : quelle borne élargir, ou quelle limite assouplir.
Il dit quand il estime
Quand un modèle est trop grand pour un ensemble exact, JAOT le dit et marque l'explication comme heuristique.
Le solveur le plus rapide dépend du modèle
JAOT embarque SCIP, HiGHS, CBC, GLPK et JAOS. Le classement change d'un modèle à l'autre, donc JAOT exécute votre problème sur tous, dans les mêmes conditions, et montre ce que chacun a fait. Ci-dessous, un trimestre de chargement des étuves de déverminage de la même usine.
Temps total, échelle logarithmique
1 342 variables, 3 558 contraintes- SCIPA prouvé 17 étuves10,86 s
201 nœuds, 73 617 itérations du simplexe
- HiGHSA prouvé 17 étuves1,44 s
1 nœud, 4 214 itérations du simplexe
- CBCA prouvé 17 étuves1,70 s
776 nœuds, 16 402 itérations du simplexe
- GLPKTemps écoulé59,92 s
A prouvé qu'aucun plan n'a besoin de moins de 17 étuves, après 44 838 nœuds, sans jamais trouver de plan
- JAOSTemps écoulé60,05 s
A prouvé qu'aucun plan n'a besoin de moins de 16,47 étuves, après 1 332 nœuds, sans jamais trouver de plan
L'échelle est logarithmique : chaque pas vaut dix fois le précédent, donc la longueur de la barre n'est pas proportionnelle au nombre affiché à côté.
HiGHS a terminé en premier. SCIP a atteint la même réponse 7,5 fois plus lentement. Sur un autre modèle, l'ordre change, donc la seule façon de choisir est de mesurer.
GLPK et JAOS ont utilisé les 60 secondes en entier et n'ont jamais trouvé de plan. Chacun a tout de même prouvé une borne, affichée sur sa ligne : aucun plan n'a besoin de moins d'étuves que cette borne. Une borne reste utile : elle vous dit à quelle distance du meilleur plan un plan peut se trouver.
Chaque solveur a reçu la même limite de 60 secondes et les mêmes 4 threads, l'un après l'autre sur un serveur de 12 cœurs. Les secondes sont comparables à l'intérieur de cette exécution seulement.
Les mêmes conditions
La même limite de temps, la même tolérance de gap et le même nombre de threads, sur une machine, une exécution à la fois. Deux solveurs lancés en même temps se disputeraient les cœurs, et leurs temps ne seraient plus comparables.
Une matrice entière
Croisez les jeux de données de votre modèle avec les solveurs : les jeux de données en lignes, les solveurs en colonnes. Si vos données changent chaque mois, le solveur le plus rapide peut changer aussi, et la matrice le montre dans un seul tableau.
La borne à côté de la réponse
Chaque ligne montre la meilleure borne prouvée par le solveur, à côté de la réponse qu'il a trouvée. Pour une exécution arrêtée par la limite de temps, l'écart entre les deux vous dit à quelle distance de l'optimum la réponse peut se trouver.
Conçu aussi pour les agents IA
Tout client MCP peut utiliser JAOT : Claude, GPT ou votre propre agent. Il peut construire un modèle, le résoudre, lire l'analyse et publier le résultat, avec les mêmes outils qu'une personne.
Découvrir
L'agent trouve JAOT via MCP ou /.well-known/llms.txt
S'authentifier
L'agent envoie une clé API
Résoudre
Il crée le modèle, règle les paramètres et lance le solveur
Résultats
Il lit la solution et l'analyse en JSON
Résolution de problèmes
- solve_problem
- validate_problem
- solve_multi_objective
- list_available_solvers
Modèles prédéfinis
- list_templates
- get_template
- solve_with_template
E/S de fichiers
- import_preview
- import_and_solve
- export_model
- export_execution
Marketplace
- list_catalog_models
- get_catalog_model
- get_catalog_model_schema
Projets de modèle
- 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
Exécution
- execute_model
- get_execution
- get_execution_insights
Analyse
- get_execution_exact_analysis
- analyze_infeasibility
- start_execution_scenario_analysis
- get_execution_scenario_analysis
Comparaison de solveurs
- compare_solvers
- get_solver_comparison
- compare_solvers_on_datasets
- get_solver_comparison_matrix
34 outils, tous appelables par un agent
Qui utilise JAOT
Équipes et entreprises
- Planifiez tournées, plannings, production ou budgets avec un solveur exact
- API REST et MCP, pour s'intégrer aux systèmes que vous utilisez déjà
- Espaces de travail partagés, avec des rôles et une bibliothèque de modèles commune
- Clés API, permissions par espace de travail et limites de débit
Contributeurs et consultants
- Publiez vos modèles dans la marketplace
- D'autres personnes peuvent les dupliquer et bâtir sur votre travail
- Les modèles sont versionnés, donc une copie pointe vers une version publiée précise
- Voyez combien de fois chaque modèle a été adopté et exécuté
Étudiants et chercheurs
- Construisez un modèle avec l'assistant et lisez les mathématiques qu'il produit
- Des modèles prédéfinis, du premier PL jusqu'au PLNE complet, avec des exemples résolus
- Cinq solveurs open source que vous pouvez lancer côte à côte sur le même modèle
- Gratuit et open source, et vous pouvez l'installer sur votre propre machine
Ce que les gens modélisent avec JAOT
Six problèmes courants. Chacun a un modèle prédéfini dans la marketplace, ou l'assistant peut le construire à partir de votre description.
102 modèles dans 34 secteurs
Parcourir la 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
Tournées de véhicules
Un transporteur livre 50 adresses avec 8 camions. Le modèle choisit l'ordre des arrêts de chaque camion pour que la distance totale soit la plus courte possible, dans la limite de la capacité de chaque camion et des créneaux de livraison.
Depuis la marketplace
Planification du personnel
Un hôpital affecte 120 infirmiers à trois postes. Le modèle respecte les disponibilités de chaque infirmier, les règles de repos entre deux postes et l'effectif minimal par poste.
Construit avec l'IA
Allocation de budget
Une équipe marketing répartit 2 M€ entre 12 canaux. Le modèle place l'argent là où le retour attendu par euro est le plus élevé, avec un minimum et un maximum par canal.
Construit avec l'IA
Planification de production
Une usine planifie une semaine de production sur 5 lignes. Le modèle décide ce que chaque ligne fabrique et quand, dans la limite des matières, de la main-d'œuvre et des heures machine disponibles.
Depuis la marketplace
Réseau d'approvisionnement
Un détaillant choisit où ouvrir des entrepôts pour desservir 200 magasins. Le modèle met en balance le coût fixe de chaque site et le coût de transport vers chaque magasin.
Depuis la marketplace
Affectation de ressources
Un cabinet de conseil affecte 80 consultants à 25 projets. Le modèle fait correspondre les compétences aux besoins de chaque projet et garde chaque consultant dans ses heures disponibles.
Construit avec l'IA
Comment ça marche
Choisissez un point de départ
Choisissez l'un des 100+ modèles prédéfinis, dupliquez un modèle de la marketplace, importez un fichier MPS, LP ou JSON, ou décrivez le problème à l'assistant.
Construisez le modèle dans le studio
Écrivez-le en JModel, ou placez variables et contraintes sur le canevas visuel. Chargez vos données dans l'onglet Données. JAOT affiche les mathématiques correspondantes au fur et à mesure.
Résolvez et lisez l'analyse
Lancez un solveur, ou comparez les cinq sur le même modèle. Lisez ensuite quelles contraintes sont saturées, ce que vaut une unité de plus, et exportez la solution.
