- •Постановка задачи линейного программирования, условия существования и свойства оптимальных решений задачи линейного программирования
- •Постановка задачи линейного программирования
- •Стандартная задача лп
- •Каноническая задача лп
- •Общая задача лп
- •Двойственная задача линейного программирования.
- •Понятия о системном подходе, системном анализе, его основные методологические принципы
- •С сайта (http://b-I.Narod.Ru/sys.Htm)
- •По Вентциль
- •Системы и закономерности их функционирования и развития, управляемость, достижимость, устойчивость
- •Постановка и классификация задач принятия решений, этапы решения задач
- •Допустимое множество и целевая функция в задачах математического программирования, классификация, формы записи
- •Классификация задач математического программирования
- •Основные виды иерархических структур. Модель функционирования иерархической системы
- •Из интернетов
- •По википедии
- •Структурная часть иерархической модели
- •Управляющая часть иерархической модели
- •По лекциям из интернетов
- •Основные понятия теории иерархических систем и их формализация
- •Координация
- •Декомпозиция
- •Агрегация
- •Проблема равенства классов p и np
- •Метод динамического программирования. Принцип оптимальности Беллмана
- •Методы и задачи дискретного и целочисленного программирования. Метод ветвей и границ
- •Решение задачи линейного программирования симплекс-методом
- •Симплекс-таблица, стандартный алгоритм симплекс-преобразования
- •Алгоритм отыскания опорного решения задачи лп
- •Алгоритм отыскания оптимального решения задачи лп
- •Алгоритм получения первого базисного решения с использованием симплекс — процедуры (метод искусственного базиса)
- •Вырожденная задача лп
Симплекс-таблица, стандартный алгоритм симплекс-преобразования
Существует много форм симплекс-таблиц (СТ). Мы рассмотрим наиболее компактную форму, в которой строки — базисные переменные, а столбцы свободные переменные. Каждая СТ содержит коэффициенты модели задачи ЛП. Для записи СТ необходимо представить ОЗЛП в стандартной форме:
т.е. на первом месте свободный член, а коэффициенты при свободных переменных меняют знак.
Рассмотрим порядок вычислений для
перехода в новую вершину. Пусть нам
необходимо выполнить симплекс-преобразование
.
Тогда нужно получить новую симплекс-таблицу.
Для этого выполним алгоритм.
Алгоритм 1:
Отыскиваем в СТ элемент
и объявляем его генеральным. Тогда
i-я строка и j -й столбец - генеральные.
Вычисляем величину, обратную генеральному элементу, и записываем ее в нижней части генеральной клетки:
Все элементы генеральной строки умножаем на
.
Результат записываем в нижней части
соответствующих клеток.
Все элементы генерального столбца умножаем на
.
Результат записываем в нижней части
клеток.
Отмечаем верхние элементы генеральной строки и нижние элементы генерального столбца.
В каждой клетке, не принадлежащей ни генеральному столбцу, ни генеральной строке, в нижнюю часть записываем произведение отмеченных элементов, стоящих в том же столбце и той же строке, что и данная клетка.
Переписываем СТ, заменяя в соответствии с табл. 2:
Алгоритм отыскания опорного решения задачи лп
Этот алгоритм выполняется сразу после записи симплекс-таблицы.
Алгоритм 2:
Просматриваем столбец свободных членов (не смотря на свободный член строки ). Если все свободные члены , то данная таблица уже соответствует опорному решению, иначе переходим к п. 2.
В столбце свободных членов выбираем первый по порядку отрицательный элемент и в этой строке находим еще один отрицательный элемент. Если такого элемента нет, то задача ЛП не имеет решения, если есть, то переходим к п. 3.
Столбец с найденным отрицательным элементом объявляем генеральным.
В генеральном столбце фиксируем элементы, имеющие такой же знак, что и знак соответствующих свободных членов, и среди них в качестве генерального элемента выбираем тот, отношение к которому соответствующего свободного члена минимально:
,
знак
= знак
.По выбранному генеральному элементу выполняем стандартное симплекс- преобразование (алгоритм 1) и переходим к п. 1.
Если при вычислениях нет ошибок, то количество отрицательных свободных членов должно уменьшаться или должна уменьшаться их абсолютная величина.
Примечание к пункту 2:
Задача ЛП не имеет решения, когда
соответствующая строка СТ имеет,
например, вид:
,
которая не удовлетворяется ни при
каких неотрицательных переменных.
Алгоритм отыскания оптимального решения задачи лп
Этот алгоритм выполняется после того, как найдено опорное решение, то есть когда в симплекс-таблице все свободные члены .
Алгоритм 3:
Просматриваем элементы строки (несмотря на свободный член). Если все элементы
,
то данная симплекс-таблица уже
соответствует оптимальному решению,
иначе переходим к п. 2.В строке выбираем наибольший положительный элемент и соответствующий столбец объявляем генеральным.
В генеральном столбце находим положительные элементы. Если таких нет, то задача не имеет оптимального решения, иначе переходим к п. 4.
Среди положительных элементов генерального столбца выбирается тот, отношение к которому соответствующего свободного члена минимально: ,
,
.По выбранному генеральному элементу осуществляем симплекс- преобразование (алгоритм 1) и переходим к п. 1.
Примечание к пункту 2:
Если в генеральном столбце нет положительных элементов, то задача не имеет оптимального решения — целевая функция уменьшается неограниченно (движется в открытую область). Это значит, что в исходной модели не учтено какое-то важное ограничение.
Схема алгоритмов решения задач ЛП
