由于最近师兄毕业在即,需要继承“伟大的”课题组成果,也为了顺利毕业,特地记录学习数值优化的过程!
参考书:Numerical Optimization(Jorge Nocedal 、Stephen J. Wright)
第一章-介绍
1.数学公式
简单介绍了优化算法在经济领域、自然科学领域的广泛性,并且强调了优化算法作为重要工具应用在了决策科学和物理系统分析上,但是首先需要确定一些目标,这些目标可以是利润、时间、势能、数量和数量组合,只要能用一个数字来表示它们。我们的目标就是找到最优化目标的变量的值,建立恰当的模型往往是最主要的第一步,通常没有通用的优化算法,而是优化算法的集合,每个优化算法都针对一类特定的优化问题,因此,选择一个合适的优化算法往往显得尤为重要。从数学方面来讲,优化是指在变量的约束下,求一个客观函数的最大值或者最小值
2.例子:一个运输问题
基本信息如下:
工厂2个:F1、F2
零售店12个,分别是R1、R2、R3、R4、R5、R6、、、、、R12
每一个工厂Fi每周能够生产ai吨化学产品,每一个零售店Rj每周需要bj吨产品,从工厂Fi每运送1吨产品到零售店Rj的运输费用为cij
分析:
(1)确定变量Xij,i=1,2 j=1,,,,,12;(Xij为从工厂Fi运送到零售店Rj化学产品的吨数)
(2)用数学语言描述问题:
显然这是一个线性问题,但如果加入另外一个因素,此问题就会变成非线性,如考虑到运输图中产品会出现损耗,即(δ>=0),因为此时的目标函数Z(xij)不再是一个线性函数。
3.连续优化和离散优化
连续:存在无数多个值
离散:存在有限个值
混合整型规划问题(MIPs):如果在问题中的一些变量没有严格成为整数或者二元变量,此类问题称为混合整型规划问题,简写为MIPs(mixed integer programming problems)。
连续离散难度对比:连续问题相较于离散问题是较为简单的,因为函数的平滑性决定了连续问题较易解决,但是相较之下,离散问题不是很好解决,因为即便用一些方法找到两个相近的可行点,也会使得目标函数和约束条件变得明显不一样。
连续问题的优化方法往往在解决离散问题优化中有着重要的作用
4.约束优化和无约束优化
(1)线性规划问题:当目标函数和所有的约束条件都是关于X的线性函数时,这样的问题称为线性规划问题
(2)非线性规划问题:当目标函数和部分的约束条件都是关于X的线性函数时,这样的问题称为非线性规划问题;多见于物理和工程问题,也广泛使用在管理和经济科学领域
5.全局优化和局部优化
(1)局部解:此点的目标函数值远远小于周围可行域的点的目标函数值
(2)全局解:此点的目标函数值是所有可行域的点的目标函数值的最小值
存在情况:对于许多特殊的线性规划问题和凸规划问题局部解往往也是全局解,对于大多数非线性的规划问题,无论是有约束还是无约束,其可能只拥有局部解而没有全局解
在本书中,仅仅在传递和关注局部解的计算和表征中处理全局优化,然而许多成功的全局优化算法需要更多的局部优化问题的解法
6.随机和确定性优化
(1)随即优化
(2)确定性优化
确定性优化问题(模型已知)在本书中将重点讲解,随机优化(模型未知)则浅尝辄止
7.凸度
(1)应用领域:集合+函数
(2)凸集合:
如果连接S中任何两点x和y的直线段完全位于S内,则集合是凸集形式化表达为
凸函数:
函数的域是凸集,对于凸集中的两个点x,y并且满足
a:如果函数f是凹的,那么-f函数就是凸的;
b:如果在优化问题里面的目标函数是凸的,并且可行域也是凸的,那么此问题的局部解也是全局解
c:术语凸规划用于描述一般约束优化问题的特殊情况(前提:目标函数为凸函数,约束函数是线性函数,并且约束条件不等式函数是凹函数)
8.优化算法
(1)优化算法是迭代算法
(2)好算法拥有以下的性质:
a:健壮性
b:高效性
c:准确性
以上性质可能会彼此冲突,我们应该妥善处理!