化工系统工程_03非线性规划讲述.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
化工系统工程_03非线性规划讲述

非线性规划 nonlinear programming, NLP 非线性规划一般包括 无约束极值问题:没有任何约束条件 约束极值问题:在等式或不等式约束下求最大或最小。 非线性规划解理论现状: 解析理论:非线性规划问题的解理论本身在所有应用数学进行分析的学科中都是非常重要的基础,例如经济学中的消费者理论、厂商理论都是在非线性规划解理论基础上发展起来的。 数值求解:实际求解时,往往只能得到近似解;不能保证是全局最优;常常出现不收敛的情况。因此只要可能,实际建模时尽可能建为线性模型。 求解多元函数的无约束极小点问题目前被人们所广泛接受的一种方法就是下降迭代算法,也称为搜索法。 搜索法发展的理由在于:在许多实际问题中,目标函数不满足凸性,于是促使人们考虑直接从函数的特性出发,对局部最优解进行搜索。只利用目标函数值的变化进行试探性搜索称为直接搜索法;根据目标函数的解析性质确定搜索的方法称为解析搜索法。 无约束极值问题 一阶可导函数理论解: Max(min)f(x) 必要条件:一阶条件:导数(偏导数)=0。也就是 或者说,梯度=0: 性质: 只是必要条件,满足一阶条件并不一定是极值点。 极大点和极小点都满足同样条件。 需考察二阶条件才能知道是否为极值点以及是极大点还是极小点。 不能保证是全局极值而不是局部极值。 数值算法: 迭代过程由四个部分组成 初始点:可由用户自行选择; 搜索方向:从什么方向去寻找下一个点; 步长:在搜索方向上走多远,一般有三种方法: 固定步长:一次走固定距离; 可变步长:如果固定距离目标函数值没有改善,就扩大或缩小步长计算目标函数值; 最优步长:在搜索方向上寻找使目标函数值最优的步长(一维搜索); 终止条件: 绝对误差,如果||xk+1-xk||e或者||f(xk+1)-f(xk)||e ,e为最初选定的精度标准则停止; 相对误差,如果||xk+1-xk||/||xk||e或者||f(xk+1)-f(xk)||/||f(xk)||e,则停止; 梯度:如果梯度的长度小于e,则停止。 例1:人员分配 一个公司销售四种药品,每年在每个推销员身上要花费5万元,从推销队伍获得的收入(排除了其他成本之后)为: 其中xi为分配给每种药品的推销队伍人数。如何使利润最大呢? 例2:空间定位 一个公司要建立一个仓库,从那里将货物发送给四个客户,客户的空间位置和需求量分别是: 客户 X坐标 Y坐标 年度需求量 客户1 5 10 200 客户2 10 5 150 客户3 0 12 180 客户4 12 0 250 仓库应该修在什么地方使得总运输里程最小 凸集 凸集的定义为: 集合中任意两个点的连接线段仍然属于该集合,则该集合称为凸集。 凸集定义可用数学符号表示如下: 如s是凸集,则其中元素满足 凸规划 定理:任意个凸集的交集仍是凸集 当用迭代法求函数的极小点时,常常用到一维搜索,即沿某一已知方向求目标函数的极小点。一维搜索的方法很多,常用的有: 区域消去法(“成功—失败”,斐波那契Fibonacci法,0.618法等); 插值法(抛物线插值法,三次插值法等); 微积分中的求根法(切线法,二分法等)。 区域消去法 区域消去法 定理:若f在闭区间a≤x≤b内为下单峰连续函数,x*点为极小值。设x1、x2为区间内的两点,且ax1x2b,比较两点的函数值,则 若f(x1)f(x2),则极小值不在(a,x1)内; 若f(x1)f(x2),则极小值不在(x2,b)内; 若f(x1)=f(x2),则极小值在(x1,x2)内。 0.618法(黄金分割法) 0.618法和斐波那契(Fibonacci)法都是分割方法,其基本思想是通过取试探点和进行函数值的比较,使包含极小点的搜索区间不断缩短,当区间长度缩短到一定程度时,区间上各点的函数值均接近极小值,从而各点可以作为极小点的近似点。这类方法仅需要计算函数值,用途很广,尤其适用于非光滑及导数表达式复杂或写不出的种种情况。 基本原理 ①通过比较搜索区间内两点的函数值,逐步缩短搜索区间; 比如:x1,x2∈(a,b),其中 x1x2 , 若f(x1)f(x2) ,取[a, x2]为新的搜索区间, 若f(x1)f(x2),取 [ x1,b]为新的搜索区间。对新的搜索区间,再增加一个新的内点,通过比较上一次保留下来的内点和新选定内点的函数值便可得到一个新的缩小了的搜索区间。 如只进行一

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档