苏联的优化实践(2016)

Hacker News Top 新闻

摘要

本文探讨了苏联经济规划与现代数据科学实践之间的相似之处,重点关注资源分配和基于历史书籍的简化假设等问题。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/08/20 19:17

# 苏联的优化之道 来源:https://chris-said.io/2016/05/11/optimizing-things-in-the-ussr/ 2016年5月11日 作为一名数据科学家,我的主要工作是选择需要优化的指标,并思考如何尽可能高效地完成工作。带着这些问题,我最近发现了一本关于苏联经济问题以及一群希望解决这些问题的数据驱动经济学家和计算机科学家的迷人书籍。这本书名为《红色丰饶》(http://www.amazon.com/Red-Plenty-Francis-Spufford/dp/1555976042)。它奇怪地写成了一部小说,但仍然准确地呈现了苏联的经济史。它大量参考了1973年的一本早期著作《苏联的计划问题》(http://www.amazon.com/Planning-Problems-USSR-Contribution-Mathematical/dp/0521202493),我也拿来了阅读。在阅读这些书籍时,我不禁注意到它们与任何现代组织规划的相似之处。令当今任何数据科学家都熟悉的是,第二本书甚至引用了一位研究人员的抱怨,他说他90%的时间都在清理数据,只有10%的时间用于实际建模! 除了这些与现代数据科学和运筹学有趣的相似之处外,这些书籍还帮助我理解了许多以前知之甚少的有趣事物,例如线性规划、价格均衡和苏联历史。这篇博文就是关于我的收获。 #### 资产负债表和手工计算:一团糟 苏联计划经济体制下的主要任务是分配资源,以生产出所需的商品和服务组合。每年都会为每种商品设定目标产出。根据可用投入资源的估算,中央管理者使用资产负债表为每个工厂制定计划,明确规定每个工厂将获得多少投入商品以及应生产多少产出。直到20世纪60年代,这一直是通过手工计算完成的。由于有数十万种商品,而且供应链有许多依赖环节,不可能计算出整个经济的完整资产负债表。因此,管理者决定做一些简化的假设。这些简化假设导致资源分配变得一团糟。以下是一些简化方式及其后果。 - **通过剔除变量进行降维。** 由于要跟踪的商品太多,管理者经常将其分析限制在经济中最重要的10,000种商品上。但是,当为这些商品制定计划时,那些产出没有被中央计划但作为10,000种计划产品之一的投入品的商品,往往存在隐性短缺。依赖这些商品的工厂常常闲置数月,等待短缺结束。 - **通过聚合进行降维。** 显然,钢管可以有成千上万种不同类型。它们可以有不同的长度、形状和成分。为了降低问题的维度,管理者通常在模型中只跟踪少数几大类钢管的总吨位,而不是使用更详细的分类方案。虽然他们的模型成功地平衡了各大类管道的吨位(管道生产工厂的产出吨位与管道消耗工厂的投入需求吨位相匹配),但某些特定类型的管道经常出现过剩,而其他特定类型的管道则出现短缺。特别是,由于以吨位作为指标,管道生产厂被过度激励去生产容易制造的厚壁管。结果,薄壁管总是供不应求。 - **仅向前回溯几级进行调整传导。** 假设在资产负债表计算过程中,管理者意识到需要提高某种商品的目标产出。如果他们这样做,那么也需要提高作为该目标商品投入品的那些商品的产出目标。但如果他们做了*那个*,他们还需要提高作为这些商品投入品的那些商品的产出目标,依此类推!每次调整都需要进行大量额外的手工计算。为了简化,管理者通常只对一级供应商进行调整,而不对供应商的供应商进行必要的调整。这当然导致了关键投入商品的严重短缺,进而再次造成工厂闲置。 **图1.** 1951年苏联经济中的一些投入产出示例,以重量单位描述。此摘要展示了极端的降维,比规划中实际使用的程度更甚。在此图中,大多数商品被排除,每种显示的商品都折叠了多种产品类型。供应链的多个步骤被压缩为单个步骤。(来源:CIA (http://www.foia.cia.gov/sites/default/files/document_conversions/89801/DOC_0000380738.pdf)) 即使管理者能够做对会计处理(实际上他们做不到),他们分配资源的努力也远非最优。例如,在钢铁行业,一些工厂更擅长生产某些类型的管道,而另一些则更擅长生产其他类型。由于有成千上万的不同工厂和管道类型,决定如何最佳地分配资源和产出要求并非易事,哪些工厂应该扩张、哪些应该关闭也并非显而易见。 #### 供应链优化 在20世纪60年代末,一群被称为“最优规划者”的经济学家和计算机科学家开始推动一种更好的方法。该小组认为,一种由列昂尼德·康托罗维奇(https://en.wikipedia.org/wiki/Leonid_Kantorovich)发明的称为线性规划(https://www.math.ucla.edu/~tom/LP.pdf)的技术,可以优化地解决供应链问题。至少,由于该过程可以计算机化,因此可以进行比手工更详细的计算,减少降维。更重要的是,线性规划允许你在给定约束条件下优化任意目标函数。就供应链而言,它展示了如何高效分配资源,确定哪些高效工厂应获得更多投入商品,哪些低效工厂应被关闭。 **图2.** 列昂尼德·康托罗维奇,线性规划的发明者,1975年诺贝尔经济学奖得主。 最优规划者在这方面取得了一些成功。例如,在钢铁行业,约有60,000家消费者向500家生产者订购10,000种不同类型的产品。生产者的生产效率并不相同。一些生产者对某些类型的钢铁产品效率高,但对其他类型则效率较低。给定每种产品的总需求量,以及每个工厂的生产能力约束,目标是决定每个工厂应生产每种产品的数量。如果我们简化问题,只问每个工厂应生产多少,而不考虑产品将如何分配给消费工厂,这就变成了最优分配问题(https://www.math.ucla.edu/~tom/LP.pdf)的直接应用,这是线性规划中一个经过充分研究的例子。如果我们还想优化分配,考虑从一个工厂到另一个工厂的距离相关运输成本,问题会变得更复杂,但仍然可解。该问题变得类似于运输问题(https://www.math.ucla.edu/~tom/LP.pdf),另一个在得到充分研究的线性规划例子,但这里被推广到多种商品而非单一商品。 通过引入线性规划,最优规划者在提高某些行业效率方面取得了适度成功,但他们的影响有限。首先,政治因素阻碍了模型提出的许多建议的实施。那些已知效率太低或离消费者太远的水泥工厂,即使最优解决方案建议关闭,仍被允许继续运营。其次,由于规划者只被允许在经济的某些狭窄领域工作,他们从未有机会将其建议在供应链中向后传播,尽管可以想象扩展模型来做到这一点。第三,也许最重要的是,每种商品的价值是由老派管理者以任意方式设定的,因此最优规划者被迫优化那些甚至没有意义的目标函数。 #### 关于优化整个经济的想法 虽然最优规划者能够提高少数几个行业的效率,但他们有着更雄心勃勃的计划。他们相信,他们可以利用线性规划来优化整个经济,并超越资本主义社会。做到这一点不仅仅是扩展某些行业采用的供应链优化。它涉及影子价格和利率,以及其他一些我承认不完全理解的东西。但虽然我不太理解具体的实现方式,我觉得规划者的更广泛目标更容易理解和解释: 基本上,在一个完全自由的市场中,至少在某些假设(https://en.wikipedia.org/wiki/Arrow%E2%80%93Debreu_model)下,价格被认为会收敛到所谓的“一般均衡”。均衡价格具有一些很好的特性。它们平衡了总供给和需求,因此没有商品出现短缺或过剩。它们还是帕累托有效(https://en.wikipedia.org/wiki/Pareto_efficiency)的,这意味着经济中的任何人都无法在不使他人境况变差的情况下变得更好。 最优规划者认为他们能做得更好。特别地,他们指出了资本主义的两个问题:首先,资本主义社会的价格是由个体参与者通过反复试验来猜测最佳价格。这些信息不完美的参与者,当然没有选择完全最优的价格。相反,一个使用最优计算机化方法的中央规划者可以选择更精确地达到均衡的价格。其次,更重要的是,资本主义瞄准的目标函数虽然帕累托有效,但并非社会最优。由于巨大的财富差异,一些人能够获得远多于其他人的商品和服务。最优规划者提议使用线性规划来优化一个对社会更优化的目标函数。例如,它可以旨在更公平地分配商品。它可以优先考虑某些具有社会价值的商品(例如书籍),而不是具有社会破坏性的商品(例如酒精)。它可以优先考虑那些提供长期利益的部门(例如重工业)。并且它可以包括约束条件以确保充分就业。 #### 结果如何 这一切从未真正发生。最优规划者的雄心勃勃的想法从未被采纳,到20世纪70年代,很明显苏联的生活水平正进一步落后于西方。也许如果最优规划者如愿以偿,情况会好一些,但似乎共识是,即使他们的计划得到实施也会失败。以下是将会遇到的一些主要问题。 - **计算复杂性。** 正如Cosma Shalizi(http://crookedtimber.org/2012/05/30/in-soviet-union-optimization-problem-solves-you/)在一篇精彩的博客文章中所描述的那样,解决一个线性规划问题所需的计算次数是:\(\ (m+n)^{3/2} n^2 \log(1/h)\),其中\(n\)是产品数量,\(m\)是约束数量,\(h\)是愿意容忍的误差大小。由于产品数量\(n\)高达数百万,且复杂度与\(n^{3.5}\)成正比,苏联人实际上不可能计算出足够详细的规划问题解(尽管见下文)。任何试图降低维度的尝试都会导致与以前手工计算驱动的系统相同的扭曲激励和短缺问题。 - **数据质量。** 最优规划者认为,最优计算机方法可以找到比市场经济中通过反复试错来猜测价格的人类参与者更精确近似均衡的价格。然而,现实可能恰恰相反。市场经济中的个体参与者非常了解他们的本地需求和约束,而中央规划者基本上不知道发生了什么。例如,中央规划者没有关于工厂何时未能收到货物的良好信息,也没有对某些设备比其他设备高效多少有准确的感知。更糟糕的是,为了获得更多资源,苏联的工厂经理们经常*对*中央规划者*谎报*他们的生产能力。情况变得如此糟糕,以至于根据(https://books.google.com/books?id=Jlmm9GZqxkoC&printsec=frontcover#v=onepage&q&f=false)苏联深层国家机密(http://crookedtimber.org/2012/05/30/in-soviet-union-optimization-problem-solves-you/#comment-416126)之一,中央规划者更喜欢使用CIA对某些俄罗斯商品的分析,而不是当地党领导的报告!考虑到CIA将其自己的数据描述为质量“令人衰弱”(http://www.foia.cia.gov/sites/default/files/document_conversions/89801/DOC_0000380738.pdf),这尤其疯狂。 - **非线性。** 最优规划者假设线性,例如,假设工厂生产第1000个小部件的成本与生产第一个小部件的成本相同。在现实世界中,这显然是错误的,因为存在规模报酬递增。可以对规模报酬递增建模,但在计算上会变得更难求解。 - **选择目标函数。** 选择社会应该重视什么实际上是一个政治问题,Cosma Shalizi(http://crookedtimber.org/2012/05/30/in-soviet-union-optimization-problem-solves-you/)非常出色地描述了为什么达成一致会如此困难。 - **创新的激励。** 中央规划者无法为尚不存在的产品确定资源分配,更重要的是,他们和工厂都没有太多发明新产品的动力。这就是为什么苏联仍然如此专注于钢铁/煤炭/水泥经济,而西方国家则将重点转向塑料和微电子。 - **政治阻力。** 正如前面的例子所描述的,基于模型的关闭某些工厂的建议因政治原因被忽视。更广泛经济的许多建议很可能也会被忽视。例如,如果一台计算机建议在冬季将取暖油价格翻倍,有多少政客会让这件事发生? #### 未来是否可能奏效? 如果最优规划者的想法在当时被采纳,它们本会失败。但未来呢?再过一百年,我们能

相似文章

精简您的智能开销(13分钟阅读)

TLDR AI

本文主张企业应通过为不同任务选用适配规模的模型与混合系统来优化AI智能开销,而非对所有应用都默认采用昂贵的前沿模型。

停止优化令牌,开始优化成果

Reddit r/AI_Agents

作者讨论了AI成本优化策略,强调以结果为导向的方法,例如请求标记、预算预留以及防止重试和循环造成的浪费。

系统优化应成为CI/CD的一部分

Hacker News Top

这篇博客文章介绍了LEVI,一个用于AI驱动系统研究(ADRS)的框架,该框架通过对大多数变异使用较小模型,并保留大型模型用于范式转换,降低了算法发现的成本,实现了3-7倍的成本降低。文章主张将ADRS集成到CI/CD中,以实现每次部署的持续定制优化。

优化并非万能

arXiv cs.AI

本文通过‘优化文化’的视角分析语言模型的对齐问题,认为对可衡量改进的专注已将人工智能从探索性参与转变为行政性单调工作,并且优化过程无法区分错误与发明。