Читайте также:
|
|
Для решения итерационным методом система линейных алгебраических уравнений Ax = b должна быть приведена к виду x = Gx+f, где G - некоторая матрица, f - преобразованный вектор свободных членов. Затем выбирается начальное приближение - произвольный вектор x(0) - и строится рекуррентная последовательность векторов x(1), x(2),..., x(k),... по формуле
.
Для сходимости этой последовательности при любом начальном приближении необходимо и достаточно, чтобы все собственные значения матрицы G были по абсолютной величине меньше единицы. На практике это трудно проверить, и обычно пользуются достаточными условиями сходимости - итерации сходятся, если какая-нибудь норма матрицы меньше единицы, т.е.
или.
Чем меньше норма матрицы G, тем быстрее сходится итерационный процесс.
Преобразование системы можно осуществить, просто решая каждое i -е уравнение относительно xi:
.
Метод Якоби использует следующий алгоритм построения приближений:
.
Если A - матрица с доминирующей диагональю, т.е., то метод Якоби сходится при любом начальном приближении x(0 ).
Метод Якоби относится к одношаговым итерационным методам, когда для нахождения x(k+1) требуется помнить только одну предыдущую итерацию x(k). Для исследования сходимости удобнее записывать итерационные методы не в координатной, а в матричной форме, придерживаясь стандартной формы записи итерационных методов.
Канонической формой одношагового итерационного метода решения СЛАУ называется его запись в виде
где Bk+1 - матрица, задающая тот или иной итерационный метод, k+1 - итерационный параметр. Числовые параметры k вводят для ускорения сходимости. Способ выбора итерационных параметров определяется при исследовании сходимости метода, когда выясняется при каких значениях параметров метод сходится и когда сходимость будет наиболее быстрой (соответствующие параметры называются оптимальными).
Итерационный метод называют явным, если Bk+1 - единичная матрица. Неявные итерационные методы имеет смысл применять лишь в том случае, когда решение системы уравнений с матрицей Bk требует меньше машинной памяти или времени или алгоритмически проще, чем решение исходной системы.
Методом простой итерации называют явный метод с постоянм параметром или,
где r(k) = Ax(k)-b - вектор невязки. Метод сходится для симметричных положительно определенных матриц при.
Для окончания итерационного процесса используют три способа. При ᴨȇрвом определяют величину стабилизации и прекращают вычисления, если она меньше, т.е.
Недостатком этого способа является то, что при медленно сходящихся итерациях величина стабилизации может быть малой, хотя приближенное решение сильно отличается от точного.
При втором способе вычисляют нормы невязки до начала итераций и на каждой итерации. Итерации прекращают при выполнении неравенства.
При третьем способе предварительно оценивается число итераций, необходимое для получения заданной точности. Если для погрешности итерационного метода выполняются оценки
где q (0,1), то метод сходится со скоростью геометрической прогрессии со знаменателем q. Можно определить, потребовав, чтобы qn <, число итераций n, достаточное для того, чтобы начальная погрешность уменьшилась в заданное число раз:
Целая часть числа n0() является минимальным числом итераций, необходимым для получения заданной точности.
Величина ln(1/ q) является скоростью сходимости итерационного метода.
14. Численные методы решения систем линейных алгебраических уравнений. Метод Зейделя.
ЗЕЙДЕЛЯ МЕТОД
- итерационный метод решения системы линейных алгебраич. уравнений Ах=b. Решение системы х* находится как пределпоследовательности вычисляемой по правилу
i=l, 2,..., п,
где aij - элементы матрицы А, bi - компоненты вектора b;диагональные элементы матрицы Апредполагаются отличными от нуля. Вычисления (*) отличаются от простой итерации метода лишь тем, что на k-м шаге при вычислении i-й компоненты учитываются вычисленные k-в приближения первых (i-1) компонент.
В матричной записи 3. м. представляется следующим образом. Если А=В+С, где
то соотношение (*) соответствует матричному соотношению x(k)=- В -1 Сх (k-1) +В -1b. З. м. равносилен методу простой итерации, примененному к системе x=- B-1Cx+B-1b, эквивалентной исходной. Для сходимости 3. м. необходимо и достаточно, чтобы все собственные значения матрицы В -1 С по модулю были меньше 1. Иначе, чтобы все корни уравнения det(C+Вl) =0 были по модулю меньше 1.
На практике более удобны следующие достаточные условия сходимости 3. м. 1) Пусть при всех i,
д<1. Тогда 3. м. сходится и для
скорости сходимости имеет место оценка:
2) Пусть А- эрмитова положительно определенная матрица. Тогда 3. м. сходится.
З. м. относится к классу релаксации методов, наиболее употребительным из к-рых является сверхрелаксации метод.
Известны модификации 3. м., использующие предварительное преобразование исходной системы в эквивалентную ей систему x=Mx+f (см. [4]).
15.Элементы линейного программирования.
Определение 1. Линейное программирование – наука о методах исследования и отыскания экстремальных значений линейной функции, на неизвестные которой наложены линейные ограничения. Эта линейная функция называется целевой, а ограничения, которые математически записываются в виде уравнений или неравенств, называются системой ограничений Определение 2. Математическое выражение целевой функции и системы ограничений называется математической моделью экономической задачи. Определение 3. Допустимым решением задачи линейного программирования называется вектор , удовлетворяющий системе ограничений. Определение 4. Допустимое решение, при котором целевая функция достигает своего экстремального значения, называется оптимальным решением задачи линейного программирования и обозначается . Определение 5. Если все ограничения системы заданы уравнениями и переменные неотрицательные, то такая модель задачи называется канонической. Если хотя бы одно ограничение является неравенством, то модель задачи ЛП является неканонической.
16.Подход к решению задач линейного программирования
Графический метод решения задачи линейного программирования основан на геометрической интерпретации задачи линейного программирования и применяется в основном при решении задач двумерного пространства и только некоторых задач трёхмерного пространства, так как довольно трудно построить многогранник решений, который образуется в результате пересечения полупространств. Задачу пространства размерности больше трёх изобразить графически вообще невозможно.2Симплекс-метод решения задач линейного программирования.
Симплекс-метод – один из наиболее эффективных методов численного решения задач ЛП. Суть понятия «симплекс» заключается в следующем. Для тела в k -мерном пространстве симплексом называется множество, состоящее из k +1 вершин этого тела. Так, при k = 2, т.е. на плоскости, симплексом будут вершины треугольника; при k = 3 симплексом являются вершины четырехгранника, например тетраэдра, и т.д. Такое название методу дано по той причине, что в его основе лежит последовательный перебор вершин ОДЗП с целью определения координат той вершины, в которой функция цели имеет кстремальное значение.
Решение задачи с помощью симплекс-метода разбивается на два основных этапа. На первом этапе находят одно из решений, удовлетворяющее системе ограничений. Системы, в которых переменных больше, чем ограничений N > m, называются неопределенными. Они приводятся к определенным системам (N = m) путем приравнивания к нулю N-m каких-либо переменных. При этом остается система m уравнений с m неизвестными, которая имеет решение, если определитель системы отличен от нуля. В симплекс-методе вводится понятие базисных переменных, или базиса. Базисом называется любой набор из m таких переменных, что определитель, составленный из коэффициентов при этих переменных в m-ограничениях, отличен от нуля. Остальные N-m переменных называются небазисными, или свободными переменными. Если принять, что все небазисные переменные равны нулю, и решать систему ограничений относительно базисных переменных, то получим базисное решени
17.Симплекс метод и таблица.
Симплекс-метод — алгоритм решения оптимизационной задачи линейного программирования путём перебора вершин выпуклого многогранника в многомерном пространстве. Метод был разработан советским математиком Канторовичем Л. В. в 1939 году Симплекс-метод – один из наиболее эффективных методов численного решения задач ЛП. Суть понятия «симплекс» заключается в следующем. Для тела в k -мерном пространстве симплексом называется множество, состоящее из k +1 вершин этого тела. Так, при k = 2, т.е. на плоскости, симплексом будут вершины треугольника; при k = 3 симплексом являются вершины четырехгранника, например тетраэдра, и т.д. Такое название методу дано по той причине, что в его основе лежит последовательный перебор вершин ОДЗП с целью определения координат той вершины, в которой функция цели имеет кстремальное значение.
Решение задачи с помощью симплекс-метода разбивается на два основных этапа. На первом этапе находят одно из решений, удовлетворяющее системе ограничений. Системы, в которых переменных больше, чем ограничений N > m, называются неопределенными. Они приводятся к определенным системам (N = m) путем приравнивания к нулю N-m каких-либо переменных. При этом остается система m уравнений с m неизвестными, которая имеет решение, если определитель системы отличен от нуля. В симплекс-методе вводится понятие базисных переменных, или базиса. Базисом называется любой набор из m таких переменных, что определитель, составленный из коэффициентов при этих переменных в m-ограничениях, отличен от нуля. Остальные N-m переменных называются небазисными, или свободными переменными. Если принять, что все небазисные переменные равны нулю, и решать систему ограничений относительно базисных переменных, то получим базисное решение.
18.Алгоритм решения задачи на ПК линейного программирования
1) Постановка задачи - необходимо четко определить цель задачи, дать словесное описание содержания задачи, выделить исходные данные для ее решения. Предложить общий подход к её решению, определиться какие результаты и в каком виде должны быть получены.
2) Построение математической модели - представление ее в виде формул, уравнений, соотношений, которые могут быть реализованы в компьютере.
3) Алгоритмизация - построение алгоритма.
4) Составление сценария работы на компьютере (этот этап мы пока будем опускать).
5) Написание задачи на языке программирования.
Программа должна быть универсальной (не зависящей от конкретного набора данных). Необходимо предусмотреть контроль вводимых данных. Необходимо повысить эффективность программы, т. е. уменьшить количество выполняемых операций и время работы программы.
6) Отладка и тестирование программы.
На этом этапе происходят выполнение алгоритма с помощью компьютера, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот часто требует гораздо больше времени и сил, чем написание первоначального текста программы.
Программист должен составить тест - это специально подобранные исходные данные, в совокупности с результатами, которые должны получиться.
Отладка - это исправление ошибок - сложный и нестандартный процесс. Исходный план отладки заключается в том, чтобы оттестировать программу на составленных контрольных тестах.
7) Анализ полученных результатов.
Рассмотрим эти этапы на примере следующей задачи.
Задача. "Покупка в мазазине"
Человек делает в магазине покупки. Определите сколько денег у него останется после покупки в магазине перчаток стоимостью А руб., портфеля стоимостью B руб. и галстука стоимостью D руб. Все исходные данные задаются с клавиатуры.
1 этап. Постановка задачи
Дата добавления: 2015-10-02; просмотров: 164 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Анализ существующих методов решения задачи | | | Результат. |