Math & Numbers
把平衡运输问题作为最小费用流求解(2–8 个供应地 × 2–8 个目的地,要求总供应 = 总需求,不平衡会提示先补哑行/哑列):每次增广沿残差网络中最短路径发货(SPFA 容忍残差弧的负费用),累计最短距离的相反数恰为 MODI 对偶变量 (u_i, v_j)。输出每次增广的路径与运量、完整运输方案、行列合计核对,以及 u/v 检验数矩阵与最优性证书(所有检验数 ≥ 0、基格 = 0)。经典例:3 供应地 [30,40,30]、4 目的地 [20,30,30,20]、单位运费 [[2,3,1,4],[4,2,5,3],[3,1,4,2]] → 最小总运费 200。
用三种语言从你的代码中调用此工具。
curl -X POST 'http://127.0.0.1:3003/zh/api/tools/transportation-problem' \
-H 'Content-Type: application/json' \
-d '{"costs":"2, 3, 1, 4\n4, 2, 5, 3\n3, 1, 4, 2","supply":"30, 40, 30","demand":"20, 30, 30, 20","decimalPlaces":4}'以 JSON 形式 POST 提交输入参数。文件类型参数需先单独上传。
POST http://127.0.0.1:3003/zh/api/tools/transportation-problem| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| costs | textarea | 是 | Unit shipping cost from each source (row) to each destination (column). 2–8 rows × 2–8 columns. |
| supply | text | 是 | Amount available at each source, one per matrix row (non-negative). |
| demand | text | 是 | Amount required at each destination, one per matrix column (non-negative). |
| decimalPlaces | number | 否 | — |
文本结果
{
"result": "Processed text content",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}将此工具加入你的 Model Context Protocol 服务,让 AI 智能体可以列出并调用它。
将以下内容加入你的 MCP 客户端配置:
{
"mcpServers": {
"elysiatools-transportation-problem": {
"name": "transportation-problem",
"description": "把平衡运输问题作为最小费用流求解(2–8 个供应地 × 2–8 个目的地,要求总供应 = 总需求,不平衡会提示先补哑行/哑列):每次增广沿残差网络中最短路径发货(SPFA 容忍残差弧的负费用),累计最短距离的相反数恰为 MODI 对偶变量 (u_i, v_j)。输出每次增广的路径与运量、完整运输方案、行列合计核对,以及 u/v 检验数矩阵与最优性证书(所有检验数 ≥ 0、基格 = 0)。经典例:3 供应地 [30,40,30]、4 目的地 [20,30,30,20]、单位运费 [[2,3,1,4],[4,2,5,3],[3,1,4,2]] → 最小总运费 200。",
"baseUrl": "http://127.0.0.1:3003/mcp/sse?toolId=transportation-problem",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}连接到 SSE 端点后,列出已开放的工具:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}通过工具 id 调用,参数由其参数表构建:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "transportation-problem",
"arguments": {
"costs": "2, 3, 1, 4\n4, 2, 5, 3\n3, 1, 4, 2",
"supply": "30, 40, 30",
"demand": "20, 30, 30, 20",
"decimalPlaces": 4
}
}
}有问题或反馈?请联系 [email protected]