1作者: jivaprime7 个月前
大家好, 我整理了一个代码库,演示了如何从头开始直接在单个 TSPLIB 实例(lin318)上训练 PPO,无需预训练或 GPU。 代码库:https://github.com/jivaprime/TSP 1. 实验设置 问题:TSPLIB lin318 (最优解:42,029) & rd400 硬件:Google Colab(仅 CPU) 模型:单实例 PPO 策略 + 价值网络。从随机初始化开始。 局部搜索:训练期间使用轻量级 2-opt,评估时使用 Numba 加速的 3-opt。 核心概念:该策略并非设计为“稳定的平均误差最小化器”,而是作为一种高方差的探索者。目标不是保持平均差距较低,而是偶尔“激发出”局部搜索可以优化的极低误差巡回路线。 2. 结果:lin318 最佳结果:42,064(差距 ≈ +0.08%) 时间:在 Colab CPU 上大约 20 分钟内达到。 根据日志(包含在代码库中),低于 0.1% 差距的结果出现在 elapsed=0:19:49 左右。虽然平均误差在 3-4% 左右波动,但该策略成功地找到了一个 3-opt 可以利用的深盆地。 3. 扩展实验:Smart ILS & rd400 我使用“Smart ILS”(迭代局部搜索)后处理扩展了流程,以查看我们是否可以达到确切的最优解。 A. lin318 + ILS 将 PPO 生成的巡回路线(0.08% 差距)作为种子。 运行 Smart ILS 大约 20 分钟。 结果:达到了确切的最优解(42,029)。 B. rd400 + ILS PPO 阶段:在 CPU 上大约 2 小时。产生了大约 1.9% 差距的巡回路线。 ILS 阶段:使用 PPO 巡回路线作为种子。运行大约 40 分钟。 结果:达到了 0.079% 的差距(成本 15,293 vs 最优解 15,281)。 总结 该工作流程有效地分离了关注点: PPO:将搜索引向高质量的盆地(1-2% 的差距)。 ILS:在该盆地内深入挖掘以找到最优解。 如果您对实例级别的强化学习、基于 CPU 的优化或与 ML-TSP 基线(POMO、AM、NeuroLKH)进行比较感兴趣,请随时查看代码。 欢迎建设性的反馈!
2作者: amywangyx7 个月前
嗨,HN 社区, 我开发了 Fin2Cents,旨在帮助人们学习投资,避免真金白银的风险,也防止陷入模因股投机。 你可以每天使用均值-方差优化(马科维茨 / 1990 年诺贝尔奖)来构建并压力测试投资组合。除此之外,还有: * 关于风险、回报和多元化的简短、游戏化的课程 * 一个实时排行榜,追踪你投资组合的每日(模拟)回报。 我试图解决的问题是:大多数人要么 1. 盲目追随潮流,或者 2. 完全避免投资,因为它让人感到害怕/不透明。 Fin2Cents 旨在走一条中间道路:帮助人们通过经过时间考验的理念,而不是靠感觉,来稳步积累财富。 非常欢迎 HN 社区提供关于产品、用户体验或整体方法的反馈。 iOS:<a href="https:&#x2F;&#x2F;apps.apple.com&#x2F;us&#x2F;app&#x2F;fin2cents&#x2F;id6754194187">https:&#x2F;&#x2F;apps.apple.com&#x2F;us&#x2F;app&#x2F;fin2cents&#x2F;id6754194187</a>(邀请码:2PZJmJ)。 乐于在评论中回答任何技术/产品问题。