⚡ OptimEngine
生产优化平台——4层架构,OR工具CP-SAT,MCP原生,OAuth 2.1,可观察性优先。
    
______________________________________________________________________
概述
OptimEngine解决NP难优化问题(调度、路由、打包),并量化不确定性下的风险(敏感性、鲁棒性、随机性、帕累托)。它展示了4个智能级别(L1确定性)的11个工具→ L3规范)通过REST和MCP(SSE+带OAuth 2.1的流式HTTP)。
该系统围绕三个工程原理构建: 数学正确性 (真正的CP-SAT求解器,而不是LLM近似值), 生产卫生 (完整的可观察性堆栈、业务逻辑的测试覆盖率、负载测试),以及 代理人友好 (MCP双栈、OAuth、速率限制、仅JSON合约)。
建筑
flowchart TB
Client[AI Agents / MCP Clients / REST] --> Edge[Edge Proxy
Vercel]
Edge --> L2[L2 Core Gateway
FastAPI · orchestration]
L2 --> L1[L1 Solver Layer
OR-Tools 9.15 CP-SAT
FJSP · CVRPTW · Packing · Sensitivity · Robust · Stochastic · Pareto · Prescriptive]
L2 --> L3[L3 Thin Proxies
Payment rails · MCP discovery]
L1 --> Obs[Observability
OpenTelemetry · Prometheus · Grafana Cloud]
L2 --> Obs
L3 --> Obs四层加上边缘代理,部署在6个铁路服务+1个Vercel功能上。所有层都配备了OpenTetry跟踪、Prometheus中间件和支付事件的Telegram警报。
技术栈
| 层 | 技术 |
|---|---|
| 运行时 | Python 3.12、FastAPI、Uvicorn |
| 求解器 | OR工具9.15 CP-SAT、NumPy、自定义蒙特卡洛 |
| MCP | FastMCP(SSE+流式HTTP)、ScaleKit OAuth 2.1、PyJWT |
| 验证 | Pydantic v2 |
| 可观察性 | OpenTetry SDK、Prometheus客户端、Grafana Cloud |
| 负载测试 | Locust 2.43 |
| CI | GitHub操作、pytest、pytest-cov |
| 部署 | 铁路(计算)、Vercel(边缘)、GitHub Actions(CI) |
能力
L1——确定性优化
| 求解器 | 问题 | 关键特性 |
|---|---|---|
| 调度 | 灵活作业车间(FJSP) | 优先级、时间窗口、每台机器的持续时间、可用性窗口、质量门、设置矩阵 |
| 路由 | CVRPTW | 容量、时间窗口、GPS距离、直接访问、4个目标 |
| 装箱 | 多维包装 | 重量+体积限制,物品数量,分组,部分包装,4个目标 |
L2——不确定性下的优化
| 模块 | 能力 | 输出 |
|---|---|---|
| 敏感性分析 | 一次一个参数扰动 | 脆弱性图、敏感性得分、临界标志、风险排名 |
| 稳健优化 | 不确定性范围→ 最坏情况保护 | 稳健的解决方案、稳健的代价、可行性 |
| 随机优化 | 概率分布→ 蒙特卡洛 | 预期值、VaR、CVaR(90/95/99%)、分布汇总 |
L2.5——多目标
| 模块 | 能力 | 输出 |
|---|---|---|
| 帕累托前沿 | 2-4个竞争目标 | 非主导解决方案、权衡比率、相关性分析 |
L3——规定性
| 模块 | 能力 | 输出 |
|---|---|---|
| 规定性建议 | 历史数据→ 预测→ 优化→ Risk → 建议 | 行动、风险调整后的完成时间、可行性风险评估 |
演出
生产基准总结(完整报告: BENCHMARKS.md):
- 已处理757个请求,0个失败 在20分钟的累积负载下
- 基础设施楼层:约200毫秒 (FastAPI+边缘代理+身份验证+可观察性开销)
- 5名用户同时使用时膝盖饱和 在当前的铁路等级上;系统在它之后会优雅地降级
- 瓶颈:求解器CPU,而不是基础设施——扩展路径在L1处是水平的,在网关处不是垂直的
实时Grafana仪表板: 公共仪表板/优化引擎
测试和CI

- 121测试 跨越7个求解器模块,全部通过
- 总覆盖率77%, 业务逻辑引擎平均88%
- 通过GitHub Actions对每个推送和拉取请求运行
- 覆盖率报告作为构建工件上传(HTML+XML)
测试套件练习真正的CP-SAT求解,而不是模拟:断言验证数学属性(CVaR排序、容量约束、扰动下的单调性),而不仅仅是代码路径。
v9.0.0亮点
四个调度引擎升级,缩小了学术FJSP与实际车间运营方式之间的差距。所有向后兼容v8请求。
每台机器的持续时间 --同一任务,不同机器上的不同时间:
{
"task_id": "milling",
"duration": 100,
"eligible_machines": ["CNC-1", "CNC-2"],
"duration_per_machine": {"CNC-1": 120, "CNC-2": 80}
}可用性窗口 --每台机器有多个班次和维护间隙:
{
"machine_id": "CNC-1",
"availability_windows": [
{"start": 0, "end": 480},
{"start": 510, "end": 960}
]
}质量门 --工作要求最低质量,机器有良率:
{ "job_id": "ORD-BOSCH", "quality_min": 0.97 }
{ "machine_id": "CNC-4", "yield_rate": 0.99 }设置时间矩阵 --顺序相关的转换成本:
{
"setup_times": [
{"machine_id": "M1", "from_job_id": "J1", "to_job_id": "J2", "setup_time": 15}
]
}快速开始
claude.ai(远程MCP连接器)
在设置下添加为远程MCP连接器→ 集成:
https://optim-engine-production.up.railway.app/mcp对于OAuth保护的端点:
https://optim-engine-production.up.railway.app/mcp/v2休息(卷曲)
curl -X POST https://optim-engine-production.up.railway.app/optimize_schedule \
-H "Content-Type: application/json" \
-H "X-Engine-Key: $ENGINE_API_KEY" \
-d '{
"jobs": [
{"job_id": "J1", "tasks": [
{"task_id": "cut", "duration": 30, "eligible_machines": ["M1", "M2"]},
{"task_id": "weld", "duration": 20, "eligible_machines": ["M2"]}
]}
],
"machines": [{"machine_id": "M1"}, {"machine_id": "M2"}],
"objective": "minimize_makespan"
}'MCP客户端配置
{
"mcpServers": {
"optim-engine": {
"url": "https://optim-engine-production.up.railway.app/mcp"
}
}
}验证案例研究:MetalPrecision(合成)
以意大利精密加工车间为蓝本的合成数据集——4个数控中心(2015-2023年份),5个以真实汽车/工业客户为蓝本的客户订单,15个任务。用于验证所有7个模块的求解器端到端行为。
| 工具 | 结果 |
|---|---|
optimize_schedule | 最佳完成时间225分钟,5/5准时,平均利用率83.3%,0.04秒 |
validate_schedule | 零违规,2条改进建议 |
analyze_sensitivity | 3.6秒内解决73个问题,识别出最敏感的参数(敏感度得分8.9) |
optimize_robust | 最坏情况210分钟,鲁棒性价格7.7%,100%可行性 |
optimize_pareto | 交易边界:195/15分钟vs 220/0分钟,相关性-1.0 |
optimize_stochastic | 30个蒙特卡洛方案,CVaR95=188.5,CV 4.7% |
prescriptive_advise | 预测+1.3%/期,风险调整范围167-183 |
数据集中的客户名称具有说明性。这不是实时客户部署;这是一个用于求解器验证和演示的基准场景。
生产部署
| 端点 | 角色 |
|---|---|
optim-engine-production.up.railway.app | L1+L2+L3计算(铁路,6项服务) |
| 边缘代理(Vercel) | CORS处理、头重写、边缘缓存 |
| claude.ai上的MCP连接器 | 克劳德客户的工具表面 |
发现
在上列出了代理经济发现 x402扫描, 铁匠铺,以及 402.ai系统支持Base和Solana上的x402微支付,用于支付层端点;支付集成记录在L3瘦代理层中,但不是该项目的主要重点。
许可证
麻省理工学院——见 许可证.
建造于 米歇尔 坎皮.
