
- •Введение
- •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.
Приложение 7. Компьютерная программа отыскания кратчайших расстояний между пунктами транспортной сети
2 COLOR 7,7,15:CLS:LOCATE 10:PRINT:COLOR 0,7,15
3 PRINT TAB(21)"З А Д А Ч А K R T R S T":PRINT TAB(20)" ";
4 COLOR 15,0,15:PRINT"КАФЕДРА";:COLOR 23,0,15:PRINT" *БНТУ*";
5 COLOR 15,0,15:PRINT" О А П Д Д":PRINT
6 PRINT"ПРОГРАММА РАСЧЕТА КРАТЧАЙШИХ РАССТОЯНИЙ"
8 PRINT"МЕЖДУ ПУНКТАМИ ТРАНСПОРТНОЙ СЕТИ":COLOR 7,7,15
19 PRINT:COLOR 7,0,7:DEFINT I-N
30 DIM C(50,50),IP(50,50),AG$(50)
40 H0$=" ИСХОДНЫЕ ДАННЫЕ":H1$=" ДА - 1, НЕТ - 0"
50 H2$="КОРРЕКТИРОВАТЬ ЛИ ":H3$="ВЫ ДОПУСТИЛИ ОШИБКУ"
60 PRINT "ВВЕДЕНЫ ЛИ "H0$;H1$:INPUT M0:IF M0=0 THEN 160
70 OPEN"I",#1,"KRTRST.DAT"
80 INPUT #1,N,MM
90 FOR I=1 TO N:INPUT #1,AG$(I)
100 FOR J=1 TO N:IF MM=0 AND J>I-1 THEN 130
110 IF I=J THEN 130
120 INPUT #1,C(I,J)
130 NEXT J:NEXT I
140 CLOSE #1
150 CLS: PRINT TAB(5)H0$:GOSUB 460:GOTO 280
160 CLS:PRINT"ВВЕДИТЕ ";H0$:INPUT "ЧИСЛО ПУНКТОВ(ВЕРШИН)";N
170 PRINT"ПОСЛЕДОВАТЕЛЬНО СОКРАЩЕННЫЕ НАИМЕН.(КОДЫ) ПУНКТОВ"
180 FOR I=1 TO N:PRINT I"-ГО":INPUT AG$(I):NEXT I
190 INPUT"ИМЕЮТСЯ ЛИ ДОРОГИ С ОДНОСТОРОННИМ ДВИЖЕНИЕМ. ДА- 1,НЕТ-0";MM
200 PRINT"ВВЕДИТЕ ДЛИНЫ ЗВЕНЬЕВ ТРАНСПОРТНОЙ СЕТИ. ЕСЛИ ЗВЕНО "
210 PRINT"ОТСУСТВУЕТ, ТО ВВОДИТЕ( 0 )"
220 FOR I=1 TO N:FOR J=1 TO N:IF MM=0 AND J>I-1 THEN 260
230 IF I=J THEN 260
240 PRINT "C("AG$(I)"."AG$(J)")":INPUT C(I,J)
250 IF C(I,J)=0 THEN C(I,J)=1E+20 ELSE P(I,J)=0
260 NEXT J:NEXT I
270 CLS:GOSUB 460
280 PRINT H2$;H0$:PRINT H1$;:INPUT M1:IF M1=0 THEN 350
290 PRINT"ЧЕРЕЗ ЗАПЯТУЮ ПОРЯДКОВЫЕ НОМЕРА(ИНДЕКСЫ) ПУНКТОВ,"
300 MR=1:PRINT "МЕЖДУ КОТОРЫМИ ТРЕБУЕТСЯ СКОРРЕКТИРОВАТЬ РАССТОЯНИЕ"
310 INPUT IS,JS
320 IF IS<1 OR JS>N OR JS<1 OR JS>N THEN PRINT H3$:GOTO 290
330 IF MM=0 AND JS>IS-1 THEN PRINT H3$:GOTO 290
340 PRINT"НОВОЕ ЗНАЧЕНИЕ РАССТОЯНИЯ":INPUT C(IS,JS):GOTO 280
350 IF M0=1 AND MR=0 THEN 560
360 OPEN "O",#1,"KRTRST.DAT"
370 WRITE #1,N,MM
380 FOR I=1 TO N:WRITE #1,AG$(I)
390 FOR J=1 TO N:IF MM=0 AND J>I-1 THEN 410
400 WRITE #1,C(I,J)
410 NEXT J:NEXT I
420 CLOSE #1
430 IF MR=0 THEN 560
440 PRINT "СКОРРЕКТИРОВАННЫЕ";H0$
450 GOSUB 460:GOTO 560
460 PRINT H0$:PRINT:PRINT" ДЛИНА ЗВЕНЬЕВ ТРАНСПОРТНОЙ СЕТИ"
470 PRINT " J";:FOR J=1 TO N:PRINT TAB(6*J+6)AG$(J);:NEXT J:PRINT
480 FOR J=1 TO N:PRINT TAB(6*J+4)"*"J;:NEXT J:PRINT
490 PRINT " I"
500 FOR I=1 TO N:PRINT AG$(I);"*";I;
510 FOR J=1 TO N
520 IF C(I,J)>1E+19 THEN PRINT TAB(6*J+6)" - ";:GOTO 540
525 IF MM=0 AND J>I-1 THEN 540
530 PRINT TAB(6*J+6) C(I,J);
540 NEXT J:PRINT
550 NEXT I:PRINT :PRINT :RETURN
560 IF MM=1 THEN 580
570 FOR I=1 TO N:FOR J=I+1 TO N:C(I,J)=C(J,I):NEXT J:NEXT I
580 FOR I=1 TO N:PRINT"ИДЕТ "I"-Я ИТЕРАЦИЯ"
585 FOR J=1 TO N:IF C(I,J)>1E+19 THEN 640
590 FOR K=1 TO N
600 IF C(I,K)>1E+19 THEN 630
610 S=C(J,I)+C(I,K)
620 IF S<C(J,K) THEN C(J,K)=S:IP(J,K)=I
630 NEXT K
640 NEXT J:NEXT I
750 OPEN "O",#1,"KRTRST.REZ"
755 WRITE #1,N,MM
760 FOR I=1 TO N
765 WRITE #1,AG$(I)
770 FOR J=1 TO N
775 WRITE #1,C(I,J),IP(I,J)
780 NEXT J
785 NEXT I
790 CLOSE #1
795 OPEN "O",#1,"KRTRSTP.REZ"
800 PRINT #1," КРАТЧАЙШИЕ РАССТОЯНИЯ МЕЖДУ ПУНКТАМИ"
805 FOR I=1 TO N
810 PRINT #1,"От "AG$(I)" до"
815 FOR J=1 TO N
820 PRINT #1,AG$(J),USING"######.###";C(I,J),
825 IF IP(I,J)=0 THEN PRINT #1, "" else PRINT #1," через "AG$(IP(I,J))
830 NEXT J
835 NEXT I
840 CLOSE #1
850 COLOR 25,5,15:PRINT " РЕЗУЛЬТАТЫ РАСЧЕТА ДЛЯ ИСПОЛЬЗОВАНИЯ В ДРУГИХ ПРОГРАММАХ В ФАЙЛЕ KRTRST.REZ"
860 PRINT " РЕЗУЛЬТАТЫ РАСЧЕТА ДЛЯ ВЫВОДА НА ПЕЧАТЬ В ФАЙЛЕ KRTRST.PRN"
865 PRINT " ДАННЫЕ ДЛЯ ПОВТОРНОГО РАСЧЕТА В ФАЙЛЕ KRTRST.DAT"
870 BBB$=INKEY$
880 IF LEN(BBB$)=0 THEN 870
910 END