精华内容
下载资源
问答
  • 优化程序
    万次阅读 多人点赞
    2020-08-31 00:47:13

     博客搬家到自己搭建的 主页 啦q(≧▽≦q),大家快来逛逛鸭!

     

     The Corresponding Files (Click to Save):

    The Related Artical (Click in):

    The program can be promoted by line:

    top(30,10,0.5,3.0,1.5) 

    代码注释

    以前学了点皮毛就直接用商业软件搬砖了,总觉得有点心虚,所以入门第一步,拜读了Sigmund的99行Matlab拓扑优化程序,参考了其他大神们的注释,作为初学者还有不少看不懂的地方,我自己又补充整理了一遍。我是零基础小白,所以代码前面先交代了一些理论背景,我自己能看懂相信所有人都能看懂,哈哈哈。

    %%%%%%%%  A 99 LINE TOPOLOGY OPTIMIZATION CODE BY OLE SIGMUND, JANUARY 2000  %%%%%%%%
    %%%%%%%%  COMMENTED - OUT 1.0 BY HAOTIAN_W,                       JULY 2020  %%%%%%%%
    function top(nelx,nely,volfrac,penal,rmin)
    % ===================================================================================
    % nelx    : 水平方向上的离散单元数;
    % nely    : 竖直方向上的离散单元数;
    %
    % volfrac : 容积率,材料体积与设计域体积之比,对应的工程问题就是"将结构减重到百分之多少";
    %
    % penal   : 惩罚因子,SIMP方法是在0-1离散模型中引入连续变量x、系数p及中间密度单元,从而将离
    %           散型优化问题转换成连续型优化问题,并且令0≤x≤1,p为惩罚因子,通过设定p>1对中间密
    %           度单元进行有限度的惩罚,尽量减少中间密度单元数目,使单元密度尽可能趋于0或1;
    % 
    %           合理选择惩罚因子的取值,可以消除多孔材料,从而得到理想的拓扑优化结果:
    %               当penal<=2时     存在大量多孔材料,计算结果没有可制造性;
    %               当penal>=3.5时   最终拓扑结果没有大的改变;
    %               当penal>=4时     结构总体柔度的变化非常缓慢,迭代步数增加,计算时间延长;
    %            
    % rmin    : 敏度过滤半径,防止出现棋盘格现象;
    % ===================================================================================
    % 结构优化的数学模型常用名词:
    %   1) 设计变量   在设计中可调整的、变化的基本参数,本算例是单元密度;
    %   2) 目标函数   设计变量的函数,优化设计的目标,本算例是柔度最小;
    %   3) 约束条件   几何、应力、位移等,难点在建立约束方程,本算例是几何体积约束;
    %   4) 终止准则   结束迭代的条件,本算例是目标函数变化量<=0.010;
    %   5) 载荷工况   定义结构所有可能的受力情况,本算例是单一载荷;
    % ===================================================================================
    % 基于SIMP理论的优化准则法迭代分析流程:
    %   1) 定义设计域,选择合适的设计变量、目标函数以及约束函数等其他边界条件;
    %   2) 结构离散为有限元网格,计算优化前的单元刚度矩阵;
    %   3) 初始化单元设计变量,即给定设计域内的每个单元一个初始单元相对密度;
    %   4) 计算各离散单元的材料特性参数,计算单元刚度矩阵,组装结构总刚度矩阵,计算结点位移;
    %   5) 计算总体结构的柔度值及其敏度值,求解拉格朗日乘子;
    %   6) 用优化准则方法进行设计变量更新;
    %   7) 检查结果的收敛性,如未收敛则转4),循环迭代,如收敛则转8);
    %   8) 输出目标函数值及设计变量值,结束计算。
    % ===================================================================================
    
    % x是设计变量,给设计域内的每个单元一个初始相对密度,值为volfrac
    x(1:nely,1:nelx) = volfrac; 
    
    % loop储存迭代次数
    loop = 0; 
    
    % change储存每次迭代之后目标函数的改变值,用以判断是否收敛
    change = 1.;
    
    % 当目标函数改变量<=0.01时说明收敛,结束迭代
    while change > 0.01
        loop = loop + 1; 
        
        % 将前一次的设计变量赋值给xold,x用来储存这一次的结果,之后还要比较它们以判断是否收敛
        xold = x;  
    
        % 每次迭代都进行一次有限元分析,计算结点位移,并储存在全局位移数组U中
        [U] = FE(nelx,nely,x,penal);   
        
        % 计算单元刚度矩阵
        [KE] = lk;
        
        % c是用来储存目标函数的变量
        c = 0.;
        
        % 遍历设计域矩阵元素,从左上角第一个元素开始,一列一列
        for ely = 1:nely
            for elx = 1:nelx
                
                % 节点位移储存在U中,如果想获得节点位移必须先知道节点编号,进行索引;
                % 节点编号可以根据当前单元在设计域中的位置算出;
                % n1是左上角节点编号,n2是右上角节点编号;
                n1 = (nely+1)*(elx-1)+ely; 
                n2 = (nely+1)*elx+ely;
               
                % 局部位移数组Ue储存4个节点共8个自由度位移,每个节点分别有x、y两个自由度; 
                % 因为是矩形单元,所以根据n1、n2两个节点的编号可以推演出单元所有节点的自由度编号;
                % 顺序是:[左上x;左上y;右上x;右上y;右下x;右下y;左下x;左下y];
                % 只适用于矩形单元划分网格;
                Ue = U([2*n1-1;2*n1; 2*n2-1;2*n2; 2*n2+1;2*n2+2; 2*n1+1;2*n1+2],1);
             
                % SIMP模型,将设计变量x从离散型变成指函数型,指数就是惩罚因子:x(ely,elx)^penal
                % 计算总体结构的柔度值,这里目标函数是柔度最小,参见论文中公式(1)
                c = c + x(ely,elx)^penal*Ue'*KE*Ue;
                
                % 计算总体结构的敏度值,实际上dc就是c对Xe的梯度,参见论文中公式(4)
                dc(ely,elx) = -penal*x(ely,elx)^(penal-1)*Ue'*KE*Ue;
            end
        end
        
        % 无关网格敏度过滤
        [dc] = check(nelx,nely,rmin,x,dc); 
        
        % 采用优化准则法(OC)求解当前模型,得出满足体积约束的结果,更新设计变量
        [x] = OC(nelx,nely,x,volfrac,dc);
        
        % 更新目标函数改变值
        change = max(max(abs(x-xold)));
        
        % 打印迭代信息: It.迭代次数,Obj.目标函数,Vol.材料体积比,ch.迭代改变量
        disp([' It.: ' sprintf('%4i',loop) ' Obj.: ' sprintf('%10.4f',c) ...
           ' Vol.: ' sprintf('%6.3f',sum(sum(x))/(nelx*nely)) ...
            ' ch.: ' sprintf('%6.3f',change )])
        
        % 当前迭代结果图形显示
        colormap(gray); imagesc(-x); axis equal; axis tight; axis off;pause(1e-6);
    end
    
    
    % 采用优化准则法(OC)迭代子程序 -------------------------------------------------------
    % 数学模型主要求解算法有:优化准则法(OC)、序列线性规划法(SLP)、移动渐进线法(MMA); 
    % OC适用于单约束优化问题求解,比如这里的"体积约束下的柔度最小化"问题,当求解复杂的多约束拓扑
    % 优化问题时,采用SLP和MMA通常更方便;
    % 参见论文中公式(2)(3)
    function [xnew] = OC(nelx,nely,x,volfrac,dc)
    % Input:  水平单元数nelx, 竖直单元数nely, 设计变量x, 材料体积比volfrac, 目标函数灵敏度dc;
    % Output: 更新后的设计变量xnew;
    
    % 定义一个取值区间,二分法,得到满足体积约束的拉格朗日算子
    l1 = 0; l2 = 100000;
    
    % 正向最大位移
    move = 0.2;
    
    while (l2-l1 > 1e-4)
        
        % 二分法,取区间中点
        lmid = 0.5*(l2+l1);
      
        % 参见论文中的公式(2)
        % sqrt(-dc./lmid)对应公式中Be^eta(eta=1/2),eta阻尼系数是为了确保计算的收敛性
        xnew = max(0.001,max(x-move,min(1.,min(x+move,x.*sqrt(-dc./lmid)))));
        
        % sum(sum(xnew))是更新后的材料体积, volfrac*nelx*nely是优化目标,用它们的差值判断是否收敛
        % sum()可以去看看help,注意一下行、列问题,不看也行,反正知道sum(sum())是所有元素求和就行
        if sum(sum(xnew)) - volfrac*nelx*nely > 0
            l1 = lmid;
        else
            l2 = lmid;
        end
    end
    
    
    % 无关网格敏度过滤子程序 --------------------------------------------------------------
    % 参见论文中公式(5)(6)
    function [dcn] = check(nelx,nely,rmin,x,dc)
    % Input:  水平单元数nelx, 竖直单元数nely, 敏度过滤半径rmin, 设计变量x, 总体结构敏度dc;
    % Output: 过滤后的目标函数敏度dcn;
    
    % dcn清零,用来保存更新的目标函数灵敏度
    dcn = zeros(nely,nelx);
    
    for i = 1:nelx   
        for j = 1:nely
            sum=0.0; 
            
            % 在过滤半径定义的范围内遍历
            for k = max(i-floor(rmin),1):min(i+floor(rmin),nelx)
                for l = max(j-floor(rmin),1):min(j+floor(rmin),nely)
                    
                    % 参见论文中公式(6),fac即公式中卷积算子Hf
                    % qrt((i-k)^2+(j-l)^2) 是计算此单元与相邻单元的距离,即公式中dist(e,f)
                    fac = rmin-sqrt((i-k)^2+(j-l)^2);
                    sum = sum+max(0,fac);
                    
                    % 参见论文中公式(5)
                    dcn(j,i) = dcn(j,i) + max(0,fac)*x(l,k)*dc(l,k);
                end
            end
            dcn(j,i) = dcn(j,i)/(x(j,i)*sum);
        end
    end
    
    
    % 有限元求解子程序 --------------------------------------------------------------------
    function [U] = FE(nelx,nely,x,penal)
    % Input:  水平单元数nelx, 竖直单元数nely, 设计变量x, 惩罚因子penal;
    % Output: 全局节点位移U;
    
    % 计算单元刚度矩阵
    [KE] = lk; 
    
    % 总体刚度矩阵的稀疏矩阵
    K = sparse(2*(nelx+1)*(nely+1), 2*(nelx+1)*(nely+1));
    
    % 力矩阵的稀疏矩阵
    F = sparse(2*(nely+1)*(nelx+1),1); 
    
    % U清零,用来保存更新的全局节点位移
    U = zeros(2*(nely+1)*(nelx+1),1);
    
    for elx = 1:nelx
        for ely = 1:nely
            
            % 计算单元左上角、右上角节点编号
            n1 = (nely+1)*(elx-1)+ely; 
            n2 = (nely+1)* elx   +ely;
            
            % 同上主程序,计算单元4个节点8个自由度
            edof = [2*n1-1; 2*n1; 2*n2-1; 2*n2; 2*n2+1; 2*n2+2; 2*n1+1; 2*n1+2];
            
            % 将单元刚度矩阵KE 组装成 总体刚度矩阵K
            K(edof,edof) = K(edof,edof) + x(ely,elx)^penal*KE;
        end
    end
    
    % 施加载荷,本算例应用了一个在左上角的垂直单元力
    F(2,1) = -1;
    
    % 施加约束,消除线性方程中的固定自由度来实现支承结构,本算例左边第一列和右下角固定
    fixeddofs = union([1:2:2*(nely+1)],[2*(nelx+1)*(nely+1)]);
    
    % 剩下的不加约束的节点自由度,setdiff()从..中除去..
    alldofs   = [1:2*(nely+1)*(nelx+1)];
    freedofs  = setdiff(alldofs,fixeddofs);
    
    % 求解线性方程组,得到各节点自由度的位移值储存在U中
    U(freedofs,:) = K(freedofs,freedofs) \ F(freedofs,:); 
    
    % 受约束节点固定自由度位移值为0
    U(fixeddofs,:)= 0;
    
    
    % 求解单元刚度矩阵子程序 --------------------------------------------------------------
    % 有限元方法计算的一个重要的系数矩阵,表征单元体的受力与变形关系;
    % 特点:对称性、奇异性、主对角元素恒正、奇数(偶数)行和为0;
    % 矩形单元4节点 8*8矩阵;
    function [KE] = lk
    
    % 材料杨氏弹性模量
    E = 1.; 
    
    % 材料泊松比
    nu = 0.3;
    
    k=[ 1/2-nu/6   1/8+nu/8 -1/4-nu/12 -1/8+3*nu/8 ... 
       -1/4+nu/12 -1/8-nu/8  nu/6       1/8-3*nu/8];
    KE = E/(1-nu^2)*[ k(1) k(2) k(3) k(4) k(5) k(6) k(7) k(8)
                      k(2) k(1) k(8) k(7) k(6) k(5) k(4) k(3)
                      k(3) k(8) k(1) k(6) k(7) k(4) k(5) k(2)
                      k(4) k(7) k(6) k(1) k(8) k(3) k(2) k(5)
                      k(5) k(6) k(7) k(8) k(1) k(2) k(3) k(4)
                      k(6) k(5) k(4) k(3) k(2) k(1) k(8) k(7)
                      k(7) k(4) k(5) k(2) k(3) k(8) k(1) k(6)
                      k(8) k(3) k(2) k(5) k(4) k(7) k(6) k(1)];
    

    公式汇总

    柔度最小目标函数

     

    \left.\begin{array}{rl} \min _{\mathbf{x}}: & c(\mathbf{x})=\mathbf{U}^{T} \mathbf{K} \mathbf{U}=\sum_{e=1}^{N}\left(x_{e}\right)^{p} \mathbf{u}_{e}^{T} \mathbf{k}_{0} \mathbf{u}_{e} \\ \text { subject to }: & \frac{V(\mathbf{x})}{V_{0}}=f \\ : & \mathbf{K U}=\mathbf{F} \\ : & \mathbf{0}<\mathbf{x}_{\min } \leq \mathbf{x} \leq \mathbf{1} \end{array}\right\}

     

    (1)
    OC准则优化更新

     

    \begin{aligned} &x_{e}^{\text {new }}=\\ &\left\{\begin{array}{c} \max \left(x_{\min }, x_{e}-m\right) \text { if } x_{e} B_{e}^{\eta} \leq \max \left(x_{\min }, x_{e}-m\right) \\ x_{e} B_{e}^{\eta} \text { if } \max \left(x_{\min }, x_{e}-m\right)<x_{e} B_{e}^{\eta}<\min \left(1, x_{e}+m\right) \\ \min \left(1, x_{e}+m\right) \text { if } \min \left(1, x_{e}+m\right) \leq x_{e} B_{e}^{\eta} \end{array}\right. \end{aligned}

     

    (2)
     

     

    B_{e}=\frac{-\frac{\partial c}{\partial x_{e}}}{\lambda \frac{\partial V}{\partial x_{e}}}

     

    (3)
    目标函数灵敏度

     

    \frac{\partial c}{\partial x_{e}}=-p\left(x_{e}\right)^{p-1} \mathbf{u}_{e}^{T} \mathbf{k}_{0} \mathbf{u}_{e}

     

    (4)
    灵敏度滤波

     

    \frac{\widehat{\partial c}}{\partial x_{e}}=\frac{1}{x_{e} \sum_{f=1}^{N} \hat{H}_{f}} \sum_{f=1}^{N} \hat{H}_{f} x_{f} \frac{\partial c}{\partial x_{f}}

     

    (5)
    卷积算子(加权因子)

     

    \begin{array}{l} \hat{H}_{f}=r_{\min }-\operatorname{dist}(e, f) \\ \left\{f \in N \mid \operatorname{dist}(e, f) \leq r_{\min }\right\}, \quad e=1, \ldots, N \end{array}

     

    (6)

    单元刚度矩阵

    程序里最后一部分子程序,详细请学习有限元的基础知识:平面四节点矩形单元的单元刚度矩阵推导。

    参考资料

    [1] Sigmund, O. A 99 line topology optimization code written in Matlab. Struct Multidisc Optim 21, 120–127 (2001).


    版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。

    本文链接:http://blog.csdn.net/BAR_WORKSHOP/article/details/108274360

    更多相关内容
  • 针对三维悬臂梁,进行静载荷下的拓扑优化设计
  • 针对三维悬臂梁,进行静载荷下的拓扑优化设计
  • 基于粒子群算法的配电网无功优化程序,利用了IEEE30节点进行MATLAB编程
  • 易语言优化程序

    2020-07-17 17:38:49
    易语言优化程序源码,优化程序,最小化托盘
  • 仍工智能算法基于粒子群算法的优化程序,用与分类等其他他的地方也有其他的作用等着你们下载哦
  • 4—TD-SCDMA无线网络优化流程(含优化案例).pptx4—TD-SCDMA无线网络优化流程(含优化案例).pptx4—TD-SCDMA无线网络优化流程(含优化案例).pptx4—TD-SCDMA无线网络优化流程(含优化案例).pptx4—TD-SCDMA无线网络优化...
  • 优化程序,包络一些常用的一维搜索方法,二维优化方法,非常适用于初学者学习
  • 非常好的无功优化程序,通过调试验证可以得到结果
  • 很好的matlab三维拓扑优化程序,建议大家学习
  • XX轮胎优化流程分析总结以持续提高组织业绩为目的,只为给你最适合、最想要XX轮胎优化流程分析总结参考,...该文档为XX轮胎优化流程分析总结,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 优化方法及其MATLAB实现程序包,用于实现最优化方法的MATLAB程序
  • 这是自己编写的MATLAB的基于神经网络和遗传算法的翼型优化程序。有需要的可以下载,完全是自己编写的。
  • 对一个具体的部件结构,从设计思路到力学计算,到最后的程序设计和说明,详细的分析了拓扑优化的设计思路,为学习者提供易于理解,易于学习的资料
  • 优化程序.zip易语言项目例子源码下载优化程序.zip易语言项目例子源码下载优化程序.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目技术参考
  • 优化程序 实际是修改系统的注册表,并不对系统程序做修改! 建议优化前对注册表备份,另:不要用于非XP系统! 本程序也不对涉及危险的注册表值进行修改!
  • 史上最牛逼的高斯伪普法优化程序GPOPS II,亲测可用!
  • 本人最近利用MATLAB在做仿真,其中涉及到求解凸优化问题,现发出来与大家共享代码程序,一起进步。
  • 基于遗传算法的电力系统无功优化程序,可以帮您更好的进行电力系统的优化,使用标准的MATLAB程序 基于遗传算法的电力系统无功优化程序,可以帮您更好的进行电力系统的优化,使用标准的MATLAB程序
  • 优化流程原则

    2020-12-19 03:55:15
    俗话说流程决定绩效,而这一款整理发布的优化流程原则定能给你最好的流程参考,欢迎大家下载优...该文档为优化流程原则,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
  • 一种优化一维声子晶体能带结构大小的matlab程序
  • 网站优化流程.docx

    2022-06-03 07:02:33
    网站优化流程.docx网站优化流程.docx网站优化流程.docx网站优化流程.docx网站优化流程.docx网站优化流程.docx网站优化流程.docx网站优化流程.docx
  • 拓扑优化程序

    2017-06-15 23:25:58
    代码中有注释,99行经典拓扑优化程序
  • VoLTEMOS优化流程、方法和案例
  • 易语言优化程序.rar

    2020-02-23 17:06:08
    易语言优化程序.rar 易语言优化程序.rar 易语言优化程序.rar 易语言优化程序.rar 易语言优化程序.rar 易语言优化程序.rar
  • 网站优化流程.doc.pdf

    2022-06-03 07:16:05
    网站优化流程.doc.pdf网站优化流程.doc.pdf网站优化流程.doc.pdf网站优化流程.doc.pdf网站优化流程.doc.pdf网站优化流程.doc.pdf网站优化流程.doc.pdf网站优化流程.doc.pdf
  • 网站优化流程.doc.docx

    2022-06-03 07:01:54
    网站优化流程.doc.docx网站优化流程.doc.docx网站优化流程.doc.docx网站优化流程.doc.docx网站优化流程.doc.docx网站优化流程.doc.docx网站优化流程.doc.docx网站优化流程.doc.docx
  • 易语言源码优化程序.rar 易语言源码优化程序.rar 易语言源码优化程序.rar 易语言源码优化程序.rar 易语言源码优化程序.rar 易语言源码优化程序.rar
  • 为了降低独立风力发电系统中储能装置的生命周期费用,建立以风力发电系统中储能装置的生命周期费用最小值为优化的目标函数、负荷缺电率等指标为约束条件的模型,结合蓄电池储能特性,利用风电和负荷24 h的发用电数据...

    基于遗传算法的风电储能蓄电池容量优化配置
    风电+储能蓄电池微电网配置(基于matlab的遗传算法微电网配置优化程序)
    在这里插入图片描述
    摘要:为了降低独立风力发电系统中储能装置的生命周期费用,建立以风力发电系统中储能装置的生命
    周期费用最小值为优化的目标函数、负荷缺电率等指标为约束条件的模型,结合蓄电池和超级电容器储能特
    性,利用风电和负荷48 h的发用电数据,研究包含蓄电池和超级电容器的储能系统能量管理策略。提出了一
    种基于改进粒子群算法的储能容量生命周期费用优化配置方法,算例分析证明该算法具有有效性和实用性,
    优化后的系统很大程度上节省了经济成本。
    关键词:风力发电系统;混合储能;储能容量优化配置;遗传算法

    1 模型分析
    基于蓄电池和超级电容器混合储能独立风力发电系统的结构如图 1 所示。当风速比较大时,储能装置处于充电状态,将电能存储起来;当风速比较弱或者峰值负荷时储能装置为负荷供电,以保证系统平稳连续的供电,提高供电可靠性。
    在这里插入图片描述
    1.1 蓄电池的模型
    每个蓄电池的额定电压为Ub(V),额定容量 为Cb(A·h),假设蓄电池组由m个蓄电池组成,则 总的储能量Eb( MW·h)为
    在这里插入图片描述

    1.2 超级电容器的模型
    每个超级电容器的端电压为Uc,电容值为Cc,假设超级电容器组由n个超级电容器组成,则总的储能量为
    在这里插入图片描述

    2 目标函数:
    在这里插入图片描述
    3 算例参数
    蓄电池参数:
    在这里插入图片描述

    电网24小时负荷数据:
    电网负荷
    风电24小时出力预测值:
    风电24小时预测值

    4 运行结果
    1)迭代曲线
    在这里插入图片描述
    2)电平衡
    在这里插入图片描述
    3)出力曲线
    在这里插入图片描述

    5 复现程序:
    遗传算法matlab程序如下:
    主函数如下:

    // 主函数程序:
    clc;
    clear;
    close all
    %% 调用参数
    canshu_cpa;
    %% 遗传算法基础参数
    N = 1200;  %种群内个体数目
    N_chrom = 50; %染色体节点数,也就是每个个体有多少条染色体,其实说白了就是看适应函数里有几个自变量。
    iter = 500; %迭代次数,也就是一共有多少代
    mut = 0.2;  %突变概率
    acr = 0.2; %交叉概率
    best = 1;
    %% 上下限约束
    %上限
    d=N_chrom ;
    Ub=ones(1,d);
    Ub(1)=200000;%蓄电池数量上限
    Ub(2)=30000;%电容数量上限
    %电池出力上限
    for i=3:26
        Ub(i)=90000*Ubn*Cb/10000000;
    end
    %电容出力上限
    for i=27:50
        Ub(i)=16000*Ucn*Ic/1000000;
    end
    %蓄电池,电容出力下限
    Lb=ones(1,d);
    % Lb(1)=100;
    % Lb(2)=100;
    for i=3:50
    Lb(i)=-Ub(i);
    end
    umax=Ub;     %变量上限
    umin=Lb; %变量下限
    chrom_range = [umin;umax];%每个节点的值的区间
    chrom = zeros(N, N_chrom);%存放染色体的矩阵
    fitness = zeros(N, 1);%存放染色体的适应度
    fitness_ave = zeros(1, iter);%存放每一代的平均适应度
    fitness_best = zeros(1, iter);%存放每一代的最优适应度
    chrom_best = zeros(1, N_chrom+1);%存放当前代的最优染色体与适应度
    
    
    
    %% 初始化,这只是用于生成第一代个体,并计算其适应度函数
    chrom = Initialize(N, N_chrom, chrom_range); %初始化染色体
    fitness = CalFitness(chrom, N, N_chrom); %计算适应度
    chrom_best = FindBest(chrom, fitness, N_chrom); %寻找最优染色体
    fitness_best(1) = chrom_best(end); %将当前最优存入矩阵当中
    
    
    
    %% 迭代主循环
    for t = 2:iter
        chrom = MutChrom(chrom, mut, N, N_chrom, chrom_range, t, iter); %变异
        chrom = AcrChrom(chrom, acr, N, N_chrom); %交叉
        fitness = CalFitness(chrom, N, N_chrom); %计算适应度
        chrom_best_temp = FindBest(chrom, fitness, N_chrom); %寻找最优染色体
        if chrom_best_temp(end)>chrom_best(end) %替换掉当前储存的最优
            chrom_best = chrom_best_temp;
    ..........

    完整程序转链接:
    链接1:https://mp.weixin.qq.com/s?__biz=Mzg4MTc1MjE2Mg==&mid=2247484190&idx=1&sn=fc529ea64f76b84710d181a46aaac6d7&chksm=cf606213f817eb056a04916c52a4aa486af7bdce2f305625eba372ff399767bf274f4094a502&token=283066880&lang=zh_CN#rd
    链接2:https://download.csdn.net/download/weixin_47365903/65918474?spm=1001.2014.3001.5503

    展开全文
  • 优化流程原则(PEP)

    2020-12-30 03:56:05
    这一款优化流程原则(PEP)专为客户需求而设计,随着内外环境变化而变化,欢迎大家下载优化流程原则(PEP)参...该文档为优化流程原则(PEP),是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,769,151
精华内容 707,660
关键字:

优化程序

友情链接: core-cPP01.rar