
- •Министерство аграрной политики украины луганский национальный аграрный университет
- •Основы системного анализа
- •Введение
- •Рекомендации по выполнению контрольной работы
- •1.2. Алгоритм решения задачи линейного программирования графическим методом
- •. Типовой пример
- •1.4. Индивидуальное задание №1
- •2.2. Алгоритм симплекс-метода
- •Типовой пример
- •Решение.
- •Учитывая количество ресурсов, затрачиваемых на изготовление единицы продукции, а также их наличие, составим систему ограничений:
- •2.4. Индивидуальное задание №2
- •Применение метода искусственного базиса для решения задач линейного программирования
- •Постановка и методика решения м-задачи
- •Типовой пример
- •Т аблица 4
- •Т аблица 5
- •3.3. Индивидуальное задание №3
- •Вариант 2.
- •4. Закрытая модель транспортной (распределительной) задачи
- •4.1. Формализация распределительной задачи
- •4.2. Методы построения опорного плана Метод северо-западного угла
- •Метод наилучшего элемента
- •4.3. Решение транспортной задачи методом потенциалов
- •4.4. Алгоритм последовательного улучшения опорного плана перевозок
- •4.5. Типовой пример
- •4.6. Индивидуальное задание № 4
- •Вариант 5.
- •5. Открытая модель транспортной задачи
- •5.1. Постановка и методика решения открытой транспортной задачи
- •5.2. Типовой пример
- •5.3. Индивидуальное задание № 5
- •Вариант 3.
- •Литература
1.2. Алгоритм решения задачи линейного программирования графическим методом
Такой алгоритм предполагает выполнение следующих действий.
Записать уравнения граничных прямых.
Построить графики граничных прямых на плоскости.
Выделить область решения каждого неравенства системы.
Выделить область допустимых решений.
Построить градиент целевой функции.
Построить линию уровня.
Определить экстремальную точку области допустимых решений.
Вычислить значение целевой функции в экстремальной точке.
. Типовой пример
Пусть дана следующая задача.
Найти максимум целевой функции
z = 2x1 + 2x2
при ограничениях
x1 0, x2 0.
При решении использовать графический метод.
Решение.
Запишем уравнения граничных прямых и построим их графики на плоскости x1Оx2 (рис.1).
l1 : x1 + 2x2 = 7, l3 : x2 = 3,
l2 : 2x1 + x2 = 8, l4 : x1 + 2x2 = 2.
Возьмем какую-нибудь пробную точку, например точку О(0; 0) (если это возможно). Выясним, какую полуплоскость определяет каждое неравенство (направления полуплоскостей отмечены стрелками). Определим область допустимых решений (многоугольник АВСDEF) как пересечение полученных полуплоскостей (рис.2).
Строим вектор-градиент (2; 2) и линию уровня c, взяв в качестве c0 значение ноль: c : 2x1 + 2x2 = 0.
Перемещая параллельно самой себе линию уровня С в направлении вектора-градиента (2; 2), находим экстремальную точку Е как точку пересечения прямых l1 и l2 (рис.3). Координаты точки Е находим, решив систему из уравнений этих прямых:
В результате получим точку Е(3; 2).
Вычислим значение целевой функции в полученной точке Е(3; 2):
z(3; 2) = 3 ∙ 2 + 2 ∙ 2 = 10.
Ответ: zmax = 10 при x1 = 3, x2 = 2.
Рис. 1 Рис. 2
Рис. 3
1.4. Индивидуальное задание №1
Решить графическим методом задачу оптимизации в условиях следующей модели:
1. z = –x1 + x2 + 2 min 2. z = 3x1 + 2x2 max
–
x1
+ x2
1 x1
+ x2
1
3x1 + 2x2 6 –5x1 + x2 0
–3x1 – x2 –9 5x1 – x2 0
x1 0, x2 0 x1 – x2 –1
x1 – x2 4. x1 + x2 6
x1 0, x2 0.
3. z = –x1 + 4x2 max 4. z = –x1 + x2 max
3x1
+ 2x2
12 –2x1
+ x2
2
2x1 – x2 0 x1 – 2x2 2
–3x1 + 2x2 3 x1 + x2 5
x1 + 2x2 3 x1 0, x2 0.
x1 0, x2 0.
5. z = 3x1 – x2 min 6. z = –x1 – 2x2 max
2
x1
+ 5x2
– 10
0 x1
– x2
1
2x1 + x2 – 6 0 x1 + x2 2
x1 + 2x2 – 2 0 x1 – 2x2 0
x1 0, x2 0. x1 0, x2 0.
7. z = 2x1 + x2 max 8. z = 3x1 + 4x2 max
x1
+ x2
20 –1
–x1
+ x2
1
0 x1 10 x1 + x2 –1
0 x2 30 –x1 + x2 2
x1 + x2 10. 2x1 – x2 2
x1 0, x2 0.
9. z = –2x1 + 5x2 min 10. z = –x2 + x1 min
7x1
+ 2x2
14 x1
+ 3x2
12
5x1 + 6x2 30 3x1 – x2 6
3x1 + 8x2 24 3x1 + 12x2 0
x1 0, x2 0. x1 0, x2 0.
11. z = 2x1 – 3x2 max 12. z = 3x1 – 2x2 min
4x1
+ 3x2
12 7x1
+ 2x2
14
3x1 + 4x2 24 –x1 + 2x2 2
3x1 + 8x2 24 7x1 + 7x2 28
x1 0, x2 0. x1 0, x2 0.
13. z = 6x1 + x2 min 14. z = x1 + x2 max
x1
+ x2
3 2x1
+ 5x2
10
x1 – x2 3 –2x1 + 3x2 12
–6x1 + 4x2 12 2x1 + 4x2 20
x1 2, x2 8. x1 0, x2 0.
15. z = 3x1 + x2 max 16. z = 2x1 + 4x2 max
–2
x1
+ x2
2 –x1
+ x2
1
–2 –x1 + x2 2 x1 + x2 2
0 x1 1 0 x1 10
0 x2 3 2 . 0 x2 10.
17. z = 4x1 + x2 min 18. z = 2x1 + x2 + 4 min
x1
+ x2
2 x1
+ x2
4
x1 – x2 2 8x1 – 4x2 16
4x1 – 4x2 –8 x1 2
x1 1 0 x2 9.
0 x2 4.
19. z = –x1 + 4x2 max 20. z = 2x1 + 3x2 min
3x1 + 2x2 12 x1 + x2 4
2x1 – x2 0 6x1 + 2x2 8
–3x1 + 2x2 3 x1 + 5x2 4
x1 + 2x2 3 0 x2 3
x1 0, x2 0. 0 x1 3.
21. z = 2x1 + x2 max 22. z = 2x1 + x2 max
–x1 + x2 4 x1 – 2x2 6
0 x1 4 x1 + 3x2 8
0 x2 5 0 x1 4
–x2 + x1 0. 0 x2 2.
23. z = –2x1 + 5x2 min 24. z = 5x1 + x2 max
7x1 + 2x2 8 x1 + x2 2
5x1 + 6x2 30 x1 – x2 2
3x1 + 8x2 24 4x1 + 8x2 16
x1 0, x2 0. x1 1, 0 x2 3.
25. z = x1 + 2x2 min 26. z = x1 + 2x2 min
2x1
+ 4x2
8 2x1
+ 4x2
8
0 x1 2 –x1 + 2x2 2
0 x2 1. x1 0, x2 0.
27. z = 8x1 + 6x2 max 28. z = 2x1 + x2 max
4x1
+ 3x2
12 –x1
– 2x2
–4
7x1 + 5x2 35 5x1 + x2 40
0 x1 3 2x1 – 2x2 7
0 x2 19 3. x1 + x2 4
x1 0, x2 0.
29. z = 2x1 – 3x2 min 30. z = 3x1 + x2 max
–4x1
+ 5x2
20 10x1
+ 7x2
70
2x1 + x2 6 8x1 + 10x2 80
5x1 – 2x2 20 x1 0, x2 0.
x1 – x2 6
x1 0, x2 0.
СИМПЛЕКСНЫЙ МЕТОД РЕШЕНИЯ ЗАДАЧ
ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
Постановка задачи линейного программирования, решаемой
симплексным методом
Решение ЗЛП графическим методом является наглядным и удобным в случае двух переменных. Для случая большего числа переменных графический метод становится невозможным. В этом случае применяют аналитические методы, одним из которых является симплекс-метод.
В зависимости от вида ограничений различают две формы общей модели ЗЛП: каноническую и стандартную.
ЗЛП называется канонической, если ограничения представлены в виде равенств:
z = c1x1 + c2x2 + … + cnxn
xj 0, j = 1, 2,…, n, m < n.
Эти соотношения можно записать в векторной форме:
xj 0; i = 1, 2,…, m; j = 1, 2,…, n; m < n.
ЗЛП называется стандартной, если ограничения представлены в виде неравенств, содержащих знаки ≤ или ≥. В векторной форме эти соотношения имеют вид:
;
или
;
xj 0, i = 1, 2,…, m, j = 1, 2,…, n, m < n.
Необходимо найти такие значения x1, x2, … , xn, которые обращают в максимум целевую функцию.
Любая стандартная ЗЛП может быть приведена к ЗЛП в каноническом виде с помощью введения неотрицательных переменных xn+i, которые называют дополнительными. В целевую функцию они входят с нулевыми коэффициентами. В ограничения, содержащие знаки ≤ , дополнительные переменные входят с коэффициентом «1», а в ограничения, содержащие знаки ≥, дополнительные переменные входят с коэффициентом «–1»:
i
= 1, 2, …, m
;
или
i
= 1, 2, …, m.
При
сведении стандартной ЗЛП, имеющей
ограничения со знаком ≤,
к ЗЛП в каноническом виде, коэффициенты
при переменных xn+i
образуют систему m
линейно независимых векторов
,
представляющую базис.
Переменные xn+1, xn+2, …, xn+m называются базисными переменными, а остальные – свободными.
Замечание: Если в системе ограничений из коэффициентов при m переменных xn+1, xn+2, …, xn+m невозможно составить единичную матрицу m-го порядка, то необходимо выбрать базис и найти разложение всех векторов по этому базису.
Из математической модели ЗЛП следует, что в допустимом решении X0 базисные переменные равны правым частям соответствующих ограничений, а свободные переменные равны нулю: X0 = (0, 0, …, 0, b1, b2, …, bm).
Симплекс-метод заключается в последовательном улучшении опорного плана путем введения в базис новой переменной и вывода старой, т. е. в таком переходе от старого базиса к новому, чтобы значение целевой функции увеличивалось, если задача решается на отыскании максимума, и уменьшалось, если задача решается на нахождение минимума.
Симплекс-методом ЗЛП решается за конечное число шагов (итераций). На первом шаге отыскивается исходный опорный план, содержащий не более m ненулевых компонент, где m – число строк. На каждом последующем шаге осуществляется нахождение нового опорного плана со значением целевой функции не хуже, чем на предыдущем шаге.
Условия задачи, а также все вычисления при решении ЗЛП симплекс-методом будем оформлять в виде симплекс-таблиц (таблица 1).
При этом в клетках оценочной строки, соответствующих свободным переменным, записываются коэффициенты при свободных переменных в целевой функции, взятые с противоположным знаком (вследствие переноса в левую часть всех переменных в целевой функции).
В клетке оценочной строки, соответствующей свободным членам, записывается значение целевой функции z0 при первоначальном опорном плане.
Таблица 1
-
Базисные
переменные
Свободные
члены
Свободные переменные
Симплексные
отношения
x1
x2
…
xn
xn+1
b1
a11
a12
…
a1n
xn+2
b2
a21
a22
…
a2n
…
…
…
…
…
…
xn+m
bm
am1
am2
…
amn
Оценочная строка
z0
–с1
–с2
…
–сn
Критерием оптимальности опорного плана является отсутствие отрицательных величин в оценочной строке, если решается задача на нахождение максимума целевой функции, и отсутствие положительных величин, если решается задача на отыскание минимума целевой функции.