组合(最)优化问题是
最优化问题的一类。最优化问题似乎自然地分成两类:一类是
连续变量的问题,另一类是
离散变量的问题。具有离散变量的问题,我们称它为组合的。在连续变量的问题里,一般地是求一组实数,或者一个函数;在组合问题里,是从一个
无限集或者可数无限集里寻找一个对象——典型地是一个整数,一个集合,一个排列,或者一个图。一般地,这两类问题有相当不同的特色,并且求解它们的方法也是很不同的。
组合优化(Combinatorial Optimization)问题的目标是从组合问题的
可行解集中求出
最优解,通常可描述为:令Ω={s1,s2,…,sn}为所有状态构成的
解空间,C(si)为状态si对应的
目标函数值,要求寻找最优解s*,使得对于所有的si∈Ω,有C(s*)=minC(si)。组合优化往往涉及排序、分类、筛选等问题,它是运筹学的一个重要分支。
旅行商问题(Traveling Salesman Problem-
TSP);
图着色问题(Graph Coloring Problem);
这些问题描述非常简单,并且有很强的工程
代表性,但最优化求解很困难,其主要原因是求解这些问题的算法需要极长的
运行时间与极大的
存储空间,以致根本不可能在现有计算机上实现,即所谓的“
组合爆炸”。正是这些问题的代表性和复杂性激起了人们对组合优化理论与算法的研究兴趣。