- •Задачи принятия управленческих решений и их реализация в среде 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. 3. Целочисленные задачи линейного программирования
Многие задачи исследования операций из области экономики и управления описываются математическими моделями дискретного программирования (ДП). В этом разделе мы рассмотрим один частный случай задач дискретного программирования – целочисленные задачи линейного программирования (ЦЛП). Методы решения таких задач делятся на три основные группы: отсекающих плоскостей; ветвей и границ; случайного поиска и эвристические методы.
II. 3.1. Метод отсекающих плоскостей
Этот метод именно и предназначен для решения частного случая задач дискретного программирования – ЦЛП.
Суть метода заключается в следующем. Временно, отбросив условия целочисленности переменных задачи, отыскивается оптимальный план прямым симплекс- методом. Если окажется, что он не удовлетворяет условиям целочисленности, то в задаче формируется дополнительное ограничение, называемое правильным отсечением, которому заведомо удовлетворяет любое целочисленное решение из ОДР рассматриваемой задачи и не удовлетворяет найденное оптимальное решение.
В общей постановке задача ЦЛП имеет вид13:
при ограничениях:
.
Если
исходная система ограничений совместна
и целевая функция ограничена на множестве
решений, тогда можно приступить к
отысканию оптимального решения,
отбрасывая на первом этапе условие
целочисленности решения. Это можно
осуществить традиционным симплекс-методом.
Допустим, что такое решение получено и
оно не удовлетворяет условиям
целочисленности. Тогда для
й
переменной, имеющей нецелочисленное
значение, формируется дополнительное
ограничение, которое имеет вид
Здесь
число
есть дробная часть числа
Далее для того, чтобы это ограничение привести к ограничению типа равенства, вводится дополнительная переменная
где
Заметим, что введение дополнительной
переменной приводит к увеличению
размерности базиса пространства
переменных рассматриваемой задачи, а
как следствие и базисного минора
обновленной системы ограничений. Если,
полученное выше соотношение переписать
в несколько ином виде
то
становится очевидным, что базисная
переменная расширяющая базис пространства
переменных задачи и есть дополнительная
переменная
.
Таким
образом, в симплекс-таблице формируется
дополнительная строка, в которую
вписываются величины
и
,
получаемые из последнего соотношения.
Отсюда получим некоторый псевдоплан с
базисными компонентами
и новой составляющей
Важно
отметить, что целочисленные точки, а
равно и оптимальное целочисленное
решение задачи, является внутренней
точкой ОДР. Тогда, очевидно, геометрически,
получение целочисленного решения,
означает движение по линиям уровня
целевой функции в направлении, обратном
.
Поэтому, для дальнейшего решения задачи
необходимо применить технику двойственного
симплекс-метода.
Таким образом, если после получения оптимального решения двойственным симплекс-методом все компоненты этого решения будет целыми, то задача решена. В противном случае необходимо сформировать еще одно правильное отсечение и так далее, до тех пор, пока решение не будет удовлетворять условиям целочисленности.
Замечание:
Для того, чтобы иметь право после формирования правильного отсечения пользоваться двойственным симплекс-методом, исходную задачу необходимо привести к задаче на максимум.
Если на предварительном этапе после применения симплекс-метода без учета условия целочисленности переменных, полученное решение содержит несколько нецелочисленных компонент, то для отсечения выбирается та, которая имеет максимальную дробную часть.
ПРИМЕР: Найти
при условиях
Отбрасывая
условия целочисленности, находим
оптимальное решение симплекс-методом
(см. таблицы I и II)14.
Получаем оптимальное решение:
Таблица I.
-
1
4
0
0
Базис
0
7
2
4
1
0
0
15
10
3
0
1
-1
-4
0
0
Таблица II.
-
1
4
0
0
Базис
4
1
0
0
0
1
1
0
1
0
Данное
решение не удовлетворяет условиям
целочисленности, поэтому необходимо
сформировать правильное отсечение. Обе
переменные
и
имеют одинаковые дробные части равные
.
Поэтому отдадим предпочтение истинной
переменной
и отсечение сформируем для нее.
Теперь
запишем правильное отсечение:
и, сформировав дополнительную строку,
записываем все результаты в таблицу
III.
Таблица III.
-
1
4
0
0
0
Базис
4
1
0
0
0
0
1
0
0
0
0
1
1
0
1
0
0
2
-
4
-
-
В таблицах IV и V приводятся результаты отыскания плана задачи с помощью двойственного симплекс-метода.
Таблица IV.
-
1
4
0
0
0
Базис
4
1
0
1
0
0
1
0
-3
0
0
-5
1
17
1
1
0
0
-2
0
0
0
2
-
-
-
-
В таблице V представлен новый опорный план, в котором все еще нарушено условие целочисленности.
Таблица V.
-
1
4
0
0
0
Базис
4
1
0
1
0
0
1
0
0
0
1
1
1
0
0
0
0
1
Так
как, для истинных переменных задачи
то новое правильное отсечение будем
формировать по строке
:
Запишем
правильное отсечение:
и, сформировав дополнительную строку,
получим таблицу VI.
Таблица VI.
-
1
4
0
0
0
0
Базис
4
1
0
1
0
0
1
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
1
0
0
1
0
-
-
-
1
-
В таблице VII:
Таблица VII.
-
1
4
0
0
0
0
Базис
4
1
0
1
0
0
1
0
0
1
0
0
1
0
-2
1
1
1
0
0
0
-1
1
0
2
0
0
0
1
7
-10
0
0
0
0
3
1
получено
искомое целочисленное решение:
Замечание: При формировании правильного отсечения важно помнить, что выбор строки по критерию максимума дробной части осуществляется в первую очередь среди истинных переменных задачи а уж затем по всем остальным не целочисленным переменным. Задача считается решенной, а оптимальное целочисленное решение полученным только в том случае, когда в столбце свободных членов все элементы целые.
В литературе, изложенный выше метод, известен также и под названиями метода отсечений или метода Гоморри.
