function v=opttruss(x,E,f); global vmax kap n=size(E,1); m=length(f)/2; B=sparse(2*m,n); l=zeros(n,1); for k=1:n i=E(k,1); j=E(k,2); w=x(2*(i-1)+1:2*i)-x(2*(j-1)+1:2*j); l(k)=norm(w,2); w=(sqrt(kap)/l(k)^2)*w; B(2*(i-1)+1:2*i,k)=w; if (j<=m) B(2*(j-1)+1:2*j,k)=-w; end end c=ones(2*n,1); A=[B,-B]; %xk=IPLP(c,A,f); xk=simplexLP(c,A,f); u=xk(1:n)-xk(n+1:2*n); v=(vmax/sum(abs(u)))*abs(u);