function [JJ,KK,bb,di]= simplex_k(n,m,J,K,A,b)
% Simplexova metoda II-faza ,b>=0; dim b=m+1, b(m+1)=hodn.ucel.funk., v matici A posledny riadok je ucelova
% funkcia s (-1) koeficientami c ; ide o maximalizaciu; posledny stlpec A
% patri ucelovej premennej; card(J+K)=n, predpokladame m<n; A=(m+1)x n;
for i=1:m+1
    p=J(i);
    AJ(:,i)=A(:,p);
end
B=inv(AJ);
bb=inv(AJ)*b;di=0;
for i=1:n-m-1
    p=K(i);
    AK(:,i)=A(:,p);
end
d=zeros(1,[1:m+1]); d(1,m+1)=1; 
dd=d*B*AK;d1=dd(1,[1:n-m-1]);
if d1>=0
    'there is an optimal solution'
    di=1, JJ=J, KK=K
    return
end
q=0;
for i=1:n-m-1
if d1(i)<q
   q=d1(i);i1=i;
else
   s=0; 
end
end
pd=B*AK(:,i1);pd=pd+10^(-8);
p=bb./pd;q=10^8;i2=0;
for i=1:m
if p(i)>0&p(i)<q
  i2=i;q=p(i);
else
   s=0; 
end
end
if i2==0 
    'solution is unbounded'
    di=2;JJ=J;KK=K;bb=b;
    return
   end
JJ=J ;KK=K; i1;i2;
s1=J(i2);  dd=K(i1); 
JJ(i2 )=dd; KK(i1)=s1;

