
- •Министерство аграрной политики украины луганский национальный аграрный университет
- •Основы системного анализа
- •Введение
- •Рекомендации по выполнению контрольной работы
- •1.2. Алгоритм решения задачи линейного программирования графическим методом
- •. Типовой пример
- •1.4. Индивидуальное задание №1
- •2.2. Алгоритм симплекс-метода
- •Типовой пример
- •Решение.
- •Учитывая количество ресурсов, затрачиваемых на изготовление единицы продукции, а также их наличие, составим систему ограничений:
- •2.4. Индивидуальное задание №2
- •Применение метода искусственного базиса для решения задач линейного программирования
- •Постановка и методика решения м-задачи
- •Типовой пример
- •3.3. Индивидуальное задание №3
- •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
2x1
+ 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
Критерием оптимальности опорного плана является отсутствие отрицательных величин в оценочной строке, если решается задача на нахождение максимума целевой функции, и отсутствие положительных величин, если решается задача на отыскание минимума целевой функции.