NetNado
  Найти на сайте:

Учащимся

Учителям



Учебное пособие по курсу «Математика»

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

Максимизировать (минимизировать) целевую функцию:

при ограничениях:

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

Очевидно, что как целевая функция, так и все ограничения линейны по управляющим переменным. В приведенной постановке задача содержит n переменных и m ограничений.

Решить задачу линейного программирования – означает найти такие значения управляющих переменных, удовлетворяющих ограничениям, при которых целевая функция принимает максимальное, или минимальное значение.
Рассмотрим примеры некоторых типичных экономических задач, оптимальное решение которых может быть найдено с помощью построения и расчета соответствующих линейных математических моделей, имеющих вид, приведенный выше.
Задача 1. Планирование производства. Для изготовления различных видов изделий используются разные ресурсы. Общие запасы каждого ресурса, количества ресурса каждого типа, затрачиваемого на изготовление одного изделия каждого вида, заданы. Нужно составить план производства изделий, обеспечивающий максимальную суммарную прибыль от реализации изделий.
Задача 2. Формирование минимальной потребительской продовольственной корзины. Задан ассортимент продуктов, имеющихся в продаже. Каждый продукт содержит определенное количество разных питательных веществ (витаминов и калорий). Известен требуемый человеку минимум питательных веществ каждого вида. Необходимо определить требуемую потребительскую продовольственную корзину, имеющую минимальную стоимость.
Задача 3. Расчет оптимальной загрузки оборудования. Предприятию необходимо выполнить производственный заказ на имеющемся оборудовании. Для каждой единицы оборудования заданы: фонд рабочего времени, себестоимость изготовления единицы продукции каждого вида, а также производительность, т.е. число единиц продукции каждого вида, которое можно произвести в единицу времени. Нужно распределить изготовление продукции между оборудованием таким образом, чтобы себестоимость всей продукции была минимальна.
Задача 4. Раскрой материала. На раскрой (распил) поступает материал нескольких видов в определенном количестве. Из этого материала необходимо изготовить различные изделия. Материал может быть раскроен разными способами. Каждый способ имеет свою себестоимость и позволяет получить разное количество изделий каждого вида. Определить способ раскроя, при котором суммарная себестоимость минимальна.
Задача 5. Составление плана реализации товара. Фирма реализует различные товары, используя при этом определенный набор средств (технических, людских, денежных). Общий запас средств, количество средств каждого вида, используемых при реализации единицы любого товара и прибыль от его продажи, заданы. Надо сформировать план реализации товаров, приносящий фирме максимальную прибыль.
3.1.1. Графический метод решения задач линейного программирования
Если число переменных в задаче линейного программирования равно двум, а ограничения представляют собой систему неравенств, то такую задачу можно решать графическим методом.

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

Алгоритм графического решения таких задач включает в себя два этапа, или шага.
Шаг 1. Находят область допустимых решений (ОДР) задачи путем совместного решения всех неравенств системы ограничений. При этом решением каждого из неравенств этой системы будет полуплоскость, включающая границу, т.е. прямую линию с уравнением, аналогичным неравенству, если только в нем оставить знак равенства. Как правило, вид ОДР существенно зависит от вида неравенств системы ограничений. Основные, наиболее часто встречающиеся, виды ОДР представлены на рис. 3.1.

На рис. 3.1.а показана ОДР в виде замкнутого выпуклого многоугольника. Рис. 3.1.б изображает ОДР в виде разомкнутого выпуклого многоугольника. На рис. 3.1.в изображен случай, когда неравенства ограничений несовместны, т.е. не имеют общего решения и, следовательно, ОДР не существует. Наконец, на рисунке 3.1.г изображен случай, когда ОДР состоит только из одной точки А.

Шаг 2. Строят линию уровня целевой функции при C = 0. Находят координаты вектора градиента целевой функции и строят вектор градиента с началом в начале координат. Затем двигают линию уровня целевой функции параллельно самой себе в направлении вектора градиента до тех пор, пока не достигнут последней на ее пути вершины многоугольника ОДР. Именно координаты этой вершины и будут являться оптимальными значениями управляющих переменных, доставляющими максимум целевой функции. При решении задач на минимум осуществляют продвижение линии уровня, построенной для заведомо большого значения уровня, в направлении вектора антиградиента, имеющего ту же норму, но противоположно направленного вектору градиента.
ПРИМЕР: При продаже двух видов товара используется два типа ресурсов. Нормы затрат ресурсов на реализацию единицы товара и общий объем запаса каждого ресурса заданы таблицей:


Ресурсы



Нормы затрат ресурсов на 1 товара

Запас ресурсов



1-го вида

2-го вида

1

2

2

12

2

3

0

9


Прибыль от реализации одной единицы товара первого вида составляет 2 условные единицы, а второго – 1 условную единицу. Требуется найти оптимальный план реализации товаров, обеспечивающий торговому предприятию максимальную прибыль.

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

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

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

Процесс отыскания ОДР представлен на рис. 3.2, на котором найденная ОДР заштрихована и представляет собой выпуклый замкнутый четырехугольник (трапецию).


На рис. 3.3 ОДР обведена жирной чертой и представляет собой трапецию OABC. Также в соответствии с алгоритмом, построим линию уровня целевой функции при C = 0. На рис. 3.3 она показана в виде пунктирной линии, проходящей через начало координат. Там же в виде стрелки, исходящей из начала координат, представлен вектор градиента целевой функции, имеющий координаты (2; 1). Если продвигать линию уровня по направлению вектора градиента, то конечной вершиной ОДР на этом пути будет точка В. Следовательно, ее координаты и будут искомым оптимальным решением исходной задачи: , доставляющим максимум целевой функции, равный .

Таким образом, для получения максимальной прибыли в размере 9 условных единиц надо продать 3 изделия первого вида и 3 изделия второго вида.
3.1.2. Симплекс-метод решения задач линейного программирования
Симплекс-метод является универсальным, т.к. позволяет решить практически любую задачу линейного программирования.

Чаще всего, при графическом решении задач линейного программирования ОДР представляет собой замкнутый выпуклый многоугольник. В случае n переменных ОДР будет многомерным многогранником, подобным симплексу. Как правило, оптимальное решение – это координаты какой-либо вершины этого многогранника. Основная идея симплекс-метода заключается в последовательном целенаправленном обходе вершин такого симплекса. При этом в каждой следующей вершине симплекса значение целевой функции, в общем случае, улучшается.

Однако, перед применением симплекс – метода исходную задачу линейного программирования следует записать в канонической форме:

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

  1. Если требуется найти минимум целевой функции L, то, заменяя функцию L на функцию (- L), переходят к задаче максимизации.

  2. Если ограничение содержит неравенство со знаком «не более», то от него переходят к равенству, добавляя в левую часть ограничения дополнительную неотрицательную переменную.

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

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


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

Пусть записана основная задача линейного программирования. Предположим, что все уравнения системы ограничений независимы, т.е. выражают независимые друг от друга условия задачи. Если это не так, то лишние, зависимые от других, уравнения просто исключают. Основную задачу линейного программирования имеет смысл решать только тогда, когда число уравнений системы ограничений меньше числа входящих в них неизвестных, т.е. когда: m < n. В противном случае, если m = n, то система имеет единственное решение и пропадает смысл задачи максимизации, если же m > n, то система переопределена и, в общем случае, не имеет решения.

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

Реализация симплекс-метода включает в себя два крупных этапа:

  1. Определение начального решения, удовлетворяющего ограничениям.

  2. Последовательное улучшение начального решения и получение оптимального решения задачи.


Пусть система уравнений ограничений содержит ровно m линейно независимых уравнений, и, кроме того, m < n, тогда эту систему можно разрешить относительно m неизвестных, например: , выразив их через остальные (nm) неизвестные.

После проведения таких преобразований основная задача линейного программирования оказывается записанной в стандартном виде:


После того, как задача записана в стандартном виде, можно приступать к ее решению с помощью симплекс – метода, пошаговый алгоритм которого заключается в следующем:
Шаг 1. Получение начального решения. Выбираются m переменных, называемых базисными и обладающих следующим свойством: они входят с коэффициентом единица (безразлично, с плюсом или с минусом) только в одно уравнение системы ограничений, и с коэффициентом нуль (т.е. не входят) – в остальные уравнения системы ограничений.

Остальные (nm) переменных называются свободными. При этом все свободные переменные полагают равными нулю, но тогда базисные переменные будут равны свободным членам уравнений системы ограничений.

Если m базисных переменных это: (если это не так, то переменные всегда можно перенумеровать), тогда начальное решение будет иметь вид:

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

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

Шаг 3. Проверка решения на оптимальность. Составляется начальная симплекс–таблица. В левой колонке этой таблицы помещают базисные переменные, а в крайней правой колонке – свободные члены соответствующих уравнений системы ограничений. На пересечении i-ой строки и j-го столбца размещают коэффициент при j-ой переменной в i-ом ограничении. В последней отчеркнутой строке (L – строке) размещают коэффициент при j-ой переменной в целевой функции, взятый с противоположным знаком. В последнем столбце L –строки (т.е. в правом нижнем углу таблицы) помещают значение свободного члена целевой функции со своим знаком. Чаще всего этим значением оказывается нуль. Пример начальной симплекс–таблицы:


Базисные переменные

Коэффициенты при переменных

Свободные члены

















































0


Для проверки решения на оптимальность просматривается последняя L – строка таблицы. Если коэффициенты, стоящие при свободных переменных неотрицательны, то полученное решение оптимально. Полученное решение единственно, если все эти коэффициенты строго положительны. Если среди неотрицательных коэффициентов при свободных переменных встречается хотя бы один нулевой, то задача имеет бесконечное множество решений. Если же в последней строке таблицы есть хотя бы один отрицательный коэффициент (при свободных переменных), а в соответствующем этому коэффициенту столбце нет ни одного положительного элемента, то целевая функция не ограничена на ОДР.

Наконец, если хотя бы один из коэффициентов, стоящих при свободных переменных, отрицательный и в соответствующем ему столбце есть хотя бы один положительный элемент, то полученное решение может быть улучшено. И можно переходить к шагу 4.
Шаг 4. Получение нового решения. Этот шаг условно может быть разделен на три более мелких шага.
Шаг 4.1. Выбор переменной, вводимой в список базисных переменных. Просматривается последняя строка симплекс – таблицы. Среди элементов этой строки выбирается максимальный по модулю отрицательный элемент. Столбец, в котором стоит этот элемент, называется разрешающим. Если, например, это p-ый столбец, то переменная вводится в список базисных переменных.

Шаг 4.2. Выбор переменной, выводимой из списка базисных переменных. Находят отношения элементов столбца свободных членов к элементам разрешающего столбца. При этом при делении на отрицательный, или нулевой элемент разрешающего столбца результат деления полагают равным +. Среди всех этих отношений находят минимальное. Строка, соответствующая минимальному отношению, называется разрешающей. Пусть, например, это q-ая строка, тогда базисная переменная выводится из списка базисных переменных. Элемент симплекс – таблицы, стоящий на пересечении разрешающих строки и столбца называется разрешающим, в рассмотренном случае это будет элемент .

Шаг. 4.3. Выполнение симплекс – преобразования и переход к новой симплекс – таблице. Элемент новой симплекс-таблицы вычисляется с помощью следующего симплекс – преобразования:

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

Новое решение имеет следующую структуру: все свободные переменные в нем полагаются равными нулю, а все базисные переменные – свободным членам, стоящим в одной строке с ними. После построения новой симплекс–таблицы следует вернуться к выполнению шага 3.
ПРИМЕР: Найти оптимальное решение задачи линейного программирования заданной математической моделью вида:

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


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

Шаг 1. Базисные переменные: , а свободные: . При этом начальное решение имеет вид: при этом .

Шаг 2. Целевая функция уже выражена через свободные переменные.

Шаг 3. Составим начальную симплекс–таблицу (верхняя в каскаде таблиц):



БП









СЧ



1

0

1

0

4



0

1

0

1

2

L

-1

-1

0

0

0



1

0

1

0

4



0

1

0

1

2

L

0

-1

1

0

4



1

0

1

0

4



0

1

0

1

2

L

0

0

1

1

6


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

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

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

Составим теперь новую симплекс – таблицу, которая помещена ниже предыдущей, начальной таблицы, под общей «шапкой».
Замечание. На практике обычно для экономии места все симплекс – таблицы располагают ниспадающим каскадом, одна под другой, под общей верхней «шапкой».
Возвращаемся к шагу 3. Новое решение имеет вид: , при этом , т.е. значение целевой функции возросло. Но это решение не оптимально, т.к. в столбце L – строки, соответствующем свободной переменной , имеется отрицательный элемент. При этом, не все остальные элементы этого столбца отрицательные, или нулевые, поэтому это решение может быть улучшено, и мы переходим к шагу 4.

Разрешающим будет второй столбец. Поскольку вторая строка будет разрешающей, а ее элемент разрешающим (аналогично выделен во второй таблице). Учитывая эти результаты, составим новую, третью симплекс – таблицу и возвратимся к шагу 3.

Последнее решение имеет вид: при этом .

Это решение оптимально, т.к. все числа, стоящие в L–строке в столбцах свободных переменных неотрицательны. Это решение единственно, т.к. они строго положительны.

Итак, получено оптимальное решение задачи линейного программирования в виде: .

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

Пусть дана исходная задача линейного программирования, заданная математической моделью в неканоническом виде:

Математическая модель двойственной ей задачи линейного программирования составляется по следующим правилам.
Правила составления модели двойственной задачи


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

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

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

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

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


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


  1. Ограничениями двойственной задачи будут неравенства, причем, если в целевой функции составляемой двойственной задачи требуется найти минимум, то ставится знак неравенства «больше или равно», если же – максимум, то знак «меньше или равно».


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

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

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

Если же одна из двойственных задач не имеет решения, ввиду того, что: , или: , то другая задача не имеет допустимых решений.

Теорема 2. Для оптимальности допустимых решений и пары двойственных задач необходимо и достаточно, чтобы они удовлетворяли системе уравнений:

Практическая сущность теоремы 2 состоит в следующем: если при подстановке оптимального решения в систему ограничений i-ое ограничение исходной задачи выполняется как строгое неравенство, то i-ая компонента оптимального решения двойственной задачи равна нулю, и, наоборот, если i-ая компонента оптимального решения двойственной задачи положительна, то i-ое ограничение исходной задачи удовлетворяется оптимальным решением как равенство.
Обе сформулированные теоремы позволяют определить оптимальное решение одной из задач двойственной пары по оптимальному решению другой.

ПРИМЕР: Математическая модель задачи линейного программирования имеет вид:

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

Применив приведенные правила, получим математическую модель двойственной задачи в виде:


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

Теперь подставим значения и в систему ограничений исходной задачи и получим:


На этом основании система ограничений двойственной задачи примет вид:

Решая ее, окончательно находим: и при этом: .

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


Решив эту систему, находим: и при этом: .
Рекомендуемая литература по теме 3.1: [3, 5. 6, 7, 8, 10].
ВОПРОСЫ:


  1. Каково основное отличие линейных моделей экономических задач от других видов таких моделей?



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



  1. Из каких двух крупных этапов состоит алгоритм графического метода решения задач линейного программирования?


  1. Чем отличается канонический вид математической модели от неканонического в случае задач линейного программирования?



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



  1. Какую часть оптимального решения двойственной задачи по известному оптимальному решению исходной задачи позволяет найти первая теорема двойственности?


  1. Какую часть оптимального решения двойственной задачи по известному оптимальному решению исходной задачи позволяет найти вторая теорема двойственности?



страница 1 ... страница 6страница 7страница 8страница 9страница 10 ... страница 12страница 13


скачать

Другие похожие работы: