2 分•作者: modinfo•7 个月前
返回首页
最新
26 分•作者: surprisetalk•7 个月前
49 分•作者: 1659447091•7 个月前
1 分•作者: mauvehaus•7 个月前
2 分•作者: pseudolus•7 个月前
2 分•作者: pseudolus•7 个月前
1 分•作者: emersonmacro•7 个月前
1 分•作者: jivaprime•7 个月前
大家好,
我整理了一个代码库,演示了如何从头开始直接在单个 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)进行比较感兴趣,请随时查看代码。
欢迎建设性的反馈!
1 分•作者: jm33077•7 个月前
2 分•作者: amywangyx•7 个月前
嗨,HN 社区,
我开发了 Fin2Cents,旨在帮助人们学习投资,避免真金白银的风险,也防止陷入模因股投机。
你可以每天使用均值-方差优化(马科维茨 / 1990 年诺贝尔奖)来构建并压力测试投资组合。除此之外,还有:
* 关于风险、回报和多元化的简短、游戏化的课程
* 一个实时排行榜,追踪你投资组合的每日(模拟)回报。
我试图解决的问题是:大多数人要么
1. 盲目追随潮流,或者
2. 完全避免投资,因为它让人感到害怕/不透明。
Fin2Cents 旨在走一条中间道路:帮助人们通过经过时间考验的理念,而不是靠感觉,来稳步积累财富。
非常欢迎 HN 社区提供关于产品、用户体验或整体方法的反馈。
iOS:<a href="https://apps.apple.com/us/app/fin2cents/id6754194187">https://apps.apple.com/us/app/fin2cents/id6754194187</a>(邀请码:2PZJmJ)。
乐于在评论中回答任何技术/产品问题。
2 分•作者: listic•7 个月前
3 分•作者: zerosizedweasle•7 个月前
1 分•作者: theolouvart•7 个月前
10 分•作者: Anon84•7 个月前
1 分•作者: throwaway81523•7 个月前
1 分•作者: jaixbhatia•7 个月前
1 分•作者: Michaelgathara•7 个月前
1 分•作者: nnx•7 个月前
1 分•作者: makeitdouble•7 个月前
1 分•作者: rickcarlino•7 个月前