Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted by 123 ( 15 years ago )
procedure TForm1.btn1Click(Sender: TObject);
begin
n := Form1.strngrd1.ColCount; //количество переменных
m := Form1.strngrd1.RowCount; //количество ограничений
eps := StrToFloat(Form1.edt1.Text); //точность
if rb2.Enabled then ip:=0 else ip:=1;
Form1.debug_window.Lines.Clear;
Form1.debug_window.Lines.Add('t=');
SetLength(t,n);
for i:=1 to n do //коэффициенты целевой функции;
begin
t[i] := StrToFloat(Form1.strngrd2.Cells[i-1, 0]);
Form1.debug_window.Lines.Add(FloatToStr(t[i]));
end;
Simplex:=TSimplex.Create(t,true); // t - массив коэффициентов оптимизируемой функции;
SetLength(s,n);
for j:=1 to m do
begin
Form1.debug_window.Lines.Add('s='+IntToStr(j));
for i:=1 to n do s[i] := StrToFloat(Form1.strngrd1.Cells[i-1, j-1]); //массив, содержащий коэффициенты при неизвестных в системе ограничений;
end;
// Form1.debug_window.Lines.Add('s=');
// for i:=1 to m-2 do //массив из М–2 чисел, содержащий правые части системы;
// begin
// s[i] := StrToFloat(Form1.strngrd3.Cells[0, i-1]);
// Form1.debug_window.Lines.Add(FloatToStr(s[i]));
// end;
// Form1.debug_window.Lines.Add('r=');
// matrix_to_array:=1;
// for i:=1 to m-2 do //массив из (М–2)*N чисел, содержащий коэффициенты при неизвестных в системе ограничений;
// // for j:=1 to n do
// // begin
// r[matrix_to_array] := StrToFloat(Form1.strngrd1.Cells[j-1, i-1]);
// matrix_to_array:=matrix_to_array+1;
// // end;
// for i:=1 to matrix_to_array-1 do
// Form1.debug_window.Lines.Add(FloatToStr(r[i]));
Simplex.Free; // уничтожение объекта;
end;
Revise this Paste