- •1. Теория графов
- •1.1 Остовные деревья минимального веса.
- •Алгоритм Прим
- •Алгоритм Краскал
- •1.2 Нахождение кратчайших путей между двумя заданными вершинами. Алгоритм Дийкстры
- •Алгоритм Дийкстры
- •Модифицированный алгоритм Дийкстры
- •1.3 Нахождение кратчайших цепей между всеми парами узлов в сети
- •Алгоритм Флойда (Floyd r. W.)
- •Модификация алгоритма Флойда
- •1.4 Построение потоков максимальной мощности. Алгоритм Форда-Фалкерсона
- •Алгоритм Форда-Фалкерсона
- •1.5 Обобщенные задачи о потоке
- •1.5.1 Построение потока в сети с двойным ограничением потока по дугам
- •1.5.2 Построение потока в сети с пропускными способностями узлов
- •1.5.3 Построение потока в сети с несколькими источниками-стоками
- •1.5.4 Построение потока в сети с неориентированными ребрами
- •1.6 Определение потока заданной величины минимальной стоимости. Алгоритмы Басакера-Гоуэна, Клейна
- •Алгоритм Басакера-Гоуэна (Basaker r.G., Gowen p.J)
- •Алгоритм Клейна (Klein m.)
- •2 Сетевое планирование
- •2.1 Построение сетевых моделей
- •2.2 Расчет и анализ сетевых моделей
- •Задача №1
- •Задача №2
- •I. Поиск критических путей
- •II. Поиск резервов работ
- •Правило №2.1
- •3 Линейное программирование
- •3.1 Примеры задач лп
- •3.2 Свойства решений задач линейного программирования
- •3.3 Двумерные задачи линейного программирования. Графический метод решения. Исследование на разрешимость
- •3.3.1 Построение области допустимых решений целевой функции f.
- •3.3.2 Построение прямой уровня
- •3.3.3 Максимизация целевой функции f
- •3.4 Симплекс-метод.
- •3.4.1 Построение начального опорного плана.
- •3.4.2 Симплексные таблицы
- •3.4.3 Примеры решения задач симплекс-методом
- •4. Теория двойственности в линейном программировании
- •4.1 Понятие двойственности. Построение пары взаимно двойственных задач
- •4.2 Теоремы двойственности и их экономическое содержание
- •4.3 Анализ решения задач линейного программирования
- •5. Транспортная задача
- •5.1 Постановка транспортной задачи в матричной форме. Построение исходного опорного плана
- •5.2 Метод потенциалов
- •5.3 Дополнительные условия в транспортных задачах.
- •6. Дискретное программирование.
- •6.1 Метод Гомори для решения задачи целочисленного линейного программирования
- •7. Динамическое программирование
- •7.1 Многошаговые процессы в динамических задачах
- •7.2 Принцип оптимальности и рекуррентные соотношения
- •7.3 Вычислительная схема динамического программирования
- •7.4 Оптимальное распределение средств на расширение производства
- •8. Матричные игры
- •8.1 Парные матричные игры с нулевой суммой
- •8.2 Платежная матрица
- •Нижняя и верхняя цена игры
- •8.3 Смешанные стратегии
- •8.3 Решение матричной игры сведением к задаче линейного программирования
- •8.4 Решение матричной игры графическим методом
- •8.5 Приближенный метод решения матричных игр
- •Практические работы Практическая работа №1 Построение остовного дерева графа. Нахождение найкратчайшего расстояния между заданными вершинами графа
- •Практическая работа №2 Нахождение наикратчайших расстояний между всеми парами вершин графа. Алгоритм Флойда.
- •Практическая работа №3
- •Практическая работа №4 Нахождение потока заданной величины минимальной стоимости. Алгоритм Басакера-Гоуэна
- •Практическая работа №7 Оптимизация проекта по времени.
- •Практическая работа №8
- •Практическая работа №9 Оптимизация целевой функции с помощью двухфазного симплекс метода.
- •Практическая работа №10 Решение двойственных задач. Экономическая интерпретация задач линейного программирования.
- •Практическая работа №11 Решение транспортных задач.
- •Практическая работа №12 Дополнительные условия в транспортных задачах
- •Практическая работа №13 Метод Гомори для решения задачи целочисленного линейного программирования.
- •Практическая работа №14
- •Практическая работа №15 Решение матричных игр в чистых стратегиях
- •Практическая работа №16 Графический метод решения матричных игр.
- •Каркас минимального веса. Метод р. Прима.
- •Кратчайшие пути
- •Лабораторная работа №2 Кратчайшее расстояния от заданной вершины до всех остальных вершин графа.
- •Алгоритм Дийкстры.
- •Пути в бесконтурном графе.
- •Лабораторная работа №3 Кратчайшие пути между всеми парами вершин графа.
- •Алгоритм Флойда.
- •Лабораторная работа №4 Построение потока максимальной мощности.
- •Потоки в сетях.
- •Метод построения максимального потока в сети.
- •Лабораторная работа №5 Симплекс метод
- •Лабораторная работа №6 Транспортная задача
- •Список литературы
5.3 Дополнительные условия в транспортных задачах.
В практике обычно при составлении экономико-математической модели задачи транспортного типа приходится вводить целый ряд дополнительных ограничений, вследствие чего поиск оптимального решения усложняется.
Рассмотрим наиболее часто встречающиеся случаи.
Нередко целесообразно минимизировать суммарные затраты на производство и транспортировку продукции. С подобной задачей можно столкнуться при решении вопросов, связанных с оптимальным размещением производственных объектов. Здесь может оказаться экономически более выгодным доставлять сырье из отдаленного источника, но зато при меньшей его себестоимости. В таких задачах критерием оптимальности служит сумма затрат на производство единицы груза и на его перевозку.
Часто необходимо вводить ограничения, согласно которым, отдельные поставки от определенного поставщика определенному потребителю должны быть исключены (из- за отсутствия достаточного количества транспорта или необходимых условий хранения груза, чрезмерной перегрузки коммуникаций и т. п.). Значит, в матрице перевозок, содержащей оптимальный план, определенные клетки должны остаться свободными. Это достигается искусственным завышением показателей cij в клетках, перевозки через которые следует запретить, до значений, заведомо больших всех, с которыми их придется сравнивать в процессе решения задачи.
Иногда приходится учитывать ограничения по пропускной способности некоторых маршрутов. Если, например, по маршруту i-j можно провезти не более d единиц груза, то j-й столбец матрицы перевозок разбивается на два: j’ и j’’. В первом спрос принимается равным разности между действительным спросом bj и ограничением d, во втором — равным ограничению d. Тарифы cij в обоих столбцах одинаковы и равны данным, но в первом в клетке, соответствующей ограничению, вместо истинного тарифа cks ставится искусственно завышенный тариф М (клетка блокируется). Затем задача решается обычным способом.
Может случиться, что некоторые поставки по определенным маршрутам обязательны и должны войти в оптимальный план независимо от того, выгодно это или нет в условиях всей задачи. Тогда соответственно уменьшают запасы груза у поставщиков и спрос у потребителей и решают задачу относительно тех поставок, которые не обязательны.
Во многих задачах транспортного типа целевая функция максимизируется. Поэтому при составлении начального опорного плана в первую очередь стараются заполнять клетки, с наиболее высокими значениями показателя критерия оптимальности. Выбор клетки, подлежащей заполнению при переходе от одного опорного плана к другому, должен производиться не по отрицательной, а по положительной оценке. Оптимальным будет опорный план, которому в распределительной таблице сопутствуют свободные клетки с неположительными оценками (все sij 0).
Пример. На четырех ткацких станках с объемом рабочего времени 200, 300, 250 и 400 станко ч за 1ч можно изготовить соответственно 260, 200, 340 и 500м ткани трех артикулов I, II, III. Составить оптимальную программу загрузки станков, если прибыль (в ден. ед.) от реализации 1м ткани i-го артикула при ее изготовлении на j-м станке характеризуется элементами матрицы
а суммарная потребность в ткани каждого из артикулов равна 200, 100 и 150 тыс. м, учитывая, что ткань I артикула не может производиться на третьем станке.
Решение Требуется установить, какое количество ткани каждого артикула должно изготавливаться на каждом станке, чтобы общая прибыль от реализации готовой продукции была максимальной.
На первом станке можно изготовить 260 200 = 52 тыс. м ткани, на втором – 60, на третьем – 85, на четвертом – 200, а всего – 397 тыс. м. Поскольку суммарная потребность в ткани всех трех артикулов составляет 450 тыс. м, то на 53 тыс. м спрос удовлетворить не удастся.
Составить математическую модель задачи. Обозначим через xij количество ткани (в тыс. м) i-го артикула, изготовленной на j-м станке, а через f(x11,…,x34) – общую прибыль, тогда решение задачи сведется к максимизации функции
f = 2,5x11 + …+ 0,9x34 (7)
при ограничениях:
(8)
(9)
(10)
Коэффициенты функции (7) характеризуют прибыль (в тыс. ден. ед.) от реализации каждой тысячи метров ткани; неравенства (9) – о полном использовании производственных мощностей. Из соотношений (8) – (10) видно, что рассматриваемая задача относится к задачам транспортного типа и имеет открытую модель. «Поставками» в данном случае мы считаем объем выпуска ткани, а «тарифами» - прибыль от реализации каждой тысячи метров ткани каждого из артикулов.
Для преобразования модели (7) – (10) в закрытую следует ввести в рассмотрение фиктивный пятый станок, который позволит «выпустить» недостающие для удовлетворения спроса 53 тыс. м ткани. «Прибыль» от реализации ткани, «выпускаемой» фиктивным станком, естественно положить равной нулю. Преобразованная модель примет следующий вид:
где , , - «выпуск» ткани I, II, III артикула пятым станком.
В табл. 5.5 содержится начальный опорный план загрузки станков. При его составлении станки загружались в первую очередь изготовлением тканей наиболее прибыльных артикулов. За очередностью заполнения клеток таблицы можно проследить по индексам, которыми снабжены величины xij. По условию задачи на третьем станке ткань I артикула изготавливать нельзя. В связи с этим клетку (1;3) в табл.1 пришлось заблокировать, приписав ей показатель М, равный очень большому по абсолютной величине отрицательному числу («отрицательная» прибыль!). С практической точки зрения это можно истолковать таким образом, что загрузка клетки (1;3) причинила бы производству очень большой ущерб. Поскольку всегда М > u1+v3 , то при любом плане загрузки станков оценка клетки (1;3) ks = M – (u1+v3) будет отрицательна, а поэтому клетка останется незанятой, что и требуется.
Таблица 5.5
Артикул ткани |
Станок |
Потребность в ткани |
ui |
||||
№1 |
№2 |
№3 |
№4 |
№5 |
|||
I |
2,5 02 |
2,2 -1 |
-М - |
2,8 2001 |
0 -2,2 |
200 |
2.2 |
II |
1,6 523 |
1 -1,3 |
1,9 484 |
1,2 -0,7 |
0 -1,3 |
100 |
1.3 |
III |
0,8 0,5 |
1 606 |
0,6 375 |
0,9 0,3 |
0 537 |
150 |
0 |
Производственная мощность |
52 |
60 |
85 |
200 |
53 |
|
|
vj |
0.3 |
1 |
0.6 |
0.6 |
0 |
Для исследования плана на оптимальность вычисление потенциалов в табл.1 начато с u3 = 0. То, что свободные клетки (3;1) и (3;4) имеют положительные оценки, говорит о неоптимальности плана. Заполнение клетки (3;1) числом способствовало увеличению прибыли при новом плане (табл.5.6) на 0,5 37 = 18,5 тыс. ден. ед. Новый план оказался оптимальным, так как оценки всех свободных клеток отрицательные.
Таблица 5.6
2,5 0 |
2,2 -0.5 |
М - |
2,8 2001 |
0 -1.7 |
ui 1.7 |
1.6 15 |
1 -0.8 |
1.9 85 |
1.2 -0.7 |
0 -0.8 |
0.8 |
0.8 37 |
1 60 |
0.6 -0.5 |
0.9 -0.2 |
0 53 |
0 |
vj 0,8 1 |
1 |
1,1 |
1,1 |
0 |
|
Итак, все 200 тыс. м ткани I артикула следует изготавливать на четвертом станке, на что потребуется 200 : 0,5 = 400 станко-часов; ткань II артикула – на первом (15 тыс. м) и третьем (85 тыс. м) станках, для чего потребуется соответственно 15 : 0,26 = 57,69 и 85 : 0,34 = 250 станко-часов; ткань III артикула – на первом (37 тыс. м) и втором (60 тыс. м) станках, и на это потребуется соответственно 37 : 0,26 = 142,31 и 60 : 0,2 = 300 станко-часов. Общая прибыль составит 835,1 тыс. ден. ед. Неудовлетворенным останется спрос на 53 тыс. м ткани III артикула.