Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты алгебра.doc
Скачиваний:
10
Добавлен:
28.04.2019
Размер:
218.11 Кб
Скачать

Вопрос 25

Геометрический метод решения задач линейного программирования. Случай двух переменных Система ограничений

a11x1+ a12x2≤b1

a21x1+ a22x2≤b2

am1x1+ am2x2≤bm (м.б. ≥,=)

x1,x2≥0

Целевая функция F(x1,x2)=c1x1+c2x2. Необходимо изобразить область на плоскости, удовлетворяющую системе ограничений. Графиком уравнения с двумя переменными является прямая. График неравенства – полуплоскость, лежащая ниже прямой, если знак ≤, и выше прямой, если знак ≥. В результате получится выпуклый многоугольник. Его вершины – допустимые решения, одна из них даст оптимальное решение. Для нахождения оптимального решения надо: строят вектор градиента к множеству параллельных прямых c1x1+c2x2=с (с-параметр) grad F – это нормальный вектор, т.е. grad F=(a1,c2). Строится множество прямых этого множества, двигаясь по направлению вектора градиента найдем max F в крайней вершине многоугольника; двигаясь в направлении, противоположном вектору grad – найдем min F в крайней вершине многоугольника. Координаты точки этой вершины и есть оптимальное решение; значение целевой функции в этой точке и есть искомое значение. Если система ограничений несовместна – мы не построим многоугольник. Если получился незамкнутый многоугольник – то задача может иметь множество решений. Если решение задачи не единственное, то прямая c1x1+c2x2=с совпадает со стороной многоугольника и оптимальных решений два в двух вершинах многоугольника.

Вопрос 26

Симплекс метод. Решение произвольной задачи линейного программирования, т.е. с произвольным количеством переменных осуществляется симплеск-методом. Прежде чем решать задачу этим методом необходимо свести ее к каноническому виду. Этот метод основан на переходе от одного допустимого плана к другому, при котором значение целевой функции возрастает (при условии, что оптимальное решение существует и каждое допустимое значение невырождено). Пусть необходимо решить задачу о нахождении минимума целевой функции. F=c1x1+c2x2+…+cnxn при условии

x1+a1(m+1)xm+1+…+a1nxn=b1

x2+a2(m+1)xm+1+…+a2nxn=b2

xm+am(m+1)xm+1+…+amnxn=bm

- F+Cm+1xm+1+…+cnxn= -F0

x1,x2,…,xn≥0

Такая форма записи задачи называется базисной. В этом случае допустимым решением будет x1=b1, x2=b2,…, xm=bm, xm+1=0,…, xn=0; F=F0 – значение целевой функции. Составляется таблица:

Базис

В

х1

х2

хm

xm+1

xn

x1

b1

1

0

0

a1(m+1)

a1n

x2

b2

0

1

0

a2(m+1)

a2n

xm

bm

0

0

1

am(m+1)

amn

- F

- F0

0

0

0

Cm+1

Cn

Если в последней строке таблицы (-F) все коэффициенты положительны cj≥0, то данное допустимое решение является оптимальным, в противном случае допустимое решение улучшается: выбираем разрешающий столбец – тот, где наибольшее по модулю отрицательное cj, выбираем разрешающую строку – наименьшее положительное значение bi/aij. На пересечении разрешающей строки и столбца находится разрешающий элемент aij. Всю строку делим на этот элемент, переменную xj переводим в базис, вместо переменной, находившейся в базисе в i-ой строке. Все элементы j-го столбца, кроме j, зануляем с помощью преобразований строк матрицы (включая элемент в последней строке (- F). И так выполняем действия, пока не придем к одному из случаев: 1. Находим оптимальное решение, все коэффициенты последней строки ≥0 (cj≥0). 2. Все элементы последней строки cj≤0, тогда задача не имеет решений. Если исходная система не является базисной, т.е. нет таких m переменных с коэффициентом 1, чтобы в остальных уравнениях при них был, коэффициент 0, тогда вводят искусственные переменные с коэффициентом 1. xk, xk+1,…,xk+s и рассматривается функция W= xk, xk+1,…,xk+s равное их сумме. Решается задача минимизации этой функции, т.е. ее добавляют последней строкой в таблицу и решается относительно этой функции, строка – F- промежуточная строка. После того как эта задача решена, будет найдено базисное решение, можно решать задачу минимизации функции F. Замечания: Если надо найти max целевой функции F=c1x1+c2x2+…+cnxn. Вводим функцию Z= - F. Z= - c1x1-c2x2-…-cnxn и решается задача минимизации функции Z. Решение Z=Z0 дает решения для F= - Z0; F=F0.