Token导航 LogoToken导航TokenDH.com
Constrained Optimization MCP Server logo
金融服务stdio官方级别未说明来源级核验

Constrained Optimization MCP Server

MCP Server

一个通用的模型上下文协议(MCP)服务器,用于解决具有逻辑和数值约束的组合优化问题,提供统一的接口支持多种优化求解器。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
Python金融数据数据分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Sharmarajnish

提供方

Sharmarajnish

最后核验

2026/5/17 20:19

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install constrained-opt-mcp

详细介绍

约束优化MCP服务器

一种通用的模型上下文协议(MCP)服务器,用于解决具有逻辑和数值约束的组合优化问题。该服务器为多个优化求解器提供了一个统一的接口,使人工智能助手能够解决各个领域的复杂优化问题。

🚀 特性

  • 统一接口:用于多个优化后端的单个MCP服务器
  • AI就绪:设计用于通过MCP协议与AI助手一起使用
  • 投资组合重点:投资组合优化和风险管理的专用工具
  • 可扩展:模块化设计,便于添加新的求解器
  • 高性能:针对大规模问题进行了优化
  • 健壮:全面的错误处理和验证

🛠️ 支持的求解器

  • Z3 -用于约束满足问题的SMT求解器
  • CVXPY -凸优化求解器
  • HiGHS -线性和混合整数规划求解器
  • OR-Tools -约束编程求解器

📦 安装

# Install the package
pip install constrained-opt-mcp

# Or install from source
git clone https://github.com/your-org/constrained-opt-mcp
cd constrained-opt-mcp
pip install -e .

📐 数学基础

最优化理论

约束优化MCP服务器实现了各类优化问题的解决方案:

线性规划(LP)

$$\\min\_{x}c^T x\\quad\\text{受限于}\\quad Ax\\leq b,\\quad x\\geq 0$$

二次规划(QP)

$$\\min\_{x}\\frac{1}{2}x^T Q x+c^ T x\\quad\\text{受限于}\\quad Ax\\leq b,\\quad x\\geq 0$$

凸优化

$$\\min\_{x}f(x)\\quad\\text{服从}\\quad-g_i(x)\\ leq 0,\\quad-h_j(x)=0$$

其中$f$和$g_i$是凸函数。

约束满足问题(CSP)

找到$x\\in\\mathcal{D}$,这样$C_1(x)\\land C_2(x)\\ land \\ldots\\land C_k(x)$

投资组合优化(Markowitz)

$$\\max\_{w}\\mu^T w-\\frac{\\lambda}{2}w^T\\Sigma w\\quad\\text{受\\quad\\sum\_{i=1}^{n}w_i=1,\\quadw_i\\geq 0约束$$

哪里:

  • $w$:投资组合权重
  • $\\mu$:预期回报
  • $\\Sigma$:协方差矩阵
  • $\\lambda$:风险规避参数

求解器能力

问题类型求解器复杂性数学形式
约束满足Z3NP完全逻辑约束
凸优化CVXPY多项式凸函数
线性规划HiGHS多项式线性约束
约束编程OR工具NP完全离散域

🚀 快速开始

1.运行示例

# Run individual examples
python examples/nqueens.py
python examples/knapsack.py
python examples/portfolio_optimization.py
python examples/job_shop_scheduling.py
python examples/nurse_scheduling.py
python examples/economic_production_planning.py

# Run interactive notebook
jupyter notebook examples/constrained_optimization_demo.ipynb

2.启动MCP服务器

constrained-opt-mcp

3.从AI助手连接

将服务器添加到MCP配置中:

{
  "mcpServers": {
    "constrained-opt-mcp": {
      "command": "constrained-opt-mcp",
      "args": []
    }
  }
}

4.使用工具

服务器提供以下工具:

  • solve_constraint_satisfaction -解决逻辑约束问题
  • solve_convex_optimization -解决凸优化问题
  • solve_linear_programming -解决线性规划问题
  • solve_constraint_programming -解决约束规划问题
  • solve_portfolio_optimization -解决投资组合优化问题

📚 例子

约束满足问题

# Solve a simple arithmetic constraint problem
variables = [
    {"name": "x", "type": "integer"},
    {"name": "y", "type": "integer"},
]
constraints = [
    "x + y == 10",
    "x - y == 2",
]

# Result: x=6, y=4

投资组合优化

# Optimize portfolio allocation
assets = ["Stocks", "Bonds", "Real Estate", "Commodities"]
expected_returns = [0.10, 0.03, 0.07, 0.06]
risk_factors = [0.15, 0.03, 0.12, 0.20]
correlation_matrix = [
    [1.0, 0.2, 0.6, 0.3],
    [0.2, 1.0, 0.1, 0.05],
    [0.6, 0.1, 1.0, 0.25],
    [0.3, 0.05, 0.25, 1.0],
]

# Result: Optimal portfolio weights and performance metrics

线性规划

# Production planning problem
sense = "maximize"
objective_coeffs = [3.0, 2.0]  # Profit per unit
variables = [
    {"name": "product_a", "lb": 0, "ub": None, "type": "cont"},
    {"name": "product_b", "lb": 0, "ub": None, "type": "cont"},
]
constraint_matrix = [
    [2, 1],  # Labor: 2*A + 1*B <= 100
    [1, 2],  # Material: 1*A + 2*B <= 80
]
constraint_senses = ["<=", "<="]
rhs_values = [100.0, 80.0]

# Result: Optimal production quantities

投资组合示例

  • 投资组合优化 -先进的投资组合优化策略,包括Markowitz、Black Litterman和ESG约束优化
  • 风险管理 -风险管理策略,包括风险价值优化、压力测试和对冲

增强的投资组合优化功能

股权投资组合优化:

  • 部门多样化限制(每个部门最多25%)
  • 市值限制(大、中、小盘股配置)
  • ESG(环境、社会、治理)约束
  • 流动性要求和个人头寸限额
  • 使用高级指标进行风险回报优化

多资产组合优化:

  • 资产类别限制(股权、固定收益、替代品、现金)
  • 区域风险敞口限额(发达市场与新兴市场)
  • 替代投资限制(商品、房地产、私募股权)
  • 动态再平衡和风险预算
  • 考虑交易成本的多周期优化

高级风险度量:

  • 风险价值(VaR)和条件风险价值(CVaR)
  • 最大提款和尾部风险
  • 因素暴露分析和风险归因
  • 压力测试和情景分析
  • 相关性和集中度风险管理

综合示例

🎯 组合优化

🏭 日程安排和运营

📊 数量经济与金融

🧮 互动式教学法

🧪 测试

运行综合测试套件:

# Run all tests
pytest

# Run specific test categories
pytest tests/test_z3_solver.py
pytest tests/test_cvxpy_solver.py
pytest tests/test_highs_solver.py
pytest tests/test_ortools_solver.py
pytest tests/test_mcp_server.py

# Run with coverage
pytest --cov=constrained_opt_mcp

📖 文档

🏗️ 建筑

核心组件

  1. 核心型号 (constrained_opt_mcp/core/)-基类和问题类型
  2. 求解器模型 (constrained_opt_mcp/models/)特定问题的模型定义
  3. 解算器 (constrained_opt_mcp/solvers/)-求解器实现
  4. MCP服务器 (constrained_opt_mcp/server/)-MCP服务器实施
  5. 例子 (constrained_opt_mcp/examples/)-使用示例和演示

支持的问题类型

问题类型求解器用例
约束满足Z3逻辑谜题、验证、规划
凸优化CVXPY投资组合优化、机器学习
线性规划HiGHS生产计划、资源分配
约束编程OR工具调度、分配、路由
投资组合优化多元风险管理、投资组合构建

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 运行测试套件
  6. 提交拉取请求

📄 许可证

此项目根据Apache许可证2.0获得许可。请参阅 许可证 文件以获取详细信息。

🆘 支持

如有疑问、问题或意见,请:

  1. 检查 文档
  2. 搜索 现有问题
  3. 创建一个 新发行的
  4. 加入我们 讨论

📈 更新日志

版本1.0.0

  • 初始版本
  • 支持Z3、CVXPY、HiGHS和OR工具
  • 投资组合优化示例
  • 全面的测试套件
  • MCP服务器实现

目录标签

目录标签

Python金融数据数据分析组合优化本地部署数学模型求解金融优化调度优化约束求解

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP