
- •Введение
- •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.
3.9. Задачи дискретной оптимизации
Примерами таких задач являются задачи целочисленного линейного программирования, в том числе задачи о ранце, о назначениях и о коммивояжере.
3.9.1. Целочисленная задача линейного программирования
Задача состоит в следующем:
необходимо найти оптимальные значения управляемых параметров { Ki }, дающие экстремум целевой функции
при ограничениях
,
;
;
Ki = 0,1,2,...,
–
эффект
от одной единицы Ki
; Ki
– значение i-го
оптимизируемого параметра; aij
и bj
– параметры ограничений; m – общее
число оптимизируемых параметров; n –
общее число ограничений.
Решение задачи без учета целочисленности с последующим округлением, отбрасыванием дробной части и т.п. не дает правильного ответа.
Например, для нижеприведенной задачи (рисунок 3.27), как следует из ее графического решения, нецелочисленное решение в точке А (K1 = 1.6, K2 = 2.6). При округлении K1=2, K2=3 нарушается заданное ограничение, при отбрасывании дробной части K1 = 1, K2 = 2 не гарантировано оптимальное решение. Если провести линию дополнительного ограничения, которое не отсекает ни одного целочисленного решения, то очевидно, что максимум Z достигается в точке K1 =3, K2=0.
Решение задачи производится по следующему алгоритму:
1) решается задача линейного программирования (ЗЛП) без учета целочисленности оптимизируемых параметров;
2) полученное решение проверяется на целочисленность. Если целочисленно, то решение получено (ВЫХОД), иначе на п. 3;
3) строится дополнительное ограничение, отсекающее часть области допускаемых нецелочисленных значений;
4) решается ЗЛП с дополнительным ограничением;
5) возврат к п.2.
Формирование дополнительных ограничений осуществляется по алгоритму Гомори, называемым правильным отсечением. Отсекающая плоскость должна быть линейной и исключать найденное оптимальное нецелочисленное решение и не отсекать ни одной из допускаемых целочисленных точек /17/.
К2
изолиния
целевой функции
4
3
2-е ограничение
дополнительное
А ограничение
2
1-е ограничение
1
1 2 3 4 К1
Рисунок 3.27 – Пример графического решения целочисленной задачи линейного программирования
3.9.2. Задача о назначениях
Задача состоит в том, что требуется найти такое множество назначений i-х исполнителей (претендентов) на j-е работы Kij ( ; ), при которых достигается максимум эффекта
и выполняются ограничения
,
;
,
;
.
Если число претендентов и работ равны между собой, то m = n.
Задача решается венгерским методом или как транспортная задача линейного программирования, но на максимум целевой функции.
3.9.3. Задача о ранце (рюкзаке)
Сущность задачи состоит в том, что в ранце можно разместить набор различных предметов общей массой В. Этот набор может включать n видов предметов, каждый предмет типа j имеет массу mj , . Ценность каждого предмета сj. Обозначим через Kj – число в наборе предметов j-го типа. Необходимо найти оптимальный набор предметов в ранце, чтобы эффект Z
,
при ограничениях
Kj = 0,1,2,... (целочисленно)
и
.
Задача является целочисленной линейного программирования и решается соответствующим способом.