组合优化(Combinatorial Optimization)问题的目标是从组合问题的可行解集中求出最优解,通常可描述为:令Ω={s1,s2,…,sn}为所有状态构成的解空间,C(si)为状态si对应的目标函数值,要求寻找最优解s*,使得对于所有的si∈Ω,有C(s*)=minC(si)。组合优化往往涉及排序、分类、筛选等问题,它是运筹学的一个重要分支。
凸优化和非凸优化,之所以要研究凸优化问题是因为其有一套非常完备的求解算法,如果将某个优化问题确认或者转化为
凸优化问题,那么能够快速给出最优解。
在MATLAB软件里面有相应的软件包,可以用来学习。
也可以利用其他的开源的计算软件,利用现成的软件包来解决凸优化问题。
数学规划的经典范例是在输入数据准确知道并且等于某些标称值的假设条件下建立模型,并利用已有的数学规划求解方法得到最优解。 这种方法没有考虑数据不确定性的影响。因此, 当数据的取值不同于标称值时, 一些约束可能不满足,原来得到的最优解可能不再最优甚至变得不可行。因此, 需要找到一种优化方法使得优化解免受数据不确定性的影响,这种方法就是鲁棒优化方法。
鲁棒优化的目的是求得这样一个解,对于可能出现的所有情况,约束条件均满足,并且使得最坏情况下的目标函数的函数值最优。 其核心思想是将原始问题以一定的近似程度转化为一个具有多项式计算复杂度的凸优化问题。鲁棒优化的关键是建立相应的鲁棒对等模型。然后利用相关的优化理论将其转化为可求解的“近似”鲁棒对等问题。并给出鲁棒最优解。