Симплексный метод решения задачи линейного программирования.

Факультет дистанционных образовательных технологий

 

КОНТРОЛЬНАЯ РАБОТА

ПО КУРСУ «МЕТОДЫ ОПТИМАЛЬНЫХ РЕШЕНИЙ»

Задание: выполнить указанные задания.

Оформление: в соответствии с методическими рекомендациями по оформлению контрольной работы для студентов факультета дистанционных образовательных технологий (методические рекомендации можно посмотреть здесь - нажмите Ctrl и щелкните на ссылку; или через сайт Института: www.pief.ru → Пермский институт экономики и финансов → Дистанционное образование → Для студентов → Вспомогательные материалы → раздел «Методические материалы»).

Выбор варианта: по первой букве фамилии.

Выполнение варианта контрольной работы включает 3 задачи в соответствии с табл. 1, по которой выбор из имеющихся задач производится по первой букве фамилии студента. Так, например, студент Константинов Сергей Федорович должен выполнить следующие номера задач: 10,35,60

Первая буква Номера задач для контрольного задания
фамилии        
А
Б
В
Г
Д
Е
Ж
И
к
л
м
н
О
п
р
с
т
У
ф
Х
Ц
ч
Ш, Щ
Э,Ю,Я

Дополнительные требования:контрольная работа состоит из:

1.Решения задачи линейного программирования на основе ее геометрической интерпретации (графический метод).

2.Моделирования экономических процессов коммерческого предприятия и решение моделей симплексным методом.

3.Решения задачи в условиях неопределенности

Методические указания к решению задач:

  1. Графический метод решения задач линейного программирования

Общей задачей линейного программирования ОЗЛП называется задача, которая состоит в определении максимального (минимального) значения линейной целевой функции:

 

При условиях-ограничениях

где -заданные постоянные величины и .

Стандартной (или симметричной) задачей линейного программирования называется задача, которая состоит в определении максимального (минимального) значения целевой функции при выполнении условий 1 и 3 , где и .

Канонической (или основной) задачей линейного программирования называется задача, которая состоит в определении максимального (минимального) значения целевой функции при выполнении условий 2 и 4, где и .

Совокупность чисел = удовлетворяющих ограничениям задачи, называется допустимым решением (или планом).

План = , при котором целевая функция задачи принимает максимальное (минимальное) значение, называется оптимальным.

В случае, когда требуется найти минимум функции можно перейти к нахождению максимума функции , так как min .

Ограничение-неравенство исходной задачи линейного программирования, имеющее вид " ", преобразуется в ограничение-равенство добавлением к левой части дополнительных неотрицательной переменной, а ограничение неравенство вида " " - в ограничение-равенство вычитанием из левой части дополнительной неотрицательной переменной.

Допустим ограничения задачи отображают наличие производственных ресурсов, тогда числовое значение дополнительной переменной в плане задачи, записанной в форме основной, равно объему неиспользуемого соответствующего ресурса.

План называется опорным планом основной задачи линейного программирования, если система векторов, входящих в разложение с положительными коэффициентами линейно независима.

Так как векторы являются m-мерными, то из определения опорного плана следует, что число его положительных компонент не может превышать m.

Опорный план называется невырожденным, если он содержит ровно m положительных компонент, в противном случае - план вырожденный.

Свойства основной задачи линейного программирования связаны со свойствами выпуклых множеств.

Множество точек называется выпуклым, если оно вместе с любыми двумя точками содержит и их произвольную выпуклую линейную комбинацию.

Геометрический смысл этого определения состоит в том, что множеству вместе с его двумя произвольными точками полностью принадлежит и прямолинейный отрезок, их соединяющий. Примерами выпуклых множеств являются прямолинейный отрезок, полуплоскость, круг, шар, куб, полупространство и др.

Угловыми точками выпуклого множества называются точки, не являющиеся выпуклой комбинацией двух произвольных точек множества. Например, угловыми точками треугольника являются его вершины, круга - точки окружности, которые его ограничивают.

Множество планов основной задачи линейного программирования является выпуклым (если оно не пусто). Непустое множество планов называется многогранником решений, а всякая угловая точка многогранника решений - вершиной.

Если основная задача линейного программирования имеет оптимальный план, то максимальное значение целевая функция задачи принимает в одной из вершин многогранника решений. Если максимальное значение достигается более чем в одной вершине, то целевая функция принимает его во всякой точке, являющейся выпуклой линейной комбинацией этих вершин.

Непустое множество планов основной задачи линейного программирования образует выпуклый многогранник, каждая вершина которого определяет опорный план. Для одного из опорных планов (т.е. в одной из вершин многогранника решений) значение целевой функции является максимальным (при условии, что функция ограничена сверху на множестве планов).

Вершину многогранника решений, в которой целевая функция принимает максимальное значение, можно найти достаточно просто, если задача в стандартной форме содержит не более двух переменных:

при условиях

Каждое из неравенств системы ограничений задачи геометрически определяет полуплоскость допустимых значений переменных соответственно с граничными прямыми

Если система неравенств совместна, то областью допустимых решений задачи является выпуклое множество, которое называется многоугольником решений. Стороны этого многоугольника лежат на прямых, уравнения которых получаются из исходной системы ограничений заменой знаков неравенств на знаки точных равенств.

Решение задачи линейного программирования графическим методом включает следующие этапы.

1. На плоскости строят прямые, уравнения которые получаются в результате замены в ограничениях знаков неравенств на знаки точных равенств.

2. Находят полуплоскости, определяемые каждым из ограничений задачи.

3. Строят многоугольник решений.

4. Строят вектор , направление которого указывает на возрастание целевой функции.

5. Строят начальную прямую и передвигают ее в направлении вектора до крайней угловой точки многоугольника решений. В результате находят точку, в которой целевая функция принимает максимальное значение, либо множество точек с одинаковым максимальным значением целевой функции, если начальная прямая сливается с одной из сторон многоугольника решений, либо устанавливают неограниченность сверху функции на множестве планов .

6. Определяют координаты точки максимума функции и вычисляют значение целевой функции в этой точке.

Минимальное значение линейной функции цели находится путем передвижения начальной прямой , в направлении,

противоположном вектору .

Пример:

Найти максимум и минимум линейной функции :

при условиях:

Решение:

Построим на плоскости многоугольник решений рис.1.

Для этого в неравенствах системы ограничений и условиях неотрицательности переменных знаки неравенств заменим на знаки точных равенств.

 
 

 

 


Построив полученные прямые, найдем соответствующие полуплоскости и их пересечение

 

Построив полученные прямые, найдем соответствующие полуплоскости и их пересечение.

Многоугольником решений задачи является пятиугольник АВ-СДЕ, координаты точек которого удовлетворяют условию неотрицательности и неравенствам системы ограничений задачи.

Для нахождения точек экстремума построим начальную прямую и вектор . Передвигая прямую параллельно самой себе в направлении вектора , найдем точку С, в которой начальная прямая принимает положение опорной прямой. Следовательно, в точке С целевая функция принимает максимальное значение, так как точка С получена в результате пересечения прямых 1 и 2 , то ее координаты удовлетворяют уравнениям этих прямых:

Решив систему уравнений, получим:

Для нахождения минимального значения целевой функции задачи перемещаем начальную прямую в направлении, противоположном вектору . Начальная прямая займет положение опорной прямой в вершине Е. Целевая функция принимает минимальное

значение в угловой точке Е, где

Найдем координаты угловых точек В, Д и А. Для этого решим следующие системы уравнений:

В результате получим координаты точек В (0;2,5), Д (2,0) и А (0,1).

Вычислим значения целевой функции во всех угловых точках многоугольника решений АВСДЕ:

Симплексный метод решения задачи линейного программирования.

Симплексный метод основан на последовательном переходе от одного опорного плана задачи линейного программирования к другому, при этом значение целевой функции изменяется. Рассмотрим алгоритм симплексного метода на примере задачи планирования товарооборота.

Коммерческое предприятие реализует несколько -товарных групп, располагая ограниченными материально-денежными ресурсами . Известны расходы ресурсов каждого вида на реализацию продажи единицы товарооборота товаров по каждой группе, представленной в виде матрицы и прибыль получаемая предприятием от реализации единицы товарооборота товаров группы. Определить объем и структуру товарооборота . при которых прибыль коммерческого предприятия была бы максимальной.

1. Математическую модель задачи запишем следующим образом:

Определить , который удовлетворяет ограничениям вида:

и обеспечивает максимальное значение целевой функции

 

Алгоритм симплексного метода включает следующие этапы.

 

2. Составление первого опорного плана.

Система ограничений задачи, решаемой симплексным методом, задана в виде системы неравенств. Перейдем от системы неравенств к системе уравнений путем введения неотрицательных дополнительных переменных. Векторы-столбцы при этих переменных представляют собой единичные векторы и образуют базис, а соответствующие им переменные называются базисными:

где базисные переменные.

свободные переменные.

Решим эту систему относительно базисных переменных:

 

а функцию цели перепишем в таком виде:

 

Полагая, что основные переменные

.получим первый опорный план ,(заносим его в симплексную таблицу 3, которая состоит из коэффициентов системы ограничений и свободных членов. Последняя строка таблицы называется индексной. Она заполняется коэффициентами функции цели, взятыми с противоположным знаком.

 

3.Проверка плана на оптимальность.

Если все коэффициенты индексной строки симплексной таблицы при решении задачи на максимум неотрицательны ( 0), то

план табл.3 задачи табл. 2 является оптимальным. Если найдется хотя бы один коэффициент индексной строки меньше нуля, то план не оптимальный и его можно улучшить. Тогда переходим к следующему этапу алгоритма.

 

4. Определение ведущих столбца и строки.

Из отрицательных коэффициентов индексной строки выбираем наибольший по абсолютной величине, что и определяет ведущий столбец, который показывает, какая переменная на следующей итерации перейдет из свободных в базисные.

Затем элементы столбца свободных членов симплексной таблицы делим на соответствующие только положительные элементы ведущего столбца. Результаты заносим в отдельный столбец . Строка симплексной таблицы, соответствующая минимальному значению , является ведущей. Она определяет переменную которая на следующей итерации выйдет из базиса и станет свободной.

Элемент симплексной таблицы, находящейся на пересечении ведущих столбца и строки, называют разрешающими и выделяет кружком.

 

5. Построение нового опорного плана

Переход к новому плану проводится пересчетом симплексной таблицы по методу Жордана-Гаусса. Сначала заменим переменные в базисе, т.е. вместо в базис войдет переменная , соответствующая направляющему столбцу.

Разделим все элементы ведущей строки предыдущей симплексной таблицы на разрешающий элемент и результаты деления занесем в строку следующей симплексной таблицы, соответствующую введенной в базис переменной . В результате этого на месте разрешающего элемента в следующей симплексной таблице будем иметь 1 , а в остальных клетках j столбца, включая клетку столбца индексной строки, записываем нули. Остальные новые элементы

нового плана находятся по правилу прямоугольника: - ,

где элемент старого плана, разрешающий элемент,

А и В - элементы старого плана, образующие прямоугольник с элементами и .

 

6. Полученный новый опорный план опять проверяется на оптимальность в соответствии с этапом 3 алгоритма.

При решении задачи линейного программирования на минимум целевой функции, признаком оптимальности плана является отрицательные значения всех коэффициентов индексной строки симплексной таблицы.

Если в направляющем столбце все коэффициенты 0,то функция цели неограниченна на множестве допустимых планов, т.е. и задачу решить нельзя.

Если в столбце симплексной таблицы содержатся два или несколько одинаковых наименьших значения, то новый опорный план будет вырожденным (одна или несколько базисных переменных станут равными нулю). Вырожденные планы могут привести к зацикливанию, т.е. многократному повторению процесса вычислений, не позволяющему завершить задачу. С целью исключения этого для выбора направляющей строки используют способ Креко, который заключается в следующем. Делим элементы строк, имеющие одинаковые наименьшее значение , на предполагаемые разрешающие элементы, а результаты заносим в дополнительные строки. За ведущую строку выбирается та, в которой раньше встречается меньшее число при чтении таблицы слева направо по столбцам.

Если в оптимальный план вошла дополнительная переменная , то при реализации такого плана имеются недоиспользованные ресурсы гo вида в количестве, полученном в столбце свободных членов симплексной таблицы.

Если в индексной строке симплексной таблицы оптимального плана находится нуль, принадлежащий свободной переменной, не вошедшей в базис, а в столбце, содержащем этот нуль, имеется хотя бы один положительный элемент, то задача имеет множество оптимальных планов. Свободную переменную, соответствующую указанному столбцу, можно внести в базис, выполнив соответствующие этапы алгоритма. В результате будет получен второй оптимальный план с другим набором базисных переменных.