Курсовая работа: Решение задач линейного программирования симплекс методом
zapisat(n+1,m+y+1,-1,-1);
{/////////////////////////убираем искусственный базис/////////////////////}
ifi_basis>0 then {если он есть }
begin
t:=0;
forj:=m+y-i_basis+1 tom+ydo {от первого исскусственного элемеента до конца}
begin
need_i_basis:=false;{предполагаем, что элемент не нужен (*)}
fori:=1 tondo {просматриваем столбец}
ifall_basis[i]=jthen{и если элемент в базисе}
need_i_basis:=true;{тогда он все-таки нужен}
if need_i_basis=false then t:=j;
{если наши предположения (*) подтвердились, то запомним этот элемент}
end;
if t<>0 then
begin
for k:=1 to n+1 do {во всех строках}
begin
forl:=ttom+ydo {от текущего столбца до последнего}
matrix[k,l]:=matrix[k,l+1];{заменяем элемент на соседний}
matrix[k,m+y+1]:=0;{а последний убираем}
end;
{столбец удален! надо это запомнить}
y:=y-1;
i_basis:=i_basis-1;
ifi_basis>0 then {если остались еще искусственные переменные,}
forl:=m+y-i_basis+1 tom+ydo{то от первой из них до последней}
fori:=1 tondo {просматриваем строки в столбце}
if matrix[i,l]=1 then all_basis[i]:=l; {туда, где 1, заносим в базис}