задачи линейного программирования

реклама
Министерство образования и науки Российской Федерации
Курганский государственный университет
Кафедра «Экономическая теория и моделирование экономических процессов»
ЗАДАЧИ
ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Методические указания
к выполнению практических и самостоятельных заданий
для студентов специальности 010101 «Математика», экономических
специальностей 080105, 080109, а также для студентов направлений
010100 «Математика», 080100 «Экономика»
очной и заочной форм обучения
Курган 2012
Кафедра экономической теории и моделирования экономических процессов
Дисциплина: «Математические модели в экономике» (специальности: 010101,
080105, 080109; направления: 010100, 080100)
Составила:
канд. физ.-мат. наук, доцент С.Г. Лупашко
Утверждены на заседании кафедры
«25» июня 2012 г.
Рекомендованы методическим советом университета
«6» июля 2012 г.
2
Содержание
Введение……………………………………………………………………….4
1 Понятие о математическом программировании (МП)……………………4
2 Классификация задач математического программирования…………….4
3 Модели линейного программирования (ЛП)……………………………..5
4 Постановка задачи линейного программирования……………………..5
4.1 Общая форма задачи линейного программирования…………….6
4.2 Стандартная форма задачи линейного программирования……...6
4.3 Каноническая форма задачи линейного программирования…….7
5
Графический
способ
решения
задач
математического
программирования…………………………………………………………………..7
6 Симплекс-метод решения задач линейного программирования……….11
6.1 Реализация алгоритма симплекс-метода………………………12
6.2 Приведение задачи ЛП к каноническому виду…………………13
6.3 Применение симплекс-метода………………………………….13
6.4 Отыскание минимума линейной функции………………………18
7 Задачи для самостоятельной работы……………………………………...18
8 Вопросы к зачету…………………………………………………………..19
Список литературы…………………………………………………………..20
3
Введение
Разумно управлять сложными процессами в наше время невозможно без
использования адекватных математических моделей этих процессов.
Современная экономическая теория как на микроуровне, так и на
макроуровне включает математические модели и методы как естественный,
необходимый элемент. Практически все работы, удостоенные Нобелевской
премии по экономике, связаны с использованием математических методов
моделирования.
Использование математики в экономике позволяет:
• выделить и формально описать наиболее важные, существенные
связи экономических переменных и объектов;
• исходя из четко сформулированных исходных данных и
соотношений, методами дедукции получать выводы, адекватные изучаемому
объекту в той мере, что и сделанные предпосылки;
• индуктивным путем получать новые знания об объекте;
• точно и компактно излагать положения экономической теории,
формулировать ее понятия и выводы.
Развитие микроэкономики, макроэкономики, прикладных дисциплин
связано с высоким уровнем их формализации. Основу для этого заложил
прогресс в области прикладной математики – теории игр, математического
программирования, математической статистики.
Модели экономических процессов чрезвычайно разнообразны по форме
математических зависимостей. Особенно важно выделить класс линейных
моделей, наиболее удобных для анализа и вычислений и получивших большое
распространение.
1 Понятие о математическом программировании (МП)
Современная экономическая теория и практика требует применения
адекватных математических методов и моделей, использование которых
позволяет получить количественные оценки различных экономических
показателей и принять обоснованные экономические решения.
Математический инструментарий, применяемый в экономике, огромен.
2 Классификация задач математического программирования
Существует значительное
разнообразие видов, типов экономикоматематических
моделей, пригодных для использования в управлении
экономическими объектами и процессами и в той или иной степени
применяемых на практике.
По степени агрегирования объектов моделирования модели разделяются
на макроэкономические и микроэкономические.
К первым из них относят модели, отражающие функционирование
экономики как единого целого, в то время как микроэкономические модели связаны,
4
как правило, с такими звеньями экономики, как предприятия и фирмы.
Экономико-математические модели могут классифицироваться также по
характеристике математических объектов, включенных в модель. С этой
точки зрения могут быть выделены матричные модели, модели линейного и
нелинейного программирования, корреляционно-регрессионные модели, модели
теории массового обслуживания, модели сетевого планирования, модели
теории игр и т.д.
3 Модели линейного программирования (ЛП)
Экономико-математическая
модель
–
формализованное
(математическое) описание исследуемого экономического процесса или
объекта, включающее заранее заданные, известные параметры, показатели и
искомые неизвестные величины, характеризующие вместе состояние объекта,
его функционирование, объединенные между собой связями в виде
математических зависимостей, соотношений, формул. Эта модель выражает
закономерности экономического процесса в абстрактном виде с помощью
математических соотношений.
Модели линейного программирования применяются для нахождения
оптимального решения в ситуации распределения дефицитных ресурсов при
наличии конкурирующих потребностей. Например, с помощью модели
линейного программирования управляющий производством может определить
оптимальную производственную программу, т.е. рассчитать, какое количество
изделий каждого наименования следует производить для получения
наибольшей прибыли при известных объемах материалов и деталей, фонде
времени работы оборудования и рентабельности каждого вида изделий.
Большая
часть
разработанных
для
практического
применения
оптимизационных моделей сводится к задачам линейного программирования.
Однако с учетом характера анализируемых операций и сложившихся форм
зависимости факторов могут применяться и модели других типов. При
нелинейных формах зависимости результата операции от новых факторов –
модели нелинейного программирования; при необходимости включения в
анализ фактора времени – модели динамического программирования; при
вероятностном влиянии факторов на результат операции – модели
математической статистики.
4 Постановка задачи линейного программирования
Линейное программирование имеет дело с оптимизацией моделей, в
которых целевая функция линейно зависит от переменных решения.
Ограничения также представляют собой линейные неравенства или уравнения
относительно переменных решения.
Требование линейности означает, что и целевая функция, и ограничения
могут представлять собой только суммы произведений постоянных
коэффициентов на переменные решения.
5
4.1 Общая форма задачи линейного программирования
Задана система m линейных ограничений с n переменными:
a11x1 + a12x2 +… + a1nxn ≤ (≥) b1,
a21x1 + a22x2 +… + a2nxn ≤ (≥) b2,
…………………... ... ... ... ... ... ...,
ak1x1 + ak2x2 +… + aknxn ≤ (≥) bk,
ak+1,1x1 + ak+1,2x2 +… + ak+1,nxn = bk+1,
ak+2,1x1 + ak+2,2x2 +… + ak+2,nxn = bk+2,
… … … … … … … ... ... ... ... ... ... ...,
am1x1 + am2x2 +… + amnxn = bm,
где: x1 ≥ 0, x2 ≥ 0,…, xn ≥ 0,
а линейная функция Z = c1x1 + c2x2 +… + cnxn → mаx (min).
Необходимо найти переменные x1, x2,…, xn, которые удовлетворяют
системе ограничений и приводят целевую функцию к максимальному или
минимальному значению.
В общей форме задачи линейного программирования система
ограничений включает в себя как равенства, так и неравенства, а целевая
функция может стремиться как к максимуму, так и к минимуму.
4.2 Стандартная форма задачи линейного программирования
Задача линейного программирования, представленная в форме:
a11x1 + a12x2 +… + a1nxn ≤ (≥) b1,
a21x1 + a22x2 +… + a2nxn ≤ (≥) b2,
… … … … … … … … … ... ...,
am1x1 + am2x2 +… + amnxn ≤ (≥) bm,
где: x1 ≥ 0, x2 ≥ 0,…,xn ≥ 0,
а линейная функция Z = c1x1 + c2x2 +… + cnxn→ mаx (min), называется
стандартной формой задачи линейного программирования.
Особенность данной формы состоит в том, что в ней система ограничений
состоит
из
одних
неравенств,
переменные
решения
являются
неотрицательными, а целевая функция может стремиться как к максимуму, так и
к минимуму.
6
4.3 Каноническая форма задачи линейного программирования
Форма, в которой Z = c1x1
+ c2x2 +… + cnxn→ mаx,
a11x1 + a12x2 +… + a1nxn = b1,
a21x1 + a22x2 +… + a2nxn = b2,
… … … … … … … … … ...,
am1x1 + am2x2 +… + amnxn = bm,
все переменные неотрицательные: x1 ≥ 0, x2 ≥ 0,…, xn ≥ 0, система
ограничений представляет собой систему уравнений, а целевая функция
стремится к максимуму, называется канонической формой задачи линейного
программирования.
5
Графический
программирования
способ
решения
задач
математического
Рассмотрим графический способ решения задачи нахождения
оптимального плана.
Цех может выпускать два вида продукции: шкафы и тумбы для
телевизора. На каждый шкаф расходуется 3,5 кв. м стандартных ДСП, 1 кв. м
листового стекла и 1 человеко-день трудозатрат. На тумбу – 1кв. м ДСП,
2 кв. м стекла и 1 человеко-день трудозатрат. Прибыль от продажи 1 шкафа
составляет 200 у.е., а 1 тумбы – 100 у.е.
Материальные и трудовые ресурсы ограничены: в цехе работают
150 рабочих, в день нельзя израсходовать больше 350 кв. м ДСП и более
240 кв. м стекла.
Какое количество шкафов и тумб должен выпускать цех, чтобы
сделать прибыль максимальной?
Определим все элементы математической модели данной ситуации:
Переменные решения
В данном случае очевидно, что переменные решения, от которых зависит
целевая функция (прибыль) цеха, - это количество шкафов и тумб,
выпускаемых цехом ежедневно.
Обозначим их соответственно х1 и х2.
Целевая функция
Прибыль от продажи одного шкафа равна 200 у.е., значит, прибыль от
продажи х1 шкафов будет 200*х1. Аналогично прибыль от продажи х2 тумб
равна 100*х2,.
Z = 200*х1 + 100*х2.
7
Можно легко увидеть, что чем больше будут значения переменных х1 и х2,
тем больше будет и прибыль Z. Если бы было возможно бесконечно увеличивать
ежедневный выпуск шкафов и тумб, то и прибыль росла бы бесконечно. Однако
это невозможно, поскольку доступные ежедневно ресурсы цеха ограничены. Это
приводит к ограничениям на значения переменных х1 и х2.
Ограничения
Начнем с ограничения, которое вытекает из ограниченности трудовых
ресурсов. Поскольку каждый рабочий за 1 день может сделать либо 1 шкаф, либо
1 тумбу, ясно, что общее количество выпущенных изделий (шкафов и тумб) не
должно превышать числа рабочих в цехе. Иначе можно сказать, что поскольку
расход трудового ресурса равен 1 человеко-дню на 1 шкаф и 1 человеко-дню на
1 тумбу,
то общий расход
труда
на х1 шкафов и на х2 тумб будет
равен 1*х1 + 1*х2, что не должно превышать ежедневного «запаса труда»
в цехе, т.е. 150 человеко-дней: х1 + х1 ≤ 150.
Аналогично записывается неравенство, отражающее ограниченность
ежедневных запасов ДСП. Поскольку на 1 шкаф расходуется 3,5 кв. м ДСП,
а на 1 тумбу – 1 кв. м, то суммарный расход ДСП шкафов на х1 и х2 тумб будет
равен 3,5 х1 + х2 ≤ 350, поскольку не должно превышать ежедневного запаса ДСП
в цехе, т.е. 350 кв. м ДСП.
Точно так же получается неравенство, отражающее ограничение
ежедневных запасов стекла: х1 + 2х2 ≤ 240.
Не забываем добавлять условие неотрицательности переменных:
х1, х2 ≥ 0.
Переменные решения
Целевая функция
х1 – количество шкафов,
Z = 200*х1 + 100*х2 → mаx
Ежедневная прибыль цеха
х2 – количество тумб,
производимых ежедневно
Ограничения
3,5 х1 + х2 ≤ 350
х1 + 2 х2 ≤ 240
х1 + х1 ≤ 150
х1, х2 ≥ 0
Любое решение данной системы ограничений характеризуется двумя
числами х1 и х2 и может быть изображено как точка на плоскости в
координатах (х1, х2).
Те значения х1, х2, которые удовлетворяют имеющейся системе,
называют допустимыми.
8
Изобразим графически область оптимальных планов на координатной
плоскости х1, х2 (рисунок 1).
200
180
160
140
120
A
100
B
80
C
60
40
20
0
O
0
D
50
100
150
Рисунок 1 - Область оптимальных планов на координатной плоскости х1, х2
Для этого построим линии, изображающие решение системы уравнений:
3,5 х1 + х2 ≤ 350,
х1 + 2 х2 ≤ 240,
х1 + х1 ≤ 150,
х1, х2 ≥ 0.
Множество
решений
неравенства
с двумя переменными
а11 х1+ a12 х2 ≤ b1 является одной из двух полуплоскостей, на которые
плоскость делится прямой а11 х1+ a12 х2 = b1, включая и эту прямую, а
другая полуплоскость
с
той же
прямой
есть множество решений
неравенства а11 х1+ a12 х2 ≥ b1.
Для определения искомой полуплоскости рекомендуется задать
произвольную контрольную точку, не лежащую на границе построенной
прямой. Если неравенство выполняется в контрольной точке, то оно
выполняется и во всех точках полуплоскости, содержащей контрольную точку,
и не выполняется во всех точках другой полуплоскости.
В качестве контрольной точки удобно взять начало координат О (0; 0), не
лежащее на построенной прямой.
Среди множества допустимых решений можно найти оптимальные,
соответствующие оптимальной целевой функции.
Область, ограниченная получившимся многоугольником OABCD, и есть
область допустимых решений. Любая точка, лежащая внутри данной области,
имеет координаты х1, х2, удовлетворяющие системе неравенств.
9
Далее изобразим графически выражение для прибыли от производства
х1 шкафов и х2 тумб (рисунок 2).
120
100
80
х2 60
40
20
0
Z=max
C
Z=20 000
Z=10 000
0
20
40
60
х1
80
100
Z=max
Рисунок 2 - Графическое изображение выражения прибыли от производства
х1 шкафов и х2 тумб
Допустим, что нас устраивает прибыль 10 000 у.е. Изобразим линию, на
которой находятся планы, дающие такую прибыль.
В этом случае мы получим уже знакомое нам уравнение прямой
линии 10 000 = 200х1 + 100х2, которое, если сократить обе части на 100,
приводится к виду: 2х1 + х2 = 100.
График этой линии внутри области допустимых планов показан на
рисунке 2. Здесь же изображен участок линии, содержащий планы, для которых
достигается ежедневная прибыль Z = 20 000: 20 000 = 200х1 + 100х2 => 2х1 + х2
= 200.
Видно, что эти линии параллельны. Таким образом, становится ясно, что
графическим изображением уравнения для прибыли является семейство
параллельных прямых. Причем, чем больше прибыль Z, тем правее расположена
линия, содержащая планы, отвечающие этой прибыли.
Очевидно, что максимум прибыли достигается в угловой точке С области
допустимых планов. Прямая, проходящая через эту точку, - последняя из
семейства прямых прибыли, которая имеет хотя бы одну общую точку с областью
допустимых планов. Все прямые, лежащие правее ее (отвечающие большим
значениям прибыли), целиком находятся вне области допустимых планов.
В данном случае оптимальный план (точка С) лежит на пересечении границ
ресурсов «труд» и «ДСП». Ресурс «стекло» при этом расходуется не полностью.
Это означает, что координаты точки, соответствующей оптимальному плану,
одновременно удовлетворяют уравнениям двух линий, изображающих предельные
расходы ресурсов «труд» и «ДСП»:
3,5х1 + х2 = 350,
х1 + х2 = 150.
10
Решив эту систему уравнений (например, выразив х1 из второго уравнения и
подставив его в первое), нетрудно получить значения: х1 = 80, х2 = 70.
Подобное графическое решение очень трудно провести для задач с тремя
переменными решения. В этом случае область допустимых планов
представляет собой многогранник сложной формы в 3-мерном пространстве.
Что же касается задач с числом переменных более трех, то графически
изобразить область допустимых планов вообще нельзя, поскольку это
многогранник в многомерном пространстве.
Таким образом, графическое решение нельзя рассматривать как
практический метод решения задач математического программирования.
Однако проведенный графический анализ дает очень важное представление о
том, где находится оптимальный план-решение задачи. Оптимум (максимум
или минимум) целевой функции достигается в одной из угловых точек
области допустимых планов. Эта точка является пересечением границ тех
ресурсов, которые при оптимальном плане расходуются полностью.
Исключение из этого правила составляют случаи, когда линии
постоянной прибыли параллельны границе области допустимых планов,
соответствующей предельному расходу одного из ресурсов. В таких случаях
существует бесконечно много планов, отвечающих оптимальному значению
целевой функции. (В многомерном случае говорят, что гиперплоскость
постоянной прибыли параллельна гиперплоскости - границе одного из
ресурсов.)
6 Симплекс-метод решения задач линейного программирования
Как было показано выше, максимум или минимум целевой функции
достигается в одной из угловых точек области допустимых планов.
Сделанный вывод на первый взгляд позволяет предположить простой
метод решения задач линейного программирования: надо просто «перебрать»
все угловые точки области допустимых планов, в каждой из них вычислить
значение целевой функции и выбрать ту угловую точку, где целевая функция
оптимальна.
Однако количество угловых точек области допустимых планов растет
очень резко с ростом числа переменных и особенно числа ограничений.
Число перебираемых вершин можно сократить, если производить
перебор не беспорядочно, а с учетом изменений целевой функции, т.е.
добиваясь того, чтобы каждое следующее решение было «лучше» (или, по
крайней мере, «не хуже»), чем предыдущее (было ближе к оптимальному
решению).
Эта идея легла в основу универсального метода решения задач
линейного программирования – симплекс-метода.
11
6.1 Реализация алгоритма симплекс-метода
1 Записать
задачу в канонической форме: заменить все
ограничения-неравенства на ограничения-уравнения с положительной правой
частью.
2 Разделить переменные на базисные (основные) и свободные
(неосновные):
перенести свободные переменные в правую часть
ограничений-равенств.
Любые
m переменных системы m линейных уравнений
с n переменными (m < n) называются основными, если определитель
матрицы коэффициентов
при
них
отличен
от нуля. Тогда
остальные (n-m) переменных называются неосновными.
3 Выразить базисные переменные через свободные: решить систему
линейных уравнений (ограничений-равенств) относительно базисных
переменных.
4 Проверить неотрицательность базисных переменных: убедиться в
неотрицательности свободных членов в выражениях для базисных
переменных. Если это не так, то нужно вернуться к пункту 2, выбирая другой
вариант разделения переменных на базисные и свободные. (Этот пункт
существен только при первоначальном разделении переменных на базисные и
свободные.)
5 Выразить функцию цели через свободные переменные: базисные
переменные, входящие в целевую функцию выразить через свободные
переменные.
6 Вычислить полученное базисное решение и функцию цели на нем:
приравнять к нулю свободные переменные.
7 Проанализировать формулу функции цели: если все коэффициенты
при свободных переменных отрицательны, то найденное базисное решение
будет максимальным и задача считается решенной.
8 Определить включаемую в базис и исключаемую из базиса
переменную: если не все коэффициенты при свободных переменных в
целевой функции отрицательны, то следует выбрать свободную переменную
Хс, входящую в функцию с максимальным положительным коэффициентом,
и увеличивать ее до тех пор, пока какая-нибудь из базисных переменных Хб
не станет равной нулю. (Естественно, что при этом остальные свободные
переменные сохраняют свои нулевые значения.) Данную свободную
переменную Хс рассматривают как новую базисную переменную (переводят
в базис), а базисную переменную Хб рассматривают как новую свободную
переменную (исключаемую из базиса).
9 Используя новое разделение переменных на базисные и свободные,
вернуться к пункту 3 и повторять все этапы до тех пор, пока не будет найдено
оптимальное решение.
12
6.2 Приведение задачи ЛП к каноническому виду
Ограничения, представленные в виде неравенств, всегда можно привести
к канонической форме, вводя дополнительные неотрицательные переменные.
Таким образом, ограничение-неравенство ai1x1 + ai2x2 + … + ainxn ≤ bi
преобразуется в ограничение-равенство ai1x1 + ai2x2 + … + ainxn + xn+1 = bi,
а ограничение-неравенство ai1x1 + ai2x2 + … + ainxn ≥ bi преобразуется в
ограничение-равенство ai1x1 + ai2x2 + … + ainxn - xn+1 = bi.
Число вводимых дополнительных неотрицательных переменных при
преобразовании ограничений неравенств в ограничения равенства равно числу
преобразуемых неравенств.
Вводимые дополнительные переменные имеют вполне определенный
экономический смысл. Так, если в ограничениях исходной задачи линейного
программирования отражаются расход и наличие производственных ресурсов,
то числовое значение дополнительной переменной равно количеству
неиспользуемого соответствующего ресурса.
6.3 Применение симплекс-метода
Задача
об
использовании
ресурсов
(задача
планирования
производства)
Для изготовления двух видов продукции Р1 и Р2 используют четыре
вида ресурсов - S1, S2, S3, S4. Запасы ресурсов, число единиц ресурсов,
затрачиваемых на изготовление единицы продукции, приведены в таблице 1
(цифры условные).
Таблица 1 - Исходные данные для изготовления видов продукции Р1 и Р2
Вид ресурса
Запас ресурса
Число единиц ресурсов,
затрачиваемых на изготовление единицы
продукции
S1
18
Р1
1
Р2
3
S2
16
2
1
S3
5
-
1
S4
21
3
-
Прибыль, получаемая от единицы продукции Р1, составляет 2 у.е.,
от Р2 - 3 у.е.
Необходимо составить такой план производства продукции, при
котором прибыль от ее реализации будет максимальной.
13
Составим экономико-математическую модель задачи.
Обозначим х1, х2 – число единиц продукции, соответственно, Р1 и Р2,
запланированных к производству. Для их изготовления потребуется
(1*х1+3*х2) единиц ресурса S1, (2*х1+1*х2) единиц ресурса S2,
(0*х1+1*х2) единиц ресурса S3 и (3*х1+0*х2) единиц ресурса S4.
Так как потребление ресурсов S1, S2, S3, S4 не должно превышать их
запасов, соответственно 18, 16, 5 и 21 единицы, то связь между потреблением
ресурсов и их запасами выразится системой ограничений:
⎧ x1 + 3x2 ≤ 18,
⎪
⎪2 x1 + x2 ≤ 16,
⎨
⎪ x2 ≤ 5,
⎪3x ≤ 21.
⎩ 1
По смыслу задачи переменные x1 ≥ 0, x2 ≥ 0.
Суммарная
прибыль
Z
составит 2x1 у.е. от реализации
продукции Р1 и 3x2 у.е. от реализации продукции Р2, т.е. целевая
функция Z = 2x1 + 3x2 → mаx.
Итак, экономико-математическую модель задачи: найти такой план
выпуска продукции Х = (х1, х2), удовлетворяющий системе ограничений, при
котором целевая функция принимает максимальной значение.
Решение Приведем задачу к канонической форме. Для этого с помощью
дополнительных неотрицательных переменных перейдем к системе
уравнений. В данном случае все дополнительные переменные вводятся со
знаком «плюс», так как все неравенства имеют вид «≤».
Получим систему ограничений в виде:
⎧ x1 + 3 x2 + x3 = 18,
⎪
⎪2 x1 + x2 + x4 = 16,
⎨
x2 + x5 = 5,
⎪
⎪3x
+ x6 = 21.
⎩ 1
Для нахождения первоначального базисного решения разобьем
переменные на две группы – основные (базисные) и неосновные (свободные).
Так как определитель, составленный из коэффициентов при
дополнительных переменных x3, x4, x5, x6, отличен от нуля, то эти переменные
можно взять в качестве основных на первом шаге решения задачи.
14
При выборе основных переменных на первом шаге необязательно
составлять определитель из их коэффициентов и проверять, равен ли он
нулю. Достаточно воспользоваться правилом:
в качестве основных переменных следует выбрать (если возможно)
такие m переменных, каждая из которых вводится только в одно из m
уравнений системы ограничений, при этом нет таких уравнений
системы, в которые не входит ни одна из этих переменных.
Дополнительные переменные удовлетворяют этому правилу. Если
выбранные по этому правилу переменные имеют те же знаки, что и
соответствующие им свободные члены в правых частях уравнений, то
полученное таким образом базисное решение будет допустимым. В данном
случае так и получилось.
I шаг Основные переменные: x3, x4, x5, x6.
Неосновные переменные: x1, x2.
Выразим основные переменные через неосновные:
⎧ x3 = 18 − x1 − 3 x2 ,
⎪
⎪ x4 = 16 − 2 x1 − x2 ,
⎨
⎪ x5 = 5 − x2 ,
⎪ x = 21 − 3 x .
1
⎩ 6
(1)
Положив неосновные переменные равными нулю, т.е. x1 = 0, x2 = 0,
получим базисное решение Х1 = (0; 0; 18; 16; 5; 21), которое является
допустимым. Поскольку это решение является допустимым, то нельзя отбросить
возможность того, что оно оптимально. Выразим линейную функцию через
неосновные переменные: Z = 2x1 + 3x2 = 0. Легко понять, что функцию Z
можно увеличить за счет увеличения любой из неосновных переменных,
входящих в выражение для Z с положительным коэффициентом. Это можно
осуществить, перейдя к такому новому допустимому базисному решению, в
котором эта переменная будет неосновной, т.е. принимать не нулевое, а
положительное значение. При таком переходе одна из основных переменных
перейдет в неосновные, а геометрически произойдет переход к соседней
вершине многоугольника, где значение целевой функции возрастет (по крайней
мере, не уменьшится).
В данном примере для увеличения Z можно переводить в основные
либо x1, либо x2, так как обе эти переменные входят в выражения для Z со
знаком «плюс». Для определенности в такой ситуации будем выбирать
переменную, имеющую больший коэффициент, т.е. в данном случае x2.
Система уравнений (1) накладывает ограничения на рост переменной x2.
15
Поскольку необходимо сохранять допустимость решений, т.е. все
переменные должны оставаться неотрицательными, то должны выполняться
следующие неравенства (при этом x1 = 0 как неосновная переменная):
⎧ x3 = 18 − 3 x2 ≥ 0,
⎪
⎪ x4 = 16 − x2 ≥ 0,
⎨
⎪ x5 = 5 − x2 ≥ 0,
⎪ x = 21,
⎩ 6
откуда
⎧ x2 ≤ 18 / 3,
⎪
⎨ x2 ≤ 16 /1,
⎪ x ≤ 5 /1.
⎩ 2
Каждое уравнение системы (1), кроме последнего, определяет оценочное
отношение – границу роста переменной x2, сохраняющую неотрицательность
соответствующей переменной. Эта граница определяется абсолютной
величиной отношения свободного члена к коэффициенту при x2 при условии,
что эти числа имеют разные знаки. Последнее уравнение системы не
ограничивает рост переменной x2, так как данная переменная в него не входит
(или формально входит с нулевым коэффициентом). В этом случае условимся
обозначать границу символом ∞ . Также нет ограничений на рост переменной,
когда свободный член и коэффициент при переменной в уравнении имеют
одинаковые знаки.
Очевидно, что сохранение неотрицательности всех переменных
(допустимость решения) возможно, если не нарушается ни одна из полученных
во всех уравнениях границ. В данном примере наибольшее возможное значение
переменной x2 определяется как x2 = min {18/3; 16/1; 5/1; ∞} = 5.
При x2 = 5 переменная x5 обращается в нуль и переходит в неосновные
переменные.
Уравнение, в котором достигается наибольшее возможное значение
переменной, переводимой в основные (т.е. где оценка минимальна), называется
разрешающим. В данном случае – это третье уравнение. В системе ограничений
разрешающее уравнение будем выделять рамкой.
II шаг Основные переменные: x2, x3, x4, x6.
Неосновные переменные: x1, x5.
Выразим новые основные переменные через новые неосновные, начиная с
разрешающего уравнения (его используем при записи выражения для x2):
⎧ x2 = 5 − x5 ,
⎪
⎪ x3 = 18 − x1 − 3(5 − x5 ),
⎨
⎪ x4 = 16 − 2 x1 (5 − x5 ),
⎪ x = 21 − 3 x ,
1
⎩ 6
или
⎧ x2 = 5 − x5 ,
⎪
⎪ x3 = 3 − x1 + 3 x5 ,
⎨
⎪ x4 = 11 − 2 x1 + x5 ,
⎪ x = 21 − 3 x .
1
⎩ 6
16
(2)
Второе базисное решение Х2 = (0; 5; 3; 11; 0; 21) является допустимым.
Выразив целевую функцию через неосновные переменные на этом шаге,
получаем:
Z = 2x1 + 3x2 = 2x1 + 3(5 – x5) = 15 + 2x1 - 3x5.
Значение целевой функции Z2 = Z(Х2) = 15. Изменение значения целевой
функции легко определить заранее как произведение наибольшего возможного
значения переменной, переводимой в основные, на ее коэффициент в
выражении для целевой функции.
В данном случае ΔZ1 = 5·3 = 15,
Z2 = Z1 + ΔZ1 = 0 + 15 = 15.
Однако значение Z2 не является максимальным, так как возможно
увеличение
целевой
функции за счет роста переменной x1,
входящей в выражение для Z с положительным коэффициентом.
Система уравнений (2) определяет наибольшее возможное значение
для x1, как x1 = min {∞; 3/1; 11/2; 21/3} = 3.
Второе уравнение является разрешающим, переменная х3 переходит в
неосновные, при ΔZ2 = 3·2 = 6.
III шаг Основные переменные: x1, x2, x4, x6.
Неосновные переменные: x3, x5.
Выражаем новые основные переменные через новые неосновные, начиная
с разрешающего уравнения. После преобразований получаем:
⎧ x1 = 3 − x3 + 3x5 ,
⎪
⎪ x2 = 5 − x5 ,
⎨
⎪ x4 = 5 + 2 x3 − 5 x5 ,
⎪ x = 12 + 3 x − 9 x .
3
5
⎩ 6
(3)
Базисное решение Х3 = (3; 5; 0; 5; 0; 12) является допустимым.
Выражаем целевую функцию через неосновные переменные:
Z = 2x1 + 3x2 = 2(3 - х3 + 3x5) + 3(5 – x5) = 21 – 2х3 + 3x5,
Z3 = Z(Х3) = 21.
Третье допустимое базисное решение тоже не является оптимальным,
поскольку при неосновной переменной x5 в выражении целевой функции через
неосновные
переменные
содержится положительный коэффициент.
Переводим x5 в основные переменные. При определении наибольшего
возможного значения для x5 следует обратить внимание на первое уравнение в
системе (3), которое не дает ограничений на рост x5, так как
свободный член и коэффициент при x5 имеют одинаковые знаки.
Поэтому x5 = min {∞; 5; 1; 12/9} = 1.
17
Третье
уравнение
является
разрешающим,
переходит в неосновные. Тогда ΔZ3 = 1·3 = 3.
и
переменная
x4
IV шаг Основные переменные: x1, x2, x5, x6.
Неосновные переменные: x3, x4.
После преобразований получаем:
⎧ x1 = 6 + (1/ 5) x3 − (3/ 5) x4 ,
⎪
⎪ x2 = 4 − (2 / 5) x3 + (1/ 5) x4 ,
⎨
⎪ x5 = 1 + (2 / 5) x3 − (1/ 5) x4 ,
⎪ x = 3 − (3/ 5) x + (9 / 5) x .
3
4
⎩ 6
Базисное решение Х4 = (6; 4; 0; 0; 1; 3).
Целевая функция, выраженная через неосновные переменные, имеет вид:
Z = 24 – (4/5)х3 - (3/5)x4.
Это выражение не содержит положительных коэффициентов при
неосновных переменных, поэтому значение Z4 = Z(Х4) = 24 максимальное, а
решение Х4 - оптимальное.
Таким образом, прибыль предприятия принимает максимальное
значение 24 у.е. при реализации 6 единиц продукции Р1 (х1 = 6) и 4 единиц
продукции Р2 (х2 = 4). Дополнительные переменные x3, x4, x5, x6 показывают
разницу между запасами ресурсов каждого вида и их потреблением x3 = x4 = 0,
т.е. остатки ресурсов S1 и S2 равны нулю, а остатки ресурсов S3 и S4 равны
соответственно 1 и 3 единицам.
6.4 Отыскание минимума линейной функции
В случае, когда Z = c1x1 + c2x2 +… + cnxn → min, необходимо
модифицировать симплексный метод: на каждом шаге уменьшать линейную
функцию Z за счет той неосновной переменной, которая входит в выражение
целевой функции с отрицательным коэффициентом.
7 Задачи для самостоятельной работы
А) Решить задачу линейного программирования геометрически:
ƒ изобразить множество допустимых планов;
ƒ указать оптимальное решение (x1, x2), максимальное (минимальное)
значение целевой функции.
Б) Привести к каноническому виду.
18
В) Найти оптимальное решение задачи линейного программирования
симплексным методом.
1) F = 150x1 + 600x2 → max
При ограничениях:
2x1 + 10x2 ≤ 100,
4x1 + 5x2 ≤ 80,
x1 ≥ 0, x2 ≥ 0.
2) F = 2x1 - 6x2 → max
При ограничениях:
x1 + x2 ≥ 2,
-x1 + 2x2 ≤ 4,
x1 + 2x2 ≤ 8,
x1 ≥ 0, x2 ≥ 0.
3) F = 2x1 - x2 → min
x1 + x2 ≥ 4,
-x1 + 2x2 ≤ 2,
x1 + 2x2 ≤ 10,
x1 ≥ 0, x2 ≥ 0.
4) F = 20x1 + 30x2 → max
При ограничениях:
10x1 + 30x2 ≤ 180,
20x1 + 10x2 ≤ 160,
x1 ≥ 0, x2 ≥ 0.
5) F = 4x1 - 2x2 → max
При ограничениях:
x1 - 2x2 ≤ 0,
x1 + 2x2 ≥ 2,
2x1 + x2 ≤ 10,
x1 ≥ 0, x2 ≥ 0.
6) F = 3x1+2x2 → max
При ограничениях:
x1 + x2 ≤ 13,
x1 - x2 ≤ 6,
-3x1 + x2 ≤ 9,
x1 ≥ 0, x2 ≥ 0.
7) F = 2x1 + x2 → max
При ограничениях:
6x1 + 4x2 ≥ 24,
x1 - x2 ≤ 6,
-3x1 + x2 ≤ 9,
x1 ≥ 0, x2 ≥ 0.
8) F = x1 + 3x2 + 2x3 → min
3x1 - 2x2 + x3 ≥ 5,
x1 + x2 + 2x3 ≥ 10,
-2x1 + 3x2 - x3 ≥ 2,
x1 ≥ 0, x2 ≥ 0, x3 ≥ 0.
8 Вопросы к зачету
1
2
3
4
5
6
7
8
Экономико-математическая модель. Примеры задач.
Этапы проведения экономико-математического моделирования.
Классификация задач математического программирования.
Параметризация экономико-математических моделей.
Исследование операций. Общая постановка задачи.
Общая постановка задачи ЛП.
Геометрическая интерпретация симплексного метода.
Приведение задачи ЛП к каноническому виду.
19
9 Отыскание максимума (минимума) линейной функции.
10 Определение первоначального допустимого базисного решения.
Список литературы
1 Азарнова Т.В., Баева Н.Б. Модели производственных процессов,
логистики и риска: Методическое пособие для вузов. - 2-е изд. - Воронеж: Издво ВГУ, 2009. - 88 с.
2 Баусова З.И.,
Прокофьев О.В.
Финансовые
вычисления в
математической экономике с применением MS Excel: Учебное пособие.
- Пенза: Изд-во ПИЭРАУ, 2008. - 39 с.
3 Бережная Е.В. Математические методы моделирования экономических
систем: Учебное пособие для вузов - 2-е изд., перераб. и доп. - М.: Финансы и
статистика, 2010. - 432 с.
4 Вуколов Э.А.
Основы статистического анализа. Практикум по
статистическим методам и исследованию операций с использованием пакетов
STATISTICA и EXCEL: Учебное пособие. - 2-e изд., испр. и доп. - М.: Высшее
образование, 2011. - 464 с.
5 Дорохина Е.Ю., Халиков М.А. Моделирование микроэкономики:
Учебное пособие для вузов / Под общ. ред. Н.П.Тихомирова. – М.: Изд-во
«Экзамен», 2010.- 224 с.
6 Казаков О.Л., Миненко С.Н., Смирнов Г.Б. Экономико-математическое
моделирование: Учебно-методическое пособие. - М.: МГИУ, 2009. – 136 с.
7 Кремер Н.Ш., Путко Б.А., Тришин И.М. и др. Исследование операций в
экономике: Учебное пособие для вузов / Под ред. проф. Н.Ш. Кремера. - М.:
ЮНИТИ, 2011. - 430 с.
8
Миненко
С.Н.
Экономико-математическое
моделирование
производственных систем: Учебное пособие для вузов. - М.: МГИУ, 2010. – 140 с.
9 Орлова И.В., Половников В.А. Экономико-математические методы и
модели: компьютерное моделирование: Учебное пособие. - 3-e изд., перераб. и
доп. - М.: Вузовский учебник, 2012. – 365 с.
20
ЛУПАШКО СВЕТЛАНА ГЕННАДЬЕВНА
ЗАДАЧИ
ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Методические указания
к выполнению практических и самостоятельных заданий
для студентов специальности 010101 «Математика», экономических
специальностей 080105, 080109, а также для студентов направлений
010100 «Математика», 080100 «Экономика»
очной и заочной форм обучения
Редактор О.Г. Арефьева
____________________________________________________________________
Подписано к печати
Формат 60х84 1/16
Бумага тип. № 1
Печать трафаретная
Усл. печ. л. 1,5
Уч. - изд. л. 1,5
Заказ
Тираж 100
Цена свободная
____________________________________________________________________
Редакционно-издательский центр КГУ.
640669, г. Курган, ул. Гоголя, 25.
Курганский государственный университет.
21
Скачать