首页 / 优化函数
NAG 与 优化
优化算法是 NAG 算法库中最为知名的数值计算函数之一,这不难理解,因为所有的研究机构与组织中都持续需要获得优化的结果!
NAG 开发的优化函数,具有完整的说明文件、精确度与计算效能;能够让用户放心于函数计算的结果。如同 NAG 其他的产品,优化函数也具有高度的弹性 - 能够支持各种不同软件包使用,例如:MATLAB® 、Maple 与其他许多的程序语言。
许多世界上著名与受尊敬的公司和金融机构,都采用 NAG 的数值算法库,最主要的原因就是 NAG 函数的质量与计算的精确度能够提升他们应用系统的功能。
在金融产业中采用 NAG 的函数,能够在现今不断变化与波动的市场中快速开发出关键的商业系统。将 NAG 算法库嵌入在金融应用系统中,分析人员与软件工程师便能够更专注于专业领域中,最终能够提高工作效率与做好时间管理。
数学上的说法,所谓优化指的就是找到一个函数的最小或最大值。
这个函数称之为目标函数 (objective function)。我们会用 F(x) 表示此目标函数,其中 x 一般说来是我们要求解的 n 个向量的变量。
指定为 x 的变量通常不会对其数值有限制条件,我们称之为无限制式。
简单的限制式问题,通常会限定其数值的范围。例如:变量数值可能落在 [-1,1] 区间中,或者指定所有的数值为正数。
通常变量 x 的数值会由其他方式所限制,典型的限制式例子如:function G(x):A<= G(x)<=B,如果 G(x) 是线性的则此问题具有线性限制式;否则的话此问题则为非线性限制式。
也有可能符合限制式的要求是答案必须为整数,也就是说只有整数的答案才能被接受。这样的问题称之为整数规划问题。NAG 主要的优化函数都在 E04 章节中,整数规划函数是在 H 章节中。
满足限制式的值称之为合适解。
目标函数与限制式的不同型态,我们都有对应的 NAG 优化函数。
实务上,大部分的数值方法仅仅能毫无问题的计算出局部的最小或最大值。
除非目标函数具有特别的型式,否则所求取到的解只是局部的最佳解,而非所有可能解中的全局最佳解。例如:F(x) = x sin(x),求解区间为 [0,4pi]。 1.5pi 是局部的最小值最佳解,F(x) 为 -1.5pi;但是最小值最佳解是 x=3.5*pi,F(x) 为 -3.5pi。
若使用者无法满足局部最小或最大值解,那么势必要转为使用全局优化函数。通常,这样的计算问题将更为困难。
如果可以找到最佳解,则可以减少很多的成本与提高企业的利润,所以往往企业界愿意投入更多的计算时间来求出更好的优化解。 通常,他们会在求解局部解中,透过随机数再次进行搜寻。然而,我们避免了这样的方法,而是导入了一个更有系统的搜寻算法 - 基于局部优化求解方法,但是敏捷的搜寻与探索其他的可能区域。
© Numerical Algorithms Group Visit NAG on the web at:www.nag.co.uk (Europe and ROW) www.nag.com (North America) www.nag-j.co.jp (Japan) http://cn.nag-gc.com/optimization/index.asp