
- •Конспект лекций разработан доцентом кафедры ист горшковым е.А.
- •Тема 1. Основы математического моделирования.
- •Классификация моделей.
- •Классификация математических моделей
- •Этапы построения математической модели
- •Оценка адекватности модели.
- •Пример математической модели
- •Вопросы для самопроверки
- •Internet-ресурсы
- •Тема 2. Аналитические модели систем массового обслуживания.
- •Классификация смо.
- •Рассмотрим характеристики входящего потока требований (заявок)
- •Одноканальная смо с отказами
- •6.5. Многоканальная смо с отказами
- •Вопросы для самопроверки
- •Internet-ресурсы
- •Тема 3. Линейное программирование.
- •Постановка задачи линейного программирования
- •Решение задач симплексным методом
- •Двойственные задачи
- •Экономическая интерпретация двойственных задач.
- •Свойства двойственных задач.
- •2.4. Решение задач с помощью симплексных таблиц
Свойства двойственных задач.
Рассмотрим формально две задачи I и II линейного программирования, представленные в табл. 6.1, абстрагируясь от содержательной интерпретации параметров, входящих в их экономико-математические модели. Обе задачи обладают следующими свойствами: 1. В одной задаче ищут максимум линейной функции, в другой - минимум. 2. Коэффициенты при переменных в линейной функции одной задачи являются свободными членами системы ограничений в другой. 3. Каждая из задач задана в стандартной форме, причем в задаче максимизации все неравенства вида "<=", а в задаче минимизации - все неравенства вида ">=". 4. Матрицы коэффициентов при переменных в системах ограничений обеих задач являются транспонированными друг к другу: для задачи I A =
для задачи II А' =
5. Число неравенств в системе ограничений одной задачи совпадает с числом переменных в другой задаче. 6. Условия неотрицательности переменных имеются в обеих задачах. Две задачи I и II линейного программирования, обладающие указанными свойствами, называются симметричными взаимно двойственными задачами. В дальнейшем для простоты будем называть их просто двойственными задачами. Исходя из определения, можно предложить следующий алгоритм составления двойственной задачи. 1. Привести все неравенства системы ограничений исходной задачи к одному смыслу: если в исходной задаче ищут максимум линейной функции, то все неравенства системы ограничений привести к виду "<=", а если минимум - к виду ">=". Для этого неравенства, в которых данное требование не выполняется, умножить на -1. 2. Составить расширенную матрицу системы А1 в которую включить матрицу коэффициентов при переменных А, столбец свободных членов системы ограничений и строку коэффициентов при переменных в линейной функции. 3. Найти матрицу А'1, транспонированную к матрице А1. 4. Сформулировать двойственную задачу на основании полученной матрицы A'1 и условия неотрицательности переменных.
Соответствие переменных |
|
Переменные исходной задачи |
|
Первоначальные |
Дополнительные |
|
|
Дополнительные |
Первоначальные |
Переменные двойственной задачи |
2.4. Решение задач с помощью симплексных таблиц
В этом разделе описано использование симплексных таблиц для решения задач. Использование симплексных таблиц весьма удобно для ручного расчёта задач. Для заполнения первой симплексной таблицы надо привести систему к каноническому виду. Затем если надо ищется первоначальное допустимое решение или задачу надо решать M-методом. Кроме того, систему представляют в расширенном виде.
-
(2.19)
Обратите внимание, что коэффициенты при переменных в функции меняют знак! Все введённые переменные имеют тот же знак, что и свободные члены иначе надо использовать M-метод (или заранее отыскать ПДБР). Далее эти данные заносятся в первую симплексную таблицу, общий вид которой представлен ниже.
Базис |
Свободный член |
Переменные |
Оценочное отношение |
|||||||
x1 |
... |
xj |
... |
xs |
... |
xn+m |
||||
x1 |
b1 |
a11 |
... |
a1j |
... |
a1s |
... |
a1n+m |
g1 |
|
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
|
xi |
bi |
ai1 |
... |
aij |
... |
ais |
... |
ain+m |
gi |
|
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
|
xq |
bq |
aq1 |
... |
aqj |
... |
aqs |
... |
aqn+m |
gq |
|
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
|
xm |
bm |
am1 |
... |
amj |
... |
ams |
... |
amn+m |
gm |
|
F |
c0 |
c1 |
... |
cj |
... |
cs |
... |
cn+m |
MAX/MIN |
(2.20)
Теперь, поясним, что есть что. Каждая строка - это уравнение в расширенной системе (смотрите формулу 2.19). В столбце "Базис" перечисляются все базисные (основные) переменные, их число равно числу уравнений в системе ограничений. Следующий столбец, "Свободные член" заполняется значениями свободных членов уравнения. В самую верхнюю строку (под надписью "переменные") выписываются все переменные. Самая нижняя строка, начиная с c1, заполняется значениями коэффициентов при переменных, которые написаны вверху таблицы, из уравнения функции (с обратным знаком, как в расширенной системе), если в уравнении функции такой переменной нет, то пишем ноль. Ячейки "a" заполняются так. Если вверху столбца написана основная переменная, то на пересечении этого столбца со строкой, в которой написана та же переменная ставим 1, во все остальные ячейки столбца пишем 0. Если же вверху столбца неосновная переменная, то в ячейки записываются её коэффициенты из соответствующего уравнения, если её нет в этом уравнении, то пишем 0. В ячейку c0, на первом шаге просто пишем ноль.
Далее надо провести проверку на оптимальность решения. Это делается легко, если задача на минимум то решение оптимально, если все c, кроме c0, имеют отрицательные знаки, если же задача на максимум, то когда положительные знаки.
Если решение не оптимально, ищем разрешающий столбец (индекс s), он определяется коэффициентом при переменной в уравнении функции, то есть нижней строкой начиная c1. Для задачи на минимум это любой столбец, где c максимальный, положительный элемент, а для задачи на максимум, минимальный, отрицательный элемент. Далее проводим расчёт оценочных отношений и заполняем соответствующий столбец. Расчет производится в соответствии со следующим правилом:
если bi и ais имеют разные знаки, то gi равно бесконечности
если bi равно нулю и ais меньше нуля, то gi равно бесконечности
если bi равно нулю и ais больше нуля, то gi равно нулю
если ais равно нулю, то gi равно бесконечности
иначе gi равно частному от деления bi на ais
После того, как столбец с g заполнен. Выбирается разрешающая строка (индекс q). Это строка, в которой самое минимальное оценочное отношение (но не ноль и не бесконечность). На пересечении разрешающих строки и столбца находится разрешающий элемент - aqs.
Теперь составляется новая таблица. В столбце "Базис" вместо старой переменной - xq пишем новую - xs. Опять на пересечении основных переменных ставим 1, а остальные клетки в столбцах основных переменных заполняем нулями (включая нижнюю строку). Далее, новую строку с номером q получаем путём деления старой строки на разрешающий элемент (aqs), при этом считаем только пустые клетки (те которые в столбцах неосновных переменных).
Остальные клетки считаем по следующим формулам:
новая aij ровна старой aij-ais*aqj/aqs
новая bi ровна старой bi-ais*bq/aqs
новая cj ровна старой cj-cs*aqj/aqs
Клетка c0 заполняется как старая c0-cs*gq.
Затем снова проверяем решение на оптимальность, если оно не оптимально ищем разрешающий элемент и так далее, пока не найдём оптимума.
Но возможны и другие ситуации - особые случаи симплексного метода. Например, задача не имеет решения, если все оценочные отношения gi равны нулям и бесконечностям. Кроме того, задача так же может зациклится. Эти случаи тоже следует учитывать.
1 Севостьянов, А.Г. Моделирование технологических процессов: учебник / А.Г. Севостьянов, П.А. Севостьянов. – М.: Легкая и пищевая промышленность, 1984. — 344 с.
2 Математическое моделирование систем связи : учебное пособие / К. К. Васильев, М. Н. Служивый. – Ульяновск : УлГТУ, 2008. – 170 с.
3 Хан, Г. Статистические модели в инженерных задачах / Г. Хан, С. Шапиро; пер. с англ. Е. Г. Коваленко, под ред. В. В. Налимова. – М. : Мир, 1969. – 396 с.
4 Вероятностные методы в инженерных задачах : справочник / А. Н. Лебедев, М. С. Куприянов, Д. Д. Недосекин, Е. А. Чернявский. – СПб. : Энергоатомиздат, 2000. – 333 с.
5 Гультяев, А. В. Визуальное моделирование в среде MATLAB : учебный курс / А. В. Гультяев. – СПб. : Питер, 2000. – 432 с.