1作者: jivaprime2 个月前原帖
大家好, 我整理了一个代码库,演示如何从零开始在单个 TSPLIB 实例(lin318)上直接训练 PPO——无需预训练或 GPU。 代码库链接:[https://github.com/jivaprime/TSP](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% 的结果出现在经过时间为 0:19:49 时。虽然平均误差在 3% 到 4% 之间波动,但该策略成功找到了一个深的盆地,3-opt 可以利用。 3. 扩展实验:智能 ILS 和 rd400 我扩展了流程,使用“智能 ILS”(迭代局部搜索)后处理,看看我们是否能达到精确的最优解。 A. lin318 + ILS 以 PPO 生成的路径(0.08% 差距)作为种子。 运行智能 ILS 大约 20 分钟。 结果:达到了精确的最优解(42,029)。 B. rd400 + ILS PPO 阶段:在 CPU 上约 2 小时。生成的路径差距约为 1.9%。 ILS 阶段:使用 PPO 路径作为种子。运行约 40 分钟。 结果:达到了 0.079% 的差距(成本 15,293 对比最优解 15,281)。 总结 该工作流程有效地分离了关注点: PPO:引导搜索进入高质量的盆地(1% - 2% 差距)。 ILS:在该盆地内深入挖掘以找到最优解。 如果您对实例级的强化学习、基于 CPU 的优化,或与 ML-TSP 基线(POMO、AM、NeuroLKH)进行比较感兴趣,欢迎查看代码。 欢迎建设性的反馈!
2作者: amywangyx2 个月前原帖
嘿,HN社区, 我创建了Fin2Cents,旨在帮助人们在不冒真实资金风险或陷入“迷因股”赌博的情况下学习投资。 您可以每天使用均值-方差优化(马科维茨 / 1990年诺贝尔奖)构建和压力测试投资组合。此外,还有: • 简短、游戏化的课程,讲解风险、收益和多样化 • 实时排行榜,跟踪您投资组合的每日(模拟)收益。 我试图解决的问题是:大多数人要么 1. 随意投资于任何热门趋势,或者 2. 完全避免投资,因为这让人感到恐惧/不透明。 Fin2Cents旨在寻找一条中间道路:帮助人们以经过时间考验的理念平静地积累财富,而不是凭感觉。 希望能得到HN社区的反馈——无论是关于产品、用户体验,还是整体方法。 iOS下载链接: [https://apps.apple.com/us/app/fin2cents/id6754194187](https://apps.apple.com/us/app/fin2cents/id6754194187)(邀请码:2PZJmJ)。 欢迎在评论中提出任何技术或产品方面的问题。