Методы математического программирования составляют раздел
математики, в котором изучаются методы нахождения минимума
или максимума функции конечного числа переменных при условии, что переменные удовлетворяют конечному числу дополнительных условий (ограничений), имеющих вид уравнений или неравенств. Различают линейное и нелинейное математическое программирование. Рассмотрим элементы линейного программирования (ЛП).
Линейным программированием называется раздел математики, в
котором изучаются методы нахождения минимума или максимума
линейной функции конечного числа переменных при условии, что переменные удовлетворяют конечному числу дополнительных ограничений,
имеющих вид линейных уравнений или неравенств. Таким образом,
задача линейного программирования (ЗЛП) в общем случае формулируется следующим образом: найти такие значения действительных
переменных х 1, х 2 ..., хm для которых целевая функция
Q(x) = р 1 х 1+ р 2 х 2+... + рnхn (10.1)(5.5)
принимает минимальное значение на множестве точек, координаты
которых удовлетворяют условиям
(10.2) (5.6)
где коэффициенты аij, bj, рj, (i =1, j =1,n) — действительные числа.
Можно предполагать, что
b 1≥0, b 2≥0 ,..., bn ≥0.
В матричном виде ЗЛПформулируется
АХ= b; х ≥0; Qmin(х) ≥ рrх,
где х =(х 1, х 2,..., x n)T Rn, А — матрица размера тn;
р =(p 1, p 2, …, p n)T;
b =(b1, b2, …, bm)T ≥ 0
где Rn — область возможных решений.
Если имеется максимум целевой функции
G(x) = р 1 х 1+ р2 х 2+... + рnрn,
то это равнозначно отысканию минимума функции
Q(x) = -G(x) = (-pi) x i + (-р2) x2 +... + (-рn) xn.
Если в дополнительных условиях имеется неравенство, например,
а i1 х 1+ а 2 х 2+... + аin х n ≤ b i
то введением вспомогательного переменного множителя у можно перейти к уравнению
а i1 х 1+ а 2 х 2+... + аin х n= b.
Для нового переменного также справедливо неравенство
у ≥ 0; в целевую функцию оно входит с коэффициентом Θ. Если для переменной х i, не задано условие х ≥ 0, то могут
быть введены, например, новые переменные хj' и хj" сдополнительными условиями хj' ≥ 0 и хj"≥ 0, причем хj = хj' - хj". Поэтому в дальнейшем будем рассматривать в основном, задачи минимизации целевой функции Q(x) при условиях, заданных линейными
уравнениями с неотрицательными членами bi в предположении неотрицательных переменных. Эти задачи и будем называть задачами линейного программирования (ЗЛП). В математической литературе ЗЛП записывается в виде
(10.3)(5.7)
Любая ЗЛП может быть приведена квиду (5.7). Двойственной
квыражению (5.7) будем называть задачу
Точка х = (х1, х2, …, хn)T, удовлетворяющая всем условиям,
называется допустимой. Множество всех допустимых точек называется допустимой областью. Если после отбрасывания одного условия допустимая область не меняется, то такое условие называется лишним. В задачах с двумя переменными можно отказаться от перехода
от неравенств к уравнениям, так как линейное неравенство а 1 х 1 +
а 2 х 2 ≤ b допускает непосредственную геометрическую интерпретацию: все точки, удовлетворяющие этому неравенству, лежат на
прямой а 1 х 1 +
а 2 х 2 = b и в одной из двух полуплоскостей, на которые эта прямая делит всю плоскость.
Множество всех оптимальных решений ЗЛП выпукло. Если допустимая область образована n неравенствами х j≥ 0, и т
уравнениями, то она может иметь самое большее вершин.
Если допустимая область ограничена и непустая, то она является
выпуклым многогранником, и задача ЗЛП в этом случае всегда разрешима, а оптимальное значение целевой функции достигается, по
крайней мере, в одной из вершин многогранника.
Если допустимая область пуста, то ЗЛП неразрешима.
Если допустимая область не ограничена, то ЗЛП либо может быть
разрешимой, либо нет.
Канонический вид ЗЛП. Основным алгоритмом решения ЗЛП
является симплекс-метод, его можно применять в том случае,
когда ЗЛП задана в специальном каноническом виде.
Например, каноническая форма 2х1 – Зх2 + х4 = 5, к которой
может привести неравенство
2х1 – Зх2 ≤ 5,
при x4 ≥ 0.
2х1 – Зх2 + х4 = 5
Формулировка задачи представлена в виде
если каждое из уравнений содержит одну переменную х jтакую, что
коэффициент перед ней в этом уравнении равен 1, а во всех других
уравнениях равен 0. Если при этом все b ≥ 0, то говорят о допустимом каноническом виде. Переменные х iназывают базисными, а остальные — свободными.
Например,
3 х 1+ х 2+ 2 х 3 = 5;
- х 1 + 3 х 3+ х 5 = 9;
х 1 –4х3+ х4 = 1.
где х 2, х4, х 5– базисные переменные;
х 1, х 3 — свободные переменные.
В целевую функцию должны входить только свободные переменные.
Если целевая функция имеет вид
Q(x) = х1 + 13х2 +2x3 +17х4 + 3х5,
то вычитанием из этого выражения первого уравнения, умножен-
ного на 13 (так как там выделена переменная х2, а в целевой функ-
ции х2 имеет коэффициент 13), второго уравнения, умноженного
на 3, и третьего — на 17, получим целевую функцию
Q(x) = -52х1 + 35х3 + 109.
Тогда окончательно ЗЛП в каноническом виде запишется:
(10.4)(5.8)
При всех хi = 0 Qmin= 109.
Задача (10.4) (5.8) решается симплекс-методом. Для этого находим
базисное решение (10.4) (5.8).
Так как ограничения в виде уравнений представляют собой плоскости в n-мерном пространстве, а также условия хi ≥ 0, то решение
ЗЛП ищется в вершинах образованного в n-мерном пространстве
многогранника, который сам по себе представляет область допустимых решений.
Рассмотрим пример, когда ЗЛП решается при двух переменных х1 и х2, поэтому может быть интерпретирована геометрическими построениями на плоскости.
Пример. Имеется два вида ресурсов в количестве 8 и 24, из которых изготавливается два вида изделий. На единицу изделия первого
вида расходуются ресурсы в количестве два и четыре, а второго вида
— один и шесть. Цена первого изделия четыре, второго — пять.
Ставится задача, в каких количествах следует изготавливать
изделия, чтобы обеспечить максимальный доход?
Р е ш е н и е. Построим математическую модель задачи. Обозначим
через х1 и x 2 числа производимых изделий первого и второго видов,
тогда 2 х 1 + x 2 — расход ресурса первого вида; 4 x 1 + 6 х 2 — расход ресурса
второго вида; 4 x 1 + 5 х 2 — доход от реализации продукции.
Учитывая ограничения на используемые материалы, сформулируем ЗЛП: максимизировать доход
Fmax = 4 x 1 + 5 х 2
при условиях
2х, +х ≤ 8;
4 x 1 + 6 х 2 ≤ 24;
x1 ≥ 0, х2 ≥ 0.
Этой ЗЛП можно
дать геометрическую интерпретацию (
рис. 5.1).
Каждое из неравенств системы определяет полуплоскость, их
пересечение (заштрихованная часть) — это ресурсно-обеспеченная
область допустимых решений (ОДР).
Для определения точки максимума ОДР возьмем какую-либо
функцию F, например F = 20.
Тогда
F= 4 х 1 + 5 х 2, или 20 = 4 х 1 + 5 х 2.
Проводим на рис. 10.1 данную линию (штриховую), которая
показывает направление к точке
максимума при движении по ОДР. П
ри движении слева направо последней точкой на ОДР является
точка k. Она и дает решение задачи. Решая совместно уравнения
2х1+х2 = 8
и
4х1+6х2 = 24,
находим х1 = 3, х 2= 2.
Тогда F max = 4 х 3 + 5 х 2 = 22.
Рис. 10.1 Схема определения области допустимых решений
Вершинами ОДР в этой задаче являются точки О, А, К и В.
Теперь рассмотрим задачу более чем с двумя переменными.
Так как решение ЗЛП достигается (по крайней мере) в вершинах ОДР, то достаточно не определять ОДР, а рассмотреть значения
целевой функции только в вершинах.
Допустимой симплекс-таблице соответствует точка минимума,
если все коэффициенты целевой функции неотрицательны. Тогда
минимальное значение целевой функции равно Ymin. Если критерий выполнен, т.е. не все коэффициенты целевой функции положительны, то следует перейти от одного допустимого базисного решения к соседнему допустимому в котором множество базисных и
свободных переменных изменены на один элемент. В невырожденном
случае этому геометрически соответствует переход от одной вершины
к другой вдоль ре
бра ОДР (обе вершины принадлежат одному ребру). Этот процесс называется симплекс-шагом или заменой базиса. Рас-
смотрим это на примере.
Пример. Задана целевая функция
F= - 3 х 1 + х 2 +3 х 3 => min,
при ограничениях
2 х 1 + х 2 + х 3 + х 4 < 5;
-х 1 + 3 х 2 - х 3 < 4;
х, + 2х,+ х,+х < 8;
x 1=0, x 2=0, x 3> 0
Р е ш е н и е. Запишем задачу в каноническом виде
F= - 3 х 1 + х 2 +3 х 3 => min.
Ограничения:
2 х 1 + х 2 + х 3 + х 4 = 5;
-х 1 + 3 х 2 - х 3+ x 5 = 4;
х 1+ 2х2+ х3+х6 =8;
x i=0,
где х 1, х 2, х 3 — свободные переменные, а х 4, х 5, х 6 — базисные.
Запишем симплекс-таблицу (табл. (10.1)5.1).
Таблица (10.1)5.1
j*
| х 1
| х 2
| х 3
| bj
|
х 4
|
|
|
|
|
х 5
| -1
|
| -1
|
|
х 6
|
|
|
|
|
Pj
| -3
|
|
| F*
|
i*
Так как в последней строке имеется отрицательный член, от
данного базиса переходим ксоседнему. Для этого выбираем разрешающий столбец с отрицательным членом (если имеется несколько
отрицательных членов, то для разрешающего столбца выбирается
наименьшее значение). В нашем случае разрешающий столбец j*
будет для хi.
Для выбора разрешающей строки берутся коэффициенты при хi
с положительным знаком. Делим свободные члены bi на эти коэффициенты
и .
Для разрешающей строки выбираем наименьшее из получен-
ных значений, т.е. выбираем строку i* для х4. Тогда разрешающий
элемент аij = а*4 = 2. Для удобства вычислений разрешающий элемент
принимаем равным 1, для чего все элементы разрешающей строки
разделим на 2. Тогда таблица будет записана в виде табл. (10.2)5.2.
Таблица (10.2) 5.2
j*
| х 1
| х 2
| х 3
| ьj
|
х 4
|
| 1/2
| 1/2
| 5/2
|
х 5
| -1
|
| -1
|
|
х 6
|
|
|
|
|
pj
| -3
|
|
| F*
|
i*
Для перехода к новой симплекс-таблице необходимо поменять места-
ми х1 и х4, а все элементы разрешающей строки умножаем на элемент
а*41 = 1. Все элементы разрешающего столбца умножаем на - а*41=- 1,
кроме самого разрешающего элемента, что приведено в табл. 5.3.
Таблица 5.3
j*
| х 1
| х 2
| х 3
| ьj
|
х 4
|
| 1/2
| 1/2
| 5/2
|
х 5
| -1
|
| -1/2
|
|
х 6
|
|
| 1/2
|
|
pj
| -3
|
|
| F*
|
i*
Остальные элементы таблицы вычисляем по формуле, значение
нового элемента равно:
Тогда для элемента а 52
Аналогично для рj
и для b i
Так же для F
и т.д.
Заполняем табл. 5.3.
Так как все коэффициенты рj в табл. 5.3 положительны, решение найдено. Значение F из последней строки табл. 5.3 с противоположным знаком будет решением целевой функции, т.е.
F min = — 7.
Базисное решение: х 1 = 2,5; х 2 = 0; х 3 = 0;
x 4=0; х 5 = 6,5; х 6 = 5,5.
Проверка: F min = -3х1 + х 2+ 3х3 = -3 х 5/2 = -7,5.
назад