最优化方法——线搜索

精确线搜索

黄金分割法

待求解函数

function [y]=phi(x)
y=3*x^2-2*tan(x);

黄金分割法MATLAB实现

function [i,s,phis,ds,dphi,G]=golds(phi,a,b,epsilon,delta)  %  Golden Section
t=(sqrt(5)-1)/2;   
h=b-a;  %Define interval length
phia=feval(phi,a);  %  Write function value with m file
phib=feval(phi,b);  %  Using feval to calculate function value
p=a+(1-t)*h;  %  Calculate the initial trial point p
q=a+t*h;  %  Calculate the initial trial point q
phip=feval(phi,p);  %  Function value of trial point
phiq=feval(phi,q);
i=1;  % Number of operations initialization
G(i,:)=[a,p,q,b];  
while(abs(phib-phia)>delta)||(h>epsilon)  %Shutdown criteria
    if(phip<=phiq)
        b=q;
        phib=phiq;
        q=p;
        phiq=phip;
        h=b-a;
        p=a+(1-t)*h;
        phip=feval(phi,p);
    else
        a=p;
        phia=phip;
        p=q;
        phip=phiq;
        h=b-a;
        q=a+t*h;
        phiq=feval(phi,q);
    end
    i=i+1;G(i,:)=[a,p,q,b];
end
    if(phip<=phiq)
        s=p;
        phis=phip;
    else
        s=q;
        phis=phiq;
    end
    ds=abs(b-a);
    dphi=(phib-phia);

测试函数

clear;
clc;
phi=@(x)3*x^2-2*tan(x);
[i,s,phis,ds,dphi,G]=golds(phi,0,1,1e-4,1e-5)
while(j<maxj & abs(h)>epsilon & cond==0)
if (phi0<=phi1),
s2=s1; phi2=phi1; h=0.5*h;
s1=s0+h; phi1=feval(phi,s1);
else if (phi2<phi1),
s1=s2; phi1=phi2; h=2*h;
s2=s0+2*h; phi2=feval(phi,s2);
else

输出结果:
在这里插入图片描述
在这里插入图片描述

抛物线法

待求解函数

function [y]=phi(x)
y=3*x^2-2*tan(x);

抛物线法MATLAB实现【一段有错误的代码,需要debug】

function [i,s,phis,ds,dphi,S]=qmin(phi,a,b,epsilon,delta)
%Exact line search of parabola method
s0=a; 
i=1; 
S(i)=s0; 
maxi=30; 
maxj=20;
big=1e6; 
err=1; 
cond=0; 
h=1; 
ds=0.00001;
if (abs(s0)>1e4), 
    h=abs(s0)*(1e-4); 
end
while (i<maxi && err>delta && cond~=5)
    f1=(feval(phi,s0+ds)-feval(phi,s0-ds))/(2*ds);
    if(f1>0) 
        h=-abs(h); 
    end
    s1=s0+h; 
    s2=s0+2*h; 
    bars=s0;
    phi0=feval(phi,s0); 
    phi1=feval(phi,s1);
    phi2=feval(phi,s2); 
    barphi=phi0; 
    cond=0;
    while(j<maxj && abs(h)>epsilon && cond==0)
        if (phi0<=phi1)
            s2=s1; 
            phi2=phi1; 
            h=0.5*h;
            s1=s0+h; 
            phi1=feval(phi,s1);
        else if (phi2<phi1)
                s1=s2; 
                phi1=phi2; 
                h=2*h;
                s2=s0+2*h; 
                phi2=feval(phi,s2);
            else
                j=0;
                cond=-1;
            end
        end
        j=j+1;
        if(abs(h)>big || abs(s0)>big)
            cond=5; 
        end
    end
    if(cond==5)
        bars=s1; 
        barphi=feval(phi,s1);
    %Calculating phi value by quadratic interpolation
    else
        d=2*(2*phi1-phi0-phi2);
        if(d<0)
            barh=h*(4*phi1-3*phi0-phi2)/d;
        else
            barh=h/3; 
            cond=4;
        end
        bars=s0+barh;
        barphi=feval(phi,bars);
        h=abs(h); 
        h0=abs(barh);
        h1=abs(barh-h); 
        h2=abs(barh-2*h);
            %Determine the H value of the next iteration
            if(h0<h)
                h=h0; 
            end
            if(h1<h)
                h=h1; 
            end
            if(h2<h)
                h=h2;
            end
            if(h==0)
                h=barh; 
            end
            if(h<epsilon)
                cond=1; 
            end
            if(abs(h)>big || abs(bars)>big)
                cond=5; 
            end
            err=abs(barphi-phi1);
            s0=bars; 
            i=i+1; 
            S(i)=s0;
    end
        if(cond==2 && h<epsilon)
            cond=3; 
        end
end
    s=s0; 
    phis=feval(phi,s);
    ds=abs(s-s1); 
    dphi=err;

function [i,s,phis,ds,dphi,S]=qmin(phi,a,b,epsilon,delta)
s0=a; 
i=1; 
S(i)=s0; 
maxi=30; 
maxj=20;
big=1e6; 
err=1; 
cond=0; 
h=1; 
ds=0.00001;
if (abs(s0)>1e4), h=abs(s0)*(1e-4); end
while (i<maxi && err>delta && cond~=5)
    f1=(feval(phi,s0+ds)-feval(phi,s0-ds))/(2*ds);
    if(f1>0), h=-abs(h); end
    s1=s0+h; 
    s2=s0+2*h; 
    bars=s0;
    phi0=feval(phi,s0); 
    phi1=feval(phi,s1);
    phi2=feval(phi,s2); 
    barphi=phi0; cond=0;
    j=0; 
    while(j<maxj && abs(h)>epsilon && cond==0)
        if (phi0<=phi1),s2=s1; phi2=phi1; h=0.5*h;
            s1=s0+h; phi1=feval(phi,s1);
        else if (phi2<phi1),s1=s2; phi1=phi2; 
                h=2*h;s2=s0+2*h; phi2=feval(phi,s2);
            else
                cond=-1;
            end
        end
        j=j+1;
        if(abs(h)>big || abs(s0)>big), cond=5; end
    end
    if(cond==5)
        bars=s1; 
        barphi=feval(phi,s1);
    else
        d=2*(2*phi1-phi0-phi2);
        if(d<0),barh=h*(4*phi1-3*phi0-phi2)/d;
        else
            barh=h/3; cond=4;
        end
        bars=s0+barh; barphi=feval(phi,bars);
        h=abs(h); h0=abs(barh);
        h1=abs(barh-h); h2=abs(barh-2*h);
        if(h0<h), h=h0; end
        if(h1<h), h=h1; end
        if(h2<h), h=h2; end
        if(h==0), h=barh; end
        if(h<epsilon), cond=1; end
        if(abs(h)>big || abs(bars)>big), cond=5; end
        err=abs(barphi-phi1);
        s0=bars; i=i+1; S(i)=s0;
    end
    if(cond==2 && h<epsilon), cond=3; end
end
s=s0; phis=feval(phi,s);
ds=abs(s-s1); dphi=err;

测试代码

clear;
clc;
phi=@(x)3*x^2-2*tan(x);
[i,s,phis,ds,dphi,S]=qmin(phi,0,1,1e-4,1e-5)

输出结果:
在这里插入图片描述

非精确线搜索

amijo算法

目标函数

function f=fun(x)
f=100*(x(1)^2-x(2))^2+(x(1)-1)^2;

梯度

function gf=gfun(x)
gf=[400*x(1)*(x(1)^2-x(2))+2*(x(1)-1);-200*(x(1)^2-x(2))];

amijo算法的MATLAB实现

function mk=armijo(xk,dk)
beta=0.5; 
sigma=0.2;
m=0; 
maxm=20;
while (m<=maxm)
    if(fun(xk+beta^m*dk)<=fun(xk)+sigma*beta^m*gfun(xk)'*dk)
        mk=m; 
        break;
    end
    m=m+1;
end
alpha=beta^mk
newxk=xk+alpha*dk
fk=fun(xk)
newfk=fun(newxk)

测试文件

clear;
clc;
xk=[-1,1]'; 
dk=[1,-2]'; 
mk=armijo(xk,dk)

输出结果:
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
开源的酒店管理系统,详细的在线预订功能。 一、功能介绍 (一)、简练——同一模块实现16大模块功能,操作统一、简便。 新闻管理模块:添加/编辑/删除/移动新闻文章 新闻抓取模块:多目标,设置简单,无需写正则表达式,上手快,效率高,可以分步抓取,可以按照关键词过滤进行抓取,可以 转换文章中的url,可以将图片抓取到本地. 商店管理模块:实现在线商店功能,可以直接接入多种在线支付手段,订单管理,订单查询功能 链接管理模块:可以在线添加友情链接,设定链接的图片 专题管理模块:不仅仅是文章,图片、下载、链接、商品、影视都可以作为专题的内容 产品展示模块:无限分类,多图片,多内容显示,可以附加咨询、反馈、定购表单 影视管理模块:无限分类,多地址,多图片,支持多种格式,在线播放 下载管理模块:无限分类,多地址,多图片 酒店房间预订模块:无限分类,多酒店,多房间类型,多个字段,详细显示酒店和房间的情况,提供在线预订表单。 旅游线路预订模块:无限分类,多图片,多字段,详细显示线路日程按排和价格,提供在线预订表单。 图片管理模块:无限分类,支持相册模式,支持远程图片上传,支持本地图片上传,支持GD模块生成缩略图。 用户管理模块:用户分组管理,可以挂接任何mysql数据库的用户数据表,例如IPB,DISCUZ.. 栏目管理模块:可以添加超过10种类型的栏目,无限分类,无限层次,采用缓存机制,速度快,占用小. 投票管理模块:支持单选和多选方式,前台显示采用flash。 广告管理模块:支持40种分类的广告管理,前台可以调用单个广告,也可以调用同一类广告,轮循显示 附件管理模块:支持附件上传,在线管理,后台可以显示附件大小和类型。 论坛留言模块:全新树型算法,简洁,速度快,和cmsez结合紧密。 信息反馈模块:目前支持3大类型:反馈表单,定购表单和咨询表单,高级用户可以自定义无限的表单类型,可以附着 于单个文章、下载、商品和产品展示,以及酒店预订和线路预订 管理权限:可以给每个分类单独设置1个或者多个管理员 前台访问权限:可以设置不同的用户组,不同的前台访问权限 访问统计模块:详尽的访问统计模块,可以按照年、月、日,小时进行统计,统计来源,操作系统等内容。 数据库备份模块:可以在线备份和恢复数据库,选择表格进行备份。 整合基于MYSQL数据库的所有论坛模块 同时输出静态文件功能 新闻文章采集超强功能 等等。 (二)、快速——缩短网站的创建、部署、维护的时间。 (三)、简单易用——即使没有某些专门的技术知识(如html),使用人员也可以轻松驾驭。 (四)、协同——信息的分散管理,不同部门的人员能够协同工作,完成一致的工作目标。 (五)、高效——提供了一个静态页面的生成机制。这可以显著地降低系统负载提高系统性能。 (六)、易扩展—采用先进的开放标准,保护每一项技术投资。支持所有领先的技术平台,提高灵活的部署性。 1. 基于WEB的编辑、管理系统 完全基于WEB的方式,提供简单、直观的操作界面来控制内容编辑和发布,这样用户可以随时随地不需其它客 户端软件就可以管理、发布内容。 2. 用户管理 特别设计的用户管理模块,可以挂接任何的用户数据库。 3.无限级多频道定制 支持无限级频道规划和构建,可根据业务的发展或组织的调整灵活构建频道结构。 4.关键字和分类搜索 内容可以通过关键字和类别的组合来搜索 5.开放的标准构架 基于php程序语言,提供跨平台的开放式构架,方便与其他系统进行整合。支持所有的主流平台,如Microsoft Windows NT/2000、Sun Solaris、AIX、Linux等。 6.模版引擎和组件工具 基于MVC module 2构架模式,实现将内容展现和内容制定分离管理。通过模板引擎和系统提供的组件工具可对 客户化组件进行重用,在不更改任何程序的情况下对外观进行调整,这样同时可以保证内容维护人员和页面制作人员 可独立完成同一项内容建设的工作任务。 7.多种动态缓存 为不影响性能的情况下,支持大规模站点而设计。系统支持不同级别的页面缓存和组件缓存,极大地降低系统处理 时间,加快页面的被访问的速度。 8.静态站点和动态站点无缝结合 系统不仅为动态、个性化的内容提供了充分的支持,同时也提供了一个静态页面的生成机制。针对不经常修改的 页面内容,生成静态文件,可以显著地降低系统负载、提高系统性能。 9.能使网页设计师面向对象设计,更体现随意发挥创意和思想,可根据网站本身的性质而设置其本身的特性如:模块 ,颜色,标志,如商务型,国际贸易型,个人型(简约)根据系统本身的功能,您可以做成,网上商店型,标准企业 型,对外贸易型。 注*CMSEZ作为目前互联网上最的的网站构架应用模块能够构架成几乎所有的网站:她的不同版本可以满足从小流量 到大流量,从个人到企业各方面应用的要求,为你提供一个全新、快速和优秀的网站解决方案,在技术上CMSEZ系统 更容易学习、掌握和发挥!为了您能早日拥有自己的网站或让您企业实现电子商务敬请留意本站点,或在“GOOGLE”“ 百度”上直接搜索蓝电科技!只要你想的到您就能早日拥有他,早日展现您自己!展现您的企业文化! 10.该系统最新版本内置有“关键词”优化功能,搜索引挚可以很快收录相关页面,另外还提供包括GOOGLE.COM/BAI DU.COM/新浪/搜狐/网易等各种推广产品支持(详情咨询公司商务专员) 二、运行配置 项 目 详 细 操作系统 任何可以运行支持php和数据库的web服务器的操作系统 脚本解释器 php 4.12以上 Web服务器 任何可以运行php和数据库的web服务器 数据引擎 mysql 3.23以上(后续版本支持多种数据库) 权限要求 可以生成和读取生成的文件 空间大小 初次安装至少5M可用空间 硬件要求 PIII500 CPU 256M内存或更高 带宽要求 10M共享或更高 其他需求 zend optimizer 1.3以上,gd 2.0以上 ,无需register_global=on
标题——作者——出处 基于蚁群优化算法递归神经网络的短期负荷预测 蚁群算法的小改进 基于蚁群算法的无人机任务规划 多态蚁群算法 MCM基板互连测试的单探针路径优化研究 改进的增强型蚁群算法 基于云模型理论的蚁群算法改进研究 基于禁忌搜索与蚁群最优结合算法的配电网规划 自适应蚁群算法在序列比对中的应用 基于蚁群算法的QoS多播路由优化算法 多目标优化问题的蚁群算法研究 多线程蚁群算法及其在最短路问题上的应用研究 改进的蚁群算法在2D HP模型中的应用 制造系统通用作业计划与蚁群算法优化 基于混合行为蚁群算法的研究 火力优化分配问题的小生境遗传蚂蚁算法 基于蚁群算法的对等网模拟器的设计与实现 基于粗粒度模型的蚁群优化并行算法 动态跃迁转移蚁群算法 基于人工免疫算法和蚁群算法求解旅行商问题 基于信息素异步更新的蚁群算法 用于连续函数优化的蚁群算法 求解复杂多阶段决策问题的动态窗口蚁群优化算法 蚁群算法在铸造生产配料优化中的应用 多阶段输电网络最优规划的并行蚁群算法 求解旅行商问题的混合粒子群优化算法 微粒群优化算法研究现状及其进展 随机摄动蚁群算法的收敛性及其数值特性分析 广义蚁群与粒子群结合算法在电力系统经济负荷分配中的应用 改进的蚁群算法及其在TSP中的应用研究 蚁群算法的全局收敛性研究及改进 房地产开发项目投资组合优化的改进蚁群算法 一种改进的蚁群算法用于灰色约束非线性规划问题求解 一种自适应蚁群算法及其仿真研究 一种动态自适应蚁群算法 蚂蚁群落优化算法在蛋白质折叠二维亲-疏水格点模型中的应用 用改进蚁群算法求解函数优化问题 连续优化问题的蚁群算法研究进展 蚁群算法概述 Ant colony system algorithm for the optimization of beer fermentation control 蚁群算法在K—TSP问题中的应用 Parallel ant colony algorithm and its application in the capacitated lot sizing problem for an agile supply chain 基于遗传蚁群算法的机器人全局路径规划研究 改进的蚁群算法在矿山物流配送路径优化中的研究 基于蚁群算法的配电网络综合优化方法 基于蚁群算法的分类规则挖掘算法 蚁群算法在连续性空间优化问题中的应用 蚁群算法在矿井通风系统优化设计中的应用 基于蚁群算法的液压土锚钻机动力头优化设计 改进蚁群算法设计拉式膜片弹簧 计算机科学技术 基本蚁群算法及其改进 TSP改进算法及在PCB数控加工刀具轨迹中的应用 可靠性优化的蚁群算法 对一类带聚类特征TSP问题的蚁群算法求解 蚁群算法理论及应用研究的进展 基于二进制编码的蚁群优化算法及其收敛性分析 蚁群算法的理论及其应用 基于蚁群行为仿真的影像纹理分类 启发式蚁群算法及其在高填石路堤稳定性分析中的应用 蚁群算法的研究现状 一种快速全局优化的改进蚁群算法及仿真 聚类问题的蚁群算法 蚁群最优化——模型、算法及应用综述 基于信息熵的改进蚁群算法及其应用 机载公共设备综合管理系统任务分配算法研究 基于改进蚁群算法的飞机低空突防航路规划 利用信息量留存的蚁群遗传算法 An Improved Heuristic Ant-Clustering Algorithm 改进型蚁群算法在内燃机径向滑动轴承优化设计中的应用 基于蚁群算法的PID参数优化 基于蚁群算法的复杂系统多故障状态的决策 蚁群算法在数据挖掘中的应用研究 基于蚁群算法的基因联接学习遗传算法 基于细粒度模型的并行蚁群优化算法 Binary-Coding-Based Ant Colony Optimization and Its Convergence 运载火箭控制系统漏电故障诊断研究 混沌扰动启发式蚁群算法及其在边坡非圆弧临界滑动面搜索中的应用 蚁群算法原理的仿真研究 Hopfield neural network based on ant system 蚁群算法及其实现方法研究 分层实体制造激光头切割路径的建模与优化 配送网络规划蚁群算法 基于蚁群算法的城域交通控制实时滚动优化 基于蚁群算法的复合形法及其在边坡稳定分析中的应用 Ant Colony Algorithm for Solving QoS Routing Problem 多产品间歇过程调度问题的建模与优化 基于蚁群算法的两地之间的最佳路径选择 蚁群算法求解问题时易产生的误区及对策 用双向收敛蚁群算法解作业车间调度问题 物流配送路径安排问题的混合蚁群算法 求解TSP问题的模式学习并行蚁群算法 基于蚁群算法的三维空间机器人路径规划 蚁群优化算法及其应用 蚁群算法不确定性分析 一种求解TSP问题的相遇蚁群算法 基于蚁群优化算法的彩色图像颜色聚类的研究 钣金件数控激光切割割嘴路径的优化 基于蚁群算法的图像分割方法 一种基于蚁群算法的聚类组合方法 圆排列问题的蚁群模拟退火算法 智能混合优化策略及其在流水作业调度中的应用 蚁群算法在QoS网络路由中的应用 一种改进的自适应路由算法 基于蚁群算法的煤炭运输优化方法 基于蚁群智能和支持向量机的人脸性别分类方法 蚁群算法在啤酒发酵控制优化中的应用 一种基于时延信息的多QoS快速自适应路由算法 蚁群算法中参数α、β、ρ设置的研究——以TSP问题为例 基于人工蚁群优化的矢量量化码书设计算法 具有自适应杂交特征的蚁群算法 蚁群算法在原料矿粉混匀优化中的应用 基于多Agent的蚁群算法在车间动态调度中的应用研究 用蚁群优化算法求解中国旅行商问题 蚁群算法在婴儿营养米粉配方中的应用 蚁群算法在机械优化设计中的应用 蚁群优化算法的研究现状及研究展望 蚁群优化算法及其应用研究进展 蚁群算法的理论与应用 简单蚁群算法的仿真分析 一种改进的蚁群算法求解最短路径问题 基于模式求解旅行商问题的蚁群算法 一种求解TSP的混合型蚁群算法 基于MATLAB的改进型基本蚁群算法 动态蚁群算法求解TSP问题 用蚁群算法求解类TSP问题的研究 蚁群算法求解连续空间优化问题的一种方法 用混合型蚂蚁群算法求解TSP问题 求解复杂TSP问题的随机扰动蚁群算法 基于蚁群算法的中国旅行商问题满意解 蚁群算法的研究现状和应用及蚂蚁智能体的硬件实现 蚁群算法概述 蚁群算法的研究现状及其展望 基于蚁群算法的配电网网架优化规划方法 用于一般函数优化的蚁群算法 协同模型与遗传算法的集成 基于蚁群最优的输电网络扩展规划 自适应蚁群算法 凸整数规划问题的混合蚁群算法 一种新的进化算法—蛟群算法 基于协同工作方式的一种蚁群布线系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hyacinth&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值