当前位置: 首页 > news >正文

专业性网站 ip宁波网络推广联系方式

专业性网站 ip,宁波网络推广联系方式,牡丹江网站建设公司,做招工的网站排名1.简述 一、算法原理 1、问题引入 之前我们了解过的算法大部分都是无约束优化问题,其算法有:黄金分割法,牛顿法,拟牛顿法,共轭梯度法,单纯性法等。但在实际工程问题中,大多数优化问题都属于有约…

1.简述

      

 

一、算法原理
1、问题引入
之前我们了解过的算法大部分都是无约束优化问题,其算法有:黄金分割法,牛顿法,拟牛顿法,共轭梯度法,单纯性法等。但在实际工程问题中,大多数优化问题都属于有约束优化问题。惩罚函数法就可以将约束优化问题转化为无约束优化问题,从而使用无约束优化算法。

2、约束优化问题的分类
约束优化问题大致分为三类:等式约束、不等式约束、等式+不等式约束。

其数学模型为:

等式约束

s.t    hv(x)=0,v=1,2,...,p<n
等式约束

s.t    

等式+不等式约束问题

s.t    hv(x)=0,v=1,2,...,p<n
 

3、惩罚函数法定义
惩罚函数法(SUMT法)又称序列无约束极小化技术,将等式约束与不等式约束的条件,经过适当定义的复合函数加到原目标函数上构造了惩罚函数,从而取消了约束,转而求解一系列无约束优化问题。

按照惩罚函数再优化过程中的迭代点是否在约束条件的可行域内,又分为内点法、外点法和混合法

内点法:迭代点再约束条件的可行域之内,只用于不等式约束。

外点法:迭代点再约束条件的可行域之外,既用于不等式约束又可用于等式约束。

4、外点惩罚函数法
等式约束:

s.t    h1(x)=x1−2=0,h2(x)=x2+3=0

 

算法步骤

a、构造惩罚函数:F=f+M * { [ h1(x) ]^2 + [ h2(x) ]^2 } ,式中M为初始惩罚因子;

b、然后用无约束优化极值算法求解(牛顿法);

c、   如果相邻两次惩罚函数无约束最优点之间的距离足够小【norm(x1-x0)<eps】,则收敛;

        否则放大惩罚因子M=C*M,式中C为 罚因子放大系数;

d、转步骤a继续迭代;

 

2.代码

 

主程序:

 

clear
f ='f1209';
x0=[3 0];
TolX = 1e-4; 
TolFun = 1e-9;
MaxIter=100;
alpha0 = 1;
%%%%选用不是基于梯度的无约束最优化方法求解,的正确结果
[xo_Nelder,fo_Nelder] = Opt_Nelder(f,x0,TolX,TolFun,MaxIter) %Nelder 方法
[fc_Nelder,fo_Nelder,co_Nelder] = f1209(xo_Nelder) %Nelder方法结果
[xo_s,fo_s] = fminsearch(f,x0) %MATLAB 内置函数fminsearch()
[fc_s,fo_s,co_s] = f1209(xo_s) %相应的结果
%%%基于梯度的方法最速下降法等,得到错误结果
grad=inline('[2*(x(1)+1)*((x(1)-1.2)^2+0.4*(x(2)-0.5)^2)+((x(1)+1)^2+4*(x(2)-1.5)^2)*2*(x(1)-1.2),8*(x(2)-1.5)*((x(1)-1.2)^2+0.4*(x(2)-0.5)^2)+((x(1)+1)^2+4*(x(2)-1.5)^2)*0.8*(x(2)-0.5)]','x');
xo_steep = Opt_Steepest(f,grad,x0,TolX,TolFun,alpha0) %最速下降法
[fc_steep,fo_steep,co_steep] = f1209(xo_steep) %相应结果
[xo_u,fo_u] = fminunc(f,x0); % MATLAB 内置函数fminunc()
[fc_u,fo_u,co_u] = f1209(xo_u) %相应结果

 

子程序:

 

function [xo,fo] =Opt_Nelder(f,x0,TolX,TolFun,MaxIter)
%Nelder-Mead法用于多维变量的最优化问题,维数>=2.
N = length(x0);
if N == 1 %一维情况,用二次逼近计算
    [xo,fo] = Opt_Quadratic(f,x0,TolX,TolFun,MaxIter);
    return
end
S = eye(N);
for i = 1:N  %自变量维数大于2时,重复计算每个子平面的情况
    i1 = i + 1;
    if i1 > N
        i1 = 1;
    end
    abc = [x0; x0 + S(i,:); x0 + S(i1,:)]; %每一个定向子平面
    fabc = [feval(f,abc(1,:)); feval(f,abc(2,:)); feval(f,abc(3,:))];
    [x0,fo] = Nelder0(f,abc,fabc,TolX,TolFun,MaxIter);
    if N < 3  %二维情况不需重复
        break;
    end 
end
xo = x0;

 

 

3.运行结果

 

6030cdbf319640b4a7efffa756de0e13.png

 2948f5bf815c49ca94a5ff0848a7846a.png

 f485fe90a6f7455daf4579379ad85363.png

 9100ec6704134ffc864344f36ff2f8a3.png

 

 

http://www.15wanjia.com/news/6344.html

相关文章:

  • 郯城做网站西安seo网站排名
  • 网站建设 企业观点seo站长助手
  • 宁津网站建设百度推广获客方法
  • 个人网站工商备案谷歌google中文登录入口
  • 网站建站公做运营的具体做什么
  • wordpress添加字体颜色西安seo
  • 网站建设规划书武汉网站建设方案优化
  • 网站上的小动画咋做百度网盘app下载
  • 中国互联网上网服务行业协会百度seo哪家公司好
  • 200元网站建设百度流量推广项目
  • 青岛网站建设哪家专业优化营商环境心得体会1000字
  • 网站嵌入免费客服插件中国企业500强排行榜
  • 快速建站php谷歌推广运营
  • 网站估值佛山网站搜索排名
  • 做牛仔裤的视频网站营销策划案的模板
  • 珠海市网站建设品牌深圳推广公司哪家好
  • 网站建设ppt方案百度公司排名多少
  • 重庆网站建设套餐seo外链工具软件
  • 怎么用hbuilder做网站虎扑体育网体育
  • 从零开始做电影网站nba球队排名
  • 哪个网站做美食视频网站好网络营销策划案
  • 网站建设合同doc百度惠生活怎么做推广
  • 软件下载大全网站做app推广去哪找商家
  • 常平东莞网站建设免费好用的网站
  • 网站源代码安装全网推广网站
  • 青岛网站建设最便宜seo能干一辈子吗
  • wordpress更改seo搜索引擎优化期末及答案
  • 网站一个页面多少钱网站优化外包价格
  • 自己做网站挂广告海外广告投放公司
  • 卡盟做网站it培训班