前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一起来学演化计算-matlab优化函数fminunc

一起来学演化计算-matlab优化函数fminunc

作者头像
演化计算与人工智能
发布2020-08-14 15:46:09
1.6K0
发布2020-08-14 15:46:09
举报

fminunc

  • 求无约束多变量函数的最小值
  • 非线性编程求解器
  • 找到指定问题的最小值,
min_{x}f(x)

,其中f(x)是一个返回一个标量的函数,x是一个向量或者矩阵。

语法

  • x = fminunc(fun,x0)
  • x = fminunc(fun,x0,options)
  • x = fminunc(problem)
  • [x,fval] = fminunc( ___ )
  • [x,fval,exitflag,output] = fminunc( __ )
  • [x,fval,exitflag,output,grad,hessian] = fminunc( ___ )

表示和描述

  • x = fminunc(fun,x0)从x0点开始,尝试找到fun中描述的函数的一个局部最小x。点x0可以是标量、向量或矩阵。
  • Note fminunc适用于无约束的非线性问题。如果您的问题有约束,通常使用fmincon。参见优化决策表。
  • x = fminunc(fun,x0,options)通过选项中指定的优化选项最小化乐趣。使用 optimoptions 设置这些选项。
  • x = fminunc(problem)找到问题的最小值,其中问题是 Input Arguments 中描述的结构。
  • [x,fval] = fminunc( __ ),对于任何语法,返回目标函数在解x处的值
  • [x,fval,exitflag,output] = fminunc()另外返回一个描述fminunc退出条件的exitflag值,以及一个包含优化过程信息的结构输出
  • [x,fval,exitflag,output,grad,hessian] = fminunc( __ )另外返回:
    • 梯度-解x处的梯度。
    • Hessian- 解决方案x的x1和x2的偏导。
    Hessian=H _ { i j } = \frac { \partial ^ { 2 } f } { \partial x _ { i } \partial x _ { j } }

示例

最小化一个多项式

求函数梯度

使用问题结构

  • 此和上一节的内容相同,但是使用了问题结构的模型,即为problem设置options,x0,objective,solver然后使用fminunc函数优化问题。
代码语言:javascript
复制
problem.options = options;
problem.x0 = [-1,2];
problem.objective = @rosenbrockwithgrad;
problem.solver = 'fminunc';

获取最佳的目标函数值

  • 没看出和第一个例子有什么区别,但是我感觉第一个函数是能够计算得到梯度的,而这个函数则不能够直接计算出梯度信息

检查解决方案过程

  • 可以输出优化过程和各种参数

输入参数

Fun 需要被优化的函数

X0 初始点

选项

所有算法
  • 寻优算法
  • 如果函数能够提供梯度则选择"trust-region"选项,否则选择 拟牛顿法 -"quasi-newton"
  • 梯度检查
  • 显示
  • 有限差分类型和步长
  • 函数终止
  • 迭代调用其他函数
  • 画出结果
  • 自定义梯度函数
  • TypicalX
trust-region算法
quasi-Newton

Problem

输出参数

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrawSky 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • fminunc
    • 语法
      • 表示和描述
        • 示例
          • 最小化一个多项式
          • 求函数梯度
          • 使用问题结构
          • 获取最佳的目标函数值
          • 检查解决方案过程
        • 输入参数
          • Fun 需要被优化的函数
          • X0 初始点
          • 选项
          • Problem
        • 输出参数
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档