非线性规划的概念和原理
非线性规划

非线性规划非线性规划是一种涉及非线性目标函数和/或非线性约束条件的优化问题。
与线性规划不同,非线性规划可能存在多个局部最优解,而不是全局最优解。
非线性规划在许多领域都有广泛的应用,如经济学、工程学和管理学等。
非线性规划的一般形式可以表示为:最小化或最大化 f(x),其中 f(x) 是一个非线性函数,x 是决策变量向量。
满足一组约束条件g(x) ≤ 0 和 h(x) = 0,其中 g(x) 和 h(x) 是非线性函数。
为了求解非线性规划问题,可以使用不同的优化算法,如梯度下降法、牛顿法和拟牛顿法等。
这些算法的目标是找到目标函数的最小值或最大值,并满足约束条件。
非线性规划的难点在于寻找全局最优解。
由于非线性函数的复杂性,这些问题通常很难解析地求解。
因此,常常使用迭代算法来逼近最优解。
非线性规划的一个重要应用是在经济学中的生产计划问题。
生产活动通常受到多个因素的限制,如生产能力、原材料和劳动力等。
非线性规划可以帮助确定最佳的生产数量,以最大化利润或最小化成本。
另一个应用是在工程学中的优化设计问题。
例如,优化某个结构的形状、尺寸和材料以满足一组要求。
非线性规划可以帮助找到最佳设计方案,以最大程度地提高性能。
在管理学中,非线性规划可以用于资源分配和风险管理问题。
例如,优化一个公司的广告预算,以最大程度地提高销售额。
非线性规划可以考虑多种因素,如广告投入和市场需求,以找到最佳的广告投放策略。
总之,非线性规划是一种重要的优化方法,用于解决涉及非线性目标函数和约束条件的问题。
它在经济学、工程学和管理学等领域有广泛的应用。
尽管非线性规划的求解难度较大,但通过合适的优化算法,可以找到最佳的解决方案。
第六讲线性规划与非线性规划

(2)若有非线性约束条件:c1 x 0 或c2 x 0, 则建立M
文件c.m定义函数c1 x,c2 x, 一般形式为
function [c1,c2]=c(x)
c1=…
c2=… (3)建立主程序。求解非线性规划的函数是fmincon,
调用格式为 x=fmincon(‘fun’,x0,A1,b1);
故它属于一个整数线性规划问题,这里当成一个线 性规划求解,求得最优解刚好是整数x1=9,x2=0, 故它就是该整数规划的最优解.若用线性规划解法求 得的最优解不是整数,将其取整后不一定是相应整 数规划的最优解,这样的整数规划应用专门的方法 求解.
二、非线性规划
1、二次规划
❖
标准形式:min
z
1
xT
x1 4x2 5
•
x1, x2 0
❖
改写成标准形式:min z
x1 2x2
1 2
x12
1 2
x22
s.t.
2x1 3x2 x1 4x2
6 5
0 0
0 0
x1 x2
❖ 建立M文件fun1.m
❖ 建立主程序(见MATLAB程序(feixianxingguihua1))
工费用如下表.问怎样分配车床的加工任务,才能既满足加
工工件的要求,又使加工费用最低?
车床 类型
甲
乙
单位工件所需加工台时数 工件 1 工件 2 工件 3
0.4
1.1
1.0
0.5
1.2
1.3
单位工件的加工费用 工件 1 工件 2 工件 3
13
9
10
11
12
8
可用台 时数
800
非线性规划作业

非线性规划作业非线性规划是数学领域中的一个重要分支,它在实际应用中具有广泛的意义。
本文将从非线性规划的基本概念、应用领域、解决方法、优化算法和实例分析等五个方面进行详细介绍。
一、基本概念1.1 非线性规划的定义:非线性规划是在目标函数或约束条件中至少包含一个非线性函数的优化问题。
1.2 非线性规划的特点:与线性规划相比,非线性规划具有更为复杂的数学结构和求解困难度。
1.3 非线性规划的分类:根据目标函数和约束条件的性质,非线性规划可分为凸优化和非凸优化两类。
二、应用领域2.1 工程优化:非线性规划在工程领域中广泛应用,如结构设计、电力系统优化、交通规划等。
2.2 金融领域:在金融领域中,非线性规划被用于投资组合优化、风险管理等方面。
2.3 生产调度:生产调度中的资源分配、作业排序等问题也可以通过非线性规划进行求解。
三、解决方法3.1 数值方法:常用的非线性规划求解方法包括牛顿法、拟牛顿法、共轭梯度法等。
3.2 优化算法:遗传算法、粒子群算法、模拟退火算法等优化算法也可以用于非线性规划问题的求解。
3.3 全局优化:针对非凸优化问题,全局优化方法可以帮助找到全局最优解而不是局部最优解。
四、优化算法4.1 遗传算法:通过模拟生物进化过程,遗传算法能够在解空间中搜索最优解。
4.2 粒子群算法:模拟鸟群觅食的行为,粒子群算法通过个体之间的信息交流来寻找最优解。
4.3 模拟退火算法:模拟金属退火过程,模拟退火算法通过控制温度来逐步接近最优解。
五、实例分析5.1 生产调度问题:假设一家工厂需要安排不同作业的生产顺序和资源分配,可以通过非线性规划来优化生产效率。
5.2 投资组合优化:一位投资者需要在不同资产中分配资金以达到最大收益,非线性规划可以帮助优化投资组合。
5.3 电力系统优化:电力系统中存在多个发电机和负荷之间的优化问题,非线性规划可以帮助实现电力系统的最优调度。
综上所述,非线性规划在现代科学技术和实际生产中具有重要意义,通过合理选择求解方法和优化算法,可以有效解决复杂的优化问题,提高系统效率和资源利用率。
运筹学中的非线性规划问题-教案

教案运筹学中的非线性规划问题-教案一、引言1.1非线性规划的基本概念1.1.1定义:非线性规划是运筹学的一个分支,研究在一组约束条件下,寻找某个非线性函数的最优解。
1.1.2应用领域:广泛应用于经济学、工程学、管理学等,如资源分配、生产计划、投资组合等。
1.1.3发展历程:从20世纪40年代开始发展,经历了从理论到应用的转变,现在已成为解决实际问题的有效工具。
1.1.4教学目标:使学生理解非线性规划的基本理论和方法,能够解决简单的非线性规划问题。
1.2非线性规划的重要性1.2.1解决实际问题:非线性规划能够处理现实中存在的非线性关系,更贴近实际问题的本质。
1.2.2提高决策效率:通过优化算法,非线性规划可以在较短的时间内找到最优解,提高决策效率。
1.2.3促进学科交叉:非线性规划涉及到数学、计算机科学、经济学等多个学科,促进了学科之间的交叉和融合。
1.2.4教学目标:使学生认识到非线性规划在实际应用中的重要性,激发学生的学习兴趣。
1.3教学方法和手段1.3.1理论教学:通过讲解非线性规划的基本理论和方法,使学生掌握非线性规划的基本概念和解题思路。
1.3.2实践教学:通过案例分析、上机实验等方式,让学生动手解决实际问题,提高学生的实践能力。
1.3.3讨论式教学:鼓励学生提问、发表观点,培养学生的批判性思维和创新能力。
1.3.4教学目标:通过多种教学方法和手段,使学生全面掌握非线性规划的理论和实践,提高学生的综合素质。
二、知识点讲解2.1非线性规划的基本理论2.1.1最优性条件:介绍非线性规划的最优性条件,如一阶必要条件、二阶必要条件等。
2.1.2凸函数和凸集:讲解凸函数和凸集的定义及其在非线性规划中的应用。
2.1.3拉格朗日乘子法:介绍拉格朗日乘子法的原理和步骤,以及其在解决约束非线性规划问题中的应用。
2.1.4教学目标:使学生掌握非线性规划的基本理论,为后续的学习打下坚实的基础。
2.2非线性规划的求解方法2.2.1梯度法:讲解梯度法的原理和步骤,以及其在求解无约束非线性规划问题中的应用。
生产运筹非线性规划的基本概念

生产运筹非线性规划的基本概念引言生产运筹是一种管理技术,通过运用经济原理和数学模型,来解决实际生产和运输中的各种问题。
非线性规划是生产运筹中的一种重要工具,可以用于优化生产过程中的决策问题。
本文将介绍生产运筹非线性规划的基本概念。
非线性规划的定义非线性规划是一类优化问题,其中目标函数和约束条件都是非线性的。
一般来说,非线性规划的目标是找到一组决策变量的取值,使得目标函数达到最大或最小值,同时满足一系列约束条件。
非线性规划的基本要素非线性规划包含以下几个基本要素:1. 决策变量决策变量是非线性规划中的可调整参数,用于描述决策者所要做的选择。
在生产运筹中,决策变量可以是产品的产量、投入资源的数量或者是生产过程中的各种参数。
2. 目标函数目标函数是非线性规划中要优化的函数,可以是生产成本、利润、产量或其他决策者关心的指标。
在非线性规划中,目标函数的形式可以是任意的非线性函数。
3. 约束条件约束条件描述了决策变量的取值范围或者彼此之间的关系。
约束条件可以是等式约束或者不等式约束。
在生产运筹中,约束条件可以包括物料的平衡方程、设备的容量限制等。
4. 可行域可行域是指满足约束条件的所有决策变量取值的集合。
在非线性规划中,决策变量的取值必须落在可行域内,才被认为是合理的解。
5. 优化算法非线性规划的求解过程需要使用优化算法来搜索最优解。
常用的优化算法包括梯度下降法、牛顿法、拟牛顿法等。
生产运筹非线性规划的应用生产运筹非线性规划的应用非常广泛,涵盖了生产计划、资源分配、供应链优化等领域。
以下是一些非线性规划在生产运筹中的应用案例:1.生产计划优化:通过优化决策变量,如产量、物料分配等,来最大化产量、最小化成本或缩短生产周期。
2.设备选择优化:通过优化设备的选择和使用策略,来最大化产量、降低能耗或最小化故障率。
3.供应链优化:通过优化物流和分配的决策变量,如运输路线、库存水平等,来最小化供应链成本或缩短物流时间。
chap7非线性规划的基本概念和基本原理

某些情况下,非线性规划问题可能存在多个等价的最优解,我们需要进行多解分析和判 断。
3 高维度问题
当变量的维度很大时,非线性规划问题的复杂性会急剧增加,需要高效的算法和技术来 求解。
非线性规划的实际案例分析
生产优化
通过优化生产过程中的各项指 标,提高产能和质量,降低成 本。
投资组合优化
非线性规划的基本概念
目标函数
目标函数是非线性规划中需要最小化或最大化的函数,用于衡量问题的优劣。
约束条件
约束条件是非线性规划中对变量的限制条件,限制了问题的可行解空间。
非线性规划的基本原理
1
牛Байду номын сангаас法
2
牛顿法利用二阶导数信息寻找最优解,
它比梯度法更快,但对初始点的选择要
求较高。
3
梯度法
梯度法是一种基于目标函数的导数信息 进行搜索的优化方法,通过迭代逐步优 化模型。
拟牛顿法
拟牛顿法是一种综合了梯度和牛顿法优 点的求解方法,对高维度问题更具可行 性。
非线性规划的求解方法
• 单纯形法 - 经典的线性规划求解方法 • 内点法 - 用于处理大规模非线性规划问题的方法 • 遗传算法 - 基于生物进化原理的全局优化算法
非线性规划的挑战和困难
1 局部最优解
非线性规划问题往往存在多个局部最优解,需要采用合适的方法来避免陷入局部最优。
chap7非线性规划的基本 概念和基本原理
本节将介绍非线性规划的定义、应用领域,以及其基本概念和基本原理。我 们还将探讨非线性规划的求解方法,并讨论该领域面临的挑战和解决方案, 并提供实际案例分析。
非线性规划的定义和应用领域
非线性规划是一种对目标函数和约束条件是非线性的最优化问题。它在各个领域都有广泛的应用,例如工程设 计、经济决策、资源分配和供应链优化。
九.非线性规划(NonlinearProgramming)

九. 非线性规划(Nonlinear Programming)非线性规划是研究目标函数和约束条件中至少包含一个非线性函数的约束极值最优化问题。
由于非线性问题的复杂性,非线性规划与线性规划相比在理论和算法上呈现出明显的多样性,成果非常丰富。
非线性规划的理论成果包括约束极值问题到达极值解的充分和必要条件(即最优性条件)、非线性规划的对偶理论等。
非线性规划的算法种类繁多,但本质上都是采用数值计算迭代方法求解非线性方程组。
解非线性规划问题时所用的计算方法最常见的是迭代下降算法,即算法同时具有迭代和下降两种特征:迭代:从一点x(k)出发,按某种规则算出后继点x(k+1);用x(k)代替x(k+1),重复上述过程,产生点列{x(k)};下降:对某个函数,每次迭代后,后继点的函数值要有所减少。
评价算法的几个要素通用性与可靠性对参数与数据的敏感性准备与计算的工作量收敛性一维搜索算法可以归纳为两大类:试探法和函数逼近法。
试探法:黄金分割法(0.618法);Fibonacci法(斐波那契法)函数逼近法:牛顿法;割线法;抛物线法;插值法多维搜索中使用导数的最优化算法(无约束问题)最速下降法(梯度法);牛顿法(二阶梯度法);共轭梯度法;拟牛顿法;……多维搜索无约束最优化的直接方法(不用导数)模式搜索法;Rosenbrock算法;单纯形法;……有约束最优化方法可行方向法;惩罚函数法;线性逼近法及二次规划;SQP(序贯二次规划)法;……十.多目标数学规划(Multiobjective Programming)多目标规划标准形式:(VP)实际问题往往难以用一个指标来衡量,需要用一个以上相互间不很协调(甚至相互冲突)的衡量指标,形成多目标规划问题。
x f x f V T p )](,),(min[1符号V -min 表示区别于单目标求最小,指对向量形式的p 个目标求最小。
由于实际问题中p 个目标量纲不同,有必要对每个目标事先规范化。
非线性规划的基本概念及问题概述

牛顿法在凸优化问题上表现较好,但在非凸问题 上可能陷入局部最优解。
拟牛顿法
01
拟牛顿法是一种改进的牛顿法,通过构造海森矩阵 的近似来降低计算成本。
02
拟牛顿法在每一步迭代中更新搜索方向,并逐渐逼 近最优解。
03
拟牛顿法在处理大规模非线性规划问题时表现较好 ,但仍然需要计算目标函数的二阶导数。
共轭梯度法
共轭梯度法结合了梯度法和牛 顿法的思想,通过迭代更新搜 索方向来寻找最优解。
共轭梯度法的迭代方向是梯度 方向和上一次迭代方向的线性 组合,可以加快收敛速度。
共轭梯度法适用于大规模优化 问题,尤其在约束条件较多或 非凸函数情况下表现较好。
05
非线性规划的挑战与解决方 案
局部最优解问题
局部最优解问题
案例二:生产计划优化问题
总结词
生产计划优化问题旨在通过合理安排生 产计划,降低生产成本并满足市场需求 。
VS
详细描述
生产计划优化问题需要考虑生产过程中的 各种因素,如原材料需求、设备能力、劳 动力成本等。目标函数通常是非线性的, 因为生产成本和产量之间的关系是非线性 的。约束条件可能包括资源限制、交货期 限制等。
例子
最小化成本函数,其中成本是生产量 的函数,生产量受到资源、生产能力 等约束。
最大化问题
最大化目标函数
在给定的约束条件下,找到一组变量 ,使得目标函数达到最大值。
例子
最大化收益函数,其中收益是销售量 的函数,销售量受到市场需求、价格 等约束。
约束条件下的优化问题
01
在满足一系列约束条件下,寻找最优解,使得目标函数达到最 优值。
梯度法适用于目标函数和约束条件比较简单的情况,但对于非凸函数或约束条件复 杂的情况可能不收敛或收敛到局部最优解。
第5章 非线性规划

(水力约束) (水力摩阻系数约束)
KD GC
L (热力约束)
(粘温关系约束)
(工艺要求约束) (管道强度约束)
在目标函数中,f1(TR)、f2(Pd)一般为非线性函数,约束条 件中亦存在不少非线性函数,显然是一个NLP问题。
非线性规划的基本概念和定理
例3:最小二乘问题:该问题大量存在于工业生产和科学 实验的数据处理中。例如原油的粘度可以表示为:
凹函数的几何意义:
对 于 一 元 函 数 f(x) , 若
函数曲线上任意两点之 间的连线永远不在曲线
的 上 方 , 则 f(x) 为 凹 函
数(参见右图) 。
非线性规划的基本概念和定理 f(X)
f [X 1 (1 ) X 2 ]
对于二元函数 f(x1,x2), 若函数曲面上任意两点 之间的连线永远不在曲 面的上方,则f(x1,x2)为 凹函数(参见右图)。
1、一元函数:
①必要条件:f(x)在x*处取得极值的必要条件是f'(x*)=0;
②充分条件:若f"(x*)<0,则x*为极大点; 若f"(x*)>0,则x*为极小点。 2、多元函数: ①必要条件: f(X)在D域内存在极值点X*的必要条件为 * f ( X ) 0 (即f(X)在X*处的所有一阶偏导数等于0)。
非线性规划的基本概念和定理
根据定义,线性函数既是凸函数,又是凹函数。 凸函数的几何意义: 对 于 一 元 函 在曲线的下方, 则 f(x) 为 凸 函 数 ( 参 见 右
图) 。
非线性规划的基本概念和定理 f(X)
f ( X 1 ) (1 ) f ( X 2 )
§5.1 非线性规划的基本概念和定理
一、什么是非线性规划?
非线性规划的相关概念

非线性规划的相关概念引言非线性规划是数学规划领域中的一个重要研究方向,它是线性规划的推广和扩展。
在许多实际问题中,约束条件和目标函数往往是非线性的,因此需要非线性规划方法来解决这些问题。
本文将介绍非线性规划的基本概念和相关理论。
基本概念1. 可行解在非线性规划中,可行解指的是满足约束条件的解。
具体地,给定约束条件和目标函数,如果存在一组解使得所有约束条件都得到满足,那么这组解就是可行解。
非线性规划的目标是找到一个可行解,使得目标函数值最小或最大。
2. 局部极小解和全局极小解在非线性规划中,局部极小解指的是在某个局部范围内,目标函数值最小的可行解。
全局极小解指的是在整个可行域内,目标函数值最小的可行解。
在非线性规划中,寻找全局极小解往往非常困难,因为非线性规划问题一般没有全局最优解的性质。
因此,通常采用近似算法来寻找接近全局极小解的解。
3. 无约束问题和约束问题非线性规划可以分为无约束问题和约束问题。
无约束问题是指在没有约束条件的情况下,找到目标函数的最小值或最大值。
约束问题是指在满足一组约束条件的情况下,找到目标函数的最小值或最大值。
约束问题通常比无约束问题更加复杂,因为需要考虑约束条件的影响。
相关理论1. 梯度下降法梯度下降法是非线性规划中常用的优化方法之一。
基本思想是通过迭代更新解,使得目标函数值逐渐降低。
具体地,梯度下降法使用目标函数的梯度信息来指导搜索方向,并选择适当的步长来更新解。
该方法通常在局部范围内找到局部极小解,并且易于实现。
2. 牛顿法牛顿法是一种经典的非线性优化方法,广泛应用于非线性规划问题的求解。
它利用目标函数和约束条件的一阶和二阶导数信息来更新解。
具体地,牛顿法通过计算目标函数的海森矩阵来确定搜索方向,并选择适当的步长来更新解。
该方法在局部范围内通常能够快速收敛到极小解。
3. 二次规划二次规划是非线性规划中的一种特殊形式,目标函数是二次函数,约束条件是线性条件。
它可以通过求解一组二次方程组来得到最优解。
非线性规划

非线性规划(nonlinear programming)1.非线性规划概念非线性规划是具有非线性约束条件或目标函数的数学规划,是运筹学的一个重要分支。
非线性规划研究一个n元实函数在一组等式或不等式的约束条件下的极值问题,且目标函数和约束条件至少有一个是未知量的非线性函数。
目标函数和约束条件都是线性函数的情形则属于线性规划。
2.非线性规划发展史公元前500年古希腊在讨论建筑美学中就已发现了长方形长与宽的最佳比例为0.618,称为黄金分割比。
其倒数至今在优选法中仍得到广泛应用。
在微积分出现以前,已有许多学者开始研究用数学方法解决最优化问题。
例如阿基米德证明:给定周长,圆所包围的面积为最大。
这就是欧洲古代城堡几乎都建成圆形的原因。
但是最优化方法真正形成为科学方法则在17世纪以后。
17世纪,I.牛顿和G.W.莱布尼茨在他们所创建的微积分中,提出求解具有多个自变量的实值函数的最大值和最小值的方法。
以后又进一步讨论具有未知函数的函数极值,从而形成变分法。
这一时期的最优化方法可以称为古典最优化方法。
最优化方法不同类型的最优化问题可以有不同的最优化方法,即使同一类型的问题也可有多种最优化方法。
反之,某些最优化方法可适用于不同类型的模型。
最优化问题的求解方法一般可以分成解析法、直接法、数值计算法和其他方法。
(1)解析法:这种方法只适用于目标函数和约束条件有明显的解析表达式的情况。
求解方法是:先求出最优的必要条件,得到一组方程或不等式,再求解这组方程或不等式,一般是用求导数的方法或变分法求出必要条件,通过必要条件将问题简化,因此也称间接法。
(2)直接法:当目标函数较为复杂或者不能用变量显函数描述时,无法用解析法求必要条件。
此时可采用直接搜索的方法经过若干次迭代搜索到最优点。
这种方法常常根据经验或通过试验得到所需结果。
对于一维搜索(单变量极值问题),主要用消去法或多项式插值法;对于多维搜索问题(多变量极值问题)主要应用爬山法。
非线性规划

非线性规划什么是非线性规划?非线性规划(Nonlinear Programming,简称NLP)是一种数学优化方法,用于求解包含非线性约束条件的优化问题。
与线性规划不同,非线性规划中的目标函数和约束条件都可以是非线性的。
非线性规划的数学表达式一般来说,非线性规划可以表示为以下数学模型:minimize f(x)subject to g_i(x) <= 0, i = 1, 2, ..., mh_j(x) = 0, j = 1, 2, ..., px ∈ R^n其中,f(x)是目标函数,g_i(x)和h_j(x)分别是m个不等式约束和p个等式约束,x是优化变量,属于n维实数空间。
非线性规划的解法由于非线性规划问题比线性规划问题更为复杂,因此解决非线性规划问题的方法也更多样。
以下列举了几种常用的非线性规划求解方法:1. 数值方法数值方法是最常用的非线性规划求解方法之一。
它基于迭代的思想,通过不断优化目标函数的近似解来逼近问题的最优解。
常见的数值方法有梯度下降法、牛顿法、拟牛顿法等。
2. 优化软件优化软件是一类针对非线性规划问题开发的专用软件,它集成了各种求解算法和优化工具,可以方便地求解各种类型的非线性规划问题。
常见的优化软件有MATLAB、GAMS、AMPL等。
3. 线性化方法线性化方法是一种将非线性规划问题转化为等价的线性规划问题的求解方法。
它通过线性化目标函数和约束条件,将非线性规划问题转化为线性规划问题,然后利用线性规划的求解方法求解得到最优解。
4. 分类方法分类方法是一种将非线性规划问题分解为若干个子问题求解的方法。
它将原始的非线性规划问题分解为多个子问题,然后将每个子问题分别求解,并逐步逼近原始问题的最优解。
以上仅是非线性规划求解方法的一小部分,实际上还有很多其他的方法和技巧可供选择。
在实际应用中,选择合适的方法和工具是非常重要的。
非线性规划的应用非线性规划在实际生活和工程中有着广泛的应用。
数模(非线性规划模型)

{
}
( )
( )
( )
( )
6
非现性规划的基本概念 定义 如果目标函数或约束条件中至少有一个是非线性函数 时的最优化问题就叫做非线性规划问题. 时的最优化问题就叫做非线性规划问题. 一般形式: 一般形式:
min f ( X )
gi ( X ) ≥ 0 i = 1,2,..., m; s.t. (1) h j ( X ) = 0 j = 1,2,..., l. f 其中 X = (x1, x2 ,L, xn )T ∈ E n , , gi , h j 是定义在 En 上的实值函
14
定义
设X ⊂ R n , x∈ X , p∈ R n , p ≠ 0,若存在 t > 0,使得
x + tp∈ X
则称向量 p是点 x处 的可行方向。 关于 X 的可行方向。
解非线性规划问题, 解非线性规划问题,关键在于 找到某个方向, 找到某个方向,使得在此方向 上,目标函数得到下降,同时 目标函数得到下降, 还是可行方向。 还是可行方向。 这样的方向称为可行下降方向。 这样的方向称为可行下降方向。
{
}
( )
( )
( )
( )
8
三. 非线性规划的图解法
线性规划问题: 用图解法求解下面的非 线性规划问题: min s .t .
2 2 f ( x1,x2 ) = x1 + x2
1- x1 − x2 ≤ 0 x1 − 1 ≤ 0 x2 − 1 ≤ 0
9
三角形表示的是可行域。 三角形表示的是可行域。 同心圆表示的是目标函数的等值 线。 最优解为( , ) 最优解为(1/2,1/2) 最优值为1/2 最优值为 1/2 1/2
非线性规划求解

1 1
x1 x2
2.输入命令:
H=[1 -1; -1 2]; c=[-2 ;-6];A=[1 1; -1 2];b=[2;2]; Aeq=[];beq=[]; VLB=[0;0];VUB=[]; [x,z]=quadprog(H,c,A,b,Aeq,beq,VLB,VUB)
i =1 i =1
m
m
1 g i X
其中称 r lng i X 或 r
i =1 i =1
m
m
1 为障碍项, r为障碍因子. g i X
这样问题(1)就转化为求一系列极值问题: min I X , r
X D
0
k
得 X(r ).
k
k
内点法的迭代步骤
(1) 给定允许误差 0 ,取r1
??xfdx?min定义2对于问题1设若存在使得对一切且都有则称x是fx在d上的局部极小值点局部最优解特别地当时若dx?0??dx????xxxx????xfxf?nrx???????njirxxhxgxd????00局部极小值点局部最优解
数学建模与数学实验
非线性规划
实验目的
1. 直观了解非线性规划的基本内容.
2. 掌握用数学软件求解优化问题.
实验内容
1.非线性规划的基本理论.
2. 用数学软件求解非线性规划. 3. 钢管订购及运输优化模型. 4.实验作业.
非线性规划
非线性规划的基本概念
*非线性规划的基本解法
返回
非现性规划的基本概念 定义 如果目标函数或约束条件中至少有一个是非线性函数, 则最优 x 2 2 2 0 x 1 0 x 2
第四章 非线性规划 山大刁在筠 运筹学讲义

第四章 非线性规划教学重点:凸规划及其性质,无约束最优化问题的最优性条件及最速下降法,约束最优化问题的最优性条件及简约梯度法。
教学难点:约束最优化问题的最优性条件。
教学课时:24学时主要教学环节的组织:在详细讲解各种算法的基础上,结合例题,给学生以具体的认识,再通过大量习题加以巩固,也可以应用软件包解决一些问题。
第一节 基本概念教学重点:非线性规划问题的引入,非线性方法概述。
教学难点:无。
教学课时:2学时主要教学环节的组织:通过具体问题引入非线性规划模型,在具体讲述非线性规划方法的求解难题。
1、非线性规划问题举例例1 曲线最优拟合问题已知某物体的温度ϕ 与时间t 之间有如下形式的经验函数关系:312c t c c t e φ=++ (*)其中1c ,2c ,3c 是待定参数。
现通过测试获得n 组ϕ与t 之间的实验数据),(i i t ϕ,i=1,2,…,n 。
试确定参数1c ,2c ,3c ,使理论曲线(*)尽可能地与n 个测试点),(i i t ϕ拟合。
∑=++-n 1i 221)]([ min 3i t c i i e t c c ϕ例 2 构件容积问题通过分析我们可以得到如下的规划模型:⎪⎪⎩⎪⎪⎨⎧≥≥=++++=0,0 2 ..)3/1( max 212121222211221x x S x x x x a x x t s x x a V ππππ基本概念设n T n R x x x ∈=),...,(1,R R q j x h p i x g x f n j i :,...,1),(;,...,1),();(==,如下的数学模型称为数学规划(Mathematical Programming, MP):⎪⎩⎪⎨⎧===≤q j x h p i x g t s x f j i ,...,1,0)( ,...,1,0)( ..)( min约束集或可行域X x ∈∀ MP 的可行解或可行点MP 中目标函数和约束函数中至少有一个不是x 的线性函数,称(MP)为非线性规划令 T p x g x g x g ))(),...,(()(1=T p x h x h x h ))(),...,(()(1=,其中,q n p n R R h R R g :,:,那么(MP )可简记为⎪⎩⎪⎨⎧≤≤ 0)( 0 ..)( min x h g(x)t s x f 或者 )(min x f X x ∈ 当p=0,q=0时,称为无约束非线性规划或者无约束最优化问题。
非线性规划的概念和原理

第五章 非线性规划的概念和原理非线性规划的理论是在线性规划的基础上发展起来的。
1951年,库恩(H.W.Kuhn )和塔克(A.W.Tucker )等人提出了非线性规划的最优性条件,为它的发展奠定了基础。
以后随着电子计算机的普遍使用,非线性规划的理论和方法有了很大的发展,其应用的领域也越来越广泛,特别是在军事,经济,管理,生产过程自动化,工程设计和产品优化设计等方面都有着重要的应用。
一般来说,解非线性规划问题要比求解线性规划问题困难得多,而且也不像线性规划那样有统一的数学模型及如单纯形法这一通用解法。
非线性规划的各种算法大都有自己特定的适用范围。
都有一定的局限性,到目前为止还没有适合于各种非线性规划问题的一般算法。
这正是需要人们进一步研究的课题。
5.1 非线性规划的实例及数学模型[例题6.1] 投资问题:假定国家的下一个五年计划内用于发展某种工业的总投资为b 亿元,可供选择兴建的项目共有几个。
已知第j 个项目的投资为j a 亿元,可得收益为j c 亿元,问应如何进行投资,才能使盈利率(即单位投资可得到的收益)为最高?解:令决策变量为j x ,则j x 应满足条件()10j j x x -= 同时j x 应满足约束条件1nj jj a xb =≤∑目标函数是要求盈利率()1121,,,njjj n nj jj c xf x x x a x===∑∑最大。
[例题6.2] 厂址选择问题:设有n 个市场,第j 个市场位置为(),j j p q ,它对某种货物的需要量为j b ()1,2,,j n =。
现计划建立m 个仓库,第i 个仓库的存储容量为i a ()1,2,,i m =。
试确定仓库的位置,使各仓库对各市场的运输量与路程乘积之和为最小。
解:设第i 个仓库的位置为(),i i x y ()1,2,,i m =,第i 个仓库到第j 个市场的货物供应量为i j z ()1,2,,,1,2,,i m j n ==,则第i 个仓库到第j 个市场的距离为i j d =目标函数为1111mnmni ji j i ji j i j zd z =====∑∑∑∑约束条件为:(1) 每个仓库向各市场提供的货物量之和不能超过它的存储容量; (2) 每个市场从各仓库得到的货物量之和应等于它的需要量; (3) 运输量不能为负数。
非线性规划

非线性规划非线性规划(Nonlinear Programming ,简记为NP)研究的对象是非线性函数的数值最优化问题,是运筹学的最重要分支之一,20世纪50年代形成一门学科,其理论和应用发展十分迅猛,随着计算机的发展,非线性规划应用越来越广泛,针对不同的问题提出了特别的算法,到目前为止还没有适合于各种非线性规划问题的一般算法,有待人们进一步研究.§1 非线性规划基本概念一、引例例7.1 一容器由圆锥面和圆柱面围成. 表面积为S ,圆锥部分高为h ,h 和圆柱部分高2x 之比为a ,1x 为圆柱底圆半径.求21,x x 使面积最大.解: 由条件 a x h =2/22121231x x x ax V ππ+=21212222112221x x x x a x x S πππ+++⋅⋅=所以,数学模型为:212)311(max x x a V π+=s.t. S x x x x a x x =+++21212222112πππ0,21≥x x例7.2 某高校学生食堂用餐,拟购三种食品,馒头0.3元/个,肉丸子1元/个,青菜0.6/碗.该学生的一顿饭支出不能够超过5元.问如何花费达到最满意?解: 设该学生买入馒头,肉丸子,青菜的数量分别为321,,x x x ; 个人的满意度函数即为效用函数为321321321),,(aaax x Ax x x x u =.于是数学模型为321321321),,(max aaax x Ax x x x u =s.t.56.03.0321≤++x x x 321,,x x x 为非负整数二、数学模型称如下形式的数学模型为数学规划(Mathematical Programming 简称MP ) )(min x f z = (7.1) (MP ) t s . 0)(≥x g i m i ,,1 = (7.2) 0)(=x h j l j ,,1 = (7.3)其中Tn x x x x ),,,(21 =是n 维欧几里得空间nR 中的向量(点),)(x f 为目标函数,0)(,0)(=≥x h x g j i 为约束条件.称满足约束条件的向量x 为(MP )问题的一个可行解,全体可行点组成的集合称为可行域.K ={}l j x h mi x g R x j i n,,2,10)(,,2,10)( ===≤∈如果)(),(),(x h x g x f j i 均为线性函数,就是前面所学的线性规划问题(LP).如果至少有一个为非线性函数称为非线性规划问题.由于等式约束0)(=x h j 等价于下列两个不等式约束 0)(,0)(≥-≥x h x h j j 所以(MP)问题又可表示为 )(min x f z =s.t. 0)(≥x g i m i ,,1 = (7.4) 三、数学基础 1、线性代数知识考虑二次型Az z T ,z 为n 维向量正定的二次型:若对于任意0≠z ,有0>Az z T; 半正定的二次型:若对于任意0≠z ,有0≥Az z T ; 负定的二次型:若对于任意0≠z ,有0<Az z T ; 半负定的二次型:若对于任意0≠z ,有0≤Az z T ;不定二次型:0≠∃z ,有0>Az z T,又0≠∃z ,有0<Az z T.二次型Az z T 为正定的充要条件是它的矩阵A 的左上角各阶主子式都大于零. 二次型Az z T 为负定的充要条件是它的矩阵A 的左上角各阶主子式负正相间.2、分析数学知识(1)方向导数和梯度(二维为例)考虑函数),(21x x f Z =,及方向j i lϕϕsin cos +=梯度:Tx f x f j x f i x f x x f ),(),(212121∂∂∂∂=∂∂+∂∂=∇ ; 方向导数:⎪⎪⎭⎫⎝⎛∂∂∂∂=∂∂+∂∂=∂∂ϕϕϕϕsin cos ),(sin cos 2121x f x f x f x f l f )),,(cos(||),(||),(),(21212121l x x gardf x x gardf lx x gardf lx x f T=⋅=⋅∇=考虑等值线00201),(c x x f =上一点),(0201x x 梯度方向 ),(0201x x gardf 即为法线方向n.如果)(x f 二次可微,称⎪⎪⎪⎪⎪⎭⎫⎝⎛=)()()()()()()()()()(212222111211x h x h x h x h x h x h x h x h x h x H nn n n n n为)(x f 在点 x 处的Hesse 矩阵.(2)多元函数泰勒公式:若)(,),(0x f R S x x f u n⊆∈=在点0x 处的某个领域具有二阶连续偏导数,则有x x x f x x x f x f x x f T T∆∆+∇∆+∆∇+=∆+)(21)()()(02000θ 10≤≤θ )||(||)(21)()(||)(||)()(2020000x x x f x x x f x f x x x f x f T TT ∆+∆∇∆+∆∇+=∆+∆∇+=οο 四、最优解的类型定义7.1 (MP)问题的一个可行点*x 被称为整体极小点,如果对于任意的可行点K x ∈,都有不等式)()(*x f x f ≥成立.如果对于任意可行点*,x x K x ≠∈均有)()(*x f x f >,称点*x 是)(x f 的可行解集K上的严格整体极小点.定义7.2 问题(MP)的一个可行点*x 被称为一个局部极小点,如果存在一个正数ε使得对于所有满足关系式ε<-*x x 的可行点x 都有)()(*≥x f x f 成立.如果对任意的可行点K x ∈,*≠x x ,存在一个正数ε使得对于所有满足关系式ε<-*x x 的可行点x 都有)()(*>x f x f 成立.则称*x 是)(x f 在K 上的一个局部严格极小点.显然整体极小点一定是局部极小点,反之不然. 五、凸规划定义7.3 集合K 被称为nR 中的一个凸集,如果对于K 中任意两点21,x x 和任一实数]1,0[∈λ,点K x x ∈-+21)1(λλ.几何解释:当一个集合是凸集时,连接此集合中任意两点的线段也一定包含在此集合内,规定φ空集是凸集.定义7.4 凸函数:)(x f 是凸集K 上的实值函数,如果对于K 中任意两点21,x x 和任意实数]1,0[∈λ有不等式)()1()())1((2121x f x f x x f λλλλ-+≤-+成立.严格凸函数:)(x f 是凸集K 上的实值函数,如果对于K 中任意两点21,x x ,21x x ≠和任意实数)1,0(∈λ,有不等式)()1()())1((2121x f x f x x f λλλλ-+<-+成立.定义7.5 )(x f 是定义在凸集K 上的实值函数,如果)(x f -是K 上凸函数,称)(x f 是凹函数.定理7.1 设)(x f 是凸集K 上的凸函数,则)(x f 在K 中的任一局部极小点都是它的整体极小点.证明: 设*x 是一局部极小点而非整体极小点,则必存在可行点K x ∈(可行域))()(*x f x f <∍.对任一]1,0[∈λ,由于)(x f 的凸性,有 )()()1()())1((***x f x f x f x x f ≤-+≤-+λλλλ当0→λ时,*)1(x x λλ-+与*x 充分接近,与*x 是局部极小矛盾. 证毕. 定义7.6 设有(MP)问题)(min x f kx ∈,若可行域K 是凸集,)(x f 是K 上的凸函数,则称此规划问题为凸规划.定理7.2 凸规划的任一局部极小解为整体极小解. 六、非线性规划问题的求解方法 考虑(MP)问题:lj x h m i x g t s x f j i ,,10)(,,10)(.)(min ===≥ (7.5) 一般来说,MP 问题难以求得整体极小点,只能求得局部极小点.以后我们说求(MP)问题,指的是求局部极小点.1、无约束极小化问题(UMP ) )(min x f nRx ∈ (7.6) 这里)(x f 是定义在n R 上的一个实值函数定理7.3(一阶必要条件)如果)(x f 是可微函数.*x 是上述无约束问题(UMP )的一个局部极小点或局部极大点的必要条件是:0)(*=∇x f .满足0)(=∇x f 的点称为平稳点或驻点.定理7.4 设)(x f 为定义在n R 上的二阶连续可微函数,如果*x 是)(x f 的一个局部极小点,必有nT Ry y x H y x f ∈∀≥=∇0)(0)(**这里)(*x H 表示)(x f 在*x 处的Hesse 矩阵.证明:nE y ∈∀,根据)(x f 在点*x 处的展开式有)()(21)()(2*2**λολλ++=+y x H y x f y x f T)0)((*=∇x f若0)(,*<∍∈∃y x H y R y T n ,当λ充分小时,有 )()(21|2*2λολ>y x H y T∴有)()(**x f y x f <+λ.这和*x 是)(x f 的极小矛盾.定理7.5 设)(x f 是定义在nR 上的二阶连续可微函数,如果点*x 满足0)(*=∇x f ,而且存在*x 的一个邻域0)(),(,),(*≥∈∀∈∀∍*y x H y x x R y x T n 有 ,则*x 是)(x f 的一个局部极小点.在高等数学中求解极值点方法先求出满足0)(=∇x f 的点及不可导点.在这些点判断)(x f 是否取得极小值.2、等式约束的极小化问题考虑 )(min x fl j x h t s j ,,10)(. == (7.7)定义7.7 如果)(,),(),(21x h x h x h l ∇∇∇ 在点x 处线性无关,则称点x 是此约束条件的一个正则点.Langrange 乘子法:引进拉格朗日函数 ∑=-=lj jj x h u x f u x L 1)()(),(其中Tl u u u u ),,,(21 =被称为拉格朗日乘子向量.定理7.6 设l j x h x f j ,,1),(),( =是连续可微函数,*x 是)(x f 在可行集中的一个局 部极小点.在*x 是正则点的假定下必存在一个拉格朗日乘子向量u ,使得),(*u x 满足方程组)(0)()(*1**==∇-∇∑=x h x h u x f lj j j对等式约束,用拉格朗日乘子法求解出平稳点,判断是否极值点.用上述解析法求解无约束和等式约束极值问题的平稳点,再判断是否为极值点.该方法有一定的局限性:(1)它们要求函数是连续的,可微的,实际问题中不一定满足这一条件; (2)上述求平稳点的方程组求解比较困难,有些解不出来; (3)实际问题中有大量的不等式约束.因此求解非线性规划应有更好的新方法.实际应用中一般用迭代法来求解非线性规划问题,即求近似最优解的方法.3、非线性规划问题的求解方法—迭代法迭代法一般过程为:在(MP)问题的可行域K 内选择初始点0:,0=k x ,确定某一方向k p ,使目标函数)(x f 从k x 出发,沿k p 方向使目标函数值下降,即)0(,>∈+=λλK p x x k ,有)()(0x f x f <,进一步确定kλ,使)(m i n )(0k k k k k p x f p x f λλλ+=+>,令k k k k p x x λ+=+1.如果1+k x 已满足某终止条件,1+k x 为近似最优解.否则,从1+k x 出发找一个方向1+k p ,确定步长1+k λ,使K p x x k k k k ∈+=++++1112λ,有)(min )(1102++>++=k k k p x f x f λλ.如此继续,将得到点列{}kx .显然有 >>>>)()()(1kx f x f x f ,即点列{}kx 相对应的目标函数是一个单调下降的数列.当{}kx 是有穷点列时,希望最后一个点是(MP)问题的某种意义下的最优解.当{}kx 为无穷点列时,它有极限点,其极限点是(MP)的某种意义下的最优解(此时称该方法是收敛的).迭代法求解(MP)的注意点:该方法构造的点列{}kx ,其极限点应是近似最优解,即该算法必须是收敛的.迭代法一般步骤:①. 选取初始点0x ,0:=k ②. 构造搜索方向kp ③. 根据kp 方向确定k λ ④. 令k k k k p x xλ+=+1⑤. 若1+k x已满足某终止条件,停止迭代,输出近似最优解1+k x.否则令1:+=k k ,转向第②步.计算终止条件在上述迭代中有:若1+k x满足某终止条件则停止计算,输出近似最优解1+k x.这里满足某终止条件即到达某精确度要求.常用的计算终止条件有以下几个:(1)自变量的改变量充分小时,11||||ε<-+k k x x,或21||||||||ε<-+kk k x x x ,停止计算. (2)当函数值的下降量充分小时,31)()(ε<-+k kx f x f ,或41|)(|)()(ε<-+k k k x f x f x f , 停止计算.(3)在无约束最优化中,当函数梯度的模充分小时51||)(||ε<∇+k x f ,停止计算.迭代法的关键:① 如何构造每一轮的搜索方向kp ② 确定步长k λ关于k λ,前面是以)(min kk p x f λλ+产生的,也有些算法k λ取为一个固定值,这要根据具体问题来确定.关于kp 的选择,在无约束极值问题中只要是使目标函数值下降的方向就可以了,对于约束极值问题则必需为可行下降方向.定义7.8 设0,,:1≠∈→p R x R R f nn,若存在0>δ使),0(δλ∈∀,)()(x f p x f <+λ则称向量p 是函数)(x f 在点x 处的下降方向.定义7.9 设0,,,≠∈∈∈p R p K x R K nn,若存在0>λ使得K p x ∈+λ,称向量p 是点x 处关于K 的可行方向. 若一个向量p 既是目标函数f 在点x 处的下降方向,又是该点处关于可行域K 的可行方向,则称p 为函数f 在点x 处关于区域K 的可行下降方向.根据不同原理产生了不同的kp 和k λ的选择方法,就产生了各种算法. 在以后的讨论中,一维极值的优化问题是讨论求解步长k λ.无约束极值中讨论的最速下降法,共轭方向法,坐标轮换法,牛顿法,变尺度法及有约束极值中讨论的可行方向法都是根据不同的原理选择kp 得到的迭代算法.七、迭代算法的收敛性定义7.10 设有一算法A ,若对任一初始点(可行点),通过A 进行迭代时,或在有限步后停止得到满足要求的点;或得到一个无穷点列,它的任何一个聚点均是满足要求的点,则称此算法A 具有全局收敛性.定义7.11 设(UMP )问题的目标函数Px Qx x x f T+=21)(,Q 为对称半正定矩阵, 若由算法A 进行迭代时,不论初始点0x 如何选择,必能在有限步后停止迭代,得到所要求的点,则称此算法A 有二次有限终止性.定义7.12 设序列{}kr收敛于*r,定义满足∞<=--≤**+∞−→−βhkk k rr r r 1______lim0的非负数h 的上确界为{}k r 的收敛级.若序列的收敛级为h ,就称序列是h 级收敛的.若1=h 且1<β就称序列是以收敛比β线性收敛的. 若1>h 或1=h 且0=β就称序列是超线性收敛的. 如何判别算法的收敛性和收敛速度问题本书不讨论.本书给出的算法中,最速下降法具有全局收敛性、是线性收敛的;改进牛顿法具有全局收敛性、二次有限终止性、是二阶线性收敛的;变尺度法和共轭方向法具有全局收敛性和二次有限终止性、是超线性收敛的;Zoutenddijk 法不具有全局收敛性、改进的T-V 法具有全局收敛性;制约函数法具有全局收敛性.关于这些算法的收敛性的讨论和证明有兴趣的读者可参考其他文献.§2 一维极值问题的优化方法前面讨论迭代算法时,从kx 出发确定沿k p 方向的步长k λ是这样求解的),(min 0k k p x f λλ+>这里k x ,k p 已知.所以,若记)()(λλg p x f k k =+,则为求解)(min 0λλg >的过程.于是我们考虑如下形式的极值问题.)(min x f bx a ≤≤ (7.8)b a R x ,,1∈为任意实数很显然可应用高等数学中学过的解析法,即令0)('=x f 求出平稳点,但如前面所述如果该方程解不出来,怎么办?可用下述迭代算法—0.618法.定义7.13 )(x f 定义在],[b a 上,若存在点∍∈],[*b a x 当*x y x ≤<,有)()(y f x f >,当*x y x ≥>时,)()(y f x f >,称)(x f 在],[b a 中为单峰函数(单谷函数).显然满足定义要求的点*x 是)(x f 在],[b a 中的极小点.在],[b a 中任选两点21,x x ,且b x x a <<<21,根据)(x f 的单峰性,若)()(21x f x f <,则*x 必然位于],[2x a 内,如果)()(21x f x f >,则*x 必然位于],[1b x 内.如果)()(21x f x f =,则*x 必然位于],[21x x ,记此区间为],[11b a .如此继续,得闭区间套⊃⊃⊃⊃],[],[],[11n n b a b a b a .显然 ,1,0],,[*=∈i b a x i i ,又0→-i i a b .由闭区间套性质, *x 为极小值点.闭区间套的选择方法不同,求得的*x 的快慢及求解过程的计算量是不一样的,有一个常用的方法是0.618法.0.618法: 取],[],[b a =βα① 在],[βα中选取1λ和2λ,)(618.0),(382.021αβαλαβαλ-+=-+=,求出)(1λf 和)(2λf 进入②.② 若)()(21λλf f <,取],[],[2λαβα=,若αλ-2已足够小,停止,否则进入③.若)()(21λλf f >,取],[],[1βλβα=,若1λβ-已足够小,停止,否则进入④. 若)()(21λλf f =,取],[],[21λλβα=,若12λλ-已足够小,停止,否则进入①. ③ 取上一步中的1λ为2λ,显然有)(618.02αβαλ-+=,令)(382.01αβαλ-+=,求出)(1λf ,返回②.④ 取上一步的2λ为1λ,则有)(382.01αβαλ-+=,令)(618.02αβαλ-+=,求出)(2λf 返回②.设初始区间为],[b a ,用0.618法,经过k 次迭代后],[βα的长度ka b 618.1)(-=-αβ,只要k 充分大αβ-可以小于任何给定的正数.例7.3 用0.618法求解λλλ2)(min 2+=f单峰区间为[-3,5],2.0=ε解:[α,β]=[-3,5]1λ=-3+0.382×8=0.056 )(1λf =0.1152λ=-3+0.618×8=1.944 )(2λf =7.667由于)(1λf <)(2λf 所以新的不定区间为[α,β] =[-3,1.944] 由于β-α=4.944>0.22λ:=1λ=0.056 )(2λf :=)(1λf =0.115 1λ=-3+0.382×4.944=-1.112 )(1λf =-0.987如此反复得下表7-1:在进行8次迭代后,2.0112.1936.0<+-=-αβ取中间值024.1*-=λ或032.12-=λ作为近似最优解.显然真正极小点是-1.0.一维收索方法很多,如函数逼近法、牛顿法等可参考其他文献.§3 无约束极值的优化方法考虑无约束最优化问题(UMP ))(min x f nR x ∈ (7.9) 前面已经讨论过,求解此无约束优化问题,可以求出平稳点及不可导点的方法.令0)(*=∇x f ,求出平稳点.如果)(*2x f ∇是正定的,则*x 是UMP 的严格局部最优解.若)(x f 在n R 上是凸函数,则是整体最优解.在求解0)(*=∇x f 这n 维方程组比较困难时,就用最优化算法——迭代法.本节将介绍最速下降法,牛顿法,共轭方向法,坐标轮换法,变尺度法.这些算法就是用不同的方法来选择搜索方向k p 而得到的.当然kp 必须是下降方向.定理7.7 设R R f n→:,在点x 处可微,若存在nR p ∈,使0)(<∇p x f T,则向量p是f 在x 处的下降方向.证明:)(x f 可微(在x 处),由泰勒展开式,有 ||)(||)()()(p p x f x f p x f Tλολλ+∇+=+ ,0,0)(><∇λp x f T0)(<∇∴p x f Tλ),(当δλδ0∈∃∴时,有0||)(||)(<+∇p p x f Tλολ),0()()(δλλ∈∀<+∴x f p x fp ∴是)(x f 在点x 的下降方向. 证毕.一、最速下降法最速下降法又称梯度法,选择负梯度方向作为目标函数值下降的方向,是比较古老的一种算法,其它的方法是它的变形或受它的启发而得到的,因此它是最优化方法的基础. 基本思想:迭代法求解无约束最优化(5.9)问题的关键是求下降方向kp .显然最容易想到的是使目标函数值下降速度最快的方向.从当前点kx 出发,什么方向是使)(x f 下降速度最快呢? 由泰勒展开知:||)(||)()()(k k T k k k k p p x f p x f x f λολλ+∇-=+-略去λ的高阶无穷小项,取)(kkx f p -∇=时,函数值下降最多.而)(kx f ∇为)(x f 在kx 处的梯度,所以下降方向kp 取为负梯度方向时,目标函数值下降最快.最速下降法:①. 取初始点0x ,允许误差0>ε,令0:=k ②. 计算)(kkx f p -∇=③. 若ε<||||k p ,停止,点k x 为近似最优解.否则进入④.④. 求 k λ,使)(min )(0kk k k k p x f p x f λλλ+=+≥ ⑤. 令kk k k p x xλ+=+1,1:+=k k ,返回②例7.4 用最速下降法求解下列无约束优化问题1222121225),(m in x x x x x f -+=取初始点Tx )2,2(0= 终止误差 610-=ε解:很显然,该问题的整体最优解为Tx )0,1(*=⎪⎪⎭⎫⎝⎛-=∇215022)(x x x f ,令0,10)(21==⇒=∇x x x f易验证)(*2x f ∇是正定的, ∴是整体最优解. 下面用最速下降法求解T T x x x f x f x f )50,22(),()(2121-=∂∂∂∂=∇ T x )2,2(0=T x f )100,2()(0=∇∴取Tp )100,2(0-=由⎪⎪⎭⎫⎝⎛--=⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛=+λλλλ10022210022200p x4)22(2)1002(25)22()(2200+---+-=+λλλλp x f得0)1002(5000)22(4=----=λλλd df020007679.0500008100080==⇒λ⎪⎪⎭⎫⎝⎛-=⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛=+=0007679.0959984642.11002020007679.0220001p x x λ重复上述过程得 Tx )01824717.0,009122542.1(2=789850288.0)(,078282.0)(,100)(21-=-==x f x f x f图7-1从图7-1可知,{}kx 随着迭代次数的增加,越来越接近与最优解)0,1(,同时也看到,随着迭代次数的增加,收敛速度越来越慢.极小点附近沿着一种锯齿形前进,即产生“拉锯”现象:{}kx沿相互正交的方向小步拐进,趋于最优解的过程非常缓慢.这种现象怎样解释?如何克服?在求k λ时,由于)()(kkp x f λλϕ+=,求导得0)('=λϕ,k λ是)(λϕ的极小点.故有0)()('=⋅+∇=k T k k k k p p x f λλϕ,即0)(=⋅+∇kk k k p p x f λ,又)(11++-∇=k k x f p,即0)(1=⋅+k T k p p 或0)()(1=∇⋅∇+k T k x f x f .也就是最速下降法相邻两个搜索方向是彼此正交的.因此最速下降法是局部下降最快,但不一定是整体下降最快的.在实际应用中一般开始几步用最速下降法,后来用下面介绍的牛顿法.这样两个算法结合起来,求解速度较快.二、牛顿法 基本思想:考虑无约束优化问题(5.9))(min x f nRx ∈ 由前面的讨论知,若能解出方程组0)(=∇x f ,求出平稳点*x ,则可验证*x 是否为极值点.由于0)(=∇x f 难以求解.如果)(x f 具有连续的二阶偏导数,则考虑用)(x f 在点*x 二阶泰勒展开式条件替代)(x f ∇,即由22||)(||))(()(21)()()()(k k k T k k T k k x x x x x f x x x x x f x f x f -+-∇-+-∇+=ο))(()(21)()()()()(2kk T k k T k k x x x f x x x x x f x f x g x f -∇-+-∇+=≈⇒令0))(()()()(2=-∇+∇=∇≈∇kk k x x x f x f x g x f)())((121k k k k x f x f x x ∇∇-=⇒-+即从kx 出发,搜索方向为)())((12kkkx f x f p ∇∇-=-,步长恒为1,得到下一个迭代点1+k x.牛顿法:①. 选取初始点0,0=:k x ,精度0>ε ②. 计算)(kx f ∇,如果ε≤∇||)(||kx f ,计算终止.否则计算)(2kx f ∇,求出搜索方向)())((12kk k x f x f p ∇∇-=-. ③. 令1:,1+=+=+k k p x x k k k ,返回②.例7.5 考虑无约束问题22122214)(m in x x x x x f -+=试分别取初始点(1)T x )1,1(0=,(2)T x )4,3(0=(3)Tx )0,2(0=,取精度要求310-=ε,用牛顿法求解.解:⎪⎪⎭⎫ ⎝⎛--=∇212211228)(x x x x x x f ⎪⎪⎭⎫⎝⎛---=∇22228)(1122x x x x f (1) 取Tx )1,1(0=有Tx f )1,6()(0=∇ ε>=∇0828.6||)(||0x f⎪⎪⎭⎫⎝⎛--=∇2226)(02x fT x f x f p )2500.2,7500.1()())((01020--=∇⋅∇-=-Tp x x )2500.1,7500.0(01--=+= 重复计算结果得表7-2.ε<=0||)(||4x f T x )0,0(4=∴为近似最优解.实际上,该问题最优解为**)0,0(=x(2) 取Tx )4,3(0=,同上计算,得TT x x x )4,8284.2(,)4,8333.2(),4,3(21===有ε<=∇=∇=∇0||)(||,1667.0||)(||,1||)(||210x f x f x f ,这一迭代结果收敛到)(x f 的鞍点T)4,22(.(3) 取Tx )0,2(0=T x f )4,16()(0-=∇ ⎪⎪⎭⎫⎝⎛--=∇2448)(02x f0)(02=∇x f , 即)(02x f ∇不可逆,所以无法求得点1x .牛顿法的主要缺点:(1) 该法的某次迭代反而使目标函数值增大(见上例).(2) 初始点0x 距极小点*x 较远时,产生的点列{}kx可能不收敛,还会出现)(*2x f ∇的奇异情况.(3) )(*2x f ∇的逆矩阵计算量大. 牛顿迭代法的主要优点:当目标函数)(x f 满足一定条件,初始点0x 充分接近极小点*x 时,由牛顿法产生的点列{}kx 不仅能够收敛到*x,而且收敛速度非常快.实际应用中常将最速下降法和牛顿法结合起来使用.牛顿法的改进:上面介绍的牛顿法中,kx 处的搜索方向为)())((12kkkx f x f p ∇∇-=-,步长恒为 1.若通过一维搜索来取最优步长k λ,可防止在迭代中步长恒为1时标目标函数值增大的可能. 改进的牛顿法:①. 取初始点nR x ∈0,允许误差0:,0=>k ε.②. 检验是否满足ε<∇||)(||kx f ,若是,迭代停止,得到k x 为近似最优解.否则进入③.③. 令)())((12kk k x f x f p ∇∇-=-.④. 求k λ,使)()(min kk k k k p x f p x f λλλ+=+. ⑤. 令k k k k p x x λ+=+1,令1+=k k :转②.三、坐标轮换法既然求解非线性规划问题的迭代法是给出初始点0x ,求出一个方向kp ,根据kp 确定步长k λ,使k k k k p x xλ+=+1,如果1+k x 满足某精度要求则停止,否则继续找方向1+k p .显然构造出搜索方向有一定的困难,能否按既定的搜索方向寻找最优解,省去找搜索方向kp 呢?在最速下降法中我们看到相邻两个搜索方向kp 和1+k p是正交的.我们知道在n 维欧氏空间中坐标轴向量n εεε,,,21 是正交的,可否选坐标轴向量为搜索方向kp 为呢?回答是肯定的,这样我们得到了坐标轮换法.基本思想:从1x 出发,取11ε=p ,沿1p 进行一维搜索得到1112p x x λ+=.若2x 满足精度要求,则停止.否则取22ε=p ,2223p x x λ+=.如此继续,, 取n n n n n n p x x p λε+==+1,,若1+n x 满足精度要求,则停止.否则令11ε=+n p ,1112+++++=n n n n p x x λ,如此反复连续,可以求出近似最优解.坐标轮换法的缺点是收敛速度较慢,搜索效率较低,但基本思想简单,沿坐标轴的方向进行搜索.四、共轭方向法和共轭梯度法共轭方向法是一类方法的总称,它原来是为求解目标函数为二次函数的问题而设计的.这类方法的特点是:方法中的搜索方向是与二次函数的系数矩阵Q 有关的所谓共轭方向,用这类方法求解n 元二次函数的极小化问题最多进行n 次一维搜索便可以得到极小点.由于可微的非二次函数在极小点附近的性态近似于二次函数,因此这类方法也用于求可微的非二次函数的UMP 问题.定义7.14 设Q 为n n ⨯对称正定矩阵,如果0=Qy x T称n 维向量x 和y 关于Q 共轭.定义7.15 设k p p p ,,,21 为nR 中一组向量, Q 是一个n n ⨯对称正定矩阵.如果k j i j i Qp p Qp p i T i j T i ,,2,1,,,0,0 =≠≠=,称k p p p ,,,21 为Q 共轭向量组,也称它们为一组Q 共轭方向.当E Q =(单位矩阵)时,为正交方向.定理7.8 若k p p p ,,,21 为矩阵Q 共轭向量组,则它们必线性无关. 证明: 若存在k l l l ,,,21 ,使011=++k k p l p l ,则对任一k j ,,2,1 =,由 0)(11===∑∑==j T j j ki j T j iki iiT jQp p l Qp pl p l Q p又0>j Tj Qp p , 0=∴j l∴ k p p p ,,,21 线性无关. 证毕.由高等代数知识可知, Q 共轭向量组中最多包含n 个向量, n 是向量的维数.反之,可以证明,由n 维空间的任一组基出发可以构造出一组Q 共轭方向11,,,-n pp p .前面我们已经讲述了坐标轮换法,在n 维欧几里德空间中, n εεε,,,21 是一组线性无关的正交向量.从0x 出发,依次使用n εεε,,,21 作为下降方向进行一维精确搜索来确定n x x x ,,,21 ,重复进行得点列{}k x ,最终求得满足精度要求的最优解.刚才我们引进了共轭向量组11,,,-n p p p ,又证明了它们的线性无关性,那么是否可以用这共轭向量组像坐标轮换法一样,从0x 出发依次用11,,,-n pp p 作为下降方向来确定{}kx,最终求得近似最优解?回答是肯定的.这个方法称为共轭方向法.共轭方向法适合任何可微凸函数,且对于二次函数极值)(min x f x p Qx x T T+=21特 别有效.下面的定理告诉我们用共轭方向法求解二次函数的极值,经过n 次迭代就能求得最优解.定理7.9 设Q 为n n ⨯对称正定矩阵,函数x p Qx x x f T T+=21)(,又设 110,,,-n p p p 为一组Q 共轭向量组,且每个i p 是(下面形成的)i x 点处的下降方向.则由任一点0x 出发,按如下迭代至多n 步后收敛,k k k k p x xλ+=+1,这里k λ满足)(m i n )(0k k k k k p x f p x f λλλ+=+>.证明: 欲证至多n 步收敛,即证0)(=∇nx f .下证)(nx f ∇和11,,,-n pp p 正交.p Qx x f +=∇)( p Qx x f kk+=∇∴)( p p x Q p Qx xf k k k k k ++=+=∇++)()(11λkk k k k k Qp x f p Qp Qx λλ+∇=++=)( =+∇=∇---111)()(n n n n Qpx f x f λ 11111)(--++++++∇=n n k k k Qp Qp xf λλQ p Q p x f x f Tn n T k k T k T n )()()()(11111--++++++∇=∇λλkT n n k T k k k T k k T n Qp p Qp p p x f p x f )()()()(11111--++++++∇=∇λλ000+++= )2,,2,1,0(-=n k 又0)(1=∇-n Tn px f0)(=∇∴kT n p x f )1,,1,0(-=n k)(nx f ∇∴和11,,,-n pp p 正交, 又110,,,-n pp p 线性无关.0)(=∇∴nx fnx ∴是问题的最优解. 证毕. 共轭方向法具有二次有限终止性. 由于共轭方向组11,,,-n p p p 的取法有很大的随意性,用不同方式产生一组共轭方向就得到不同的共轭方向法.如果利用迭代点处的负梯度向量为基础产生一组共轭方向,这样的方法叫共轭梯度法.下面对二次函数讨论形成Q 共轭梯度方向的一般方法,然后引到求解无约束化问题上.任取初始点n R x ∈0,若0)(0≠∇x f ,取)(0x f p -∇=,从0x 点沿方向0p 进行一维搜索 ,求得0λ.令0001p x x λ+=,若0)(1=∇x f ,则已获得最优解1*x x =.否则,取0011)(p x f p υ+-∇=,其中0υ的选择要使1p 和0p 关于Q 共轭,由0)(01=Qp p T ,得0100)()()(Qp p x f Q p T T ∇=υ一般地,若已获得Q 共轭方向kp p p ,,,1和依次沿它们进行一维搜索的得到的点列110,,,+k x x x ,若0)(1=∇+k x f ,则最优解为1*+=k x x ,否则∑=+++-∇=ki i i k k p xf p011)(α为使1+k p 和11,,,-k pp p 是共轭,可证0110====-k ααα所以有 k k k k p x f pυ+-∇=++)(11又1+k p和kp 是Q 共轭的.有0)(1=+k Tk Qp p,得kT k k T k k Qpp x f Q p )()()(1+∇=υ 2,,2,1,0-=n k 进一步可得k υ221||)(||||)(||k k x f x f ∇∇=+ 2,,1,0-=n k综合起来得 Fletcher-Reeves 公式2)21110||(||||)(||)()(k k k k k k k x f x f p x f px f p ∇∇=+-∇=-∇=+++υυ 2,,2,1,0-=n k (7.10)共轭梯度法: ①. 选取初始点0x ,给定终止误差0>ε. ②. 计算)(0x f ∇,若ε≤∇||)(||0x f ,停止迭代,输出0x .否则进行③.③. 取)(0x f p -∇=,令0:=k④. 求k λ,)(min )(0kkkk kp x f p x f λλλ+=+≥,令k k k k p x xλ+=+1⑤. 计算)(1+∇k xf ,若ε≤∇+||)(||1k x f ,停止迭代,1*+=k x x 为最优解.否则转⑥.⑥. 若n k =+1,令nx x =:0,转③(已经完成一组共轭方向的迭代,进入下一轮)否则转⑦ ⑦. 取kk k k p xf pυ+-∇=++)(11,其中221||)(||||)(||k k k x f x f ∇∇=+υ,令1:+=k k ,转④当)(x f 是二次函数时上述共轭梯度法至多进行n 步可求得最优解.当)(x f 不是二次函数,共轭梯度法也可以构造11,,,-n p p p ,但已不具有有限步收敛的性质,于是和坐标轮换法一样经过一轮迭代后,采用重新开始的技巧.上述共轭梯度法就是带有再开始技巧的F-R 法.例7.6 用F-R 法求下面问题 2212121252),(m in x x x x x f +-=取初始点T x )2,2(0=,终止误差为610-=ε解:在例7.4中已得Tx f p )100,2()(0-=-∇= Tx )0007679.0,959984642.1(1-= Tx f )038395.0,919969284.1()(1-=∇000368628.010004687756228.3||)(||||)(||20210==∇∇=x f x f υ ⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛-=+-∇=0015322.092070654.11002000368628.0038395.0919969284.1)(0011p x f p υ⎪⎪⎭⎫ ⎝⎛+--=+0015322.00007679.092070654.1959984642.111λλλp x0378228399.7687703443.3)(11=+-=+λλλd p x df499808794.01=∴λ⎪⎪⎭⎫ ⎝⎛≈⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫⎝⎛⨯+--⨯+=+=010********.0999998622.00015322.0499808794.00007679.0)92070654.1(499808794.0959984642.11112p x x λε<=∇0||)(||2x f , ∴最优解⎪⎪⎭⎫⎝⎛==012*x x .五、变尺度法当初始点为)(x f 的其极值点附近时牛顿法收敛速度很快,但缺点是需计算)(2kx f ∇的逆矩阵,在实际问题中目标函数往往相当复杂,计算二阶导数的工作量或者太大或者不可能,在x 的维数很高时,计算逆矩阵也相当费事.如果能设法构造另一个矩阵kH ,用它来逼近二阶导数矩阵的逆矩阵12))((-∇kx f 则可避免上述问题.下面就来研究如何构造12))((-∇kx f 的近似矩阵kH .我们希望:每一步都能以现有的信息来确定下一个搜索方向,每做一次迭代,目标函数值均有所下降,这些近似矩阵最后应收敛于最优解处的海赛矩阵的逆矩阵12))((-∇kx f .p Qx x f xp Qx x x f T T+=∇+=)(21)(考虑于是 )]()([)()()(11111k k k k k k k k x f x f Q x x x x Q x f xf ∇-∇=-⇒-=∇-∇+-+++当)(x f 是非二次函数时,令)]()([111k k k k k x f x f H x x ∇-∇=-+++ (7.11)称为拟牛顿条件.显然,我们构造出来的近似矩阵k H 必须满足上述拟牛顿条件及递推性:k k k H H H ∆+=+1,这里k H ∆称为矫正矩阵.记 k k k kk k x x x x f x f G -=∆∇-∇=∆++11)()( 有 kk k k k k G H H G H x ∆∆+=∆=∆+)(1 .变尺度法即DEP 法是由Davidon 首先提出,后来又被Fletcher 和Powell 改进的算法.记kk T k kT k k k k T k T k k k k kk T k kT k k k k T k T k k kG H G HG G H x G x x H H G H G H G G H x G x x H ∆∆∆∆-∆∆∆∆+=∆∆∆∆-∆∆∆∆=∆+)()()()()()()()(1 (7.12)容易验证1+k H 满足拟牛顿条件,称上式为DEP 公式.变尺度方法计算步骤:(1) 给出初始点nR x ∈0,允许误差0>ε.(2) 若ε<∇||)(||0x f ,停止,0x 为近似最优解;否则转下一步.(3) 取I H =0(单位矩阵),0=:k . (4) )(kk k x f H p ∇-=(5) 求k λ,使)(min )(0kk k k k p x f p x f λλλ+=+≥. (6) 令kk k k p x xλ+=+1(7) 若ε<∇+||)(||1k xf ,1+k x 为最优解,停止;否则当1-=n k 时,令n x x =:0转(3).(即迭代一轮n 次仍没求得最优解,以新的0x 为起点重新开始一轮新的迭代).k k k k k kx x x x f xf G n k -=∆∇-∇=∆-<++11),()(1时,令当.计算kk T k kT k k k k T k T k k kk G H G H G G H x G x x H H∆∆∆∆-∆∆∆∆+=+)()()()(1,令1+=k k :,转(4). §4 约束极值的最优化方法考虑(MP)问题:0)(0)(..)(min =≥x H x g t s x f (7.13)其中Tl T m x h x h x h x g x g x g ))(,),(()(,))(,),(()(11 ==是向量函数.显然 0)(0)(0)(≥-≥⇔=x h x h x h , 于是(MP )问题可以写为:Tm x g x g x g x g t s x f ))(,),(()(0)(..)(min 1 =≥ (7.14)一、积极约束设0x 是(MP )问题(5.14)的一个可行解.对0)(0≥x g i 来说,在点0x 有两种情况:或者0)(0>x g i ,或者0)(0=x g i .0)(0>x g i 时,则0x 不在0)(0=x g i 形成的边界上,称这一约束为0x 的非积极约束;0)(0=x g i 时,0x 处于由0)(0≥x g i 这个约束条件形成的可行域边界上,当0x 有变化时就不满足0)(0=x g i 的条件,所以称为积极约束,记为:{}()|()0,1i I x i g x i m ==≤≤.定义7.16 设x 满足约束条件0)(0≥x g i ),,1(m i =,0)(|{)(==x g i x I i ,}m i ≤≤1,如果)(x g i ∇,)(x I i ∈线性无关,则称点x 是约束条件的一个正则点.二、可行方向、下降方向的代数条件前面我们已经给出可行方向和下降方向的定义,下面给出其代数条件.可行方向:设K 是(MP )问题(5.14)的可行域,K x ∈,0,≠∈p R p n.若存在00>λ使得],0[0λλ∈时有K p x ∈+λ,称p 为x 点处的一个可行方向.由泰勒公式:||)(||)()()(p p x g x g p x g T i i i λολλ+∇+=+当x 为)(x g i 的积极约束时,有0)(=x g i .只要0>λ足够小,)(p x g i λ+和p x g T i )(∇λ同号,于是当0)(>∇p x g T i 时有0)(≥+p x g i λ )(x I i ∈.当x 为)(x g i 的非积极约束时,有0)(>x g i .由)(x g i 的连续性,当0>λ足够小时,由保号性知 0)(≥+p x g i λ )(x I i ∉.所以只要 0)(>∇p x g T i ,)(x I i ∈就可保证0)(≥+p x g i λ,于是p 为x 点处的一个可行方向.称0)(>∇p x g T i ,)(x I i ∈ 为p 在点x 处是可行方向的代数条件.下降方向:设K 是(MP )问题的可行域,K x ∈,0,≠∈p R p n.若存在00>λ使得],0[0λλ∈时,有)()(x f p x f <+λ,称p 为x 点处的一个下降方向.由泰勒公式:||)(||)()()(p p x f x f p x f Tλολλ+∇+=+.当λ足够小时,只要0)(<∇p x f T,有)()(x f p x f <+λ. 称0)(<∇p x f T为p 在x 点处的一个下降方向的代数条件.三、可行下降方向设K 为(MP )问题(5.14)的可行域,K x ∈,若存在0,≠∈p R p n,p 既是x 点处的下降方向又是可行方向,则称p 为点x 处的可行下降方向.定理7.10 考虑非线性规划问题(5.14),K x ∈,),,1)()(m i x g x f i =(和在x点处可微,若*x 是局部极小点,则x 点处必不存在可行下降方向,即不存在p 同时满足:⎪⎩⎪⎨⎧∈>∇<∇)(0)(0)(x I i p x g p x f Ti T证明:反证法,设局部极小点x 处存在可行下降方向p ,于是1λ∃,当],0[1λλ∈时有)()(x f p x f <+λ,又p 为可行方向.2λ∃∴当],0[2λλ∈时K p x ∈+λ,这与x 是。
数学中的非线性规划与凸优化

数学中的非线性规划与凸优化数学广泛应用于各个领域,其中非线性规划和凸优化是数学中重要且常见的概念。
非线性规划是指在给定的约束条件下,寻找一个目标函数的最优解;而凸优化是指在给定的凸约束条件下,寻找一个凸函数的最优解。
本文将分别介绍非线性规划和凸优化的基本概念、求解方法和应用领域。
一、非线性规划非线性规划是求解非线性优化问题的数学方法。
与线性规划相比,非线性规划没有线性约束条件,目标函数和约束条件都是非线性的。
非线性规划在实际问题中的应用非常广泛,比如工程设计、金融投资和生产优化等领域。
1.1 基本概念非线性规划问题可以用如下形式表示:$$\begin{align*}\text{minimize} \quad & f(\mathbf{x}) \\\text{subject to} \quad & g_i(\mathbf{x}) \leq 0, \quad i = 1,2,\ldots,m \\ & h_j(\mathbf{x}) = 0, \quad j = 1,2,\ldots,p \\\end{align*}$$其中,$f(\mathbf{x})$是目标函数,$\mathbf{x} \in\mathbb{R}^n$是优化变量,$g_i(\mathbf{x}) \leq 0$和$h_j(\mathbf{x}) = 0$是约束条件。
1.2 求解方法求解非线性规划问题的方法有很多,常用的方法包括梯度下降法、牛顿法和拟牛顿法等。
这些方法都是通过迭代的方式,逐步优化目标函数,直到找到最优解或接近最优解。
1.2.1 梯度下降法梯度下降法是一种常用的求解非线性规划问题的方法。
它通过不断沿着负梯度方向更新优化变量,逐步接近最优解。
具体步骤如下:(1)初始化优化变量$\mathbf{x}^{(0)}$和学习率$\alpha$;(2)计算目标函数$f(\mathbf{x}^{(k)})$的梯度$\nablaf(\mathbf{x}^{(k)})$;(3)更新优化变量:$\mathbf{x}^{(k+1)} = \mathbf{x}^{(k)} -\alpha \nabla f(\mathbf{x}^{(k)})$;(4)重复步骤(2)和(3),直到满足终止条件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 非线性规划的概念和原理非线性规划的理论是在线性规划的基础上发展起来的。
1951年,库恩(H.W.Kuhn )和塔克(A.W.Tucker )等人提出了非线性规划的最优性条件,为它的发展奠定了基础。
以后随着电子计算机的普遍使用,非线性规划的理论和方法有了很大的发展,其应用的领域也越来越广泛,特别是在军事,经济,管理,生产过程自动化,工程设计和产品优化设计等方面都有着重要的应用。
一般来说,解非线性规划问题要比求解线性规划问题困难得多,而且也不像线性规划那样有统一的数学模型及如单纯形法这一通用解法。
非线性规划的各种算法大都有自己特定的适用范围。
都有一定的局限性,到目前为止还没有适合于各种非线性规划问题的一般算法。
这正是需要人们进一步研究的课题。
5.1 非线性规划的实例及数学模型[例题6.1] 投资问题:假定国家的下一个五年计划内用于发展某种工业的总投资为b 亿元,可供选择兴建的项目共有几个。
已知第j 个项目的投资为j a 亿元,可得收益为j c 亿元,问应如何进行投资,才能使盈利率(即单位投资可得到的收益)为最高?解:令决策变量为j x ,则j x 应满足条件()10j j x x -= 同时j x 应满足约束条件1nj jj a xb =≤∑目标函数是要求盈利率()1121,,,njjj n nj jj c xf x x x a x===∑∑最大。
[例题6.2] 厂址选择问题:设有n 个市场,第j 个市场位置为(),j j p q ,它对某种货物的需要量为j b ()1,2,,j n =。
现计划建立m 个仓库,第i 个仓库的存储容量为i a ()1,2,,i m =。
试确定仓库的位置,使各仓库对各市场的运输量与路程乘积之和为最小。
解:设第i 个仓库的位置为(),i i x y ()1,2,,i m =,第i 个仓库到第j 个市场的货物供应量为i j z ()1,2,,,1,2,,i m j n ==,则第i 个仓库到第j 个市场的距离为i j d =目标函数为1111mnmni ji j i ji j i j zd z =====∑∑∑∑约束条件为:(1) 每个仓库向各市场提供的货物量之和不能超过它的存储容量; (2) 每个市场从各仓库得到的货物量之和应等于它的需要量; (3) 运输量不能为负数。
因此,问题的数学模型为:11min m ni i j z ==∑∑s.t.1niji j za =≤∑,()1,2,,i m =1mijj i zb =≤∑,()1,2,,j n =0ij z ≥,()1,2,,,1,2,,i m j n ==一般非线性规划的数学模型可表示为:()min f x ;s.t. ()0i g X ≥ ()1,2,,i m =, ()0j h X =,()1,2,,j l =式中()12,,,Tn n X x x x R =∈是n 维向量,,i f g ()1,2,,i m =,j h ()1,2,,j l =都是1n R R →的映射(即自变量是n 维向量,因变量是实数的函数关系),且其中至少存在一个非线性映射。
与线性规划类似,把满足约束条件的解称为可行解。
若记()(){}0,1,2,,,0,1,2,,i j X g X i m h X j l χ=≥===则称χ为可行域。
因此上述模型可简记为()min f Xs.t. X χ∈当一个非线性规划问题的自变量X 没有任何约束,或说可行域即是整个n 维向量空间,即nR χ=,则称这样的非线性规划问题为无约束问题:()min f X 或()min nX Rf X ∈ 有约束问题与无约束问题是非线性规划的两大类问题,它们在处理方法上有明显的不同。
5.2 无约束非线性规划问题5.2.1无约束极值条件对于二阶可微的一元函数()f x ,如果x *是局部极小点,则()0f x *'=,并且()0f x *''>;反之,如果()0f x *'=,()0f x *''<,则x *是局部极大点。
关于多元函数,也有与此类似的结果,这就是下述的各定理。
考虑无约束极值问题:()min f x ,n x E ∈定理6.1 (必要条件)设()f x 是n 元可微实函数,如果x *是以上问题的局部极小解,则()0f x *∇=。
定理6.2 (充分条件)设()f x 是n 元二次可微实函数,如果x *是上述问题的局部最小解,则()0f x *∇=,()2f x *∇半正定;反之,如果在x *点有()0f x *∇=,()2f x *∇正定,则x *为严格局部最小解。
定理6.3 设()f x 是n 元可微凸函数,如果()0f x *∇=,则x *是上述问题的最小解。
[例题6.3] 试求二次函数()22121122,282420f x x x x x x =-+-+的极小点。
解:由极值存在的必要条件求出稳定点:1148f x x ∂=-∂, 2244f x x ∂=-∂,则由()0f x ∇=得12x =,21x = 再用充分条件进行检验:2214f x ∂=∂,2224f x ∂=∂,2212210f f x x x x ∂∂==∂∂∂∂,则由24004f ⎛⎫∇= ⎪⎝⎭为正定矩阵得极小点为()2,1Tx *=。
5.2.3无约束极值问题的解法5.2.3.1梯度法 (i ) 给定初始点()0X ,0ε>;(ii )计算()()k f X和()()k f X ∇,若()()2k f X ε∇≤,迭代停止,得近似极小点()kX 和近似极小值()()kf X ;否则,进行下一步;(iii ) 做一维搜索或取()()()()()()()()()()2Tk kkTkk kf Xf X f X f X f X λ∇∇=∇∇∇作为近似最佳步长,并计算()()()()1k k k k X X f X λ+=-∇,令1k k =+,转向第二步。
[例题6.4] 求解无约束极值问题 ()()()2212min 21f X x x =-+- 解:取()()00,0TX=,()()()()1222,21Tf X x x ∇=--,则()()()04,2Tf X ∇=--,()()022002f X ⎛⎫∇= ⎪⎝⎭()()()()()()()()()()0000212TTf Xf X f X f X f X λ∇∇==∇∇∇,()()()()()10002,1TX X f X λ=-∇=,()()()10,0Tf X ∇=,故()1X 为极值点,极小值为()()10f X=。
5.2.3.2牛顿法对正定二次函数,()12TT f X X AX B X c =++,其中A 为n 阶方阵,B 为n 维列向量,c 为常数,设X *为其极小点,则()0f XAXB **∇=+=,所以AX B *=-;任给n)0(E X ∈,()()()00f X AX B ∇=+,消去B ,得()()()00f X AX AX *∇=-所以 ()()()001X XA f X *-=-∇,这说明,从任意近似点出发,沿()()01A f X --∇方向搜索,步长为1,一步即可达极小点。
[例题6.5] 求解无约束极值问题()2212min 5f X x x =+解:任取()()02,1TX=,()()()04,10T f X ∇=,20010A ⎛⎫= ⎪⎝⎭,11021010A -⎛⎫ ⎪=⎪ ⎪ ⎪⎝⎭, ()()()()0010,0TX X A f X *-=-∇=由()()0,0Tf X*∇=可知,x *确实为极小点。
牛顿法与梯度法的搜索方向不同,优点是收敛速度快,但有时不好用而需采取改进措施,当维数较高时,1A -的计算量很大。
5.3 约束非线性规划问题前面我们介绍了无约束问题的最优化方法,但实际问题中,大多数都是有约束条件的问题。
求解带有约束条件的问题比起无约束问题要困难得多,也复杂得多。
在每次迭代时,不仅要使目标函数值有所下降,而且要使迭代点都落在可行域内(个别算法除外)。
求解带有约束的极值问题常用方法是:将约束问题化为一个或一系列的无约束极值问题;将非线性规划化为近似的线性规划;将复杂问题变为较简单问题等等。
5.3.1凸规划问题约束问题的情况较为复杂,先讨论其中的一种较为特殊的情况,即凸规划问题。
一般来说,非线性规划的局部最优解和全局最优解是不同的,但是,对凸规划问题,局部最优解就是全局最优解。
定义 6.1设()f X 为定义在非空凸集nS E ⊆上的实值函数,如果对于任意的两点()1X S ∈,()2X S ∈和任意实数()0,1λ∈,恒有()()()()()()()()()121211f X X f X f X λλλλ+-≤+-则称()f X 为S 上的凸函数。
定理6.4 设S 是n 维欧氏空间n E 上的一个开凸集,()f X 是定义在S 上的具有二阶连续导数的函数,那么,()f X 在S 上为凸函数的充要条件是:对所有X S ∈,海赛矩阵()2f X ∇都是半正定的;如果对所有的X S ∈,()2f X ∇都是正定的,则()f X 在S 上为严格凸函数。
定义6.2 非线性规划问题:()min f X ,n X E ∈s.t. ()0,1,2,,i g X i m ≤= ()0,1,2,,j h X j p ==中,如果()f X 和()i g X (1,2,,i m =)为x 的凸函数,()j h X (1,2,,j p =)为X的线性函数,则称此问题为一凸规划问题。
凸规划具有两个重要性质:1. 凸规划的可行集是凸集证:设凸规划的可行集为S ,即()(){}0,1,2,,;0,1,2,,;i j n S X g X i m h X j p X E =≤===∈其中()i g X (1,2,,i m =)为X 的凸函数,()j h X (1,2,,j p =)为X 的线性函数。
对于任意的()1X S ∈,()2X S ∈和任意实数()0,1λ∈,利用()i g X (1,2,,i m =)的凸性,对()()()121X XX λλ=+-,有()()()()()()()()()()121211i i i g X g X X g X g X λλλλ=+-≤+-但()()10i g X≤,()()20ig X ≤所以()0i g X ≤ 同理()0j h X = 因此,()()()121X X X S λλ=+-∈,故S 为凸集。
2. 凸规划的局部最小解就是它的全局最小解证:用反证法。
设X *是凸规划的一个局部最小解,X 是它的全局最小解,但X X *≠。
因为 X S *∈,X S ∈,所以()0,1λ∀∈,()1X X X S λλ*=+-∈由()f X 为凸函数得,()()()()()()11f X f X X f X f X λλλλ**=+-≤+-因为X 是一个全局最小解,所以()()()()()()()()11f X f X f X f X f X f X λλλλ****≤+-<+-=此式对一切()0,1λ∈都成立。