- •Задачи принятия управленческих решений и их реализация в среде qsb
- •Симферополь – 2009 г.
- •Введение
- •Методологические основы оптимизации
- •I.1. Необходимые условия для применения оптимизационных методов
- •I.1.1. Определение границ системы
- •I.1.2. Характеристический критерий
- •I.1.3. Независимые переменные
- •I.1.4. Модель системы
- •I.2. Структура оптимизационных задач
- •Глава 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. Некоторые рекомендации по формулировке и решению задач цлп
Глава I. Задача линейного программирования
Задачами линейного программирования называются оптимизационные задачи, в которых ограничения (представленные в виде либо уравнений, либо неравенств, либо и тех и других одновременно) и целевая функция (функция, подлежащая оптимизации) линейны. Методы ЛП широко используются для решения различных экономических, промышленных и организационных задач, в основном благодаря доступности математического обеспечения для решения задач ЛП большой размерности и возможности анализа решений при вариации исходных данных (анализа чувствительности).
I. 1. Разработка моделей линейного программирования.
Термин «разработка» дословно означает построение моделей ЛП практических задач. Это скорее искусство, которое постигается с опытом.
Отметим основные этапы этой задачи:
определение переменных задачи;
представление ее ограничений в виде линейных уравнений или неравенств;
задание линейной целевой функции, подлежащей минимизации или максимизации.
I. 1.1. Пример разработки модели задачи технического контроля
Предположим, что в отделе технического контроля (ОТК) некоторой фирмы работают контролеры двух категорий. Норма выработки ОТК за 8-ми часовую смену – не менее 1800 изделий. Контролер I категории проверяет 25 изделий в час, и не допускает ошибок в 98% случаев. Контролер II категории, соответственно, проверяет 15 изделий в час, его точность составляет 95%.
Зарплата контролера I категории – 4$ в час, контролер II категории получает 3$ в час. Вместе с тем, при каждой ошибке контролера фирма несет убытки в размере 2$.
Фирма может использовать не более 8 контролеров I категории и 10 контролеров II категории.
ЗАДАЧА: подобрать оптимальный состав ОТК, при работе которого, фирма бы несла минимальные затраты.
Разработка
модели:
Пусть
и
количество
контролеров I и II категории в отделе. Их
число ограничено:
В смену необходимо проверять не менее 1800 изделий. Следовательно, необходимо выполнение неравенства
или, после упрощения
В расходах фирмы отмечаются два момента: зарплата контролера и его ошибки.
Расходы
фирмы на контролера I категории:
в час, на контролера II категории:
в час.
Таким образом, функция
при ограничениях
I. 1.2. Общая постановка задачи линейного программирования
Задача, в которой требуется обратить в максимум (минимум) целевую функцию
при условиях
(I.
1.1.)
называется общей задачей линейного программирования в произвольной форме.
Вектор
,
удовлетворяющий ограничениям задачи
линейного программирования, называется
ее решением или планом.
Если при этом переменные
еще и неотрицательны, то план является
допустимым. Множество
всех допустимых планов, образуют область
допустимых решений
(ОДР) задачи ЛП. Это выпуклое5
многогранное множество. Поэтому задачи
ЛП являются частным случаем более общих
задач выпуклого
программирования.
Допустимый план, соответствующий крайней6 точке ОДР, является опорным планом, либо допустимым базисным решением задачи ЛП.
Допустимый план, обращающий в максимум (минимум) целевую функцию, называется оптимальным планом задачи ЛП.
Теорема
(ЛП): Пусть
допустимое множество
задачи ЛП является многогранником (в
обобщенном смысле). Если целевая функция
принимает максимальное (минимальное)
значение в некоторой точке множества
,
то она (точка) является крайней точкой
для
.
Если целевая функция принимает
максимальное (минимальное) значение
более, чем в одной точке, то она принимает
это же значение и в любой их выпуклой
комбинации:
Здесь
внутренняя
точка отрезка
;
граничная
точка отрезка или крайняя точка ОДР;
некоторый
числовой параметр, «пробегающий» все
значения из отрезка
.
