improve.m

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

M
43
字号
for i=1:n
    mov(i,1)=-D(1,i)*R(i,1);
end
K1=0;K2=0;K3=0;K=0;
for i=1:n
    if mov(i,1)==0
        K1=K1+1;
        K2=K2+1;
    elseif mov(i,1)>0
        K2=K2+1;
    else
        K3=K3+1;
    end
end
if K3>0
    for i=1:n
        if mov(i,1)<0
            a(K+1,1)=-1/mov(i,1);
            K=K+1;
        end
    end
    b=min(a);
    for i=1:n
        y(i,1)=1+f*b*mov(i,1);
        X(i,1)=D(1,i)*y(i,1);
    end
    test
elseif K1==n
    disp('最优解X为:');
    disp(X);
    break
else
    if ones(1,n)*mov>0
        disp('原问题无下界!');
        break
    else
        for i=1:n
            y(i,1)=1+f*mov(i,1);
            X(i,1)=D(1,i)*y(i,1);
        end
        test
    end
end

⌨️ 快捷键说明

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