Solve scheduling, routing, and packing. Quantify risk with sensitivity, robust, and stochastic analysis. Find trade-offs with Pareto frontiers. Forecast demand and prescribe actions. All via MCP.
Assign tasks to machines with precedence, time windows, and machine eligibility.
Assign deliveries to vehicles with capacity, GPS coordinates, and time windows.
Assign items to containers with weight, volume, and group constraints.
Find which inputs break the plan. Auto-detects critical parameters.
Uncertainty ranges → scenarios → solutions that survive worst-case.
Probability distributions → Monte Carlo → risk-aware solutions.
2-4 competing objectives → non-dominated solutions with correlation and spread analysis.
Historical data → demand forecast → optimal plan → risk assessment → prioritized actions.
AI agent finds OptimEngine via MCP. Reads the schema. Sees 9 tools across 4 levels.
Sends scheduling, routing, or packing problem. Gets optimal deterministic solution.
Runs sensitivity, robust, or stochastic analysis. Gets risk maps and CVaR metrics.
Sends historical data. Gets forecast, optimal plan, risk assessment, and action items.
From deterministic scheduling to prescriptive intelligence.
// POST /optimize_schedule { "jobs": [{ "job_id": "ORDER-001", "tasks": [ { "task_id": "mixing", "duration": 30, "eligible_machines": ["M1", "M2"] }, { "task_id": "filling", "duration": 20, "eligible_machines": ["M2"] } ], "due_date": 80 }], "machines": [{ "machine_id": "M1" }, { "machine_id": "M2" }], "objective": "minimize_makespan" } // → Optimal schedule + metrics in ~10ms
// POST /analyze_sensitivity { "solver_type": "scheduling", "solver_request": { /* scheduling problem */ }, "parameters": [{ "parameter_path": "jobs[ORDER-001].tasks[mixing].duration", "perturbations": [-50, -20, 20, 50, 100] }] } // → "mixing duration is CRITICAL. +50% → makespan +35%"
// POST /optimize_stochastic { "solver_type": "scheduling", "solver_request": { /* scheduling problem */ }, "stochastic_parameters": [{ "parameter_path": "jobs[ORDER-001].tasks[mixing].duration", "distribution": "normal", "mean": 30, "std_dev": 8 }], "optimize_for": "cvar_95", "num_scenarios": 50 } // → Expected: 52. CVaR 95%: 68. "Moderate variability."
// POST /optimize_pareto { "solver_type": "scheduling", "solver_request": { /* scheduling problem */ }, "objectives": [ { "name": "minimize_makespan", "weight": 2.0 }, { "name": "minimize_total_tardiness", "weight": 1.0 } ], "num_points": 10 } // → 6 non-dominated solutions. "Makespan and tardiness conflict (r=-0.72)."
// POST /prescriptive_advise { "solver_type": "scheduling", "solver_request": { /* scheduling problem */ }, "forecast_parameters": [{ "parameter_path": "jobs[ORDER-001].tasks[mixing].duration", "historical_data": [ {"period": 0, "value": 25}, {"period": 1, "value": 28}, {"period": 2, "value": 30}, {"period": 3, "value": 35} ] }], "risk_appetite": "moderate" } // → Forecast: 33. Trend: increasing. Action: "Plan for +12% capacity."
Free during beta. All 4 intelligence levels included.
Add to your MCP configuration (Claude Desktop, Cursor, etc.)
{
"mcpServers": {
"optim-engine": {
"command": "mcp-proxy",
"args": ["https://optim-engine-production.up.railway.app/mcp"]
}
}
}