
- •Н. В. Алексенко р. И. Воробьева
- •Оглавление
- •Введение
- •1. Основные методы решения задач линейного программирования
- •1.1. Введение в линейное программирование
- •1.1.1. Общая задача оптимизации
- •1.1.2. Задачи линейного программирования
- •1.1.3. Стандартная и каноническая задачи линейного программирования
- •1.2. Графический метод решения задачи линейного программирования
- •1.3. Симплекс-метод
- •1.3.1. Идея симплекс-метода
- •1.3.2. Алгоритм симплекс-метода
- •Алгоритм симплекс-метода
- •Алгоритм поиска первоначального опорного плана
- •1.4. Двойственность в линейном программировании
- •1.4.1. Постановка двойственной задачи
- •1.4.2. Теоремы двойственности
- •1.4.3. Двойственный симплекс-метод
- •1.4.4. Экономическая интерпретация задачи, двойственной задаче об использовании ресурсов
- •Исходная задача
- •Двойственная задача
- •1.5. Вопросы для самопроверки
- •2.1. Постановка задачи
- •2.2. Построение первоначального опорного плана транспортной задачи методом наименьших затрат
- •2.3. Проверка найденного опорного плана на оптимальность
- •2.4. Переход от одного опорного плана транспортной задачи к другому
- •2.5. Альтернативный оптимум
- •2.6. Открытая модель транспортной задачи
- •2.7. Приложение транспортной задачи к решению некоторых экономических задач
- •2.8. Вопросы для самопроверки
- •3. Целочисленное программирование
- •3.1. Общая постановка задачи
- •3.2. Метод отсечения Гомори
- •3.3. Графический метод решения задачи целочисленного программирования
- •3.4. Вопросы для самопроверки
- •4. Теория игр
- •4.1. Основные понятия
- •4.2. Решение игр 2 х 2 в смешанных стратегиях графическим способом
- •4.3. Решение игр 2 х n графическим способом
- •4.4. Решение игры n х 2 графическим способом
- •4.5. Сведение матричной игры m X n к задаче линейного программирования (решение любой матричной игры)
- •Функции дохода
- •6.2. Способы представления графов
- •6. 3. Некоторые задачи теории графов
- •6.3.1. Поиск кратчайшего пути в графе
- •Алгоритм поиска кратчайшего пути
- •6.3.2. Поиск кратчайшего гамильтонова цикла
- •6.4. Вопросы и задачи для самопроверки
- •7. Оптимизация сетевого графика
- •7. 1. Сетевая модель. Основные понятия
- •7.2. Основные требования к сетевому графику
- •7.3. Расчет временных параметров сетевого графика
- •7.3.1. Расчет параметров событий
- •Учитывая введенное в п.7.1 определение критического пути и введенные формулы (7.1–7.3), можно записать алгоритм нахождения критического пути.
- •7.3.2. Расчет параметров работ
- •7.3.3. Сетевое планирование в условиях неопределенности
- •7.4. Вопросы и задачи для самопроверки
- •8. Решение задач на компьютере
- •8.1. Решение задач с использованием системы Mathcad
- •8.2. Решение задач линейного программирования с помощью приложения Excel
- •Заключение
- •Библиографический список
- •Приложение
- •Алексенко Наталья Владимировна
- •Воробьева Раиса Ивановна
- •Математика
- •Основные задачи
- •Математического программирования
- •И реализация их на компьютере
- •644099, Омск, ул. Красногвардейская, 9
6.3.2. Поиск кратчайшего гамильтонова цикла
Задача.
Имеется n
пунктов, соединенных между собой дорогами
так, что из любого пункта можно проехать
в любой другой пункт. Известно время
переезда из пункта i
в пункт j.
Требуется найти путь минимальной длины,
начинающийся и заканчивающийся в
определенном пункте и проходящий через
все пункты. В теории графов эта задача
известна как «задача коммивояжера»
(торговец, выехавший из определенного
пункта с образцами товаров должен
побывать в каждом городе один раз и
вернуться назад).
Таблица 6.2
Матрица расстояний
-
J
i
V1
V2
V3
V4
V5
V1
0
30
40
15
6
V2
10
0
18
7
9
V3
20
30
0
1
10
V4
25
10
35
0
5
V5
9
8
7
6
0
Перейдем
на язык графов: вершины графа – пункты,
дуги – дороги, длина дуги
(
не обязательно равно
и
Очевидно, что искомый путь – это
гамильтонов цикл наименьшей длины (см.
определение).
Алгоритмы решения этой задачи изложены в различной литературе по теории графов [1], [17].
Пусть n = 5. Орграф на рис. 6.10 задан матрицей расстояний (табл. 6.2).
О
если
переезд совершается из
в
;
если
переезд не совершается из
в
.
,
то это означает, что дуги
нет. Составим математическую модель
задачи. Введем переменные
такие, что для них
При
этом
для всех
Тогда найти искомый гамильтонов цикл
означает найти матрицу
такую что целевая функция
имела
бы минимальное значение.
(1)
и выполнялась система ограничений
|
для всех i; (сумма элементов каждой строки равна 1); |
для всех j; (сумма элементов каждого столбца равна 1); |
|
целые для всех i, j; |
|
( |
Очевидно, что уравнения системы (2) обеспечивают выполнение условия, что из каждого пункта выезжают только один раз и только в одном направлении.
Решим задачу в приложении Excel с помощью надстройки Поиск решения (подробно решение подобной задачи рассматривается в п. 8). На рис. 6.11 представлен вид экрана при решении задачи.
Пояснения к решению задачи на компьютере:
1. В ячейку А2 вводится формула для расчета целевой функции; в А3:А12 – левые части соответствующих ограничений. Начальные значения всех элементов матрицы Х равны 0, т.е. в ячейки С2:G6 вводят 0.
2. В диалоге Добавление ограничений следует ввести дополнительные ограничения: все xij – целые, т. е. выделить диапазон C2:G6 и указать – целые.
3. На вопрос Изменяя ячейки указать (т. е. выделить) все ячейки матрицы Х, кроме диагональных, так как они должны остаться равными 0 (диагональные элементы на рисунке выделены серым фоном).
В
результате получена матрица
Этой матрице соответствует
т.
е. гамильтонов цикл минимальной длины
найден (рис.
6.12).
Отметим, что введенные понятия и примеры в п. 6 носят ознакомительный характер и являются вводными для следующего раздела. Для получения более детальной информации по теории графов следует обратиться к специальной литературе, например, [17].