• Matlab无约束非线性规划的求解


    标准形式:

    [minquad f(X) ]

    没有任何的约束条件,在matlab中,fminsearch() 和 fminunc() 可用于求解非线性规划。

    • fminsearch 是用单纯形法寻优
    • fminunc 为无约束优化提供了大型优化和中型优化算法

    MATLAB 求解无约束非线性规划的步骤

    ①首先建立一个函数M文件, 如 fun.m,用以储存目标函数。

    ②其次,调用格式

    [x.favl,exitflag,output]=fminunc('fun',X0,options) 或

    [x.favl,exitflag,output]=fminsearch('fun',X0,options)

    等号左侧:

    • x:返回最优解。

    • favl:返回目标函数在最优解 x 点的函数值。

    • exitflag:返回算法的终止标志。

    • output:返回优化算法信息的一个数据结构。

    等号右侧:

    • 第一个参数是调用目标函数储存的文件
    • 第二个参数是决策变量的初始值
    • 第三个输入参数 options 为设置优化选项参数

    例:给定初始值为[-1,1],求

    [minquad f(x)=(4x_1^2+2x^2_2+4x_1x_2+2x_2+1)e^{x_1} ]

    1.编写函数fun.m:

    function f=fun(x)
    f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);
    end
    

    2.输入如下:

    x0=[-1,1];
    [x,f]=fminunc('fun',x0)
    

    3.运行结果显示:

    x =
    
        0.5000   -1.0000
    
    
    f =
    
       3.6609e-16
    
  • 相关阅读:
    Handle类与线程
    android中ProgressBar和ListView
    RadioGroup、RadioButton、CheckBox、Toast用法
    Android开发中的menu菜单
    多个Activity相互调用和Intent
    ubuntu下安装h2数据库
    window下eclipse安装python插件
    centos7安装JDK1.8
    ubuntu设置root权限默认密码
    Linux给用户添加sudo权限
  • 原文地址:https://www.cnblogs.com/Noturns/p/13348045.html
Copyright © 2020-2023  润新知