运筹说 第98期|无约束极值问题

上一期我们一起学习了关于非线性规划问题的一维搜索方法的相关内容,本期小编将带大家学习非线性规划的无约束极值问题。

下面,让我们从实际问题出发,学习无约束极值问题吧

一、问题描述及求解原理

无约束极值问题的定义

无约束极值问题可表述为

图片

在求解上述问题时常使用迭代法。

2 迭代法

迭代法的基本思想:在一个近似点处选定一个有利搜索方向,沿这个方向进行一维寻查,得出新的近似点。然后对新点施行同样手续,如此反复迭代,直到满足预定的精度要求为止。根据搜索方向的取法不同,可以有各种算法。

迭代法的分类

(1)解析法

要用到函数的一阶导数和(或)二阶导数,由于用到了函数的解析性质,故称为解析法;

(2)直接法

在迭代过程中仅用到函数值,而不要求函数的解析性质,这类方法称为直接法。

一般说来,直接法的收敛速度较慢,只是在变量较少时才适用。但直接法的迭代步骤简单,特别是当目标函数的解析表达式十分复杂,甚至写不出具体表达式时,它们的导数很难求得,或根本不存在,就只有用直接法了。而对于存在一阶/二阶导数且能够求导的问题来说,解析性质的收敛速度更快,下面介绍两种基本的解析法。

3 梯度法(最速下降法)

梯度法是一种古老的方法,但由于它的迭代过程简单,使用方便,而且又是理解其他非线性最优化方法的基础,所以先来说明这一方法。

确定下降方向

假定问题min⁡f(X),X∈En 中的目标函数 f(X)具有一阶连续偏导数,它存在极小点X *。则第k+1次近似可表示为在第k次近似点X(k)上,沿方向P(k)做射线,并前进步长λ,即

图片

将f(X)在X(k)处作泰勒展开,得

图片

假定∇f(X(k))≠0,只要

图片

即可保证

图片

即取X(k+1)=X(k)+λP(k),就能改善目标函数值。此时,只要使∇f(X(k))TP(k)取值最小,就可求出最优的X(k+1)点。

因此,需要寻找P(k),使∇f(X(k))TP(k)最小。

图片

为向量∇f(X(k))T和P(k)的内积,θ为两个向量的夹角。在∥∇f(X(k))T∥和∥P(k)∥一定的情况下,显然cos⁡θ=-1,两向量反向时,上式最小。即负梯度方向是函数值下降最快的方向。

确定步长

方法1:试算是否满足

图片

若满足则用此λ继续迭代,否则减小λ。

方法2:通过在负梯度方向的一维搜索(例如用0.618法),来确定使f(X)最小的λk

图片

这样得到的步长称为最佳步长,有时把采用最佳步长时的梯度法成为称为最速下降法。

求解步骤

(1)给定初始点X(0)和允许误差ε>0,令k:=0。

(2)计算f(Xk)和∇f(X(k)),若∥∇f(X(k))∥2≤ε,停止迭代,得近似极小点Xk和近似极小值f(Xk);否则,转下一步。

(3)做一维搜索

图片

并计算X(k+1)=X(k)-λk ∇f(X(k)),然后令k:=k+1,转回第(2)步。

现设f(X)具有二阶连续偏导数,将f(X(k))-λ∇(X(k))在X(k)作泰勒展开:

图片

对λ求导,并令其等于零,即可得近似最佳步长的如下计算公式:

图片

有时,把搜索方向P(k)的模格式化为1,即取

图片

在这种情况下,f(X)=f(X(k)+λP(k))的泰勒展开为

图片

对λ求导,并令其等于零,得到

图片

代入P(k),即近似最佳步长变为

例题求解

例题:用梯度法求函数 f(X)=x12+5x22 的极小点,取允许误差 ε=0.7

解:取初试点

图片

其黑塞矩阵

图片

图片

图片

图片

故以 X(4)=(0.152,0.0759)T为近似极小点,此时的函数值 f(X(4)) =0.0519。

该问题的精确解是X*=(0,0)T,f(X*) =0。可知,要得到真正的精确解,需无限迭代下去。

由于沿负梯度方向目标函数的最速下降性,很容易使人们误认为负梯度方向是最理想的搜索方向,最速下降法是一种理想的极小化方法。必须指出的是,某点的负梯度方向,通常只是在该点附近才具有这种最速下降的性质。在一般情况下,当用最速下降法寻找极小点时,其搜索路径呈直角锯齿状(请回忆定理3),在开头几步,目标函数值下降较快;但在接近极小点时,收敛速度常就不理想了。特别是当目标函数的等值线为比较扁平的椭圆时,收敛就更慢了。因此,在实用中常将梯度法和其他方法联合应用,在前期使用梯度法,而在接近极小点时,可改用收敛较快的其他方法。

牛顿法

接下来介绍另外一种基本的解析法——牛顿法。牛顿法的基本思想是利用迭代点处的一阶导数(梯度)和二阶导数(Hessen矩阵)对目标函数进行二次函数近似,然后把二次模型的极小点作为新的迭代点,并不断重复这一过程,直至求得满足精度的近似极小值。下面分别介绍正定二次函数和非正定二次函数的求解过程。

(1)正定二次函数的求解

对于正定二次函数

图片

假设函数极小点为X*,则必有

图片

从而有AX*=-B。对任一点X(0)∈En,函数在该点得梯度

图片

消去B,得到

图片

可解出

图片

即对于正定二次函数,从任意近似点出发,沿着

图片

方向搜索,以1为步长,迭代一步就可到达极小点。

(2)非正定二次函数的求解

对于一般n元实函数f(X),假定它有连续二阶偏导数,X(k) 为其极小点的某一近似。在这个点附近取f(X)的二阶泰勒多项式逼近:

图片

其中,∆X=X-X(k) 。

这个近似函数的极小点应满足一阶必要条件,即

图片

设∇2f(X(k))的逆阵存在,可得

图片

由上式解得的该近似函数的极小点,也就仅是f(X)极小点的近似。

因此为求得f(X)的极小点,可以-[∇2 f(X(k))]-1 ∇f(X(k))为搜索方向(牛顿方向),按下述公式进行迭代:

图片

这就是阻尼牛顿法(广义牛顿法),可用于求解非正定二次函数的极小点。

例题求解

例题:用牛顿法求 f(X)=x12+5x22的极小点。

解:任取初始点X(0)=(2,1)T,算出。在本例中,

图片

图片

图片

可知X* 确实为极小点。

优缺点

牛顿法的优点是收敛速度快,缺点是有时进行不下去而需采取改进措施,当维数较高时,工作量很大。

为克服梯度法收敛速度慢及牛顿法有时失效和在维数较高时计算工作量大的缺点,不少学者提出了一些更加实用的其他算法,如共轭梯度法、变尺度法等。

以上就是无约束极值问题的全部内容了,通过本节学习大家是否对该问题有了一个初步的认识呢,是否可以求解无约束极值问题呢?

作者 | 陈优 陈梦 

责编 | 陈梦

审核 | 徐小峰

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/625307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ArkUI-X跨平台已至,何需其它!

运行环境 DevEco Studio:4.0Release OpenHarmony SDK API10 开发板:润和DAYU200 自从写了一篇ArkUI-X跨平台的文章之后,好多人都说对这个项目十分关注。 那么今天我们就来完整的梳理一下这个项目。 1、ArkUI-X 我们之前可能更多接触的…

登录验证

目录 会话技术 Cookie Session JWT JWT生成 JWT校验 会话技术 会话 打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求与响应 会话跟踪 一种维护浏览器的方法 服务器需要…

性能测试jmeter

选的这些怎么添加 在一个列表里面 方法调用${__time(YMD)} 两个下划线,后跟函数名,小括号内是输入参数,整个用大括号包裹。 注意POST一定要在消息体数据里面写,不能再参数里面 否则报错:loginOut,没cookie等

VueCli-自定义创建项目

参考 1.安装脚手架 (已安装可以跳过) npm i vue/cli -g2.创建项目 vue create 项目名 // 如: vue create dn-demo键盘上下键 - 选择自定义选型 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > M…

小迪安全第二天

文章目录 一、Web应用,架构搭建二、web应用环境架构类三、web应用安全漏洞分类总结 一、Web应用,架构搭建 #网站搭建前置知识 域名,子域名,dns,http/https,证书等 二、web应用环境架构类 理解不同web应用组成角色功能架构 开发…

显示CPU架构的有关信息 lscpu

文章目录 显示CPU架构的有关信息 lscpu默认实例更多信息 显示CPU架构的有关信息 lscpu Linux的CPU设备查看器。lscpu命令用来显示cpu的相关信息。 lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读 。 命令输出的信息包含cpu数量,线…

tensorflow报错: DNN library is no found

错误描述 如上图在执行程序的时候,会出现 DNN library is no found 的报错 解决办法 这个错误基本上说明你安装的 cudnn有问题,或者没有安装这个工具。 首先检测一下你是否安装了 cudnn 进入CUDA_HOME下,也就是进入你的cuda的驱动的安装目…

个人数据备份方案分享(源自一次悲惨经历)

文章目录 1 起源2 备份架构2.1 生活照片2.2 生活录音2.3 微信文件2.4 工作文件2.5 笔记、影视音乐、书籍 3 使用工具介绍3.1 小米云服务3.2 中国移动云盘3.3 小米移动硬盘(1T)3.4 FreeFileSync 4 总结 1 起源 本文的灵感源于我个人的一次不幸遭遇&#…

领域驱动设计——DDD领域驱动设计进阶

摘要 进阶篇主要讲解领域事件、DDD 分层架构、几种常见的微服务架构模型以及中台设计思想等内容。如何通过领域事件实现微服务解耦?、怎样进行微服务分层设计?、如何实现层与层之间的服务协作?、通过几种微服务架构模型的对比分析&#xff0…

记一个有关 Vuetify 组件遇到的一些问题

Vuetify 官网地址 所有Vuetify 组件 — Vuetify 1、Combobox使用对象数组 Combobox 组合框 — Vuetify items数据使用对象数组时&#xff0c;默认选中的是整个对象&#xff0c;要对数据进行处理 <v-comboboxv-model"defaultInfo.variableKey":rules"rules…

基于springboot体育场馆运营管理系统源码

基于springboot体育场馆运营管理系统源码330 -- MySQL dump 10.13 Distrib 5.7.31, for Linux (x86_64) -- -- Host: localhost Database: springboot3cprm -- ------------------------------------------------------ -- Server version 5.7.31/*!40101 SET OLD_CHARACT…

网络安全全栈培训笔记(53-WEB攻防-通用漏洞CRLF注入URL重定向资源处理拒绝服务)

第53天 WEB攻防-通用漏洞&CRLF注入&URL重定向&资源处理拒绝服务 知识点&#xff1a; 1、CRLF注入-原理&检测&利用 2、URL重定向-原理&检测&利用 3、Web拒绝服务-原理&检测&利用 #下节预告&#xff1a; 1、JSONP&CORS跨域 2、域名安全…

嵌入式软件工程师面试题——2025校招社招通用(十八)

说明&#xff1a; 面试群&#xff0c;群号&#xff1a; 228447240面试题来源于网络书籍&#xff0c;公司题目以及博主原创或修改&#xff08;题目大部分来源于各种公司&#xff09;&#xff1b;文中很多题目&#xff0c;或许大家直接编译器写完&#xff0c;1分钟就出结果了。但…

共识算法介绍

文章目录 共识算法Paxos 算法三种角色一致性提交算法prepare 阶段accept 阶段commit 阶段 CAP 定理BASE 理论Zookeeper 算法实现三类角色三个数据三种模式四种状态消息广播算法Leader选举算法 共识算法 Paxos 算法 Paxos 算法是莱斯利兰伯特(Leslie Lamport)1990 年提出的一种…

基于Java (spring-boot)的社团管理系统

一、项目介绍 系统管理员的功能概述&#xff1a; ①用户管理 a.注册用户账户 当一个新用户注册时&#xff0c;用户填写基本信息并上传。用户基本信息包括账号、 姓名、密码、手机、地址等信息。 b.用户信息管理 管理员可以查看系统所有用户的基本信息&#xff0c;并修改和…

面试官常问问题:Java中的128陷阱详解

看这样两段代码&#xff0c;思考结果返回的是什么 Integer num1 100; Integer num2 100; System.out.println(num1 num2);Integer num3 128; Integer num4 128; System.out.println(num3 num4); 揭晓答案&#xff1a;第一段代码的结果是true&#xff0c;第二段代码的结…

数据结构学习 jz59 滑动窗口的最大值

关键词&#xff1a;排序 大顶堆 双端队列 题目&#xff1a; 望远镜中最高的海拔 方法一&#xff1a;维护一个辅助队列。 方法二&#xff1a;大顶堆。 我还在主站 239 写了找最小值的方法。 方法一&#xff1a;最优解 这个方法和jz30维护一个非严格递减的辅助栈是基本一样的…

条款24:若所有参数皆需类型转换,请为此采用非成员函数

设计一个表示有理数的类时&#xff0c;允许从整数隐式转换为有理数是有用的&#xff1a; class Rational { public:Rational(int numerator 0, // 该构造函数没有explicit限制;int denominator 1); int numerator() const; int denominator() const; const Rational opera…

计划——不做计划

今天想讲一下我做计划这件事。 2024 年已经过了两个星期了&#xff0c;毕竟自己也到了一个新的阶段&#xff0c;想着也可以搞个计划&#xff0c;写写自己未来一年计划做的事情。 但回忆了过去这半年来我所做的计划&#xff0c;我的双手抚摸着键盘&#xff0c;迟迟动不了手。 …

分布式系统中的CAP原理

分布式系统中的CAP原理 本文已收录至我的个人网站&#xff1a;程序员波特&#xff0c;主要记录Java相关技术系列教程&#xff0c;共享电子书、Java学习路线、视频教程、简历模板和面试题等学习资源&#xff0c;让想要学习的你&#xff0c;不再迷茫。 简介 在分布式系统中&…