
- •Введение
- •1. Основы исследования систем и принятия решений
- •1.1. Постановка задач принятия решений и разработка моделей
- •1.2. Классификация математических моделей и методов принятия решений
- •1.3. Принятие решений в условиях определенности при векторном критерии
- •Способ 5
- •1.4. Принятие решений в условиях риска и неопределенности
- •1.5. Программное компьютерное обеспечение исследования транспортных систем
- •2. Построение математических моделей
- •2.1. Детерминированные модели
- •2.1.1. Решение систем линейных уравнений
- •2.1.2. Решение систем нелинейных уравнений
- •2.1.3. Численное интегрирование
- •2.1.4. Вычисление специальных функций
- •2.1.5. Сортировка чисел (символов)
- •Программа сортировки по индексам
- •Программа сортировки по методу "пузырька"
- •2.2. Стохастические модели
- •2.2.1. Исследование распределения случайных величин
- •1) Критерий хи - квадрат (Пирсона)
- •2) Критерий Романовского
- •3) Критерий Колмогорова
- •Ринунок 2.13 – Эмпирическая (1) и теоретическая (2) функции распределения
- •4) Критерий Мизеса-Смирнова
- •2.2.2. Генерация случайных чисел по различным законам распределения
- •2.2.3. Интервальная оценка параметров и определение интервалов распределения случайных величин
- •2.2.4. Исследование статистических зависимостей между случайными величинами
- •2.2.5. Исследование временных рядов
- •2.2.6. Системы массового обслуживания
- •1) Аналитическое исследование систем массового обслуживания
- •2) Статистическое имитационное моделирование
- •3. Оптимизационные задачи и методы их решения
- •3.1. Безусловная оптимизация для одномерной унимодальной целевой функции
- •3.2. Многомерная безусловная оптимизация
- •3.3. Оптимизация при наличии ограничений
- •3.4. Задача линейного программирования
- •3.5. Отыскание кратчайших расстояний и путей между пунктами транспортной сети. Кратчайшая связывающая сеть
- •3.6. Транспортная задача линейного программирования
- •3.7. Одномерная задача динамического программирования
- •3.8. Эвристические методы решения транспортных задач
- •3.8.1. Маршрутизация перемещения ресурсов помашинными отправками
- •3.8.2. Маршрутизация перемещения мелких партий ресурсов
- •3.9. Задачи дискретной оптимизации
- •3.9.1. Целочисленная задача линейного программирования
- •3.9.2. Задача о назначениях
- •3.9.3. Задача о ранце (рюкзаке)
- •3.9.4. Задача о коммивояжере
- •3.10. Задачи упорядочения и согласования
- •3.11. Состязательные задачи
- •3.1. Основная литература
- •3.2. Дополнительная литература
- •Приложение 1. Компьютерная программа принятия решений в условиях риска и неопределенности
- •Приложение 2. Компьютерная программа исследования распределения случайных величин
- •Приложение 3. Компьютерная программа однофакторного корреляционно-регрессионного анализа
- •Приложение 4. Компьютерная программа проведения многофакторного корреляционно-регрессионного анализа
- •Приложение 5. Компьютерная программа выравнивания динамического ряда многочленом ряда фурье
- •Приложение 6. Компьютерная программа решения задачи линейного программирования симплекс-методом
- •Приложение 7. Компьютерная программа отыскания кратчайших расстояний между пунктами транспортной сети
- •Приложение 8. Компьютерная программа решения транспортной задачи линейного программирования
- •Приложение 9. Компьютерная программа разработки сборочно-развозочных маршрутов на основе метода кларка-райта
- •Приложение 10. Компьютерная программа расчета параметров сетевого графика
- •Приложение 11. Компьютерная программа решения игровой задачи двух сторон на основе алгоритма брауна
- •Учебное издание
- •По дисциплине "Математические модели в транспортных системах" для студентов специальностей 1-44 01 01, 1-44 01 02
- •Подписано в печать .04.2006
- •220013, Г. Минск, проспект Независимости, 65.
2.1.5. Сортировка чисел (символов)
При обработке числовой или символьной информации может требоваться или быть эффективна ее предварительная сортировка.
Наиболее часто используются следующие методы сортировки: по индексам, BUBBLE ("пузырька") и SHELL (Шелла). Наиболее простой из них – первый, наиболее эффективный в общем случае – третий и высокоэффективный для сортировки незначительно измененных ранее сортированных массивов – второй.
Ниже приводятся алгоритмы и программная реализация этих методов. Для данных, заданных в строке 95 программ (22 числа), число сравнений, необходимых для выполнения сортировки чисел, составляет при применении метода по индексам – 231, метода BUBBLE – 169 и метода SHELL – 105.
Алгоритм и программа метода сортировки по индексам приведена на рисунке 2.5.
1
Пуск
2
Ввод M, M – число чисел
A(i),
3
4
5 Да
A(i)<=
A(k)
Нет
6
B = A(i): A(i)= A(k)
A(k)=B
7
Вывод
A(i),
Рисунок 2.5 –
Алгоритм
программы метода сортировки по
индексам
8
Останов
Программа сортировки по индексам
10 CLS:PRINT"СОРТИРОВКА ПО ИНДЕКСАМ"
20 DEFINT I-N: INPUT"ЧИСЛО ЧИСЕЛ";M:DIM A(M)
25 FOR I=1 TO M:READ A(I):NEXT I
30 FOR I=1 TO M-1
40 FOR K=I+1 TO M
50 IF A(I)<=A(K) THEN 70
60 B=A(I):A(I)=A(K):A(K)=B:GOTO 70
70 NEXT K
80 NEXT I
90 FOR I=1 TO M:PRINT A(I):NEXT I:GOTO 100
95 DATA 44,12,15,4,8,79,11,14,78,22,33,2,1,4,5,7,8,6,1,4,5,6
100 END
Число проходов блока 5 составляет ровно M (M-1)/2.
По методу "пузырька" в отличие от метода сортировки по индексам число необходимых сравнений для получения отсортированных чисел зависит от исходной последовательности чисел и равно, например, для ранее отсортированных чисел M-1. Ниже приведены алгоритм (рисунок 2.6) и программа для метода "пузырька".
1
Пуск
2
Ввод M, M – число чисел
A(
i
),
3
4
k = i
5
j
= k +1
Да 6
A(k)<= A(j)
Нет
7
B = A(j): A(j)= A(k)
A(k)=B
8
k = k - 1 10
Вывод
A(i),
Нет
9 Да 11
k >= 1 Останов Рисунок 2.6 – Алгоритм сортировки по
методу "пузырька"