--- 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 :输入<…> 输出<…> 终止<…> 【性质】<最优性 / 收敛 / 复杂度结论> 【对比设计】消融版<…> + 已发表基线<…> + 实例来源<…> 【下一步】cjms-numerical-experiments ```