
- •Основы информационных технологий
- •Оглавление
- •Предисловие
- •Современные информационные технологии
- •1.1 История, современное состояние и перспективы развития вычислительной техники
- •1.2 Элементная база, архитектура, сетевая компоновка, производительность
- •1.3 Понятие информации. Классификация и виды информационных технологий
- •Основные свойства информационных технологий.
- •1 .4 Операционные системы
- •2 Основные программные средства информационных технологий
- •2.1. Программное обеспечение. Текстовые редакторы, их возможности и назначение
- •2.2. Графические редакторы
- •2.3. Электронные таблицы
- •2.4. Сервисные инструментальные программные средства
- •2.5. Системы математических вычислений MatLab
- •2.6 Система подготовки презентаций
- •3 Сетевые технологии и интернет
- •3.1 Классификация компьютерных сетей
- •3.2 Семиуровневая модель структуры протоколов связи
- •2.3. Взаимодействие компьютеров в сети
- •3.3 Организационная структура Internet
- •3.4 Инструментальные средства создания web-сайтов. Основы web-дизайна
- •3.5 Языки разметки гипертекста html и xml
- •3.6 Скриптовые языки программирования
- •4 Системы управления базами данных
- •4.1. Классификация систем управления базами данных
- •4.2 Модели данных
- •4.3 Моделирование баз данных
- •4.4 Архитектура и функциональные возможности субд. Языковые и программные средства субд
- •4.5 Общая характеристика субд ms Access
- •4.6 Основные объекты ms Access
- •4.7 Основы языка sql
- •Контрольные вопросы
- •5 Защита информации при использовании информационных технологий
- •5.1 Основы информационной безопасности
- •5.2. Методы и средства защиты информации
- •5.3 Защита от несанкционированного доступа к данным
- •5.4 Классы безопасности компьютерных систем
- •5.5 Основные аспекты построения системы информационной безопасности
- •6 Математическое моделирование и численные методы
- •6.1 Математические модели и численные методы решения задач в различных предметных областях
- •6.2 Численное дифференцирование и интегрирование
- •6.2.1 Особенность задачи численного дифференцирования
- •6.2.2 Интерполяционная формула Лагранжа для равноотстоящих узлов
- •6.2.3 Численное дифференцирование на основе интерполяционной формулы Лагранжа
- •6.2.4 Численное дифференцирование на основе интерполяционной формулы Ньютона
- •6.2.5 Постановка задачи численного интегрирования
- •6.2.6 Квадратурные формулы Ньютона-Котеса
- •6.2.7 Формула трапеций
- •6.2.8 Формула Симпсона
- •6.2.9 Оценка точности квадратурных формул
- •6.3 Методы решения обыкновенных дифференциальных уравнений
- •6.3.1 Задача Коши и краевая задача
- •6.3.1.1 Классификация уравнений
- •6.3.1.2 Задача Коши
- •6.3.2 Одношаговые методы решения задачи Коши
- •6.3.2.1 Метод Эйлера
- •6.3.2.2 Модифицированный метод Эйлера
- •6.3.2.3 Метод Рунге-Кутта четвертого порядка
- •6.3.2.4 Погрешность решения и выбор шага
- •6.3.3 Многошаговые методы решения задачи Коши
- •6.3.3.1 Многошаговые методы
- •6.3.3.2 Метод Адамса
- •6.3.3.3 Методы прогноза и коррекции (предиктор-корректор)
- •6.3.3.4 Общая характеристика многошаговых методов
- •6.3.4 Краевая задача и метод стрельбы
- •6.3.4.1 Краевая задача
- •6.3.4.2 Метод стрельбы
- •6.3.4.3 Метод стрельбы для линейного дифференциального уравнения
- •6.4 Решение дифференциальных уравнений в чстных производных
- •6.4.1 Краткие теоретические сведения
- •6.4.2 Классификация уравнений по математической форме
- •6.4.3 Основы метода конечных разностей
- •6.4.3.1 Построение сетки
- •6.4.3.2 Аппроксимация уравнения эллиптического типа
- •6.4.3.3 Аппроксимация уравнения гиперболического типа
- •6.4.3.4 Аппроксимация уравнения параболического типа
- •6.4.3.5 Погрешность решения
- •6.4.4 Основы метода конечных элементов
- •6.4.4.1. Формирование сетки
- •6.4.4.2 Конечно-элементная аппроксимация
- •6.4.4.3 Построение решения
- •6.6 Элементы математической статистики
- •6.6.1 Генеральная совокупность. Выборка. Статистические ряды
- •6.6.2 Графическое изображение вариационных рядов. Эмпирическое распределение
- •6.6.3 Средние величины и показатели вариации
- •6.6.4 Средняя арифметическая и ее свойства
- •6.6.5 Дисперсия и ее свойства. Среднее квадратическое отклонение
- •6.6.6 Коэффициент вариации
- •6.6.7 Структурные средние
- •6.6.8 Законы распределения случайных величин
- •6.6.9 Статистические гипотезы
- •7 Методы оптимизации и системы поддержки принятия решений
- •7.1 Характеристика методов решения задач оптимизации
- •7.1.1 Численные методы безусловной оптимизации нулевого порядка
- •7.1.1.1 Основные определения
- •7.1.1.2 Классификация методов
- •7.1.1.3 Общая характеристика методов нулевого порядка
- •7.1.1.4 Метод прямого поиска (метод Хука-Дживса)
- •7.1.1.5 Метод деформируемого многогранника (метод Нелдера—Мида)
- •7.1.1.6 Метод вращающихся координат (метод Розенброка)
- •7.1.1.7 Метод параллельных касательных (метод Пауэлла)
- •7.1.2 Численные методы безусловной оптимизации первого порядка
- •7.1.2.1 Минимизация функций многих переменных. Основные положения
- •7.1.2.2 Метод наискорейшего спуска
- •7.1.2.3 Метод сопряженных градиентов
- •7.1.3 Численные методы безусловной оптимизации второго порядка
- •7.1.3.1 Особенности методов второго порядка
- •7.1.3.2 Метод Ньютона
- •7.2 Линейное программирование
- •7.2.1 Транспортная задача линейного программирования
- •7.2.1.1 Постановка задачи
- •7.2.1.2 Венгерский метод
- •7.2.1.3 Метод потенциалов
- •7.3 Прямые методы условной оптимизации
- •7.3.1 Основные определения
- •7.3.2 Метод проекции градиента
- •7.3.3 Комплексный метод Бокса
- •7.4 Методы штрафных функций
- •7.4.1 Основные определения
- •7.4.2 Методы внутренних штрафных функций
- •7.4.3 Методы внешних штрафных функций
- •7.4.4 Комбинированные алгоритмы штрафных функций
- •7.5 Информационные технологии поддержки принятия решений
- •7.6 Информационные технологии экспертных систем Характеристика и назначение
- •Список литературы
7.1.3.2 Метод Ньютона
Алгоритм метода Ньютона состоит в следующем.
1. В начальной точке х [0] вычисляется вектор
p[0]
-
H-1(x[0])f’([0]).
2. На k-й итерации определяются шаг аk и точка х[k+1].
3. Вычисляется величина f(х[k+1]).
4. Проверяются условия выхода из подпрограммы, реализующей данный алгоритм. Эти условия аналогичны условиям выхода из подпрограммы при методе наискорейшего спуска. Если эти условия выполняются, осуществляется прекращение вычислений. В противном случае вычисляется новое направление
р[k+1]
–H-1(x[k])f’([k])
и осуществляется переход к следующей итерации.
Количество вычислений на итерации методом Ньютона, как правило, значительно больше, чем в градиентных методах. Это объясняется необходимостью вычисления и обращения матрицы вторых производных целевой функции. Однако на получение решения с достаточно высокой степенью точности с помощью метода Ньютона обычно требуется намного меньше итераций, чем при использовании градиентных методов. В силу этого метод Ньютона существенно более эффективен. Он обладает сверхлинейной или квадратичной скоростью сходимости в зависимости от требований, которым удовлетворяет минимизируемая функция f(x). Тем не менее в некоторых задачах трудоемкость итерации методом Ньютона может оказаться очень большой за счет необходимости вычисления матрицы вторых производных минимизируемой функции, что потребует затрат значительного количества машинного времени.
В ряде случаев целесообразно комбинированное использование градиентных методов и метода Ньютона. В начале процесса минимизации, когда точка х[0] находится далеко от точки экстремума х*, можно применять какой-либо вариант градиентных методов. Далее, при уменьшении скорости сходимости градиентного метода можно перейти к методу Ньютона.
7.2 Линейное программирование
Под линейным
программированием
понимается раздел теории экстремальных
задач, в котором изучаются задач и
минимизации (или максимизации) линейных
функций на множествах, задаваемых
системами линейных равенств и неравенств.
В общем случае задача линейного
программирования формулируется следующим
образом. Найти вектор х*
(x*1,
..., х*n),
определяющий
максимум (минимум) линейной форме
f(x)
с1x1
+ с2x2+...+сnxn(7.17)
при ограничениях (7.18) :
a11x1
+ … a1nxn
b1;
. . . . . . . . . . . . . . . . . . .
am1x1
+
… amnxn
bm;
am+1x1+…
am+1,nxn
bm+1;
. . . . . . . . . . . . . . . . . . . (7.18)
akx1
+
… aknxn
bm;
ak+1
x1
+
… ak+1nxn
bm;
am+1x1
+
… am+1,nxn
bm+1;
. . . . . . . . . . . . . . . . . .
alx1
+
… alnxn
bl;
xi
0;
i
1,
…, n.
Каждое из условий-неравенств определяет полупространство, ограниченное гиперплоскостью. Пересечение полупространств образует выпуклый п-мерный многогранник Q. Условия равенства выделяют из n-мерного пространства (п-l) -мерную плоскость, пересечение которой с областью Q дает выпуклый (n-l) -мерный многогранник G. Экстремальное значение линейной формы (если оно существует) достигается в некоторой вершине многогранника. При вырождении оно может достигаться во всех точках ребра или грани многогранника. В силу изложенного для решения задачу линейного программирования теоретически достаточно вычислить значения функции в вершинах многогранника и найти среди этих значений наибольшее или наименьшее. Однако в практических задачах количество вершин области G настолько велико, что просмотр их даже с использованием ЭВМ невозможен. Поэтому разработаны специальные численные методы решения задач линейного программирования, которые ориентируются в основном на две формы записи задач. Каноническая форма задачи линейного программирования:
f(x)
с1х1
+ ...+ сnxn
> ?max(min);
(7.19)
a11x1
+…
a1nxn
b1;
. . . . . . . . . . . . . . . . . . (7.20)
amx1
+…
amnxn
bm;
xi
0;
i
1,
…, n.
или в матричной форме:
(с, х) ? > max(min); (7.21)
Ax
b,
х
0.
Здесь А
(аij)
- (mхn)
- матрица условий. Ее столбцы (a1j,
..., аmj)T
, j
1,
..., п,
называются векторами
условий.
Вектор b
(b1,
..., bm)T
носит название вектора
правых частей,
а с
(с1,
…, сn)
- вектора
коэффициентов линейной формы.
Задача линейного программирования с однотипными условиями
f(x)
с1х1
+ ...+ сnxn
?
> max(min);
(7.22)
a11x1
+… a1nxn
b1;
. . . . . . . . . . . . . . . . . .
amx1
+…amnxn
bm;
или в матричной форме:
(с, х) ? > max(min); (7.23)
Ax
b,
Любую задачу можно привести к каждой из приведенных форм с помощью приемов, описанных ниже.
Переход к эквивалентной системе неравенств.
Знак неравенства можно поменять на обратный, меняя знаки свободного члена и коэффициентов. Например, ограничение
a11x1
+…a1nxn
b1;
можно заменить условием
‑a11x1
+…‑a1nxn
-b1.
Переход от ограничения - неравенства к равенству
Для этого необходимо ввести дополнительную неотрицательную переменную. Так, условие
a1x1
+…anxn
b.
эквивалентно двум ограничениям:
‑a11x1+…‑a1nxn+xn+1
b;
xn+1
b1.
Представление ограничения-равенства парой неравенств.
Ограничение
alx1
+… anxn
b;
можно представить парой условий:
a11x1
+…
a1nxn
b1.
a11x1
+…-a1nxn
-b1.
Переход к неотрицательным переменным
Если на знак переменной хi не наложено ограничений, можно заменить ее разностью двух неотрицательных переменных:
xi
xn+2
- xn+1,
xn+1
0;
xn+2
0.
Переход от переменных, ограниченных снизу, к неотрицательным переменным
Если переменная
ограничена снизу хi
bi
то, заменив ее по формуле хi
уi
+ bi
переходим
к задаче с неотрицательной переменной
уi
0.
Наиболее употребительным численным методом решения задач линейного программирования является симплекс-метод.
Идея этого метода состоит в следующем. Отыскиваются некоторая вершина многогранника G и все ребра, выходящие из этой вершины. Далее перемещаются вдоль того из ребер, по которому функция убывает (при поиске минимума), и попадают в следующую вершину. Находят выходящие из нее ребра и повторяют процесс. Когда приходят в такую вершину, в которой вдоль всех выходящих из нее ребер функция возрастает, то минимум найден. Отметим, что, выбирая одно ребро, исключают из рассмотрения вершины, лежащие на остальных траекториях. В результате количество рассматриваемых вершин резко сокращается и оказывается посильным для ЭВМ. Симплекс-метод весьма эффективен и широко применяется для решения задач линейного программирования.