---
name: cjms-solution-algorithm
description: Use when choosing the solution route and delivering the algorithm section of a 《中国管理科学》 (Chinese Journal of Management Science) manuscript — exact vs heuristic vs learning-based, with pseudocode, property analysis, and baseline comparison. Covers solving the model; the experiments that showcase it belong to cjms-numerical-experiments.
---

# 求解与算法设计（cjms-solution-algorithm）

## 触发时机

- 模型建好了，只写"用 Gurobi 求解"一句话
- 自设计算法没有伪代码、没有性质分析、没有对比对象
- 审稿意见出现"算法创新性不足 / 为什么不用现成求解器"

## 核心：求解路线决策表

先答一个审稿人必问的问题：**这个模型为什么不能用现成方法直接解？**答案决定路线：

| 模型情形 | 求解路线 | 交付底线 |
|----------|----------|----------|
| 可转化为 LP/MIP/SOCP 且规模可解 | 商用求解器（Gurobi/CPLEX） | 转化过程 + 规模上限实测；算法不是贡献点 |
| 有特殊结构（可分解、单调、凸） | 精确算法（分支定界、列生成、L-shaped、DP） | 结构性质引理 + 收敛/最优性论证 |
| NP-难且实例大 | 启发式/元启发式（遗传、变邻域、ALNS） | 与精确解（小规模）和 ≥1 个已发表算法对比 |
| 序贯决策、环境可模拟 | 近似 DP / 强化学习 | 状态-动作-奖励设计依据 + 与规则策略对比 |
| 闭式可解 | 解析求解 | 解的结构性质（单调性、阈值形式）与比较静态 |

"因为想用某算法所以设计某模型"是倒置——路线必须由模型结构推出。

## 算法节交付底线（缺一即弱）

1. **伪代码**：编号 Algorithm 1，输入/输出/终止条件齐全，与正文记号一致。
2. **性质分析**：精确算法给最优性/收敛性；启发式给复杂度与关键算子的设计依据；不做性质分析的算法在本刊只能作为工具而非贡献。
3. **基线对比**：至少一个"不改进的自己"（去掉新算子的消融版）+ 一个已发表方法；只跟随机解比是无效对比。
4. **可复述性**：参数设置（种群、步长、温度……）全部列表，他人可复现。

## 改进型算法的命名纪律

对既有元启发式的改进，逐个改动点回答"针对本模型哪个结构、解决什么失效"；凑数式混合（"遗传 + 模拟退火 + 禁忌"三合一）没有结构理由时是减分项。

## 自检清单

- [ ] 回答了"为什么现成方法不够"，路线与模型结构匹配
- [ ] 伪代码完整、记号一致、可独立复述
- [ ] 性质分析到位（最优性/收敛/复杂度三选其适）
- [ ] 对比含消融版与已发表方法，实例规模覆盖小/中/大
- [ ] 全部算法参数列表化，随机种子与实现环境写明
- [ ] 求解时间与解质量同时报告，不只报其一

## 本刊算法节的外审期待

| 退稿信号（审稿常用语） | 根因 | 本刊期望的修法 |
|------------------------|------|----------------|
| "为何不直接用商用求解器" | 路线理由缺失 | 报告求解器在目标规模的实测失败点（时间/内存），再引出自设计算法 |
| "算法创新性不足" | 通用元启发式贴标签 | 每个改动点对应模型结构，写成"结构 X → 算子 Y" |
| "对比实验不充分" | 无消融、基线过弱 | 补消融版 + 近三年已发表算法 + 公共测试集 |
| "参数如何确定" | 调参过程黑箱 | 参数表 + 标定协议（网格/irace），区分调参集与测试集 |
| "结果不可复现" | 无种子、无环境说明 | 种子、硬件、软件版本、时间限制全列 |

## 微型走查：一次消融设计

虚构稿件为上文应急预置模型设计了"情景聚类加速的列与约束生成"（CCG-C）。对比矩阵：

```
算法组：CCG-C（完整）
消融组：CCG-0（去掉情景聚类，标准 CCG）→ 检验聚类环节的贡献
基线组：Benders 分解（已发表同型方法）、Gurobi 直解（规模上限对照）
实例组：小(10仓)——四种方法齐跑，验证 CCG-C 与精确解一致；
        中(50仓)/大(200仓)——报解质量差距与时间，Gurobi 标注超时点
指标：目标值 gap%、求解时间（均值±标准差，10 次重复，种子 1–10）
```

写法要点：CCG-C 只赢在大实例是正常结果，如实报告小实例上无优势——审稿人对"全线碾压"的表格反而起疑。

## 反模式

- "求解器一句话"式算法节：模型是 MIP 却宣称算法贡献
- 新算法只在自造实例上赢，回避标准测试集或已有实例
- 复杂度分析套模板，与实际实现的算子不对应
- 强化学习包装：奖励函数即目标函数、无对比策略，只为贴"智能"标签

## 输出格式

```
【路线判定】求解器 / 精确算法 / 启发式 / 学习型 / 解析（理由一句话）
【伪代码】Algorithm <n>：输入<…> 输出<…> 终止<…>
【性质】<最优性 / 收敛 / 复杂度结论>
【对比设计】消融版<…> + 已发表基线<…> + 实例来源<…>
【下一步】cjms-numerical-experiments
```
