Outline •1.改进搜索算法 •2.DClub选址问题 •3.沿可行改进方向的搜索 •4.可行改进方向的代数条件 •5.线性目标和凸集的易处理性
改进搜索算法 •一些优化模型的最优解能够通过显式表达式明确刻画出来,但绝大多数优化模型却只能通过数值搜索 (numerical search)的方法来求解,即依次尝试不同的决策变量取值,直到得到一个满意的结果。
•改进搜索算法(improving search)通过检查邻域来寻找比当前更好的解,若有改进,则替代当前解,继续迭代,直到邻域中没有更好的解为止。•x^0→x^1→x^2→…
•改进搜索又称为局部改进(local improvement)、爬山算法(hillclimbing)、局部搜索(local search)、或邻域搜索(neighborhoodsearch).
线性目标与凸集的易处理性 •线性目标函数具有易处理性,凸集具有易处理性,凸集和线性目标两者的易处理性相结合可以避免改进搜索算法在一个局部最优处停止,而无法达到全局最优的情况。
•对于一个具有线性目标和凸可行集的优化模型,若改进搜索算法在一个可行解x^∗处停止,且不存在可行改进方向,则x^∗是全局最优解。•对于具有线性目标和凸集的模型,局部最优解就是全局最优解。•如果线性规划具有全局最优解,那么改进搜索算法只可能在最优点处停止。•也就是说,线性规划的局部最优解就是全局最优解。
•全局视角与邻域视角
•对于便于绘图的优化模型,很容易观察到搜索路径是否可行,以及目标函数是否持续改进,因此寻找最优解并不困难。•然而,当模型中含有多个决策变量时,上述全局视角不再可行。