Исследование методов решения линейных уравнений

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?щего элемента, то процесс выглядит так. Пусть нам дана система n линейных уравнений с таким же количеством неизвестных. Представим коэффициенты этой системы и свободные члены в виде расширенной матрицы A размером n*(n+1). Элементы матрицы будем обозначать a[i,j]. Выполним операции:

 

для каждого i от 1 до n: .

| для каждого k от n+1 до 1 с шагом (-1): .

| | a[i,k] <- a[i,k]/a[i,i] .

| для каждого j от 1 до n, не равного i: .

| | для каждого k от n+1 до i с шагом (-1): .

| | | a[j,k] <- a[j,k] - a[j,i]*a[i,k] .

После этого последний столбец матрицы A даст решение задачи. По сравнению с классическим методом Гаусса здесь отсутствует обратный ход, но общее число операций больше (хотя порядок по n одинаковый - n3).

Особенно удобен метод Жордана-Гаусса для обращения матрицы. Если матрицу системы расширить не столбцом свободных членов, а единичной матрицей того же порядка, то после описанной процедуры на ее месте получится матрица, обратная заданной.

 

Листинг программы

 

0then[I]:=V[I]/DResult:=false;;Multiply(varV:Vector;K:real);:Integer;I:=Low(V)toHigh(V)do[I]:=V[I]*K;;Subtract(varV1,V2:Vector);:Integer;I:=Low(V1)toHigh(V1)do[I]:=V1[I]-V2[I];;TForm1.Button2Click(Sender:TObject);:Matrix;,j:integer;:real;:TStringList;(M,StringGrid1.RowCount-1);I:=Low(M)toHigh(M)do(M[I],StringGrid1.ColCount-1);I:=Low(M)toHigh(M)doJ:=Low(M[I])toHigh(M[I])do[I,J]:=StrToInt(StringGrid1.Cells[J+1,I+1]);:=TStringList.Create;.Add(Данная СЛАУ:);

j) then Multiply(M[j], k);;(Report, M);;.SaveToFile(ExtractFilePath(Application.ExeName) + result.html);.Free;(Handle, PChar(Создан файл отчета: + ExtractFilePath(Application.ExeName) + result.html),

Решение получено, MB_OK + MB_ICONINFORMATION);.Navigate(ExtractFilePath(Application.ExeName) + result.html);;TForm1.Button1Click(Sender: TObject);: Integer;:= StrToInt(LabeledEdit1.Text);.RowCount := N+1;.ColCount := N + 2;;

end.

 

Заключение

 

В результате выполнения данной курсовой работы были изучены и программно реализованы алгоритмы методов оптимизации и по результатам выполнения программ проанализированы изученные в этом семестре методы решения задач на динамическое, линейное и нелинейное программирование.

В результате выполнения работы были реализованы следующие алгоритмы:

Метод ветвей и границ на примере задачи о коммивояжоре;

Поиски 1-ого и 2-ого порядка;

Линейное программирование на примере симплексного метода.

Список литературы

 

1.Галкин А.А. методы оптимизации в примерах и задачах: Учеб. Пособие. - Владимир: ВПИ, 1989. - 96 с.

2.Жирков В.Ф. моделирование производственных процессов с дискретным характером управления: Учеб. Пособие. - Владимир: НПИ, 1984. - 84 с.

.Черноусько Ф.Л., Баничук Н.В. Вариационные задачи механики и управления: Численные методы. М.: Наука, 1973. 238 с.

4.Internet.