Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теория и методы оптимизации. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Пусть имеет место задача об использовании сырья некоторого кон-
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]