Задачи линейного программирования. 2
Введение.
Большое число экономических задач сводится к линейным математическим моделям. Традиционно оптимизационные линейные математические модели называются моделями линейного програм-мирования. Этот термин появился в конце 30-х годов, когда про-граммирование на компьютере еще не было развито, и соответствует не очень удачному переводу английского "programmation". Под линейным программированием понимается линейное планиде, т. е. получение оптимального плана—решения в задачах с линейной структурой.
1. Постановка задачи линейного программирования (ЛП)
В общем виде задача линейного программирования ставится следующим образом.
Максимизировать (минимизировать) функцию
при ограничениях
где xj,
–управляющие переменные или решения
задачи
(1)–(4); bj, aij,
– параметры, f – целевая функция
или критерий эффективности задачи.
Функция (1) – линейная, ограничения (2)–(4) – линейные. Задача содержит п переменных и т ограничений.
Решить задачу линейного программирования – это значит найти значения управляющих переменных xj, удовлетворяющих ограничениям (2)–(4), при которых целевая функция (1) принимает минимальное или максимальное значение.
В зависимости от вида целевой
функции (1) и ограничений
(2)–(4) можно выделить несколько типов
задач линейного программирования или
линейных моделей: общая линейная задача,
транспортная задача, задача о назначениях.
В этой главе рассматривается общая линейная задача.
Приведем пример экономической задачи, сводящейся к линейной модели.
Пример 1
Предприятие производит изделия трех видов, поставляет их заказчикам и реализует на рынке. Заказчикам требуется 1000 изделий первого вида. 2000 изделий второго вида и 2500 изделий третьего вида.
Условия спроса на рынке ограничивают число изделий первого вида 2000 единицами, второго – 3000 и третьего – 5000 единицами.
Для изготовления изделий используется 4 типа ресурсов. Количество ресурсов, потребляемых для производства одного изделия, общее количество ресурсов и прибыль от реализации каждого вида изделия заданы в табл. 1.
Таблица 1
Тип ресурсов |
Вид изделий |
Всего ресурсов | ||
1 |
2 |
3 | ||
1 2 3 4 |
500 1000 150 100 |
300 200 300 200 |
1000 100 200 400 |
25000000 30000000 20000000 40000000 |
Прибыль |
20 |
40 |
50 |
|
Как организовать производство, чтобы:
1) обеспечить заказчиков;
2) не допустить затоваривания;
3) получить максимальную прибыль?
Построение математической модели 1.
Выполним последовательно этапы построения математической модели, сформулированные в пункте 3.
1) Цель – получение максимальной прибыли.
2) Параметрами являются все числовые данные, приведенные в условии задачи.
3) Управляющие переменные:
x1 – число изделий первого вида;
x2 – число изделий второго вида;
x3 – число изделий третьего вида;
4) Ограничения: обеспечить заказчиков, не превысить, запас ресурсов, не допустить затоваривания рынка.
В соответствии с этими ограничениями выпишем область допустимых решений задачи:
(5)
Первые три неравенства в системе (5) соответствуют спросу заказчиков. Неравенства с четвертого по шестое формализуют спрос на рынке. Последние четыре неравенства соответствуют ограничениям по ресурсам.
5) Целевая функция или критерий эффективности задачи имеет вид
Р = 20х1 + 40 х2 + 50 х3 max. (6)
В формуле буквой Р обозначена
прибыль. Ее надо максимизировать. Каждое
слагаемое определяет прибыль от производства
изделий каждого вида соответственно в количествах х
(5)(6)— математическая модель поставленной задачи. Ограничения и целевая функция линейны по управляющим переменным, следовательно, данная модель является линейной. При составлении модели предполагалось, что прибыль линейно зависит от числа реализуемых изделий.
Приведем примеры некоторых
типичных экономических и
1.1. Планирование производства
Для изготовления различных видов изделий используются разные ресурсы. Общие запасы каждого ресурса, количество ресурса каждого типа, затрачиваемого на изготовление одного изделия каждого вида, и прибыль, получаемая от реализации одного изделия каждого вида, заданы. Нужно составить план производства изделий, обеспечивающий максимальную суммарную прибыль от реализации изделий.Построение математической модели.
Математическую модель строим по этапам, сформулированным в пункте 3.
1) Целью является максимизация прибыли.
2) Задача решается в общем виде, поэтому для определения параметров введем условные обозначения:
n – число различных видов изделий;
m – число различных типов ресурсов;
bi – запас ресурса i-го типа, ;
aij – количество ресурсов i-го типа для изготовления одного изделия j-го вида,
Pj – прибыль от реализации одного изделия j-гo вида.
3) Управляющие переменные xj, – число изделий j-го вида.
4) Ограничения задачи – это ограничения по ресурсам и условия неотрицательности управляющих переменных.
Таким образом, можно построить математическую модель.
(8)
(7), (8) – линейная математическая модель поставленной задачи. В результате ее расчета определяют оптимальный план производства, т. е. количество изделий каждого вида, которые надо изготовить так, чтобы при этом была максимальна прибыль (7) и не был превышен запас ресурсов (8)
1.2. Формирование минимальной
потребительской
продовольственной корзины
Задан ассортимент продуктов,
имеющихся в продаже. Каждый продукт
содержит определенное количество разных
питательных веществ (витаминов
и калорий). Известен требуемый человеку
минимум питательных веществ
каждого вида. Необходимо определить
требуемую потребительскую
1) Целью является
минимизация стоимости
2) Параметры задачи:
п – число различных продуктов, имеющихся в продаже;
m – число различных питательных веществ, необходимых человеку;
aij – содержание i-го питательного вещества в j-м продукте,
bt – количество i-го питательного вещества, необходимое человеку,
cj – стоимость единицы j-го продукта,
3) Управляющие переменные xj, – это количество j-го продукта, входящего в потребительскую корзину,
4) Область допустимых
решений определяется
(9)
5) Критерий оптимальности С имеет вид
(9), (10) – линейная математическая модель. После ее расчета определяют значения xj, удовлетворяющие ограничениям (9) и доставляющие минимум функции (10), т. е. рассчитывается состав минимальной потребительской продовольственной корзины.
1.3. Расчет оптимальной загрузки оборудования
Предприятию необходимо выполнить производственный заказ на имеющемся оборудовании. Для каждой единицы оборудования заданы: фонд рабочего времени, себестоимость на изготовление единицы продукции каждого вида и производительность, т. е. число единиц продукции каждого вида, которое можно произвести в единицу времени. Нужно распределить изготовление продукции между оборудованием таким образом, чтобы себестоимость всей продукции была минимальна. Составление математической модели.
1) Целью является минимизация себестоимости.
2) Параметры:
т – номенклатура, т. е. число различных видов продукции в производственном заказе;
bi – число единиц продукции i-го вида, ;
п – число единиц оборудования;
Tj – фонд времени работы оборудования j-го типа,
aij – производительность оборудования j -го типа по производству изделий i-го вида, ;
cij – себестоимость изготовления единицы продукции i-го вида на оборудовании j-го типа,
3) Управляющие переменные xij, – это время, в течение которого оборудование j-го типа занято изготовлением продукции i-го вида.
4) Область допустимых решений определяется ограничениями к (10) по фонду времени, ограничениями (11) по номенклатуре и условиями неотрицательности xij
(12)
5) Критерий оптимальности задается функцией
где С – суммарная себестоимость.
Система (11)–(13) – линейная математическая модель задачи. Она содержит m*m неизвестных (управляющих переменных) и т+пограничений, не считая условий (3.11). После расчета модели определяется оптимальная загрузка оборудования, т. е. время в течение которого оборудование каждого типа занято изготовлением продукции каждого вида.
1.4. Раскрой материала
На раскрой (распил) поступает материал нескольких видов в определенном количестве. Из этого материала необходимо изготовить различные изделия. Материал может быть раскроен разными способами
Каждый способ имеет свою
себестоимость и позволяет
Составление математической модели.
1) Цель – минимизация себестоимости раскроя.
2) Параметры:
п – число различных видов материала, поступающего на раскрой;
dj – количество материала j-го вида,
m – число различных видов изделий, которые надо изготовить;
bj – число изделий i-го вида,
l – число различных способов раскроя;
aijk – число изделий i-го вида, которое можно получить из единицы материала j-го вида при k-м способе раскроя ;
cjk – себестоимость раскроя единицы материала j-го вида k-м способом;
3) Управляющие переменные xjk – количество единиц материала j-го вида, раскраиваемых k-м способом;
4) Область допустимых
решений определяется
(14)
5) Критерий оптимальности задается функцией
(15)
(14)–(15) – линейная математическая модель поставленной задачи. Она содержит ml неизвестных (управляющих переменных) и п+тограничений, не считая условий неотрицательности переменных Xjk. После расчета модели определяется количество материала каждого вида, раскраиваемого различными способами.
Вместо критерия минимизации себестоимости в задаче может быть взят, например, критерий минимизации отходов. В этом случае в условии должно быть задано количество отходов, получаемых при каждом способе раскроя для единицы материала каждого вида.
2. Графический
метод решения задачи
Если число переменных в задаче линейного программирования (ЗЛП) равно двум, а ограничениями является система неравенств, то задачу можно решать графическим методом.
Пример 1
При продаже двух видов товара используется 4 типа ресурсов. Норма затрат ресурсов на реализацию единицы товара, общий объем каждого ресурса заданы в табл. 2.
Прибыль от реализации одной единицы товара первого вида составляет 2 усл. ед., второго вида – 3 усл. ед.
Требуется найти оптимальный
план реализации товаров, обеспечивающий
торговому предприятию
Таблица 2
Ресурсы |
Норма затрат ресурсов на товары |
Общее | |
1 -го вида |
2-го вида |
||
1 2 3 4 |
2 1 4 0 |
2 2 0 4 |
12 8 16 12 |
Решение
Это задача составления плана реализации товара при n=2, m=4.
Математическая модель имеет вид
В модели управляющие переменные х1,х2 – количество реализуемых изделий первого и второго вида, соответственно, Р – прибыль. Система неравенств включает ограничения по ресурсам. Количество ресурсов на реализацию товаров первого и второго вида не превышает общего количества ресурсов каждого типа.
Графическое решение.
Построим в плоскости X1OX2 обл
Рассмотрим точку с координатами х1 =0; х2 =0. Подставив их в первое неравенство, получаем 0≠12 – верно, следовательно, искомая полуплоскость лежит ниже прямой 2x1 +2x2 = 12; остальные полуплоскости находятся аналогичным образом.
Область OABCD – область допустимых решений задачи.
Для нахождения максимального значения Р проверим граничные. Точки из области решений.
Построим две линии уровня (рис. 1):
2x1 + 3x2 = 6;
2x1 +3х2=13.
Функция Р возрастает в направлении вектора-нормали = (2,3) следовательно, минимум находится в точке (0.0). Максимум определяем, передвигая нашу линию уровня в направлении вектора параллельно самой себе до тех пор, пока хотя бы одна ее точка будет принадлежать области допустимых решений.
В данном случае это точка: х1 = 4, х2 = 2;
при этом P=2*4+3*2=14.
Таким образом, для получения максимальной прибыли в размере 14 усл. ед. надо продать 4 изделия первого вида и 2 изделия второго вида.
Рис. 1. Графический метод решения задачи ЛП
Изложенный выше графический метод применим для решения задач линейного программирования следующего вида:
Алгоритм решения ЗЛП графическим методом.
1) Записывают уравнения прямых, соответствующих ограничениям (2.4), и строят их на плоскости x1ox3.
2) Определяют области, в которых выполняются ограничения задачи. Для этого выбирают произвольную точку на плоскости х1ох2 и подставляют ее координаты в первую часть одного из неравенств. Если неравенство верно, то искомая полуплоскость находится с той же стороны от прямой, что и точка; в противном случае искомая полуплоскость лежит с противоположной стороны от прямой. Эти действия последовательно выполняются для всех неравенств (2.4).
3) Определяют область допустимых решений задачи как область пересечения т полуплоскостей, соответствующих т ограничениям задачи.
4) Определяют направление возрастания (убывания) целевой функции f. Это можно сделать двумя способами. Можно построить вектор-нормаль , его направление показывает направление возрастания функции f, и противоположном направлении функция убывает. Можно просто построить две линии уровня функции f = K1; f = K2; (K1, K2 – произвольные константы, K1 K2), и по их расположению определить направление возрастания (убывания) функции.
5) Определяют граничную точку (точки) области допустимых решений, в которых целевая функция принимает максимальное или минимальное значение.
6) Вычисляют значения
найденной точки, решая
Возможны следующие варианты областей допустимых решений (рис. 2):
Рис. 2. Варианты областей. а – область допустимых
решений
– замкнутое множество (многоугольник); б – область допустимых
решений – открытое множество; в – область
допустимых решений – пустое множество
(система ограничений (18) несовместна);
г – область допустимых
решений состоит из единственной точки
А
На рис. 2 показаны варианты пересечения линии уровня целевой функции с областью допустимых решений. Может быть единственное решение – точка В, бесконечно много решений – отрезок CD (рис. 2, а), максимальным (минимальным) значением целевой функции может быть бесконечность (рис. 2, б). Область ограничений несовместимо (допустимых решений нет, рис. 2, в). И может быть только одна допустимая точка (рис. 2, г)
3. Основная задача линейного программирования (ОЗЛП)
В произвольной форме линейная математическая модель или задача линейного программирования имеет вид (1)–(4).
Наиболее распространенный метод ее решения – симплекс-метод. Заметим, что в случае двух переменных область допустимых решений, как правило, представляет собой замкнутый многоугольник (рис.2). Для п переменных областью допустимых решений является многомерный многогранник, подобный симплексу. Оптимальное решение, как правило, это вершина (граничная точка) такого многогранника. Симплекс-метод заключается в последовательном целенаправленном обходе вершин симплекса. В каждой следующей граничной точке симплекса значение целевой функции, в общем случае, улучшается.
Для применения симплекс-метода задачу следует записать в канонической форме:
(19)
(20)
В канонической форме записи все переменные неотрицательны, ограничениями являются уравнения, и требуется найти такие значенияxj, и, при которых целевая функция имеет максимум.
Переход к канонической форме записи производится с помощью следующих простых действий.
1) Если требуется найти минимум
2) Если ограничение содержит неравенство со знаком , то от него переходят к равенству, добавляя в левую часть ограничения дополнительную неотрицательную переменную.
3) Если ограничение содержит неравенство со знаком , то от него переходят к равенству, вычитая из левой части дополнительную неотрицательную переменную.
4) Если в задаче какая-либо
из переменных произвольна, то
от нее избавляются, заменяя
ее разностью двух других
Пример 2
Записать в канонической
форме задачу
Решение.
f1= – f= – 5x1 – 2x2 +3x3
Вычитая дополнительную неотрицательную переменную х4 из левой части первого неравенства, переходим к равенству.
Добавляя дополнительную
неотрицательную переменную х5
Произвольную переменную x3 зам
Окончательно получаем каноническую форму записи
Задача (19)–(20) называется основной задачей линейного программирования (ОЗЛП).
ОЗЛП не всегда имеет решение.
Во-первых, уравнения (20) могут оказаться несовместными.
Во-вторых, уравнения (20) могут оказаться совместными не в области неотрицательных решений.
В третьих, допустимые решения (10), (20) существуют, но среди них нет оптимального: функция f не ограничена в области допустимых решений.
Предположим, что все уравнения (20) линейно независимы, т. е. выражают независимые друг от друга условия задачи. Если это не так, то лишние уравнения надо просто исключить. Задачу (19)–(20) имеет смысл решать, когда число уравнений в системе ограничений (20) меньше числа входящих в них неизвестных: т < п. В противном случае, если т = п, то система (2.2) имеет единственное решение, и задача максимизации функции (19) не имеет смысла; если т > п, то система (20) переопределена и в общем случае не имеет решений.
Если т < п, то система (2.2) имеет бесконечное множество решений и среди них можно выбрать оптимальное, доставляющее максимум функции (3.19).
4. Симплекс-метод
Симплекс-метод является методом направленного перебора решений системы (20). Каждое следующее решение улучшает значение целевой функции. Симплекс-метод включает два этапа:
1) Определение начального решения, удовлетворяющего ограничениям (20).
2) Последовательное улучшение начального решения и получение оптимального решения задачи (19)–(20).
Любое решение задачи линейного программирования называется опорным планом задачи.
Система (20) содержит т линейно независимых уравнений, и их число меньше числа неизвестных, входящих в систему, следовательно, систему (20) можно разрешить относительно т неизвестных, например x1,x2,…xm, выразив их через остальные неизвестные
Коэффициенты aij,bi, , в полученной системе, естественно, отличны от коэффициентов системы (20), но для простотыобозначены той же буквой.
Данный переход осуществляется с помощью элементарных алгебраических преобразований, включающих умножение правой и левой частей уравнений на одно и то же число и их сложение и не влияющих на значение решений системы (20).
После указанных преобразований задача (19)–(20) записывается в следующем виде:
Алгоритм решения системы (21)–(22) симплекс-методом
Шаг 1. Получение начального решения.
Выбираются т переменных,
называемых базисными и обладающих следующим
свойством: они входят с коэффициентом
1 только в одно уравнение и с коэффициентом
0 в остальные уравнения системы (22).
Остальные п – т переменных называют свободными.
Все свободные переменные полагаются равными 0, а базисные переменные — равные правым частям соответствующих ограничений системы (22).
Пусть т базисных переменных — это переменные x1, x2,...,xm (в противном случае переменные всегда можно перенумеровать).Тогда начальное решение Х0 имеет следующий вид:
Хо ={x1= b1,х2=b2,...,хт = bm,
Если все bi 0, то начальное решение является допустимым. Переходят к шагу 3. В противном случае используют алгоритм нахождения начального решения.
Шаг 3. Выражение функции f только через свободные переменные.
Значения коэффициентов cj, , естественно, отличны от значений коэффициентов в формуле (21), но для простоты обозначены той же буквой.)

- Задачи линейного программирования
- Задачи линейного программирования
- Задачи линейного программирования
- Задачи лицензирования
- Задачи логопедического воздействия на детей с ОНР по формированию словаря
- Задачи маркетинга в условиях российского рынка
- Задачи маркетинговой логистики
- Задачи кадрого выбора
- Задачи календарного планирования
- Задачи коммунистических организаций, Белое Братство иерархическая структура
- Задачи корреляционно-регрессивного анализа и моделирования
- Задачи кредитно-денежной политики
- Задачи криминалистики
- Задачи линейного программирования