Member
Регистрация: 27.11.2011
Сообщений: 29
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Поиск экстремума симплекс методом, Pascal
Здравствуй дорогой технарь)
есть что то подобное, но это выполняет не полностью то...
Код:
uses crt;
var n,i,l,x3,x4,x5,j,z1,z2,dl1,dl2,dl3,dl4,dl5,k:integer;
i1,j1:integer;
z3,z4,z5,max,m:integer;
a:array[1..20,1..20] of integer;
b:array[1..1000] of real;
g:array[1..20,1..20] of integer;
begin
write('Введите коэфициенты при целевой функции : ');
readln(z1,z2);
write('Количество уравнений '); readln(n);
write('введите x3,x4,x5');
readln(x3,x4,x5) ;
for i:=1 to n do begin
for j:=1 to 2 do begin
write('a',i,',',j,'= '); readln(a[i,j]);
end;
write('b',i,'= '); readln(b[i]);
end;
write('razmernost, ed mat') ;
readln(k);
for i1:=1 to k do begin
for j1:=1 to k do begin
if i1=j1 then g[i,j]:=1 else g[i,j]:=0;
write(g[i,j]:5);
end;
writeln;
end;
begin
writeln('delta'); //нахождения delta
z3:=0;z4:=0;z5:=0;
dl1:=(a[1,1]*x3+a[2,1]*x4+a[3,1]*x5)-z1;
dl2:=(a[1,2]*x3+a[2,2]*x4+a[3,2]*x5)-z2;
dl3:=(g[1,1]*x3+g[2,1]*x4+g[3,1]*x5)-z3;
dl4:=(a[1,2]*x3+a[2,2]*x4+a[3,2]*x5)-z4;
dl5:=(g[1,3]*x3+a[2,3]*x4+a[3,3]*x5)-z5;
end;
writeln(dl1:3,dl2:3,dl3:3,dl4:3,dl5:3);
begin
//макс
if (dl1<0)and (dl2<0)and(dl3<0)and(dl4<0)and(dl5<0)
then
if (dl1>dl2) then max:=abs(dl1)
else max:=abs(dl2) ;
if (dl3>dl4) then max:=abs(dl3)
else max:=abs(dl4)
end;
writeln(max);
writeln;
end.
|