Исследование методов решения линейных уравнений
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
?щего элемента, то процесс выглядит так. Пусть нам дана система 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.