Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Теория и методы оптимизации. Учебное пособие
.pdf
Пусть имеет место задача об использовании сырья некоторого кон-
s
s
s
x
x
дитерского предприятия, выпускающего:
– карамель А;
П
1
– карамель Б.
П
2
При этом используется сырье:
– сахар;
1
– джем;
2
– шоколад.
3
Введем переменные:
единиц продукции П1 и выпускает предприятие.
1
единиц продукции П2 выпускает предприятие.
2
В табл. 4.2 – данные по изготовлению кондитерских изделий. От-
метим, что все данные приведены в условных единицах.
Таблица 4.2
Исходные данные задачи выпуска кондитерских изделий
Расход сырья на единицу продукции
Вид сырья Запасы сырья
Сахар
Джем
Шоколад
Доход 3 2
160
180
196
карамель
А
5
3
7
карамель
Тогда задача линейного программирования примет вид
Б
2
4
0
() 3 2 max;
fx x x
12
52160;
xx
12
34180;
xx
12
7196;
x
1
,0.
xx
12
Приведем графическоем решение этой задачи.
В системе координат x
линию уровня
3 2 constxx , например с константой const = 100
12
, 0, x2 построим ограничения-неравенства и
1
(рис. 4.1). Затем линию уровня параллельно переносим в сторону увеличения целевой функции f(x
, x2) до пересечения с крайней вершиной
1
многогранника ограничений. В данном случае – вершина с координатой
(20, 30).
71

x
x
2
40
30
20
10
10 20 30 40
1
Рис. 4.1. Графическое решение
4.2.Геометрическийметодрешениязадач
линейногопрограммирования
Геометрический метод решения будет подробно рассмотрен на
примере задачи технического контроля. На практике графический метод
решения используется крайне редко. Однако в примере для двух переменных хорошо иллюстрируется механизм решения задач линейного
программирования.
Итак, задача технического контроля (4.2) содержит только две переменные и не содержит ограничений типа равенства, следовательно
такую задачу
можно решить графически:
( ) 40 36 min;
fx x x
53 45;
xx
12
8, 10;
xx
12
12
0, 0.
xx
12
Все ограничения линейные, поэтому любое из них определяет полуплоскость допустимых решений, лежащих по одну сторону прямой
ax a x b .
11 2 2ii i
Построив все ограничения-неравенства, получим множество (многогранник) допустимых решений.
Заштрихованный треугольник – это и есть множество допустимых
решений (рис. 4.2).
72

6
x
x
2
10
5
C
B
A (8,5/3)
5 10
1
Рис. 4.2. Геометрическое решение
Для построения целевой функции рассмотрим линии уровня
40 36 constxx . Построим линию уровня для любой константы,
12
например const = 600, что соответствует значениям координат
12, 15xx. Линия уровня попала в область допустимых решений.
12
Теперь если изменять константу, то линии уровня будут перемещаться
параллельно. И ее надо смещать в сторону увеличения константы до тех
пор, пока линия уровня не достигнет крайней вершины многогранника
допустимых решений. В нашем случае это будет вершина треугольника A
с координатами
8, , ( ) 8, 377,
33
fx f
.
55
Таким образом, для оптимальной работы ОТК необходимо использовать 8 контролеров 1 разряда и 1,6 контролеров 2 разряда. Значение 1,6
означает или неполный рабочий день, или округление до двух контролеров.
Отметим, что координаты двух других вершин
( ) 8, 10 680fx f;
10, 3 , ( ) 10, 3 508Bfxf. Значения целе-
8, 10 , C
вой функции в этих вершинах многогранника ограничений больше, чем
в вершине A.
В данном примере решение существует, и оно единственное.
Некоторые частные случаи геометрических решений рассмотрены
ниже в примерах I и II.
73

Пример I
() 2 min;
fx x x
12
27;
xx
12
28;
xx
12
3;
x
2
,0.
xx
12
На рис. 4.3, а приведен многогранник ограничений и целевая
функция. Целевая функция параллельна стороне CD многогранника ограничений. Убывает целевая функция в направлении стороны CD. Следовательно, при наложении целевой функции на сторону CD и будет
найден минимум целевой функции. То есть задача имеет бесконечное
множество решений, в число которых входят
вершины C и D.
x
2
x
2
4
3
2
1
4
3
2
1
C
D
x
1
1 2 3 4
1 2 3 4
а б
Рис. 4.3. Частные случаи решения задач ЛП
Пример II
() 2 min;
fx x x
12
xx
12
21;
xx
xx
12
,0.
xx
12
1;
12
20;
(4.3)
Геометрическое решение задачи приведено на рис. 4.3, б.
74
x
1

В направлении уменьшения целевой функции нет ограничений.
x
x
При параллельном переносе целевой функции она всегда пересекает
множество допустимых решений и неограниченно убывает, следовательно, решений задача не имеет.
Ситуация на рис. 4.3, а на практике невозможна. В противоположном случае можно было бы получить бесконечный доход при конечных
ресурсах. Если в практической задаче
получено аналогичное решение,
следовательно, при построении модели пропущено ограничение.
Примеры на рис. 4.1 и 4.2 иллюстрируют следующее свойство задач линейного программирования. Если в задаче линейного программирования существует оптимальное решение, то это решение находится в
одной из допустимых вершин.
4.3.Задачалинейногопрограммированиявстандартнойформе
Задача линейного программирования в стандартной форме содержит следующие элементы:
а) ограничение только в виде равенств;
, ( 1, )
б) все переменные
jn ограничены;
j
в) ресурсы
0, 1, ;
bim
i
г) ЦФ min .
n
() min,
fx c x
jj
j
1
n
ax bi m
xjn
bim
ij j i
j
1
0, 1, ,
j
0 , 1, .
i
, 1, ,
(4.4)
Форма записи (4.4) носит также название стандартного вида. Часто используется матрично-векторная запись формулы (4.4):
() (, ) min,
fx c x
xb
где А – матрица коэффициентов;
сурсов;
c – вектор оценок задачи линейного программирования.
Ax b
0, 0,
,
– вектор переменных; b – вектор ре-
(4.5)
Решение задачи линейного программирования требует приведения
ее к стандартному виду. Рассмотрим технологию приведения задачи линейного программирования к стандартному виду.
75

I. Преобразование неравенств.
j
x
Ограничения-неравенства можно преобразовать в равенства при
помощи введения так называемых остаточных и избыточных перемен-
ных
. Остаточные переменные вводятся со знаком «плюс», избы-
nix
точные – со знаком «минус»:
n
ax b
ij j i
j
1
n
ax x bi m
ij j n i i
j
1
;
, 1, .
Здесь мы все неравенства преобразовали в равенства.
Пример I
23425;
xxx x
1234
234 25,
xxx xx
12345
где
0x – остаточная переменная.
5
Пример II
2312;
xx x
12 3
2312,
xx xx
12 34
где
0x – избыточная переменная.
4
Преобразуем неравенства из задачи об использовании сырья (4.3),
добавив во все три уравнения остаточную переменную.
5 2 160;
xx
12
34180;
xx
12
7 196.
x
1
52 160;
xxx
123
3 4 180;
xx x
12 4
7 196.
xx
15
II. Преобразование неограниченных по знаку переменных.
В некоторых задачах ряд переменных могут принимать как отрицательные, так и положительные значения, либо о них ничего неизвестно,
то есть переменные не определены.
Однако переменные задачи линейного программирования в стандартной форме предполагаются только неотрицательными. Неограниченные переменные необходимо заменить разностью двух положитель
-
ных переменных.
xx
.
12
nn
76

Здесь
j
x
x
x
x
x
, 0
xx
12
nn
. Переменные
могут быть положительными и
отрицательными в зависимости от соотношения
, .
xx
12
nn
III. Устранение отрицательных ресурсов.
Уравнения с отрицательными значениями ресурсов
bi необходимо
умножить на (–1).
Ниже рассмотрен пример приведения задач ЛП к стандартному
виду.
Пример. Привести к стандартному виду
1)
2)
3)
() 2 3 min;fx x x x
123
123
123
325;xx x
12 3
, 0.xx
12
7;xxx
2;xxx
Преобразуем задачу линейного программирования к стандартной
форме.
1. Переменная
– неограниченна.
3
xx, где
345
, 0xx .
45
2. Умножим на (–1) уравнение (3).
3. Введем дополнительные переменные: остаточную
ние (1) и избыточную переменную
в уравнение (2).
7
6
Перепишем задачу ЛП с учетом новых переменных и замен.
() 2 3 3 min;
fx x x x x
1245
xxxxx
12456
xxxxx
12457
3225;
xx x x
12 4 5
, , , , , 0.
xxxxxx
124 567
7;
2;
Получен стандартный вид задачи ЛП.
4.4.Идеяиалгебрасимплекс‐метода
Симплекс-метод является общим методом решения задач линейно-
в уравне-
го программирования. Запишем задачу линейного программирования в
стандартной форме в развернутом виде:
77

() ... min;
x
x
x
x
x
x
fx c x c x c x
11 2 2
nn
axax ax b
11 1 12 2 1 1
. . . . . . . . . . . . . .
axax axb
11 2 2
mm mnnm
x
, ..., x 0.
1
n
... ;
nn
... ;
(4.6)
Система ограничений представляет собой систему линейных алгебраических уравнений относительно неизвестных x
, i = 1, n. Особен-
i
ностью задач линейного программирования является то, что число
уравнений системы меньше числа неизвестных (m < n). То есть СЛАУ
представляет собой недоопределенную систему и множество допустимых решений бесконечно. Отсюда следует, что выбор оптимального допустимого решения нетривиален.
Классическим методом решения недоопределенных СЛАУ является метод
Гаусса–Жордана. Основная идея его состоит в сведении m
уравнения с n неизвестными к каноническому или ступенчатому виду
путем линейных преобразований над строками (сложение строк и умножение на скаляр). Это позволяет привести СЛАУ к следующему виду:
. . . . . ... ;
111
. . . ... ;
212
ax axb
11 1
mn
mn
ax axb
21 2
mn
mn
(4.7)
... ... .
Переменные
mmnm
, , ...,
xx называются базисными (зависимыми),
12
ax axb
1
mm mn
m
1
которые входят в одно уравнение с коэффициентом 1, а в остальные –
с коэффициентом 0.
, ...,
1
mn
x называют свободными (независимыми).
В канонических системах в любом уравнении присутствует только
одна базисная переменная.
Выразим из системы (4.7) базисные переменные:
xba x ax
1111 1 1
ba x ax
mmmm m mnn
mm nn
11
... ;
... .
Из этой системы можно получить решение для базисных переменных, присваивая независимым переменным произвольные значения.
Определение. Базисным решением системы канонического вида
называют решение, полученное при нулевых значениях независимых
переменных. То есть
xb x bx x
, ..., , 0, ..., 0
.
11 1
mmm n
78

Определение. Если 0, 1, ,
называется допустимым базисным решением или
bim то полученное базисное решение
i
опорным планом.
Отметим, что базисными переменными не обязательно являются первые m переменных. Ими могут быть любые m штук переменных системы.
Ниже приведены примеры использования основных модификаций
метода Гаусса. Самыми популярными из них являются: метод последовательного исключения Гаусса со схемой единственного деления и с
выбором главных элементов.
4.4.1.Методпоследовательногоисключенияпеременных
(методГаусса)
Существует несколько модификаций метода Гаусса, самая извест-
ная из них – схема единственного деления.
Метод Гаусса состоит из двух этапов.
I. Прямой ход.
Цель прямого хода – приведение матрицы системы A к верхнетре-
угольному виду.
Для этого выполняется n преобразований матрицы A. На каждом
шаге преобразования выбирается k-я главная или ведущая строка. Диагональные элементы главной строки a
ми) элементами.
На прямом ходе выполняется следующие действия:
называются главными (ведущи-
kk
для всех строк, кроме главной, находим множитель l
к каждой неглавной добавляем главную строку, умноженную на
множитель l
главную строку делим на главный элемент a
главную строку вычеркиваем, размерность системы становится
(1)
k
a
ik
l
i
;
i
() ( 1) ( 1)
kk k
aa la
ij ij ik kj
() ( 1) ( 1)
kk k
bb lb
ii ikk
.
(1)
k
a
kk
;
;
;
kk
;
i
меньше на единицу, то есть (n – 1).
На следующем шаге исключения главной строкой вновь становится
верхняя строка, находящаяся под вычеркнутой на предыдущем шаге.
Все указанные выше преобразования повторяются. Преобразования повторяются столько раз, пока главная строка не становится единственной
в системе.
В результате матрица A приведена
к верхнетреугольному виду.
79

II. Обратный ход.
x
x
x
Вектор неизвестных СЛАУ
находится в обратном порядке, начи-
ная с последнего. Для этого составляется матрица из вычеркнутых строк,
она имеет верхнетреугольный вид. Из последнего уравнения находится
неизвестный x
, затем неизвестные находятся в порядке x
n
n–1
, x
, …, x1.
n–2
Схему единственного деления Гаусса удобно реализовать в виде
таблицы. В табл. 4.3 приведено решение следующей СЛАУ:
35;
xx
12
20;
xxx
123
2415.
xx x
12 3
Таблица 4.3
Метод Гаусса, схема единственного деления
Коэффициенты
k li
0 3 –1 0 5 7
2/3 –2 1 1 0 0
–2/3 2 –1 4 15 20
1 3 –1 0 5 7
Прямой ход
Обратный ход
0 1/3 1 10/3 14/3
1 0 –1/3 4 35/3 46/3
2 0 3 –1 0 5 7
0 0 1/3 1 10/3 14/3
0 0 5 45/3 60/3
x3 = 3
x2 = 1
x1 = 1
при неизвестных
x
1
b c
x
2
x
3
4x
3
2x
2
3x
1
Замечание. Для уменьшения возможности ошибок счета вводятся
так называемые контрольные суммы – столбец с в табл. 4.3, с которым
выполняются следующие преобразования:
1. На прямом ходе те же преобразования, что со столбцом свободных членов b. Контроль правильности преобразования строки на очередном шаге проводится суммированием всех коэффициентов в строке
и свободного члена.
2. На обратном ходе одновременно с вычислением корней
Эти значения должны быть равны.
вы-
i
числяются корни
, которые получены, если в выделенном в системе
i
80
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
