优化算法入门学习笔记(一)优化算法基本概念

一、优化的过程

一个典型的工程设计优化过程如下图所示,可以简述为:

问题说明 -> 初始设计 -> 评估性能 -> 改进设计 -> 最终模型

The role of the designer is to provide a problem specification that details the parameters, constants, objetives, and constraints that are to be achieved.

对设计者来说,首先需要提供一个问题规范,详细说明要实现的参数,常量,目标和约束

而优化算法就是 用于逐步改进设计,直到无法再对其进行改进或达到预算时间或成本为止。

使用优化进行设计面临着许多挑战:一般包括我们的计算资源 和 时间有限,因此我们的算法在探索设计方式上必须具有选择性。

二、基本的优化问题

数学优化问题 或者说 优化问题可以写成如下形式:

其中x表示为对应于不同设计变量的值的向量,第i个设计变量表示为xi。可写成x = [x1, x2, ..., xn]。

优化问题就是在约束条件下,调整此向量中的元素以最小化目标函数f。

对于一个最大化问题,同样可以转化为最小化函数的问题,只需在原目标函数f前加上负号来作为新的目标函数即可。所求最大值的相反数为新目标函数的最小值。

单变量问题可使用简单一阶导数、二阶倒数知识来寻找局部最小值。

多变量问题则使用更为复杂的判别方法和其他有效方式。

三、特殊的优化问题

关于优化问题的求解,不同算法的有效性(即我们用之求解优化问题的能力)是大不相同的,它取决于多方面因素,如目标函数和约束函数的形式。目前,即使目标函数和约束函数是光滑的(如多项式),一般形式的优化问题仍然很难求解。因此,求解一般形式的问题是需要付出一些代价的,如需要较长的计算时间或者可能找不到解。

然而,并不是所有的优化问题都难以求解。对于一些特殊的优化问题,存在一些有效的算法,这些算法对含有成百上千变量和约束的大型问题甚至都有效。两类重要且广为人知的例子是最小二乘问题和线性规划问题。此外,凸优化问题一样可以进行有效的求解。

 

 

 

参考书目:

Algorithms for Optimization (MIT Press). Authors: Mykel J. Kochenderfer and Tim A. Wheeler.

Convex Optimization. Authors: Stephen Boyd and Lieven Vandenberghe

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章