• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: Matlab
  • 标签: matlab  

资源简介

通过坐标轮换法求解一维搜索问题的最优解,坐标轮换法是每次搜索只允许一个变量变化,其余变量保持不变,即沿坐标方向轮流进行搜索的优化方式。

资源截图

代码片段和文件信息

function [xminf] = minconPS(fgx0deltauvareps1eps2)
if nargin == 7
    eps2 = 1.0e-6;
end
n = length(var);
y = x0;
bmainCon = 1;

while bmainCon 
    yf = Funval(fvary);
    yk_1 = y;
    for i=1:n
        tmpy = zeros(size(y));
        tmpy(i) = delta(i);
        tmpf = Funval(f vary+tmpy);
        
        for j=1:length(g)
            cong(j) = Funval(g(j) vary+tmpy);
        end
        if tmpf < yf && min(cong) >= 0
            bcon = 1;
            while bcon
                tmpy(i) = 2*tmpy(i);
                tmpf_i = Funval(f vary+tmpy);

                for j=1:length(g)
                    cong_i(j) = Funval(g(j) vary+tmpy);
                end
                if tmpf_i =0
                    y_res = y  + tmpy;
                else
                    bcon = 0;
                end
            end
        else
            tmpy(i) = delta(i);
            tmpf = Funval(f vary-tmpy);

    

评论

共有 条评论