The application of program transformation and algebraic methods to the development of efficient combinatorial optimization (CO) algorithms relies on an exhaustive combinatorial generator for the problem specification, followed by the fusion of thinning or filtering processes into this specification. However, the effectiveness of such fusion transformations critically depends on the structural compatibility between the objective function and the generator, which is highly problem dependent. In practice, when the majority of candidate solutions remain unfiltered or are not eliminated-as is the case for most intractable CO problems-the overall efficiency of the resulting fused program is largely determined by the intrinsic efficiency of the combinatorial generator. Consequently, if the specification itself exhibits suboptimal performance, the fused program will inherit a correspondingly inferior level of efficiency. We argue that a genuine designed process should also account for hardware compatibility and parallelizability-particularly the ability to support efficient parallel execution on modern hardware architectures, including multi-level cache hierarchies and GPUs. However, does achieving formal correctness necessarily conflict with designing algebraically elegant algorithms that support fusion? Can we obtain both simultaneously? In this paper, we show that techniques from functional programming, provide powerful formal tools for the systematic construction of such hardware-compatible and parallelizable combinatorial generators. This paper investigates generators for two of the most fundamental combinatorial structures-combinations and permutations-together with their natural extension to nested generators (e.g., combinations/permutations of combinations/permutations).


翻译:程序变换和代数方法在开发高效组合优化(CO)算法中的应用,依赖于对问题规范进行穷举组合生成,再将剪枝或过滤过程融合到该规范中。然而,这种融合变换的有效性关键取决于目标函数与生成器之间的结构兼容性,而这种兼容性高度依赖于具体问题。在实践中,当大部分候选解未被过滤或消除时——正如大多数难解组合优化问题的情况——最终融合程序的整体效率主要取决于组合生成器本身的固有效率。因此,如果规范本身性能欠佳,融合程序将继承相应低效的水平。我们认为,真正的设计过程还应兼顾硬件兼容性和可并行化能力——特别是支持在现代硬件架构(包括多级缓存层次结构和GPU)上高效并行执行的能力。然而,实现形式正确性是否必然与支持融合的代数学优雅算法设计相冲突?我们能否同时实现二者?在本文中,我们证明函数式编程技术为系统化构建此类硬件兼容且可并行化的组合生成器提供了强大的形式化工具。本文研究了两种最基本组合结构——组合与排列——的生成器,并进一步将其自然扩展到嵌套生成器(例如,组合/排列的组合/排列)。

0
下载
关闭预览

相关内容

生成器是一次生成一个值的特殊类型函数。可以将其视为可恢复函数。调用该函数将返回一个可用于生成连续 x 值的生成【Generator】,简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,而生成器内的所有变量参数都会被保存下来供下一次使用。
《用计算图变换加速实际工程设计优化》MIT 400页
专知会员服务
18+阅读 · 2025年11月7日
《图强化学习在组合优化中的应用》综述
专知会员服务
60+阅读 · 2024年4月10日
深度学习组合优化,30页ppt,阿姆斯特丹Wouter Kool讲授
专知会员服务
27+阅读 · 2021年2月27日
最新《图嵌入组合优化》综述论文,40页pdf
专知会员服务
78+阅读 · 2020年8月31日
最新《图嵌入组合优化》综述论文,40页pdf
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
最新内容
学习数据的几何:形状空间分析数学综述
专知会员服务
5+阅读 · 6月17日
定向能反无人机系统最新发展动态
专知会员服务
7+阅读 · 6月17日
从燃煤战舰到算法战争:水面指挥的永恒要求
专知会员服务
4+阅读 · 6月17日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员