![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тема 5. Линейные задачи оптимизации. ⇐ ПредыдущаяСтр 7 из 7
Рассмотрим ряд конкретных прикладных задач, в которых надо найти экстремум (максимум или минимум) линейной функции многих переменных при наличии линейных ограничений, т.е. равенств или неравенств, связывающих эти переменные. Область математики, разрабатывающая теорию и численные методы решения таких задач – линейное программирование. Общие методы решения таких задач мы рассмотрим позже. Задачи будем решать графическим способом. Его целесообразно использовать для решения задач с двумя переменными, ограничения которых заданы в виде неравенств и равенств, или для задач со многими переменными, ограничения которых заданы равенствами, при условии, что в этой системе не более двух свободных переменных. Ограничимся первыми. Для практического решения экономических задач математическими методами надо составить математическую модель задачи, т.е. записать ее с помощью математических выражений. Задача 10. Предприятие для производства двух видов продукции может использовать 48 станков типа А, 36 станков типа В и 12 станков типа С. По техническим условиям на производство единицы продукции первого вида требуется занять 4 станка А и 2 станка В, для производства единицы продукции второго вида требуется 2 станка А, 4 станка В и 2 станка С. Прибыль от реализации одной единицы продукции первого вида – 3 тысячи рублей, второго вида – 4 тысячи рублей. Составить план выпуска продукции, обеспечивающий максимальную прибыль. Решение. Составим математическую модель задачи. Обозначим через Перейдем к анализу технических условий производства. Для производства
Точно так же получим ограничения по станкам соответственно типов В и С:
По смыслу задачи: Любой план
Итак, математически задача отыскания оптимального плана производства изделий сводится к определению таких Соотношения (1)-(5) образуют математическую модель задачи:
Решим задачу (6) графическим методом. Для построения области допустимых значений строим соответствующие данным неравенствам граничные прямые:
по точкам пересечения с осями координат. Для прямой (I) это точки: Область допустимых решений определяется как общая часть пяти полуплоскостей, соответствующим трем данным неравенствам, и неравенствами
Рис. 1
Теперь обратимся к функции (5), которая носит название целевой. Линии уровня функции Можно доказать, что при перемещении линии уровня линейного функционала параллельно себе в направлении вектора Найдем координаты этой точки, решив систему уравнений: Подставим найденные значения в (5):
Ответ. Максимальное значение прибыли 46 тыс. рублей обеспечивает план выпуска продукции: 10 ед. продукции первого вида и 4 ед. продукции второго вида. Пример 2. Животное должно получать ежедневно не менее 18 единиц вещества А и не менее 20 единиц вещества В. Один килограмм I вида корма содержит 6 ед. вещества А и 5 ед. вещества В. Один килограмм II вида корма содержит 3 ед. вещества А и 4 ед. вещества В. Цена корма I вида 10 руб., II вида – 8 руб. за кг. Установить рацион кормления животных с учетом биологических требований, дающий минимальные затраты. Решение. Обозначим через Количество единиц вещества А, содержащееся в рационе
Ограничение по содержанию вещества B в рационе
Естественно также, что
В принятых обозначениях стоимость рациона выражается в виде функции:
Итак, задача сводится к определению
Решим ее графическим методом. Проведем построение аналогично примеру 1. Областью допустимых решений задачи является выпуклая многогранная неограниченная область х2 Построим нулевую линию уровня
Перемещаем прямую
Так как
Рис. 2 Ответ: задача имеет неединственное решение. Минимальная стоимость рациона кормления – 40 рублей, оптимальный рацион можно рассчитать по формулам: Из решений задач линейного программирования графическим методом мы можем сделать следующие основные выводы: 1. Если область допустимых решений задачи является выпуклым многогранником, то оптимальное решение задачи всегда существует и совпадает, по крайней мере, с одной из угловых точек этого многогранника. 2. Если область допустимых решений задачи является выпуклой многогранной областью, то оптимальное решение задачи либо не существует, либо существует и достигается, по крайней мере, в одной из угловых точек области. Можно доказать, что каждой угловой точке выпуклого многогранника или выпуклой многогранной области соответствует взаимно однозначным образом опорное (базисное неотрицательное) решение эквивалентной системы уравнений. Если оптимальное решение достигается более чем в одной угловой точке, то оно достигается в любой точке, являющейся выпуклой линейной комбинацией этих угловых точек, т.е. если эти угловые точки обозначить
Основной вывод. Если задача линейного программирования имеет оптимальное решение, то оно совпадает, по крайней мере, с одним из опорных решений системы ограничительных уравнений. Указанные свойства позволят в дальнейшем наметить общие методы решения таких задач.
Симплексный метод (с. м.) является одним из основных способов практического решения задач линейного программирования. Большинство широко распространенных программных средств, позволяющих решать задачи л. п., используют алгоритмы симплексного метода. ПРИМЕР. Решить задачу л. п. симплексным методом: Нам будет удобно привести данную задачу к каноническому виду следующим образом. Введем новую дополнительную переменную y1 такую, что будет выполняться равенство -x1+3x2+y1=3. При этом, очевидно, y1³ 0. Аналогично, для любых x1, x2, x3, удовлетворяющих второму неравенству системы, существует переменная y2³ 0 такая, что 2x1 - 2x2 + 2x3 + y2=1, и, наконец, существует y3³ 0, что - x1+4x2-2x3+y3= 0 для x1, x2, x3, удовлетворяющих третьему неравенству системы. Таким образом, исходная задача эквивалентна следующей:
Разрешим систему уравнений относительно введенных нами переменных y1, y2, y3 и запишем ее в виде удобном для применения м.ж.и.: Напомним, что переменные, относительно которых система разрешена (в нашем случае это y1, y2, y3), называются базисными, а остальные - свободными. Если свободные переменные приравняем нулю, то получим базисное решение. В нашем случае оно будет выглядеть так: x1 = 0, x2 = 0, x3 = 0, y1 = 3, y2 = 1, y3 = 0. Базисное решение, в котором все базисные переменные принимают неотрицательные значения, называется опорным решением. Таким образом, это опорное решение системы. Запишем систему и целевую функцию z в таблицу1. Такая таблица называется симплексной. Таблица 1
Здесь коэффициенты из каждой строки умножаются на соответствующие заголовки. Таким образом, из таблицы z = - 2 (- x1) + 4 (- x2) - 3 (- x3) + 2 * 1 или z = 2x1 - 4x2 + 3x3 + 2, то есть целевая функция записана в таблицу верно. Теперь мы будем перебирать одно за другим базисные решения, пока не получим оптимальный план или не убедимся в неразрешимости рассматриваемой задачи. На данном примере рассмотрим алгоритм перехода от опорного плана к оптимальному. Для того чтобы найти новое базисное решение, достаточно выбрать разрешающий столбец и разрешающую строку. Разрешающий столбец будем выбирать по наименьшему отрицательному элементу z - строки, кроме свободного члена. Выбранный столбец будем отмечать стрелкой. (В таблице 1 это столбец (- x3).) Для того чтобы выбрать разрешающую строку, разделим свободный член каждой строчки на элемент этой же строки, находящийся в выбранном столбце. Получаем в первой строке 3/3; во второй строке - 1/2; в третьей строке - 0 / (-2). Полученное таким образом отношение назовем симплексным отношением (с. о.), если оно больше нуля или имеет вид 0/a, где a > 0. В нашем случае 3/3 и 1/2 - симплексные отношения, а 0/(-2) не является симплексным отношением. Разрешающую строку будем выбирать по наименьшему симплексному отношению разрешающего столбца. В нашем примере надо выбрать вторую строку, так как 1/2 < 3/3. Пересчитываем элементы по правилам М.Ж.И.: Таблица 2
В том случае, когда z -строка не содержит отрицательных элементов (не считая свободного члена), симплексная таблица соответствует оптимальному плану. В самом деле, выписывая целевую функцию из таблицы 4 (для которой выполнено указанное выше условие), получаем:
z = 1 (- x1) + 1 (- x2) + 3/2 (- y2) + 7/2 *1.
Так как все переменные неотрицательны, то каждое из первых трех слагаемых меньше или равно 0. Следовательно, наибольшее значение функция z будет принимать тогда, когда x1 = x2 = y2 = 0. Базисные переменные в этом случае будут равны своим свободным членам, то есть y1 = 3/2, x3 = 1/2, y3 = 1. В ответ обычно не выписывают значения дополнительных переменных y. Таким образом, таблица 4 - последняя в решении задачи примера 6, который закончим, записав ОТВЕТ: zmax = 3, 5 при x1 = x2 = 0, x3 = 0, 5.
Приведем пример решения транспортной задачи.
Задача.ЗаЗЗЗЗЗ ЗЗЗЗЗЗЗзз ПРИМЕР. Фирма должна отправить некоторое количество кроватей с четырех складов в три магазина. Запасы на складах соответственно: а 1=19, а 2=5, а 3=8, а 4=18, а потребности магазинов: в 1=15, в2=22, в 3=13. Матрица тарифов: Решение. Так как u1+v2=7, u1+v3=6, u2+v2=6, u3+v1=5, u4+v1=7, u4+v2=10. Полагая u1=0, находим v2=7, v3=6, u2= -1, u4=3, v1=4, u3=1. Для проверки оптимальности опорного плана находим оценки свободных клеток по формуле Wij=cij-(ui+vj). Получим W11=11, W21=5, W23=3, W32=2, W33=-1, W43=0. Так как среди оценок есть отрицательные, то план перевозок не является оптимальным.
Таблица 1
Для его улучшения построим для клетки с отрицательной оценкой цикл (если их несколько, то выберем клетку с наибольшей по модулю отрицательной оценкой) и переместим груз по циклу:
6 + - 13 14 5 + 8 - 8 7 + - 11 15 3 Наименьшее из чисел в минусовых клетках
Таблица 2
Для проверки оптимальности этого плана аналогично находим потенциалы (результат заносим в таблицу) и оцениваем свободные клетки. Так как среди оценок свободных клеток нет отрицательных, то полученный план является оптимальным. При данном плане стоимость перевозок zmin=14× 7+5× 6+5× 6+8× 6+15× 7+3× 10=341. В оптимальном плане среди оценок свободных клеток есть нулевая W34=0, это говорит о том, что оптимальное решение не единственное. Для получения другого оптимального решения надо построить цикл для этой клетки и перераспределить груз по циклу: 14 5 17 2 + - 3 - + 3 Получим другой оптимальный план:
Замечание. Выполнение условия Как справится с дисбалансом? Если спрос превышает предложение, то надо ввести фиктивного поставщика с нулевой стоимостью перевозок. Продукция этого поставщика на самом деле поставляться не будет. Спрос на нее не будет удовлетворен. Если предложение превышает спрос, то надо ввести фиктивного потребителя с нулевой стоимостью перевозок. В окончательном решении поставленная этому потребителю продукция будет означать, что груз останется у поставщика. Вырожденность в транспортной задаче возникает, если одна или более базисных переменных обращается в 0. Проблему можно решить. На каждом шаге следует различать базисные переменные, которые равны 0 и стоят в соответствующих клетках, и свободные переменные. При построении первого опорного плана могут возникнуть трудности, если на каком-то шаге, кроме последнего, удаляется одновременно из рассмотрения и строка и столбец. В этом случае из дальнейших рассмотрений следует исключить только одну из них. Другая будет ликвидирована при присвоении базисной переменной значения 0. В результате получается m+n-1 базисных переменных и столько же заполненных клеток (даже если некоторые базисные переменные обратились в 0). Трудности могут возникнуть и при улучшении базисного допустимого решения. Пересчет по циклу может обратить в 0 более одной базисной переменной. В этом случае важно помнить, что только одна из переменных должна стать свободной, остальные следует сохранить базисными, но с нулевыми значениями.
|