- •Задачи принятия управленческих решений и их реализация в среде qsb
- •Симферополь – 2009 г.
- •Введение
- •Методологические основы оптимизации
- •I.1. Необходимые условия для применения оптимизационных методов
- •I.1.1. Определение границ системы
- •I.1.2. Характеристический критерий
- •I.2. Структура оптимизационных задач
- •I.1.3. Независимые переменные
- •I.1.4. Модель системы
- •Глава I. Задача линейного программирования
- •I. 1. Разработка моделей линейного программирования.
- •I. 1.1. Пример разработки модели задачи технического контроля
- •I. 1.2. Общая постановка задачи линейного программирования
- •I. 2. Методы решения задач линейного программирования
- •I. 2.1. Графический метод решения задачи лп
- •I.2.3. Табличный симплекс-метод.
- •I.2.4. Алгоритм симплекс-метода.
- •Задачи для самостоятельного решения
- •I. 3. Двойственность в задачах линейной оптимизации
- •I. 3.1. Двойственная задача линейного программирования
- •I. 3.2. Двойственный симплекс-метод.
- •I. 4. Основные утвержднеия теории двойственности и их экономическое содержание
- •I. 4.1. Первая теорема двойственности
- •I. 4.2. Вторая теорема двойственности и ее экономическое содержание
- •I. 4.3. Третья теорема двойственности и ее экономическое содержание.
- •I. 4.4. Анализ чувствительности математической модели и диапазоны устойчивости
- •I.4.4.1. Диапазон изменения небазисной переменной
- •I.4.4.2. Диапазон изменения коэффициентов целевой функции
- •I.4.4.3. Диапазон изменения элемента вектора свободных членов
- •I.4.4.4. Диапазон изменения элемента матрицы коэффициентов системы ограничений
- •I.5. Пакет прикладных программ qsb
- •I.5.1. Главное меню пакета
- •I.5.2. Меню программы линейного программирования
- •I.5.3. Подготовка данных для задачи линейного программирования
- •I.5.4. Решение задачи линейного программирования
- •I.5.5. Просмотр и анализ результатов решения задачи
- •I.5.6. Чтение и запись задач на дискету
- •I.5.7. Mодификация (изменение) данных задачи
- •Варианты исходных данных
- •Варианты индивидуальных заданий (таблица 2).
- •Порядок выполнения работы
- •Контрольные вопросы
- •II. 1.2. Метод определения начального опорного плана перевозок
- •Задачи для самостоятельного решения
- •II.1.3. Решение транспортной задачи в qsb
- •II.2. Задача о назначениях
- •Начальная таблица
- •Iteration 1 (Итерация 1)
- •Iteration 2 (Итерация 2)
- •II. 3. Целочисленные задачи линейного программирования
- •II. 3.1. Метод отсекающих плоскостей
- •Задачи для самостоятельного решения
- •II.4. Метод ветвей и границ в задачах целочисленного программирования
- •II. 4.1. Алгоритм метода ветвей и границ
- •II. 4.2. Правила ветвления
- •II. 4.3. Два правила выбора вершины задачи лп для дальнейшего ветвления
- •II. 4.4. Некоторые рекомендации по формулировке и решению задач цлп
II. 4.1. Алгоритм метода ветвей и границ
Рассмотрим частично целочисленную задачу вида:
при
ограничениях:
целые
для
Здесь
множество
индексов целочисленных переменных.
Шаг
I:
решить сформулированную задачу как
задачу ЛП, рассматривая все ее переменные
как непрерывные. Отбрасывая условия
целочисленности переменных, прийти к
задаче ЛП I, оптимальное решение которой
дает значение целевой функции:
тогда
считается
верхней границей значений функции
,
если при этом какая-либо из переменных
принимает дробное значение.
Шаг II: ветвление по одной из целочисленных переменных, имеющих дробное значение в оптимальном решении ЛП I.
II. 4.2. Правила ветвления
Выбор целочисленной переменной, значение которой в оптимальном решении ЛП I имеет наибольшее дробное значение.
2. Приписывание целочисленным переменным приоритетов и ветвление по переменной с наибольшим приоритетом. Важность целочисленной переменной может определяться следующими соображениями:
данная переменная представляет важное решение, принимаемое в рамках рассматриваемой модели;
ее коэффициент стоимости или прибыли в целевой функции существенно превосходит остальные;
значение данной переменной играет ключевую роль для модели;
произвольные правила: например, с наименьшим номером.
Шаг
III:
ветвление происходит по переменной
,
дробное значение которой в оптимальном
решении ЛП I равно
.
Далее рассматриваются две новых задачи
ЛП II и ЛП III, которые получаются путем
введения дополнительного ограничения:
наибольшее
целое
и
наименьшее
целое
Шаг IV: ветвление в ЛП II или ЛП III и так далее.
II. 4.3. Два правила выбора вершины задачи лп для дальнейшего ветвления
Здесь мы приведем два основных правила выбора вершины задачи ЛП для дальнейшего ветвления.
10. Использование оптимального значения целевой функции. Следует выбирать вершину, соответствующую оптимальному значению целевой функции. Обоснованием служит то соображение, что допустимая область задачи ЛП с наибольшим значением целевой функции может содержать и хорошее целочисленное решение.
20. “Последним пришел – первым обслужен”. Для дальнейшего ветвления выбирается задача ЛП, решавшаяся последней.
II. 4.4. Некоторые рекомендации по формулировке и решению задач цлп
Количество целочисленных переменных следует уменьшить на сколько это возможно.
По возможности получить “близкие” друг другу верхнюю и нижнюю границы.
Чем больше ограничений, тем меньше время обработки задачи и ее решения.
Можно допускать погрешность:
Ветвление в порядке приоритетов.
В качестве упражнений, выполните задания п. II.2. Заметим, что эти задачи ввиду своей малой размерности позволяют выполнить вычисления вручную. Однако мы рекомендуем для расчетов дополнительно использовать вычислительную технику, например, вычислительные средства пакета прикладных программ “научного менеджмента” QSB.
1 оптимальное значение характеристического показателя совпадает с экстремумом.
2 с достаточной степенью достоверности.
3 проведение экспериментов даже с моделью требует осмысленных действий. В последнее время с бурным развитием ЭВМ и появлением массы прикладных программ, возникла тенденция бессистемного привлечения вычислительных средств. Исследователь, не замечая за деревьями леса, блуждает в потемках, не делая при этом ни правильных посылок, ни правильных выводов.
4 Здесь выделяют подкласс задач целочисленного программирования, где в дополнение всего, переменные целые.
5 Множество точек называется выпуклым, если оно вместе с любыми двумя точками содержит и их произвольную выпуклую линейную комбинацию (линейную оболочку).
6
Две граничные точки некоторого отрезка,
состоящего из граничных точек ОДР,
называются крайними. Точка называется
граничной для некоторого множества
точек
,
если для любого сколь угодно малого
в
окрестности
ее находятся и точки множества, и точки
ему не принадлежащие.
7
Будем обозначать их
или кратко
.
8 Соседняя вершина ОДР – смежное допустимое решение.
9 Количество линейно независимых строк или столбцов матрицы. Напомним, что существует и другое определение ранга матрицы (тоже и линейного оператора) - это порядок ее базисного минора.
10 Здесь важно отметить, что это далеко не единственный метод. Существует ряд других методов, например, метод дифференциальных рент или метод минимального элемента (которые, вместе с методом северо-западного угла, являются наиболее употребляемыми при решении транспортных задач) и другие.
11 Ломаная линия с вершинами в отмеченных (базисных) клетках плана перевозок.
12 Нумерация элементов цепочки начинается с элемента, соответствующего максимальному по абсолютной величине отрицательному элементу оценочной матрицы.
13 Не нарушая общности рассуждений, для определенности будем предполагать, что все ограничения задачи – ограничения типа неравенств, и в системе ограничений рассматриваемой задачи они ориентированы.
14 Для удобства записи, здесь симплекс-таблицы записываются в несколько ином виде, что принципиально несущественно.
15 Здесь умышленно рассматривается случай двух переменных, для того чтобы не обременять решение задачи излишними математическими выкладками, связанными с применением симплекс-метода.
16
В самом деле, целочисленная точка
является внутренней точкой ОДР исходной
задачи и для того, чтобы попасть в нее
необходимо осуществить движение в
направлении обратном
,
что приведет к уменьшению значения
целевой функции.
