3. Задача линейного программирования
Задача 3. Для изготовления двух видов продукции и используют четыре вида ресурсов , , , . Запасы ресурсов, число единиц ресурсов, затрачиваемых на изготовление единицы продукции, а также прибыль, получаемая от реализации единицы продукции, приведены в таблице (цифры условные)
Ресурсы | Число единиц ресурсов, затрачиваемых на изготовление единицы продукции | Запасы ресурсов | |
|
| ||
| 2 | 6 | 36 |
| 2 | 1 | 16 |
| - | 1 | 5 |
| 3 | - | 21 |
Прибыль от единицы продукции (усл. ден. ед.) | 2 | 3 |
|
Найти такой план производства продукции, при котором прибыль от ее реализации будет максимальной.
Требуется:
1) Составить математическую модель данной задачи.
2) Решить полученную задачу линейного программирования графическим методом.
3) Решить задачу симплекс-методом.
Решение:
1) Для составления математической модели поставленной задачи сначала введем переменные:
- количество единиц продукции , планируемое к выпуску;
- количество единиц продукции , планируемое к выпуску.
Затем запишем выражение целевой функции, имеющей смысл суммарной прибыли от реализации выпущенной продукции: .
Далее составим систему ресурсных ограничений (затраты соответствующего ресурса не должны превышать его запаса):
По смыслу задачи переменные должны быть неотрицательными:
, .
В результате получаем математическую модель стандартной задачи линейного программирования в нормальной форме ([3]):
Найти такие значения переменных и , которые удовлетворяют системе линейных неравенств
и доставляют наибольшее значение целевой функции
.
2) при решении поставленной выше задачи линейного программирования графическим методом будем следовать приведенному в работе [4] алгоритму графического метода.
В системе координат на плоскости переменных построим выпуклый многоугольник допустимых значений переменных. Для этого сначала построим ограничивающие этот многоугольник прямые, уравнения которых получаются заменой в ограничениях на переменные знаков неравенств на соответствующие равенства:
, опорные точки (0; 6) и (18, 0);
, опорные точки (0; 16) и (8, 0);
(горизонтальная прямая);
(вертикальная прямая);
(ось );
(ось ).
Затем определим полуплоскости, задаваемые каждым из неравенств системы ограничений, и находим пересечение выделенных полуплоскостей. В результате получаем многоугольник .
Далее находим вектор-градиент целевой функции и строим его, прикладывая в начале координат. Заметим, что целевая функция возрастает в направлении вектора-градиента. После этого строим нулевую линию уровня целевой функции , которая проходит через начало координат и перпендикулярна вектору-градиенту .
Затем передвигаем нулевую линию уровня параллельно самой себе в направлении вектора-градиента до тех пор, пока она не займет предельное крайнее положение по отношению к выпуклому многоугольнику . Этим положением является точка (см. рис.).
Наконец, определяем на пересечении каких ограничивающих прямых лежит угловая точка : ; находим координаты этой точки, решая соответствующую систему уравнений
имеем (6; 4), т.е. , ; и вычисляем значение целевой функции в этой точке:
.
Примечание. В случае решения задачи минимизации целевой функции целевую линию уровня следует передвигать до первого соприкосновения с выпуклым многоугольником допустимых значений переменных.
3) Симплекс-метод решения задачи линейного программирования работает применительно к канонической форме. Поэтому предварительно перейдем от указанной выше нормальной формы рассматриваемой задачи к канонической форме с помощью надлежащего преобразования целевой функции и введения дополнительных неотрицательных (слабых) переменных , , , :
;
где .
Краткое описание алгоритма симплекс-метода содержится в работе [5], схему и терминологию которого мы будем использовать ниже.
Включим выражение целевой функции в систему уравнений канонической формы задачи и представим ее в специальном виде:
Составим расширенную матрицу этой специальной системы и назовем ее начальной симплекс-таблицей. Для удобства в таблице выделены первая строка и первый столбец для целевой функции а также последний столбец свободных членов.
СТ-0
|
|
|
|
|
|
|
|
1 | 2 | 3 | 0 | 0 | 0 | 0 | 0 |
0 | 1 | 3 | 1 | 0 | 0 | 0 | 18 |
0 | 2 | 1 | 0 | 1 | 0 | 0 | 16 |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 7 |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 5 |
Все переменные специальной системы оказались разбитыми на две группы:
- базисные переменные , , , (в СТ-0 им соответствуют "единичные" столбцы) и
- свободные переменные , (им соответствуют не "единичные" столбцы в СТ-0).
Отметим, что в данной задаче специальная система имеет опорное (неотрицательное базисное) решение: , , , , , , которое получается, если в специальной системе все свободные переменные положить равными нулю. Соответствующие этому опорному решению базисное значение целевой функции .
Суть симплекс-метода заключается в упорядоченном переходе от одного опорного решения специальной системы уравнений к другому ее опорному решению, имеющему меньшее (не большее) значение целевой функции . Для нахождения нового опорного решения одну из свободных переменных переводят в разряд базисных, а соответствующую базисную переменную переводят в разряд свободных переменных. Такая процедура называется процедурой однократного замещения. Требования в выбору этих переменных указаны в алгоритме симплекс-метода ([4], [5]).
Опишем подробно первый шаг применения симплекс-метода, т.е. процедуру однократного замещения.
В первой строке для целевой функции начальной симплекс таблицы (СТ-0) находим наибольший положительный коэффициент , который и определяет так называемый разрешающий столбец и ту свободную переменную , которую следует перевести в разряд базисных.
Далее находим отношения свободных членов СТ-0 к соответствующим положительным коэффициентам выделенного разрешающего столбца:
; ;
и среди этих отношений выбираем наименьшее . Оно и определяет так называемую разрешающую строку. На пересечении разрешающей строки и разрешающего столбца расположен разрешающий элемент (в данном случае ).
Далее вычисления организуются в следующем порядке:
- разрешающая строка делится на разрешающий элемент и переписывается в новую симплекс-таблицу СТ-1;
- методом Гаусса с помощью преобразованной разрешающей строки получаем нули во всех элементах разрешающего столбца, кроме разрешающего элемента.
Этим заканчивается процедура однократного замещения, и в результате получаем новую симплекс-таблицу
СТ-1
|
|
|
|
|
|
|
|
1 | 2 | 0 | 0 | 0 | 0 | -3 | -15 |
0 | 1 | 0 | 1 | 0 | 0 | -3 | 3 |
0 | 2 | 0 | 0 | 1 | 0 | -1 | 11 |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 7 |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 5 |
Новое опорное решение: , , , , , , а соответствующее ему базисное значение целевой функции .
Далее описанная процедура однократного замещения повторяется. Процесс последовательных приближений (итераций) к оптимальному решению следует повторять до тех пор, когда все коэффициенты в первой строке для целевой функции окажутся неположительными. Тогда будет достигнуто оптимальное решение.
Приведем последующие шаги табличной реализации симплекс-метода решения поставленной задачи:
СТ-2
|
|
|
|
|
|
|
|
1 | 0 | 0 | -2 | 0 | 0 | 3 | -21 |
0 | 1 | 0 | 1 | 0 | 0 | -3 | 3 |
0 | 0 | 0 | -2 | 1 | 0 | 5 | 5 |
0 | 0 | 0 | -1 | 0 | 1 | 3 | 4 |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 5 |
СТ-3
|
|
|
|
|
|
|
|
1 | 0 | 0 |
|
| 0 | 0 | -24 |
0 | 1 | 0 |
|
| 0 | 0 | 6 |
0 | 0 | 0 |
|
| 0 | 1 | 1 |
0 | 0 | 0 |
|
| 1 | 0 | 1 |
0 | 0 | 1 |
|
| 0 | 0 | 4 |
Таким образом, оптимальное решение рассматриваемой задачи линейного программирования выражается равенствами
, , , , , , а соответствующее ему оптимальное значение целевой функции .
Примечание. Если в систему ограничений задачи линейного программирования входят неравенства типа "больше или равно"
,
то для приведения задачи к канонической форме следует заменить каждое такое неравенств равносильной ему системой соотношений:
где - дополнительная неотрицательная балансовая переменная.
В этом случае специальная система не имеет начального опорного решения и для получения допустимого базисного решения нужно сначала перевести базисную переменную в разряд свободных переменных, используя процедуру однократного замещения симплекс-метода.
- Методические указания для выполнения контрольной работы
- Заведующий кафедрой л.С. Чебыкин
- Введение
- 1. Анализ доходности и риска финансовых операций
- 2. Формирование оптимального портфеля ценных бумаг
- 3. Задача линейного программирования
- 4. Транспортная задача
- 5. Условный экстремум. Метод Лагража
- 6. Оптимальное распределение капиталовложений. Метод динамического программирования
- 7. Модель Леонтьева межотраслевого баланса