
- •Вопрос 1
- •Вопрос 2
- •Вопрос 3
- •Вопрос 4
- •Вопрос 5
- •Вопрос 6
- •Вопрос 7
- •Вопрос 8
- •Вопрос 9
- •Вопрос 10
- •Вопрос 11
- •Вопрос 12
- •Вопрос 13
- •Вопрос 14
- •Вопрос 15
- •Вопрос 16
- •Вопрос 17
- •Вопрос 18
- •Вопрос 19
- •Вопрос 20
- •Вопрос 21
- •Вопрос 22
- •Вопрос 23
- •Вопрос 24
- •Вопрос 25
- •Вопрос 26
- •Вопрос 27
- •Вопрос 28
- •Вопрос 29
Вопрос 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.