improve.m

来自「以上是两个内点法程序」· M 代码 · 共 34 行

M
34
字号
%检测移动方向D_s中,负元素个数K4,零元素个数K5,正元素个数K6
K4=0;K5=0;K6=0;
for i=1:n
    if D_s(i,1)<0
        a(K4+1)=-S(i,1)./D_s(i,1);
        K4=K4+1;
    elseif D_s(i,1)==0
        K5=K5+1;
    else
        K6=K6+1;
    end
end
%求步长修正系数bc_f
bc_f=f*min(a);
%求改进的对偶变量W和松弛变量S
for i=1:m
    W(i,1)=W(i,1)+bc_f*D_w(i,1);
end
for i=1:n
    S(i,1)=S(i,1)+bc_f*D_s(i,1);
end
%判断迭代进入无限循环
if K5==n
    disp('迭代进入无限循环!');
end
%判断问题无界
if K4==0&K5~=n
    disp('对偶问题无上界!');
else
    if K4>0
%调用最优性检测程序
        test
    end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?