x 1

advertisement
Основы исследования операций
Лекции для студентов по направлению
подготовки 38.03.06 (100700.62)
1
СОДЕРЖАНИЕ
1. Методология исследования операций………………………………………..3
2. Линейное программирование………………………………………………..11
3. Понятие о двойственных задачах и их экономическая интерпретация….11
4. Методика построения двойственных задач................................................. 14
5. Основные теоретические положения теории двойственности.................. 18
6. Практическое использование взаимосвязи оптимальных
решений задач двойственной пары .............................................................. 22
7. Решение задач двойственной пары симплекс-методом ............................. 28
8. Анализ моделей на чувствительность.......................................................... 32
9. Послеоптимизационный анализ задач линейного
программирования ......................................................................................... 42
10.Динамическое программирование…………………………………………..49
2
1. МЕТОДОЛОГИЯ ИССЛЕДОВАНИЯ ОПЕРАЦИЙ
Эффективность производственно-коммерческой деятельности в
значительной степени определяется качеством решений, повседневно
принимаемым менеджерами разного уровня. В связи с этим большое
значение приобретают задачи совершенствования процессов принятия
логистических решений, решить которые позволяет исследование операций.
Термин «исследование операций» впервые начал использоваться в 19391940 гг. в военной области. К этому времени военная техника и ее
управление принципиально усложнилось вследствие научно-технической
революции. И поэтому к началу Второй мировой войны возникла острая
необходимость проведения научных исследований в области эффективного
использования новой военной техники, количественной оценки и
оптимизации принимаемых командованием решений. В послевоенный
период успехи новой научной дисциплины были востребованы в мирных
областях: в промышленности, предпринимательской и коммерческой
деятельности, в государственных учреждениях, в учебных заведениях.
Исследование
операций – это методология
применения
математических количественных методов для обоснования решений задач во
всех областях целенаправленной человеческой деятельности. Методы и
модели исследования операций позволяют получить решения, наилучшим
образом отвечающие целям организации.
Основной
постулат исследования
операций
состоит
в
следующем: оптимальным решением(управлением) является такой набор
значений переменных, при котором достигается оптимальное(максимальное
или минимальное) значение критерия эффективности (целевой функции)
операции и соблюдаются заданные ограничения. Предметом исследования
операций в логистике являются задачи принятия оптимальных решений в
логистической системе с управлением на основе оценки эффективности ее
функционирования. Характерными понятиями исследования операций
являются: модель, изменяемые переменные, ограничения, целевая функция.
1.1. Классификация видов моделирования
Моделирование – процесс
исследования
реальной
системы,
включающий построение модели, изучение ее свойств и перенос полученных
сведений на моделируемую систему. Модель – это некоторый материальный
или абстрактный объект, находящийся в определенном объективном
соответствии с исследуемым объектом, несущий о нем определенную
информацию и способный его замещать на определенных этапах познания.
Классификация видов моделирования приведена в табл.1.
3
Таблица 1
Классификация видов моделирования систем
Признак
Виды моделей
Описание
классификации
Аспект
Функционально
Описывает
совокупность
моделирования е
функций,
функциональных
подсистем, их взаимосвязи
Информационн
Отражает состав и взаимосвязи
ое
между элементами системы
Описывает
динамику
функционирования
с
помощью
понятий:
состояние
системы,
Поведенческое
событие,
переход
из
одного
(событийное)
состояния
в
другое,
условия
перехода,
последовательность
событий
Соответств
Полное
Получают изоморфные модели,
ие оригиналу
находящиеся в строгом соответствии
с оригиналом и дающие о нем
исчерпывающую информацию
Получают
гомоморфные
модели
путем
сознательного
огрубления исследуемого процесса,
Приближенное
значительного сокращения числа
факторов, отбора среди них наиболее
существенных
Форма
Реальное
Используется
возможность
реализации
исследования характеристик либо на
реальном объекте, либо на его части
Применяется, когда модели не
реализуемы в заданном интервале
Мысленное
времени, либо отсутствуют условия
для их физического создания
Наличие
Конструктивное
Включение
в
модель
управляемых
управляемых
переменных,
что
переменных
позволяет находить эффективное
управляющее воздействие
Предварительное
Дескриптивные содержательное
описание
(описательные,
исследуемого объекта, которое не
концептуальные)
содержит управляемых переменных,
играет
вспомогательную
роль,
4
Изменение
во времени
Статическое
Динамическое
Степень
Детерминирова
определенности нное
Стохастическое
Способ
реализации
Наглядное
Математическо
е (символическое)
Имитационное
5
предшествует
построению
конструктивной модели (например,
математической). Модели имеют вид
схем,
отражающих
наши
представления
о
том,
какие
переменные наиболее существенны и
как они связаны между собой
Служит
для
описания
состояния объекта в фиксированный
момент времени
Служит
для
исследования
объекта во времени
Отображение процессов, в
которых
все
параметры
и
воздействия
предполагаются
не
случайными,
а
причинно
обусловленными
Учитываются вероятностные
процессы и события
Строятся
модели
геометрического
подобия
(изобразительные модели): чертежи,
схемы, диаграммы, карты, макеты
самолетов,
модели
солнечной
системы в планетариях, модели
атома и т.п.
Процесс
установления
соответствия реальному объекту
некоторого набора символов и
выражений,
например
математических.
Математические
модели наиболее удобны для
исследования и количественного
анализа, позволяют не только
получить решение для конкретного
случая, но и определить влияние
параметров системы на результат
решения
Воспроизведение (с помощью
ЭВМ) алгоритма функционирования
сложных объектов во времени,
поведения объекта. Имитируются
элементарные
явления,
составляющие
процесс,
с
сохранением
их
логической
структуры и последовательности
протекания. Это искусственный
эксперимент, при котором вместо
проведения натурных испытаний с
реальным
объектом
проводятся
опыты на математических моделях
Проведение исследования на
реальном исследуемом объекте
Исследования проводятся на
установках,
которые
сохраняют
физическую природу исследуемого
объекта, но отличаются от него
размерами, формой и другими
характеристиками
(аэродинамическая труба, в которой
отрабатываются
свойства
летательного аппарата)
Набор
одних
свойств
используется
для
отображения
свойств другой физической природы:
гидравлическая система как аналог
электрической или транспортной;
электрическая система как аналог
механической, транспортной систем
Натурное
Физическое
Аналоговое
1.2. Этапы построения математических моделей
Сущность построения математической модели состоит в том, что
реальная система упрощается, схематизируется и описывается с помощью
того или иного математического аппарата. Выделяют следующие основные
этапы построения моделей.
1. Содержательное описание моделируемого объекта. Словесно
описывается объект моделирования, цели его функционирования, среда, в
которой он функционирует, выявляются отдельные элементы, возможные
состояния, характеристики объекта и его элементов, определяются
взаимосвязи между элементами, состояниями, характеристиками. Такое
предварительное, приближенное представление объекта исследования
называется концептуальной моделью. Этот этап является основой для
последующего формального описания объекта.
2. Формализация операций. На основе содержательного описания
определяется и анализируется исходное множество характеристик объекта,
выделяются наиболее существенные из них. Затем выделяют управляемые и
неуправляемые параметры, вводят символьные обозначения. Определяется
система ограничений, строится целевая функция модели. Таким образом,
6
происходит замена содержательного описания формальным (символьным,
упорядоченным).
3. Проверка адекватности модели. Исходный вариант модели
необходимо
проверить
по
следующим
аспектам:
1)
все
ли
существенные
параметры
включены
в
модель?
2)
нет
ли
в
модели
несущественных
параметров?
3)
правильно
ли
отражены
связи
между
параметрами?
4) правильно ли определены ограничения на значения параметров?
Главным путем проверки адекватности модели исследуемому объекту
выступает практика. После предварительной проверки приступают к
реализации модели и проведению исследований. Полученные результаты
моделирования подвергаются анализу на соответствие известным свойствам
исследуемого объекта. По результатам проверки модели на адекватность
принимается решение о возможности ее практического использования или о
проведении корректировки.
4. Корректировка модели. На этом этапе уточняются имеющиеся
сведения об объекте и все параметры построенной модели. Вносятся
изменения в модель, и вновь выполняется оценка адекватности.
5. Оптимизация модели. Сущность оптимизации (улучшения) моделей
состоит в их упрощении при заданном уровне адекватности. В основе
оптимизации лежит возможность преобразования моделей из одной формы в
другую. Основными показателями, по которым возможна оптимизация
модели, являются время и затраты средств для проведения исследований и
принятия решений с помощью модели.
1.3. Обзор типовых задач исследования операций
Задачи распределения ресурсов
Распределительные задачи возникают в случае, когда имеющихся в
наличии ресурсов не хватает для выполнения каждой из намеченных работ
эффективным образом и необходимо наилучшим образом распределить
ресурсы по работам в соответствии с выбранным критерием оптимальности.
Методы
решения
задач
распределения
ресурсов
позволяют:
·
распределять ресурсы между работами таким образом, чтобы
максимизировать
прибыль
или
минимизировать
затраты;
· определять такой состав работ, который можно выполнить, используя
имеющиеся ресурсы, и при этом достичь максимума определенной меры
эффективности;
· определить, какие ресурсы необходимы для того, чтобы выполнить
заданные работы с наименьшими издержками.
Примером распределительной задачи является разработка плана
снабжения. Имеется ряд предприятий, потребляющих известные виды сырья,
и есть ряд сырьевых баз, которые могут поставлять это сырье. Базы связаны с
предприятиями какими-то путями снабжения со своими тарифами. Требуется
разработать такой план снабжения предприятий сырьем (с какой базы, в
7
каком количестве и какое сырье доставлять), чтобы потребности в сырье
были удовлетворены с минимальными расходами.
Задачи ремонта и замены оборудования
Любое оборудование со временем изнашивается и стареет, и поэтому
требует своевременного предупредительного или восстановительного
ремонта либо полной замены на новое оборудование.
Задачи ремонта и замены оборудования позволяют определить:
·
такие сроки восстановительного ремонта и моменты замены
оборудования, при которых минимизируются затраты на ремонт, замену за
все
время
его
эксплуатации;
· определить такие сроки профилактического контроля по обнаружению
неисправностей, при которых минимизируется сумма затрат на проведение
контроля и ожидаемых потерь от простоя оборудования вследствие выхода
из строя некоторых деталей оборудования.
Задачи управления запасами
Задачи управления запасами возникают, когда экономический объект
не может работать без производственных или товарных запасов, поскольку
их отсутствие приводит к простоям, штрафам, потери клиентов, катастрофам
и т.д.
Задачи управления запасами позволяют ответить на следующие
вопросы:
·
каковы оптимальные величины объема заказа на закупку или
производство товара, периода поставок заказов, величины запаса, моментов
подачи заказа товара, позволяющие минимизировать общие затраты на
покупку,
производство,
доставку,
хранение
товара;
·
что
выгоднее
производить
товар
или
закупать
его;
· выгодно ли пользоваться скидками на покупку товара и т.п.
Задачи сетевого планирования сложных проектов
Примеры сложных комплексных проектов: строительство и
реконструкция каких-либо крупных объектов; выполнение научноисследовательских и конструкторских работ; подготовка производства к
выпуску продукции; проведение маркетинговых и иных исследований.
Использование
сетевых
моделей
позволяет:
· построить сетевой график, который представляет взаимосвязи работ
проекта, что позволяет детально анализировать все работы и вносить
улучшения в структуру проекта еще до начала его реализации;
· построить календарный график, который определяет моменты начала и
окончания каждой работы, минимально возможное время выполнения
проекта, критические работы; позволяет оптимизировать параметры проекта:
выявить и устранить проблемы в обеспечении работ исполнителями, снизить
количество одновременно занятых исполнителей, сократить длительность
отдельных
работ
и
проекта
в
целом;
· оперативно контролировать и корректировать ход выполнения проекта.
Задачи выбора маршрута
8
Типичной задачей выбора маршрута является нахождение некоторого
маршрута проезда из одного города в другой, при наличии множества путей
через различные промежуточные пункты. Задача состоит в определении
наиболее экономичного маршрута по критерию времени, расстояния или
стоимости проезда. На существующие маршруты могут быть наложены
ограничения, например, запрет на возврат к уже пройденному пути,
требование обхода всех пунктов, причем в каждом из них можно побывать
только один раз (задача коммивояжера).
Задачи массового обслуживания
Задачи массового обслуживания посвящены изучению систем
обслуживания очередей требований. Причина очередей в том, что поток
требований клиентов случаен и неуправляем. Типичные примеры таких
ситуаций – очереди пассажиров к билетным кассам, очереди абонентов,
ожидающих вызова на междугородной АТС, очереди самолетов, ожидающих
взлета или посадки.
Задачи массового обслуживания позволяют определить, какое
количество приборов обслуживания необходимо, чтобы минимизировать
суммарные ожидаемые потери от несвоевременного обслуживания и
простоев обслуживающего оборудования.
Задачи упорядочения
Стандартная постановка задачи упорядочения (календарного
планирования):
имеется
множество
деталей
с
определенными
технологическими маршрутами, а также несколько станков, на которых
детали обрабатываются. Тогда упорядочение заключается в определении
такой очередности обработки каждой детали на каждом станке, при которой
минимизируется суммарная продолжительность всех работ, или общее
запаздывание обработки деталей, или потери от запаздывания и т.п.
1.4. Математический инструментарий исследования операций
Рассмотрим некоторые математические дисциплины, наиболее часто
используемые при решении задач исследования операций.
Математическое программирование ("планирование") – это раздел
математики, занимающийся разработкой методов отыскания экстремальных
значений функции, на аргументы которой наложены ограничения. Методы
математического программирования широко используются для решения
распределительных задач.
Линейное программирование (ЛП) – является наиболее простым и
лучше всего изученным разделом математического программирования. В нем
рассматриваются задачи, у которых показатель оптимальности представляет
собой линейную функцию от переменных задачи, а ограничительные
условия, налагаемые на возможные решения, имеют вид линейных равенств
или
неравенств.
Соответственно нелинейное
программирование рассматривает задачи с нелинейными целевыми
функциями и ограничениями.
9
Задачи, решаемые с помощью сетевого моделирования (теория графов),
могут быть сформулированы и решены методами линейного
программирования, но специальные сетевые алгоритмы позволяют решать их
более эффективно. Примеры: задачи нахождения кратчайшего пути,
критического пути, максимального потока, минимизации стоимости потока в
сети с ограниченной пропускной способностью и др.
Целевое программирование представляет собой методы решения задач
линейного программирования с несколькими целевыми функциями, которые
могут конфликтовать друг с другом.
Целочисленное линейное программирование используется для решения
задач, у которых все или некоторые переменные должны принимать
целочисленные значения.
Динамическое программирование предполагает разбиение задачи на
несколько этапов, каждый из которых представляет собой подзадачу
относительно одной переменной и решается отдельно от других подзадач.
Аппарат теории вероятностей используется во многих задачах
исследования операций, например, для прогнозирования (регрессионный и
корреляционный
анализ),
вероятностного
управления
запасами,
моделирования
систем
массового
обслуживания,
имитационного
моделирования и др.
Методы
моделирования
и
прогнозирования
временных
рядов позволяют выявить тенденции изменения фактических значений
параметра Y во времени и прогнозировать будущие значения Y.
Теория игр и принятия решений рассматривает процессы выбора
наилучшей из нескольких альтернатив в ситуациях определенности (данные
известны точно), в условиях риска (данные можно описать с помощью
вероятностных распределений), в условиях неопределенности (вероятностное
распределение либо неизвестно, либо не может быть определено).
Методы и модели теории нечетких множеств позволяют в
математической форме представить и использовать для принятия решений
субъективную словесную экспертную информацию: предпочтения, правила,
оценки значений количественных и качественных показателей.
10
2. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ
2.1. Понятие о двойственных задачах и их экономическая
интерпретация
Каждой задаче линейного программирования можно поставить в
соответствие некоторую другую задачу линейного программирования,
называемую двойственной. Двойственная задача формулируется с помощью
определенных правил непосредственно из условий исходной, или прямой
задачи.
Рассмотрим задачу линейного программирования (ЛП) с однотипными
условиями (исходная задача ЛП):
n
max  c j x j
(1.1)
j 1
n
 aij x j  bi ,
i  1, m
(1.2)
x j  0,
j  1, n
(1.3)
j 1
Дадим экономическую интерпретацию этой задачи.
Пусть имеется n технологических способов (технологий) производства
некоторого однородного продукта. Например, выплавка стали может быть
организована с помощью доменных печей, мартеновских печей или
конвертеров. Предположим, что предприятие может работать по любой из n
технологий в течение времени xj,
x j  0, j  1, n .
Обозначим через cj – количество продукта, получаемого по j-му
технологическому способу в единицу времени, тогда линейную форму (1.1)
можно интерпретировать как валовое количество продукта, произведенное за
планируемый отрезок времени.
Для производства продукта требуются различные производственные
факторы (сырье, оборудование, трудовые ресурсы, электроэнергия и т.д.),
объем которых на предприятии ограничен некоторым запасом bi , i  1, m , где
m – число различных производственных факторов.
Если через aijобозначить норму расходования в единицу времени i-ого
производственного фактора при использовании j-го технологического
способа производства продукта, тогда общее использование i-го
производственного фактора в сфере производства (левая часть неравенства
(1.2)) не должно превышать его запаса (величины bi).
11
Таким образом, задача (1.1)–(1.3) является линейной математической
моделью проблемы составления оптимального плана (x1,x2,...,xn)
использования различных технологических способов, который позволяет при
заданных запасах производственных факторов (b1,b2,...,bm) получить
максимальное количество выпускаемого однородного продукта.
Допустим
теперь,
что
необходимо,
оставаясь
в
рамках
рассматриваемого производства, оценить каждый из используемых факторов.
В качестве меры значимости единицы i-го производственного фактора
введем оценку yi 0, i  1, m . yi=0 означает, что i-ый фактор имеется в избытке
и не влияет на выпуск однородного продукта. Чем более значимым
(дефицитным) является i-ый фактор для данного производства, тем больше
будет численная величина его оценки. Следует иметь в виду, что оценки yi
являются относительными. Изменение условий производства (увеличение
или уменьшение запасов используемых факторов, норм расхода факторов,
появление новых технологических способов и пр.) приводит к
необходимости переоценки важности этих факторов для производства.
Кроме того одни и те же производственные факторы для разных предприятий
представляют различную ценность.
Будем измерять оценки yi в единицах стоимости выпускаемого
продукта. Тогда, приняв стоимость единицы однородного продукта за
единицу, получим, что i-ая оценка, являющаяся мерой важности i-го
производственного фактора, составляет yiединиц стоимости однородного
продукта.
Проанализируем j-ый технологический способ с точки зрения расходов
и доходов в единицу времени.
Доход от j-го производства (j-ой технологии) в единицу времени (в
стоимостном выражении) равен произведению стоимости единицы
однородного продукта на выпуск этого продукта за единицу времени.
1 c j  c j
(1.4)
Общий расход (в единицах стоимости выпускаемого продукта) при
использовании j-го способа производства ( j-ой технологии) в единицу
времени равен стоимости всех затраченных при этом производственных
факторов:
m
 aij yi
(1.5)
i 1
При правильно выбранных оценках факторов производства оценка
суммарных расходов (1.5) не может быть меньше оценки полученной
продукции (1.1), ибо в противном случае часть продукции была бы создана
из "ничего".
12

Следовательно, вектор оценок y  ( y1, y2 ,..., ym ) должен удовлетворять
условиям
m
 aij yi  c j , j  1, n
(1.6)
i 1
Чем меньше непроизводительные затраты по j-ой технологии, тем
меньше левая часть неравенства (1.6) отличается от параметра сj. При
"безотходной технологии", когда непроизводительные затраты полностью
отсутствуют, стоимость общих затрат по j-ой технологии равняется
стоимости произведенного по ней продукта:
m
 a ij y i
i 1
cj
(1.7)
В рассматриваемой экономической интерпретации задачи (1.1)–(1.3)
параметры aij являются неотрицательными числами, поэтому всегда можно
подобрать достаточно большие числа y1,y2,...ym, так, чтобы система
неравенств (1.6) удовлетворялась. Однако, необоснованное завышение
оценок меры важности производственных факторов может привести к тому,
что
они
не
будут
отражать
особенности
рассматриваемого
производственного процесса. В связи с этим возникает необходимость в
условии, не допускающем необоснованное завышение оценок факторов
производства. Потребуем, чтобы совокупность оценок {yi} соответствовала
минимальной суммарной оценке запасов по всем производственным
факторам
b1 y1  b2 y2  ...  bm ym  min
(1.8)
Таким образом, задача выбора оценок меры важности факторов
производства свелась к следующей задаче (1.9)–(1.11) линейного
программирования:
m
min  bi yi
(1.9)
i 1
m
 aij yi  c j ,
j  1, n
(1.10)
i 1
yi  0, i  1, m
(1.11)
Сформулированная задача называется двойственной задачей линейного
программирования (задачей сопряженной к исходной задаче линейного
программирования).
13
2.2. Методика построения двойственных задач
В зависимости от типа модели исходной задачи линейного
программирования двойственные задачи подразделяют на симметричные и
несимметричные. Если исходная задача имеет общую (смешанная система
ограничений, не на все переменные наложено условие неотрицательности)
или каноническую форму модели (все ограничения - равенства, все
переменные неотрицательны), то говорят о несимметричной паре
двойственных задач. Если исходная задача имеет симметричную форму
модели (все ограничения - неравенства, все переменные - неотрицательные),
то имеем симметричную пару двойственных задач.
Сформулируем правила построения двойственной задачи для случая
общей формы представления исходной задачи. Следует заметить, что эти
правила являются наиболее общими в том смысле, что применимы ко всем
другим формам представления исходной задачи.
Прямая задача ЛП в общей форме записывается следующим образом:
n

F ( x )   c j x j  max
(2.1)
j 1
n
 aij x j  bi ,
i  1, p
(2.2)
 aij x j  bi ,
i  p  1, m
(2.3)
j 1
x j  0, j  1, k
xjне ограничена в знаке, j  k  1, n
(2.4)
(2.5)
Перед построением двойственной задачи модель исходной должна
быть преобразована таким образом, чтобы выполнялись следующие условия:
1) все ограничения - неравенства исходной модели должны
быть одного типа (все типа  , или все типа );
2) если исходная модель имеет ограничения-неравенства типа
, то целевая функция этой задачи должна максимизироваться и
наоборот, если ограничения-неравенства типа , целевая функция
должна минимизироваться.
Несоблюдение названных условий может привести к нарушению
условий двойственности.
Двойственная задача получается путем симметричного структурного
преобразования условий прямой задачи в соответствии со следующими
правилами:
1) каждому ограничению прямой задачи соответствует
переменная двойственной задачи (причем ограничению-неравенству
14
соответствует неотрицательная переменная, а ограничениюравенству соответствует переменная, не ограниченная в знаке);
2) каждой
переменной
прямой
задачи
соответствует
ограничение двойственной задачи (причем, неотрицательной
переменной соответствует ограничение типа неравенства, а
переменной, не ограниченной в знаке – ограничение-равенство);
3) матрицы системы ограничений прямой и двойственной задач
являются транспонированными по отношению друг к другу;
4) свободные члены ограничений прямой задачи становятся
коэффициентами целевой функции двойственной задачи, а
коэффициенты целевой функции прямой задачи становятся
свободными членами ограничений двойственной задачи;
5) максимизации целевой функции в исходной задаче
соответствует минимизация целевой функции в двойственной задаче;
6) задача максимизации имеет ограничения-неравенства типа 
, задача минимизации - типа .
Таким образом, из указанных правил построения двойственной задачи
следует, что она имеет m переменных (y1, y2,...,ym) и n ограничений. Причем p
переменных (i  1, p ) являются неотрицательными, а остальные –
(i  p  1, m) не ограничены в знаке.
Двойственная задача имеет k ограничений типа неравенств ( j  1, k ) и
(nk) ограничений-равенств ( j  k  1, n) .
Сформулируем двойственную задачу:
m

T ( y )   bi yi  min
(2.6)
i 1
m
 aij yi  c j ,
j  1, k
(2.7)
j  k  1, n
(2.8)
i 1
m
 aij yi  c j ,
i 1
yi  0, i  1, p
(2.9)
yi не ограничена в знаке, i  p  1, m
(2.10)
Пример 1
min
(2 x1
3 x1


x1
2 x1
 3x 2
x2
x2
 3x3
 x3



x3
x4

 8
 6
x4

15
x5 )
x5  4
x1  0, x2  0, x3  0, x4  0, x5 – не ограничена в знаке.
Преобразуем модель исходной задачи:
1) Заменим второе ограничение исходной задачи (неравенство
типа ) неравенством типа .
2) Заменим минимизацию целевой функции максимизацией.
max
(2 x1
3x1
 x1
2 x1
x1
x2
x3
x4
Прямая задача
 x2
 x2
 3x 2
 3x3

x3
 x3
 x4

x5 )


8
 6
x5 
4
 x4
 0
 0
 0
 0
x5 не ограничена в знаке
Двойственная задача
min
(8 y1
 6 y2
 4 y3 )
y1  0
y2  0
y3 – не ограничена в знаке
3 y1 
y 2  2 y3   2
 y1
y1
 y2
 y3




 1
 3
3 y2
y2
1
1
16
Пример 2
max
(3 x1
2 x1


5 x1
Прямая задача
x2
x2


x3
x3


x4 )
x4  5

x2

3x3

2x4
x1

0
x2

0
x3

0
x4

0
 8
Двойственная задача
min (5 y1  8 y2 )
y1 не ограничена в знаке
y2 не ограничена в знаке
2 y1  5 y 2  3
y1 
y2  1
 y1  3 y 2   1
y1  2 y 2  1
Для построения двойственных задач полезно усвоить следующую схему
соответствия.
Таблица 1
Исходная задача (2.1)–(2.5)
число ограничений -m
число переменных - n
константы
в
правых
частях
ограничений
коэффициенты целевой функции
max F
j-ый столбец матрицы условий
i-ая строка матрицы условий
j-ая неотрицательная переменная
j-ая переменная, не имеющая
ограничения в знаке
i-ое ограничение неравенство типа

i-ое ограничение - равенство
Двойственная задача (2.6)–(2.10)
число переменных -m
число ограничений - n
коэффициенты целевой функции
константы
в
правых
частях
ограничений
min T
j-ая строка матрицы условий
i-ый столбец матрицы условий
j-ое ограничение неравенство типа 
j-ое ограничение-равенство
i-ая неотрицательная переменная
i-ая переменная, не ограниченная в
знаке
17
3. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ ТЕОРИИ
ДВОЙСТВЕННОСТИ
Рассмотрим пару взаимно-двойственных задач

F (x) 
n
m

T ( y )   bi yi  min
 c j x j  max (3.1)
j 1
n
 aij x j  bi ,
i 1
m
i  1, m
(3.4)
 aij yi  c j ,
(3.2)
j 1
j  1, n
(3.5)
i 1
x j  0, j  1, n
yi  0, i  1, m
(3.3)
(3.6)
Теория двойственности обнаруживает тесную связь между обеими
задачами. Совместный анализ двойственных задач оказывается полезным как
при нахождении численных решений задач, так и при различных
качественных
исследованиях.
Сформируем
некоторые
свойства
двойственных задач и дадим им экономическую интерпретацию в терминах
производства однородного продукта. Эти термины уже использовались в
разделе 1 для экономической интерпретации двойственных задач.
Лемма 1. Двойственная задача к двойственной задаче линейного
программирования (3.4)–(3.6) есть исходная задача ЛП (3.1)–(3.3).
Таким образом, прямая задача (3.1)–(3.3) является сопряженной к
двойственной задаче (3.4)–(3.6). В связи с этим задачи (3.1)–(3.3) и (3.4)–(3.6)
называют двойственной или взаимносопряженной парой.
Лемма 2. (основное неравенство теории двойственности)


Если x  ( x1, x2 ,..., xn ) и y  ( y1, y2 ,..., ym ) – произвольные планы (допустимые
решения) задач (3.1)–(3.3) и (3.4)–(3.6) соответственно, то
n
m
j 1
i 1
 c j x j   bi yi ,
(3.7)
то есть критерий задачи максимизации не превосходит критерия задачи
минимизации.
Экономический смысл неравенства (3.7) заключается в том, что для
допустимого плана производства (плана использования технологических

способов производства) x ( x1, x2 ,..., xn ) и любого допустимого вектора оценок

производственных факторов (ресурсов) y ( y1 , y2 ,..., ym ) общая стоимость всего
произведенного продукта не превосходит суммарной оценки всех запасов
ресурсов (в единицах стоимости однородного продукта).
18
Лемма
3.
Если
для




y   ( y1 , y2 ,..., ym )
задач
выполняется равенство:
некоторых
(3.1)–(3.3)
n
планов
и
m

 c j x j   bi y i
j 1





x   ( x1 , x2 ,..., xn )
(3.4)–(3.6)
и
соответственно
(3.8)
i 1
 
то векторы x  и y  являются оптимальными планами соответствующих задач
ЛП.
Лемма 3 устанавливает достаточность условия (3.8) для оптимальности
допустимых решений двойственных задач. Условие (3.8) является также и


необходимым условием оптимальности планов x  и y .
Таким образом, план производства и вектор оценок используемых
факторов являются оптимальными тогда и только тогда, когда стоимость
произведенного продукта совпадает с суммарной оценкой имеющихся
ресурсов.
Лемма 4. Если линейная форма одной из задач двойственной пары не
ограничена на множестве своих планов, то другая задача не имеет ни одного
плана.
Таким образом, если F 
n
cjxj  
, то область допустимых решений
j 1
задачи (3.4)–(3.6) пустая.
Теорема 1. (первая теорема двойственности)
Если одна из задач ЛП двойственной пары (3.1)–(3.3) и (3.4)–(3.6) имеет
оптимальное решение, то другая задача также разрешима. При этом для


оптимальных планов x  и y имеет место равенство
n

m
 c j x j   bi y i
j 1

(3.9)
i 1
Первая теорема двойственности имеет следующий экономический
смысл.

x
Оптимальный план производства
(план использования
технологических способов производства), обеспечивающий выпуск
максимального количества однородного продукта можно построить только
тогда, когда удается привести в соответствие всем производственным

факторам оценки y , такие, что суммарная оценка всех используемых
факторов имеет наименьшее значение. И наоборот, производственные
19

факторы допускают оптимальную оценку мер важности y  ( y1 , y2 ,..., ym )

лишь в условиях оптимального плана производства x  ( x1 , x2 ,..., xn ) . При
этом стоимость выпущенного продукта совпадает с суммарной оценкой
используемых факторов производства.
Таким образом, свойство оптимального плана состоит в совпадении с
точки зрения принятых оценок результата производства и его затрат. При
любом другом плане использования технологических способов (отличном от
оптимального) производство будет убыточным в силу того, что возможности
производства используются не полностью.
Теорема 2. Для разрешимости одной из задач двойственной пары (3.1)–
(3.3) и (3.4)–(3.6) необходимо и достаточно, чтобы множество планов каждой
из задач было не пусто.
При исследовании задач двойственной пары можно столкнуться с
одной из трех взаимно исключающих друг друга возможностей:
а) обе задачи имеют планы
б) планы имеются только у одной задачи
в) для каждой задачи двойственной пары множество планов пусто.
Из теоремы 2 вытекает, что условия случая а) эквивалентны
предположению о разрешимости обеих задач двойственной пары. Случай б)
равносилен требованию неограниченности линейной формы одной из задач
на множестве ее планов (лемма 4).
Теорема 3. (вторая теорема двойственности)


Для того, чтобы планы x  и y  задач ЛП двойственной пары (3.1)–(3.3) и
(3.4)–(3.6) были оптимальными, необходимо и достаточно, чтобы эти планы
удовлетворяли условиям дополняющей нежесткости

m

x j ( aij yi  c j )  0,

i 1
n

yi (  aij x j  bi )  0,
j  1, n
(3.10)
i  1, m
(3.11)
j 1
Условия (3.10) и (3.11) означают следующее:
если какое-либо неравенство системы ограничений одной из задач
обращается в строгое неравенство оптимальным решением этой задачи, то
соответствующая компонента оптимального решения двойственной задачи
должна равняться нулю; если же какая-либо компонента оптимального
решения одной из задач положительна, то соответствующее ограничение в
двойственной задаче ее оптимальным решением должно обращаться в точное
равенство. Иными словами,
20
m
 aij yi
а) еслиxj> 0 для некоторогоj, то

i 1
б) если
m
 aij yi

i 1
 c j , то xj=0
n
 aij x j
j 1
г) если
 aij x j
j 1

(3.12)
(3.13)
в) если yi> 0 для некоторогоi, то
n
 cj
 bi
 bi , то yi= 0
(3.14)
(3.15)
Соотношения (3.12)-(3.15) имеют следующий экономический смысл.

Оптимальный план x   ( x1 , x2 ,..., xn ) характеризует эффективность
отдельных технологических способов производства: б) если j-ая технология
является "нерентабельной" (затраты в единицу времени превышают
стоимость произведенного по этой технологии продукта), то она не
используется в оптимальном плане (xj = 0); а) если j-ый технологический
способ используется в оптимальном плане (xj> 0), то стоимость затраченных
по этой технологии производственных факторов будет равна стоимости
производственного продукта, т.е. j -ая технология будет "безотходной
технологией".




y   ( y1 , y2 ,..., ym )
Оптимальные
оценки
мер
важности
производственных факторов характеризуют "дефицитность" их запасов: в)
если мера важности i-ого фактора положительна (yi> 0), то весь его запас
полностью используется в оптимальном плане производства, т.е. этот фактор
является "дефицитным". г) Если i-ый фактор в процессе производства
используется не полностью, т.е. этот фактор является "недефицитным", то
мера его важности имеет нулевую оценку (yi= 0).
Теорема 4 (третья теорема двойственности, теорема об оценках).
Значения переменных yi в оптимальном решении двойственной задачи (3.4)–
(3.6) представляют собой оценки влияния свободных членов ограничений
системы (3.2) на оптимальное значение целевой функции (3.1) исходной
задачи, т.е.

F ( x )
yi 
bi

(3.16)
Предполагается, что задача (3.1)–(3.3) невырождена. Теорема об
оценках используется для анализа решения задачи ЛП на чувствительность к
изменению свободных членов ограничений. Если правые части ограничений
(3.2) подвергать некоторым изменениям, то значение целевой функции будет

также меняться. Если при изменении bi вектор оценок y остается
21
неизменным, справедливо соотношение F  bi yi. Вопрос об устойчивости
вектора оценок рассмотрен в работах [2, 4, 12].
Все сформулированные в данном параграфе теоретические положения
справедливы не только для задач в симметричной форме, но и для задач
линейного программирования произвольного вида.
4. ПРАКТИЧЕСКОЕ ИСПОЛЬЗОВАНИЕ ВЗАИМОСВЯЗИ
ОПТИМАЛЬНЫХ РЕШЕНИЙ ЗАДАЧ ДВОЙСТВЕННОЙ ПАРЫ
4.1. Определение оптимального решения одной из задач
двойственной пары по оптимальному решению другой задачи

Пример 1. По известному оптимальному решению x  = (11/5, 19/5, 0) задачи
ЛП (4.1)–(4.3) определить оптимальное решение двойственной задачи.
F
  2 x1
x1
 2 x1
 2 x1
 3 x2
 x3


x2
 x2
 3x2
x j  0,
 max
x3
 6
 2 x3
 3 x3
 4
 7
(4.1)
(4.2)
j  1,3
(4.3)
Построим к задаче (4.1)–(4.3) двойственную.
Так как целевая функция (4.1) максимизируется, все ограничениянеравенства задачи должны быть типа . Умножим первое ограничение на (1):  x1  x2  x3   6. Воспользуемся правилами построения
двойственных задач, приведенными в разделе 2.
T
  6 y1
 4 y2
 7 y3
 min
 y1
 2 y2
 2 y3
 2
 y1
 y1

y2
 2 y2
 3 y3
 3 y3


yi  0,
i  1,3
3
1
(4.4)
(4.5)
(4.6)
Задача (4.4)–(4.6) двойственная к задаче (4.1)–(4.3).
Для нахождения решения задачи (4.4)–(4.6) используем 2-ю теорему

двойственности. Подставим x  = (11/5, 19/5, 0) в ограничения (4.2) исходной
задачи:
22
 11 / 5

19 / 5
 6
 2  11 / 5  19 / 5 
 2  11 / 5  3  19 / 5 
4
7
Видим, что второе ограничение исходной задачи выполняется как
строгое неравенство. Тогда согласно условиям (3.15) второй теоремы
двойственности соответствующая этому ограничению переменная y2 равна
нулю.

Так как в оптимальном решении исходной задачи x  = (11/5,19/5,0)
первые две компоненты положительны, то в соответствии с условиями (3.12)
первые два ограничения двойственной задачи оптимальным решением
должны обращаться в равенства:
 y1 
 y1 
2 y2
y2
 2 y3
 3 y3
 2

3
Так как y2 = 0, то для определения оптимального решения двойственной
задачи y имеем следующую систему уравнений
 y1
 y1
 2 y3
 3 y3
 2

3
Решением этой системы являются y1 = 0, y3= 1. Тогда оптимальным

решением двойственной задачи является вектор y  = (0, 0, 1).
Проконтролировать правильность полученного результата можно по 1

теореме двойственности. Для этого нужно убедиться, что решения x  = (11/5,

19/5, 0) и y = (0, 0, 1) являются допустимыми решениями (планами) своих


задач, а значения критериев совпадают F ( x  )  T ( y  )  7 .
Таким образом, для того, чтобы по оптимальному решению одной из
двойственных задач найти решение другой задачи, необходимо выполнить
следующую последовательность действий:
1. Подставить в ограничения исходной задачи ее оптимальное
решение и выявить ограничения, которые выполняются как строгие
неравенства. Соответствующие этим ограничениям переменные
двойственной задачи будут равны нулю.
2. Записать в виде равенств те ограничения двойственной
задачи, которым соответствуют ненулевые компоненты вектора
решений исходной задачи.
3. Полученные ограничения-равенства вместе с линейными
уравнениями, содержащимися в условиях двойственной задачи

23

составляют систему линейных уравнений для нахождения
оптимального решения двойственной задачи.
Возможность нахождения оптимального решения одной из
двойственных задач по оптимальному решению другой задачи позволяет
заменить решение исходной задачи на решение двойственной, что иногда
значительно облегчает вычисления. Обычно для решения выбирают ту из
задач двойственной пары, которая имеет меньшее число строк. В частности,
двойственная задача для исходной с большим числом переменных и двумя
ограничениями может быть решена графически.
Пример 2. Решить задачу.
F
 6 x1
x1
2 x1
 2x2
 x2
 x2
 2 x 4  min
 x3
 x3
x j  0,
 x4
 2
 3
j  1,4
(4.7)
(4.8)
(4.9)
Построим двойственную задачу
T
  2 y1  3 y 2
 max
y1

2 y2
 6
y1
 y1


y2
y2
y2
 2
 0
 2
y1  0, y2 не ограничена в знаке
(4.10)
(4.11)
(4.12)
Задача (4.10)–(4.12) допускает графическое решение, представленное на
рис.1.
24
y2
(2)
3
2
(4)
1
(1)
0
1
–1
–2
2
3
4
y1
5
6
y   (1,1)
T  (2,3)
(3)
рис.1

Оптимальное решение находится в точке Y  =(1, 1).
Для определения оптимального решения исходной задачи (4.7)–(4.9)
используем 2-ю теорему двойственности:

1) Подставим Y  =(1, 1) в ограничения (4.11)
1 
1 
1 
2  6
1  2
1  0
1  2
Так как первое и четвертое ограничения обращаются в строгие
неравенства, переменные x1 и x4 в оптимальном решении задачи (4.7)–(4.9)
обращаются в нуль, x1 = 0, x4= 0.
2) Так как обе переменные в оптимальном решении двойственной
задачи ненулевые, то ограничения исходной задачи на оптимальном решении
обращаются в равенство:
x1
2 x1
 x2
 x2
 x3
 x3
25

x4
 2
 3
Решаем эту систему при условии, что x1= x4= 0.
Находим, что x2= 1/2, x3 = 5/2.

Тогда x  = (0, 1/2, 5/2, 0) - оптимальное решение исходной задачи.

F ( x  )  2 1 / 2  1
T ( y )  2  3  1
4.2. Двойственный признак оптимальности решения задачи
линейного программирования
При решении задач линейного программирования важно знать способы,
позволяющие проверять планы задачи на оптимальность, то есть уметь
ответить на вопрос, является ли данный план оптимальным или нет.
Мы уже знаем один признак оптимальности – это условие
неотрицательности (для задачи максимизации) оценок свободных
переменных в симплекс-таблице опорного решения. Этот признак
используется в симплекс-методе в процессе поиска оптимального решения.
Если же не требуется определить оптимальное решение, а только выяснить,
является уже данный план оптимальным, использование этого признака
неэффективно, так как требует больших вычислительных затрат на
построение симплекс-таблицы и расчет оценок. Кроме того, он позволяет
определить оптимальность только опорного плана (угловой точки множества
допустимых решений) и не может быть применен к произвольному
допустимому решению.
Определить оптимальность произвольного допустимого решения (плана)
позволяет следующее следствие второй теоремы двойственности:
Теорема 5 (Двойственный признак оптимальности).
Для того , чтобы допустимое решение задачи линейного программирования
(3.1)–(3.3) было оптимальным, необходимо и достаточно, чтобы среди
решений системы уравнений
m
 aij yi  c j , для xj0
i 1
yi =0, для
n
 aij x j
j 1
 bi
(4.13)
существовало хотя бы одно допустимое решение двойственной задачи (3.4)–
(3.6).
Признак справедлив не только для задач линейного программирования
в симметричной форме, но и для задач произвольного вида.
26
Пример 3.

Определить, является ли вектор x  (6, 0, 1, 0) оптимальным решением
следующей задачи
F  18 x1  2 x2  8 x3  10 x4  max
(4.14)
x1 
x 2  2 x3 
x4  8
(4.15)
2 x1 
x2

x4  12
x1  3 x2 
x3  2 x 4  9
x j  0, j  1,4
(4.16)

1. Подставляем
в
ограничения
задачи,
x  (6, 0, 1, 0)

убеждаемся, что x удовлетворяет ограничениям (4.15) и (4.16),

следовательно x – допустимое решение.
2. Строим двойственную задачу
T  8 y1  12 y 2  9 y3  min
(4.17)
y1  2 y 2 
y 3  18
y1 
y 2  3 y3  2
(4.18)
2 y1 
y3  8
y1

y2
 2 y3
 10
y i  0, i  1,3
(4.19)
1. По этим двум задачам составим систему уравнений вида

(4.13). Так как на решении x  (6, 0, 1, 0) компонентыx1 и
x3положительные, то первое и третье ограничение из (4.18)
выполняются как строгие равенства.
y1
2 y1
 2 y2


y3
y3
 18
 8
(4.20)

На решении x третье ограничение в (4.15) выполняется как строгое
неравенство (7<9), поэтому соответствующая переменная двойственной
задачи должна быть равна нулю:
y3 = 0
(4.21)

2. Решая систему уравнений (4.20), (4.21) получим y  (4, 7, 0) .

3. Проверяем, удовлетворяет ли это решение y ограничениям
двойственной задачи (4.18), (4.19). Первое и третье ограничение из
(4.18) выполняются по условию построения системы (4.20).

Подставляя y  (4, 7, 0) в остальные ограничения (4.18), убеждаемся,
27
что они выполняются. Поскольку y оказался допустимым решением
двойственной задачи, то по двойственному признаку оптимальности

x  (6, 0, 1, 0) является оптимальным решением исходной задачи.
5. РЕШЕНИЕ ЗАДАЧ ДВОЙСТВЕННОЙ ПАРЫ СИМПЛЕКСМЕТОДОМ
Симплексный метод, (или М-метод) примененный к одной из задач
двойственной пары, автоматически приводит к решению другой задачи. Это
означает, что оптимальное решение двойственной задачи может быть
получено непосредственно из симплекс-таблицы для оптимального решения
прямой задачи.
Для получения оптимального решения необходимо воспользоваться
следующим утверждением:
Утверждение 1.
Коэффициент j в строке оценок оптимальной симплекс таблицы,
соответствующий переменной xjпредставляет разность между левой и правой
частями ограничения двойственной задачи, ассоциированного с данной
переменной xj.
Для решения по симплексному методу исходная задача должна быть
записана в каноническом виде (все ограничения – равенства, все переменные
– неотрицательны), а система ограничений должна быть приведена к
единичному базису исходного опорного решения.
Рассмотрим задачу линейного программирования, для которой эти
условия выполняются:
n
 a ij x j
j 1
 x n  i  bi ,
i  1, m
x j  0, j  1, n
F
nm
cjxj
 max
(5.1)
(5.2)
(5.3)
j 1

Тогда x  (0, 0, ... 0, b1 , b2 , ..., bm ) – исходное опорное решение, а переменные
xn 1, xn  2 , ..., xn  m являются начальными базисными переменными.
Построим двойственную задачу:
m
 aij yi  c j ,
j  1, n
(5.4)
i 1
yi  cn  i ,
i  1, m
yi не ограничены в знаке i  1, m
28
(5.5)
(5.6)

T ( y)   bi yi  min
(5.7)
i 1
В этом случае начальные базисные переменные xn+i ( i  1, m ) ассоциируются
с ограничениями двойственной задачи yi  cn  i (i  1, m) .
xn  i  yi  cn  i , i  1, m
(5.8)
Тогда в соответствии с утверждением 1
 n  i  yi  cn  i
(5.9)
Из соотношения (5.9) получаем следующее соотношение для вычисления
оптимальных значений двойственных переменных:
yi   n  i  cn  i
(5.10)
Это соотношение сохраняет силу и в том случае, когда исходная задача
решается М-методом.
Если имеется симметричная двойственная пара, то начальными
базисными переменными являются балансовые переменные, не входящие в
целевую функцию, т.е. cn i  0 . Поэтому формула (5.10) преобразуется в
следующую:
yi   n  i
(5.11)
Таким образом, для симметричных двойственных задач оценки
балансовых переменных в оптимальной симплексной таблице прямой задачи
совпадают со значениями двойственных переменных в оптимальном
решении двойственной задачи.
Для иллюстрации сформулированного выше утверждения 1
рассмотрим следующую задачу линейного программирования:
 x1
2 x1
4 x1
 2 x2



x4

8
 11
 10
x3
x2
x j  0, j  1,4
F
 x1
 2 x2

x3
29
 3x4
(5.12)
(5.13)
 max
(5.14)
Приведем задачу (5.12)–(5.14) к каноническому виду
 x1  2 x 2
 x 4  x5
2 x1
 x3
4 x1 
x2
 x6

 11
 10
x j  0, j  1,6
F
 x1
8
(5.15)
(5.16)
 2 x2

 3x4
x3
 max
(5.17)
Исходное опорное решение рассматриваемой задачи неизвестно, поэтому ее
следует решать по М-методу.
Сформулируем М-задачу
 x1
2 x1
4 x1
 2x2



x4


x5
x3

x2
x6

 11
x 7  10
x j  0, j  1,7
F   x1  2 x2
8
(5.18)
(5.19)
 x3
 3 x4
 Mx 7
 max
(5.20)

Тогда x (0, 0, 11, 8, 0, 0, 10) – исходное опорное решение М-задачи, а x3, x4, x7 –
начальные базисные переменные.
Построим задачу, двойственную к (5.18)–(5.20)
 y1 
2 y1


1
2

1
y1

3
y1

0
y3

0
y3
 M
2 y2


4 y3
y3
y2

yi не ограничены в знаке, i  1,3
T ( y )  8 y1  11 y2
 10 y3  min
30
(5.21)
(5.22)
(5.23)
Тогда переменной x3 соответствует ограничение y 2  1 , переменной
x4  y1  3 , а переменной x7 ограничение y3   M .
Решим М-задачу по симплексному методу (таблица 2). В этом случае
соотношения (5.10) запишутся следующим образом:
y1
y2
  4
  3
 3
 1
(5.24)
y3   7  M ,
где 4, 37, оценки переменных x4, x3, x7 соответственно в оптимальной
симплексной таблице.
Таблица 2
С
СВ
3
1
М
3
1
1
1
2
Базис
x1
x2
x4
2
1
x3
2
0
x7
4
1
j
44M 8M
x4
x3
x1
j
2
1
1
x2
x3
x1
j
0
0
1
0
0
0
1
0
9/4
1/2
1/4
9
1
0
0
0
1
x3
0
1
0
0
3
x4
1
0
0
0
0
x5
1
0
0
3
0
x6
0
0
1
M
0
1
0
0
0
1
0
0
1
0
0
0
4/9
2/9
1/9
4
1
0
0
3
4/9
2/9
1/9
1
1/4
1/2
1/4
1
1/9
4/9
2/9
0
М
ВО
8
11
10
10M
13
1/4
21/2
6
1/2
1/4
5/2
1+M 23
1/9
14/3
4/9 25/3
2/9
4/3
M
19
x7
0
0
1
0
Оптимальное решение исходной задачи

x опт
 (4 / 3, 14 / 3, 25 / 3, 0), Fопт
 19
Тогда в соответствии с соотношениями (5.24)
y1

y2
y3
 0
 M
4

3
 1
 1
 M
 1
 0

Вектор y  (1, 1, 0) является оптимальным решением двойственной
задачи, T ( y)  19.
31
Анализ оптимальной симплексной таблицы показывает, что исходная
задача имеет множество оптимальных решений (6 = 0).

В этом случае решение двойственной задачи y (1, 1, 0)  вырожденное.
6. АНАЛИЗ МОДЕЛЕЙ НА ЧУВСТВИТЕЛЬНОСТЬ
Анализ моделей на чувствительность  это процесс, выполняемый
после того, как оптимальное решение задачи получено. В рамках такого
анализа выявляются возможные изменения полученного оптимального
решения в результате изменений исходной модели. Исследование моделей на
чувствительность является чрезвычайно важным при решении конкретных
экономических задач, так как позволяет получить динамические
характеристики моделей, что делает ее более адекватной реальным
процессам.
Основные положения, связанные с анализом моделей на
чувствительность изложены в [2–5, 12]. Рассмотрим послеоптимизационный
анализ модели на чувствительность на примере задачи определения
оптимального ассортимента выпуска продукции.
6.1. Содержательная постановка задачи
Один из цехов химического комбината изготовляет два вида красок: для
внутренних (П1) и наружных работ (П2). Продукция обоих видов поступает в
бытовую продажу. Для производства красок кроме специальной основы
используются три красителя к1, к2, к3. Максимально возможные суточные
запасы этих продуктов составляют 6, 8, 9 кг соответственно. Расходы
красителей на 1т соответствующих красок приведены в таблице 1.
Таблица 1
Красители
к1
к2
к3
Расход красителей в
кг на т краски
П1
П2
1
2
1
Суточный запас красителей
(кг)
2
1
3
6
8
9
Изучение спроса показало, что суточный спрос на краску П2 не превышает
2т. Определить оптимальный план выпуска продукции, если оптовая цена на
краску П1 3 тыс. руб. за 1 тонну, а на краску П2 2 тыс. руб.
32
6.2. Построение математической модели
Управляемые параметры. Так как нужно определить объемы
производства каждого вида краски, переменными в модели являются: x1 –
объем производства краски П1 за смену (в тоннах), x2– объем производства
краски П2за смену (в тоннах);
Целевая функция. Так как стоимость 1т краски каждого вида известна,
то общий доход от ее реализации составляет
f ( x1 , x 2 )  3x1  2 x 2 ( тыс.руб. ).
Ограничения. При определении плана выпуска продукции должны
быть учтены ограничения на расход красителей, а именно расход каждого
вида исходного продукта на производство обоих видов красок не должен
превышать его запасов. Получаем два ограничения:
x1
 2 x2
 6
2 x1
x1

x2
 3 x2
 8
 9
Кроме того должны быть соблюдены ограничения по спросу на краску:
x 2  2.
Неявное
(т.е.
подразумеваемое)
условие,
вытекающее
из
экономического смысла выбранных переменных, заключается в том, что
объемы производства продукции не могут принимать отрицательные
значения x1  0, x 2  0 .
Тогда математическую модель задачи можно сформулировать
следующим образом:

Определить план производства краски x  ( x1 , x 2 ) , обеспечивающий
максимальное значение функции:
f ( x1 , x 2 )  3x1  2 x 2
при ограничениях:
x1
 2 x2
 6
2 x1
x1

x2
 3 x2
 8
 9
x2  2
x1  0, x 2  0
33
(6.1)
(6.3)
Проведение анализа модели на чувствительность связано с использованием
теории двойственности.
Построим двойственную задачу:

Найти min T ( y )  6 y1  8 y 2  9 y 3  2 y 4
(6.4)
при ограничениях:
y1
 2 y2
2 y1 
y2

 3
y3
 3 y3

y4
(6.5)
 2
y i  0, i  1,4
(6.6)
6.3. Решение задачи
Найдем решение задачи (6.1)–(6.3) симплекс методом и дадим
геометрическую интерпретацию решению.
Итерации симплекс-метода приведены в следующих таблицах:

Cb
0
0
0
0

Cb
0
3
0
0

Cb
2
3
0
0
сj
Базис
3
x1
2
x2
0
x3
0
x4
0
x5
0
x6
Решение
x3
x4
x5
x6
F
1
2
1
0
–3
2
1
3
1
–2
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
6
8
9
2
0
x3
x1
x5
x6
F
0
1
0
0
0
3/2
1/2
5/2
1
–1/2
1
0
0
0
0
–1/2
1/2
–1/2
0
3/2
0
0
1
0
0
0
0
0
1
0
2
4
5
2
12
x2
x1
x5
x6
F
0
1
0
0
0
1
0
0
0
0
2/3
–1/3
–5/3
–2/3
1/3
–1/3
2/3
1/3
1/3
4/3
0
0
1
0
0
0
0
0
1
0
4/3
10/3
5/3
2/3
38/3
34

Таким образом оптимальное решение задачи x опт  (10 / 3,4 / 3), это
выпуск 10/3 т краски П1и 4/3 т краски П2. При этом получаем доход f = 38/3
млн. рублей.
Из оптимальной
симплексной таблицы получаем решение


двойственной задачи Yопт  (1 / 3, 4 / 3, 0, 0), T (Yопт )  38 / 3.
6.4. Анализ модели на чувствительность к изменению правых
частей ограничений (запасов ресурсов)
При выполнении этого анализа необходимо дать ответы на следующие
вопросы:
 каков статус ресурсов, т.е. какие из них "дефицитные" и
какие "недефицитные";
 какова значимость ресурсов, т.е. изменение объема какого из
ресурсов является наиболее выгодным с точки зрения обеспечения
наибольшего дохода от реализации продукции;
 в каких пределах допустимо изменение запаса ресурсов, при
которых их влияние на исходную модель задачи линейного
программирования адекватно описывается оптимальным решением
двойственной задачи (то есть решение двойственной задачи не
меняется);
 как отразится на оптимальном плане увеличение
(уменьшение) запасов ресурсов.
6.4.1. Определение статуса факторов производства (ресурсов)
Ресурсы относятся к "дефицитным", если оптимальный план
предусматривает их полное использование, при частичном использовании
ресурсов они считаются "недефицитными".
Статус ресурсов для любой модели линейного программирования
можно установить непосредственно из оптимальной симплексной таблицы
исходной задачи по значению дополнительных переменных. Положительное
значение дополнительной переменной указывает на неполное использование
соответствующего ресурса, т.е. на его "недефицитность", нулевое значение
дополнительной переменной указывает на "дефицитность" ресурса.
В нашем примере дополнительные переменные x3 и x4 равны 0,
следовательно, красители к1 и к2 являются "дефицитными", а краситель к3 –
"недефицитным" ( x 5  5 / 3  1.66 ). Значение дополнительной переменной x6
= 2/3 свидетельствует, что остался неудовлетворенный спрос на краску П1 в
0.66т.
Статус ресурсов можно также оценить по значению двойственных
переменных в оптимальном решении (на основе второй теоремы
двойственности). Оценки красителей к1и к2 ( y1  1 / 3, y 2  4 / 3 )
35
положительны, следовательно, запасы этих красителей
используются и они относятся к "дефицитным" ресурсам.
полностью
6.4.2. Определение значимости ресурсов (факторов
производства)
Значимость ресурса характеризуется величиной улучшения оптимального

значения целевой функции f (x ) , приходящейся на единицу прироста этого
ресурса. Как следует из теоремы об оценках, значимость ресурса всегда
можно определить по значению двойственных переменных в оптимальном


f ( x опт )
решении, ибо y1 
i  1, m. В нашем примере Yопт  (1 / 3, 4 / 3, 0, 0).
b1
Следовательно, из двух дефицитных факторов производства (красители к1 и
к2, краситель к2 имеет большую значимость с точки зрения получения
прибыли. Если объем красителя к1 увеличить на 1, то прибыль f(x1,x2)
возрастет на f=11/3=0.33, а при увеличении объемов красителя к2 на
единицу, прибыль увеличится на f = 1y2= 14/3 = 1.33.
6.4.3. Определение допустимого интервала изменения запасов
ресурсов
При анализе модели представляет интерес исследование следующих
вопросов:
1. Насколько можно увеличить запас некоторого дефицитного
ресурса для улучшения полученного оптимального решения так,
чтобы технология производства и статус ресурсов остались
неизменными.
2. Насколько можно снизить запас недефицитного ресурса при
сохранении полученного оптимального значения целевой функции.
Интервал изменения ресурса, внутри которого оптимальное решение

двойственной задачи (двойственные оценки y ) не меняется, называется
интервалом устойчивости двойственных оценок. При изменении ресурса
внутри этого интервала сохраняется мера влияния единицы каждого ресурса
на оптимальное значение критерия (сохраняется значимость ресурсов, или их
модельная цена).

Пусть найдено оптимальное решение xопт  ( x1 , x2 ,... xm , 0,... 0)
некоторой задачи линейного программирования. Обозначим через B матрицу
коэффициентов исходной системы ограничений задачи перед базисными
переменными этого решения. Тогда в оптимальной симплексной таблице
36
матрица, расположенная под начальными базисными переменными
(базисными переменными первой симплексной таблицы) будет обратной к B.
Очевидно, что


xопт  B 1  bисходн.
(6.7)
Легко показать, что изменение правых частей ограничений исходной
задачи будет оказывать влияние только на элементы столбца свободных
членов симплексной таблицы, матрицаВ при этом остается неизменной.

Следовательно, если выбираем новый вектор ресурсов b H , то
соответствующее ему оптимальное решение задачи



X опт  B 1b H  b 
(6.8)

где b  – столбец свободных членов в оптимальной симплексной таблице.
Чтобы новое базисное решение осталось допустимым необходимо, чтобы все

компоненты вектора b  были неотрицательны, т.е. bi  0, i  1, m. Из
вышесказанного следует следующее правило вычисления допустимого
интервала изменений правых частей ограничений:
1. Изменим свободный член в некотором ограничении, например,
полагаем biH  bi   i
2. Вычисляем новое базисное решение

X BH
 b1   b11 (  i ) 
 x1H 


  
 H
b
b
(

)
 2   2 i 
 x2 
 .   . 
 . 
1


    B *
 bi   i   . 
 . 
 .   . 
 . 


 
 H
 b   b ( ) 
 xm 
 m   m i 
(6.9)
Компоненты нового базисного решения зависят от i.
3. Решаем систему неравенств:
bk (  i )  0, k  1, m.
(6.10)
Решением системы неравенств (6.10) будет допустимый интервал изменения
свободного члена в i-ом ограничении.
Рассмотренный метод можно обобщить на случай варьирования
одновременно нескольких свободных членов ограничений. При этом
37
усложняются вычислительные процедуры, связанные с решением системы
неравенств (6.10).
Проиллюстрируем вышеизложенное на рассматриваемом примере.
Краситель к2, используемый для изготовления красок является
"дефицитным", причем имеет наибольшую значимость. Определим диапазон
допустимых изменений объема запасов этого ресурса.
Оптимальная симплексная таблица представлена ранее в табл.1.
Так как начальными базисными переменными являлись x3, x4, x5, x6, то в
оптимальной симплексной таблице в соответствующих столбцах
расположена матрица B-1
B 1
 2 / 3  1/ 3

  1/ 3 2 / 3

 5 / 3 1/ 3

  2 / 3 1/ 3
0 0
2


0 0
1
обратная
матрице
B

3
1 0


0 1
1
1 0 0

2 0 0
1 1 0

0 0 1 
Изменим запас ресурса к2 на 2, тогда его новый объем 8+2.
Найдем оптимальное решение, соответствующее измененным значениям
объема ресурса к2
 x2   2 / 3  1 / 3
  

 x   1/ 3 2 / 3
XB   1   
x
 5 / 3 1/ 3
 5  
 x6    2 / 3 1 / 3
0
0
1
0
0  6
  4 / 3  1 / 3 2 

 
 
0   8   2  10 / 3  2 / 3 2 

   5 / 3  1 / 3 
0  9
2

 
 
2
/
3

1
/
3

1  2
 
2 
Легко заметить, что новая правая часть (bi*) каждого ограничения
представляет сумму двух величин: постоянной и члена, линейно зависимого
от 2.
Постоянная часть совпадает с элементами столбца свободных членов в
оптимальной
симплексной
таблице
(соответствует
компонентам
оптимального решения до изменения объемов ресурсов). Коэффициенты при
2 совпадают с элементами столбца для x4 в оптимальной симплексной
таблице (x4 – дополнительная базисная переменная ограничения,
соответствующего ресурсу к2).

Для того, чтобы x H было допустимым, необходимо, чтобы выполнялись
условия:
38
2  4
 2  5
 2  5
 2  2
4 / 3  1 / 3 2  0
10 / 3  2 / 3 2  0
5 / 3  1 / 3 2  0
2 / 3  1 / 3 2  0
Отсюда следует, что  2   2  4, 6  b2  12.
Таким образом, первоначальный запас красителя к2 (8 кг) может быть
увеличен до 12 кг или уменьшен до 6 кг без нарушения допустимости
решения и статуса ресурсов.
6.4.4. Исследования зависимости оптимального
целевой функции от изменения запаса ресурсов
значения

f ( x опт )
По теореме об оценках y i 
. В диапазоне допустимых изменений
bi
свободных членов это условие можно записать следующим образом:
f  bi  y i .
Так как в этом диапазоне двойственные оценки остаются неизменными, то
изменение целевой функции будет линейно зависеть от изменений запасов
ресурсов.
В нашем примере f   2  y 2   2  4 / 3. В таблице 2 отражено изменение
дохода от реализации в зависимости от изменения объемов использования
красителя к2
Таблица 2
2 (кг)
b2(кг)
f(т. руб.)
f (т. руб.)
0
8
0
38/3
1
9
4/3
42/3
2
10
8/3
46/3
3
11
12/3
50/3
Уменьшение
объемов
использования "дефицитного"
нецелесообразно, так как приведет к уменьшению прибыли.
39
4
12
16/3
54/3
ресурса
к2
6.5. Геометрическая интерпретация анализа модели
Найдем решение задачи графическим методом (рис. 2).
x2
(2)
L
3
A
2
B

f  ( 3, 2 )
E

(4)
C
1
(3)
O
1
2
3
D (1)

4
5
F

6
x1
7
8
9
рис. 2
OABCD – область допустимых решений.

n (3,2) – вектор градиента целевой функции.
Оптимальное решение находится в точкеС (10/3, 4/3). ТочкаС является
пересечением первой и второй ограничивающих прямых. Эти прямые
называют связывающими или активными, они соответствуют "дефицитным"
ресурсам. Если менять объем использования "дефицитного" ресурса, то
соответствующая прямая будет передвигаться параллельно самой себе. При
этом возможны следующие случаи:
1) до некоторого изменения объема ресурса (свободного члена в
ограничении) прямая остается связывающей, тогда интересно определить
интервалы изменения запасов ресурса.
2) прямая перестает быть связывающей, что соответствует смене
базиса в оптимальном решении и статуса ресурсов.
Будем увеличивать объем использования красителя к2, тогда прямая CD
будет передвигаться вверх параллельно самой себе. Чтобы не изменились
статус и значимость ресурсов, это движение допустимо пока прямые CD и
BC остаются связывающими, то есть до точки F. Прохождение прямой CD
через точку F соответствует b2=12, то есть границе допустимых изменений
объемов второго ресурса.
В точке F(6,0) f F  3  6  18, то есть прибыль по сравнению с
найденным
оптимальным
решением
(точка
C)
увеличится
на f  f F  f 0  18  38 / 3  16 / 3.
40
Допустимому объему использования первого ресурса соответствует
движение связывающей прямой BC до точки E(3,2). В точке E все
ограничивающие прямые становятся связывающими, f E  3  3  2  2  13 ,
что соответствует увеличению прибыли на f  f E  f C  13  35 / 3  1 / 3.
Действительно, в точке E объем использования первого ресурса
увеличивается на b1  1, то есть f  1 1/ 3  1/ 3.
Рассмотрим вопрос об уменьшении запасов "недефицитных" ресурсов.
В нашем примере таким ресурсом является краситель к3 (прямаяLE).
Уменьшению объема использования ресурса к3 соответствует движение
прямой LE параллельно самой себе в сторону начала координат. При
уменьшении b3 на единицу эта прямая будет проходить через точку В. Это

не повлияет на оптимальное решение (по прежнему X опт  (10 / 3, 4 / 3) в точке
С). Границе допустимого интервала уменьшения запасов ресурса к3
соответствует сдвиг прямой до точкиС (до точки оптимального решения),
при этом ресурс к3приобретает статус "дефицитного". Уравнение
ограничивающей
прямой,
соответствующей
ресурсу
к3 ,
будет
x1  3x 2  22 / 3, то есть возможно уменьшение запасов ресурса к3на 5/3 без
изменения оптимального решения.
41
7. ПОСЛЕОПТИМИЗАЦИОННЫЙ АНАЛИЗ ЗАДАЧ ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ
Постоптимальный (послеоптимизационный анализ является важной
частью решения задач ЛП. Большая часть параметров в задаче ЛП, как
правило, точно неизвестна, и на практике обычно берут приближенные
значения, которым должны быть равны эти параметры. Таким образом,
может возникнуть задача определения диапазона изменения этих параметров,
в которых сохраняется оптимальное решение прямой или двойственной
задачи (не изменяется базис). Кроме того, послеоптимизационный анализ
позволяет эффективно находить оптимальные решения при изменении
параметров задачи или корректировке самой математической модели.
Послеоптимизационный анализ включает, как правило, решение
следующих задач:
а) изменение коэффициентов вектора ограничений bi;
б) изменение коэффициентов целевой функции;
в) изменение технологических коэффициентов;
д) добавление новой переменной;
г) добавление нового ограничения.
Первая из этих задач рассмотрена в предыдущем разделе.
7.1. Изменение коэффициентов целевой функции
Рассмотрим
влияние
на
оптимальное
решение
изменения
коэффициентов целевой функции при базисной переменной. Изменение cj на
величину c j ведет к изменению оценок всех свободных переменных в
соответствии со следующим выражением:
' j  j  aij c j .
Для того, чтобы решение оставалось оптимальным, должно выполняться
условие ' j  0, т.е.
j  aij c j  0,
где j – относительная оценка, соответствующая текущему оптимальному
решению.
В общем, эффект от изменения коэффициентов целевой функции
можно рассматривать с двух позиций:
42
– с точки зрения производства нас интересует диапазон изменения
коэффициентов целевой функции, в пределах которого текущий план
(представленный текущим базисом) остается оптимальным;
– с точки зрения сбыта нас интересуют равновесные цены.
В нашем примере будем изменять, в частности c2 , c2'  c2  c2 . Таким
образом, мы определяем, в каких пределах может меняться оптовая цена на

краску П2, чтобы найденный выше план x   (10 / 3,4 / 3) оставался
оптимальным. Для решения задачи берем последнюю симплекс-таблицу и
изменяем в ней коэффициент c2.

CB
2+c2
3
0
0
cj
БП
3
x1
2+c2
x2
0
x3
0
x4
0
x5
0
x6
x2
x1
x5
x6
F
0
1
0
0
0
1
0
0
0
0
2/3
–1/3
–5/3
–2/3
2/3c2+1/3
y1
–1/3
2/3
1/3
1/3
–1/3c2+4/3
y 2
0
0
1
0
0
y 3
0
0
0
1
0
y 4

b
4/3
10/3
5/3
2/3
38/3+4/3c2
Тогда условие оптимальности запишется следующим образом:
c2  1 / 2
2 / 3c2  1 / 3  0
c2  4
 1 / 3c2  4 / 3  0
Интервал устойчивости решения
c2   1 / 2, 4,
c2  3 / 2, 6.
Итак, если оптовая цена на краску П2 будет меняться от 3/2 до 6
млн.рублей за 1 т, полученное выше решение x   (10 / 3, 4 / 3) все равно
будет оптимальным.
Рассмотрим влияние изменения коэффициента целевой функции при
небазисной (свободной) переменной. Пусть коэффициент целевой функции
изменился на величину ; c 'j  c j   . Тогда относительная оценка изменится
в соответствии с формулой
' j   j  
Условие оптимальности плана будет иметь вид:
43
j    0,
  j
Диапазон устойчивости, в котором cj может меняться так, чтобы текущее
решение оставалось оптимальным, задается выражением:
     j
Отметим, что при любом отрицательном  относительная оценка этой
переменной останется положительной.
7.2. Изменение технологических коэффициентов
Элементы технологической матрицы aij, как правило, известны с
большей достоверностью, чем компоненты вектора целевой функции или
вектора ограничений, поскольку они обычно задают технологические связи и
не подвержены так сильно рыночным колебаниям, как цены или ресурсы.
Изменение значений коэффициентов, соответствующих базисным
переменным, приводит к изменению базисной матрицыВ, поэтому
проанализировать это довольно сложно. Для этого нужно решать задачу
заново.
Обычно рассматривают изменения коэффициентов матрицы,
отвечающих только небазисным (свободным) переменным. Изменение
технологического коэффициента aij при свободной переменной xj влечет
изменение оценки только этой свободной переменной на величину
' j  j  aij  yi .
Условие оптимальности плана, как и ранее, будет иметь следующий вид:
j  aij  y i  0
Из этого соотношения в каждом конкретном случае определяется
условие
устойчивости решения к
изменению технологического
коэффициента.
В рассмотренном нами примере обе переменные x1 и x2 являются
базисными.
7.3. Введение новой переменной
Оценим целесообразность включения в план изготовления третьего
вида краски П3. Для ее изготовления также используются три красителя к1,
44
к2,к3 с затратами 3, 2, 1 кг/т соответственно. Оптовая цена на краску П3
составляет 4 млн.рублей за 1т.
Введем новую переменную x 3' – количество краски П3, выпускаемой
химическим комбинатом. Тогда математическая модель задачи запишется в
виде:
x1
 2x2
 3x3
 6
2 x1
x1

x2
 3x 2
x2
 2 x3

x3
 8
 9
 2
x j  0,
F
 3x1
 2x2
 4 x3
 max.
Введение новой переменной в прямой задаче означает, что в двойственной
задаче появляется новое ограничение.
3 y1
 2 y2

y3
 4
Проверим,
является
ли
решение
двойственной

y  (1 / 3, 4 / 3, 0, 0) , которое мы ранее получили, допустимым.
задачи
3  1 / 3  2  4 / 3  11 / 3  4 ,
x
значит полученное ранее решение
не
оптимально.
Найдем новое оптимальное решение используя последнюю симплекстаблицу прямой задачи. Столбец X 3' определяется следующим образом:


A3'  B 1  A3 .
Матрицу B-1 берем из последней симплекс-таблицы:
B 1
 2 / 3  1/ 3

2/3
  1/ 3

 5 / 3 1/ 3

  2 / 3 1/ 3
 2 / 3  1/ 3

 '   1/ 3
2/3
A3  
 5 / 3 1/ 3

  2 / 3 1/ 3
0
0
1
0
0

0
0

1 
0 0  3   4 / 3 
  

0 0  2   1 / 3 

1 0  1    10 / 3 
  

0 1  0    4 / 3 
45
Теперь записываем симплекс-таблицу:
cj
3
2
0

БП
x1
x2
x3
CB
2
x2
0
1
2/3
3
x1
1
0
–1/3
0
x5
0
0
–5/3
0
x6
0
0
–2/3

F
0
0
1/3
CB
4
x3'
0
3/4
1/2
3
x1
1
–1/4
–1/2
0
x5
0
7/2
2/3
0
x6
0
1
0
F
0
1/4
1/2
0
x4
0
x5
0
x6
4
x3'
–1/3
2/3
1/3
1/3
4/3
0
0
1
0
0
0
0
0
1
0
4/3
1/3
–10/3
–4/3
–1/3

b
4/3
10/3
5/3
2/3
38/3
–1/4
3/4
5/6
0
5/4
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
1
3
5
2
13
Оптимальное решение будет:

xопт  (3, 0, 1, 0, 5, 2),
2
в принципе и доход будет чуть больше (раньше был равен 12 ).
3
7.4. Добавление нового ограничения
В рассмотренной задаче введем дополнительное ограничение:
суммарное количество краски П1 и П2, выпускаемое цехом за сутки, должно
быть не меньше 5т. Это ограничение запишется следующим образом:
x1  x2  5
Проверим, удовлетворяется ли это ограничение на прежнем
оптимальном плане: 10 / 3  4 / 3  5
Это ограничение не удовлетворяется, т.е. прежнее решение не является
оптимальным для новой задачи.
Введением дополнительной переменной x7 приведем это ограничениенеравенство к уравнению
x1  x 2  x 7  5
и присоединим к основной задаче, сменив в последнем равенстве знаки.
46
 2 x2

x2
 3x 2
x2

x2
x1
2 x1
x1
 x1





x3
x4
x5
x6
x7
 6
 8
 9
 2
 5
Решим полученную задачу двойственным симплекс-методом. Однако в
новой дополнительной строке (ограничений) нужно исключить базисные
переменные (оставить только свободные).
x 2  2 / 3x 3  1 / 3x 4  4 / 3
 x 2  2 / 3x 3  1 / 3x 4  4 / 3
x1  1 / 3x3  2 / 3x4  10 / 3
 x1  1 / 3x3  2 / 3x4  10 / 3
 1 / 3x3  2 / 3x4  10 / 3  2 / 3x3  1 / 3x4  4 / 3  x7  5
1 / 3x3  1 / 3x4  x7  1 / 3
В результате, используя последнюю симплекс-таблицу, получим следующее:
Cb
2
3
0
0
0
cj
3
2
0
0
0
0
0
БП
x2
x1
x5
x6
x7
F
x1
0
1
0
0
0
0
x2
1
0
0
0
0
0
x3
2/3
–1/3
–5/3
–2/3
1/3
1/3
x4
–1/3
2/3
1/3
1/3
1/3
4/3
x5
0
0
1
0
0
0
x6
0
0
0
1
0
0
x7
0
0
0
0
1
0

b
4/3
10/3
5/3
2/3
–1/3
38/3
В последней строке таблицы  нет отрицательных оценок,
следовательно, если бы в столбце вектора b не было отрицательных чисел,
то в таблице был бы записан оптимальный план. Поскольку в указанной
таблице есть такое число (в последней строке), необходимо перейти к новой
симплекс-таблице. Однако в строке x7нет отрицательных чисел,
следовательно поставленная задача не имеет решения.
47
Рассмотрим другое дополнительное ограничение к модели исходной
задачи (6.1–6.3). Пусть объем производства краски П1 должен быть не менее
3.5т. В математической модели появится новое ограничение
x1  3.5
1 1

Прежнее оптимальное решение x  (3 , 1 )
3 3
ограничению. Преобразуем его к виду равенства
не удовлетворяет этому
x1  x7  3.5, x7  0.
Заменим базисную переменную x1через свободные из прежней оптимальной
симплекс-таблицы x1  10 / 3  1 / 3x 3  2 / 3x 4 , получим
1
2
1
x3  x 4  x7 
3
3
6
Сменив знаки левой и правой частей, добавляем уравнение к прежней
оптимальной симплекс-таблице.
3
2
0
0
0
0
0
cj


БП
x1
x2
x3
x4
x5
x6
x7
Cb
b
2
x2
0
1
2/3
–1/3
0
0
0
4/3
3
x1
1
0
–1/3
2/3
0
0
0
10/3
0
x5
0
0
–5/3
1/3
1
0
0
5/3
0
x6
0
0
–2/3
1/3
0
1
0
2/3
0
x7
0
0
–1/3
2/3
0
0
1
–1/6
F
0
0
1/3
4/3
0
0
0
38/3
Получили псевдооптимальный план. Решаем задачу далее двойственным
симплекс-методом, выводя из базисных переменную x7 и вводя x3.
Cb
cj
3
2
0
0
0
0
0
БП
x2
x1
x5
x6
x3
F
x1
0
1
0
0
0
0
x2
1
0
0
0
0
0
x3
0
0
0
0
1
0
x4
1
0
–3
–1
–2
2
x5
0
0
1
0
0
0
x6
0
0
0
1
0
0
x7
2
–1
–5
–2
–3
1

b
1
7/2
5/2
1
1/2
25/2

На следующей итерации получили оптимальное решение xопт  (3.5, 1) с
доходом F=12.5 тыс. руб.
48
В заключение отметим, что процедура добавления к исходной задаче
дополнительных ограничений эффективно используется в случае алгоритмов
отсечений в целочисленном программировании (метод Гомори).
8. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Научно-технический прогресс создает предпосылки для повышения
качества управления за счет использования вычислительной техники,
математических методов, теории управления, автоматизации управления. Все
это нашло конкретную реализацию в автоматизированных системах
управления.
Управление заключается в сборе информации, ее переработке и выводе
управляющей информации для изменения хода процесса.
Основным путем повышения качества управления является
автоматизация управления производством, при которой данные задачи
решаются средствами вычислительной техники.
Одной из задач управления предприятием является задача определения
оптимального плана производства изделий, обеспечивающего заданный
спрос продукции при минимизации затрат на производство и хранение
продукции. Это задача оптимального управления запасами. Теория
управления запасами позволяет определять уровни запасов материалов,
полуфабрикатов, производственных мощностей и других ресурсов в
зависимости от спроса на них.
Проблема управления запасами является одной из наиболее важных в
организационном правлении. Но, как правило, не существует типовых
решений – условия на каждом предприятии или фирме уникальны и
включают множество ограничений и различных особенностей. С этим
связаны и проблемы, возникающие при разработке математической модели и
определении оптимальной стратегии управления запасами.
В данной работе сделана попытка реализовать
решение задачи
управления запасами методом динамического программирования.
8.1 Качественное описание
Предприятие разрабатывает календарный план выпуска изделий на
плановый период, состоящий из нескольких этапов. Текущая деятельность
предприятия характеризуется следующими параметрами:
1) длительность одного этапа планового периода;
2) выпуск продукции в течение этапа;
3) спрос на продукцию в конце этапа;
4) уровень запасов изделий на конец этапа;
5) максимально возможный выпуск изделий на одном этапе;
49
6) максимально возможный уровень запасов на одном этапе;
Известны затраты на каждом этапе планового периода, связанные с
выпуском изделий и хранением запасов изделий. Так же известны затраты
на формирование начального запаса.
Необходимо определить план производства изделий, чтобы
обоеспечить заданный спрос продукции при минимальных затратах.
8.2 Математическая постановка задачи
Введем следующие обозначения:
N – число календарных этапов из которых состоит плановый период;
При этом каждый n-й этап (n=1,N) характеризуется параметрами:
in-1 – запас, оставшийся после окончания n-1-го этапа;
хn – объем производства предприятия на n-м этапе;
dn – величина спроса на продукцию предприятия на n-м этапе;
xmax – максимальный объем производства на одном этапе;
imax – максимальный объем запасов на одном этапе;
Сn(xn,in-1) – затраты на n-м этапе функционирования, связанные с
выпуском хn деталей и хранением in-1 запасов деталей.
Тогда критерий оптимизации имеет вид:
N
F=∑ Сn(xn,in-1)  min
(8.1)
n=1
при ограничениях:
1) ограничение на удовлетворение спроса на каждом этапе:
dn in-1 + xn , n=1,N ;
(8.2)
2) установление объема запаса в конце n-го периода:
in = in-1 + xn – dn , n=1,N , xn = 0,xmax , in = 0,imax ;
(8.3)
2 Алгоритмизация решения задачи управления запасами
2.1 Выбор метода решения
В изложенной задаче необходимо учитывать изменение моделируемого
процесса во времени и влияние времени на критерий оптимальности. Для
решения таких задач используется метод динамического планирования
(динамическое программирование).
2.2 Описание метода динамического программирования
Динамическое
программирование—это
метод
оптимизации
многошаговых или многоэтапных процессов, критерий эффективности
которых обладает свойством аддитивности (т.е. общий доход процесса равен
сумме локальных доходов на отдельных этапах). В задачах динамического
50
программирования критерий эффективности называется доходом. Данные
процессы управляемые, и от правильного выбора управления зависит
величина дохода.
Показатель эффективности задачи в целом обозначим через W, а
показатели эффективности на отдельных шагах—через φi, i=1..m. Если W
обладает свойством аддитивности, т.е.
W=∑ φi8.4)
Переменная Xi, от которой зависят выигрыши на i-м шаге и,
следовательно, выигрыш в целом, называется шаговым управлением, i=1..m.
Управлением процесса в целом (x) называется последовательность
шаговых управлений (вектор управлений) x=(x1, x2,…, xi,…, xm).
Оптимальное управление x—это значение управления x, при котором
значение W(x*) является максимальным (или минимальным, если требуется
уменьшить проигрыш).
W*=W(x*)=max{W(x)}, x € X,
(8.5)
где X—область допустимых управлений.
Оптимальное управление x* определяется последовательностью
оптимальных шаговых управлений x*=(x2*, x2*,…, xi*,…, xm*).
В основе метода динамического программирования лежит принцип
оптимальности Беллмана, формулирующийся следующим образом:
управление на каждом шаге надо выбрать так, чтобы оптимальной была
сумма выигрышей на всех оставшихся до конца процесса шагах, включая
выигрыш на данном шаге. Объясняется это правило так: при решении задачи
динамического программирования на каждом шаге выбирается управление,
которое должно привести к оптимальному выигрышу. Если считать все шаги
независимыми друг от друга, то оптимальным шаговым управлением будет
то управление, которое приносит максимальный выигрыш именно на данном
шаге. Но например, при покупке новой техники в замен устаревшей на ее
приобретение затрачиваются определенные средства. Поэтому прибыль от ее
эксплуатации вначале может быть небольшой. Однако в следующие годы
новая техника будет приносить большую прибыль. И наоборот, если
руководитель примет решение оставить старую технику для получения
прибыли в текущем году, то в дальнейшем это приведет к значительным
убыткам.
Данный пример демонстрирует следующий факт: в многошаговых
процессах все шаги зависят друг от друга, и, следовательно, управление на
каждом конкретном шаге надо выбирать с учетом его будущих воздействий
на этот процесс.
Другой момент, который следует учитывать при выборе управления на
данном шаге,— это возможные варианты окончания предыдущего шага. Эти
варианты определяют состояние процесса. Например, при определении
количества средств, вкладываемых в предприятие в i-м году, необходимо
51
знать, какая прибыль получена в предыдущем (i-1)-м году. Таким образом,
при выборе шагового управления необходимо учитывать:
1) возможные исходы предыдущего шага;
2) влияние управления на все оставшиеся до конца процесса шаги.
В задачах динамического программирования первый пункт учитывают,
делая на каждом шаге условные предположения о возможных вариантах
окончания предыдущего шага и приводя для каждого из вариантов условную
оптимизацию. Выполнение второго пункта обеспечивается тем, что в задачах
динамического программирования условная оптимизация проводится от
конца процесса к началу. Сначала оптимизируется последний m-й шаг, на
котором не надо учитывать возможные воздействия выбранного управления
xm на все последующие шаги, так как эти шаги просто отсутствуют. Делая
предположения об условиях окончания (m-1)- го шага, делая предположения
об исходах окончания (m-2)-го шага и определяя условное оптимальное
управление на (m-1)-м шаге, приносящее оптимальный выигрыш на двух
последних шагах—(m-1)-м и m-м. Так же действуют на всех остальных
шагах до первого. На первом шаге, как правило, не надо делать условных
предположений, так - как состояние системы перед первым шагом обычно
известно. Для этого состояния выбирают оптимальное шаговое управление,
обеспечивающее оптимальный выигрыш на первом и всех последующих
шагах. Это управление является безусловным оптимальным управлением на
первом шаге и, зная его, определяются оптимальное значение выигрыша и
безусловные оптимальные управления на всех шагах.
Понятия этапа(шага), состояния, управления, дохода(выигрыша)
целиком зависит от предметной ориентации исследуемой системы. Для
организационно-экономической системы (к которой и относится наша
задача) эти понятия имеют вид:
1) этап – некий календарный интервал (месяц, квартал, год и т.д.);
2)
состояние – наличие финансовых/производственных средств,
свободной продукции и т. п.;
3) управление – возможные варианты использования имеющихся
средств;
4)
локальный доход – прибыль (или затраты) получаемая на
отдельном этапе;
5)
суммарный доход – прибыль (или затраты) получаемая по
окончании планового периода.
Дополнительно введем следующие условные обозначения:
s—состояние процесса;
Si—множество возможных состояний процесса перед i-м шагом;
Wi—выигрыш с i-го шага до конца процесса, i=1..m.
Можно определить следующие основные этапы составления
математической модели задачи динамического программирования.
52
1)
Разбиение задачи на шаги (этапы). Шаг не должен быть
слишком мелким, чтобы не проводить лишних расчетов и не должен быть
слишком большим, усложняющим процесс шаговой оптимизации.
2)
Выбор переменных, характеризующих состояние s
моделируемого процесса перед каждым шагом, и выявление налагаемых на
них ограничений. В качестве таких переменных следует брать факторы,
представляющие интерес для исследователя, например годовую прибыль при
планировании деятельности предприятия.
3)
Определение множества шаговых управлений xi, i=1..m и
налагаемых на них ограничений, т.е. области допустимых управлений X.
4)
Определение выигрыша φ(s, xi), который принесет на iм шаге управление xi, если система перед этим находилась в состоянии s.
5)
Определение состояния s’, в которое переходит система
из состояния s под
влиянием управления xi : s’=fi(s, xi,), где fi—функция перехода на i-м
шаге из состояния s в состояние s’.
6)
Составление уравнения, определяющего условный оптимальный
выигрыш
на
последнем шаге, для состояния s моделируемого процесса
Wm(S)=max{φm(s, xm)}.
(8.6)
xm€X
7)
Составление основного функционального уравнения
динамического
программирования, определяющего условный
оптимальный выигрыш для
данного состояния s с i-го шага и
до конца процесса через уже известный
оптимальный
выигрыш с (i+1)-го шага и до конца:
Wi(S)=max{φi(s, xi)+Wi=1(fi(s, xi))}.
xm€X
(8.7)
В уравнении (8.7) в уже известную функцию Wi+1(s),
характеризующую условный оптимальный выигрыш с (i+1)-го шага до конца
процесса, вместо состояния s подставлено новое состояние s’=fi(s, xi), в
которое система переходит на i-м шаге под влиянием управления xi.
После того как выполнены пункты 1—7, и математическая модель
составлена, приступают к ее расчету. Укажем основные этапы решения
задачи динамического программирования.
1)
Определение множества возможных состояний Sm для
последнего шага.
2)
Проведение условной оптимизации для каждого состояния
s, принадлежащей Sm на последнем m-м шаге по формуле (8.6) и
определение условного оптимального управления x(s), s принадлежит Sm.
3)
Определение множества возможных состояний Si для i-го
шага, i=2, 3,…m-1.
53
4)
Проведение условной оптимизации для i-го шага, i=2,
3,…m-1 для каждого состояния s, принадлежащей Si , по формуле (8.7) и
определение условного оптимального управления xi(s), s принадлежит Si ,
i=2, 3,…m-1.
5)
Определение начального состояния системы s1,
оптимального выигрыша W1(S1) и оптимального управления x1(S1) по
формуле (8.7) при i=1. Это есть оптимальный выигрыш для всей задачи
W*=W1(x1*).
6)
Проведение безусловной оптимизации управления. Для
проведения безусловной оптимизации необходимо найденное на первом
шаге оптимальное управление x1*=x1(s1) подставить в формулу (8.5) и
определить следующее состояние системы s2=f2(s1, x1). Для измененного
состояния найти оптимальное управление x2*=x2(s2), подставить в формулу
(8.4) и т.д. Для i-го состояния si найти si+1=fi+1(si,xi*) и x*i+1(si+1) и т.д.
2.3 Применение метода динамического программирования к задаче
оптимального управления запасами
Определим основные компоненты:
1) этап - календарный период деятельности предприятия, n=1,N;
2) состояние – объем запасов in в конце n периода;
3) управление – планируемый объем производства xn на n-м периоде;
4) локальный доход – затраты на n-м этапе, связанные с хранением
запасов и производством новой продукции Сn(xn,in-1);
5) оператор перехода – устанавливает связь между объемом запасов в
конце n – 1-го и n-го этапов: in = in-1 + xn – dn .
Введем функцию:
fn(in) = min∑ Сn(xn,in-1)
(8.8)
Функциональное уравнение Беллмана для такой задачи:
fn(in) = min(fn(in-1) + Сn(xn,in-1)).
(8.9)
Если
Сn(xn,in-1) = cn(xn) + h*in-1
(8.10)
где cn(xn) – затраты на производство продукции на n-ном этапе в xn
объеме;
h*in-1 – затраты на хранение продукции на n-ном этапе в объеме i0.
Известно c0(x0) - затраты на формирование начального запаса.
Тогда на шаге 1 принятия решения уравнение Беллмана (8.9) примет
вид:
f1(i1) = min(f1(i0) + С1(x1,i0)) = min(f1(i0) + c0(x0) + h*i0) (8.11)
54
все переменные в уравнении известны, а значит его можно решить.
На шаге n уравнение (8.9) имеет вид:
fn(in) = min(fn(in-1) + cn(x) + h*in-1)
(8.12)
2.4 Алгоритм решения задачи
Для получения оптимального решения нам необходимо разработать
алгоритм решения уравнения Беллмана (8.12) на произвольном шаге
принятия решения n.
Для этого целесообразно воспользоваться 2-мя таблицами. Заполнение
таблицы 1 проводится так: столбцы – величина запаса с предыдущего шага,
строки – объем производства на текущем этапе. Число столбцов
ограничивается imax, а число строк xmax. Клетка таблицы делится на 2
части. В одной части записываются значения состояния в конце текущего
этапа (in = in-1 + xn – dn ). Если in < 0 ,то это недопустимое состояние, клетка
вычеркивается из рассмотрения. Во второй части клетки записывается
значение функции
fn(in) = cn-1(xn-1) + cn(xn) + h*in-1
(8.13)
Среди допустимых клеток находятся клетки с одинаковыми
значениями состояний, и выбирается клетка, для которой функция fn(in)
минимальна, для нее фиксируется оптимальный объем производства. Эти
результаты записываются в таблицу.
Такие шаги повторяются N раз.
Для нахождения оптимальных объемов производства xn и
оптимальных уровней запасов in производится решение задачи в обратном
порядке. На последнем этапе (n = N) из таблицы выбирается xn и in ,
соответствующие оптимальной (минимальной) функции затрат fn(in). На
этапах n < N из таблицы выбираются строки для которых xn и in такие, что
бы |dn – xn+1 | = in . Обратное решение задачи производится до n = 1 этапа.
55
Related documents
Download